Scheduled Downtime
On Tuesday 24 October 2023 @ 5pm MT the forums will be in read only mode in preparation for the downtime. On Wednesday 25 October 2023 @ 5am MT, this website will be down for maintenance and expected to return online later in the morning.
Normal Operations
The forums are back online with normal operations. If you notice any issues or errors related to the forums, please reach out to help@ucar.edu

Compiling mksurfdata_map on Derecho

James King

James King
Member
Hi all,

I'm using CESM2.2.0 on Derecho and I want to make some land use data. To do this I need to use the built-in tool at components/clm/tools/mksurfdata_map, which I used before on Cheyenne. When I try to compile the code following the first step of the readme:

cd src
gmake

I get a load of errors like:
ld: mkdomainMod.o: in function `mkdomainmod_mp_domain_read_map_':
/glade/work/jamesking/cesm2_2_derecho/components/clm/tools/mksurfdata_map/src/mkdomainMod.F90:260: undefined reference to `nf_open_'
ld: /glade/work/jamesking/cesm2_2_derecho/components/clm/tools/mksurfdata_map/src/mkdomainMod.F90:268: undefined reference to `nf_inq_dimid_'
ld: /glade/work/jamesking/cesm2_2_derecho/components/clm/tools/mksurfdata_map/src/mkdomainMod.F90:272: undefined reference to `nf_inq_dimlen_'
ld: /glade/work/jamesking/cesm2_2_derecho/components/clm/tools/mksurfdata_map/src/mkdomainMod.F90:274: undefined reference to `nf_inq_dimid_'
ld: /glade/work/jamesking/cesm2_2_derecho/components/clm/tools/mksurfdata_map/src/mkdomainMod.F90:275: undefined reference to `nf_inq_dimlen_'
ld: /glade/work/jamesking/cesm2_2_derecho/components/clm/tools/mksurfdata_map/src/mkdomainMod.F90:288: undefined reference to `nf_inq_varid_'


I have the ncarcompilers module installed - any advice on how I build this code?

Thanks,

James
 

James King

James King
Member
Hi,

As a follow-up to this, I managed to build the executable following these instructions but the script fails for a reason I don't understand. Passing a namelist file to mksurfdata_map, i.e.

qcmd -A <project code> "./mksurfdata_map < surfdata_0.9x1.25_SSP3-7.0_78pfts_CMIP6_simyr2000_c240517.namelist"

gives the following output:

Attempting to initialize control settings .....
Attempting to create surface boundary data .....
------------------------------------------------------------
mksrf_fgrid =
/glade/work/jamesking/raw_land_files/mappingdata/map_0.25x0.25_MODIS_to_0.9x1.2
5_nomask_aave_da_c170321.nc


mksrf_gridtype = global
Output ALL data in file as 64-bit
Set wetland to 0% over land
In mkpftMod::mkpftInit()...
calling domain_read
finished domain_read
fsurdat is 2d lat/lon grid
nlon= 288 nlat= 192
(OPNFIL): Successfully opened file
landuse.timeseries_0.9x0.25_SSP3-7.0_78pfts_CMIP6_simyr2000-2100_c240521.log
on unit= 99
mksrf_gridtype = global
mksrf_fdynuse = landuse_timeseries_SSP3-7.0_78pfts_CMIP6_simyr2000-2100.txt

In mkpftMod::mkpft()...
Attempting to make PFTs .....
Creating surface datasets with extra types for crops; total pfts = 78
netcdf error from domain_read rcode = 2 error =
No such file or directory

I have checked multiple times and all the files pointed to in the namelist are in the right places and accessible. I even tried copying them all to my working directory and changing permissions, but it still gives the same error. The log file is also confusing at it gives no errors and stops after a mapping file, which is not related to the making PFTs stage. I've attached the log files, namelist, and txt file containing the land use inputs. There might just be a typo or something but I've been staring at it all afternoon trying to work out which file it can't read.

Best,

James
 

Attachments

  • landuse.timeseries_0.9x0.25_SSP3-7.0_78pfts_CMIP6_simyr2000-2100_c240521.log.txt
    5.5 KB · Views: 1
  • surfdata_0.9x1.25_SSP3-7.0_78pfts_CMIP6_simyr2000_c240517.namelist.txt
    5.6 KB · Views: 0
  • landuse_timeseries_SSP3-7.0_78pfts_CMIP6_simyr2000-2100.txt
    27.8 KB · Views: 0

James King

James King
Member
Hi,

As a follow-up to this, I managed to build the executable following these instructions but the script fails for a reason I don't understand. Passing a namelist file to mksurfdata_map, i.e.

qcmd -A <project code> "./mksurfdata_map < surfdata_0.9x1.25_SSP3-7.0_78pfts_CMIP6_simyr2000_c240517.namelist"

gives the following output:

Attempting to initialize control settings .....
Attempting to create surface boundary data .....
------------------------------------------------------------
mksrf_fgrid =
/glade/work/jamesking/raw_land_files/mappingdata/map_0.25x0.25_MODIS_to_0.9x1.2
5_nomask_aave_da_c170321.nc


mksrf_gridtype = global
Output ALL data in file as 64-bit
Set wetland to 0% over land
In mkpftMod::mkpftInit()...
calling domain_read
finished domain_read
fsurdat is 2d lat/lon grid
nlon= 288 nlat= 192
(OPNFIL): Successfully opened file
landuse.timeseries_0.9x0.25_SSP3-7.0_78pfts_CMIP6_simyr2000-2100_c240521.log
on unit= 99
mksrf_gridtype = global
mksrf_fdynuse = landuse_timeseries_SSP3-7.0_78pfts_CMIP6_simyr2000-2100.txt

In mkpftMod::mkpft()...
Attempting to make PFTs .....
Creating surface datasets with extra types for crops; total pfts = 78
netcdf error from domain_read rcode = 2 error =
No such file or directory

I have checked multiple times and all the files pointed to in the namelist are in the right places and accessible. I even tried copying them all to my working directory and changing permissions, but it still gives the same error. The log file is also confusing at it gives no errors and stops after a mapping file, which is not related to the making PFTs stage. I've attached the log files, namelist, and txt file containing the land use inputs. There might just be a typo or something but I've been staring at it all afternoon trying to work out which file it can't read.

Best,

James

EDIT - typo found, ignore!
 
Top