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

The errors on using mksurfdata tool to create surface datasets

Hi everyone, I am using mksurfdata to create an fsurdat file with modified PFTs for use in running CESM1_0_3.  I changed the mksrf_fvegtyp in the default namelist with own PFTs, but fellowing errors happen: [zywang@c01n02 mksurfdata]$ ./mksurfdata < namelist
Attempting to initialize control settings .....
Attempting to create surface boundary data .....
------------------------------------------------------------
mksrf_fgrid =
/gpfsTMP/geo/zywang/test/inputdata//lnd/clm2/griddata/griddata_48x96_060829.nc



mksrf_gridtype = global
Output ALL data in file as 64-bit

read_domain read lsmlon and lsmlat dims
read_domain initialized domain
read_domain read LONGXY and LATIXY fields
read_domain check NUMLON for regular grid
read_domain read EDGE[NESW]
read_domain read LAT[NS],LON[WE]
read_domain read AREA
lsmlon= 96 lsmlat= 48
timer_a2 init-----
(shr_timer_print) timer 1: 1 calls, 0.002s, id: accumulating timer
(OPNFIL): Successfully opened file ./surfdata_48x96.log on unit= 99
mksrf_gridtype = global
mksrf_fdynuse = pftdyn_hist_simyr1850-1850.txt
timer_a1 init-----
(shr_timer_print) timer 1: 2 calls, 0.002s, id: accumulating timer
Attempting to make PFTs .....
Creating surface datasets with the standard # of PFTs = 16

read_domain read lon and lat dims
read_domain initialized domain
read_domain read LONGXY and LATIXY fields
read_domain read EDGE[NESW]
read_domain read LANDMASK
read_domain compute lat[ns],lon[we] from edge[nesw]
celledge, using celledge_regional
read_domain compute cellarea with edge[nesw]
cellarea, using cellarea_global
AREAINI warning: conservation check not valid for
input grid of 720 x 360
output grid of 96 x 48
AREAINI warning: conservation check not valid for
input grid of 720 x 360
output grid of 96 x 48
mkpft error: pft = 0.000000000000000E+000
0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000
0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000
0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000
0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000
0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000
0.000000000000000E+000 do not sum to 100. at column, row = 1
1 but to 0.000000000000000E+000Yes, it is very OK to use the default namelist to run the mksrfdata tools, and my namelist is as fellowing:&clmexp
nglcec = 0
mksrf_gridnm = '48x96'
mksrf_fgrid = '/gpfsTMP/geo/zywang/test/inputdata//lnd/clm2/griddata/griddata_48x96_060829.nc'
mksrf_fsoitex = '/gpfsTMP/geo/zywang/test/inputdata//lnd/clm2/rawdata/mksrf_soitex.10level.c010119.nc'
mksrf_forganic = '/gpfsTMP/geo/zywang/test/inputdata//lnd/clm2/rawdata/mksrf_organic.10level.0.5deg.081112.nc'
mksrf_flanwat = '/gpfsTMP/geo/zywang/test/inputdata//lnd/clm2/rawdata/mksrf_lanwat.050425.nc'
mksrf_fmax = '/gpfsTMP/geo/zywang/test/inputdata//lnd/clm2/rawdata/mksrf_fmax.070406.nc'
mksrf_fglacier = '/gpfsTMP/geo/zywang/test/inputdata///lnd/clm2/rawdata/mksrf_glacier.060929.nc
'
mksrf_fvocef = '/gpfsTMP/geo/zywang/test/inputdata//lnd/clm2/rawdata/mksrf_vocef.c060502.nc'
mksrf_ftopo = '/gpfsTMP/geo/zywang/test/inputdata//lnd/clm2/rawdata/mksrf_topo.10min.c080912.nc'
mksrf_ffrac = '/gpfsTMP/geo/zywang/test/inputdata//lnd/clm2/griddata/fracdata_10min_USGS_071205.nc'
outnc_double = .true.
all_urban = .false.mksrf_furban = '/gpfsTMP/geo/zywang/test/inputdata//lnd/clm2/rawdata/mksrf_urban_3den_0.5x0.5_simyr2000.c090223_v1.nc'
mksrf_fvegtyp = '/gpfsTMP/geo/zywang/test/inputdata//lnd/clm2/rawdata/pftlandusedyn.0.5x0.5.simyr1850-2005.c090630/test_grd.nc'
mksrf_fsoicol = '/gpfsTMP/geo/zywang/test/inputdata/lnd/clm2/rawdata//pftlandusedyn.0.5x0.5.simyr1850-2005.c090630/mksrf_soilcol_global_c090324.nc'
mksrf_flai = '/gpfsTMP/geo/zywang/test/inputdata//lnd/clm2/rawdata/pftlandusedyn.0.5x0.5.simyr1850-2005.c090630/mksrf_lai_global_c090506.nc
'
mksrf_fdynuse = 'pftdyn_hist_simyr1850-1850.txt'/Certainly, the test_grd.nc has the same 17 plant types as mksrf_landuse_rc2000_c090630.nc and the sum of each grid points is 100 if this grid has data. I have attach it. I really have no idea about this error. Any suggestions must be appreciated, and if some informations about this case are needed, please let me knows.Thanks in advances! xiao
 

slevis

Moderator
Staff member
You get this error although you say that sum(pft)=100 where the grid has data, so I guess that the code is trying to use gridcells where you did not put data. I'm not sure what to suggest to you. Often it helps to put "write" statements in the code to understand what is going on. Debugging is difficult some times. I hope you will find the problem easily. Sam
 
Thanks for your help, Sam. Yes, you're right, my PFT data maybe not agreed with the CLM land gridcells. However, do you know how to put my own data to the CLM gridcells exactly? Could some tools help me?Tkanks in advance. xiao
 
Top