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

How to create surface data with 16 pfts?

LiwenWu

LiwenWu
New Member
Dear Scientists,
I want to create a regional surface data with 16 pfts for a SP case. I have changed the mksurfdata.pl as "my $numpft = 16;". But when I run the ./mksurfdata.pl, there is an error shows that (gridmap_map_read) ERROR: frac_src out of bounds. The specific error message content is as follows. May I ask if you have any suggestions? I also wonder if I need to modify the mksrf files in mksrfdata_map.namelist? Because my pft=16, and these mksrf files are with pft=78. If I need to make changes, what data do I need to download?
Any advice would be greatly appreciated. Thank you!

The specific error message content is as follows.


[xunbin@fat01 mksurfdata_map]$ ./mksurfdata.pl -r usrspec -usr_gname $GRIDNAME -usr_gdate $CDATE
CSMDATA is /home/xunbin/cesm/inputdata
resolution: 0.01x0.01_shanxi ssp_rcp=hist sim_year = 1850
namelist: surfdata_0.01x0.01_shanxi_hist_16pfts_Irrig_CMIP6_simyr1850_c240313.namelist
fatal: Not a git repository (or any parent up to mount point /home)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
&clmexp
nglcec = 10
mksrf_fgrid = '../mkmapdata/map_0.25x0.25_MODIS_to_0.01x0.01_shanxi_nomask_aave_da_c240304.nc'
map_fpft = '../mkmapdata/map_0.25x0.25_MODIS_to_0.01x0.01_shanxi_nomask_aave_da_c240304.nc'
map_fglacier = '../mkmapdata/map_3x3min_GLOBE-Gardner_to_0.01x0.01_shanxi_nomask_aave_da_c240304.nc'
map_fglacierregion = '../mkmapdata/map_10x10min_nomask_to_0.01x0.01_shanxi_nomask_aave_da_c240304.nc'
map_fsoicol = '../mkmapdata/map_0.25x0.25_MODIS_to_0.01x0.01_shanxi_nomask_aave_da_c240304.nc'
map_furban = '../mkmapdata/map_3x3min_LandScan2004_to_0.01x0.01_shanxi_nomask_aave_da_c240304.nc'
map_fmax = '../mkmapdata/map_3x3min_USGS_to_0.01x0.01_shanxi_nomask_aave_da_c240304.nc'
map_forganic = '../mkmapdata/map_5x5min_ISRIC-WISE_to_0.01x0.01_shanxi_nomask_aave_da_c240304.nc'
map_flai = '../mkmapdata/map_0.25x0.25_MODIS_to_0.01x0.01_shanxi_nomask_aave_da_c240304.nc'
map_fharvest = '../mkmapdata/map_0.25x0.25_MODIS_to_0.01x0.01_shanxi_nomask_aave_da_c240304.nc'
map_flakwat = '../mkmapdata/map_3x3min_MODIS-wCsp_to_0.01x0.01_shanxi_nomask_aave_da_c240304.nc'
map_fwetlnd = '../mkmapdata/map_0.5x0.5_AVHRR_to_0.01x0.01_shanxi_nomask_aave_da_c240304.nc'
map_fvocef = '../mkmapdata/map_0.5x0.5_AVHRR_to_0.01x0.01_shanxi_nomask_aave_da_c240304.nc'
map_fsoitex = '../mkmapdata/map_5x5min_IGBP-GSDP_to_0.01x0.01_shanxi_nomask_aave_da_c240304.nc'
map_furbtopo = '../mkmapdata/map_10x10min_nomask_to_0.01x0.01_shanxi_nomask_aave_da_c240304.nc'
map_fgdp = '../mkmapdata/map_0.5x0.5_AVHRR_to_0.01x0.01_shanxi_nomask_aave_da_c240304.nc'
map_fpeat = '../mkmapdata/map_0.5x0.5_AVHRR_to_0.01x0.01_shanxi_nomask_aave_da_c240304.nc'
map_fsoildepth = '../mkmapdata/map_5x5min_ORNL-Soil_to_0.01x0.01_shanxi_nomask_aave_da_c240304.nc'
map_fabm = '../mkmapdata/map_0.5x0.5_AVHRR_to_0.01x0.01_shanxi_nomask_aave_da_c240304.nc'
mksrf_fsoitex = '/home/xunbin/cesm/inputdata/lnd/clm2/rawdata/mksrf_soitex.10level.c010119.nc'
mksrf_forganic = '/home/xunbin/cesm/inputdata/lnd/clm2/rawdata/mksrf_organic_10level_5x5min_ISRIC-WISE-NCSCD_nlev7_c120830.nc'
mksrf_flakwat = '/home/xunbin/cesm/inputdata/lnd/clm2/rawdata/mksrf_LakePnDepth_3x3min_simyr2004_csplk_c151015.nc'
mksrf_fwetlnd = '/home/xunbin/cesm/inputdata/lnd/clm2/rawdata/mksrf_lanwat.050425.nc'
mksrf_fmax = '/home/xunbin/cesm/inputdata/lnd/clm2/rawdata/mksrf_fmax_3x3min_USGS_c120911.nc'
mksrf_fglacier = '/home/xunbin/cesm/inputdata/lnd/clm2/rawdata/mksrf_glacier_3x3min_simyr2000.c120926.nc'
mksrf_fglacierregion = '/home/xunbin/cesm/inputdata/lnd/clm2/rawdata/mksrf_GlacierRegion_10x10min_nomask_c170616.nc'
mksrf_fvocef = '/home/xunbin/cesm/inputdata/lnd/clm2/rawdata/mksrf_vocef_0.5x0.5_simyr2000.c110531.nc'
mksrf_furbtopo = '/home/xunbin/cesm/inputdata/lnd/clm2/rawdata/mksrf_topo.10min.c080912.nc'
mksrf_fgdp = '/home/xunbin/cesm/inputdata/lnd/clm2/rawdata/mksrf_gdp_0.5x0.5_AVHRR_simyr2000.c130228.nc'
mksrf_fpeat = '/home/xunbin/cesm/inputdata/lnd/clm2/rawdata/mksrf_peatf_0.5x0.5_AVHRR_simyr2000.c130228.nc'
mksrf_fsoildepth = '/home/xunbin/cesm/inputdata/lnd/clm2/rawdata/mksf_soilthk_5x5min_ORNL-Soil_simyr1900-2015_c170630.nc'
mksrf_fabm = '/home/xunbin/cesm/inputdata/lnd/clm2/rawdata/mksrf_abm_0.5x0.5_AVHRR_simyr2000.c130201.nc'
outnc_double = .true.
all_urban = .false.
no_inlandwet = .true.
mksrf_furban = '/home/xunbin/cesm/inputdata/lnd/clm2/rawdata/mksrf_urban_0.05x0.05_simyr2000.c120621.nc'
gitdescribe = '/home/xunbin/CTSM-ctsm5.1.dev038/tools/mksurfdata_map'
map_ftopostats = '../mkmapdata/map_1km-merge-10min_HYDRO1K-merge-nomask_to_0.01x0.01_shanxi_nomask_aave_da_c240304.nc'
mksrf_ftopostats = '/home/xunbin/cesm/inputdata/lnd/clm2/rawdata/mksrf_topostats_1km-merge-10min_HYDRO1K-merge-nomask_simyr2000.c130402.nc'
mksrf_fvegtyp = '/home/xunbin/cesm/inputdata/lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1850.c170629.nc'
mksrf_fhrvtyp = '/home/xunbin/cesm/inputdata/lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.histsimyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1850.c170629.nc'
mksrf_fsoicol = '/home/xunbin/cesm/inputdata/lnd/clm2/rawdata/pftcftlandusedynharv.0.25x0.25.MODIS.simyr1850-2015.c170412/mksrf_soilcolor_CMIP6_simyr2005.c170623.nc'
mksrf_flai = '/home/xunbin/cesm/inputdata/lnd/clm2/rawdata/pftcftlandusedynharv.0.25x0.25.MODIS.simyr1850-2015.c170412/mksrf_lai_78pfts_simyr2005.c170413.nc'
fsurdat = 'surfdata_0.01x0.01_shanxi_hist_16pfts_Irrig_CMIP6_simyr1850_c240313.nc'
fsurlog = 'surfdata_0.01x0.01_shanxi_hist_16pfts_Irrig_CMIP6_simyr1850_c240313.log'
mksrf_fdynuse = ''
fdyndat = ''
numpft = 16
/
./mksurfdata_map < surfdata_0.01x0.01_shanxi_hist_16pfts_Irrig_CMIP6_simyr1850_c240313.namelist
Attempting to initialize control settings .....
Attempting to create surface boundary data .....
------------------------------------------------------------
mksrf_fgrid =
../mkmapdata/map_0.25x0.25_MODIS_to_0.01x0.01_shanxi_nomask_aave_da_c240304.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= 606 nlat= 808
(OPNFIL): Successfully opened file
surfdata_0.01x0.01_shanxi_hist_16pfts_Irrig_CMIP6_simyr1850_c240313.log
on unit= 99
mksrf_gridtype = global

In mkpftMod::mkpft()...
Attempting to make PFTs .....
Creating surface datasets with the standard # of PFTs = 16
domain_read_dims_2d read lon and lat dims from lon/lat
domain_read initialized domain
domain_read read LANDFRAC
domain_read read LANDMASK
Open PFT file:
/home/xunbin/cesm/inputdata/lnd/clm2/rawdata/pftcftdynharv.0.25x0.25.LUH2.hists
imyr1850-2015.c170629/mksrf_landuse_histclm50_LUH2_1850.c170629.nc
mkpftMod::mkpft() WARNING: using a crop input raw dataset for a
non-crop output surface dataset
(gridmap_map_read) reading mapping matrix data...
(gridmap_map_read) * file name : ../mkmapdata/map_0.25x0.25_MODIS_to_0.01x0.01_shanxi_nomask_aave_da_c240304.nc

* matrix dimensions rows x cols : 1036800 x 489648
* number of non-zero elements: 551314
(gridmap_map_read) ERROR: frac_src out of bounds
max = 2.00000000000048 min = 0.000000000000000E+000
abort:
ERROR in mksurfdata_map: 34304


 

oleson

Keith Oleson
CSEG and Liaisons
Staff member
I think the proper way to do this is to specify "-no-crop" as part of your mksurfdata.pl command. This will "Create datasets without the extensive list of prognostic crop types". In other words, you should get 16pfts.
 
Top