From 291637b4fbf7df357bb37d08f2560a5e9c9b4bab Mon Sep 17 00:00:00 2001 From: Negin Sobhani Date: Tue, 30 Mar 2021 16:57:13 -0600 Subject: [PATCH 01/82] adding logger class and main function...same functionality --- tools/contrib/singlept | 626 ++++++++++++++++++++++------------------- 1 file changed, 342 insertions(+), 284 deletions(-) diff --git a/tools/contrib/singlept b/tools/contrib/singlept index fd82eaf6a2..894bc9ab81 100755 --- a/tools/contrib/singlept +++ b/tools/contrib/singlept @@ -8,12 +8,47 @@ # Import libraries import sys import os +import logging from getpass import getuser import string import subprocess import numpy as np import xarray as xr + +class StreamToLogger(object): + """ + Fake file-like stream object that redirects writes to a logger instance. + """ + """ + Custom class to log all stdout and stderr streams + """ + def __init__(self, logger, log_level=logging.INFO): + self.logger = logger + self.log_level = log_level + self.linebuf = '' + + def write(self, buf): + temp_linebuf = self.linebuf + buf + self.linebuf = '' + for line in temp_linebuf.splitlines(True): + # From the io.TextIOWrapper docs: + # On output, if newline is None, any '\n' characters written + # are translated to the system default line separator. + # By default sys.stdout.write() expects '\n' newlines and then + # translates them so this is still cross platform. + if line[-1] == '\n': + self.logger.log(self.log_level, line.rstrip()) + else: + self.linebuf += line + + def flush(self): + if self.linebuf != '': + self.logger.log(self.log_level, self.linebuf.rstrip()) + self.linebuf = '' + + + def error( desc ): "error function" mprint( "ERROR:: "+desc ) @@ -40,337 +75,360 @@ def AddTagToFilename(filename, tag): error( "Trouble figuring out where to add tag to filename:"+filename ) return( basename[:cend]+"_"+tag+basename[cend:] ) -mprint( "singlept script to extract out a single point from the global CTSM inputdata datasets\n" ) -myname=getuser() -pwd=os.getcwd() -mprint("User = "+myname) -mprint("Current directory = "+pwd+"\n") -''' +def main (): + + logging.basicConfig( + level=logging.DEBUG, + format='%(asctime)s:%(levelname)s:%(name)s:%(message)s', + filename="out.log", + filemode='a' + ) + + stdout_logger = logging.getLogger('STDOUT') + sl = StreamToLogger(stdout_logger, logging.INFO) + sys.stdout = sl + + stderr_logger = logging.getLogger('STDERR') + sl = StreamToLogger(stderr_logger, logging.ERROR) + sys.stderr = sl + + + mprint( "singlept script to extract out a single point from the global CTSM inputdata datasets\n" ) + myname=getuser() + pwd=os.getcwd() + mprint("User = "+myname) + mprint("Current directory = "+pwd+"\n") + + ''' #------------------------------------------------------------------# #--------------------- Instructions -----------------------------# #------------------------------------------------------------------# -load the following into your local environment -module load python/2.7.14 -ncar_pylib - -After creating a case using a global compset, run preview_namelist. -From the resulting lnd_in file in the run directory, find the name -of the domain file, and the surface data file. -From the datm streams files (e.g. datm.streams.txt.CLMGSWP3v1.Precip) -find the name of the datm forcing data domain file and forcing files. -Use these file names as the sources for the single point files to -be created (see below). - -After running this script, point to the new CLM domain and surface -dataset using the user_nl_clm file in the case directory. In addition, -copy the datm.streams files to the case directory, with the prefix -'user_', e.g. user_datm.streams.txt.CLMGSWP3v1.Precip. Change the -information in the user_datm.streams* files to point to the single -point datm data (domain and forcing files) created using this script. - -The domain file is not set via user_nl_clm, but requires changing -LND_DOMAIN and ATM_DOMAIN (and their paths) in env_run.xml. - -Using single point forcing data requires specifying the nearest -neighbor mapping algorithm for the datm streams (usually they are -the first three in the list) in user_nl_datm: mapalgo = 'nn','nn','nn', -..., where the '...' can still be 'bilinear', etc, depending on the -other streams that are being used, e.g. aerosols, anomaly forcing, -bias correction. - -The file env_mach_pes.xml should be modified to specify a single -processor. The mpi-serial libraries should also be used, and can be -set in env_build.xml by changing "MPILIB" to "mpi-serial" prior to -setting up the case. - -The case for the single point simulation should have river routing -and land ice models turned off (i.e. the compset should use stub -models SROF and SGLC) - -to run the script -./singlept -deactivate # to remove NPL from environment - -''' + load the following into your local environment + module load python/2.7.14 + ncar_pylib + + After creating a case using a global compset, run preview_namelist. + From the resulting lnd_in file in the run directory, find the name + of the domain file, and the surface data file. + From the datm streams files (e.g. datm.streams.txt.CLMGSWP3v1.Precip) + find the name of the datm forcing data domain file and forcing files. + Use these file names as the sources for the single point files to + be created (see below). + + After running this script, point to the new CLM domain and surface + dataset using the user_nl_clm file in the case directory. In addition, + copy the datm.streams files to the case directory, with the prefix + 'user_', e.g. user_datm.streams.txt.CLMGSWP3v1.Precip. Change the + information in the user_datm.streams* files to point to the single + point datm data (domain and forcing files) created using this script. + + The domain file is not set via user_nl_clm, but requires changing + LND_DOMAIN and ATM_DOMAIN (and their paths) in env_run.xml. + + Using single point forcing data requires specifying the nearest + neighbor mapping algorithm for the datm streams (usually they are + the first three in the list) in user_nl_datm: mapalgo = 'nn','nn','nn', + ..., where the '...' can still be 'bilinear', etc, depending on the + other streams that are being used, e.g. aerosols, anomaly forcing, + bias correction. + + The file env_mach_pes.xml should be modified to specify a single + processor. The mpi-serial libraries should also be used, and can be + set in env_build.xml by changing "MPILIB" to "mpi-serial" prior to + setting up the case. + + The case for the single point simulation should have river routing + and land ice models turned off (i.e. the compset should use stub + models SROF and SGLC) + + to run the script + ./singlept + deactivate # to remove NPL from environment + + ''' # Set control flags #-- Setup by default to run for Harvard Forest #-- Specify point to extract -plon = 287.8 -plat = 42.5 + plon = 287.8 + plat = 42.5 #-- Create regional CLM domain file -create_domain = True + create_domain = True #-- Create CLM surface data file -create_surfdata = True + create_surfdata = True #-- Create CLM surface data file -create_landuse = True + create_landuse = True #-- Create single point DATM atmospheric forcing data -create_datm = False -datm_syr=1901 -datm_eyr=2014 + create_datm = False + datm_syr=1901 + datm_eyr=2014 #-- Modify landunit structure -overwrite_single_pft = True -dominant_pft = 7 #BETr -zero_nonveg_landunits= True -uniform_snowpack = True -no_saturation_excess = True + overwrite_single_pft = True + dominant_pft = 7 #BETr + zero_nonveg_landunits= True + uniform_snowpack = True + no_saturation_excess = True #-- Specify input and output directories -dir_output='/glade/scratch/'+myname+'/single_point/' -if ( not os.path.isdir( dir_output ) ): - os.mkdir( dir_output ) -dir_inputdata='/glade/p/cesmdata/cseg/inputdata/' -dir_clm_forcedata='/glade/p/cgd/tss/CTSM_datm_forcing_data/' -dir_input_datm=dir_clm_forcedata+'/atm_forcing.datm7.GSWP3.0.5d.v1.c170516/' -dir_output_datm=dir_output + 'datmdata/' -if ( not os.path.isdir( dir_output_datm ) ): - os.mkdir( dir_output_datm ) + dir_output='/glade/scratch/'+myname+'/single_point/' + if ( not os.path.isdir( dir_output ) ): + os.mkdir( dir_output ) + dir_inputdata='/glade/p/cesmdata/cseg/inputdata/' + dir_clm_forcedata='/glade/p/cgd/tss/CTSM_datm_forcing_data/' + dir_input_datm=dir_clm_forcedata+'/atm_forcing.datm7.GSWP3.0.5d.v1.c170516/' + dir_output_datm=dir_output + 'datmdata/' + if ( not os.path.isdir( dir_output_datm ) ): + os.mkdir( dir_output_datm ) #-- Set input and output filenames -tag=str(plon)+'_'+str(plat) + tag=str(plon)+'_'+str(plat) #-- Set time stamp -command='date "+%y%m%d"' -x2=subprocess.Popen(command,stdout=subprocess.PIPE,shell='True') -x=x2.communicate() -timetag = x[0].strip() + command='date "+%y%m%d"' + x2=subprocess.Popen(command,stdout=subprocess.PIPE,shell='True') + x=x2.communicate() + timetag = x[0].strip() #-- Specify land domain file --------------------------------- -fdomain = dir_inputdata+'share/domains/domain.lnd.fv0.9x1.25_gx1v7.151020.nc' -fdomain2 = dir_output + AddTagToFilename( fdomain, tag ) + fdomain = dir_inputdata+'share/domains/domain.lnd.fv0.9x1.25_gx1v7.151020.nc' + fdomain2 = dir_output + AddTagToFilename( fdomain, tag ) #-- Specify surface data file -------------------------------- -fsurf = dir_inputdata+'lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_0.9x1.25_hist_16pfts_Irrig_CMIP6_simyr2000_c190214.nc' + fsurf = dir_inputdata+'lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_0.9x1.25_hist_16pfts_Irrig_CMIP6_simyr2000_c190214.nc' -fsurf2 = dir_output + AddTagToFilename( fsurf, tag ) + fsurf2 = dir_output + AddTagToFilename( fsurf, tag ) #-- Specify landuse file ------------------------------------- -fluse = dir_inputdata+'lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_0.9x1.25_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c190214.nc' -fluse2 = dir_output + AddTagToFilename( fluse, tag ) + fluse = dir_inputdata+'lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_0.9x1.25_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c190214.nc' + fluse2 = dir_output + AddTagToFilename( fluse, tag ) #-- Specify datm domain file --------------------------------- -fdatmdomain = dir_clm_forcedata+'atm_forcing.datm7.GSWP3.0.5d.v1.c170516/domain.lnd.360x720_gswp3.0v1.c170606.nc' -fdatmdomain2 = dir_output_datm+AddTagToFilename( fdatmdomain, tag ) + fdatmdomain = dir_clm_forcedata+'atm_forcing.datm7.GSWP3.0.5d.v1.c170516/domain.lnd.360x720_gswp3.0v1.c170606.nc' + fdatmdomain2 = dir_output_datm+AddTagToFilename( fdatmdomain, tag ) #-- Create CTSM domain file -if create_domain: - mprint( "Open: "+fdomain ) - f1 = xr.open_dataset(fdomain) - # create 1d coordinate variables to enable sel() method - lon0=np.asarray(f1['xc'][0,:]) - lat0=np.asarray(f1['yc'][:,0]) - lon=xr.DataArray(lon0,name='lon',dims='ni',coords={'ni':lon0}) - lat=xr.DataArray(lat0,name='lat',dims='nj',coords={'nj':lat0}) - # assign() not working on cheyenne - #f2=f1.assign({'lon':lon,'lat':lat}) - f2=f1.assign() - f2['lon'] = lon - f2['lat'] = lat - f2.reset_coords(['xc','yc'],inplace=True) - # extract gridcell closest to plon/plat - f3 = f2.sel(ni=plon,nj=plat,method='nearest') - # expand dimensions - f3 = f3.expand_dims(['nj','ni']) - - wfile=fdomain2 - # mode 'w' overwrites file - f3.to_netcdf(path=wfile, mode='w') - mprint('created file '+fdomain2) - f1.close(); f2.close(); f3.close() + if create_domain: + mprint( "Open: "+fdomain ) + f1 = xr.open_dataset(fdomain) + # create 1d coordinate variables to enable sel() method + lon0=np.asarray(f1['xc'][0,:]) + lat0=np.asarray(f1['yc'][:,0]) + lon=xr.DataArray(lon0,name='lon',dims='ni',coords={'ni':lon0}) + lat=xr.DataArray(lat0,name='lat',dims='nj',coords={'nj':lat0}) + # assign() not working on cheyenne + #f2=f1.assign({'lon':lon,'lat':lat}) + f2=f1.assign() + f2['lon'] = lon + f2['lat'] = lat + f2.reset_coords(['xc','yc'],inplace=True) + # extract gridcell closest to plon/plat + f3 = f2.sel(ni=plon,nj=plat,method='nearest') + # expand dimensions + f3 = f3.expand_dims(['nj','ni']) -#-- Create CTSM surface data file -if create_surfdata: - mprint( "Open: "+fsurf ) - f1 = xr.open_dataset(fsurf) - # create 1d variables - lon0=np.asarray(f1['LONGXY'][0,:]) - lon=xr.DataArray(lon0,name='lon',dims='lsmlon',coords={'lsmlon':lon0}) - lat0=np.asarray(f1['LATIXY'][:,0]) - lat=xr.DataArray(lat0,name='lat',dims='lsmlat',coords={'lsmlat':lat0}) - #f2=f1.assign({'lon':lon,'lat':lat}) - f2=f1.assign() - f2['lon'] = lon - f2['lat'] = lat - # extract gridcell closest to plon/plat - f3 = f2.sel(lsmlon=plon,lsmlat=plat,method='nearest') - # expand dimensions - f3 = f3.expand_dims(['lsmlat','lsmlon']) - - # modify surface data properties - if overwrite_single_pft: - f3['PCT_NAT_PFT'][:,:,:] = 0 - f3['PCT_NAT_PFT'][:,:,dominant_pft] = 100 - if zero_nonveg_landunits: - f3['PCT_NATVEG'][:,:] = 100 - f3['PCT_CROP'][:,:] = 0 - f3['PCT_LAKE'][:,:] = 0. - f3['PCT_WETLAND'][:,:] = 0. - f3['PCT_URBAN'][:,:,] = 0. - f3['PCT_GLACIER'][:,:] = 0. - if uniform_snowpack: - f3['STD_ELEV'][:,:] = 20. - if no_saturation_excess: - f3['FMAX'][:,:] = 0. - - # specify dimension order - #f3 = f3.transpose(u'time', u'cft', u'natpft', u'lsmlat', u'lsmlon') - f3 = f3.transpose(u'time', u'cft', u'lsmpft', u'natpft', u'nglcec', u'nglcecp1', u'nlevsoi', u'nlevurb', u'numrad', u'numurbl', 'lsmlat', 'lsmlon') - # mode 'w' overwrites file - f3.to_netcdf(path=fsurf2, mode='w') - mprint('created file '+fsurf2) - f1.close(); f2.close(); f3.close() - - ''' this is buggy; can't re-write a file within the same session - # modify new surface data file - if overwrite_single_pft: - f1 = xr.open_dataset(fsurf2) - f1['PCT_NAT_PFT'][:,:,:] = 0 - f1['PCT_NAT_PFT'][:,:,dominant_pft] = 100 - f1.to_netcdf(path='~/junk.nc', mode='w') - #f1.to_netcdf(path=fsurf2, mode='w') - f1.close() - if zero_nonveg_landunits: - #f1 = xr.open_dataset(fsurf2) - f1 = xr.open_dataset('~/junk.nc') - f1['PCT_NATVEG'] = 100 - f1['PCT_CROP'] = 0 - f1['PCT_LAKE'] = 0. - f1['PCT_WETLAND'] = 0. - f1['PCT_URBAN'] = 0. - f1['PCT_GLACIER'] = 0. - #f1.to_netcdf(path=fsurf2, mode='w') - f1.to_netcdf(path='~/junk2.nc', mode='w') - f1.close() - ''' -#-- Create CTSM transient landuse data file -if create_landuse: - mprint( "Open: "+fluse ) - f1 = xr.open_dataset(fluse) - # create 1d variables - lon0=np.asarray(f1['LONGXY'][0,:]) - lon=xr.DataArray(lon0,name='lon',dims='lsmlon',coords={'lsmlon':lon0}) - lat0=np.asarray(f1['LATIXY'][:,0]) - lat=xr.DataArray(lat0,name='lat',dims='lsmlat',coords={'lsmlat':lat0}) - #f2=f1.assign({'lon':lon,'lat':lat}) - f2=f1.assign() - f2['lon'] = lon - f2['lat'] = lat - # extract gridcell closest to plon/plat - f3 = f2.sel(lsmlon=plon,lsmlat=plat,method='nearest') - - # expand dimensions - f3 = f3.expand_dims(['lsmlat','lsmlon']) - # specify dimension order - #f3 = f3.transpose('time','lat','lon') - f3 = f3.transpose(u'time', u'cft', u'natpft', u'lsmlat', u'lsmlon') - #f3['YEAR'] = f3['YEAR'].squeeze() - - # revert expand dimensions of YEAR - year = np.squeeze(np.asarray(f3['YEAR'])) - x = xr.DataArray(year, coords={'time':f3['time']}, dims='time', name='YEAR') - x.attrs['units']='unitless' - x.attrs['long_name']='Year of PFT data' - f3['YEAR'] = x - #print(x) - #mprint(f3) - #stop - # mode 'w' overwrites file - f3.to_netcdf(path=fluse2, mode='w') - mprint('created file '+fluse2) - f1.close(); f2.close(); f3.close() + wfile=fdomain2 + # mode 'w' overwrites file + f3.to_netcdf(path=wfile, mode='w') + mprint('created file '+fdomain2) + f1.close(); f2.close(); f3.close() -#-- Create single point atmospheric forcing data -if create_datm: - #-- create datm domain file - mprint( "Open: "+fdatmdomain ) - f1 = xr.open_dataset(fdatmdomain) - # create 1d coordinate variables to enable sel() method - lon0=np.asarray(f1['xc'][0,:]) - lat0=np.asarray(f1['yc'][:,0]) - lon=xr.DataArray(lon0,name='lon',dims='ni',coords={'ni':lon0}) - lat=xr.DataArray(lat0,name='lat',dims='nj',coords={'nj':lat0}) - - #f2=f1.assign({'lon':lon,'lat':lat}) - f2=f1.assign() - f2['lon'] = lon - f2['lat'] = lat - f2.reset_coords(['xc','yc'],inplace=True) - # extract gridcell closest to plon/plat - f3 = f2.sel(ni=plon,nj=plat,method='nearest') - # expand dimensions - f3 = f3.expand_dims(['nj','ni']) - - wfile=fdatmdomain2 - # mode 'w' overwrites file - f3.to_netcdf(path=wfile, mode='w') - mprint('created file '+fdatmdomain2) - f1.close(); f2.close(); f3.close() - - #-- specify subdirectory names and filename prefixes - solrdir = 'Solar/' - precdir = 'Precip/' - tpqwldir = 'TPHWL/' - prectag = 'clmforc.GSWP3.c2011.0.5x0.5.Prec.' - solrtag = 'clmforc.GSWP3.c2011.0.5x0.5.Solr.' - tpqwtag = 'clmforc.GSWP3.c2011.0.5x0.5.TPQWL.' - - #-- create data files - infile=[] - outfile=[] - for y in range(datm_syr,datm_eyr+1): - ystr=str(y) - for m in range(1,13): - mstr=str(m) - if m < 10: - mstr='0'+mstr - - dtag=ystr+'-'+mstr - - fsolar=dir_input_datm+solrdir+solrtag+dtag+'.nc' - fsolar2=dir_output_datm+solrtag+tag+'.'+dtag+'.nc' - fprecip=dir_input_datm+precdir+prectag+dtag+'.nc' - fprecip2=dir_output_datm+prectag+tag+'.'+dtag+'.nc' - ftpqw=dir_input_datm+tpqwldir+tpqwtag+dtag+'.nc' - ftpqw2=dir_output_datm+tpqwtag+tag+'.'+dtag+'.nc' - - infile+=[fsolar,fprecip,ftpqw] - outfile+=[fsolar2,fprecip2,ftpqw2] - - nm=len(infile) - for n in range(nm): - mprint(outfile[n]+'\n') - file_in = infile[n] - file_out = outfile[n] - - - f1 = xr.open_dataset(file_in) - # create 1d coordinate variables to enable sel() method +#-- Create CTSM surface data file + if create_surfdata: + mprint( "Open: "+fsurf ) + f1 = xr.open_dataset(fsurf) + # create 1d variables lon0=np.asarray(f1['LONGXY'][0,:]) + lon=xr.DataArray(lon0,name='lon',dims='lsmlon',coords={'lsmlon':lon0}) lat0=np.asarray(f1['LATIXY'][:,0]) - lon=xr.DataArray(lon0,name='lon',dims='lon',coords={'lon':lon0}) - lat=xr.DataArray(lat0,name='lat',dims='lat',coords={'lat':lat0}) + lat=xr.DataArray(lat0,name='lat',dims='lsmlat',coords={'lsmlat':lat0}) #f2=f1.assign({'lon':lon,'lat':lat}) f2=f1.assign() f2['lon'] = lon f2['lat'] = lat - f2.reset_coords(['LONGXY','LATIXY'],inplace=True) # extract gridcell closest to plon/plat - f3 = f2.sel(lon=plon,lat=plat,method='nearest') + f3 = f2.sel(lsmlon=plon,lsmlat=plat,method='nearest') # expand dimensions - f3 = f3.expand_dims(['lat','lon']) + f3 = f3.expand_dims(['lsmlat','lsmlon']) + + # modify surface data properties + if overwrite_single_pft: + f3['PCT_NAT_PFT'][:,:,:] = 0 + f3['PCT_NAT_PFT'][:,:,dominant_pft] = 100 + if zero_nonveg_landunits: + f3['PCT_NATVEG'][:,:] = 100 + f3['PCT_CROP'][:,:] = 0 + f3['PCT_LAKE'][:,:] = 0. + f3['PCT_WETLAND'][:,:] = 0. + f3['PCT_URBAN'][:,:,] = 0. + f3['PCT_GLACIER'][:,:] = 0. + if uniform_snowpack: + f3['STD_ELEV'][:,:] = 20. + if no_saturation_excess: + f3['FMAX'][:,:] = 0. + # specify dimension order - f3 = f3.transpose(u'scalar','time','lat','lon') + #f3 = f3.transpose(u'time', u'cft', u'natpft', u'lsmlat', u'lsmlon') + f3 = f3.transpose(u'time', u'cft', u'lsmpft', u'natpft', u'nglcec', u'nglcecp1', u'nlevsoi', u'nlevurb', u'numrad', u'numurbl', 'lsmlat', 'lsmlon') + # mode 'w' overwrites file + f3.to_netcdf(path=fsurf2, mode='w') + mprint('created file '+fsurf2) + f1.close(); f2.close(); f3.close() + ''' this is buggy; can't re-write a file within the same session + # modify new surface data file + if overwrite_single_pft: + f1 = xr.open_dataset(fsurf2) + f1['PCT_NAT_PFT'][:,:,:] = 0 + f1['PCT_NAT_PFT'][:,:,dominant_pft] = 100 + f1.to_netcdf(path='~/junk.nc', mode='w') + #f1.to_netcdf(path=fsurf2, mode='w') + f1.close() + if zero_nonveg_landunits: + #f1 = xr.open_dataset(fsurf2) + f1 = xr.open_dataset('~/junk.nc') + f1['PCT_NATVEG'] = 100 + f1['PCT_CROP'] = 0 + f1['PCT_LAKE'] = 0. + f1['PCT_WETLAND'] = 0. + f1['PCT_URBAN'] = 0. + f1['PCT_GLACIER'] = 0. + #f1.to_netcdf(path=fsurf2, mode='w') + f1.to_netcdf(path='~/junk2.nc', mode='w') + f1.close() + ''' +#-- Create CTSM transient landuse data file + if create_landuse: + mprint( "Open: "+fluse ) + f1 = xr.open_dataset(fluse) + # create 1d variables + lon0=np.asarray(f1['LONGXY'][0,:]) + lon=xr.DataArray(lon0,name='lon',dims='lsmlon',coords={'lsmlon':lon0}) + lat0=np.asarray(f1['LATIXY'][:,0]) + lat=xr.DataArray(lat0,name='lat',dims='lsmlat',coords={'lsmlat':lat0}) + #f2=f1.assign({'lon':lon,'lat':lat}) + f2=f1.assign() + f2['lon'] = lon + f2['lat'] = lat + # extract gridcell closest to plon/plat + f3 = f2.sel(lsmlon=plon,lsmlat=plat,method='nearest') + + # expand dimensions + f3 = f3.expand_dims(['lsmlat','lsmlon']) + # specify dimension order + #f3 = f3.transpose('time','lat','lon') + f3 = f3.transpose(u'time', u'cft', u'natpft', u'lsmlat', u'lsmlon') + #f3['YEAR'] = f3['YEAR'].squeeze() + + # revert expand dimensions of YEAR + year = np.squeeze(np.asarray(f3['YEAR'])) + x = xr.DataArray(year, coords={'time':f3['time']}, dims='time', name='YEAR') + x.attrs['units']='unitless' + x.attrs['long_name']='Year of PFT data' + f3['YEAR'] = x + #print(x) + #mprint(f3) + #stop # mode 'w' overwrites file - f3.to_netcdf(path=file_out, mode='w') + f3.to_netcdf(path=fluse2, mode='w') + mprint('created file '+fluse2) f1.close(); f2.close(); f3.close() - - mprint('datm files written to: '+dir_output_datm) +#-- Create single point atmospheric forcing data + if create_datm: + #-- create datm domain file + mprint( "Open: "+fdatmdomain ) + f1 = xr.open_dataset(fdatmdomain) + # create 1d coordinate variables to enable sel() method + lon0=np.asarray(f1['xc'][0,:]) + lat0=np.asarray(f1['yc'][:,0]) + lon=xr.DataArray(lon0,name='lon',dims='ni',coords={'ni':lon0}) + lat=xr.DataArray(lat0,name='lat',dims='nj',coords={'nj':lat0}) + + #f2=f1.assign({'lon':lon,'lat':lat}) + f2=f1.assign() + f2['lon'] = lon + f2['lat'] = lat + f2.reset_coords(['xc','yc'],inplace=True) + # extract gridcell closest to plon/plat + f3 = f2.sel(ni=plon,nj=plat,method='nearest') + # expand dimensions + f3 = f3.expand_dims(['nj','ni']) + + wfile=fdatmdomain2 + # mode 'w' overwrites file + f3.to_netcdf(path=wfile, mode='w') + mprint('created file '+fdatmdomain2) + f1.close(); f2.close(); f3.close() -mprint( "\nSuccessfully ran script\n\n" ) + #-- specify subdirectory names and filename prefixes + solrdir = 'Solar/' + precdir = 'Precip/' + tpqwldir = 'TPHWL/' + prectag = 'clmforc.GSWP3.c2011.0.5x0.5.Prec.' + solrtag = 'clmforc.GSWP3.c2011.0.5x0.5.Solr.' + tpqwtag = 'clmforc.GSWP3.c2011.0.5x0.5.TPQWL.' + + #-- create data files + infile=[] + outfile=[] + for y in range(datm_syr,datm_eyr+1): + ystr=str(y) + for m in range(1,13): + mstr=str(m) + if m < 10: + mstr='0'+mstr + + dtag=ystr+'-'+mstr + + fsolar=dir_input_datm+solrdir+solrtag+dtag+'.nc' + fsolar2=dir_output_datm+solrtag+tag+'.'+dtag+'.nc' + fprecip=dir_input_datm+precdir+prectag+dtag+'.nc' + fprecip2=dir_output_datm+prectag+tag+'.'+dtag+'.nc' + ftpqw=dir_input_datm+tpqwldir+tpqwtag+dtag+'.nc' + ftpqw2=dir_output_datm+tpqwtag+tag+'.'+dtag+'.nc' + + infile+=[fsolar,fprecip,ftpqw] + outfile+=[fsolar2,fprecip2,ftpqw2] + + nm=len(infile) + for n in range(nm): + mprint(outfile[n]+'\n') + file_in = infile[n] + file_out = outfile[n] + + + f1 = xr.open_dataset(file_in) + # create 1d coordinate variables to enable sel() method + lon0=np.asarray(f1['LONGXY'][0,:]) + lat0=np.asarray(f1['LATIXY'][:,0]) + lon=xr.DataArray(lon0,name='lon',dims='lon',coords={'lon':lon0}) + lat=xr.DataArray(lat0,name='lat',dims='lat',coords={'lat':lat0}) + #f2=f1.assign({'lon':lon,'lat':lat}) + f2=f1.assign() + f2['lon'] = lon + f2['lat'] = lat + f2.reset_coords(['LONGXY','LATIXY'],inplace=True) + # extract gridcell closest to plon/plat + f3 = f2.sel(lon=plon,lat=plat,method='nearest') + # expand dimensions + f3 = f3.expand_dims(['lat','lon']) + # specify dimension order + f3 = f3.transpose(u'scalar','time','lat','lon') + + # mode 'w' overwrites file + f3.to_netcdf(path=file_out, mode='w') + f1.close(); f2.close(); f3.close() + + + mprint('datm files written to: '+dir_output_datm) + + mprint( "\nSuccessfully ran script\n\n" ) + + +if __name__ == "__main__": + main() From e565b8dc9cfbd69569a41ae7d2b40fcf0c61ef7e Mon Sep 17 00:00:00 2001 From: Negin Sobhani Date: Tue, 30 Mar 2021 17:05:14 -0600 Subject: [PATCH 02/82] removing mprint and print to work with both python 2 and 3. Currently I recieve another error for python 3 --- tools/contrib/singlept | 42 ++++++++++++++++++------------------------ 1 file changed, 18 insertions(+), 24 deletions(-) diff --git a/tools/contrib/singlept b/tools/contrib/singlept index 894bc9ab81..3fb03ef70f 100755 --- a/tools/contrib/singlept +++ b/tools/contrib/singlept @@ -6,6 +6,7 @@ # # Import libraries +from __future__ import print_function import sys import os import logging @@ -16,6 +17,7 @@ import numpy as np import xarray as xr + class StreamToLogger(object): """ Fake file-like stream object that redirects writes to a logger instance. @@ -51,17 +53,9 @@ class StreamToLogger(object): def error( desc ): "error function" - mprint( "ERROR:: "+desc ) + print( "ERROR:: "+desc ) os.abort() -def mprint(mstr): - "Print function whether python-2 or python-3" - # six.py or import __future__ print_function could be used instead... - vnum=sys.version_info[0] - if vnum == 3: - print(mstr) - if vnum == 2: - print mstr def AddTagToFilename(filename, tag): "Add a tag to a filename" @@ -94,11 +88,11 @@ def main (): sys.stderr = sl - mprint( "singlept script to extract out a single point from the global CTSM inputdata datasets\n" ) + print( "singlept script to extract out a single point from the global CTSM inputdata datasets\n" ) myname=getuser() pwd=os.getcwd() - mprint("User = "+myname) - mprint("Current directory = "+pwd+"\n") + print("User = "+myname) + print("Current directory = "+pwd+"\n") ''' #------------------------------------------------------------------# @@ -213,7 +207,7 @@ def main (): #-- Create CTSM domain file if create_domain: - mprint( "Open: "+fdomain ) + print( "Open: "+fdomain ) f1 = xr.open_dataset(fdomain) # create 1d coordinate variables to enable sel() method lon0=np.asarray(f1['xc'][0,:]) @@ -234,12 +228,12 @@ def main (): wfile=fdomain2 # mode 'w' overwrites file f3.to_netcdf(path=wfile, mode='w') - mprint('created file '+fdomain2) + print('created file '+fdomain2) f1.close(); f2.close(); f3.close() #-- Create CTSM surface data file if create_surfdata: - mprint( "Open: "+fsurf ) + print( "Open: "+fsurf ) f1 = xr.open_dataset(fsurf) # create 1d variables lon0=np.asarray(f1['LONGXY'][0,:]) @@ -276,7 +270,7 @@ def main (): f3 = f3.transpose(u'time', u'cft', u'lsmpft', u'natpft', u'nglcec', u'nglcecp1', u'nlevsoi', u'nlevurb', u'numrad', u'numurbl', 'lsmlat', 'lsmlon') # mode 'w' overwrites file f3.to_netcdf(path=fsurf2, mode='w') - mprint('created file '+fsurf2) + print('created file '+fsurf2) f1.close(); f2.close(); f3.close() ''' this is buggy; can't re-write a file within the same session @@ -303,7 +297,7 @@ def main (): ''' #-- Create CTSM transient landuse data file if create_landuse: - mprint( "Open: "+fluse ) + print( "Open: "+fluse ) f1 = xr.open_dataset(fluse) # create 1d variables lon0=np.asarray(f1['LONGXY'][0,:]) @@ -331,17 +325,17 @@ def main (): x.attrs['long_name']='Year of PFT data' f3['YEAR'] = x #print(x) - #mprint(f3) + #print(f3) #stop # mode 'w' overwrites file f3.to_netcdf(path=fluse2, mode='w') - mprint('created file '+fluse2) + print('created file '+fluse2) f1.close(); f2.close(); f3.close() #-- Create single point atmospheric forcing data if create_datm: #-- create datm domain file - mprint( "Open: "+fdatmdomain ) + print( "Open: "+fdatmdomain ) f1 = xr.open_dataset(fdatmdomain) # create 1d coordinate variables to enable sel() method lon0=np.asarray(f1['xc'][0,:]) @@ -362,7 +356,7 @@ def main (): wfile=fdatmdomain2 # mode 'w' overwrites file f3.to_netcdf(path=wfile, mode='w') - mprint('created file '+fdatmdomain2) + print('created file '+fdatmdomain2) f1.close(); f2.close(); f3.close() #-- specify subdirectory names and filename prefixes @@ -397,7 +391,7 @@ def main (): nm=len(infile) for n in range(nm): - mprint(outfile[n]+'\n') + print(outfile[n]+'\n') file_in = infile[n] file_out = outfile[n] @@ -425,9 +419,9 @@ def main (): f1.close(); f2.close(); f3.close() - mprint('datm files written to: '+dir_output_datm) + print('datm files written to: '+dir_output_datm) - mprint( "\nSuccessfully ran script\n\n" ) + print( "\nSuccessfully ran script\n\n" ) if __name__ == "__main__": From f08851e2fd6121250da4cf1d56efaa731bbaea21 Mon Sep 17 00:00:00 2001 From: Negin Sobhani Date: Tue, 30 Mar 2021 17:52:03 -0600 Subject: [PATCH 03/82] making the logger cleaner... logging is working on both version...but xarray issue with python 3. --- tools/contrib/singlept | 103 +++++++++++++++++++++++++++++++---------- 1 file changed, 79 insertions(+), 24 deletions(-) diff --git a/tools/contrib/singlept b/tools/contrib/singlept index 3fb03ef70f..856869e924 100755 --- a/tools/contrib/singlept +++ b/tools/contrib/singlept @@ -17,19 +17,80 @@ import numpy as np import xarray as xr +def setup_logging(log_path, log_level): + """ + Setup logging to log to console and log file. + + # Log Levels + # ------------ + # CRITICAL 50 + # ERROR 40 + # WARNING 30 + # INFO 20 + # DEBUG 10 + # NOTSET 0 + """ + + root_logger = logging.getLogger() + root_logger.setLevel(log_level) + + # setup log file + one_MB = 1000000 + handler = logging.handlers.RotatingFileHandler( + log_path, maxBytes=(one_MB * 20), backupCount=5) + + fmt = logging.Formatter( + '%(asctime)s %(name)-12s %(levelname)-8s %(message)s', + datefmt='%y-%m-%d %H:%M:%S') + + handler.setFormatter(fmt) + root_logger.addHandler(handler) + + # setup logging to console + strm_hndlr = logging.StreamHandler(sys.stdout) + strm_hndlr.setFormatter(fmt) + root_logger.addHandler(strm_hndlr) + + # redirect stdout/err to log file + StreamToLogger.setup_stdout() + StreamToLogger.setup_stderr() + + class StreamToLogger(object): - """ - Fake file-like stream object that redirects writes to a logger instance. - """ """ - Custom class to log all stdout and stderr streams + Custom class to log all stdout and stderr streams. """ - def __init__(self, logger, log_level=logging.INFO): + def __init__(self, stream, logger, log_level=logging.INFO, + also_log_to_stream=False): self.logger = logger + self.stream = stream self.log_level = log_level self.linebuf = '' - + self.also_log_to_stream = also_log_to_stream + + @classmethod + def setup_stdout(cls, also_log_to_stream=True): + """ + Setup logger for stdout + """ + stdout_logger = logging.getLogger('STDOUT') + sl = StreamToLogger( + sys.stdout, stdout_logger, logging.INFO, also_log_to_stream + ) + sys.stdout = sl + + @classmethod + def setup_stderr(cls, also_log_to_stream=True): + """ + Setup logger for stdout + """ + stderr_logger = logging.getLogger('STDERR') + sl = StreamToLogger( + sys.stderr, stderr_logger, logging.ERROR, also_log_to_stream + ) + sys.stderr = sl + def write(self, buf): temp_linebuf = self.linebuf + buf self.linebuf = '' @@ -43,7 +104,7 @@ class StreamToLogger(object): self.logger.log(self.log_level, line.rstrip()) else: self.linebuf += line - + def flush(self): if self.linebuf != '': self.logger.log(self.log_level, self.linebuf.rstrip()) @@ -72,23 +133,17 @@ def AddTagToFilename(filename, tag): def main (): - logging.basicConfig( - level=logging.DEBUG, - format='%(asctime)s:%(levelname)s:%(name)s:%(message)s', - filename="out.log", - filemode='a' - ) - - stdout_logger = logging.getLogger('STDOUT') - sl = StreamToLogger(stdout_logger, logging.INFO) - sys.stdout = sl - - stderr_logger = logging.getLogger('STDERR') - sl = StreamToLogger(stderr_logger, logging.ERROR) - sys.stderr = sl - - - print( "singlept script to extract out a single point from the global CTSM inputdata datasets\n" ) + log_file = "/glade/scratch/negins/ctsm_singlept/tools/contrib/log.file" + # create dir if it does not exist + log_dir = os.path.dirname(log_file) + if not os.path.exists(log_dir): + os.mkdir(log_dir) + + log_level = logging.DEBUG + setup_logging(log_file, log_level) + + + print( "singlept script to extract out a single point from the global CTSM inputdata datasets." ) myname=getuser() pwd=os.getcwd() print("User = "+myname) From d0377587195e59d45af78d418249a6535d9207de Mon Sep 17 00:00:00 2001 From: Negin Sobhani Date: Tue, 30 Mar 2021 18:27:12 -0600 Subject: [PATCH 04/82] making it work with python 3 + clean up --- tools/contrib/singlept | 93 ++++++++++++++++++++++-------------------- 1 file changed, 49 insertions(+), 44 deletions(-) diff --git a/tools/contrib/singlept b/tools/contrib/singlept index 856869e924..be072c081f 100755 --- a/tools/contrib/singlept +++ b/tools/contrib/singlept @@ -147,12 +147,12 @@ def main (): myname=getuser() pwd=os.getcwd() print("User = "+myname) - print("Current directory = "+pwd+"\n") + print("Current directory = "+pwd) ''' -#------------------------------------------------------------------# -#--------------------- Instructions -----------------------------# -#------------------------------------------------------------------# + #------------------------------------------------------------------# + #--------------------- Instructions -----------------------------# + #------------------------------------------------------------------# load the following into your local environment module load python/2.7.14 ncar_pylib @@ -197,33 +197,33 @@ def main (): ''' -# Set control flags + # Set control flags -#-- Setup by default to run for Harvard Forest + #-- Setup by default to run for Harvard Forest -#-- Specify point to extract + #-- Specify point to extract plon = 287.8 plat = 42.5 -#-- Create regional CLM domain file + #-- Create regional CLM domain file create_domain = True -#-- Create CLM surface data file + #-- Create CLM surface data file create_surfdata = True -#-- Create CLM surface data file + #-- Create CLM surface data file create_landuse = True -#-- Create single point DATM atmospheric forcing data - create_datm = False - datm_syr=1901 + #-- Create single point DATM atmospheric forcing data + create_datm = True + datm_syr=2013 datm_eyr=2014 -#-- Modify landunit structure + #-- Modify landunit structure overwrite_single_pft = True dominant_pft = 7 #BETr zero_nonveg_landunits= True uniform_snowpack = True no_saturation_excess = True -#-- Specify input and output directories + #-- Specify input and output directories dir_output='/glade/scratch/'+myname+'/single_point/' if ( not os.path.isdir( dir_output ) ): os.mkdir( dir_output ) @@ -234,33 +234,33 @@ def main (): if ( not os.path.isdir( dir_output_datm ) ): os.mkdir( dir_output_datm ) -#-- Set input and output filenames + #-- Set input and output filenames tag=str(plon)+'_'+str(plat) -#-- Set time stamp + #-- Set time stamp command='date "+%y%m%d"' x2=subprocess.Popen(command,stdout=subprocess.PIPE,shell='True') x=x2.communicate() timetag = x[0].strip() -#-- Specify land domain file --------------------------------- + #-- Specify land domain file --------------------------------- fdomain = dir_inputdata+'share/domains/domain.lnd.fv0.9x1.25_gx1v7.151020.nc' fdomain2 = dir_output + AddTagToFilename( fdomain, tag ) -#-- Specify surface data file -------------------------------- + #-- Specify surface data file -------------------------------- fsurf = dir_inputdata+'lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_0.9x1.25_hist_16pfts_Irrig_CMIP6_simyr2000_c190214.nc' fsurf2 = dir_output + AddTagToFilename( fsurf, tag ) -#-- Specify landuse file ------------------------------------- + #-- Specify landuse file ------------------------------------- fluse = dir_inputdata+'lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_0.9x1.25_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c190214.nc' fluse2 = dir_output + AddTagToFilename( fluse, tag ) -#-- Specify datm domain file --------------------------------- + #-- Specify datm domain file --------------------------------- fdatmdomain = dir_clm_forcedata+'atm_forcing.datm7.GSWP3.0.5d.v1.c170516/domain.lnd.360x720_gswp3.0v1.c170606.nc' fdatmdomain2 = dir_output_datm+AddTagToFilename( fdatmdomain, tag ) -#-- Create CTSM domain file + #-- Create CTSM domain file if create_domain: print( "Open: "+fdomain ) f1 = xr.open_dataset(fdomain) @@ -271,10 +271,11 @@ def main (): lat=xr.DataArray(lat0,name='lat',dims='nj',coords={'nj':lat0}) # assign() not working on cheyenne #f2=f1.assign({'lon':lon,'lat':lat}) - f2=f1.assign() + #f2=f1.assign() + f2 = f1.copy() f2['lon'] = lon f2['lat'] = lat - f2.reset_coords(['xc','yc'],inplace=True) + f2.reset_coords(['xc','yc']) # extract gridcell closest to plon/plat f3 = f2.sel(ni=plon,nj=plat,method='nearest') # expand dimensions @@ -283,10 +284,10 @@ def main (): wfile=fdomain2 # mode 'w' overwrites file f3.to_netcdf(path=wfile, mode='w') - print('created file '+fdomain2) + print('Successfully created file (fdomain2)'+fdomain2) f1.close(); f2.close(); f3.close() -#-- Create CTSM surface data file + #-- Create CTSM surface data file if create_surfdata: print( "Open: "+fsurf ) f1 = xr.open_dataset(fsurf) @@ -296,36 +297,40 @@ def main (): lat0=np.asarray(f1['LATIXY'][:,0]) lat=xr.DataArray(lat0,name='lat',dims='lsmlat',coords={'lsmlat':lat0}) #f2=f1.assign({'lon':lon,'lat':lat}) - f2=f1.assign() + #f2=f1.assign() + f2 = f1.copy() f2['lon'] = lon f2['lat'] = lat # extract gridcell closest to plon/plat f3 = f2.sel(lsmlon=plon,lsmlat=plat,method='nearest') # expand dimensions f3 = f3.expand_dims(['lsmlat','lsmlon']) - # modify surface data properties if overwrite_single_pft: - f3['PCT_NAT_PFT'][:,:,:] = 0 - f3['PCT_NAT_PFT'][:,:,dominant_pft] = 100 + #f3['PCT_NAT_PFT'][:,:,:] = 0 + #f3['PCT_NAT_PFT'][:,:,dominant_pft] = 100 + print ("skip for now") if zero_nonveg_landunits: - f3['PCT_NATVEG'][:,:] = 100 - f3['PCT_CROP'][:,:] = 0 - f3['PCT_LAKE'][:,:] = 0. - f3['PCT_WETLAND'][:,:] = 0. - f3['PCT_URBAN'][:,:,] = 0. - f3['PCT_GLACIER'][:,:] = 0. + #f3['PCT_NATVEG'][:,:] = 100 + #f3['PCT_CROP'][:,:] = 0 + #f3['PCT_LAKE'][:,:] = 0. + #f3['PCT_WETLAND'][:,:] = 0. + #f3['PCT_URBAN'][:,:,] = 0. + #f3['PCT_GLACIER'][:,:] = 0. + print ("skip for now") if uniform_snowpack: - f3['STD_ELEV'][:,:] = 20. + #f3['STD_ELEV'][:,:] = 20. + print ("skip for now") if no_saturation_excess: - f3['FMAX'][:,:] = 0. + #f3['FMAX'][:,:] = 0. + print ("skip for now") # specify dimension order #f3 = f3.transpose(u'time', u'cft', u'natpft', u'lsmlat', u'lsmlon') f3 = f3.transpose(u'time', u'cft', u'lsmpft', u'natpft', u'nglcec', u'nglcecp1', u'nlevsoi', u'nlevurb', u'numrad', u'numurbl', 'lsmlat', 'lsmlon') # mode 'w' overwrites file f3.to_netcdf(path=fsurf2, mode='w') - print('created file '+fsurf2) + print('created file (fsurf2)'+fsurf2) f1.close(); f2.close(); f3.close() ''' this is buggy; can't re-write a file within the same session @@ -384,7 +389,7 @@ def main (): #stop # mode 'w' overwrites file f3.to_netcdf(path=fluse2, mode='w') - print('created file '+fluse2) + print('created file (fluse2)'+fluse2) f1.close(); f2.close(); f3.close() #-- Create single point atmospheric forcing data @@ -402,7 +407,7 @@ def main (): f2=f1.assign() f2['lon'] = lon f2['lat'] = lat - f2.reset_coords(['xc','yc'],inplace=True) + f2.reset_coords(['xc','yc']) # extract gridcell closest to plon/plat f3 = f2.sel(ni=plon,nj=plat,method='nearest') # expand dimensions @@ -446,7 +451,7 @@ def main (): nm=len(infile) for n in range(nm): - print(outfile[n]+'\n') + print(outfile[n]) file_in = infile[n] file_out = outfile[n] @@ -461,7 +466,7 @@ def main (): f2=f1.assign() f2['lon'] = lon f2['lat'] = lat - f2.reset_coords(['LONGXY','LATIXY'],inplace=True) + f2.reset_coords(['LONGXY','LATIXY']) # extract gridcell closest to plon/plat f3 = f2.sel(lon=plon,lat=plat,method='nearest') # expand dimensions @@ -476,7 +481,7 @@ def main (): print('datm files written to: '+dir_output_datm) - print( "\nSuccessfully ran script\n\n" ) + print( "Successfully ran script." ) if __name__ == "__main__": From 24200862194e5aa2704b58e4a23e3f2bd7967987 Mon Sep 17 00:00:00 2001 From: Negin Sobhani Date: Tue, 30 Mar 2021 18:42:53 -0600 Subject: [PATCH 05/82] making create_datm a function --- tools/contrib/singlept | 53 +++++++++++++++++++++--------------------- 1 file changed, 27 insertions(+), 26 deletions(-) diff --git a/tools/contrib/singlept b/tools/contrib/singlept index be072c081f..ca49256722 100755 --- a/tools/contrib/singlept +++ b/tools/contrib/singlept @@ -131,6 +131,31 @@ def AddTagToFilename(filename, tag): return( basename[:cend]+"_"+tag+basename[cend:] ) +def create_datm_at_point (plat, plon, fdatmdomain, fdatmdomain2): + print( "Open: "+fdatmdomain ) + f1 = xr.open_dataset(fdatmdomain) + # create 1d coordinate variables to enable sel() method + lon0=np.asarray(f1['xc'][0,:]) + lat0=np.asarray(f1['yc'][:,0]) + lon=xr.DataArray(lon0,name='lon',dims='ni',coords={'ni':lon0}) + lat=xr.DataArray(lat0,name='lat',dims='nj',coords={'nj':lat0}) + + #f2=f1.assign({'lon':lon,'lat':lat}) + f2=f1.assign() + f2['lon'] = lon + f2['lat'] = lat + f2.reset_coords(['xc','yc']) + # extract gridcell closest to plon/plat + f3 = f2.sel(ni=plon,nj=plat,method='nearest') + # expand dimensions + f3 = f3.expand_dims(['nj','ni']) + wfile=fdatmdomain2 + # mode 'w' overwrites file + f3.to_netcdf(path=wfile, mode='w') + print('created file '+fdatmdomain2) + f1.close(); f2.close(); f3.close() + + def main (): log_file = "/glade/scratch/negins/ctsm_singlept/tools/contrib/log.file" @@ -392,33 +417,9 @@ def main (): print('created file (fluse2)'+fluse2) f1.close(); f2.close(); f3.close() -#-- Create single point atmospheric forcing data + #-- Create single point atmospheric forcing data if create_datm: - #-- create datm domain file - print( "Open: "+fdatmdomain ) - f1 = xr.open_dataset(fdatmdomain) - # create 1d coordinate variables to enable sel() method - lon0=np.asarray(f1['xc'][0,:]) - lat0=np.asarray(f1['yc'][:,0]) - lon=xr.DataArray(lon0,name='lon',dims='ni',coords={'ni':lon0}) - lat=xr.DataArray(lat0,name='lat',dims='nj',coords={'nj':lat0}) - - #f2=f1.assign({'lon':lon,'lat':lat}) - f2=f1.assign() - f2['lon'] = lon - f2['lat'] = lat - f2.reset_coords(['xc','yc']) - # extract gridcell closest to plon/plat - f3 = f2.sel(ni=plon,nj=plat,method='nearest') - # expand dimensions - f3 = f3.expand_dims(['nj','ni']) - - wfile=fdatmdomain2 - # mode 'w' overwrites file - f3.to_netcdf(path=wfile, mode='w') - print('created file '+fdatmdomain2) - f1.close(); f2.close(); f3.close() - + create_datm_at_point(plat, plon, fdatmdomain, fdatmdomain2) #-- specify subdirectory names and filename prefixes solrdir = 'Solar/' precdir = 'Precip/' From 18824c7a779b7b608b7f3d7eeb79470e441d93ea Mon Sep 17 00:00:00 2001 From: Negin Sobhani Date: Tue, 30 Mar 2021 18:59:09 -0600 Subject: [PATCH 06/82] just making functions to do the work instead of main. --- tools/contrib/singlept | 124 ++++++++++++++++++++++------------------- 1 file changed, 66 insertions(+), 58 deletions(-) diff --git a/tools/contrib/singlept b/tools/contrib/singlept index ca49256722..5d6314d59a 100755 --- a/tools/contrib/singlept +++ b/tools/contrib/singlept @@ -131,6 +131,70 @@ def AddTagToFilename(filename, tag): return( basename[:cend]+"_"+tag+basename[cend:] ) +def create_domain_at_point (plat, plon,fdomain , fdomain2 ): + print( "Open: "+fdomain ) + f1 = xr.open_dataset(fdomain) + # create 1d coordinate variables to enable sel() method + lon0=np.asarray(f1['xc'][0,:]) + lat0=np.asarray(f1['yc'][:,0]) + lon=xr.DataArray(lon0,name='lon',dims='ni',coords={'ni':lon0}) + lat=xr.DataArray(lat0,name='lat',dims='nj',coords={'nj':lat0}) + # assign() not working on cheyenne + #f2=f1.assign({'lon':lon,'lat':lat}) + #f2=f1.assign() + f2 = f1.copy() + f2['lon'] = lon + f2['lat'] = lat + f2.reset_coords(['xc','yc']) + # extract gridcell closest to plon/plat + f3 = f2.sel(ni=plon,nj=plat,method='nearest') + # expand dimensions + f3 = f3.expand_dims(['nj','ni']) + + wfile=fdomain2 + # mode 'w' overwrites file + f3.to_netcdf(path=wfile, mode='w') + print('Successfully created file (fdomain2)'+fdomain2) + f1.close(); f2.close(); f3.close() + + +def create_landuse_at_point (plat, plon,fluse , fluse2 ): + print( "Open: "+fluse ) + f1 = xr.open_dataset(fluse) + # create 1d variables + lon0=np.asarray(f1['LONGXY'][0,:]) + lon=xr.DataArray(lon0,name='lon',dims='lsmlon',coords={'lsmlon':lon0}) + lat0=np.asarray(f1['LATIXY'][:,0]) + lat=xr.DataArray(lat0,name='lat',dims='lsmlat',coords={'lsmlat':lat0}) + #f2=f1.assign({'lon':lon,'lat':lat}) + f2=f1.assign() + f2['lon'] = lon + f2['lat'] = lat + # extract gridcell closest to plon/plat + f3 = f2.sel(lsmlon=plon,lsmlat=plat,method='nearest') + + # expand dimensions + f3 = f3.expand_dims(['lsmlat','lsmlon']) + # specify dimension order + #f3 = f3.transpose('time','lat','lon') + f3 = f3.transpose(u'time', u'cft', u'natpft', u'lsmlat', u'lsmlon') + #f3['YEAR'] = f3['YEAR'].squeeze() + + # revert expand dimensions of YEAR + year = np.squeeze(np.asarray(f3['YEAR'])) + x = xr.DataArray(year, coords={'time':f3['time']}, dims='time', name='YEAR') + x.attrs['units']='unitless' + x.attrs['long_name']='Year of PFT data' + f3['YEAR'] = x + #print(x) + #print(f3) + #stop + # mode 'w' overwrites file + f3.to_netcdf(path=fluse2, mode='w') + print('created file (fluse2)'+fluse2) + f1.close(); f2.close(); f3.close() + + def create_datm_at_point (plat, plon, fdatmdomain, fdatmdomain2): print( "Open: "+fdatmdomain ) f1 = xr.open_dataset(fdatmdomain) @@ -287,30 +351,7 @@ def main (): #-- Create CTSM domain file if create_domain: - print( "Open: "+fdomain ) - f1 = xr.open_dataset(fdomain) - # create 1d coordinate variables to enable sel() method - lon0=np.asarray(f1['xc'][0,:]) - lat0=np.asarray(f1['yc'][:,0]) - lon=xr.DataArray(lon0,name='lon',dims='ni',coords={'ni':lon0}) - lat=xr.DataArray(lat0,name='lat',dims='nj',coords={'nj':lat0}) - # assign() not working on cheyenne - #f2=f1.assign({'lon':lon,'lat':lat}) - #f2=f1.assign() - f2 = f1.copy() - f2['lon'] = lon - f2['lat'] = lat - f2.reset_coords(['xc','yc']) - # extract gridcell closest to plon/plat - f3 = f2.sel(ni=plon,nj=plat,method='nearest') - # expand dimensions - f3 = f3.expand_dims(['nj','ni']) - - wfile=fdomain2 - # mode 'w' overwrites file - f3.to_netcdf(path=wfile, mode='w') - print('Successfully created file (fdomain2)'+fdomain2) - f1.close(); f2.close(); f3.close() + create_domain_at_point (plat, plon,fdomain , fdomain2 ) #-- Create CTSM surface data file if create_surfdata: @@ -382,40 +423,7 @@ def main (): ''' #-- Create CTSM transient landuse data file if create_landuse: - print( "Open: "+fluse ) - f1 = xr.open_dataset(fluse) - # create 1d variables - lon0=np.asarray(f1['LONGXY'][0,:]) - lon=xr.DataArray(lon0,name='lon',dims='lsmlon',coords={'lsmlon':lon0}) - lat0=np.asarray(f1['LATIXY'][:,0]) - lat=xr.DataArray(lat0,name='lat',dims='lsmlat',coords={'lsmlat':lat0}) - #f2=f1.assign({'lon':lon,'lat':lat}) - f2=f1.assign() - f2['lon'] = lon - f2['lat'] = lat - # extract gridcell closest to plon/plat - f3 = f2.sel(lsmlon=plon,lsmlat=plat,method='nearest') - - # expand dimensions - f3 = f3.expand_dims(['lsmlat','lsmlon']) - # specify dimension order - #f3 = f3.transpose('time','lat','lon') - f3 = f3.transpose(u'time', u'cft', u'natpft', u'lsmlat', u'lsmlon') - #f3['YEAR'] = f3['YEAR'].squeeze() - - # revert expand dimensions of YEAR - year = np.squeeze(np.asarray(f3['YEAR'])) - x = xr.DataArray(year, coords={'time':f3['time']}, dims='time', name='YEAR') - x.attrs['units']='unitless' - x.attrs['long_name']='Year of PFT data' - f3['YEAR'] = x - #print(x) - #print(f3) - #stop - # mode 'w' overwrites file - f3.to_netcdf(path=fluse2, mode='w') - print('created file (fluse2)'+fluse2) - f1.close(); f2.close(); f3.close() + create_landuse_at_point(plat, plon, fluse, fluse2) #-- Create single point atmospheric forcing data if create_datm: From 1cd9f3ce387467dee2503fb9fc27eeeea48fc40b Mon Sep 17 00:00:00 2001 From: Negin Sobhani Date: Mon, 5 Apr 2021 16:25:40 -0600 Subject: [PATCH 07/82] adding cmd line args and fixing the issue for python3 -- bfb. --- tools/contrib/singlept | 205 ++++++++++++++++++++++++++++++++--------- 1 file changed, 164 insertions(+), 41 deletions(-) diff --git a/tools/contrib/singlept b/tools/contrib/singlept index 5d6314d59a..62aaa96113 100755 --- a/tools/contrib/singlept +++ b/tools/contrib/singlept @@ -7,15 +7,103 @@ # Import libraries from __future__ import print_function + import sys import os -import logging -from getpass import getuser import string +import logging import subprocess +import argparse + import numpy as np import xarray as xr +from getpass import getuser +from argparse import ArgumentParser, ArgumentDefaultsHelpFormatter + + +def get_parser(): + """Get parser object for this script.""" + parser = ArgumentParser(description=__doc__, + formatter_class=ArgumentDefaultsHelpFormatter) + #parser = ArgumentParser(description='Setting the flags for running ./singlept script.') + ## Add information about if this is optional and default + parser.add_argument('--lat', + help='Single point latitude.', + action="store", + dest="plat", + required=False, + type = plat_type, + default=42.5) + parser.add_argument('--lon', + help='Single point longitude.', + action="store", + dest="plon", + required=False, + type = plon_type, + default= 287.8 ) + parser.add_argument('--domain', + help='Flag for creating CLM domain file at single point.', + action="store", + dest="create_domain", + required = False, + type = bool, + default = True) + parser.add_argument('--surface', + help='Flag for creating surface data file at single point.', + action="store", + dest="create_surfdata", + required = False, + type = bool, + default = True) + parser.add_argument('--landuse', + help='Flag for creating landuse data file at single point.', + action="store", + dest="create_landuse", + required = False, + type = bool, + default = True) + parser.add_argument('--datm', + help='Flag for creating DATM atmospheric forcing data at single point.', + action="store", + dest="create_datm", + required = False, + type = bool, + default = False) + parser.add_argument('--datm_syr', + help='Start year for creating DATM atmospheric forcing at single point.', + action="store", + dest="datm_syr", + required = False, + type = int, + default = 1901) + parser.add_argument('--datm_eyr', + help='End year for creating DATM atmospheric forcing at single point.', + action="store", + dest="datm_eyr", + required = False, + type = int, + default = 2014) + parser.add_argument('--nocrop', + help='Create datasets without the extensive list of prognostic crop types', + action="store_false", + dest="crop_flag", + default=True) + return parser + +def plat_type(x): + x = float(x) + if (x < -90) or (x > 90): + raise argparse.ArgumentTypeError("ERROR: Latitude of single point should be between -90 and 90.") + return x + + +def plon_type(x): + x = float(x) + if (x < 0) or (x > 360): + raise argparse.ArgumentTypeError("ERROR: Latitude of single point should be between 0 and 360.") + return x + def setup_logging(log_path, log_level): """ @@ -111,6 +199,14 @@ class StreamToLogger(object): self.linebuf = '' +#def SinglePointCase (self, plat, plon): +# """ +# A case to encapsulate single point cases. +# """ +# def __init__(self,plat, plon): +# self.plat = plat +# self.plon = plon + def error( desc ): "error function" @@ -161,6 +257,7 @@ def create_domain_at_point (plat, plon,fdomain , fdomain2 ): def create_landuse_at_point (plat, plon,fluse , fluse2 ): print( "Open: "+fluse ) f1 = xr.open_dataset(fluse) + print (f1) # create 1d variables lon0=np.asarray(f1['LONGXY'][0,:]) lon=xr.DataArray(lon0,name='lon',dims='lsmlon',coords={'lsmlon':lon0}) @@ -170,6 +267,8 @@ def create_landuse_at_point (plat, plon,fluse , fluse2 ): f2=f1.assign() f2['lon'] = lon f2['lat'] = lat + print ("lat : ", lat) + print ("lon : ", lon) # extract gridcell closest to plon/plat f3 = f2.sel(lsmlon=plon,lsmlat=plat,method='nearest') @@ -182,6 +281,7 @@ def create_landuse_at_point (plat, plon,fluse , fluse2 ): # revert expand dimensions of YEAR year = np.squeeze(np.asarray(f3['YEAR'])) + print (year) x = xr.DataArray(year, coords={'time':f3['time']}, dims='time', name='YEAR') x.attrs['units']='unitless' x.attrs['long_name']='Year of PFT data' @@ -222,22 +322,9 @@ def create_datm_at_point (plat, plon, fdatmdomain, fdatmdomain2): def main (): - log_file = "/glade/scratch/negins/ctsm_singlept/tools/contrib/log.file" - # create dir if it does not exist - log_dir = os.path.dirname(log_file) - if not os.path.exists(log_dir): - os.mkdir(log_dir) - log_level = logging.DEBUG - setup_logging(log_file, log_level) - print( "singlept script to extract out a single point from the global CTSM inputdata datasets." ) - myname=getuser() - pwd=os.getcwd() - print("User = "+myname) - print("Current directory = "+pwd) - ''' #------------------------------------------------------------------# #--------------------- Instructions -----------------------------# @@ -286,24 +373,30 @@ def main (): ''' + args = get_parser().parse_args() + # Set control flags #-- Setup by default to run for Harvard Forest #-- Specify point to extract - plon = 287.8 - plat = 42.5 + plon = args.plon + plat = args.plat #-- Create regional CLM domain file - create_domain = True + create_domain = args.create_domain #-- Create CLM surface data file - create_surfdata = True + create_surfdata = args.create_surfdata #-- Create CLM surface data file - create_landuse = True + create_landuse = args.create_landuse #-- Create single point DATM atmospheric forcing data - create_datm = True - datm_syr=2013 - datm_eyr=2014 + create_datm = args.create_datm + datm_syr = args.datm_syr + datm_eyr = args.datm_eyr + + crop_flag = args.crop_flag + + #-- Modify landunit structure overwrite_single_pft = True @@ -312,8 +405,41 @@ def main (): uniform_snowpack = True no_saturation_excess = True + + log_file = "/glade/scratch/negins/ctsm_singlept/tools/contrib/log.file" + # create dir if it does not exist + log_dir = os.path.dirname(log_file) + if not os.path.exists(log_dir): + os.mkdir(log_dir) + + log_level = logging.DEBUG + setup_logging(log_file, log_level) + + print( "singlept script to extract out a single point from the global CTSM inputdata datasets." ) + myname=getuser() + pwd=os.getcwd() + print("User = "+myname) + print("Current directory = "+pwd) + + + + + + + + + if crop_flag: + num_pft = "78" + else: + num_pft = "16" + + + logging.debug(' crop_flag = '+ crop_flag.__str__()+ ' num_pft ='+ num_pft) + + + #-- Specify input and output directories - dir_output='/glade/scratch/'+myname+'/single_point/' + dir_output='/glade/scratch/'+myname+'/single_point_negin/' if ( not os.path.isdir( dir_output ) ): os.mkdir( dir_output ) dir_inputdata='/glade/p/cesmdata/cseg/inputdata/' @@ -363,33 +489,30 @@ def main (): lat0=np.asarray(f1['LATIXY'][:,0]) lat=xr.DataArray(lat0,name='lat',dims='lsmlat',coords={'lsmlat':lat0}) #f2=f1.assign({'lon':lon,'lat':lat}) - #f2=f1.assign() - f2 = f1.copy() + f2=f1.assign() + #f2 = f1.copy() f2['lon'] = lon f2['lat'] = lat # extract gridcell closest to plon/plat f3 = f2.sel(lsmlon=plon,lsmlat=plat,method='nearest') # expand dimensions - f3 = f3.expand_dims(['lsmlat','lsmlon']) + f3 = f3.expand_dims(['lsmlat','lsmlon']).copy(deep=True) + # modify surface data properties if overwrite_single_pft: - #f3['PCT_NAT_PFT'][:,:,:] = 0 - #f3['PCT_NAT_PFT'][:,:,dominant_pft] = 100 - print ("skip for now") + f3['PCT_NAT_PFT'][:,:,:] = 0 + f3['PCT_NAT_PFT'][:,:,dominant_pft] = 100 if zero_nonveg_landunits: - #f3['PCT_NATVEG'][:,:] = 100 - #f3['PCT_CROP'][:,:] = 0 - #f3['PCT_LAKE'][:,:] = 0. - #f3['PCT_WETLAND'][:,:] = 0. - #f3['PCT_URBAN'][:,:,] = 0. - #f3['PCT_GLACIER'][:,:] = 0. - print ("skip for now") + f3['PCT_NATVEG'][:,:] = 100 + f3['PCT_CROP'][:,:] = 0 + f3['PCT_LAKE'][:,:] = 0. + f3['PCT_WETLAND'][:,:] = 0. + f3['PCT_URBAN'][:,:,] = 0. + f3['PCT_GLACIER'][:,:] = 0. if uniform_snowpack: - #f3['STD_ELEV'][:,:] = 20. - print ("skip for now") + f3['STD_ELEV'][:,:] = 20. if no_saturation_excess: - #f3['FMAX'][:,:] = 0. - print ("skip for now") + f3['FMAX'][:,:] = 0. # specify dimension order #f3 = f3.transpose(u'time', u'cft', u'natpft', u'lsmlat', u'lsmlon') From 79afb5906e80181675e865a55833ac192588da72 Mon Sep 17 00:00:00 2001 From: Negin Sobhani Date: Mon, 5 Apr 2021 19:55:48 -0600 Subject: [PATCH 08/82] more oop rework. --- tools/contrib/singlept | 448 ++++++++++++++++++++++------------------- 1 file changed, 245 insertions(+), 203 deletions(-) diff --git a/tools/contrib/singlept b/tools/contrib/singlept index 62aaa96113..677ceb51f9 100755 --- a/tools/contrib/singlept +++ b/tools/contrib/singlept @@ -199,37 +199,32 @@ class StreamToLogger(object): self.linebuf = '' -#def SinglePointCase (self, plat, plon): -# """ -# A case to encapsulate single point cases. -# """ -# def __init__(self,plat, plon): -# self.plat = plat -# self.plon = plon +class SinglePointCase : + """ + A case to encapsulate single point cases. + """ -def error( desc ): - "error function" - print( "ERROR:: "+desc ) - os.abort() + def __init__(self,plat, plon, create_domain, create_surfdata, create_landuse, create_datm): + self.plat = plat + self.plon = plon + self.create_domain = create_domain + self.create_surfdata = create_surfdata + self.create_landuse = create_landuse + self.create_datm = create_datm + def __str__(self): + return str(self.__class__) + '\n' + '\n'.join((str(item) + ' = ' + str(self.__dict__[item]) + for item in sorted(self.__dict__)) + ) + + def create_tag(self): + self.tag=str(self.plon)+'_'+str(self.plat) -def AddTagToFilename(filename, tag): - "Add a tag to a filename" - # Expects file to end with [._]cYYMMDD.nc or [._]YYMMDD.nc - # Add the tag to just before that ending part - basename = os.path.basename(filename) - cend = -10 - if ( basename[cend] == "c" ): - cend = cend - 1 - if ( (basename[cend] != ".") and (basename[cend] != "_") ): - error( "Trouble figuring out where to add tag to filename:"+filename ) - return( basename[:cend]+"_"+tag+basename[cend:] ) - -def create_domain_at_point (plat, plon,fdomain , fdomain2 ): - print( "Open: "+fdomain ) - f1 = xr.open_dataset(fdomain) + def create_domain_at_point (self): + print( "Open: "+self.fdomain ) + f1 = xr.open_dataset(self.fdomain) # create 1d coordinate variables to enable sel() method lon0=np.asarray(f1['xc'][0,:]) lat0=np.asarray(f1['yc'][:,0]) @@ -243,20 +238,19 @@ def create_domain_at_point (plat, plon,fdomain , fdomain2 ): f2['lat'] = lat f2.reset_coords(['xc','yc']) # extract gridcell closest to plon/plat - f3 = f2.sel(ni=plon,nj=plat,method='nearest') + f3 = f2.sel(ni=self.plon,nj=self.plat,method='nearest') # expand dimensions f3 = f3.expand_dims(['nj','ni']) - - wfile=fdomain2 + + wfile=self.fdomain2 # mode 'w' overwrites file f3.to_netcdf(path=wfile, mode='w') - print('Successfully created file (fdomain2)'+fdomain2) + print('Successfully created file (fdomain2)'+self.fdomain2) f1.close(); f2.close(); f3.close() - -def create_landuse_at_point (plat, plon,fluse , fluse2 ): - print( "Open: "+fluse ) - f1 = xr.open_dataset(fluse) + def create_landuse_at_point (self): + print( "Open: "+self.fluse ) + f1 = xr.open_dataset(self.fluse) print (f1) # create 1d variables lon0=np.asarray(f1['LONGXY'][0,:]) @@ -270,7 +264,7 @@ def create_landuse_at_point (plat, plon,fluse , fluse2 ): print ("lat : ", lat) print ("lon : ", lon) # extract gridcell closest to plon/plat - f3 = f2.sel(lsmlon=plon,lsmlat=plat,method='nearest') + f3 = f2.sel(lsmlon=self.plon,lsmlat=self.plat,method='nearest') # expand dimensions f3 = f3.expand_dims(['lsmlat','lsmlon']) @@ -290,34 +284,186 @@ def create_landuse_at_point (plat, plon,fluse , fluse2 ): #print(f3) #stop # mode 'w' overwrites file - f3.to_netcdf(path=fluse2, mode='w') - print('created file (fluse2)'+fluse2) + f3.to_netcdf(path=self.fluse2, mode='w') + print('created file (fluse2)'+self.fluse2) f1.close(); f2.close(); f3.close() + def create_surfdata_at_point(self): + print( "Open: "+self.fsurf ) + f1 = xr.open_dataset(self.fsurf) + # create 1d variables + lon0=np.asarray(f1['LONGXY'][0,:]) + lon=xr.DataArray(lon0,name='lon',dims='lsmlon',coords={'lsmlon':lon0}) + lat0=np.asarray(f1['LATIXY'][:,0]) + lat=xr.DataArray(lat0,name='lat',dims='lsmlat',coords={'lsmlat':lat0}) + #f2=f1.assign({'lon':lon,'lat':lat}) + f2=f1.assign() + #f2 = f1.copy() + f2['lon'] = lon + f2['lat'] = lat + # extract gridcell closest to plon/plat + f3 = f2.sel(lsmlon=self.plon,lsmlat=self.plat,method='nearest') + # expand dimensions + f3 = f3.expand_dims(['lsmlat','lsmlon']).copy(deep=True) + + # modify surface data properties + if self.overwrite_single_pft: + f3['PCT_NAT_PFT'][:,:,:] = 0 + f3['PCT_NAT_PFT'][:,:,self.dominant_pft] = 100 + if self.zero_nonveg_landunits: + f3['PCT_NATVEG'][:,:] = 100 + f3['PCT_CROP'][:,:] = 0 + f3['PCT_LAKE'][:,:] = 0. + f3['PCT_WETLAND'][:,:] = 0. + f3['PCT_URBAN'][:,:,] = 0. + f3['PCT_GLACIER'][:,:] = 0. + if self.uniform_snowpack: + f3['STD_ELEV'][:,:] = 20. + if self.no_saturation_excess: + f3['FMAX'][:,:] = 0. + + # specify dimension order + #f3 = f3.transpose(u'time', u'cft', u'natpft', u'lsmlat', u'lsmlon') + f3 = f3.transpose(u'time', u'cft', u'lsmpft', u'natpft', u'nglcec', u'nglcecp1', u'nlevsoi', u'nlevurb', u'numrad', u'numurbl', 'lsmlat', 'lsmlon') + # mode 'w' overwrites file + f3.to_netcdf(path=self.fsurf2, mode='w') + print('created file (fsurf2)'+self.fsurf2) + f1.close(); f2.close(); f3.close() + + ''' this is buggy; can't re-write a file within the same session + # modify new surface data file + if overwrite_single_pft: + f1 = xr.open_dataset(fsurf2) + f1['PCT_NAT_PFT'][:,:,:] = 0 + f1['PCT_NAT_PFT'][:,:,dominant_pft] = 100 + f1.to_netcdf(path='~/junk.nc', mode='w') + #f1.to_netcdf(path=fsurf2, mode='w') + f1.close() + if zero_nonveg_landunits: + #f1 = xr.open_dataset(fsurf2) + f1 = xr.open_dataset('~/junk.nc') + f1['PCT_NATVEG'] = 100 + f1['PCT_CROP'] = 0 + f1['PCT_LAKE'] = 0. + f1['PCT_WETLAND'] = 0. + f1['PCT_URBAN'] = 0. + f1['PCT_GLACIER'] = 0. + #f1.to_netcdf(path=fsurf2, mode='w') + f1.to_netcdf(path='~/junk2.nc', mode='w') + f1.close() + ''' + def create_datmdomain_at_point (self): + print( "Open: "+self.fdatmdomain ) + f1 = xr.open_dataset(self.fdatmdomain) + # create 1d coordinate variables to enable sel() method + lon0=np.asarray(f1['xc'][0,:]) + lat0=np.asarray(f1['yc'][:,0]) + lon=xr.DataArray(lon0,name='lon',dims='ni',coords={'ni':lon0}) + lat=xr.DataArray(lat0,name='lat',dims='nj',coords={'nj':lat0}) + + #f2=f1.assign({'lon':lon,'lat':lat}) + f2=f1.assign() + f2['lon'] = lon + f2['lat'] = lat + f2.reset_coords(['xc','yc']) + # extract gridcell closest to plon/plat + f3 = f2.sel(ni=self.plon,nj=self.plat,method='nearest') + # expand dimensions + f3 = f3.expand_dims(['nj','ni']) + wfile=self.fdatmdomain2 + # mode 'w' overwrites file + f3.to_netcdf(path=wfile, mode='w') + print('created file '+self.fdatmdomain2) + f1.close(); f2.close(); f3.close() + + def extract_at(self, file_in, file_out): + f1 = xr.open_dataset(file_in) + # create 1d coordinate variables to enable sel() method + lon0=np.asarray(f1['LONGXY'][0,:]) + lat0=np.asarray(f1['LATIXY'][:,0]) + lon=xr.DataArray(lon0,name='lon',dims='lon',coords={'lon':lon0}) + lat=xr.DataArray(lat0,name='lat',dims='lat',coords={'lat':lat0}) + #f2=f1.assign({'lon':lon,'lat':lat}) + f2=f1.assign() + f2['lon'] = lon + f2['lat'] = lat + f2.reset_coords(['LONGXY','LATIXY']) + # extract gridcell closest to plon/plat + f3 = f2.sel(lon=self.plon,lat=self.plat,method='nearest') + # expand dimensions + f3 = f3.expand_dims(['lat','lon']) + # specify dimension order + f3 = f3.transpose(u'scalar','time','lat','lon') + + # mode 'w' overwrites file + f3.to_netcdf(path=file_out, mode='w') + f1.close(); f2.close(); f3.close() + + def create_datm_at_point(self): + #-- specify subdirectory names and filename prefixes + solrdir = 'Solar/' + precdir = 'Precip/' + tpqwldir = 'TPHWL/' + prectag = 'clmforc.GSWP3.c2011.0.5x0.5.Prec.' + solrtag = 'clmforc.GSWP3.c2011.0.5x0.5.Solr.' + tpqwtag = 'clmforc.GSWP3.c2011.0.5x0.5.TPQWL.' + + #-- create data files + infile=[] + outfile=[] + for y in range(self.datm_syr,self.datm_eyr+1): + ystr=str(y) + for m in range(1,13): + mstr=str(m) + if m < 10: + mstr='0'+mstr + + dtag=ystr+'-'+mstr + + fsolar=self.dir_input_datm+solrdir+solrtag+dtag+'.nc' + fsolar2=self.dir_output_datm+solrtag+self.tag+'.'+dtag+'.nc' + fprecip=self.dir_input_datm+precdir+prectag+dtag+'.nc' + fprecip2=self.dir_output_datm+prectag+self.tag+'.'+dtag+'.nc' + ftpqw=self.dir_input_datm+tpqwldir+tpqwtag+dtag+'.nc' + ftpqw2=self.dir_output_datm+tpqwtag+self.tag+'.'+dtag+'.nc' + + infile+=[fsolar,fprecip,ftpqw] + outfile+=[fsolar2,fprecip2,ftpqw2] + + nm=len(infile) + for n in range(nm): + print(outfile[n]) + file_in = infile[n] + file_out = outfile[n] + self.extract_at(file_in, file_out) + + + print('datm files written to: '+dir_output_datm) + + +def error( desc ): + "error function" + print( "ERROR:: "+desc ) + os.abort() + + +def AddTagToFilename(filename, tag): + "Add a tag to a filename" + # Expects file to end with [._]cYYMMDD.nc or [._]YYMMDD.nc + # Add the tag to just before that ending part + print (filename) + print (tag) + basename = os.path.basename(filename) + cend = -10 + if ( basename[cend] == "c" ): + cend = cend - 1 + if ( (basename[cend] != ".") and (basename[cend] != "_") ): + error( "Trouble figuring out where to add tag to filename:"+filename ) + return( basename[:cend]+"_"+tag+basename[cend:] ) + + + -def create_datm_at_point (plat, plon, fdatmdomain, fdatmdomain2): - print( "Open: "+fdatmdomain ) - f1 = xr.open_dataset(fdatmdomain) - # create 1d coordinate variables to enable sel() method - lon0=np.asarray(f1['xc'][0,:]) - lat0=np.asarray(f1['yc'][:,0]) - lon=xr.DataArray(lon0,name='lon',dims='ni',coords={'ni':lon0}) - lat=xr.DataArray(lat0,name='lat',dims='nj',coords={'nj':lat0}) - - #f2=f1.assign({'lon':lon,'lat':lat}) - f2=f1.assign() - f2['lon'] = lon - f2['lat'] = lat - f2.reset_coords(['xc','yc']) - # extract gridcell closest to plon/plat - f3 = f2.sel(ni=plon,nj=plat,method='nearest') - # expand dimensions - f3 = f3.expand_dims(['nj','ni']) - wfile=fdatmdomain2 - # mode 'w' overwrites file - f3.to_netcdf(path=wfile, mode='w') - print('created file '+fdatmdomain2) - f1.close(); f2.close(); f3.close() def main (): @@ -406,6 +552,16 @@ def main (): no_saturation_excess = True + single_point = SinglePointCase(plat, plon, create_domain, create_surfdata, create_landuse, create_datm) + single_point.overwrite_single_pft = overwrite_single_pft + single_point.dominant_pft = dominant_pft + single_point.zero_nonveg_landunits = zero_nonveg_landunits + single_point.uniform_snowpack = uniform_snowpack + single_point.no_saturation_excess = no_saturation_excess + single_point.create_tag() + print (single_point) + + log_file = "/glade/scratch/negins/ctsm_singlept/tools/contrib/log.file" # create dir if it does not exist log_dir = os.path.dirname(log_file) @@ -421,27 +577,22 @@ def main (): print("User = "+myname) print("Current directory = "+pwd) - - - - - - - if crop_flag: num_pft = "78" else: num_pft = "16" - logging.debug(' crop_flag = '+ crop_flag.__str__()+ ' num_pft ='+ num_pft) + print(' crop_flag = '+ crop_flag.__str__()+ ' num_pft ='+ num_pft) + #-- Set input and output filenames #-- Specify input and output directories dir_output='/glade/scratch/'+myname+'/single_point_negin/' if ( not os.path.isdir( dir_output ) ): os.mkdir( dir_output ) + dir_inputdata='/glade/p/cesmdata/cseg/inputdata/' dir_clm_forcedata='/glade/p/cgd/tss/CTSM_datm_forcing_data/' dir_input_datm=dir_clm_forcedata+'/atm_forcing.datm7.GSWP3.0.5d.v1.c170516/' @@ -449,169 +600,60 @@ def main (): if ( not os.path.isdir( dir_output_datm ) ): os.mkdir( dir_output_datm ) - #-- Set input and output filenames - tag=str(plon)+'_'+str(plat) #-- Set time stamp command='date "+%y%m%d"' x2=subprocess.Popen(command,stdout=subprocess.PIPE,shell='True') x=x2.communicate() timetag = x[0].strip() + print (timetag) #-- Specify land domain file --------------------------------- fdomain = dir_inputdata+'share/domains/domain.lnd.fv0.9x1.25_gx1v7.151020.nc' - fdomain2 = dir_output + AddTagToFilename( fdomain, tag ) + fdomain2 = dir_output + AddTagToFilename( fdomain, single_point.tag ) + #SinglePointCase.set_fdomain (fdomain) + single_point.fdomain = fdomain + single_point.fdomain2 = fdomain2 #-- Specify surface data file -------------------------------- fsurf = dir_inputdata+'lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_0.9x1.25_hist_16pfts_Irrig_CMIP6_simyr2000_c190214.nc' - - fsurf2 = dir_output + AddTagToFilename( fsurf, tag ) + fsurf2 = dir_output + AddTagToFilename( fsurf, single_point.tag ) + single_point.fsurf = fsurf + single_point.fsurf2 = fsurf2 #-- Specify landuse file ------------------------------------- fluse = dir_inputdata+'lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_0.9x1.25_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c190214.nc' - fluse2 = dir_output + AddTagToFilename( fluse, tag ) - + fluse2 = dir_output + AddTagToFilename( fluse, single_point.tag ) + single_point.fluse = fluse + single_point.fluse2 = fluse2 #-- Specify datm domain file --------------------------------- fdatmdomain = dir_clm_forcedata+'atm_forcing.datm7.GSWP3.0.5d.v1.c170516/domain.lnd.360x720_gswp3.0v1.c170606.nc' - fdatmdomain2 = dir_output_datm+AddTagToFilename( fdatmdomain, tag ) + fdatmdomain2 = dir_output_datm+AddTagToFilename( fdatmdomain, single_point.tag ) + single_point.fdatmdomain = fdatmdomain + single_point.fdatmdomain2 = fdatmdomain2 #-- Create CTSM domain file if create_domain: - create_domain_at_point (plat, plon,fdomain , fdomain2 ) + single_point.create_domain_at_point() + #create_domain_at_point (plat, plon,fdomain , fdomain2 ) #-- Create CTSM surface data file if create_surfdata: - print( "Open: "+fsurf ) - f1 = xr.open_dataset(fsurf) - # create 1d variables - lon0=np.asarray(f1['LONGXY'][0,:]) - lon=xr.DataArray(lon0,name='lon',dims='lsmlon',coords={'lsmlon':lon0}) - lat0=np.asarray(f1['LATIXY'][:,0]) - lat=xr.DataArray(lat0,name='lat',dims='lsmlat',coords={'lsmlat':lat0}) - #f2=f1.assign({'lon':lon,'lat':lat}) - f2=f1.assign() - #f2 = f1.copy() - f2['lon'] = lon - f2['lat'] = lat - # extract gridcell closest to plon/plat - f3 = f2.sel(lsmlon=plon,lsmlat=plat,method='nearest') - # expand dimensions - f3 = f3.expand_dims(['lsmlat','lsmlon']).copy(deep=True) - - # modify surface data properties - if overwrite_single_pft: - f3['PCT_NAT_PFT'][:,:,:] = 0 - f3['PCT_NAT_PFT'][:,:,dominant_pft] = 100 - if zero_nonveg_landunits: - f3['PCT_NATVEG'][:,:] = 100 - f3['PCT_CROP'][:,:] = 0 - f3['PCT_LAKE'][:,:] = 0. - f3['PCT_WETLAND'][:,:] = 0. - f3['PCT_URBAN'][:,:,] = 0. - f3['PCT_GLACIER'][:,:] = 0. - if uniform_snowpack: - f3['STD_ELEV'][:,:] = 20. - if no_saturation_excess: - f3['FMAX'][:,:] = 0. - - # specify dimension order - #f3 = f3.transpose(u'time', u'cft', u'natpft', u'lsmlat', u'lsmlon') - f3 = f3.transpose(u'time', u'cft', u'lsmpft', u'natpft', u'nglcec', u'nglcecp1', u'nlevsoi', u'nlevurb', u'numrad', u'numurbl', 'lsmlat', 'lsmlon') - # mode 'w' overwrites file - f3.to_netcdf(path=fsurf2, mode='w') - print('created file (fsurf2)'+fsurf2) - f1.close(); f2.close(); f3.close() + single_point.create_surfdata_at_point() - ''' this is buggy; can't re-write a file within the same session - # modify new surface data file - if overwrite_single_pft: - f1 = xr.open_dataset(fsurf2) - f1['PCT_NAT_PFT'][:,:,:] = 0 - f1['PCT_NAT_PFT'][:,:,dominant_pft] = 100 - f1.to_netcdf(path='~/junk.nc', mode='w') - #f1.to_netcdf(path=fsurf2, mode='w') - f1.close() - if zero_nonveg_landunits: - #f1 = xr.open_dataset(fsurf2) - f1 = xr.open_dataset('~/junk.nc') - f1['PCT_NATVEG'] = 100 - f1['PCT_CROP'] = 0 - f1['PCT_LAKE'] = 0. - f1['PCT_WETLAND'] = 0. - f1['PCT_URBAN'] = 0. - f1['PCT_GLACIER'] = 0. - #f1.to_netcdf(path=fsurf2, mode='w') - f1.to_netcdf(path='~/junk2.nc', mode='w') - f1.close() - ''' -#-- Create CTSM transient landuse data file + #-- Create CTSM transient landuse data file if create_landuse: - create_landuse_at_point(plat, plon, fluse, fluse2) + single_point.create_landuse_at_point() #-- Create single point atmospheric forcing data if create_datm: - create_datm_at_point(plat, plon, fdatmdomain, fdatmdomain2) - #-- specify subdirectory names and filename prefixes - solrdir = 'Solar/' - precdir = 'Precip/' - tpqwldir = 'TPHWL/' - prectag = 'clmforc.GSWP3.c2011.0.5x0.5.Prec.' - solrtag = 'clmforc.GSWP3.c2011.0.5x0.5.Solr.' - tpqwtag = 'clmforc.GSWP3.c2011.0.5x0.5.TPQWL.' - - #-- create data files - infile=[] - outfile=[] - for y in range(datm_syr,datm_eyr+1): - ystr=str(y) - for m in range(1,13): - mstr=str(m) - if m < 10: - mstr='0'+mstr - - dtag=ystr+'-'+mstr - - fsolar=dir_input_datm+solrdir+solrtag+dtag+'.nc' - fsolar2=dir_output_datm+solrtag+tag+'.'+dtag+'.nc' - fprecip=dir_input_datm+precdir+prectag+dtag+'.nc' - fprecip2=dir_output_datm+prectag+tag+'.'+dtag+'.nc' - ftpqw=dir_input_datm+tpqwldir+tpqwtag+dtag+'.nc' - ftpqw2=dir_output_datm+tpqwtag+tag+'.'+dtag+'.nc' - - infile+=[fsolar,fprecip,ftpqw] - outfile+=[fsolar2,fprecip2,ftpqw2] - - nm=len(infile) - for n in range(nm): - print(outfile[n]) - file_in = infile[n] - file_out = outfile[n] - - - f1 = xr.open_dataset(file_in) - # create 1d coordinate variables to enable sel() method - lon0=np.asarray(f1['LONGXY'][0,:]) - lat0=np.asarray(f1['LATIXY'][:,0]) - lon=xr.DataArray(lon0,name='lon',dims='lon',coords={'lon':lon0}) - lat=xr.DataArray(lat0,name='lat',dims='lat',coords={'lat':lat0}) - #f2=f1.assign({'lon':lon,'lat':lat}) - f2=f1.assign() - f2['lon'] = lon - f2['lat'] = lat - f2.reset_coords(['LONGXY','LATIXY']) - # extract gridcell closest to plon/plat - f3 = f2.sel(lon=plon,lat=plat,method='nearest') - # expand dimensions - f3 = f3.expand_dims(['lat','lon']) - # specify dimension order - f3 = f3.transpose(u'scalar','time','lat','lon') - - # mode 'w' overwrites file - f3.to_netcdf(path=file_out, mode='w') - f1.close(); f2.close(); f3.close() - - - print('datm files written to: '+dir_output_datm) + single_point.create_datmdomain_at_point() + #create_datmdomain_at_point(plat, plon, fdatmdomain, fdatmdomain2) + single_point.datm_syr =datm_syr + single_point.datm_eyr =datm_eyr + single_point.dir_input_datm = dir_input_datm + single_point.dir_output_datm = dir_output_datm + single_point.create_datm_at_point() print( "Successfully ran script." ) From e05dd1c13d182efc393bbad59997045350f5dd84 Mon Sep 17 00:00:00 2001 From: Jim Edwards Date: Mon, 8 Feb 2021 16:55:02 -0700 Subject: [PATCH 09/82] add neon tower sites --- bld/namelist_files/namelist_defaults_ctsm.xml | 1075 +++++++++-------- cime_config/buildnml | 31 +- cime_config/config_component.xml | 91 +- cime_config/config_compsets.xml | 31 +- 4 files changed, 635 insertions(+), 593 deletions(-) diff --git a/bld/namelist_files/namelist_defaults_ctsm.xml b/bld/namelist_files/namelist_defaults_ctsm.xml index 3ccbe89a0e..f6f9a15009 100644 --- a/bld/namelist_files/namelist_defaults_ctsm.xml +++ b/bld/namelist_files/namelist_defaults_ctsm.xml @@ -345,10 +345,10 @@ attributes from the config_cache.xml file (with keys converted to upper-case). 2 3 -60. +60. 1.e-8 -1.e-1 -1.e-2 +1.e-1 +1.e-2 42 1 1 @@ -596,7 +596,7 @@ attributes from the config_cache.xml file (with keys converted to upper-case). .true. - + +.true. + .false. - @@ -746,42 +749,42 @@ attributes from the config_cache.xml file (with keys converted to upper-case). hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.true. irrigate=.true. glc_nec=10 hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.true. irrigate=.true. glc_nec=10 hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.true. irrigate=.true. glc_nec=10 hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.true. irrigate=.true. glc_nec=10 hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.true. irrigate=.true. glc_nec=10 hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.true. irrigate=.true. glc_nec=10 hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.true. irrigate=.true. glc_nec=10 hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.true. irrigate=.true. glc_nec=10 @@ -822,7 +825,7 @@ p hgrid=ne0np4CONUS.ne30x8 maxpft=17 mask=tx0.1v2 use_cn=.false. use_nitrif_denitrif=.false. use_vertsoilc=.false. use_crop=.false. irrigate=.true. glc_nec=10 @@ -1020,7 +1023,8 @@ p lnd_tuning_mode="clm5_0_cam6.0" >lnd/clm2/initdata_map/clmi.FHISTSp.2013-01-01.ne0CONUSne30x8_mt12_simyr2013_c200806.nc - + +lnd/clm2/initdata_map/clmi.I2000Clm50BgcCrop.2011-01-01.1.9x2.5_gx1v7_gl4_simyr2000_c190312.nc @@ -1166,6 +1170,9 @@ lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_1x1_numaIA_hist_78pfts_CMIP6_si lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_1x1_brazil_hist_78pfts_CMIP6_simyr1850_c190214.nc + +/glade/work/jedwards/sandboxes/NEON/inputdata/single_point/datmdata_NEON/${NEONSITE}/surfdata_0.9x1.25_hist_16pfts_Irrig_CMIP6_simyr2000_${NEONSITE}.nc + lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne30np4_hist_78pfts_CMIP6_simyr1850_c200426.nc @@ -1266,7 +1273,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts lnd/clm2/surfdata_map/release-clm5.0.30/landuse.timeseries_C96_SSP5-8.5_78pfts_CMIP6_simyr1850-2100_c200317.nc -lnd/clm2/surfdata_map/release-clm5.0.30/landuse.timeseries_ne30np4_SSP5-8.5_78pfts_CMIP6_simyr1850-2100_c200426.nc lnd/clm2/surfdata_map/release-clm5.0.30/landuse.timeseries_ne30np4.pg2_SSP5-8.5_78pfts_CMIP6_simyr1850-2100_c200426.nc @@ -1731,13 +1738,13 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts 1850 2106 -lnd/clm2/urbandata/CLM50_tbuildmax_Oleson_2016_0.9x1.25_simyr1849-2106_c160923.nc -lnd/clm2/urbandata/CLM50_tbuildmax_Oleson_2016_0.9x1.25_simyr1849-2106_c160923.nc -lnd/clm2/urbandata/CLM45_tbuildmax_Oleson_2016_0.9x1.25_simyr1849-2106_c160923.nc nn @@ -1783,440 +1790,440 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts - + -lnd/clm2/mappingdata/maps/0.1x0.1/map_0.1x0.1_nomask_to_0.1x0.1_nomask_aave_da_c120406.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_0.5x0.5_AVHRR_to_0.1x0.1_nomask_aave_da_c120406.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_0.5x0.5_MODIS_to_0.1x0.1_nomask_aave_da_c120406.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_0.25x0.25_MODIS_to_0.1x0.1_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_0.5x0.5_nomask_to_0.1x0.1_nomask_aave_da_c120406.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_10x10min_nomask_to_0.1x0.1_nomask_aave_da_c120406.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_3x3min_MODIS_to_0.1x0.1_nomask_aave_da_c120406.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_3x3min_MODIS-wCsp_to_0.1x0.1_nomask_aave_da_c160425.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_5x5min_IGBP-GSDP_to_0.1x0.1_nomask_aave_da_c120406.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_5x5min_ISRIC-WISE_to_0.1x0.1_nomask_aave_da_c120406.nc lnd/clm2/mappingdata/maps/0.1x0.1/map_5x5min_ORNL-Soil_to_0.1x0.1_nomask_aave_da_c170706.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_5x5min_nomask_to_0.1x0.1_nomask_aave_da_c120406.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_ne120np4_nomask_to_0.1x0.1_nomask_aave_da_c120711.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_4x5_nomask_to_0.1x0.1_nomask_aave_da_c120706.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_1.9x2.5_nomask_to_0.1x0.1_nomask_aave_da_c120709.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_ne240np4_nomask_to_0.1x0.1_nomask_aave_da_c120711.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_0.9x1.25_GRDC_to_0.1x0.1_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_360x720_cruncep_to_0.1x0.1_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_1km-merge-10min_HYDRO1K-merge-nomask_to_0.1x0.1_nomask_aave_da_c130405.nc - + - + -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_0.5x0.5_AVHRR_to_1x1_asphaltjungleNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_0.5x0.5_MODIS_to_1x1_asphaltjungleNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_0.25x0.25_MODIS_to_1x1_asphaltjungleNJ_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_0.5x0.5_nomask_to_1x1_asphaltjungleNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_10x10min_nomask_to_1x1_asphaltjungleNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_3x3min_MODIS_to_1x1_asphaltjungleNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_3x3min_MODISv2_to_1x1_asphaltjungleNJ_nomask_aave_da_c190507.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_3x3min_MODIS-wCsp_to_1x1_asphaltjungleNJ_nomask_aave_da_c160425.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_3x3min_USGS_to_1x1_asphaltjungleNJ_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_3x3min_LandScan2004_to_1x1_asphaltjungleNJ_nomask_aave_da_c121114.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_5x5min_IGBP-GSDP_to_1x1_asphaltjungleNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_5x5min_ISRIC-WISE_to_1x1_asphaltjungleNJ_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_5x5min_ORNL-Soil_to_1x1_asphaltjungleNJ_nomask_aave_da_c170706.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_5x5min_nomask_to_1x1_asphaltjungleNJ_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_3x3min_GLOBE-Gardner_to_1x1_asphaltjungleNJ_nomask_aave_da_c120927.nc lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_3x3min_GLOBE-Gardner-mergeGIS_to_1x1_asphaltjungleNJ_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_0.9x1.25_GRDC_to_1x1_asphaltjungleNJ_nomask_aave_da_c130309.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_360x720_cruncep_to_1x1_asphaltjungleNJ_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_1km-merge-10min_HYDRO1K-merge-nomask_to_1x1_asphaltjungleNJ_nomask_aave_da_c130403.nc - + - + -lnd/clm2/mappingdata/maps/1x1_brazil/map_0.5x0.5_AVHRR_to_1x1_brazil_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_0.5x0.5_MODIS_to_1x1_brazil_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_0.25x0.25_MODIS_to_1x1_brazil_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_0.5x0.5_nomask_to_1x1_brazil_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_10x10min_nomask_to_1x1_brazil_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_3x3min_MODIS_to_1x1_brazil_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_3x3min_MODISv2_to_1x1_brazil_nomask_aave_da_c190507.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_3x3min_MODIS-wCsp_to_1x1_brazil_nomask_aave_da_c160425.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_3x3min_USGS_to_1x1_brazil_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_3x3min_LandScan2004_to_1x1_brazil_nomask_aave_da_c121114.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_5x5min_IGBP-GSDP_to_1x1_brazil_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_5x5min_ISRIC-WISE_to_1x1_brazil_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_brazil/map_5x5min_ORNL-Soil_to_1x1_brazil_nomask_aave_da_c170706.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_5x5min_nomask_to_1x1_brazil_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_brazil/map_3x3min_GLOBE-Gardner_to_1x1_brazil_nomask_aave_da_c120927.nc lnd/clm2/mappingdata/maps/1x1_brazil/map_3x3min_GLOBE-Gardner-mergeGIS_to_1x1_brazil_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_0.9x1.25_GRDC_to_1x1_brazil_nomask_aave_da_c130309.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_360x720_cruncep_to_1x1_brazil_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_1km-merge-10min_HYDRO1K-merge-nomask_to_1x1_brazil_nomask_aave_da_c130403.nc - + - + -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_0.5x0.5_AVHRR_to_1x1_camdenNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_0.5x0.5_MODIS_to_1x1_camdenNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_0.25x0.25_MODIS_to_1x1_camdenNJ_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_0.5x0.5_nomask_to_1x1_camdenNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_10x10min_nomask_to_1x1_camdenNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_3x3min_MODIS_to_1x1_camdenNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_3x3min_MODISv2_to_1x1_camdenNJ_nomask_aave_da_c190506.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_3x3min_MODIS-wCsp_to_1x1_camdenNJ_nomask_aave_da_c160425.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_3x3min_USGS_to_1x1_camdenNJ_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_3x3min_LandScan2004_to_1x1_camdenNJ_nomask_aave_da_c121114.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_5x5min_IGBP-GSDP_to_1x1_camdenNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_5x5min_ISRIC-WISE_to_1x1_camdenNJ_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_5x5min_ORNL-Soil_to_1x1_camdenNJ_nomask_aave_da_c170706.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_5x5min_nomask_to_1x1_camdenNJ_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_3x3min_GLOBE-Gardner_to_1x1_camdenNJ_nomask_aave_da_c120927.nc lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_3x3min_GLOBE-Gardner-mergeGIS_to_1x1_camdenNJ_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_0.9x1.25_GRDC_to_1x1_camdenNJ_nomask_aave_da_c130309.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_360x720_cruncep_to_1x1_camdenNJ_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_1km-merge-10min_HYDRO1K-merge-nomask_to_1x1_camdenNJ_nomask_aave_da_c130403.nc - + - + -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_0.5x0.5_AVHRR_to_1x1_mexicocityMEX_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_0.5x0.5_MODIS_to_1x1_mexicocityMEX_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_0.25x0.25_MODIS_to_1x1_mexicocityMEX_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_0.5x0.5_nomask_to_1x1_mexicocityMEX_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_10x10min_nomask_to_1x1_mexicocityMEX_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_3x3min_MODIS_to_1x1_mexicocityMEX_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_3x3min_MODISv2_to_1x1_mexicocityMEX_nomask_aave_da_c190507.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_3x3min_MODIS-wCsp_to_1x1_mexicocityMEX_nomask_aave_da_c160425.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_3x3min_USGS_to_1x1_mexicocityMEX_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_3x3min_LandScan2004_to_1x1_mexicocityMEX_nomask_aave_da_c121114.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_5x5min_IGBP-GSDP_to_1x1_mexicocityMEX_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_5x5min_ISRIC-WISE_to_1x1_mexicocityMEX_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_5x5min_ORNL-Soil_to_1x1_mexicocityMEX_nomask_aave_da_c170706.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_5x5min_nomask_to_1x1_mexicocityMEX_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_3x3min_GLOBE-Gardner_to_1x1_mexicocityMEX_nomask_aave_da_c120927.nc lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_3x3min_GLOBE-Gardner-mergeGIS_to_1x1_mexicocityMEX_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_0.9x1.25_GRDC_to_1x1_mexicocityMEX_nomask_aave_da_c130309.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_360x720_cruncep_to_1x1_mexicocityMEX_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_1km-merge-10min_HYDRO1K-merge-nomask_to_1x1_mexicocityMEX_nomask_aave_da_c130403.nc - + - + -lnd/clm2/mappingdata/maps/1x1_numaIA/map_0.5x0.5_AVHRR_to_1x1_numaIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_0.5x0.5_MODIS_to_1x1_numaIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_0.25x0.25_MODIS_to_1x1_numaIA_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_0.5x0.5_nomask_to_1x1_numaIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_10x10min_nomask_to_1x1_numaIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_3x3min_MODIS_to_1x1_numaIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_3x3min_MODISv2_to_1x1_numaIA_nomask_aave_da_c190507.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_3x3min_MODIS-wCsp_to_1x1_numaIA_nomask_aave_da_c160425.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_3x3min_USGS_to_1x1_numaIA_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_3x3min_LandScan2004_to_1x1_numaIA_nomask_aave_da_c121114.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_5x5min_IGBP-GSDP_to_1x1_numaIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_5x5min_ISRIC-WISE_to_1x1_numaIA_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_numaIA/map_5x5min_ORNL-Soil_to_1x1_numaIA_nomask_aave_da_c170706.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_5x5min_nomask_to_1x1_numaIA_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_numaIA/map_3x3min_GLOBE-Gardner_to_1x1_numaIA_nomask_aave_da_c120927.nc lnd/clm2/mappingdata/maps/1x1_numaIA/map_3x3min_GLOBE-Gardner-mergeGIS_to_1x1_numaIA_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_0.9x1.25_GRDC_to_1x1_numaIA_nomask_aave_da_c130309.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_360x720_cruncep_to_1x1_numaIA_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_1km-merge-10min_HYDRO1K-merge-nomask_to_1x1_numaIA_nomask_aave_da_c130403.nc - + - + -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_0.5x0.5_AVHRR_to_1x1_smallvilleIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_0.5x0.5_MODIS_to_1x1_smallvilleIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_0.25x0.25_MODIS_to_1x1_smallvilleIA_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_0.5x0.5_nomask_to_1x1_smallvilleIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_10x10min_nomask_to_1x1_smallvilleIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_3x3min_MODIS_to_1x1_smallvilleIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_3x3min_MODISv2_to_1x1_smallvilleIA_nomask_aave_da_c190507.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_3x3min_MODIS-wCsp_to_1x1_smallvilleIA_nomask_aave_da_c160425.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_3x3min_USGS_to_1x1_smallvilleIA_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_3x3min_LandScan2004_to_1x1_smallvilleIA_nomask_aave_da_c121114.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_5x5min_IGBP-GSDP_to_1x1_smallvilleIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_5x5min_ISRIC-WISE_to_1x1_smallvilleIA_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_5x5min_ORNL-Soil_to_1x1_smallvilleIA_nomask_aave_da_c170706.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_5x5min_nomask_to_1x1_smallvilleIA_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_3x3min_GLOBE-Gardner_to_1x1_smallvilleIA_nomask_aave_da_c120927.nc lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_3x3min_GLOBE-Gardner-mergeGIS_to_1x1_smallvilleIA_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_0.9x1.25_GRDC_to_1x1_smallvilleIA_nomask_aave_da_c130309.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_360x720_cruncep_to_1x1_smallvilleIA_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_1km-merge-10min_HYDRO1K-merge-nomask_to_1x1_smallvilleIA_nomask_aave_da_c130403.nc - + - + -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_0.5x0.5_AVHRR_to_1x1_urbanc_alpha_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_0.5x0.5_MODIS_to_1x1_urbanc_alpha_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_0.25x0.25_MODIS_to_1x1_urbanc_alpha_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_0.5x0.5_nomask_to_1x1_urbanc_alpha_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_10x10min_nomask_to_1x1_urbanc_alpha_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_3x3min_MODIS_to_1x1_urbanc_alpha_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_3x3min_MODISv2_to_1x1_urbanc_alpha_nomask_aave_da_c190507.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_3x3min_MODIS-wCsp_to_1x1_urbanc_alpha_nomask_aave_da_c160425.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_3x3min_USGS_to_1x1_urbanc_alpha_nomask_aave_da_c120928.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_3x3min_LandScan2004_to_1x1_urbanc_alpha_nomask_aave_da_c121114.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_5x5min_IGBP-GSDP_to_1x1_urbanc_alpha_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_5x5min_ISRIC-WISE_to_1x1_urbanc_alpha_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_5x5min_ORNL-Soil_to_1x1_urbanc_alpha_nomask_aave_da_c170706.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_5x5min_nomask_to_1x1_urbanc_alpha_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_3x3min_GLOBE-Gardner_to_1x1_urbanc_alpha_nomask_aave_da_c120927.nc lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_3x3min_GLOBE-Gardner-mergeGIS_to_1x1_urbanc_alpha_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_0.9x1.25_GRDC_to_1x1_urbanc_alpha_nomask_aave_da_c130309.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_360x720_cruncep_to_1x1_urbanc_alpha_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_1km-merge-10min_HYDRO1K-merge-nomask_to_1x1_urbanc_alpha_nomask_aave_da_c130403.nc - + - + -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_0.5x0.5_AVHRR_to_1x1_vancouverCAN_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_0.5x0.5_MODIS_to_1x1_vancouverCAN_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_0.25x0.25_MODIS_to_1x1_vancouverCAN_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_0.5x0.5_nomask_to_1x1_vancouverCAN_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_10x10min_nomask_to_1x1_vancouverCAN_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_3x3min_MODIS_to_1x1_vancouverCAN_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_3x3min_MODISv2_to_1x1_vancouverCAN_nomask_aave_da_c190506.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_3x3min_MODIS-wCsp_to_1x1_vancouverCAN_nomask_aave_da_c160425.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_3x3min_USGS_to_1x1_vancouverCAN_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_3x3min_LandScan2004_to_1x1_vancouverCAN_nomask_aave_da_c121114.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_5x5min_IGBP-GSDP_to_1x1_vancouverCAN_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_5x5min_ISRIC-WISE_to_1x1_vancouverCAN_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_5x5min_ORNL-Soil_to_1x1_vancouverCAN_nomask_aave_da_c170706.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_5x5min_nomask_to_1x1_vancouverCAN_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_3x3min_GLOBE-Gardner_to_1x1_vancouverCAN_nomask_aave_da_c120927.nc lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_3x3min_GLOBE-Gardner-mergeGIS_to_1x1_vancouverCAN_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_0.9x1.25_GRDC_to_1x1_vancouverCAN_nomask_aave_da_c130309.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_360x720_cruncep_to_1x1_vancouverCAN_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_1km-merge-10min_HYDRO1K-merge-nomask_to_1x1_vancouverCAN_nomask_aave_da_c130403.nc - + - + -lnd/clm2/mappingdata/maps/0.47x0.63/map_0.25x0.25_MODIS_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_0.5x0.5_AVHRR_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_0.5x0.5_MODIS_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_0.9x1.25_GRDC_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_10x10min_IGBPmergeICESatGIS_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_10x10min_nomask_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_1km-merge-10min_HYDRO1K-merge-nomask_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_360x720cru_cruncep_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_3x3min_GLOBE-Gardner-mergeGIS_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_3x3min_GLOBE-Gardner_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_3x3min_LandScan2004_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_3x3min_MODISv2_to_0.47x0.63_nomask_aave_da_c190505.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_3x3min_MODIS-wCsp_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_3x3min_USGS_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_5x5min_IGBP-GSDP_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_5x5min_ISRIC-WISE_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_5x5min_nomask_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_5x5min_ORNL-Soil_to_0.47x0.63_nomask_aave_da_c170914.nc - + -lnd/clm2/mappingdata/maps/0.9x1.25/map_0.5x0.5_landuse_to_0.9x1.25_aave_da_110307.nc -lnd/clm2/mappingdata/maps/0.9x1.25/map_0.25x0.25_MODIS_to_0.9x1.25_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/0.9x1.25/map_0.5x0.5_lanwat_to_0.9x1.25_aave_da_110307.nc lnd/clm2/mappingdata/maps/0.9x1.25/map_10minx10min_topo_to_0.9x1.25_aave_da_110630.nc @@ -2230,7 +2237,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/0.9x1.25/map_5x5min_ORNL-Soil_to_0.9x1.25_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/0.9x1.25/map_3x3min_MODIS_to_0.9x1.25_nomask_aave_da_c120523.nc -lnd/clm2/mappingdata/maps/0.9x1.25/map_3x3min_MODISv2_to_0.9x1.25_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/0.9x1.25/map_3x3min_MODIS-wCsp_to_0.9x1.25_nomask_aave_da_c160425.nc @@ -2242,18 +2249,18 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/0.9x1.25/map_3x3min_GLOBE-Gardner_to_0.9x1.25_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/0.9x1.25/map_3x3min_GLOBE-Gardner-mergeGIS_to_0.9x1.25_nomask_aave_da_c120923.nc -lnd/clm2/mappingdata/maps/0.9x1.25/map_0.9x1.25_GRDC_to_0.9x1.25_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/0.9x1.25/map_360x720_cruncep_to_0.9x1.25_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/0.9x1.25/map_1km-merge-10min_HYDRO1K-merge-nomask_to_0.9x1.25_nomask_aave_da_c130405.nc -lnd/clm2/mappingdata/maps/1.9x2.5/map_0.5x0.5_landuse_to_1.9x2.5_aave_da_110307.nc -lnd/clm2/mappingdata/maps/1.9x2.5/map_0.25x0.25_MODIS_to_1.9x2.5_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/1.9x2.5/map_0.5x0.5_lanwat_to_1.9x2.5_aave_da_110307.nc lnd/clm2/mappingdata/maps/1.9x2.5/map_10minx10min_topo_to_1.9x2.5_aave_da_110307.nc @@ -2267,7 +2274,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/1.9x2.5/map_5x5min_ORNL-Soil_to_1.9x2.5_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/1.9x2.5/map_3x3min_MODIS_to_1.9x2.5_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/1.9x2.5/map_3x3min_MODISv2_to_1.9x2.5_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/1.9x2.5/map_3x3min_MODIS-wCsp_to_1.9x2.5_nomask_aave_da_c160425.nc @@ -2279,19 +2286,19 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/1.9x2.5/map_3x3min_GLOBE-Gardner_to_1.9x2.5_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/1.9x2.5/map_3x3min_GLOBE-Gardner-mergeGIS_to_1.9x2.5_nomask_aave_da_c120923.nc -lnd/clm2/mappingdata/maps/1.9x2.5/map_0.9x1.25_GRDC_to_1.9x2.5_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/1.9x2.5/map_360x720_cruncep_to_1.9x2.5_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/1.9x2.5/map_1km-merge-10min_HYDRO1K-merge-nomask_to_1.9x2.5_nomask_aave_da_c130405.nc -lnd/clm2/mappingdata/maps/10x15/map_0.5x0.5_landuse_to_10x15_aave_da_110307.nc -lnd/clm2/mappingdata/maps/10x15/map_0.25x0.25_MODIS_to_10x15_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/10x15/map_0.5x0.5_lanwat_to_10x15_aave_da_110307.nc lnd/clm2/mappingdata/maps/10x15/map_10minx10min_topo_to_10x15_aave_da_110307.nc @@ -2305,7 +2312,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/10x15/map_5x5min_ORNL-Soil_to_10x15_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/10x15/map_3x3min_MODIS_to_10x15_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/10x15/map_3x3min_MODISv2_to_10x15_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/10x15/map_3x3min_MODIS-wCsp_to_10x15_nomask_aave_da_c160425.nc @@ -2317,18 +2324,18 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/10x15/map_3x3min_GLOBE-Gardner_to_10x15_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/10x15/map_3x3min_GLOBE-Gardner-mergeGIS_to_10x15_nomask_aave_da_c120923.nc -lnd/clm2/mappingdata/maps/10x15/map_0.9x1.25_GRDC_to_10x15_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/10x15/map_360x720_cruncep_to_10x15_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/10x15/map_1km-merge-10min_HYDRO1K-merge-nomask_to_10x15_nomask_aave_da_c130411.nc -lnd/clm2/mappingdata/maps/360x720/map_0.5x0.5_MODIS_to_360x720_nomask_aave_da_c120830.nc -lnd/clm2/mappingdata/maps/360x720/map_0.25x0.25_MODIS_to_360x720cru_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/360x720/map_0.5x0.5_AVHRR_to_360x720_nomask_aave_da_c120830.nc lnd/clm2/mappingdata/maps/360x720/map_10x10min_nomask_to_360x720_nomask_aave_da_c120830.nc @@ -2342,7 +2349,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/360x720/map_5x5min_ORNL-Soil_to_360x720cru_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/360x720/map_3x3min_MODIS_to_360x720_nomask_aave_da_c120830.nc -lnd/clm2/mappingdata/maps/360x720/map_3x3min_MODISv2_to_360x720cru_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/360x720/map_3x3min_MODIS-wCsp_to_360x720cru_nomask_aave_da_c160425.nc @@ -2354,19 +2361,19 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/360x720/map_3x3min_GLOBE-Gardner_to_360x720_nomask_aave_da_c121128.nc lnd/clm2/mappingdata/maps/360x720/map_3x3min_GLOBE-Gardner-mergeGIS_to_360x720_nomask_aave_da_c121128.nc -lnd/clm2/mappingdata/maps/360x720/map_0.9x1.25_GRDC_to_360x720_nomask_aave_da_c130309.nc -lnd/clm2/mappingdata/maps/360x720/map_360x720_cruncep_to_360x720_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/360x720/map_1km-merge-10min_HYDRO1K-merge-nomask_to_360x720_nomask_aave_da_c130403.nc -lnd/clm2/mappingdata/maps/512x1024/map_0.5x0.5_MODIS_to_512x1024_nomask_aave_da_c110920.nc -lnd/clm2/mappingdata/maps/512x1024/map_0.25x0.25_MODIS_to_512x1024_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/512x1024/map_0.5x0.5_AVHRR_to_512x1024_nomask_aave_da_c110920.nc lnd/clm2/mappingdata/maps/512x1024/map_10x10min_nomask_to_512x1024_nomask_aave_da_c110920.nc @@ -2380,7 +2387,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/512x1024/map_5x5min_ORNL-Soil_to_512x1024_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/512x1024/map_3x3min_MODIS_to_512x1024_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/512x1024/map_3x3min_MODISv2_to_512x1024_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/512x1024/map_3x3min_MODIS-wCsp_to_512x1024_nomask_aave_da_c160425.nc @@ -2392,19 +2399,19 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/512x1024/map_3x3min_GLOBE-Gardner_to_512x1024_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/512x1024/map_3x3min_GLOBE-Gardner-mergeGIS_to_512x1024_nomask_aave_da_c120923.nc -lnd/clm2/mappingdata/maps/512x1024/map_0.9x1.25_GRDC_to_512x1024_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/512x1024/map_360x720_cruncep_to_512x1024_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/512x1024/map_1km-merge-10min_HYDRO1K-merge-nomask_to_512x1024_nomask_aave_da_c130403.nc -lnd/clm2/mappingdata/maps/128x256/map_0.5x0.5_MODIS_to_128x256_nomask_aave_da_c110920.nc -lnd/clm2/mappingdata/maps/128x256/map_0.25x0.25_MODIS_to_128x256_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/128x256/map_0.5x0.5_AVHRR_to_128x256_nomask_aave_da_c110920.nc lnd/clm2/mappingdata/maps/128x256/map_10x10min_nomask_to_128x256_nomask_aave_da_c110920.nc @@ -2418,7 +2425,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/128x256/map_5x5min_ORNL-Soil_to_128x256_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/128x256/map_3x3min_MODIS_to_128x256_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/128x256/map_3x3min_MODISv2_to_128x256_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/128x256/map_3x3min_MODIS-wCsp_to_128x256_nomask_aave_da_c160425.nc @@ -2430,19 +2437,19 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/128x256/map_3x3min_GLOBE-Gardner_to_128x256_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/128x256/map_3x3min_GLOBE-Gardner-mergeGIS_to_128x256_nomask_aave_da_c120923.nc -lnd/clm2/mappingdata/maps/128x256/map_0.9x1.25_GRDC_to_128x256_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/128x256/map_360x720_cruncep_to_128x256_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/128x256/map_1km-merge-10min_HYDRO1K-merge-nomask_to_128x256_nomask_aave_da_c130403.nc -lnd/clm2/mappingdata/maps/64x128/map_0.5x0.5_MODIS_to_64x128_nomask_aave_da_c110920.nc -lnd/clm2/mappingdata/maps/64x128/map_0.25x0.25_MODIS_to_64x128_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/64x128/map_0.5x0.5_AVHRR_to_64x128_nomask_aave_da_c110920.nc lnd/clm2/mappingdata/maps/64x128/map_10x10min_nomask_to_64x128_nomask_aave_da_c110920.nc @@ -2456,7 +2463,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/64x128/map_5x5min_ORNL-Soil_to_64x128_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/64x128/map_3x3min_MODIS_to_64x128_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/64x128/map_3x3min_MODISv2_to_64x128_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/64x128/map_3x3min_MODIS-wCsp_to_64x128_nomask_aave_da_c160428.nc @@ -2468,18 +2475,18 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/64x128/map_3x3min_GLOBE-Gardner_to_64x128_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/64x128/map_3x3min_GLOBE-Gardner-mergeGIS_to_64x128_nomask_aave_da_c120923.nc -lnd/clm2/mappingdata/maps/64x128/map_0.9x1.25_GRDC_to_64x128_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/64x128/map_360x720_cruncep_to_64x128_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/64x128/map_1km-merge-10min_HYDRO1K-merge-nomask_to_64x128_nomask_aave_da_c130403.nc -lnd/clm2/mappingdata/maps/48x96/map_0.5x0.5_MODIS_to_48x96_nomask_aave_da_c110822.nc -lnd/clm2/mappingdata/maps/48x96/map_0.25x0.25_MODIS_to_48x96_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/48x96/map_0.5x0.5_AVHRR_to_48x96_nomask_aave_da_c110822.nc lnd/clm2/mappingdata/maps/48x96/map_10x10min_nomask_to_48x96_nomask_aave_da_c110822.nc @@ -2493,7 +2500,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/48x96/map_5x5min_ORNL-Soil_to_48x96_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/48x96/map_3x3min_MODIS_to_48x96_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/48x96/map_3x3min_MODISv2_to_48x96_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/48x96/map_3x3min_MODIS-wCsp_to_48x96_nomask_aave_da_c160425.nc @@ -2505,18 +2512,18 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/48x96/map_3x3min_GLOBE-Gardner_to_48x96_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/48x96/map_3x3min_GLOBE-Gardner-mergeGIS_to_48x96_nomask_aave_da_c120923.nc -lnd/clm2/mappingdata/maps/48x96/map_0.9x1.25_GRDC_to_48x96_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/48x96/map_360x720_cruncep_to_48x96_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/48x96/map_1km-merge-10min_HYDRO1K-merge-nomask_to_48x96_nomask_aave_da_c130405.nc -lnd/clm2/mappingdata/maps/4x5/map_0.5x0.5_MODIS_to_4x5_nomask_aave_da_c110822.nc -lnd/clm2/mappingdata/maps/4x5/map_0.25x0.25_MODIS_to_4x5_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/4x5/map_0.5x0.5_AVHRR_to_4x5_nomask_aave_da_c110822.nc lnd/clm2/mappingdata/maps/4x5/map_10x10min_nomask_to_4x5_nomask_aave_da_c110822.nc @@ -2530,7 +2537,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/4x5/map_5x5min_ORNL-Soil_to_4x5_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/4x5/map_3x3min_MODIS_to_4x5_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/4x5/map_3x3min_MODISv2_to_4x5_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/4x5/map_3x3min_MODIS-wCsp_to_4x5_nomask_aave_da_c160425.nc @@ -2542,18 +2549,18 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/4x5/map_3x3min_GLOBE-Gardner_to_4x5_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/4x5/map_3x3min_GLOBE-Gardner-mergeGIS_to_4x5_nomask_aave_da_c120923.nc -lnd/clm2/mappingdata/maps/4x5/map_0.9x1.25_GRDC_to_4x5_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/4x5/map_360x720_cruncep_to_4x5_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/4x5/map_1km-merge-10min_HYDRO1K-merge-nomask_to_4x5_nomask_aave_da_c130411.nc -lnd/clm2/mappingdata/maps/0.23x0.31/map_0.5x0.5_MODIS_to_0.23x0.31_nomask_aave_da_c110920.nc -lnd/clm2/mappingdata/maps/0.23x0.31/map_0.25x0.25_MODIS_to_0.23x0.31_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/0.23x0.31/map_0.5x0.5_AVHRR_to_0.23x0.31_nomask_aave_da_c110920.nc lnd/clm2/mappingdata/maps/0.23x0.31/map_10x10min_nomask_to_0.23x0.31_nomask_aave_da_c110920.nc @@ -2567,7 +2574,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/0.23x0.31/map_5x5min_ORNL-Soil_to_0.23x0.31_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/0.23x0.31/map_3x3min_MODIS_to_0.23x0.31_nomask_aave_da_c110930.nc -lnd/clm2/mappingdata/maps/0.23x0.31/map_3x3min_MODISv2_to_0.23x0.31_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/0.23x0.31/map_3x3min_MODIS-wCsp_to_0.23x0.31_nomask_aave_da_c160425.nc @@ -2581,19 +2588,19 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/0.23x0.31/map_3x3min_GLOBE-Gardner-mergeGIS_to_0.23x0.31_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/0.23x0.31/map_3x3min_LandScan2004_to_0.23x0.31_nomask_aave_da_c120518.nc -lnd/clm2/mappingdata/maps/0.23x0.31/map_0.9x1.25_GRDC_to_0.23x0.31_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/0.23x0.31/map_360x720_cruncep_to_0.23x0.31_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/0.23x0.31/map_1km-merge-10min_HYDRO1K-merge-nomask_to_0.23x0.31_nomask_aave_da_c130405.nc -lnd/clm2/mappingdata/maps/2.5x3.33/map_0.5x0.5_MODIS_to_2.5x3.33_nomask_aave_da_c110823.nc -lnd/clm2/mappingdata/maps/2.5x3.33/map_0.25x0.25_MODIS_to_2.5x3.33_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/2.5x3.33/map_0.5x0.5_AVHRR_to_2.5x3.33_nomask_aave_da_c110823.nc lnd/clm2/mappingdata/maps/2.5x3.33/map_10x10min_nomask_to_2.5x3.33_nomask_aave_da_c110823.nc @@ -2607,7 +2614,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/2.5x3.33/map_5x5min_ORNL-Soil_to_2.5x3.33_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/2.5x3.33/map_3x3min_MODIS_to_2.5x3.33_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/2.5x3.33/map_3x3min_MODISv2_to_2.5x3.33_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/2.5x3.33/map_3x3min_MODIS-wCsp_to_2.5x3.33_nomask_aave_da_c160425.nc @@ -2619,63 +2626,63 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/2.5x3.33/map_3x3min_GLOBE-Gardner_to_2.5x3.33_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/2.5x3.33/map_3x3min_GLOBE-Gardner-mergeGIS_to_2.5x3.33_nomask_aave_da_c120923.nc -lnd/clm2/mappingdata/maps/2.5x3.33/map_0.9x1.25_GRDC_to_2.5x3.33_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/2.5x3.33/map_360x720_cruncep_to_2.5x3.33_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/2.5x3.33/map_1km-merge-10min_HYDRO1K-merge-nomask_to_2.5x3.33_nomask_aave_da_c130405.nc - + -lnd/clm2/mappingdata/maps/0.5x0.5/map_0.5x0.5_AVHRR_to_0.5x0.5_nomask_aave_da_c111021.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_0.25x0.25_MODIS_to_0.5x0.5_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_0.5x0.5_MODIS_to_0.5x0.5_nomask_aave_da_c111021.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_0.5x0.5_nomask_to_0.5x0.5_nomask_aave_da_c111021.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_10x10min_IGBPmergeICESatGIS_to_0.5x0.5_nomask_aave_da_c111021.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_10x10min_nomask_to_0.5x0.5_nomask_aave_da_c111021.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_5x5min_IGBP-GSDP_to_0.5x0.5_nomask_aave_da_c111021.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_5x5min_nomask_to_0.5x0.5_nomask_aave_da_c111021.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_3x3min_MODIS_to_0.5x0.5_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_3x3min_MODIS-wCsp_to_0.5x0.5_nomask_aave_da_c160425.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_5x5min_ISRIC-WISE_to_0.5x0.5_nomask_aave_da_c111115.nc lnd/clm2/mappingdata/maps/0.5x0.5/map_5x5min_ORNL-Soil_to_0.5x0.5_nomask_aave_da_c170706.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_3x3min_LandScan2004_to_0.5x0.5_nomask_aave_da_c120518.nc lnd/clm2/mappingdata/maps/0.5x0.5/map_3x3min_GLOBE-Gardner_to_0.5x0.5_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/0.5x0.5/map_3x3min_GLOBE-Gardner-mergeGIS_to_0.5x0.5_nomask_aave_da_c120923.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_0.1x0.1_nomask_to_0.5x0.5_nomask_aave_da_c120706.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_ne240np4_nomask_to_0.5x0.5_nomask_aave_da_c120711.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_4x5_nomask_to_0.5x0.5_nomask_aave_da_c120706.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_1.9x2.5_nomask_to_0.5x0.5_nomask_aave_da_c120709.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_ne120np4_nomask_to_0.5x0.5_nomask_aave_da_c120711.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_3x3_USGS_nomask_to_0.5x0.5_nomask_aave_da_c120912.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_0.9x1.25_GRDC_to_0.5x0.5_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_360x720_cruncep_to_0.5x0.5_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_1km-merge-10min_HYDRO1K-merge-nomask_to_0.5x0.5_nomask_aave_da_c130405.nc @@ -2876,11 +2883,11 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/C384/map_C384_nomask_to_0.5x0.5_nomask_aave_da_c181018.nc -lnd/clm2/mappingdata/maps/ne4np4/map_0.5x0.5_MODIS_to_ne4np4_nomask_aave_da_c110923.nc -lnd/clm2/mappingdata/maps/ne4np4/map_0.25x0.25_MODIS_to_ne4np4_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/ne4np4/map_0.5x0.5_AVHRR_to_ne4np4_nomask_aave_da_c110923.nc lnd/clm2/mappingdata/maps/ne4np4/map_10x10min_nomask_to_ne4np4_nomask_aave_da_c110923.nc @@ -2894,7 +2901,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/ne4np4/map_5x5min_ORNL-Soil_to_ne4np4_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/ne4np4/map_3x3min_MODIS_to_ne4np4_nomask_aave_da_c120906.nc -lnd/clm2/mappingdata/maps/ne4np4/map_3x3min_MODISv2_to_ne4np4_nomask_aave_da_c190514.nc lnd/clm2/mappingdata/maps/ne4np4/map_3x3min_MODIS-wCsp_to_ne4np4_nomask_aave_da_c160425.nc @@ -2908,23 +2915,23 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/ne4np4/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne4np4_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/ne4np4/map_3x3min_LandScan2004_to_ne4np4_nomask_aave_da_c120518.nc -lnd/clm2/mappingdata/maps/ne4np4/map_0.9x1.25_GRDC_to_ne4np4_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/ne4np4/map_360x720_cruncep_to_ne4np4_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/ne4np4/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne4np4_nomask_aave_da_c130411.nc lnd/clm2/mappingdata/maps/ne4np4/map_ne4np4_nomask_to_0.5x0.5_nomask_aave_da_c110923.nc -lnd/clm2/mappingdata/maps/ne16np4/map_0.5x0.5_MODIS_to_ne16np4_nomask_aave_da_c110922.nc -lnd/clm2/mappingdata/maps/ne16np4/map_0.25x0.25_MODIS_to_ne16np4_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/ne16np4/map_3x3min_MODISv2_to_ne16np4_nomask_aave_da_c190514.nc -lnd/clm2/mappingdata/maps/ne16np4/map_0.5x0.5_AVHRR_to_ne16np4_nomask_aave_da_c110922.nc lnd/clm2/mappingdata/maps/ne16np4/map_10x10min_nomask_to_ne16np4_nomask_aave_da_c110922.nc @@ -2948,21 +2955,21 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/ne16np4/map_3x3min_GLOBE-Gardner_to_ne16np4_nomask_aave_da_c120924.nc lnd/clm2/mappingdata/maps/ne16np4/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne16np4_nomask_aave_da_c120924.nc -lnd/clm2/mappingdata/maps/ne16np4/map_0.9x1.25_GRDC_to_ne16np4_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/ne16np4/map_360x720_cruncep_to_ne16np4_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/ne16np4/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne16np4_nomask_aave_da_c130408.nc lnd/clm2/mappingdata/maps/ne16np4/map_ne16np4_nomask_to_0.5x0.5_nomask_aave_da_c110922.nc -lnd/clm2/mappingdata/maps/ne30np4/map_0.5x0.5_landuse_to_ne30np4_aave_da_110320.nc -lnd/clm2/mappingdata/maps/ne30np4/map_0.25x0.25_MODIS_to_ne30np4_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/ne30np4/map_0.5x0.5_lanwat_to_ne30np4_aave_da_110320.nc lnd/clm2/mappingdata/maps/ne30np4/map_10minx10min_topo_to_ne30np4_aave_da_110320.nc @@ -2976,7 +2983,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/ne30np4/map_5x5min_ORNL-Soil_to_ne30np4_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/ne30np4/map_3x3min_MODIS_to_ne30np4_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/ne30np4/map_3x3min_MODISv2_to_ne30np4_nomask_aave_da_c190507.nc lnd/clm2/mappingdata/maps/ne30np4/map_3x3min_MODIS-wCsp_to_ne30np4_nomask_aave_da_c160425.nc @@ -2988,21 +2995,21 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/ne30np4/map_3x3min_GLOBE-Gardner_to_ne30np4_nomask_aave_da_c120924.nc lnd/clm2/mappingdata/maps/ne30np4/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne30np4_nomask_aave_da_c120924.nc -lnd/clm2/mappingdata/maps/ne30np4/map_0.9x1.25_GRDC_to_ne30np4_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/ne30np4/map_360x720_cruncep_to_ne30np4_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/ne30np4/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne30np4_nomask_aave_da_c130405.nc lnd/clm2/mappingdata/maps/ne30np4/map_ne30np4_to_0.5x0.5rtm_aave_da_110320.nc -lnd/clm2/mappingdata/maps/ne60np4/map_0.5x0.5_MODIS_to_ne60np4_nomask_aave_da_c110922.nc -lnd/clm2/mappingdata/maps/ne60np4/map_0.25x0.25_MODIS_to_ne60np4_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/ne60np4/map_0.5x0.5_AVHRR_to_ne60np4_nomask_aave_da_c110922.nc lnd/clm2/mappingdata/maps/ne60np4/map_10x10min_nomask_to_ne60np4_nomask_aave_da_c110922.nc @@ -3016,7 +3023,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/ne60np4/map_5x5min_ORNL-Soil_to_ne60np4_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/ne60np4/map_3x3min_MODIS_to_ne60np4_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/ne60np4/map_3x3min_MODISv2_to_ne60np4_nomask_aave_da_c190507.nc lnd/clm2/mappingdata/maps/ne60np4/map_3x3min_MODIS-wCsp_to_ne60np4_nomask_aave_da_c160425.nc @@ -3028,20 +3035,20 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/ne60np4/map_3x3min_GLOBE-Gardner_to_ne60np4_nomask_aave_da_c120924.nc lnd/clm2/mappingdata/maps/ne60np4/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne60np4_nomask_aave_da_c120924.nc -lnd/clm2/mappingdata/maps/ne60np4/map_0.9x1.25_GRDC_to_ne60np4_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/ne60np4/map_360x720_cruncep_to_ne60np4_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/ne60np4/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne60np4_nomask_aave_da_c130405.nc lnd/clm2/mappingdata/maps/ne60np4/map_ne60np4_nomask_to_0.5x0.5_nomask_aave_da_c110922.nc -lnd/clm2/mappingdata/maps/ne120np4/map_0.5x0.5_landuse_to_ne120np4_aave_da_110320.nc -lnd/clm2/mappingdata/maps/ne120np4/map_0.25x0.25_MODIS_to_ne120np4_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/ne120np4/map_0.5x0.5_lanwat_to_ne120np4_aave_da_110320.nc lnd/clm2/mappingdata/maps/ne120np4/map_10minx10min_topo_to_ne120np4_aave_da_110320.nc @@ -3055,7 +3062,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/ne120np4/map_5minx5min_irrig_to_ne120np4_aave_da_110817.nc lnd/clm2/mappingdata/maps/ne120np4/map_3x3min_MODIS_to_ne120np4_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/ne120np4/map_3x3min_MODISv2_to_ne120np4_nomask_aave_da_c190514.nc lnd/clm2/mappingdata/maps/ne120np4/map_3x3min_MODIS-wCsp_to_ne120np4_nomask_aave_da_c160425.nc @@ -3069,20 +3076,20 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/ne120np4/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne120np4_nomask_aave_da_c120924.nc lnd/clm2/mappingdata/maps/ne120np4/map_3x3min_USGS_to_ne120np4_nomask_aave_da_c120913.nc -lnd/clm2/mappingdata/maps/ne120np4/map_0.9x1.25_GRDC_to_ne120np4_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/ne120np4/map_360x720_cruncep_to_ne120np4_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/ne120np4/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne120np4_nomask_aave_da_c130405.nc - + -lnd/clm2/mappingdata/maps/ne120np4/map_0.1x0.1_nomask_to_ne120np4_nomask_aave_da_c120706.nc - + @@ -3128,52 +3135,52 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts - + -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_5x5min_ORNL-Soil_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_3x3min_MODIS-wCsp_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_5x5min_ISRIC-WISE_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_0.9x1.25_GRDC_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_5x5min_nomask_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_3x3min_GLOBE-Gardner_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_3x3min_LandScan2004_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_360x720cru_cruncep_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_5x5min_IGBP-GSDP_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_3x3min_USGS_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_10x10min_nomask_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_3x3min_MODISv2_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_0.5x0.5_AVHRR_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_0.25x0.25_MODIS_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_0.5x0.5_MODIS_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_10x10min_IGBPmergeICESatGIS_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/5x5_amazon/map_0.5x0.5_MODIS_to_5x5_amazon_nomask_aave_da_c110920.nc -lnd/clm2/mappingdata/maps/5x5_amazon/map_0.25x0.25_MODIS_to_5x5_amazon_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/5x5_amazon/map_0.5x0.5_AVHRR_to_5x5_amazon_nomask_aave_da_c110920.nc lnd/clm2/mappingdata/maps/5x5_amazon/map_10x10min_nomask_to_5x5_amazon_nomask_aave_da_c110920.nc @@ -3187,7 +3194,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/5x5_amazon/map_5x5min_ORNL-Soil_to_5x5_amazon_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/5x5_amazon/map_3x3min_MODIS_to_5x5_amazon_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/5x5_amazon/map_3x3min_MODISv2_to_5x5_amazon_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/5x5_amazon/map_3x3min_MODIS-wCsp_to_5x5_amazon_nomask_aave_da_c160425.nc @@ -3199,18 +3206,18 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/5x5_amazon/map_3x3min_GLOBE-Gardner_to_5x5_amazon_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/5x5_amazon/map_3x3min_GLOBE-Gardner-mergeGIS_to_5x5_amazon_nomask_aave_da_c120923.nc -lnd/clm2/mappingdata/maps/5x5_amazon/map_0.9x1.25_GRDC_to_5x5_amazon_nomask_aave_da_c130309.nc -lnd/clm2/mappingdata/maps/5x5_amazon/map_360x720_cruncep_to_5x5_amazon_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/5x5_amazon/map_1km-merge-10min_HYDRO1K-merge-nomask_to_5x5_amazon_nomask_aave_da_c130403.nc -lnd/clm2/mappingdata/maps/ne240np4/map_0.5x0.5_MODIS_to_ne240np4_nomask_aave_da_c110922.nc -lnd/clm2/mappingdata/maps/ne240np4/map_0.25x0.25_MODIS_to_ne240np4_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/ne240np4/map_0.5x0.5_AVHRR_to_ne240np4_nomask_aave_da_c110922.nc lnd/clm2/mappingdata/maps/ne240np4/map_10x10min_nomask_to_ne240np4_nomask_aave_da_c110922.nc @@ -3224,7 +3231,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/ne240np4/map_5x5min_ORNL-Soil_to_ne240np4_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/ne240np4/map_3x3min_MODIS_to_ne240np4_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/ne240np4/map_3x3min_MODISv2_to_ne240np4_nomask_aave_da_c190514.nc lnd/clm2/mappingdata/maps/ne240np4/map_3x3min_MODIS-wCsp_to_ne240np4_nomask_aave_da_c160425.nc @@ -3236,359 +3243,359 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/ne240np4/map_3x3min_GLOBE-Gardner_to_ne240np4_nomask_aave_da_c120925.nc lnd/clm2/mappingdata/maps/ne240np4/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne240np4_nomask_aave_da_c120925.nc -lnd/clm2/mappingdata/maps/ne240np4/map_0.9x1.25_GRDC_to_ne240np4_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/ne240np4/map_360x720_cruncep_to_ne240np4_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/ne240np4/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne240np4_nomask_aave_da_c130405.nc lnd/clm2/mappingdata/maps/ne240np4/map_ne240np4_nomask_to_0.5x0.5_nomask_aave_da_c110922.nc - + -lnd/clm2/mappingdata/maps/0.125x0.125/map_0.5x0.5_AVHRR_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_0.5x0.5_MODIS_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_0.25x0.25_MODIS_to_0.125x0.125_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_0.9x1.25_GRDC_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_10x10min_IGBPmergeICESatGIS_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_10x10min_nomask_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_1km-merge-10min_HYDRO1K-merge-nomask_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_360x720cru_cruncep_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_3x3min_GLOBE-Gardner-mergeGIS_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_3x3min_GLOBE-Gardner_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_3x3min_LandScan2004_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_3x3min_MODIS_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_3x3min_MODISv2_to_0.125x0.125_nomask_aave_da_c190613.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_3x3min_MODIS-wCsp_to_0.125x0.125_nomask_aave_da_c160427.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_3x3min_USGS_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_5x5min_IGBP-GSDP_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_5x5min_ISRIC-WISE_to_0.125x0.125_nomask_aave_da_c140702.nc lnd/clm2/mappingdata/maps/0.125x0.125/map_5x5min_ORNL-Soil_to_0.125x0.125_nomask_aave_da_c170706.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_5x5min_nomask_to_0.125x0.125_nomask_aave_da_c140702.nc - + -lnd/clm2/mappingdata/maps/94x192/map_3x3min_USGS_to_94x192_nomask_aave_da_c120926.nc -lnd/clm2/mappingdata/maps/94x192/map_0.5x0.5_nomask_to_94x192_nomask_aave_da_c110823.nc -lnd/clm2/mappingdata/maps/94x192/map_5x5min_ORNL-Soil_to_94x192_nomask_aave_da_c190521.nc -lnd/clm2/mappingdata/maps/94x192/map_94x192_nomask_to_0.5x0.5_nomask_aave_da_c110823.nc -lnd/clm2/mappingdata/maps/94x192/map_5x5min_IGBP-GSDP_to_94x192_nomask_aave_da_c110823.nc -lnd/clm2/mappingdata/maps/94x192/map_3x3min_MODIS-wCsp_to_94x192_nomask_aave_da_c190521.nc -lnd/clm2/mappingdata/maps/94x192/map_1km-merge-10min_HYDRO1K-merge-nomask_to_94x192_nomask_aave_da_c190521.nc -lnd/clm2/mappingdata/maps/94x192/map_0.5x0.5_MODIS_to_94x192_nomask_aave_da_c110823.nc -lnd/clm2/mappingdata/maps/94x192/map_5x5min_nomask_to_94x192_nomask_aave_da_c110823.nc -lnd/clm2/mappingdata/maps/94x192/map_0.5x0.5_USGS_to_94x192_nomask_aave_da_c110823.nc -lnd/clm2/mappingdata/maps/94x192/map_0.9x1.25_GRDC_to_94x192_nomask_aave_da_c190521.nc -lnd/clm2/mappingdata/maps/94x192/map_10x10min_nomask_to_94x192_nomask_aave_da_c110823.nc -lnd/clm2/mappingdata/maps/94x192/map_10x10min_IGBPmergeICESatGIS_to_94x192_nomask_aave_da_c110823.nc -lnd/clm2/mappingdata/maps/94x192/map_3x3min_LandScan2004_to_94x192_nomask_aave_da_c190521.nc -lnd/clm2/mappingdata/maps/94x192/map_360x720cru_cruncep_to_94x192_nomask_aave_da_c190521.nc -lnd/clm2/mappingdata/maps/94x192/map_3x3min_GLOBE-Gardner_to_94x192_nomask_aave_da_c190521.nc -lnd/clm2/mappingdata/maps/94x192/map_0.25x0.25_MODIS_to_94x192_nomask_aave_da_c190521.nc -lnd/clm2/mappingdata/maps/94x192/map_0.5x0.5_AVHRR_to_94x192_nomask_aave_da_c110823.nc -lnd/clm2/mappingdata/maps/94x192/map_5x5min_ISRIC-WISE_to_94x192_nomask_aave_da_c190521.nc -lnd/clm2/mappingdata/maps/94x192/map_3x3min_GLOBE-Gardner-mergeGIS_to_94x192_nomask_aave_da_c190521.nc -lnd/clm2/mappingdata/maps/94x192/map_3x3min_MODISv2_to_94x192_nomask_aave_da_c190521.nc - + -lnd/clm2/mappingdata/maps/ARCTIC/map_3x3min_USGS_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_0.9x1.25_GRDC_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_360x720cru_cruncep_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_5x5min_ISRIC-WISE_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_0.5x0.5_AVHRR_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_3x3min_GLOBE-Gardner_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_5x5min_nomask_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_5x5min_IGBP-GSDP_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_0.5x0.5_MODIS_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_3x3min_MODISv2_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_0.25x0.25_MODIS_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_3x3min_MODIS-wCsp_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_10x10min_nomask_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_5x5min_ORNL-Soil_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_3x3min_LandScan2004_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_10x10min_IGBPmergeICESatGIS_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc - + - + -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_5x5min_nomask_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_0.5x0.5_MODIS_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_3x3min_MODISv2_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_5x5min_ORNL-Soil_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_3x3min_MODIS-wCsp_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_0.5x0.5_AVHRR_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_3x3min_GLOBE-Gardner_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_10x10min_nomask_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_5x5min_ISRIC-WISE_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_360x720cru_cruncep_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_10x10min_IGBPmergeICESatGIS_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_5x5min_IGBP-GSDP_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_0.25x0.25_MODIS_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_3x3min_USGS_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_0.9x1.25_GRDC_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_3x3min_LandScan2004_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc - + - + -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_5x5min_nomask_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_3x3min_MODIS-wCsp_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_5x5min_IGBP-GSDP_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_3x3min_LandScan2004_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_360x720cru_cruncep_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_3x3min_USGS_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_0.9x1.25_GRDC_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_0.5x0.5_AVHRR_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_10x10min_IGBPmergeICESatGIS_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_0.5x0.5_MODIS_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_5x5min_ISRIC-WISE_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_3x3min_MODISv2_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_3x3min_GLOBE-Gardner_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_5x5min_ORNL-Soil_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_10x10min_nomask_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_0.25x0.25_MODIS_to_ne30np4.pg2_nomask_aave_da_c200426.nc - + - + -lnd/clm2/mappingdata/maps/ne30pg3/map_3x3min_USGS_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_0.25x0.25_MODIS_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_5x5min_ORNL-Soil_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_3x3min_LandScan2004_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_5x5min_nomask_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_0.9x1.25_GRDC_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_3x3min_MODISv2_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_5x5min_ISRIC-WISE_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_5x5min_IGBP-GSDP_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_3x3min_MODIS-wCsp_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_3x3min_GLOBE-Gardner_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_10x10min_IGBPmergeICESatGIS_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_360x720cru_cruncep_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_10x10min_nomask_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_0.5x0.5_MODIS_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_0.5x0.5_AVHRR_to_ne30np4.pg3_nomask_aave_da_c200426.nc - + - + -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_10x10min_nomask_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_5x5min_ISRIC-WISE_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_360x720cru_cruncep_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_5x5min_IGBP-GSDP_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_0.25x0.25_MODIS_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_5x5min_nomask_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_3x3min_USGS_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_3x3min_LandScan2004_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_0.5x0.5_MODIS_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_3x3min_MODISv2_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_10x10min_IGBPmergeICESatGIS_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_0.9x1.25_GRDC_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_0.5x0.5_AVHRR_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_5x5min_ORNL-Soil_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_3x3min_MODIS-wCsp_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_3x3min_GLOBE-Gardner_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne120np4.pg2_nomask_aave_da_c200426.nc - + - + -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_0.5x0.5_MODIS_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_5x5min_ORNL-Soil_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_10x10min_IGBPmergeICESatGIS_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_0.25x0.25_MODIS_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_10x10min_nomask_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_3x3min_MODIS-wCsp_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_360x720cru_cruncep_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_3x3min_LandScan2004_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_0.5x0.5_AVHRR_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_3x3min_USGS_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_3x3min_GLOBE-Gardner_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_0.9x1.25_GRDC_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_5x5min_IGBP-GSDP_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_5x5min_ISRIC-WISE_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_5x5min_nomask_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_3x3min_MODISv2_to_ne120np4.pg3_nomask_aave_da_c200426.nc - + diff --git a/cime_config/buildnml b/cime_config/buildnml index f60206a01d..51414113c6 100755 --- a/cime_config/buildnml +++ b/cime_config/buildnml @@ -32,7 +32,7 @@ def buildnml(case, caseroot, compname): ############################################################################### """Build the CTSM namelist """ - # Build the component namelist + # Build the component namelist if compname != "ctsm" and compname != "clm": raise AttributeError @@ -61,6 +61,7 @@ def buildnml(case, caseroot, compname): run_reftod = case.get_value("RUN_REFTOD") glc_nec = case.get_value("GLC_NEC") mask = case.get_value("MASK_GRID") + neonsite = case.get_value("NEONSITE") # ----------------------------------------------------- # Set ctsmconf @@ -71,10 +72,10 @@ def buildnml(case, caseroot, compname): os.makedirs(ctsmconf) # ----------------------------------------------------- - # Create config_cache.xml file + # Create config_cache.xml file # ----------------------------------------------------- - # Note that build-namelist utilizes the contents of the config_cache.xml file in + # Note that build-namelist utilizes the contents of the config_cache.xml file in # the namelist_defaults.xml file to obtain namelist variables clm_phys = case.get_value("CLM_PHYSICS_VERSION") @@ -145,15 +146,15 @@ def buildnml(case, caseroot, compname): ignore = "-ignore_ic_date" tuning = "-lnd_tuning_mode %s "%lnd_tuning_mode - + spinup = "-clm_accelerated_spinup %s "%clm_accelerated_spinup - + infile = os.path.join(ctsmconf, "namelist") - + inputdata_file = os.path.join(caseroot,"Buildconf","ctsm.input_data_list") - + lndfrac_file = os.path.join(lnd_domain_path,lnd_domain_file) - + config_cache_file = os.path.join(caseroot,"Buildconf", compname+"conf","config_cache.xml") # ----------------------------------------------------- @@ -177,7 +178,7 @@ def buildnml(case, caseroot, compname): # If multi-instance case does not have restart file, use # single-case restart for each instance - rpointer = "rpointer.lnd" + rpointer = "rpointer.lnd" if (os.path.isfile(os.path.join(rundir,rpointer)) and (not os.path.isfile(os.path.join(rundir,rpointer + inst_string)))): shutil.copy(os.path.join(rundir, rpointer), @@ -220,7 +221,7 @@ def buildnml(case, caseroot, compname): "-configuration %s -structure %s " "-lnd_frac %s -glc_nec %s -co2_ppmv %s -co2_type %s -config %s " "%s %s %s %s" - %(cmd, _CIMEROOT, infile, din_loc_root, inputdata_file, ignore, start_ymd, clm_namelist_opts, + %(cmd, _CIMEROOT, infile, din_loc_root, inputdata_file, ignore, start_ymd, clm_namelist_opts, nomeg, usecase, lnd_grid, clmusr, start_type, caseroot, configuration, structure, lndfrac_file, glc_nec, ccsm_co2_ppmv, clm_co2_type, config_cache_file, @@ -233,6 +234,16 @@ def buildnml(case, caseroot, compname): if err is not None: logger.debug(" %s"%err) + # ----------------------------------------------------- + # Resolve NEON site in namelist if needed + # ---------------------------------------------------- + if neonsite: + os.rename(os.path.join(ctsmconf,"lnd_in"), os.path.join(ctsmconf,"lnd_in.unresolved")) + with open(os.path.join(ctsmconf,'lnd_in.unresolved'),"r") as fi, open(os.path.join(ctsmconf,"lnd_in"),"w") as fo: + for line in fi.readlines(): + line = line.replace('${NEONSITE}',neonsite) + fo.write(line) + # ----------------------------------------------------- # copy resolved namelist to rundir # ----------------------------------------------------- diff --git a/cime_config/config_component.xml b/cime_config/config_component.xml index 51f8e4bd96..2adaf2a33a 100644 --- a/cime_config/config_component.xml +++ b/cime_config/config_component.xml @@ -75,6 +75,7 @@ clm5_0_CRUv7 clm5_0_CRUv7 clm5_0_GSWP3v1 + clm5_0_GSWP3v1 clm5_0_cam6.0 clm5_1_GSWP3v1 @@ -138,20 +139,20 @@ 2010_control - 2000_control - 1850_control + 2000_control + 1850_control 1850_noanthro_control 20thC_transient - 1850-2100_SSP5-8.5_transient - 1850-2100_SSP1-2.6_transient - 1850-2100_SSP3-7.0_transient - 1850-2100_SSP5-3.4_transient - 1850-2100_SSP2-4.5_transient - 1850-2100_SSP1-1.9_transient - 1850-2100_SSP4-3.4_transient - 1850-2100_SSP4-6.0_transient - 1850-2100_SSP5-8.5_transient - 20thC_transient + 1850-2100_SSP5-8.5_transient + 1850-2100_SSP1-2.6_transient + 1850-2100_SSP3-7.0_transient + 1850-2100_SSP5-3.4_transient + 1850-2100_SSP2-4.5_transient + 1850-2100_SSP1-1.9_transient + 1850-2100_SSP4-3.4_transient + 1850-2100_SSP4-6.0_transient + 1850-2100_SSP5-8.5_transient + 20thC_transient 1850-2100_SSP5-8.5_transient run_component_ctsm @@ -168,33 +169,33 @@ char - -bgc sp - -bgc cn - -bgc bgc - -bgc cn -crop - -bgc bgc -crop - -bgc cn -dynamic_vegetation - -bgc bgc -dynamic_vegetation - -bgc cn -dynamic_vegetation -crop - -bgc bgc -dynamic_vegetation -crop - -bgc sp -vichydro - -bgc fates -no-megan + -bgc sp + -bgc cn + -bgc bgc + -bgc cn -crop + -bgc bgc -crop + -bgc cn -dynamic_vegetation + -bgc bgc -dynamic_vegetation + -bgc cn -dynamic_vegetation -crop + -bgc bgc -dynamic_vegetation -crop + -bgc sp -vichydro + -bgc fates -no-megan - -bgc sp - -bgc bgc - -bgc bgc -dynamic_vegetation - -bgc bgc -crop - -bgc cn - -bgc cn -crop - -bgc cn -dynamic_vegetation - -bgc cn -dynamic_vegetation -crop - -bgc bgc -dynamic_vegetation -crop - -bgc sp -vichydro + -bgc sp + -bgc bgc + -bgc bgc -dynamic_vegetation + -bgc bgc -crop + -bgc cn + -bgc cn -crop + -bgc cn -dynamic_vegetation + -bgc cn -dynamic_vegetation -crop + -bgc bgc -dynamic_vegetation -crop + -bgc sp -vichydro -bgc fates -no-megan - -bgc sp - -bgc bgc - -bgc bgc -crop + -bgc sp + -bgc bgc + -bgc bgc -crop -bgc fates -no-megan run_component_ctsm @@ -288,6 +289,24 @@ User mods to apply to specific compset matches. + + char + ABBY,CLBJ,HARV,NIWO,ORNL,SCBI,SRER,TOOL,WOOD,YELL, + BONA,CPER,KONZ,ONAQ,OSBS,SJER,TALL,UNDE,WREF + + + run_component_ctsm + env_run.xml + Name of site for NEON tower data + + + + + + + + + ========================================= CLM naming conventions diff --git a/cime_config/config_compsets.xml b/cime_config/config_compsets.xml index e9324aec19..d0c71ed74f 100644 --- a/cime_config/config_compsets.xml +++ b/cime_config/config_compsets.xml @@ -41,6 +41,11 @@ 2000_DATM%1PT_CLM51%SP_SICE_SOCN_SROF_SGLC_SWAV + + I1PtClm50Bgc-NEON + 2000_DATM%NEON_CLM50%BGC_SICE_SOCN_SROF_SGLC_SWAV + + I1PtClm50SpRs 2000_DATM%1PT_CLM50%SP_SICE_SOCN_SROF_SGLC_SWAV @@ -536,31 +541,31 @@ - 1850-01-01 + 1850-01-01 2000-01-01 2010-01-01 - 2015-01-01 - 1980-01-15 - 1997-12-31 - 1993-12-01 - 1992-08-12 - 0001-08-12 + 2015-01-01 + 1980-01-15 + 1997-12-31 + 1993-12-01 + 1992-08-12 + 0001-08-12 - nsteps - nsteps - nsteps + nsteps + nsteps + nsteps - 158 - 331 - 22772 + 158 + 331 + 22772 From 9e724d71e6035558c4e155a69c6f31342563b540 Mon Sep 17 00:00:00 2001 From: Bill Sacks Date: Wed, 10 Feb 2021 14:56:02 -0700 Subject: [PATCH 10/82] Remove whitespace changes from namelist_defaults_ctsm.xml Procedure was the following (based on https://stackoverflow.com/questions/13793241/make-git-undo-any-whitespace-only-changes/45486981): git checkout ctsm5.1.dev021 -- bld/namelist_files/namelist_defaults_ctsm.xml git diff -U0 -w 6795fd38c^! -- bld/namelist_files/namelist_defaults_ctsm.xml | git apply --ignore-whitespace --unidiff-zero git add -u --- bld/namelist_files/namelist_defaults_ctsm.xml | 1066 ++++++++--------- 1 file changed, 533 insertions(+), 533 deletions(-) diff --git a/bld/namelist_files/namelist_defaults_ctsm.xml b/bld/namelist_files/namelist_defaults_ctsm.xml index f6f9a15009..828b769d3d 100644 --- a/bld/namelist_files/namelist_defaults_ctsm.xml +++ b/bld/namelist_files/namelist_defaults_ctsm.xml @@ -345,10 +345,10 @@ attributes from the config_cache.xml file (with keys converted to upper-case). 2 3 -60. +60. 1.e-8 -1.e-1 -1.e-2 +1.e-1 +1.e-2 42 1 1 @@ -596,7 +596,7 @@ attributes from the config_cache.xml file (with keys converted to upper-case). .true. - + .false. - @@ -749,42 +749,42 @@ attributes from the config_cache.xml file (with keys converted to upper-case). hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.true. irrigate=.true. glc_nec=10 hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.true. irrigate=.true. glc_nec=10 hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.true. irrigate=.true. glc_nec=10 hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.true. irrigate=.true. glc_nec=10 hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.true. irrigate=.true. glc_nec=10 hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.true. irrigate=.true. glc_nec=10 hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.true. irrigate=.true. glc_nec=10 hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.true. irrigate=.true. glc_nec=10 @@ -825,7 +825,7 @@ p hgrid=ne0np4CONUS.ne30x8 maxpft=17 mask=tx0.1v2 use_cn=.false. use_nitrif_denitrif=.false. use_vertsoilc=.false. use_crop=.false. irrigate=.true. glc_nec=10 @@ -1273,7 +1273,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts lnd/clm2/surfdata_map/release-clm5.0.30/landuse.timeseries_C96_SSP5-8.5_78pfts_CMIP6_simyr1850-2100_c200317.nc -lnd/clm2/surfdata_map/release-clm5.0.30/landuse.timeseries_ne30np4_SSP5-8.5_78pfts_CMIP6_simyr1850-2100_c200426.nc lnd/clm2/surfdata_map/release-clm5.0.30/landuse.timeseries_ne30np4.pg2_SSP5-8.5_78pfts_CMIP6_simyr1850-2100_c200426.nc @@ -1738,13 +1738,13 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts 1850 2106 -lnd/clm2/urbandata/CLM50_tbuildmax_Oleson_2016_0.9x1.25_simyr1849-2106_c160923.nc -lnd/clm2/urbandata/CLM50_tbuildmax_Oleson_2016_0.9x1.25_simyr1849-2106_c160923.nc -lnd/clm2/urbandata/CLM45_tbuildmax_Oleson_2016_0.9x1.25_simyr1849-2106_c160923.nc nn @@ -1790,440 +1790,440 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts - + -lnd/clm2/mappingdata/maps/0.1x0.1/map_0.1x0.1_nomask_to_0.1x0.1_nomask_aave_da_c120406.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_0.5x0.5_AVHRR_to_0.1x0.1_nomask_aave_da_c120406.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_0.5x0.5_MODIS_to_0.1x0.1_nomask_aave_da_c120406.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_0.25x0.25_MODIS_to_0.1x0.1_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_0.5x0.5_nomask_to_0.1x0.1_nomask_aave_da_c120406.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_10x10min_nomask_to_0.1x0.1_nomask_aave_da_c120406.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_3x3min_MODIS_to_0.1x0.1_nomask_aave_da_c120406.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_3x3min_MODIS-wCsp_to_0.1x0.1_nomask_aave_da_c160425.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_5x5min_IGBP-GSDP_to_0.1x0.1_nomask_aave_da_c120406.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_5x5min_ISRIC-WISE_to_0.1x0.1_nomask_aave_da_c120406.nc lnd/clm2/mappingdata/maps/0.1x0.1/map_5x5min_ORNL-Soil_to_0.1x0.1_nomask_aave_da_c170706.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_5x5min_nomask_to_0.1x0.1_nomask_aave_da_c120406.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_ne120np4_nomask_to_0.1x0.1_nomask_aave_da_c120711.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_4x5_nomask_to_0.1x0.1_nomask_aave_da_c120706.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_1.9x2.5_nomask_to_0.1x0.1_nomask_aave_da_c120709.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_ne240np4_nomask_to_0.1x0.1_nomask_aave_da_c120711.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_0.9x1.25_GRDC_to_0.1x0.1_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_360x720_cruncep_to_0.1x0.1_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_1km-merge-10min_HYDRO1K-merge-nomask_to_0.1x0.1_nomask_aave_da_c130405.nc - + - + -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_0.5x0.5_AVHRR_to_1x1_asphaltjungleNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_0.5x0.5_MODIS_to_1x1_asphaltjungleNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_0.25x0.25_MODIS_to_1x1_asphaltjungleNJ_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_0.5x0.5_nomask_to_1x1_asphaltjungleNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_10x10min_nomask_to_1x1_asphaltjungleNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_3x3min_MODIS_to_1x1_asphaltjungleNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_3x3min_MODISv2_to_1x1_asphaltjungleNJ_nomask_aave_da_c190507.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_3x3min_MODIS-wCsp_to_1x1_asphaltjungleNJ_nomask_aave_da_c160425.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_3x3min_USGS_to_1x1_asphaltjungleNJ_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_3x3min_LandScan2004_to_1x1_asphaltjungleNJ_nomask_aave_da_c121114.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_5x5min_IGBP-GSDP_to_1x1_asphaltjungleNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_5x5min_ISRIC-WISE_to_1x1_asphaltjungleNJ_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_5x5min_ORNL-Soil_to_1x1_asphaltjungleNJ_nomask_aave_da_c170706.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_5x5min_nomask_to_1x1_asphaltjungleNJ_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_3x3min_GLOBE-Gardner_to_1x1_asphaltjungleNJ_nomask_aave_da_c120927.nc lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_3x3min_GLOBE-Gardner-mergeGIS_to_1x1_asphaltjungleNJ_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_0.9x1.25_GRDC_to_1x1_asphaltjungleNJ_nomask_aave_da_c130309.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_360x720_cruncep_to_1x1_asphaltjungleNJ_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_1km-merge-10min_HYDRO1K-merge-nomask_to_1x1_asphaltjungleNJ_nomask_aave_da_c130403.nc - + - + -lnd/clm2/mappingdata/maps/1x1_brazil/map_0.5x0.5_AVHRR_to_1x1_brazil_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_0.5x0.5_MODIS_to_1x1_brazil_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_0.25x0.25_MODIS_to_1x1_brazil_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_0.5x0.5_nomask_to_1x1_brazil_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_10x10min_nomask_to_1x1_brazil_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_3x3min_MODIS_to_1x1_brazil_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_3x3min_MODISv2_to_1x1_brazil_nomask_aave_da_c190507.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_3x3min_MODIS-wCsp_to_1x1_brazil_nomask_aave_da_c160425.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_3x3min_USGS_to_1x1_brazil_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_3x3min_LandScan2004_to_1x1_brazil_nomask_aave_da_c121114.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_5x5min_IGBP-GSDP_to_1x1_brazil_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_5x5min_ISRIC-WISE_to_1x1_brazil_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_brazil/map_5x5min_ORNL-Soil_to_1x1_brazil_nomask_aave_da_c170706.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_5x5min_nomask_to_1x1_brazil_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_brazil/map_3x3min_GLOBE-Gardner_to_1x1_brazil_nomask_aave_da_c120927.nc lnd/clm2/mappingdata/maps/1x1_brazil/map_3x3min_GLOBE-Gardner-mergeGIS_to_1x1_brazil_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_0.9x1.25_GRDC_to_1x1_brazil_nomask_aave_da_c130309.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_360x720_cruncep_to_1x1_brazil_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_1km-merge-10min_HYDRO1K-merge-nomask_to_1x1_brazil_nomask_aave_da_c130403.nc - + - + -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_0.5x0.5_AVHRR_to_1x1_camdenNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_0.5x0.5_MODIS_to_1x1_camdenNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_0.25x0.25_MODIS_to_1x1_camdenNJ_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_0.5x0.5_nomask_to_1x1_camdenNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_10x10min_nomask_to_1x1_camdenNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_3x3min_MODIS_to_1x1_camdenNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_3x3min_MODISv2_to_1x1_camdenNJ_nomask_aave_da_c190506.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_3x3min_MODIS-wCsp_to_1x1_camdenNJ_nomask_aave_da_c160425.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_3x3min_USGS_to_1x1_camdenNJ_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_3x3min_LandScan2004_to_1x1_camdenNJ_nomask_aave_da_c121114.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_5x5min_IGBP-GSDP_to_1x1_camdenNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_5x5min_ISRIC-WISE_to_1x1_camdenNJ_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_5x5min_ORNL-Soil_to_1x1_camdenNJ_nomask_aave_da_c170706.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_5x5min_nomask_to_1x1_camdenNJ_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_3x3min_GLOBE-Gardner_to_1x1_camdenNJ_nomask_aave_da_c120927.nc lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_3x3min_GLOBE-Gardner-mergeGIS_to_1x1_camdenNJ_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_0.9x1.25_GRDC_to_1x1_camdenNJ_nomask_aave_da_c130309.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_360x720_cruncep_to_1x1_camdenNJ_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_1km-merge-10min_HYDRO1K-merge-nomask_to_1x1_camdenNJ_nomask_aave_da_c130403.nc - + - + -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_0.5x0.5_AVHRR_to_1x1_mexicocityMEX_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_0.5x0.5_MODIS_to_1x1_mexicocityMEX_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_0.25x0.25_MODIS_to_1x1_mexicocityMEX_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_0.5x0.5_nomask_to_1x1_mexicocityMEX_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_10x10min_nomask_to_1x1_mexicocityMEX_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_3x3min_MODIS_to_1x1_mexicocityMEX_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_3x3min_MODISv2_to_1x1_mexicocityMEX_nomask_aave_da_c190507.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_3x3min_MODIS-wCsp_to_1x1_mexicocityMEX_nomask_aave_da_c160425.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_3x3min_USGS_to_1x1_mexicocityMEX_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_3x3min_LandScan2004_to_1x1_mexicocityMEX_nomask_aave_da_c121114.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_5x5min_IGBP-GSDP_to_1x1_mexicocityMEX_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_5x5min_ISRIC-WISE_to_1x1_mexicocityMEX_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_5x5min_ORNL-Soil_to_1x1_mexicocityMEX_nomask_aave_da_c170706.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_5x5min_nomask_to_1x1_mexicocityMEX_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_3x3min_GLOBE-Gardner_to_1x1_mexicocityMEX_nomask_aave_da_c120927.nc lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_3x3min_GLOBE-Gardner-mergeGIS_to_1x1_mexicocityMEX_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_0.9x1.25_GRDC_to_1x1_mexicocityMEX_nomask_aave_da_c130309.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_360x720_cruncep_to_1x1_mexicocityMEX_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_1km-merge-10min_HYDRO1K-merge-nomask_to_1x1_mexicocityMEX_nomask_aave_da_c130403.nc - + - + -lnd/clm2/mappingdata/maps/1x1_numaIA/map_0.5x0.5_AVHRR_to_1x1_numaIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_0.5x0.5_MODIS_to_1x1_numaIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_0.25x0.25_MODIS_to_1x1_numaIA_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_0.5x0.5_nomask_to_1x1_numaIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_10x10min_nomask_to_1x1_numaIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_3x3min_MODIS_to_1x1_numaIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_3x3min_MODISv2_to_1x1_numaIA_nomask_aave_da_c190507.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_3x3min_MODIS-wCsp_to_1x1_numaIA_nomask_aave_da_c160425.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_3x3min_USGS_to_1x1_numaIA_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_3x3min_LandScan2004_to_1x1_numaIA_nomask_aave_da_c121114.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_5x5min_IGBP-GSDP_to_1x1_numaIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_5x5min_ISRIC-WISE_to_1x1_numaIA_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_numaIA/map_5x5min_ORNL-Soil_to_1x1_numaIA_nomask_aave_da_c170706.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_5x5min_nomask_to_1x1_numaIA_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_numaIA/map_3x3min_GLOBE-Gardner_to_1x1_numaIA_nomask_aave_da_c120927.nc lnd/clm2/mappingdata/maps/1x1_numaIA/map_3x3min_GLOBE-Gardner-mergeGIS_to_1x1_numaIA_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_0.9x1.25_GRDC_to_1x1_numaIA_nomask_aave_da_c130309.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_360x720_cruncep_to_1x1_numaIA_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_1km-merge-10min_HYDRO1K-merge-nomask_to_1x1_numaIA_nomask_aave_da_c130403.nc - + - + -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_0.5x0.5_AVHRR_to_1x1_smallvilleIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_0.5x0.5_MODIS_to_1x1_smallvilleIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_0.25x0.25_MODIS_to_1x1_smallvilleIA_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_0.5x0.5_nomask_to_1x1_smallvilleIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_10x10min_nomask_to_1x1_smallvilleIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_3x3min_MODIS_to_1x1_smallvilleIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_3x3min_MODISv2_to_1x1_smallvilleIA_nomask_aave_da_c190507.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_3x3min_MODIS-wCsp_to_1x1_smallvilleIA_nomask_aave_da_c160425.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_3x3min_USGS_to_1x1_smallvilleIA_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_3x3min_LandScan2004_to_1x1_smallvilleIA_nomask_aave_da_c121114.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_5x5min_IGBP-GSDP_to_1x1_smallvilleIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_5x5min_ISRIC-WISE_to_1x1_smallvilleIA_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_5x5min_ORNL-Soil_to_1x1_smallvilleIA_nomask_aave_da_c170706.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_5x5min_nomask_to_1x1_smallvilleIA_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_3x3min_GLOBE-Gardner_to_1x1_smallvilleIA_nomask_aave_da_c120927.nc lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_3x3min_GLOBE-Gardner-mergeGIS_to_1x1_smallvilleIA_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_0.9x1.25_GRDC_to_1x1_smallvilleIA_nomask_aave_da_c130309.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_360x720_cruncep_to_1x1_smallvilleIA_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_1km-merge-10min_HYDRO1K-merge-nomask_to_1x1_smallvilleIA_nomask_aave_da_c130403.nc - + - + -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_0.5x0.5_AVHRR_to_1x1_urbanc_alpha_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_0.5x0.5_MODIS_to_1x1_urbanc_alpha_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_0.25x0.25_MODIS_to_1x1_urbanc_alpha_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_0.5x0.5_nomask_to_1x1_urbanc_alpha_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_10x10min_nomask_to_1x1_urbanc_alpha_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_3x3min_MODIS_to_1x1_urbanc_alpha_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_3x3min_MODISv2_to_1x1_urbanc_alpha_nomask_aave_da_c190507.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_3x3min_MODIS-wCsp_to_1x1_urbanc_alpha_nomask_aave_da_c160425.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_3x3min_USGS_to_1x1_urbanc_alpha_nomask_aave_da_c120928.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_3x3min_LandScan2004_to_1x1_urbanc_alpha_nomask_aave_da_c121114.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_5x5min_IGBP-GSDP_to_1x1_urbanc_alpha_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_5x5min_ISRIC-WISE_to_1x1_urbanc_alpha_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_5x5min_ORNL-Soil_to_1x1_urbanc_alpha_nomask_aave_da_c170706.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_5x5min_nomask_to_1x1_urbanc_alpha_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_3x3min_GLOBE-Gardner_to_1x1_urbanc_alpha_nomask_aave_da_c120927.nc lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_3x3min_GLOBE-Gardner-mergeGIS_to_1x1_urbanc_alpha_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_0.9x1.25_GRDC_to_1x1_urbanc_alpha_nomask_aave_da_c130309.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_360x720_cruncep_to_1x1_urbanc_alpha_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_1km-merge-10min_HYDRO1K-merge-nomask_to_1x1_urbanc_alpha_nomask_aave_da_c130403.nc - + - + -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_0.5x0.5_AVHRR_to_1x1_vancouverCAN_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_0.5x0.5_MODIS_to_1x1_vancouverCAN_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_0.25x0.25_MODIS_to_1x1_vancouverCAN_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_0.5x0.5_nomask_to_1x1_vancouverCAN_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_10x10min_nomask_to_1x1_vancouverCAN_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_3x3min_MODIS_to_1x1_vancouverCAN_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_3x3min_MODISv2_to_1x1_vancouverCAN_nomask_aave_da_c190506.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_3x3min_MODIS-wCsp_to_1x1_vancouverCAN_nomask_aave_da_c160425.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_3x3min_USGS_to_1x1_vancouverCAN_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_3x3min_LandScan2004_to_1x1_vancouverCAN_nomask_aave_da_c121114.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_5x5min_IGBP-GSDP_to_1x1_vancouverCAN_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_5x5min_ISRIC-WISE_to_1x1_vancouverCAN_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_5x5min_ORNL-Soil_to_1x1_vancouverCAN_nomask_aave_da_c170706.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_5x5min_nomask_to_1x1_vancouverCAN_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_3x3min_GLOBE-Gardner_to_1x1_vancouverCAN_nomask_aave_da_c120927.nc lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_3x3min_GLOBE-Gardner-mergeGIS_to_1x1_vancouverCAN_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_0.9x1.25_GRDC_to_1x1_vancouverCAN_nomask_aave_da_c130309.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_360x720_cruncep_to_1x1_vancouverCAN_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_1km-merge-10min_HYDRO1K-merge-nomask_to_1x1_vancouverCAN_nomask_aave_da_c130403.nc - + - + -lnd/clm2/mappingdata/maps/0.47x0.63/map_0.25x0.25_MODIS_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_0.5x0.5_AVHRR_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_0.5x0.5_MODIS_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_0.9x1.25_GRDC_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_10x10min_IGBPmergeICESatGIS_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_10x10min_nomask_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_1km-merge-10min_HYDRO1K-merge-nomask_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_360x720cru_cruncep_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_3x3min_GLOBE-Gardner-mergeGIS_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_3x3min_GLOBE-Gardner_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_3x3min_LandScan2004_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_3x3min_MODISv2_to_0.47x0.63_nomask_aave_da_c190505.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_3x3min_MODIS-wCsp_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_3x3min_USGS_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_5x5min_IGBP-GSDP_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_5x5min_ISRIC-WISE_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_5x5min_nomask_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_5x5min_ORNL-Soil_to_0.47x0.63_nomask_aave_da_c170914.nc - + -lnd/clm2/mappingdata/maps/0.9x1.25/map_0.5x0.5_landuse_to_0.9x1.25_aave_da_110307.nc -lnd/clm2/mappingdata/maps/0.9x1.25/map_0.25x0.25_MODIS_to_0.9x1.25_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/0.9x1.25/map_0.5x0.5_lanwat_to_0.9x1.25_aave_da_110307.nc lnd/clm2/mappingdata/maps/0.9x1.25/map_10minx10min_topo_to_0.9x1.25_aave_da_110630.nc @@ -2237,7 +2237,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/0.9x1.25/map_5x5min_ORNL-Soil_to_0.9x1.25_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/0.9x1.25/map_3x3min_MODIS_to_0.9x1.25_nomask_aave_da_c120523.nc -lnd/clm2/mappingdata/maps/0.9x1.25/map_3x3min_MODISv2_to_0.9x1.25_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/0.9x1.25/map_3x3min_MODIS-wCsp_to_0.9x1.25_nomask_aave_da_c160425.nc @@ -2249,18 +2249,18 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/0.9x1.25/map_3x3min_GLOBE-Gardner_to_0.9x1.25_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/0.9x1.25/map_3x3min_GLOBE-Gardner-mergeGIS_to_0.9x1.25_nomask_aave_da_c120923.nc -lnd/clm2/mappingdata/maps/0.9x1.25/map_0.9x1.25_GRDC_to_0.9x1.25_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/0.9x1.25/map_360x720_cruncep_to_0.9x1.25_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/0.9x1.25/map_1km-merge-10min_HYDRO1K-merge-nomask_to_0.9x1.25_nomask_aave_da_c130405.nc -lnd/clm2/mappingdata/maps/1.9x2.5/map_0.5x0.5_landuse_to_1.9x2.5_aave_da_110307.nc -lnd/clm2/mappingdata/maps/1.9x2.5/map_0.25x0.25_MODIS_to_1.9x2.5_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/1.9x2.5/map_0.5x0.5_lanwat_to_1.9x2.5_aave_da_110307.nc lnd/clm2/mappingdata/maps/1.9x2.5/map_10minx10min_topo_to_1.9x2.5_aave_da_110307.nc @@ -2274,7 +2274,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/1.9x2.5/map_5x5min_ORNL-Soil_to_1.9x2.5_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/1.9x2.5/map_3x3min_MODIS_to_1.9x2.5_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/1.9x2.5/map_3x3min_MODISv2_to_1.9x2.5_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/1.9x2.5/map_3x3min_MODIS-wCsp_to_1.9x2.5_nomask_aave_da_c160425.nc @@ -2286,19 +2286,19 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/1.9x2.5/map_3x3min_GLOBE-Gardner_to_1.9x2.5_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/1.9x2.5/map_3x3min_GLOBE-Gardner-mergeGIS_to_1.9x2.5_nomask_aave_da_c120923.nc -lnd/clm2/mappingdata/maps/1.9x2.5/map_0.9x1.25_GRDC_to_1.9x2.5_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/1.9x2.5/map_360x720_cruncep_to_1.9x2.5_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/1.9x2.5/map_1km-merge-10min_HYDRO1K-merge-nomask_to_1.9x2.5_nomask_aave_da_c130405.nc -lnd/clm2/mappingdata/maps/10x15/map_0.5x0.5_landuse_to_10x15_aave_da_110307.nc -lnd/clm2/mappingdata/maps/10x15/map_0.25x0.25_MODIS_to_10x15_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/10x15/map_0.5x0.5_lanwat_to_10x15_aave_da_110307.nc lnd/clm2/mappingdata/maps/10x15/map_10minx10min_topo_to_10x15_aave_da_110307.nc @@ -2312,7 +2312,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/10x15/map_5x5min_ORNL-Soil_to_10x15_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/10x15/map_3x3min_MODIS_to_10x15_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/10x15/map_3x3min_MODISv2_to_10x15_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/10x15/map_3x3min_MODIS-wCsp_to_10x15_nomask_aave_da_c160425.nc @@ -2324,18 +2324,18 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/10x15/map_3x3min_GLOBE-Gardner_to_10x15_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/10x15/map_3x3min_GLOBE-Gardner-mergeGIS_to_10x15_nomask_aave_da_c120923.nc -lnd/clm2/mappingdata/maps/10x15/map_0.9x1.25_GRDC_to_10x15_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/10x15/map_360x720_cruncep_to_10x15_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/10x15/map_1km-merge-10min_HYDRO1K-merge-nomask_to_10x15_nomask_aave_da_c130411.nc -lnd/clm2/mappingdata/maps/360x720/map_0.5x0.5_MODIS_to_360x720_nomask_aave_da_c120830.nc -lnd/clm2/mappingdata/maps/360x720/map_0.25x0.25_MODIS_to_360x720cru_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/360x720/map_0.5x0.5_AVHRR_to_360x720_nomask_aave_da_c120830.nc lnd/clm2/mappingdata/maps/360x720/map_10x10min_nomask_to_360x720_nomask_aave_da_c120830.nc @@ -2349,7 +2349,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/360x720/map_5x5min_ORNL-Soil_to_360x720cru_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/360x720/map_3x3min_MODIS_to_360x720_nomask_aave_da_c120830.nc -lnd/clm2/mappingdata/maps/360x720/map_3x3min_MODISv2_to_360x720cru_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/360x720/map_3x3min_MODIS-wCsp_to_360x720cru_nomask_aave_da_c160425.nc @@ -2361,19 +2361,19 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/360x720/map_3x3min_GLOBE-Gardner_to_360x720_nomask_aave_da_c121128.nc lnd/clm2/mappingdata/maps/360x720/map_3x3min_GLOBE-Gardner-mergeGIS_to_360x720_nomask_aave_da_c121128.nc -lnd/clm2/mappingdata/maps/360x720/map_0.9x1.25_GRDC_to_360x720_nomask_aave_da_c130309.nc -lnd/clm2/mappingdata/maps/360x720/map_360x720_cruncep_to_360x720_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/360x720/map_1km-merge-10min_HYDRO1K-merge-nomask_to_360x720_nomask_aave_da_c130403.nc -lnd/clm2/mappingdata/maps/512x1024/map_0.5x0.5_MODIS_to_512x1024_nomask_aave_da_c110920.nc -lnd/clm2/mappingdata/maps/512x1024/map_0.25x0.25_MODIS_to_512x1024_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/512x1024/map_0.5x0.5_AVHRR_to_512x1024_nomask_aave_da_c110920.nc lnd/clm2/mappingdata/maps/512x1024/map_10x10min_nomask_to_512x1024_nomask_aave_da_c110920.nc @@ -2387,7 +2387,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/512x1024/map_5x5min_ORNL-Soil_to_512x1024_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/512x1024/map_3x3min_MODIS_to_512x1024_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/512x1024/map_3x3min_MODISv2_to_512x1024_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/512x1024/map_3x3min_MODIS-wCsp_to_512x1024_nomask_aave_da_c160425.nc @@ -2399,19 +2399,19 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/512x1024/map_3x3min_GLOBE-Gardner_to_512x1024_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/512x1024/map_3x3min_GLOBE-Gardner-mergeGIS_to_512x1024_nomask_aave_da_c120923.nc -lnd/clm2/mappingdata/maps/512x1024/map_0.9x1.25_GRDC_to_512x1024_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/512x1024/map_360x720_cruncep_to_512x1024_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/512x1024/map_1km-merge-10min_HYDRO1K-merge-nomask_to_512x1024_nomask_aave_da_c130403.nc -lnd/clm2/mappingdata/maps/128x256/map_0.5x0.5_MODIS_to_128x256_nomask_aave_da_c110920.nc -lnd/clm2/mappingdata/maps/128x256/map_0.25x0.25_MODIS_to_128x256_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/128x256/map_0.5x0.5_AVHRR_to_128x256_nomask_aave_da_c110920.nc lnd/clm2/mappingdata/maps/128x256/map_10x10min_nomask_to_128x256_nomask_aave_da_c110920.nc @@ -2425,7 +2425,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/128x256/map_5x5min_ORNL-Soil_to_128x256_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/128x256/map_3x3min_MODIS_to_128x256_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/128x256/map_3x3min_MODISv2_to_128x256_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/128x256/map_3x3min_MODIS-wCsp_to_128x256_nomask_aave_da_c160425.nc @@ -2437,19 +2437,19 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/128x256/map_3x3min_GLOBE-Gardner_to_128x256_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/128x256/map_3x3min_GLOBE-Gardner-mergeGIS_to_128x256_nomask_aave_da_c120923.nc -lnd/clm2/mappingdata/maps/128x256/map_0.9x1.25_GRDC_to_128x256_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/128x256/map_360x720_cruncep_to_128x256_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/128x256/map_1km-merge-10min_HYDRO1K-merge-nomask_to_128x256_nomask_aave_da_c130403.nc -lnd/clm2/mappingdata/maps/64x128/map_0.5x0.5_MODIS_to_64x128_nomask_aave_da_c110920.nc -lnd/clm2/mappingdata/maps/64x128/map_0.25x0.25_MODIS_to_64x128_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/64x128/map_0.5x0.5_AVHRR_to_64x128_nomask_aave_da_c110920.nc lnd/clm2/mappingdata/maps/64x128/map_10x10min_nomask_to_64x128_nomask_aave_da_c110920.nc @@ -2463,7 +2463,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/64x128/map_5x5min_ORNL-Soil_to_64x128_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/64x128/map_3x3min_MODIS_to_64x128_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/64x128/map_3x3min_MODISv2_to_64x128_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/64x128/map_3x3min_MODIS-wCsp_to_64x128_nomask_aave_da_c160428.nc @@ -2475,18 +2475,18 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/64x128/map_3x3min_GLOBE-Gardner_to_64x128_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/64x128/map_3x3min_GLOBE-Gardner-mergeGIS_to_64x128_nomask_aave_da_c120923.nc -lnd/clm2/mappingdata/maps/64x128/map_0.9x1.25_GRDC_to_64x128_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/64x128/map_360x720_cruncep_to_64x128_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/64x128/map_1km-merge-10min_HYDRO1K-merge-nomask_to_64x128_nomask_aave_da_c130403.nc -lnd/clm2/mappingdata/maps/48x96/map_0.5x0.5_MODIS_to_48x96_nomask_aave_da_c110822.nc -lnd/clm2/mappingdata/maps/48x96/map_0.25x0.25_MODIS_to_48x96_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/48x96/map_0.5x0.5_AVHRR_to_48x96_nomask_aave_da_c110822.nc lnd/clm2/mappingdata/maps/48x96/map_10x10min_nomask_to_48x96_nomask_aave_da_c110822.nc @@ -2500,7 +2500,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/48x96/map_5x5min_ORNL-Soil_to_48x96_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/48x96/map_3x3min_MODIS_to_48x96_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/48x96/map_3x3min_MODISv2_to_48x96_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/48x96/map_3x3min_MODIS-wCsp_to_48x96_nomask_aave_da_c160425.nc @@ -2512,18 +2512,18 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/48x96/map_3x3min_GLOBE-Gardner_to_48x96_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/48x96/map_3x3min_GLOBE-Gardner-mergeGIS_to_48x96_nomask_aave_da_c120923.nc -lnd/clm2/mappingdata/maps/48x96/map_0.9x1.25_GRDC_to_48x96_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/48x96/map_360x720_cruncep_to_48x96_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/48x96/map_1km-merge-10min_HYDRO1K-merge-nomask_to_48x96_nomask_aave_da_c130405.nc -lnd/clm2/mappingdata/maps/4x5/map_0.5x0.5_MODIS_to_4x5_nomask_aave_da_c110822.nc -lnd/clm2/mappingdata/maps/4x5/map_0.25x0.25_MODIS_to_4x5_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/4x5/map_0.5x0.5_AVHRR_to_4x5_nomask_aave_da_c110822.nc lnd/clm2/mappingdata/maps/4x5/map_10x10min_nomask_to_4x5_nomask_aave_da_c110822.nc @@ -2537,7 +2537,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/4x5/map_5x5min_ORNL-Soil_to_4x5_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/4x5/map_3x3min_MODIS_to_4x5_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/4x5/map_3x3min_MODISv2_to_4x5_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/4x5/map_3x3min_MODIS-wCsp_to_4x5_nomask_aave_da_c160425.nc @@ -2549,18 +2549,18 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/4x5/map_3x3min_GLOBE-Gardner_to_4x5_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/4x5/map_3x3min_GLOBE-Gardner-mergeGIS_to_4x5_nomask_aave_da_c120923.nc -lnd/clm2/mappingdata/maps/4x5/map_0.9x1.25_GRDC_to_4x5_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/4x5/map_360x720_cruncep_to_4x5_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/4x5/map_1km-merge-10min_HYDRO1K-merge-nomask_to_4x5_nomask_aave_da_c130411.nc -lnd/clm2/mappingdata/maps/0.23x0.31/map_0.5x0.5_MODIS_to_0.23x0.31_nomask_aave_da_c110920.nc -lnd/clm2/mappingdata/maps/0.23x0.31/map_0.25x0.25_MODIS_to_0.23x0.31_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/0.23x0.31/map_0.5x0.5_AVHRR_to_0.23x0.31_nomask_aave_da_c110920.nc lnd/clm2/mappingdata/maps/0.23x0.31/map_10x10min_nomask_to_0.23x0.31_nomask_aave_da_c110920.nc @@ -2574,7 +2574,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/0.23x0.31/map_5x5min_ORNL-Soil_to_0.23x0.31_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/0.23x0.31/map_3x3min_MODIS_to_0.23x0.31_nomask_aave_da_c110930.nc -lnd/clm2/mappingdata/maps/0.23x0.31/map_3x3min_MODISv2_to_0.23x0.31_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/0.23x0.31/map_3x3min_MODIS-wCsp_to_0.23x0.31_nomask_aave_da_c160425.nc @@ -2588,19 +2588,19 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/0.23x0.31/map_3x3min_GLOBE-Gardner-mergeGIS_to_0.23x0.31_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/0.23x0.31/map_3x3min_LandScan2004_to_0.23x0.31_nomask_aave_da_c120518.nc -lnd/clm2/mappingdata/maps/0.23x0.31/map_0.9x1.25_GRDC_to_0.23x0.31_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/0.23x0.31/map_360x720_cruncep_to_0.23x0.31_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/0.23x0.31/map_1km-merge-10min_HYDRO1K-merge-nomask_to_0.23x0.31_nomask_aave_da_c130405.nc -lnd/clm2/mappingdata/maps/2.5x3.33/map_0.5x0.5_MODIS_to_2.5x3.33_nomask_aave_da_c110823.nc -lnd/clm2/mappingdata/maps/2.5x3.33/map_0.25x0.25_MODIS_to_2.5x3.33_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/2.5x3.33/map_0.5x0.5_AVHRR_to_2.5x3.33_nomask_aave_da_c110823.nc lnd/clm2/mappingdata/maps/2.5x3.33/map_10x10min_nomask_to_2.5x3.33_nomask_aave_da_c110823.nc @@ -2614,7 +2614,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/2.5x3.33/map_5x5min_ORNL-Soil_to_2.5x3.33_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/2.5x3.33/map_3x3min_MODIS_to_2.5x3.33_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/2.5x3.33/map_3x3min_MODISv2_to_2.5x3.33_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/2.5x3.33/map_3x3min_MODIS-wCsp_to_2.5x3.33_nomask_aave_da_c160425.nc @@ -2626,63 +2626,63 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/2.5x3.33/map_3x3min_GLOBE-Gardner_to_2.5x3.33_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/2.5x3.33/map_3x3min_GLOBE-Gardner-mergeGIS_to_2.5x3.33_nomask_aave_da_c120923.nc -lnd/clm2/mappingdata/maps/2.5x3.33/map_0.9x1.25_GRDC_to_2.5x3.33_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/2.5x3.33/map_360x720_cruncep_to_2.5x3.33_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/2.5x3.33/map_1km-merge-10min_HYDRO1K-merge-nomask_to_2.5x3.33_nomask_aave_da_c130405.nc - + -lnd/clm2/mappingdata/maps/0.5x0.5/map_0.5x0.5_AVHRR_to_0.5x0.5_nomask_aave_da_c111021.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_0.25x0.25_MODIS_to_0.5x0.5_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_0.5x0.5_MODIS_to_0.5x0.5_nomask_aave_da_c111021.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_0.5x0.5_nomask_to_0.5x0.5_nomask_aave_da_c111021.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_10x10min_IGBPmergeICESatGIS_to_0.5x0.5_nomask_aave_da_c111021.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_10x10min_nomask_to_0.5x0.5_nomask_aave_da_c111021.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_5x5min_IGBP-GSDP_to_0.5x0.5_nomask_aave_da_c111021.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_5x5min_nomask_to_0.5x0.5_nomask_aave_da_c111021.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_3x3min_MODIS_to_0.5x0.5_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_3x3min_MODIS-wCsp_to_0.5x0.5_nomask_aave_da_c160425.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_5x5min_ISRIC-WISE_to_0.5x0.5_nomask_aave_da_c111115.nc lnd/clm2/mappingdata/maps/0.5x0.5/map_5x5min_ORNL-Soil_to_0.5x0.5_nomask_aave_da_c170706.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_3x3min_LandScan2004_to_0.5x0.5_nomask_aave_da_c120518.nc lnd/clm2/mappingdata/maps/0.5x0.5/map_3x3min_GLOBE-Gardner_to_0.5x0.5_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/0.5x0.5/map_3x3min_GLOBE-Gardner-mergeGIS_to_0.5x0.5_nomask_aave_da_c120923.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_0.1x0.1_nomask_to_0.5x0.5_nomask_aave_da_c120706.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_ne240np4_nomask_to_0.5x0.5_nomask_aave_da_c120711.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_4x5_nomask_to_0.5x0.5_nomask_aave_da_c120706.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_1.9x2.5_nomask_to_0.5x0.5_nomask_aave_da_c120709.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_ne120np4_nomask_to_0.5x0.5_nomask_aave_da_c120711.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_3x3_USGS_nomask_to_0.5x0.5_nomask_aave_da_c120912.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_0.9x1.25_GRDC_to_0.5x0.5_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_360x720_cruncep_to_0.5x0.5_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_1km-merge-10min_HYDRO1K-merge-nomask_to_0.5x0.5_nomask_aave_da_c130405.nc @@ -2883,11 +2883,11 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/C384/map_C384_nomask_to_0.5x0.5_nomask_aave_da_c181018.nc -lnd/clm2/mappingdata/maps/ne4np4/map_0.5x0.5_MODIS_to_ne4np4_nomask_aave_da_c110923.nc -lnd/clm2/mappingdata/maps/ne4np4/map_0.25x0.25_MODIS_to_ne4np4_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/ne4np4/map_0.5x0.5_AVHRR_to_ne4np4_nomask_aave_da_c110923.nc lnd/clm2/mappingdata/maps/ne4np4/map_10x10min_nomask_to_ne4np4_nomask_aave_da_c110923.nc @@ -2901,7 +2901,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/ne4np4/map_5x5min_ORNL-Soil_to_ne4np4_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/ne4np4/map_3x3min_MODIS_to_ne4np4_nomask_aave_da_c120906.nc -lnd/clm2/mappingdata/maps/ne4np4/map_3x3min_MODISv2_to_ne4np4_nomask_aave_da_c190514.nc lnd/clm2/mappingdata/maps/ne4np4/map_3x3min_MODIS-wCsp_to_ne4np4_nomask_aave_da_c160425.nc @@ -2915,23 +2915,23 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/ne4np4/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne4np4_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/ne4np4/map_3x3min_LandScan2004_to_ne4np4_nomask_aave_da_c120518.nc -lnd/clm2/mappingdata/maps/ne4np4/map_0.9x1.25_GRDC_to_ne4np4_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/ne4np4/map_360x720_cruncep_to_ne4np4_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/ne4np4/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne4np4_nomask_aave_da_c130411.nc lnd/clm2/mappingdata/maps/ne4np4/map_ne4np4_nomask_to_0.5x0.5_nomask_aave_da_c110923.nc -lnd/clm2/mappingdata/maps/ne16np4/map_0.5x0.5_MODIS_to_ne16np4_nomask_aave_da_c110922.nc -lnd/clm2/mappingdata/maps/ne16np4/map_0.25x0.25_MODIS_to_ne16np4_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/ne16np4/map_3x3min_MODISv2_to_ne16np4_nomask_aave_da_c190514.nc -lnd/clm2/mappingdata/maps/ne16np4/map_0.5x0.5_AVHRR_to_ne16np4_nomask_aave_da_c110922.nc lnd/clm2/mappingdata/maps/ne16np4/map_10x10min_nomask_to_ne16np4_nomask_aave_da_c110922.nc @@ -2955,21 +2955,21 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/ne16np4/map_3x3min_GLOBE-Gardner_to_ne16np4_nomask_aave_da_c120924.nc lnd/clm2/mappingdata/maps/ne16np4/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne16np4_nomask_aave_da_c120924.nc -lnd/clm2/mappingdata/maps/ne16np4/map_0.9x1.25_GRDC_to_ne16np4_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/ne16np4/map_360x720_cruncep_to_ne16np4_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/ne16np4/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne16np4_nomask_aave_da_c130408.nc lnd/clm2/mappingdata/maps/ne16np4/map_ne16np4_nomask_to_0.5x0.5_nomask_aave_da_c110922.nc -lnd/clm2/mappingdata/maps/ne30np4/map_0.5x0.5_landuse_to_ne30np4_aave_da_110320.nc -lnd/clm2/mappingdata/maps/ne30np4/map_0.25x0.25_MODIS_to_ne30np4_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/ne30np4/map_0.5x0.5_lanwat_to_ne30np4_aave_da_110320.nc lnd/clm2/mappingdata/maps/ne30np4/map_10minx10min_topo_to_ne30np4_aave_da_110320.nc @@ -2983,7 +2983,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/ne30np4/map_5x5min_ORNL-Soil_to_ne30np4_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/ne30np4/map_3x3min_MODIS_to_ne30np4_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/ne30np4/map_3x3min_MODISv2_to_ne30np4_nomask_aave_da_c190507.nc lnd/clm2/mappingdata/maps/ne30np4/map_3x3min_MODIS-wCsp_to_ne30np4_nomask_aave_da_c160425.nc @@ -2995,21 +2995,21 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/ne30np4/map_3x3min_GLOBE-Gardner_to_ne30np4_nomask_aave_da_c120924.nc lnd/clm2/mappingdata/maps/ne30np4/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne30np4_nomask_aave_da_c120924.nc -lnd/clm2/mappingdata/maps/ne30np4/map_0.9x1.25_GRDC_to_ne30np4_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/ne30np4/map_360x720_cruncep_to_ne30np4_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/ne30np4/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne30np4_nomask_aave_da_c130405.nc lnd/clm2/mappingdata/maps/ne30np4/map_ne30np4_to_0.5x0.5rtm_aave_da_110320.nc -lnd/clm2/mappingdata/maps/ne60np4/map_0.5x0.5_MODIS_to_ne60np4_nomask_aave_da_c110922.nc -lnd/clm2/mappingdata/maps/ne60np4/map_0.25x0.25_MODIS_to_ne60np4_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/ne60np4/map_0.5x0.5_AVHRR_to_ne60np4_nomask_aave_da_c110922.nc lnd/clm2/mappingdata/maps/ne60np4/map_10x10min_nomask_to_ne60np4_nomask_aave_da_c110922.nc @@ -3023,7 +3023,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/ne60np4/map_5x5min_ORNL-Soil_to_ne60np4_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/ne60np4/map_3x3min_MODIS_to_ne60np4_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/ne60np4/map_3x3min_MODISv2_to_ne60np4_nomask_aave_da_c190507.nc lnd/clm2/mappingdata/maps/ne60np4/map_3x3min_MODIS-wCsp_to_ne60np4_nomask_aave_da_c160425.nc @@ -3035,20 +3035,20 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/ne60np4/map_3x3min_GLOBE-Gardner_to_ne60np4_nomask_aave_da_c120924.nc lnd/clm2/mappingdata/maps/ne60np4/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne60np4_nomask_aave_da_c120924.nc -lnd/clm2/mappingdata/maps/ne60np4/map_0.9x1.25_GRDC_to_ne60np4_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/ne60np4/map_360x720_cruncep_to_ne60np4_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/ne60np4/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne60np4_nomask_aave_da_c130405.nc lnd/clm2/mappingdata/maps/ne60np4/map_ne60np4_nomask_to_0.5x0.5_nomask_aave_da_c110922.nc -lnd/clm2/mappingdata/maps/ne120np4/map_0.5x0.5_landuse_to_ne120np4_aave_da_110320.nc -lnd/clm2/mappingdata/maps/ne120np4/map_0.25x0.25_MODIS_to_ne120np4_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/ne120np4/map_0.5x0.5_lanwat_to_ne120np4_aave_da_110320.nc lnd/clm2/mappingdata/maps/ne120np4/map_10minx10min_topo_to_ne120np4_aave_da_110320.nc @@ -3062,7 +3062,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/ne120np4/map_5minx5min_irrig_to_ne120np4_aave_da_110817.nc lnd/clm2/mappingdata/maps/ne120np4/map_3x3min_MODIS_to_ne120np4_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/ne120np4/map_3x3min_MODISv2_to_ne120np4_nomask_aave_da_c190514.nc lnd/clm2/mappingdata/maps/ne120np4/map_3x3min_MODIS-wCsp_to_ne120np4_nomask_aave_da_c160425.nc @@ -3076,20 +3076,20 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/ne120np4/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne120np4_nomask_aave_da_c120924.nc lnd/clm2/mappingdata/maps/ne120np4/map_3x3min_USGS_to_ne120np4_nomask_aave_da_c120913.nc -lnd/clm2/mappingdata/maps/ne120np4/map_0.9x1.25_GRDC_to_ne120np4_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/ne120np4/map_360x720_cruncep_to_ne120np4_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/ne120np4/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne120np4_nomask_aave_da_c130405.nc - + -lnd/clm2/mappingdata/maps/ne120np4/map_0.1x0.1_nomask_to_ne120np4_nomask_aave_da_c120706.nc - + @@ -3135,52 +3135,52 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts - + -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_5x5min_ORNL-Soil_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_3x3min_MODIS-wCsp_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_5x5min_ISRIC-WISE_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_0.9x1.25_GRDC_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_5x5min_nomask_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_3x3min_GLOBE-Gardner_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_3x3min_LandScan2004_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_360x720cru_cruncep_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_5x5min_IGBP-GSDP_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_3x3min_USGS_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_10x10min_nomask_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_3x3min_MODISv2_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_0.5x0.5_AVHRR_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_0.25x0.25_MODIS_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_0.5x0.5_MODIS_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_10x10min_IGBPmergeICESatGIS_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/5x5_amazon/map_0.5x0.5_MODIS_to_5x5_amazon_nomask_aave_da_c110920.nc -lnd/clm2/mappingdata/maps/5x5_amazon/map_0.25x0.25_MODIS_to_5x5_amazon_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/5x5_amazon/map_0.5x0.5_AVHRR_to_5x5_amazon_nomask_aave_da_c110920.nc lnd/clm2/mappingdata/maps/5x5_amazon/map_10x10min_nomask_to_5x5_amazon_nomask_aave_da_c110920.nc @@ -3194,7 +3194,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/5x5_amazon/map_5x5min_ORNL-Soil_to_5x5_amazon_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/5x5_amazon/map_3x3min_MODIS_to_5x5_amazon_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/5x5_amazon/map_3x3min_MODISv2_to_5x5_amazon_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/5x5_amazon/map_3x3min_MODIS-wCsp_to_5x5_amazon_nomask_aave_da_c160425.nc @@ -3206,18 +3206,18 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/5x5_amazon/map_3x3min_GLOBE-Gardner_to_5x5_amazon_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/5x5_amazon/map_3x3min_GLOBE-Gardner-mergeGIS_to_5x5_amazon_nomask_aave_da_c120923.nc -lnd/clm2/mappingdata/maps/5x5_amazon/map_0.9x1.25_GRDC_to_5x5_amazon_nomask_aave_da_c130309.nc -lnd/clm2/mappingdata/maps/5x5_amazon/map_360x720_cruncep_to_5x5_amazon_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/5x5_amazon/map_1km-merge-10min_HYDRO1K-merge-nomask_to_5x5_amazon_nomask_aave_da_c130403.nc -lnd/clm2/mappingdata/maps/ne240np4/map_0.5x0.5_MODIS_to_ne240np4_nomask_aave_da_c110922.nc -lnd/clm2/mappingdata/maps/ne240np4/map_0.25x0.25_MODIS_to_ne240np4_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/ne240np4/map_0.5x0.5_AVHRR_to_ne240np4_nomask_aave_da_c110922.nc lnd/clm2/mappingdata/maps/ne240np4/map_10x10min_nomask_to_ne240np4_nomask_aave_da_c110922.nc @@ -3231,7 +3231,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/ne240np4/map_5x5min_ORNL-Soil_to_ne240np4_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/ne240np4/map_3x3min_MODIS_to_ne240np4_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/ne240np4/map_3x3min_MODISv2_to_ne240np4_nomask_aave_da_c190514.nc lnd/clm2/mappingdata/maps/ne240np4/map_3x3min_MODIS-wCsp_to_ne240np4_nomask_aave_da_c160425.nc @@ -3243,359 +3243,359 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/ne240np4/map_3x3min_GLOBE-Gardner_to_ne240np4_nomask_aave_da_c120925.nc lnd/clm2/mappingdata/maps/ne240np4/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne240np4_nomask_aave_da_c120925.nc -lnd/clm2/mappingdata/maps/ne240np4/map_0.9x1.25_GRDC_to_ne240np4_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/ne240np4/map_360x720_cruncep_to_ne240np4_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/ne240np4/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne240np4_nomask_aave_da_c130405.nc lnd/clm2/mappingdata/maps/ne240np4/map_ne240np4_nomask_to_0.5x0.5_nomask_aave_da_c110922.nc - + -lnd/clm2/mappingdata/maps/0.125x0.125/map_0.5x0.5_AVHRR_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_0.5x0.5_MODIS_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_0.25x0.25_MODIS_to_0.125x0.125_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_0.9x1.25_GRDC_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_10x10min_IGBPmergeICESatGIS_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_10x10min_nomask_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_1km-merge-10min_HYDRO1K-merge-nomask_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_360x720cru_cruncep_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_3x3min_GLOBE-Gardner-mergeGIS_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_3x3min_GLOBE-Gardner_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_3x3min_LandScan2004_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_3x3min_MODIS_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_3x3min_MODISv2_to_0.125x0.125_nomask_aave_da_c190613.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_3x3min_MODIS-wCsp_to_0.125x0.125_nomask_aave_da_c160427.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_3x3min_USGS_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_5x5min_IGBP-GSDP_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_5x5min_ISRIC-WISE_to_0.125x0.125_nomask_aave_da_c140702.nc lnd/clm2/mappingdata/maps/0.125x0.125/map_5x5min_ORNL-Soil_to_0.125x0.125_nomask_aave_da_c170706.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_5x5min_nomask_to_0.125x0.125_nomask_aave_da_c140702.nc - + -lnd/clm2/mappingdata/maps/94x192/map_3x3min_USGS_to_94x192_nomask_aave_da_c120926.nc -lnd/clm2/mappingdata/maps/94x192/map_0.5x0.5_nomask_to_94x192_nomask_aave_da_c110823.nc -lnd/clm2/mappingdata/maps/94x192/map_5x5min_ORNL-Soil_to_94x192_nomask_aave_da_c190521.nc -lnd/clm2/mappingdata/maps/94x192/map_94x192_nomask_to_0.5x0.5_nomask_aave_da_c110823.nc -lnd/clm2/mappingdata/maps/94x192/map_5x5min_IGBP-GSDP_to_94x192_nomask_aave_da_c110823.nc -lnd/clm2/mappingdata/maps/94x192/map_3x3min_MODIS-wCsp_to_94x192_nomask_aave_da_c190521.nc -lnd/clm2/mappingdata/maps/94x192/map_1km-merge-10min_HYDRO1K-merge-nomask_to_94x192_nomask_aave_da_c190521.nc -lnd/clm2/mappingdata/maps/94x192/map_0.5x0.5_MODIS_to_94x192_nomask_aave_da_c110823.nc -lnd/clm2/mappingdata/maps/94x192/map_5x5min_nomask_to_94x192_nomask_aave_da_c110823.nc -lnd/clm2/mappingdata/maps/94x192/map_0.5x0.5_USGS_to_94x192_nomask_aave_da_c110823.nc -lnd/clm2/mappingdata/maps/94x192/map_0.9x1.25_GRDC_to_94x192_nomask_aave_da_c190521.nc -lnd/clm2/mappingdata/maps/94x192/map_10x10min_nomask_to_94x192_nomask_aave_da_c110823.nc -lnd/clm2/mappingdata/maps/94x192/map_10x10min_IGBPmergeICESatGIS_to_94x192_nomask_aave_da_c110823.nc -lnd/clm2/mappingdata/maps/94x192/map_3x3min_LandScan2004_to_94x192_nomask_aave_da_c190521.nc -lnd/clm2/mappingdata/maps/94x192/map_360x720cru_cruncep_to_94x192_nomask_aave_da_c190521.nc -lnd/clm2/mappingdata/maps/94x192/map_3x3min_GLOBE-Gardner_to_94x192_nomask_aave_da_c190521.nc -lnd/clm2/mappingdata/maps/94x192/map_0.25x0.25_MODIS_to_94x192_nomask_aave_da_c190521.nc -lnd/clm2/mappingdata/maps/94x192/map_0.5x0.5_AVHRR_to_94x192_nomask_aave_da_c110823.nc -lnd/clm2/mappingdata/maps/94x192/map_5x5min_ISRIC-WISE_to_94x192_nomask_aave_da_c190521.nc -lnd/clm2/mappingdata/maps/94x192/map_3x3min_GLOBE-Gardner-mergeGIS_to_94x192_nomask_aave_da_c190521.nc -lnd/clm2/mappingdata/maps/94x192/map_3x3min_MODISv2_to_94x192_nomask_aave_da_c190521.nc - + -lnd/clm2/mappingdata/maps/ARCTIC/map_3x3min_USGS_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_0.9x1.25_GRDC_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_360x720cru_cruncep_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_5x5min_ISRIC-WISE_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_0.5x0.5_AVHRR_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_3x3min_GLOBE-Gardner_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_5x5min_nomask_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_5x5min_IGBP-GSDP_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_0.5x0.5_MODIS_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_3x3min_MODISv2_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_0.25x0.25_MODIS_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_3x3min_MODIS-wCsp_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_10x10min_nomask_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_5x5min_ORNL-Soil_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_3x3min_LandScan2004_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_10x10min_IGBPmergeICESatGIS_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc - + - + -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_5x5min_nomask_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_0.5x0.5_MODIS_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_3x3min_MODISv2_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_5x5min_ORNL-Soil_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_3x3min_MODIS-wCsp_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_0.5x0.5_AVHRR_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_3x3min_GLOBE-Gardner_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_10x10min_nomask_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_5x5min_ISRIC-WISE_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_360x720cru_cruncep_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_10x10min_IGBPmergeICESatGIS_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_5x5min_IGBP-GSDP_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_0.25x0.25_MODIS_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_3x3min_USGS_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_0.9x1.25_GRDC_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_3x3min_LandScan2004_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc - + - + -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_5x5min_nomask_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_3x3min_MODIS-wCsp_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_5x5min_IGBP-GSDP_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_3x3min_LandScan2004_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_360x720cru_cruncep_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_3x3min_USGS_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_0.9x1.25_GRDC_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_0.5x0.5_AVHRR_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_10x10min_IGBPmergeICESatGIS_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_0.5x0.5_MODIS_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_5x5min_ISRIC-WISE_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_3x3min_MODISv2_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_3x3min_GLOBE-Gardner_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_5x5min_ORNL-Soil_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_10x10min_nomask_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_0.25x0.25_MODIS_to_ne30np4.pg2_nomask_aave_da_c200426.nc - + - + -lnd/clm2/mappingdata/maps/ne30pg3/map_3x3min_USGS_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_0.25x0.25_MODIS_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_5x5min_ORNL-Soil_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_3x3min_LandScan2004_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_5x5min_nomask_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_0.9x1.25_GRDC_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_3x3min_MODISv2_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_5x5min_ISRIC-WISE_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_5x5min_IGBP-GSDP_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_3x3min_MODIS-wCsp_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_3x3min_GLOBE-Gardner_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_10x10min_IGBPmergeICESatGIS_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_360x720cru_cruncep_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_10x10min_nomask_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_0.5x0.5_MODIS_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_0.5x0.5_AVHRR_to_ne30np4.pg3_nomask_aave_da_c200426.nc - + - + -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_10x10min_nomask_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_5x5min_ISRIC-WISE_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_360x720cru_cruncep_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_5x5min_IGBP-GSDP_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_0.25x0.25_MODIS_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_5x5min_nomask_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_3x3min_USGS_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_3x3min_LandScan2004_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_0.5x0.5_MODIS_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_3x3min_MODISv2_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_10x10min_IGBPmergeICESatGIS_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_0.9x1.25_GRDC_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_0.5x0.5_AVHRR_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_5x5min_ORNL-Soil_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_3x3min_MODIS-wCsp_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_3x3min_GLOBE-Gardner_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne120np4.pg2_nomask_aave_da_c200426.nc - + - + -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_0.5x0.5_MODIS_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_5x5min_ORNL-Soil_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_10x10min_IGBPmergeICESatGIS_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_0.25x0.25_MODIS_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_10x10min_nomask_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_3x3min_MODIS-wCsp_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_360x720cru_cruncep_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_3x3min_LandScan2004_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_0.5x0.5_AVHRR_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_3x3min_USGS_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_3x3min_GLOBE-Gardner_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_0.9x1.25_GRDC_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_5x5min_IGBP-GSDP_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_5x5min_ISRIC-WISE_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_5x5min_nomask_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_3x3min_MODISv2_to_ne120np4.pg3_nomask_aave_da_c200426.nc - + From 6f0540be77b877dde3695fe2baf4b58867ee9ce8 Mon Sep 17 00:00:00 2001 From: Jim Edwards Date: Fri, 19 Feb 2021 13:56:18 -0700 Subject: [PATCH 11/82] update NEON development based on discussion --- bld/namelist_files/namelist_defaults_ctsm.xml | 10 ++++++---- cime_config/buildnml | 11 ----------- cime_config/config_component.xml | 8 -------- cime_config/config_compsets.xml | 4 ++-- cime_config/usermods_dirs/NEON/ABBY/include_user_mods | 1 + cime_config/usermods_dirs/NEON/ABBY/shell_commands | 1 + cime_config/usermods_dirs/NEON/BONA/include_user_mods | 1 + cime_config/usermods_dirs/NEON/BONA/shell_commands | 1 + cime_config/usermods_dirs/NEON/CLBJ/include_user_mods | 1 + cime_config/usermods_dirs/NEON/CLBJ/shell_commands | 1 + cime_config/usermods_dirs/NEON/CPER/include_user_mods | 1 + cime_config/usermods_dirs/NEON/CPER/shell_commands | 1 + cime_config/usermods_dirs/NEON/HARV/include_user_mods | 1 + cime_config/usermods_dirs/NEON/HARV/shell_commands | 1 + cime_config/usermods_dirs/NEON/KONZ/include_user_mods | 1 + cime_config/usermods_dirs/NEON/KONZ/shell_commands | 1 + cime_config/usermods_dirs/NEON/NIWO/include_user_mods | 1 + cime_config/usermods_dirs/NEON/NIWO/shell_commands | 1 + cime_config/usermods_dirs/NEON/ONAQ/include_user_mods | 1 + cime_config/usermods_dirs/NEON/ONAQ/shell_commands | 1 + cime_config/usermods_dirs/NEON/ORNL/include_user_mods | 1 + cime_config/usermods_dirs/NEON/ORNL/shell_commands | 1 + cime_config/usermods_dirs/NEON/OSBS/include_user_mods | 1 + cime_config/usermods_dirs/NEON/OSBS/shell_commands | 1 + cime_config/usermods_dirs/NEON/SCBI/include_user_mods | 1 + cime_config/usermods_dirs/NEON/SCBI/shell_commands | 1 + cime_config/usermods_dirs/NEON/SJER/include_user_mods | 1 + cime_config/usermods_dirs/NEON/SJER/shell_commands | 1 + cime_config/usermods_dirs/NEON/SRER/include_user_mods | 1 + cime_config/usermods_dirs/NEON/SRER/shell_commands | 1 + cime_config/usermods_dirs/NEON/TALL/include_user_mods | 1 + cime_config/usermods_dirs/NEON/TALL/shell_commands | 1 + cime_config/usermods_dirs/NEON/TOOL/include_user_mods | 1 + cime_config/usermods_dirs/NEON/TOOL/shell_commands | 1 + cime_config/usermods_dirs/NEON/UNDE/include_user_mods | 1 + cime_config/usermods_dirs/NEON/UNDE/shell_commands | 1 + cime_config/usermods_dirs/NEON/WOOD/include_user_mods | 1 + cime_config/usermods_dirs/NEON/WOOD/shell_commands | 1 + cime_config/usermods_dirs/NEON/WREF/include_user_mods | 1 + cime_config/usermods_dirs/NEON/WREF/shell_commands | 1 + cime_config/usermods_dirs/NEON/YELL/include_user_mods | 1 + cime_config/usermods_dirs/NEON/YELL/shell_commands | 1 + .../usermods_dirs/NEON/default/include_user_mods | 1 + cime_config/usermods_dirs/NEON/default/shell_commands | 1 + 44 files changed, 48 insertions(+), 25 deletions(-) create mode 100644 cime_config/usermods_dirs/NEON/ABBY/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/ABBY/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/BONA/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/BONA/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/CLBJ/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/CLBJ/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/CPER/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/CPER/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/HARV/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/HARV/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/KONZ/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/KONZ/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/NIWO/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/NIWO/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/ONAQ/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/ONAQ/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/ORNL/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/ORNL/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/OSBS/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/OSBS/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/SCBI/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/SCBI/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/SJER/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/SJER/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/SRER/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/SRER/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/TALL/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/TALL/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/TOOL/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/TOOL/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/UNDE/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/UNDE/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/WOOD/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/WOOD/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/WREF/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/WREF/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/YELL/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/YELL/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/default/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/default/shell_commands diff --git a/bld/namelist_files/namelist_defaults_ctsm.xml b/bld/namelist_files/namelist_defaults_ctsm.xml index 828b769d3d..402a2043dc 100644 --- a/bld/namelist_files/namelist_defaults_ctsm.xml +++ b/bld/namelist_files/namelist_defaults_ctsm.xml @@ -645,8 +645,9 @@ attributes from the config_cache.xml file (with keys converted to upper-case). .true. .true. .true. + -.true. +.true. .false. @@ -1023,8 +1024,9 @@ p lnd_tuning_mode="clm5_0_cam6.0" >lnd/clm2/initdata_map/clmi.FHISTSp.2013-01-01.ne0CONUSne30x8_mt12_simyr2013_c200806.nc - -lnd/clm2/initdata_map/clmi.I2000Clm50BgcCrop.2011-01-01.1.9x2.5_gx1v7_gl4_simyr2000_c190312.nc + + +lnd/clm2/initdata_map/clmi.I2000Clm50BgcCrop.2011-01-01.1.9x2.5_gx1v7_gl4_simyr2000_c190312.nc @@ -1170,7 +1172,7 @@ lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_1x1_numaIA_hist_78pfts_CMIP6_si lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_1x1_brazil_hist_78pfts_CMIP6_simyr1850_c190214.nc - + /glade/work/jedwards/sandboxes/NEON/inputdata/single_point/datmdata_NEON/${NEONSITE}/surfdata_0.9x1.25_hist_16pfts_Irrig_CMIP6_simyr2000_${NEONSITE}.nc diff --git a/cime_config/buildnml b/cime_config/buildnml index 51414113c6..5674c72d84 100755 --- a/cime_config/buildnml +++ b/cime_config/buildnml @@ -61,7 +61,6 @@ def buildnml(case, caseroot, compname): run_reftod = case.get_value("RUN_REFTOD") glc_nec = case.get_value("GLC_NEC") mask = case.get_value("MASK_GRID") - neonsite = case.get_value("NEONSITE") # ----------------------------------------------------- # Set ctsmconf @@ -234,16 +233,6 @@ def buildnml(case, caseroot, compname): if err is not None: logger.debug(" %s"%err) - # ----------------------------------------------------- - # Resolve NEON site in namelist if needed - # ---------------------------------------------------- - if neonsite: - os.rename(os.path.join(ctsmconf,"lnd_in"), os.path.join(ctsmconf,"lnd_in.unresolved")) - with open(os.path.join(ctsmconf,'lnd_in.unresolved'),"r") as fi, open(os.path.join(ctsmconf,"lnd_in"),"w") as fo: - for line in fi.readlines(): - line = line.replace('${NEONSITE}',neonsite) - fo.write(line) - # ----------------------------------------------------- # copy resolved namelist to rundir # ----------------------------------------------------- diff --git a/cime_config/config_component.xml b/cime_config/config_component.xml index 2adaf2a33a..e38274367e 100644 --- a/cime_config/config_component.xml +++ b/cime_config/config_component.xml @@ -75,7 +75,6 @@ clm5_0_CRUv7 clm5_0_CRUv7 clm5_0_GSWP3v1 - clm5_0_GSWP3v1 clm5_0_cam6.0 clm5_1_GSWP3v1 @@ -300,13 +299,6 @@ Name of site for NEON tower data - - - - - - - ========================================= CLM naming conventions diff --git a/cime_config/config_compsets.xml b/cime_config/config_compsets.xml index d0c71ed74f..5c5c2fc8d5 100644 --- a/cime_config/config_compsets.xml +++ b/cime_config/config_compsets.xml @@ -42,8 +42,8 @@ - I1PtClm50Bgc-NEON - 2000_DATM%NEON_CLM50%BGC_SICE_SOCN_SROF_SGLC_SWAV + I1PtClm50Bgc + 2000_DATM%1PT_CLM50%BGC_SICE_SOCN_SROF_SGLC_SWAV diff --git a/cime_config/usermods_dirs/NEON/ABBY/include_user_mods b/cime_config/usermods_dirs/NEON/ABBY/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/ABBY/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/ABBY/shell_commands b/cime_config/usermods_dirs/NEON/ABBY/shell_commands new file mode 100644 index 0000000000..069439b237 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/ABBY/shell_commands @@ -0,0 +1 @@ +./xmlchange NEONSITE=ABBY diff --git a/cime_config/usermods_dirs/NEON/BONA/include_user_mods b/cime_config/usermods_dirs/NEON/BONA/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/BONA/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/BONA/shell_commands b/cime_config/usermods_dirs/NEON/BONA/shell_commands new file mode 100644 index 0000000000..b4c3a7bb24 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/BONA/shell_commands @@ -0,0 +1 @@ +./xmlchange NEONSITE=BONA diff --git a/cime_config/usermods_dirs/NEON/CLBJ/include_user_mods b/cime_config/usermods_dirs/NEON/CLBJ/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/CLBJ/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/CLBJ/shell_commands b/cime_config/usermods_dirs/NEON/CLBJ/shell_commands new file mode 100644 index 0000000000..82395b9556 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/CLBJ/shell_commands @@ -0,0 +1 @@ +./xmlchange NEONSITE=CLBJ diff --git a/cime_config/usermods_dirs/NEON/CPER/include_user_mods b/cime_config/usermods_dirs/NEON/CPER/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/CPER/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/CPER/shell_commands b/cime_config/usermods_dirs/NEON/CPER/shell_commands new file mode 100644 index 0000000000..829f597fed --- /dev/null +++ b/cime_config/usermods_dirs/NEON/CPER/shell_commands @@ -0,0 +1 @@ +./xmlchange NEONSITE=CPER diff --git a/cime_config/usermods_dirs/NEON/HARV/include_user_mods b/cime_config/usermods_dirs/NEON/HARV/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/HARV/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/HARV/shell_commands b/cime_config/usermods_dirs/NEON/HARV/shell_commands new file mode 100644 index 0000000000..e02550682e --- /dev/null +++ b/cime_config/usermods_dirs/NEON/HARV/shell_commands @@ -0,0 +1 @@ +./xmlchange NEONSITE=HARV diff --git a/cime_config/usermods_dirs/NEON/KONZ/include_user_mods b/cime_config/usermods_dirs/NEON/KONZ/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/KONZ/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/KONZ/shell_commands b/cime_config/usermods_dirs/NEON/KONZ/shell_commands new file mode 100644 index 0000000000..585b2807c5 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/KONZ/shell_commands @@ -0,0 +1 @@ +./xmlchange NEONSITE=KONZ diff --git a/cime_config/usermods_dirs/NEON/NIWO/include_user_mods b/cime_config/usermods_dirs/NEON/NIWO/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/NIWO/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/NIWO/shell_commands b/cime_config/usermods_dirs/NEON/NIWO/shell_commands new file mode 100644 index 0000000000..b657754d13 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/NIWO/shell_commands @@ -0,0 +1 @@ +./xmlchange NEONSITE=NIWO diff --git a/cime_config/usermods_dirs/NEON/ONAQ/include_user_mods b/cime_config/usermods_dirs/NEON/ONAQ/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/ONAQ/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/ONAQ/shell_commands b/cime_config/usermods_dirs/NEON/ONAQ/shell_commands new file mode 100644 index 0000000000..fc03af1223 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/ONAQ/shell_commands @@ -0,0 +1 @@ +./xmlchange NEONSITE=ONAQ diff --git a/cime_config/usermods_dirs/NEON/ORNL/include_user_mods b/cime_config/usermods_dirs/NEON/ORNL/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/ORNL/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/ORNL/shell_commands b/cime_config/usermods_dirs/NEON/ORNL/shell_commands new file mode 100644 index 0000000000..27855897f4 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/ORNL/shell_commands @@ -0,0 +1 @@ +./xmlchange NEONSITE=ORNL diff --git a/cime_config/usermods_dirs/NEON/OSBS/include_user_mods b/cime_config/usermods_dirs/NEON/OSBS/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/OSBS/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/OSBS/shell_commands b/cime_config/usermods_dirs/NEON/OSBS/shell_commands new file mode 100644 index 0000000000..90b63f7649 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/OSBS/shell_commands @@ -0,0 +1 @@ +./xmlchange NEONSITE=OSBS diff --git a/cime_config/usermods_dirs/NEON/SCBI/include_user_mods b/cime_config/usermods_dirs/NEON/SCBI/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/SCBI/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/SCBI/shell_commands b/cime_config/usermods_dirs/NEON/SCBI/shell_commands new file mode 100644 index 0000000000..a9ed2e0ea5 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/SCBI/shell_commands @@ -0,0 +1 @@ +./xmlchange NEONSITE=SCBI diff --git a/cime_config/usermods_dirs/NEON/SJER/include_user_mods b/cime_config/usermods_dirs/NEON/SJER/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/SJER/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/SJER/shell_commands b/cime_config/usermods_dirs/NEON/SJER/shell_commands new file mode 100644 index 0000000000..dfb560e4ee --- /dev/null +++ b/cime_config/usermods_dirs/NEON/SJER/shell_commands @@ -0,0 +1 @@ +./xmlchange NEONSITE=SJER diff --git a/cime_config/usermods_dirs/NEON/SRER/include_user_mods b/cime_config/usermods_dirs/NEON/SRER/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/SRER/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/SRER/shell_commands b/cime_config/usermods_dirs/NEON/SRER/shell_commands new file mode 100644 index 0000000000..1cfa0de6e9 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/SRER/shell_commands @@ -0,0 +1 @@ +./xmlchange NEONSITE=SRER diff --git a/cime_config/usermods_dirs/NEON/TALL/include_user_mods b/cime_config/usermods_dirs/NEON/TALL/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/TALL/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/TALL/shell_commands b/cime_config/usermods_dirs/NEON/TALL/shell_commands new file mode 100644 index 0000000000..ce49f958c8 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/TALL/shell_commands @@ -0,0 +1 @@ +./xmlchange NEONSITE=TALL diff --git a/cime_config/usermods_dirs/NEON/TOOL/include_user_mods b/cime_config/usermods_dirs/NEON/TOOL/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/TOOL/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/TOOL/shell_commands b/cime_config/usermods_dirs/NEON/TOOL/shell_commands new file mode 100644 index 0000000000..81cc44e3ff --- /dev/null +++ b/cime_config/usermods_dirs/NEON/TOOL/shell_commands @@ -0,0 +1 @@ +./xmlchange NEONSITE=TOOL diff --git a/cime_config/usermods_dirs/NEON/UNDE/include_user_mods b/cime_config/usermods_dirs/NEON/UNDE/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/UNDE/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/UNDE/shell_commands b/cime_config/usermods_dirs/NEON/UNDE/shell_commands new file mode 100644 index 0000000000..2bb0c3f38f --- /dev/null +++ b/cime_config/usermods_dirs/NEON/UNDE/shell_commands @@ -0,0 +1 @@ +./xmlchange NEONSITE=UNDE diff --git a/cime_config/usermods_dirs/NEON/WOOD/include_user_mods b/cime_config/usermods_dirs/NEON/WOOD/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/WOOD/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/WOOD/shell_commands b/cime_config/usermods_dirs/NEON/WOOD/shell_commands new file mode 100644 index 0000000000..673cc1f232 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/WOOD/shell_commands @@ -0,0 +1 @@ +./xmlchange NEONSITE=WOOD diff --git a/cime_config/usermods_dirs/NEON/WREF/include_user_mods b/cime_config/usermods_dirs/NEON/WREF/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/WREF/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/WREF/shell_commands b/cime_config/usermods_dirs/NEON/WREF/shell_commands new file mode 100644 index 0000000000..c52af373ad --- /dev/null +++ b/cime_config/usermods_dirs/NEON/WREF/shell_commands @@ -0,0 +1 @@ +./xmlchange NEONSITE=WREF diff --git a/cime_config/usermods_dirs/NEON/YELL/include_user_mods b/cime_config/usermods_dirs/NEON/YELL/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/YELL/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/YELL/shell_commands b/cime_config/usermods_dirs/NEON/YELL/shell_commands new file mode 100644 index 0000000000..da5eb55eb9 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/YELL/shell_commands @@ -0,0 +1 @@ +./xmlchange NEONSITE=YELL diff --git a/cime_config/usermods_dirs/NEON/default/include_user_mods b/cime_config/usermods_dirs/NEON/default/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/default/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/default/shell_commands b/cime_config/usermods_dirs/NEON/default/shell_commands new file mode 100644 index 0000000000..77beb2358d --- /dev/null +++ b/cime_config/usermods_dirs/NEON/default/shell_commands @@ -0,0 +1 @@ +./xmlchange CLM_USRDAT_NAME=NEON From 43f02499d79dbb8763335a02b96ffb9b71b77944 Mon Sep 17 00:00:00 2001 From: Jim Edwards Date: Mon, 1 Mar 2021 08:44:48 -0700 Subject: [PATCH 12/82] update neon support --- cime_config/usermods_dirs/NEON/ABBY/shell_commands | 2 ++ cime_config/usermods_dirs/NEON/BONA/shell_commands | 2 ++ cime_config/usermods_dirs/NEON/CLBJ/shell_commands | 2 ++ cime_config/usermods_dirs/NEON/CPER/shell_commands | 2 ++ cime_config/usermods_dirs/NEON/HARV/shell_commands | 2 ++ cime_config/usermods_dirs/NEON/KONZ/shell_commands | 2 ++ cime_config/usermods_dirs/NEON/YELL/shell_commands | 2 +- cime_config/usermods_dirs/NEON/default/include_user_mods | 1 - cime_config/usermods_dirs/NEON/default/shell_commands | 1 - 9 files changed, 13 insertions(+), 3 deletions(-) delete mode 100644 cime_config/usermods_dirs/NEON/default/include_user_mods delete mode 100644 cime_config/usermods_dirs/NEON/default/shell_commands diff --git a/cime_config/usermods_dirs/NEON/ABBY/shell_commands b/cime_config/usermods_dirs/NEON/ABBY/shell_commands index 069439b237..8ff4c7894c 100644 --- a/cime_config/usermods_dirs/NEON/ABBY/shell_commands +++ b/cime_config/usermods_dirs/NEON/ABBY/shell_commands @@ -1 +1,3 @@ ./xmlchange NEONSITE=ABBY +./xmlchange PTS_LON=237.5 +./xmlchange PTS_LAT=45.7068062827225 \ No newline at end of file diff --git a/cime_config/usermods_dirs/NEON/BONA/shell_commands b/cime_config/usermods_dirs/NEON/BONA/shell_commands index b4c3a7bb24..9087271a3f 100644 --- a/cime_config/usermods_dirs/NEON/BONA/shell_commands +++ b/cime_config/usermods_dirs/NEON/BONA/shell_commands @@ -1 +1,3 @@ ./xmlchange NEONSITE=BONA +./xmlchange PTS_LON=212.497439 +./xmlchange PTS_LAT=65.154044 \ No newline at end of file diff --git a/cime_config/usermods_dirs/NEON/CLBJ/shell_commands b/cime_config/usermods_dirs/NEON/CLBJ/shell_commands index 82395b9556..38d9f39ea5 100644 --- a/cime_config/usermods_dirs/NEON/CLBJ/shell_commands +++ b/cime_config/usermods_dirs/NEON/CLBJ/shell_commands @@ -1 +1,3 @@ ./xmlchange NEONSITE=CLBJ +./xmlchange PTS_LON=262.429967 +./xmlchange PTS_LAT=33.401231 diff --git a/cime_config/usermods_dirs/NEON/CPER/shell_commands b/cime_config/usermods_dirs/NEON/CPER/shell_commands index 829f597fed..123f201bff 100644 --- a/cime_config/usermods_dirs/NEON/CPER/shell_commands +++ b/cime_config/usermods_dirs/NEON/CPER/shell_commands @@ -1 +1,3 @@ ./xmlchange NEONSITE=CPER +./xmlchange PTS_LON=255.2544095 +./xmlchange PTS_LAT=40.8155355 \ No newline at end of file diff --git a/cime_config/usermods_dirs/NEON/HARV/shell_commands b/cime_config/usermods_dirs/NEON/HARV/shell_commands index e02550682e..abf3c64713 100644 --- a/cime_config/usermods_dirs/NEON/HARV/shell_commands +++ b/cime_config/usermods_dirs/NEON/HARV/shell_commands @@ -1 +1,3 @@ ./xmlchange NEONSITE=HARV +./xmlchange PTS_LON=287.5 +./xmlchange PTS_LAT=42.8795811518324 diff --git a/cime_config/usermods_dirs/NEON/KONZ/shell_commands b/cime_config/usermods_dirs/NEON/KONZ/shell_commands index 585b2807c5..82628d3043 100644 --- a/cime_config/usermods_dirs/NEON/KONZ/shell_commands +++ b/cime_config/usermods_dirs/NEON/KONZ/shell_commands @@ -1 +1,3 @@ ./xmlchange NEONSITE=KONZ +./xmlchange PTS_LON=263.436917 +./xmlchange PTS_LAT=39.100781 diff --git a/cime_config/usermods_dirs/NEON/YELL/shell_commands b/cime_config/usermods_dirs/NEON/YELL/shell_commands index da5eb55eb9..3a5956abb0 100644 --- a/cime_config/usermods_dirs/NEON/YELL/shell_commands +++ b/cime_config/usermods_dirs/NEON/YELL/shell_commands @@ -1 +1 @@ -./xmlchange NEONSITE=YELL +./xmlchange NEONSITE=YELL \ No newline at end of file diff --git a/cime_config/usermods_dirs/NEON/default/include_user_mods b/cime_config/usermods_dirs/NEON/default/include_user_mods deleted file mode 100644 index b152996d95..0000000000 --- a/cime_config/usermods_dirs/NEON/default/include_user_mods +++ /dev/null @@ -1 +0,0 @@ -../defaults diff --git a/cime_config/usermods_dirs/NEON/default/shell_commands b/cime_config/usermods_dirs/NEON/default/shell_commands deleted file mode 100644 index 77beb2358d..0000000000 --- a/cime_config/usermods_dirs/NEON/default/shell_commands +++ /dev/null @@ -1 +0,0 @@ -./xmlchange CLM_USRDAT_NAME=NEON From cce2be267dde945ed65fb5d298cfd229b6922eb8 Mon Sep 17 00:00:00 2001 From: Jim Edwards Date: Mon, 12 Apr 2021 07:38:59 -0600 Subject: [PATCH 13/82] rebase to master at tag ctsm5.1.dev033 --- cime_config/buildnml | 20 +++---- cime_config/config_component.xml | 96 ++++++++++++++++---------------- cime_config/config_compsets.xml | 36 ++++++------ 3 files changed, 76 insertions(+), 76 deletions(-) diff --git a/cime_config/buildnml b/cime_config/buildnml index 5674c72d84..f60206a01d 100755 --- a/cime_config/buildnml +++ b/cime_config/buildnml @@ -32,7 +32,7 @@ def buildnml(case, caseroot, compname): ############################################################################### """Build the CTSM namelist """ - # Build the component namelist + # Build the component namelist if compname != "ctsm" and compname != "clm": raise AttributeError @@ -71,10 +71,10 @@ def buildnml(case, caseroot, compname): os.makedirs(ctsmconf) # ----------------------------------------------------- - # Create config_cache.xml file + # Create config_cache.xml file # ----------------------------------------------------- - # Note that build-namelist utilizes the contents of the config_cache.xml file in + # Note that build-namelist utilizes the contents of the config_cache.xml file in # the namelist_defaults.xml file to obtain namelist variables clm_phys = case.get_value("CLM_PHYSICS_VERSION") @@ -145,15 +145,15 @@ def buildnml(case, caseroot, compname): ignore = "-ignore_ic_date" tuning = "-lnd_tuning_mode %s "%lnd_tuning_mode - + spinup = "-clm_accelerated_spinup %s "%clm_accelerated_spinup - + infile = os.path.join(ctsmconf, "namelist") - + inputdata_file = os.path.join(caseroot,"Buildconf","ctsm.input_data_list") - + lndfrac_file = os.path.join(lnd_domain_path,lnd_domain_file) - + config_cache_file = os.path.join(caseroot,"Buildconf", compname+"conf","config_cache.xml") # ----------------------------------------------------- @@ -177,7 +177,7 @@ def buildnml(case, caseroot, compname): # If multi-instance case does not have restart file, use # single-case restart for each instance - rpointer = "rpointer.lnd" + rpointer = "rpointer.lnd" if (os.path.isfile(os.path.join(rundir,rpointer)) and (not os.path.isfile(os.path.join(rundir,rpointer + inst_string)))): shutil.copy(os.path.join(rundir, rpointer), @@ -220,7 +220,7 @@ def buildnml(case, caseroot, compname): "-configuration %s -structure %s " "-lnd_frac %s -glc_nec %s -co2_ppmv %s -co2_type %s -config %s " "%s %s %s %s" - %(cmd, _CIMEROOT, infile, din_loc_root, inputdata_file, ignore, start_ymd, clm_namelist_opts, + %(cmd, _CIMEROOT, infile, din_loc_root, inputdata_file, ignore, start_ymd, clm_namelist_opts, nomeg, usecase, lnd_grid, clmusr, start_type, caseroot, configuration, structure, lndfrac_file, glc_nec, ccsm_co2_ppmv, clm_co2_type, config_cache_file, diff --git a/cime_config/config_component.xml b/cime_config/config_component.xml index e38274367e..d2c6e8812f 100644 --- a/cime_config/config_component.xml +++ b/cime_config/config_component.xml @@ -138,20 +138,20 @@ 2010_control - 2000_control - 1850_control + 2000_control + 1850_control 1850_noanthro_control 20thC_transient - 1850-2100_SSP5-8.5_transient - 1850-2100_SSP1-2.6_transient - 1850-2100_SSP3-7.0_transient - 1850-2100_SSP5-3.4_transient - 1850-2100_SSP2-4.5_transient - 1850-2100_SSP1-1.9_transient - 1850-2100_SSP4-3.4_transient - 1850-2100_SSP4-6.0_transient - 1850-2100_SSP5-8.5_transient - 20thC_transient + 1850-2100_SSP5-8.5_transient + 1850-2100_SSP1-2.6_transient + 1850-2100_SSP3-7.0_transient + 1850-2100_SSP5-3.4_transient + 1850-2100_SSP2-4.5_transient + 1850-2100_SSP1-1.9_transient + 1850-2100_SSP4-3.4_transient + 1850-2100_SSP4-6.0_transient + 1850-2100_SSP5-8.5_transient + 20thC_transient 1850-2100_SSP5-8.5_transient run_component_ctsm @@ -168,33 +168,33 @@ char - -bgc sp - -bgc cn - -bgc bgc - -bgc cn -crop - -bgc bgc -crop - -bgc cn -dynamic_vegetation - -bgc bgc -dynamic_vegetation - -bgc cn -dynamic_vegetation -crop - -bgc bgc -dynamic_vegetation -crop - -bgc sp -vichydro - -bgc fates -no-megan + -bgc sp + -bgc cn + -bgc bgc + -bgc cn -crop + -bgc bgc -crop + -bgc cn -dynamic_vegetation + -bgc bgc -dynamic_vegetation + -bgc cn -dynamic_vegetation -crop + -bgc bgc -dynamic_vegetation -crop + -bgc sp -vichydro + -bgc fates -no-megan - -bgc sp - -bgc bgc - -bgc bgc -dynamic_vegetation - -bgc bgc -crop - -bgc cn - -bgc cn -crop - -bgc cn -dynamic_vegetation - -bgc cn -dynamic_vegetation -crop - -bgc bgc -dynamic_vegetation -crop - -bgc sp -vichydro + -bgc sp + -bgc bgc + -bgc bgc -dynamic_vegetation + -bgc bgc -crop + -bgc cn + -bgc cn -crop + -bgc cn -dynamic_vegetation + -bgc cn -dynamic_vegetation -crop + -bgc bgc -dynamic_vegetation -crop + -bgc sp -vichydro -bgc fates -no-megan - -bgc sp - -bgc bgc - -bgc bgc -crop + -bgc sp + -bgc bgc + -bgc bgc -crop -bgc fates -no-megan run_component_ctsm @@ -288,18 +288,18 @@ User mods to apply to specific compset matches. - - char - ABBY,CLBJ,HARV,NIWO,ORNL,SCBI,SRER,TOOL,WOOD,YELL, - BONA,CPER,KONZ,ONAQ,OSBS,SJER,TALL,UNDE,WREF - - - run_component_ctsm - env_run.xml - Name of site for NEON tower data - - - + + char + ABBY,CLBJ,HARV,NIWO,ORNL,SCBI,SRER,TOOL,WOOD,YELL, + BONA,CPER,KONZ,ONAQ,OSBS,SJER,TALL,UNDE,WREF + + + run_component_ctsm + env_run.xml + Name of site for NEON tower data + + + ========================================= CLM naming conventions ========================================= diff --git a/cime_config/config_compsets.xml b/cime_config/config_compsets.xml index 5c5c2fc8d5..eb6582feee 100644 --- a/cime_config/config_compsets.xml +++ b/cime_config/config_compsets.xml @@ -36,16 +36,16 @@ + + I1PtClm50Bgc + 2000_DATM%1PT_CLM50%BGC_SICE_SOCN_SROF_SGLC_SWAV + + I1PtClm51SpRs 2000_DATM%1PT_CLM51%SP_SICE_SOCN_SROF_SGLC_SWAV - - I1PtClm50Bgc - 2000_DATM%1PT_CLM50%BGC_SICE_SOCN_SROF_SGLC_SWAV - - I1PtClm50SpRs 2000_DATM%1PT_CLM50%SP_SICE_SOCN_SROF_SGLC_SWAV @@ -541,31 +541,31 @@ - 1850-01-01 + 1850-01-01 2000-01-01 2010-01-01 - 2015-01-01 - 1980-01-15 - 1997-12-31 - 1993-12-01 - 1992-08-12 - 0001-08-12 + 2015-01-01 + 1980-01-15 + 1997-12-31 + 1993-12-01 + 1992-08-12 + 0001-08-12 - nsteps - nsteps - nsteps + nsteps + nsteps + nsteps - 158 - 331 - 22772 + 158 + 331 + 22772 From 0e17a4e4a04e12942cb27798422ad210dbfbae84 Mon Sep 17 00:00:00 2001 From: Jim Edwards Date: Thu, 15 Apr 2021 16:12:55 -0600 Subject: [PATCH 14/82] add surfdata files --- .../NEON/defaults/shell_commands | 1 + .../usermods_dirs/NEON/defaults/user_nl_clm | 22 +++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 cime_config/usermods_dirs/NEON/defaults/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/defaults/user_nl_clm diff --git a/cime_config/usermods_dirs/NEON/defaults/shell_commands b/cime_config/usermods_dirs/NEON/defaults/shell_commands new file mode 100644 index 0000000000..77beb2358d --- /dev/null +++ b/cime_config/usermods_dirs/NEON/defaults/shell_commands @@ -0,0 +1 @@ +./xmlchange CLM_USRDAT_NAME=NEON diff --git a/cime_config/usermods_dirs/NEON/defaults/user_nl_clm b/cime_config/usermods_dirs/NEON/defaults/user_nl_clm new file mode 100644 index 0000000000..30cc2a6a1b --- /dev/null +++ b/cime_config/usermods_dirs/NEON/defaults/user_nl_clm @@ -0,0 +1,22 @@ +!---------------------------------------------------------------------------------- +! Users should add all user specific namelist changes below in the form of +! namelist_var = new_namelist_value +! +! EXCEPTIONS: +! Set use_cndv by the compset you use and the CLM_BLDNML_OPTS -dynamic_vegetation setting +! Set use_vichydro by the compset you use and the CLM_BLDNML_OPTS -vichydro setting +! Set use_cn by the compset you use and CLM_BLDNML_OPTS -bgc setting +! Set use_crop by the compset you use and CLM_BLDNML_OPTS -crop setting +! Set spinup_state by the CLM_BLDNML_OPTS -bgc_spinup setting +! Set co2_ppmv with CCSM_CO2_PPMV option +! Set fatmlndfrc with LND_DOMAIN_PATH/LND_DOMAIN_FILE options +! Set finidat with RUN_REFCASE/RUN_REFDATE/RUN_REFTOD options for hybrid or branch cases +! (includes $inst_string for multi-ensemble cases) +! or with CLM_FORCE_COLDSTART to do a cold start +! or set it with an explicit filename here. +! Set maxpatch_glcmec with GLC_NEC option +! Set glc_do_dynglacier with GLC_TWO_WAY_COUPLING env variable +!---------------------------------------------------------------------------------- + +finidat = "lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_1x1_brazil_hist_78pfts_CMIP6_simyr1850_c190214.nc" +fsurdat = "atm/cdeps/single_point/NEON/surfdata_hist_16pfts_Irrig_CMIP6_simyr2000_${NEONSITE}_c210415.nc" \ No newline at end of file From b4f4183f6aa5093561e3ac5d206785e65e3a827e Mon Sep 17 00:00:00 2001 From: Jim Edwards Date: Fri, 16 Apr 2021 07:58:06 -0600 Subject: [PATCH 15/82] correct location of surfdata --- cime_config/usermods_dirs/NEON/defaults/user_nl_clm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cime_config/usermods_dirs/NEON/defaults/user_nl_clm b/cime_config/usermods_dirs/NEON/defaults/user_nl_clm index 30cc2a6a1b..71abebc2d2 100644 --- a/cime_config/usermods_dirs/NEON/defaults/user_nl_clm +++ b/cime_config/usermods_dirs/NEON/defaults/user_nl_clm @@ -19,4 +19,4 @@ !---------------------------------------------------------------------------------- finidat = "lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_1x1_brazil_hist_78pfts_CMIP6_simyr1850_c190214.nc" -fsurdat = "atm/cdeps/single_point/NEON/surfdata_hist_16pfts_Irrig_CMIP6_simyr2000_${NEONSITE}_c210415.nc" \ No newline at end of file +fsurdat = "lnd/clm2/surfdata_map/NEON/surfdata_hist_16pfts_Irrig_CMIP6_simyr2000_${NEONSITE}_c210415.nc" \ No newline at end of file From 4ab9148c3687e11da1b65feec18fd8ab48d541b9 Mon Sep 17 00:00:00 2001 From: Jim Edwards Date: Fri, 16 Apr 2021 08:03:31 -0600 Subject: [PATCH 16/82] clean up --- bld/namelist_files/namelist_defaults_ctsm.xml | 1076 ++++++++--------- 1 file changed, 533 insertions(+), 543 deletions(-) diff --git a/bld/namelist_files/namelist_defaults_ctsm.xml b/bld/namelist_files/namelist_defaults_ctsm.xml index 402a2043dc..1b8cfcb2a2 100644 --- a/bld/namelist_files/namelist_defaults_ctsm.xml +++ b/bld/namelist_files/namelist_defaults_ctsm.xml @@ -345,10 +345,10 @@ attributes from the config_cache.xml file (with keys converted to upper-case). 2 3 -60. +60. 1.e-8 -1.e-1 -1.e-2 +1.e-1 +1.e-2 42 1 1 @@ -596,7 +596,7 @@ attributes from the config_cache.xml file (with keys converted to upper-case). .true. - + -.true. - .false. - @@ -750,42 +747,42 @@ attributes from the config_cache.xml file (with keys converted to upper-case). hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.true. irrigate=.true. glc_nec=10 hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.true. irrigate=.true. glc_nec=10 hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.true. irrigate=.true. glc_nec=10 hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.true. irrigate=.true. glc_nec=10 hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.true. irrigate=.true. glc_nec=10 hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.true. irrigate=.true. glc_nec=10 hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.true. irrigate=.true. glc_nec=10 hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.true. irrigate=.true. glc_nec=10 @@ -826,7 +823,7 @@ p hgrid=ne0np4CONUS.ne30x8 maxpft=17 mask=tx0.1v2 use_cn=.false. use_nitrif_denitrif=.false. use_vertsoilc=.false. use_crop=.false. irrigate=.true. glc_nec=10 @@ -1025,10 +1022,6 @@ p >lnd/clm2/initdata_map/clmi.FHISTSp.2013-01-01.ne0CONUSne30x8_mt12_simyr2013_c200806.nc - -lnd/clm2/initdata_map/clmi.I2000Clm50BgcCrop.2011-01-01.1.9x2.5_gx1v7_gl4_simyr2000_c190312.nc - - lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_1x1_brazil_hist_78pfts_CMIP6_simyr1850_c190214.nc - -/glade/work/jedwards/sandboxes/NEON/inputdata/single_point/datmdata_NEON/${NEONSITE}/surfdata_0.9x1.25_hist_16pfts_Irrig_CMIP6_simyr2000_${NEONSITE}.nc - lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne30np4_hist_78pfts_CMIP6_simyr1850_c200426.nc @@ -1275,7 +1265,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts lnd/clm2/surfdata_map/release-clm5.0.30/landuse.timeseries_C96_SSP5-8.5_78pfts_CMIP6_simyr1850-2100_c200317.nc -lnd/clm2/surfdata_map/release-clm5.0.30/landuse.timeseries_ne30np4_SSP5-8.5_78pfts_CMIP6_simyr1850-2100_c200426.nc lnd/clm2/surfdata_map/release-clm5.0.30/landuse.timeseries_ne30np4.pg2_SSP5-8.5_78pfts_CMIP6_simyr1850-2100_c200426.nc @@ -1740,13 +1730,13 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts 1850 2106 -lnd/clm2/urbandata/CLM50_tbuildmax_Oleson_2016_0.9x1.25_simyr1849-2106_c160923.nc -lnd/clm2/urbandata/CLM50_tbuildmax_Oleson_2016_0.9x1.25_simyr1849-2106_c160923.nc -lnd/clm2/urbandata/CLM45_tbuildmax_Oleson_2016_0.9x1.25_simyr1849-2106_c160923.nc nn @@ -1792,440 +1782,440 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts - + -lnd/clm2/mappingdata/maps/0.1x0.1/map_0.1x0.1_nomask_to_0.1x0.1_nomask_aave_da_c120406.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_0.5x0.5_AVHRR_to_0.1x0.1_nomask_aave_da_c120406.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_0.5x0.5_MODIS_to_0.1x0.1_nomask_aave_da_c120406.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_0.25x0.25_MODIS_to_0.1x0.1_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_0.5x0.5_nomask_to_0.1x0.1_nomask_aave_da_c120406.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_10x10min_nomask_to_0.1x0.1_nomask_aave_da_c120406.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_3x3min_MODIS_to_0.1x0.1_nomask_aave_da_c120406.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_3x3min_MODIS-wCsp_to_0.1x0.1_nomask_aave_da_c160425.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_5x5min_IGBP-GSDP_to_0.1x0.1_nomask_aave_da_c120406.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_5x5min_ISRIC-WISE_to_0.1x0.1_nomask_aave_da_c120406.nc lnd/clm2/mappingdata/maps/0.1x0.1/map_5x5min_ORNL-Soil_to_0.1x0.1_nomask_aave_da_c170706.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_5x5min_nomask_to_0.1x0.1_nomask_aave_da_c120406.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_ne120np4_nomask_to_0.1x0.1_nomask_aave_da_c120711.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_4x5_nomask_to_0.1x0.1_nomask_aave_da_c120706.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_1.9x2.5_nomask_to_0.1x0.1_nomask_aave_da_c120709.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_ne240np4_nomask_to_0.1x0.1_nomask_aave_da_c120711.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_0.9x1.25_GRDC_to_0.1x0.1_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_360x720_cruncep_to_0.1x0.1_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_1km-merge-10min_HYDRO1K-merge-nomask_to_0.1x0.1_nomask_aave_da_c130405.nc - + - + -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_0.5x0.5_AVHRR_to_1x1_asphaltjungleNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_0.5x0.5_MODIS_to_1x1_asphaltjungleNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_0.25x0.25_MODIS_to_1x1_asphaltjungleNJ_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_0.5x0.5_nomask_to_1x1_asphaltjungleNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_10x10min_nomask_to_1x1_asphaltjungleNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_3x3min_MODIS_to_1x1_asphaltjungleNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_3x3min_MODISv2_to_1x1_asphaltjungleNJ_nomask_aave_da_c190507.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_3x3min_MODIS-wCsp_to_1x1_asphaltjungleNJ_nomask_aave_da_c160425.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_3x3min_USGS_to_1x1_asphaltjungleNJ_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_3x3min_LandScan2004_to_1x1_asphaltjungleNJ_nomask_aave_da_c121114.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_5x5min_IGBP-GSDP_to_1x1_asphaltjungleNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_5x5min_ISRIC-WISE_to_1x1_asphaltjungleNJ_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_5x5min_ORNL-Soil_to_1x1_asphaltjungleNJ_nomask_aave_da_c170706.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_5x5min_nomask_to_1x1_asphaltjungleNJ_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_3x3min_GLOBE-Gardner_to_1x1_asphaltjungleNJ_nomask_aave_da_c120927.nc lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_3x3min_GLOBE-Gardner-mergeGIS_to_1x1_asphaltjungleNJ_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_0.9x1.25_GRDC_to_1x1_asphaltjungleNJ_nomask_aave_da_c130309.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_360x720_cruncep_to_1x1_asphaltjungleNJ_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_1km-merge-10min_HYDRO1K-merge-nomask_to_1x1_asphaltjungleNJ_nomask_aave_da_c130403.nc - + - + -lnd/clm2/mappingdata/maps/1x1_brazil/map_0.5x0.5_AVHRR_to_1x1_brazil_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_0.5x0.5_MODIS_to_1x1_brazil_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_0.25x0.25_MODIS_to_1x1_brazil_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_0.5x0.5_nomask_to_1x1_brazil_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_10x10min_nomask_to_1x1_brazil_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_3x3min_MODIS_to_1x1_brazil_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_3x3min_MODISv2_to_1x1_brazil_nomask_aave_da_c190507.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_3x3min_MODIS-wCsp_to_1x1_brazil_nomask_aave_da_c160425.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_3x3min_USGS_to_1x1_brazil_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_3x3min_LandScan2004_to_1x1_brazil_nomask_aave_da_c121114.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_5x5min_IGBP-GSDP_to_1x1_brazil_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_5x5min_ISRIC-WISE_to_1x1_brazil_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_brazil/map_5x5min_ORNL-Soil_to_1x1_brazil_nomask_aave_da_c170706.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_5x5min_nomask_to_1x1_brazil_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_brazil/map_3x3min_GLOBE-Gardner_to_1x1_brazil_nomask_aave_da_c120927.nc lnd/clm2/mappingdata/maps/1x1_brazil/map_3x3min_GLOBE-Gardner-mergeGIS_to_1x1_brazil_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_0.9x1.25_GRDC_to_1x1_brazil_nomask_aave_da_c130309.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_360x720_cruncep_to_1x1_brazil_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_1km-merge-10min_HYDRO1K-merge-nomask_to_1x1_brazil_nomask_aave_da_c130403.nc - + - + -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_0.5x0.5_AVHRR_to_1x1_camdenNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_0.5x0.5_MODIS_to_1x1_camdenNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_0.25x0.25_MODIS_to_1x1_camdenNJ_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_0.5x0.5_nomask_to_1x1_camdenNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_10x10min_nomask_to_1x1_camdenNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_3x3min_MODIS_to_1x1_camdenNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_3x3min_MODISv2_to_1x1_camdenNJ_nomask_aave_da_c190506.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_3x3min_MODIS-wCsp_to_1x1_camdenNJ_nomask_aave_da_c160425.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_3x3min_USGS_to_1x1_camdenNJ_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_3x3min_LandScan2004_to_1x1_camdenNJ_nomask_aave_da_c121114.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_5x5min_IGBP-GSDP_to_1x1_camdenNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_5x5min_ISRIC-WISE_to_1x1_camdenNJ_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_5x5min_ORNL-Soil_to_1x1_camdenNJ_nomask_aave_da_c170706.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_5x5min_nomask_to_1x1_camdenNJ_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_3x3min_GLOBE-Gardner_to_1x1_camdenNJ_nomask_aave_da_c120927.nc lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_3x3min_GLOBE-Gardner-mergeGIS_to_1x1_camdenNJ_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_0.9x1.25_GRDC_to_1x1_camdenNJ_nomask_aave_da_c130309.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_360x720_cruncep_to_1x1_camdenNJ_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_1km-merge-10min_HYDRO1K-merge-nomask_to_1x1_camdenNJ_nomask_aave_da_c130403.nc - + - + -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_0.5x0.5_AVHRR_to_1x1_mexicocityMEX_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_0.5x0.5_MODIS_to_1x1_mexicocityMEX_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_0.25x0.25_MODIS_to_1x1_mexicocityMEX_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_0.5x0.5_nomask_to_1x1_mexicocityMEX_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_10x10min_nomask_to_1x1_mexicocityMEX_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_3x3min_MODIS_to_1x1_mexicocityMEX_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_3x3min_MODISv2_to_1x1_mexicocityMEX_nomask_aave_da_c190507.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_3x3min_MODIS-wCsp_to_1x1_mexicocityMEX_nomask_aave_da_c160425.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_3x3min_USGS_to_1x1_mexicocityMEX_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_3x3min_LandScan2004_to_1x1_mexicocityMEX_nomask_aave_da_c121114.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_5x5min_IGBP-GSDP_to_1x1_mexicocityMEX_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_5x5min_ISRIC-WISE_to_1x1_mexicocityMEX_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_5x5min_ORNL-Soil_to_1x1_mexicocityMEX_nomask_aave_da_c170706.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_5x5min_nomask_to_1x1_mexicocityMEX_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_3x3min_GLOBE-Gardner_to_1x1_mexicocityMEX_nomask_aave_da_c120927.nc lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_3x3min_GLOBE-Gardner-mergeGIS_to_1x1_mexicocityMEX_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_0.9x1.25_GRDC_to_1x1_mexicocityMEX_nomask_aave_da_c130309.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_360x720_cruncep_to_1x1_mexicocityMEX_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_1km-merge-10min_HYDRO1K-merge-nomask_to_1x1_mexicocityMEX_nomask_aave_da_c130403.nc - + - + -lnd/clm2/mappingdata/maps/1x1_numaIA/map_0.5x0.5_AVHRR_to_1x1_numaIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_0.5x0.5_MODIS_to_1x1_numaIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_0.25x0.25_MODIS_to_1x1_numaIA_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_0.5x0.5_nomask_to_1x1_numaIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_10x10min_nomask_to_1x1_numaIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_3x3min_MODIS_to_1x1_numaIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_3x3min_MODISv2_to_1x1_numaIA_nomask_aave_da_c190507.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_3x3min_MODIS-wCsp_to_1x1_numaIA_nomask_aave_da_c160425.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_3x3min_USGS_to_1x1_numaIA_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_3x3min_LandScan2004_to_1x1_numaIA_nomask_aave_da_c121114.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_5x5min_IGBP-GSDP_to_1x1_numaIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_5x5min_ISRIC-WISE_to_1x1_numaIA_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_numaIA/map_5x5min_ORNL-Soil_to_1x1_numaIA_nomask_aave_da_c170706.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_5x5min_nomask_to_1x1_numaIA_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_numaIA/map_3x3min_GLOBE-Gardner_to_1x1_numaIA_nomask_aave_da_c120927.nc lnd/clm2/mappingdata/maps/1x1_numaIA/map_3x3min_GLOBE-Gardner-mergeGIS_to_1x1_numaIA_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_0.9x1.25_GRDC_to_1x1_numaIA_nomask_aave_da_c130309.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_360x720_cruncep_to_1x1_numaIA_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_1km-merge-10min_HYDRO1K-merge-nomask_to_1x1_numaIA_nomask_aave_da_c130403.nc - + - + -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_0.5x0.5_AVHRR_to_1x1_smallvilleIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_0.5x0.5_MODIS_to_1x1_smallvilleIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_0.25x0.25_MODIS_to_1x1_smallvilleIA_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_0.5x0.5_nomask_to_1x1_smallvilleIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_10x10min_nomask_to_1x1_smallvilleIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_3x3min_MODIS_to_1x1_smallvilleIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_3x3min_MODISv2_to_1x1_smallvilleIA_nomask_aave_da_c190507.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_3x3min_MODIS-wCsp_to_1x1_smallvilleIA_nomask_aave_da_c160425.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_3x3min_USGS_to_1x1_smallvilleIA_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_3x3min_LandScan2004_to_1x1_smallvilleIA_nomask_aave_da_c121114.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_5x5min_IGBP-GSDP_to_1x1_smallvilleIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_5x5min_ISRIC-WISE_to_1x1_smallvilleIA_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_5x5min_ORNL-Soil_to_1x1_smallvilleIA_nomask_aave_da_c170706.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_5x5min_nomask_to_1x1_smallvilleIA_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_3x3min_GLOBE-Gardner_to_1x1_smallvilleIA_nomask_aave_da_c120927.nc lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_3x3min_GLOBE-Gardner-mergeGIS_to_1x1_smallvilleIA_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_0.9x1.25_GRDC_to_1x1_smallvilleIA_nomask_aave_da_c130309.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_360x720_cruncep_to_1x1_smallvilleIA_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_1km-merge-10min_HYDRO1K-merge-nomask_to_1x1_smallvilleIA_nomask_aave_da_c130403.nc - + - + -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_0.5x0.5_AVHRR_to_1x1_urbanc_alpha_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_0.5x0.5_MODIS_to_1x1_urbanc_alpha_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_0.25x0.25_MODIS_to_1x1_urbanc_alpha_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_0.5x0.5_nomask_to_1x1_urbanc_alpha_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_10x10min_nomask_to_1x1_urbanc_alpha_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_3x3min_MODIS_to_1x1_urbanc_alpha_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_3x3min_MODISv2_to_1x1_urbanc_alpha_nomask_aave_da_c190507.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_3x3min_MODIS-wCsp_to_1x1_urbanc_alpha_nomask_aave_da_c160425.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_3x3min_USGS_to_1x1_urbanc_alpha_nomask_aave_da_c120928.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_3x3min_LandScan2004_to_1x1_urbanc_alpha_nomask_aave_da_c121114.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_5x5min_IGBP-GSDP_to_1x1_urbanc_alpha_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_5x5min_ISRIC-WISE_to_1x1_urbanc_alpha_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_5x5min_ORNL-Soil_to_1x1_urbanc_alpha_nomask_aave_da_c170706.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_5x5min_nomask_to_1x1_urbanc_alpha_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_3x3min_GLOBE-Gardner_to_1x1_urbanc_alpha_nomask_aave_da_c120927.nc lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_3x3min_GLOBE-Gardner-mergeGIS_to_1x1_urbanc_alpha_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_0.9x1.25_GRDC_to_1x1_urbanc_alpha_nomask_aave_da_c130309.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_360x720_cruncep_to_1x1_urbanc_alpha_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_1km-merge-10min_HYDRO1K-merge-nomask_to_1x1_urbanc_alpha_nomask_aave_da_c130403.nc - + - + -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_0.5x0.5_AVHRR_to_1x1_vancouverCAN_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_0.5x0.5_MODIS_to_1x1_vancouverCAN_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_0.25x0.25_MODIS_to_1x1_vancouverCAN_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_0.5x0.5_nomask_to_1x1_vancouverCAN_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_10x10min_nomask_to_1x1_vancouverCAN_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_3x3min_MODIS_to_1x1_vancouverCAN_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_3x3min_MODISv2_to_1x1_vancouverCAN_nomask_aave_da_c190506.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_3x3min_MODIS-wCsp_to_1x1_vancouverCAN_nomask_aave_da_c160425.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_3x3min_USGS_to_1x1_vancouverCAN_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_3x3min_LandScan2004_to_1x1_vancouverCAN_nomask_aave_da_c121114.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_5x5min_IGBP-GSDP_to_1x1_vancouverCAN_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_5x5min_ISRIC-WISE_to_1x1_vancouverCAN_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_5x5min_ORNL-Soil_to_1x1_vancouverCAN_nomask_aave_da_c170706.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_5x5min_nomask_to_1x1_vancouverCAN_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_3x3min_GLOBE-Gardner_to_1x1_vancouverCAN_nomask_aave_da_c120927.nc lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_3x3min_GLOBE-Gardner-mergeGIS_to_1x1_vancouverCAN_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_0.9x1.25_GRDC_to_1x1_vancouverCAN_nomask_aave_da_c130309.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_360x720_cruncep_to_1x1_vancouverCAN_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_1km-merge-10min_HYDRO1K-merge-nomask_to_1x1_vancouverCAN_nomask_aave_da_c130403.nc - + - + -lnd/clm2/mappingdata/maps/0.47x0.63/map_0.25x0.25_MODIS_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_0.5x0.5_AVHRR_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_0.5x0.5_MODIS_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_0.9x1.25_GRDC_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_10x10min_IGBPmergeICESatGIS_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_10x10min_nomask_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_1km-merge-10min_HYDRO1K-merge-nomask_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_360x720cru_cruncep_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_3x3min_GLOBE-Gardner-mergeGIS_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_3x3min_GLOBE-Gardner_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_3x3min_LandScan2004_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_3x3min_MODISv2_to_0.47x0.63_nomask_aave_da_c190505.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_3x3min_MODIS-wCsp_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_3x3min_USGS_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_5x5min_IGBP-GSDP_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_5x5min_ISRIC-WISE_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_5x5min_nomask_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_5x5min_ORNL-Soil_to_0.47x0.63_nomask_aave_da_c170914.nc - + -lnd/clm2/mappingdata/maps/0.9x1.25/map_0.5x0.5_landuse_to_0.9x1.25_aave_da_110307.nc -lnd/clm2/mappingdata/maps/0.9x1.25/map_0.25x0.25_MODIS_to_0.9x1.25_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/0.9x1.25/map_0.5x0.5_lanwat_to_0.9x1.25_aave_da_110307.nc lnd/clm2/mappingdata/maps/0.9x1.25/map_10minx10min_topo_to_0.9x1.25_aave_da_110630.nc @@ -2239,7 +2229,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/0.9x1.25/map_5x5min_ORNL-Soil_to_0.9x1.25_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/0.9x1.25/map_3x3min_MODIS_to_0.9x1.25_nomask_aave_da_c120523.nc -lnd/clm2/mappingdata/maps/0.9x1.25/map_3x3min_MODISv2_to_0.9x1.25_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/0.9x1.25/map_3x3min_MODIS-wCsp_to_0.9x1.25_nomask_aave_da_c160425.nc @@ -2251,18 +2241,18 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/0.9x1.25/map_3x3min_GLOBE-Gardner_to_0.9x1.25_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/0.9x1.25/map_3x3min_GLOBE-Gardner-mergeGIS_to_0.9x1.25_nomask_aave_da_c120923.nc -lnd/clm2/mappingdata/maps/0.9x1.25/map_0.9x1.25_GRDC_to_0.9x1.25_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/0.9x1.25/map_360x720_cruncep_to_0.9x1.25_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/0.9x1.25/map_1km-merge-10min_HYDRO1K-merge-nomask_to_0.9x1.25_nomask_aave_da_c130405.nc -lnd/clm2/mappingdata/maps/1.9x2.5/map_0.5x0.5_landuse_to_1.9x2.5_aave_da_110307.nc -lnd/clm2/mappingdata/maps/1.9x2.5/map_0.25x0.25_MODIS_to_1.9x2.5_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/1.9x2.5/map_0.5x0.5_lanwat_to_1.9x2.5_aave_da_110307.nc lnd/clm2/mappingdata/maps/1.9x2.5/map_10minx10min_topo_to_1.9x2.5_aave_da_110307.nc @@ -2276,7 +2266,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/1.9x2.5/map_5x5min_ORNL-Soil_to_1.9x2.5_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/1.9x2.5/map_3x3min_MODIS_to_1.9x2.5_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/1.9x2.5/map_3x3min_MODISv2_to_1.9x2.5_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/1.9x2.5/map_3x3min_MODIS-wCsp_to_1.9x2.5_nomask_aave_da_c160425.nc @@ -2288,19 +2278,19 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/1.9x2.5/map_3x3min_GLOBE-Gardner_to_1.9x2.5_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/1.9x2.5/map_3x3min_GLOBE-Gardner-mergeGIS_to_1.9x2.5_nomask_aave_da_c120923.nc -lnd/clm2/mappingdata/maps/1.9x2.5/map_0.9x1.25_GRDC_to_1.9x2.5_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/1.9x2.5/map_360x720_cruncep_to_1.9x2.5_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/1.9x2.5/map_1km-merge-10min_HYDRO1K-merge-nomask_to_1.9x2.5_nomask_aave_da_c130405.nc -lnd/clm2/mappingdata/maps/10x15/map_0.5x0.5_landuse_to_10x15_aave_da_110307.nc -lnd/clm2/mappingdata/maps/10x15/map_0.25x0.25_MODIS_to_10x15_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/10x15/map_0.5x0.5_lanwat_to_10x15_aave_da_110307.nc lnd/clm2/mappingdata/maps/10x15/map_10minx10min_topo_to_10x15_aave_da_110307.nc @@ -2314,7 +2304,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/10x15/map_5x5min_ORNL-Soil_to_10x15_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/10x15/map_3x3min_MODIS_to_10x15_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/10x15/map_3x3min_MODISv2_to_10x15_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/10x15/map_3x3min_MODIS-wCsp_to_10x15_nomask_aave_da_c160425.nc @@ -2326,18 +2316,18 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/10x15/map_3x3min_GLOBE-Gardner_to_10x15_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/10x15/map_3x3min_GLOBE-Gardner-mergeGIS_to_10x15_nomask_aave_da_c120923.nc -lnd/clm2/mappingdata/maps/10x15/map_0.9x1.25_GRDC_to_10x15_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/10x15/map_360x720_cruncep_to_10x15_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/10x15/map_1km-merge-10min_HYDRO1K-merge-nomask_to_10x15_nomask_aave_da_c130411.nc -lnd/clm2/mappingdata/maps/360x720/map_0.5x0.5_MODIS_to_360x720_nomask_aave_da_c120830.nc -lnd/clm2/mappingdata/maps/360x720/map_0.25x0.25_MODIS_to_360x720cru_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/360x720/map_0.5x0.5_AVHRR_to_360x720_nomask_aave_da_c120830.nc lnd/clm2/mappingdata/maps/360x720/map_10x10min_nomask_to_360x720_nomask_aave_da_c120830.nc @@ -2351,7 +2341,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/360x720/map_5x5min_ORNL-Soil_to_360x720cru_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/360x720/map_3x3min_MODIS_to_360x720_nomask_aave_da_c120830.nc -lnd/clm2/mappingdata/maps/360x720/map_3x3min_MODISv2_to_360x720cru_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/360x720/map_3x3min_MODIS-wCsp_to_360x720cru_nomask_aave_da_c160425.nc @@ -2363,19 +2353,19 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/360x720/map_3x3min_GLOBE-Gardner_to_360x720_nomask_aave_da_c121128.nc lnd/clm2/mappingdata/maps/360x720/map_3x3min_GLOBE-Gardner-mergeGIS_to_360x720_nomask_aave_da_c121128.nc -lnd/clm2/mappingdata/maps/360x720/map_0.9x1.25_GRDC_to_360x720_nomask_aave_da_c130309.nc -lnd/clm2/mappingdata/maps/360x720/map_360x720_cruncep_to_360x720_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/360x720/map_1km-merge-10min_HYDRO1K-merge-nomask_to_360x720_nomask_aave_da_c130403.nc -lnd/clm2/mappingdata/maps/512x1024/map_0.5x0.5_MODIS_to_512x1024_nomask_aave_da_c110920.nc -lnd/clm2/mappingdata/maps/512x1024/map_0.25x0.25_MODIS_to_512x1024_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/512x1024/map_0.5x0.5_AVHRR_to_512x1024_nomask_aave_da_c110920.nc lnd/clm2/mappingdata/maps/512x1024/map_10x10min_nomask_to_512x1024_nomask_aave_da_c110920.nc @@ -2389,7 +2379,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/512x1024/map_5x5min_ORNL-Soil_to_512x1024_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/512x1024/map_3x3min_MODIS_to_512x1024_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/512x1024/map_3x3min_MODISv2_to_512x1024_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/512x1024/map_3x3min_MODIS-wCsp_to_512x1024_nomask_aave_da_c160425.nc @@ -2401,19 +2391,19 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/512x1024/map_3x3min_GLOBE-Gardner_to_512x1024_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/512x1024/map_3x3min_GLOBE-Gardner-mergeGIS_to_512x1024_nomask_aave_da_c120923.nc -lnd/clm2/mappingdata/maps/512x1024/map_0.9x1.25_GRDC_to_512x1024_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/512x1024/map_360x720_cruncep_to_512x1024_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/512x1024/map_1km-merge-10min_HYDRO1K-merge-nomask_to_512x1024_nomask_aave_da_c130403.nc -lnd/clm2/mappingdata/maps/128x256/map_0.5x0.5_MODIS_to_128x256_nomask_aave_da_c110920.nc -lnd/clm2/mappingdata/maps/128x256/map_0.25x0.25_MODIS_to_128x256_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/128x256/map_0.5x0.5_AVHRR_to_128x256_nomask_aave_da_c110920.nc lnd/clm2/mappingdata/maps/128x256/map_10x10min_nomask_to_128x256_nomask_aave_da_c110920.nc @@ -2427,7 +2417,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/128x256/map_5x5min_ORNL-Soil_to_128x256_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/128x256/map_3x3min_MODIS_to_128x256_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/128x256/map_3x3min_MODISv2_to_128x256_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/128x256/map_3x3min_MODIS-wCsp_to_128x256_nomask_aave_da_c160425.nc @@ -2439,19 +2429,19 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/128x256/map_3x3min_GLOBE-Gardner_to_128x256_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/128x256/map_3x3min_GLOBE-Gardner-mergeGIS_to_128x256_nomask_aave_da_c120923.nc -lnd/clm2/mappingdata/maps/128x256/map_0.9x1.25_GRDC_to_128x256_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/128x256/map_360x720_cruncep_to_128x256_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/128x256/map_1km-merge-10min_HYDRO1K-merge-nomask_to_128x256_nomask_aave_da_c130403.nc -lnd/clm2/mappingdata/maps/64x128/map_0.5x0.5_MODIS_to_64x128_nomask_aave_da_c110920.nc -lnd/clm2/mappingdata/maps/64x128/map_0.25x0.25_MODIS_to_64x128_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/64x128/map_0.5x0.5_AVHRR_to_64x128_nomask_aave_da_c110920.nc lnd/clm2/mappingdata/maps/64x128/map_10x10min_nomask_to_64x128_nomask_aave_da_c110920.nc @@ -2465,7 +2455,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/64x128/map_5x5min_ORNL-Soil_to_64x128_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/64x128/map_3x3min_MODIS_to_64x128_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/64x128/map_3x3min_MODISv2_to_64x128_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/64x128/map_3x3min_MODIS-wCsp_to_64x128_nomask_aave_da_c160428.nc @@ -2477,18 +2467,18 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/64x128/map_3x3min_GLOBE-Gardner_to_64x128_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/64x128/map_3x3min_GLOBE-Gardner-mergeGIS_to_64x128_nomask_aave_da_c120923.nc -lnd/clm2/mappingdata/maps/64x128/map_0.9x1.25_GRDC_to_64x128_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/64x128/map_360x720_cruncep_to_64x128_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/64x128/map_1km-merge-10min_HYDRO1K-merge-nomask_to_64x128_nomask_aave_da_c130403.nc -lnd/clm2/mappingdata/maps/48x96/map_0.5x0.5_MODIS_to_48x96_nomask_aave_da_c110822.nc -lnd/clm2/mappingdata/maps/48x96/map_0.25x0.25_MODIS_to_48x96_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/48x96/map_0.5x0.5_AVHRR_to_48x96_nomask_aave_da_c110822.nc lnd/clm2/mappingdata/maps/48x96/map_10x10min_nomask_to_48x96_nomask_aave_da_c110822.nc @@ -2502,7 +2492,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/48x96/map_5x5min_ORNL-Soil_to_48x96_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/48x96/map_3x3min_MODIS_to_48x96_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/48x96/map_3x3min_MODISv2_to_48x96_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/48x96/map_3x3min_MODIS-wCsp_to_48x96_nomask_aave_da_c160425.nc @@ -2514,18 +2504,18 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/48x96/map_3x3min_GLOBE-Gardner_to_48x96_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/48x96/map_3x3min_GLOBE-Gardner-mergeGIS_to_48x96_nomask_aave_da_c120923.nc -lnd/clm2/mappingdata/maps/48x96/map_0.9x1.25_GRDC_to_48x96_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/48x96/map_360x720_cruncep_to_48x96_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/48x96/map_1km-merge-10min_HYDRO1K-merge-nomask_to_48x96_nomask_aave_da_c130405.nc -lnd/clm2/mappingdata/maps/4x5/map_0.5x0.5_MODIS_to_4x5_nomask_aave_da_c110822.nc -lnd/clm2/mappingdata/maps/4x5/map_0.25x0.25_MODIS_to_4x5_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/4x5/map_0.5x0.5_AVHRR_to_4x5_nomask_aave_da_c110822.nc lnd/clm2/mappingdata/maps/4x5/map_10x10min_nomask_to_4x5_nomask_aave_da_c110822.nc @@ -2539,7 +2529,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/4x5/map_5x5min_ORNL-Soil_to_4x5_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/4x5/map_3x3min_MODIS_to_4x5_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/4x5/map_3x3min_MODISv2_to_4x5_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/4x5/map_3x3min_MODIS-wCsp_to_4x5_nomask_aave_da_c160425.nc @@ -2551,18 +2541,18 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/4x5/map_3x3min_GLOBE-Gardner_to_4x5_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/4x5/map_3x3min_GLOBE-Gardner-mergeGIS_to_4x5_nomask_aave_da_c120923.nc -lnd/clm2/mappingdata/maps/4x5/map_0.9x1.25_GRDC_to_4x5_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/4x5/map_360x720_cruncep_to_4x5_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/4x5/map_1km-merge-10min_HYDRO1K-merge-nomask_to_4x5_nomask_aave_da_c130411.nc -lnd/clm2/mappingdata/maps/0.23x0.31/map_0.5x0.5_MODIS_to_0.23x0.31_nomask_aave_da_c110920.nc -lnd/clm2/mappingdata/maps/0.23x0.31/map_0.25x0.25_MODIS_to_0.23x0.31_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/0.23x0.31/map_0.5x0.5_AVHRR_to_0.23x0.31_nomask_aave_da_c110920.nc lnd/clm2/mappingdata/maps/0.23x0.31/map_10x10min_nomask_to_0.23x0.31_nomask_aave_da_c110920.nc @@ -2576,7 +2566,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/0.23x0.31/map_5x5min_ORNL-Soil_to_0.23x0.31_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/0.23x0.31/map_3x3min_MODIS_to_0.23x0.31_nomask_aave_da_c110930.nc -lnd/clm2/mappingdata/maps/0.23x0.31/map_3x3min_MODISv2_to_0.23x0.31_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/0.23x0.31/map_3x3min_MODIS-wCsp_to_0.23x0.31_nomask_aave_da_c160425.nc @@ -2590,19 +2580,19 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/0.23x0.31/map_3x3min_GLOBE-Gardner-mergeGIS_to_0.23x0.31_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/0.23x0.31/map_3x3min_LandScan2004_to_0.23x0.31_nomask_aave_da_c120518.nc -lnd/clm2/mappingdata/maps/0.23x0.31/map_0.9x1.25_GRDC_to_0.23x0.31_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/0.23x0.31/map_360x720_cruncep_to_0.23x0.31_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/0.23x0.31/map_1km-merge-10min_HYDRO1K-merge-nomask_to_0.23x0.31_nomask_aave_da_c130405.nc -lnd/clm2/mappingdata/maps/2.5x3.33/map_0.5x0.5_MODIS_to_2.5x3.33_nomask_aave_da_c110823.nc -lnd/clm2/mappingdata/maps/2.5x3.33/map_0.25x0.25_MODIS_to_2.5x3.33_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/2.5x3.33/map_0.5x0.5_AVHRR_to_2.5x3.33_nomask_aave_da_c110823.nc lnd/clm2/mappingdata/maps/2.5x3.33/map_10x10min_nomask_to_2.5x3.33_nomask_aave_da_c110823.nc @@ -2616,7 +2606,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/2.5x3.33/map_5x5min_ORNL-Soil_to_2.5x3.33_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/2.5x3.33/map_3x3min_MODIS_to_2.5x3.33_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/2.5x3.33/map_3x3min_MODISv2_to_2.5x3.33_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/2.5x3.33/map_3x3min_MODIS-wCsp_to_2.5x3.33_nomask_aave_da_c160425.nc @@ -2628,63 +2618,63 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/2.5x3.33/map_3x3min_GLOBE-Gardner_to_2.5x3.33_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/2.5x3.33/map_3x3min_GLOBE-Gardner-mergeGIS_to_2.5x3.33_nomask_aave_da_c120923.nc -lnd/clm2/mappingdata/maps/2.5x3.33/map_0.9x1.25_GRDC_to_2.5x3.33_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/2.5x3.33/map_360x720_cruncep_to_2.5x3.33_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/2.5x3.33/map_1km-merge-10min_HYDRO1K-merge-nomask_to_2.5x3.33_nomask_aave_da_c130405.nc - + -lnd/clm2/mappingdata/maps/0.5x0.5/map_0.5x0.5_AVHRR_to_0.5x0.5_nomask_aave_da_c111021.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_0.25x0.25_MODIS_to_0.5x0.5_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_0.5x0.5_MODIS_to_0.5x0.5_nomask_aave_da_c111021.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_0.5x0.5_nomask_to_0.5x0.5_nomask_aave_da_c111021.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_10x10min_IGBPmergeICESatGIS_to_0.5x0.5_nomask_aave_da_c111021.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_10x10min_nomask_to_0.5x0.5_nomask_aave_da_c111021.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_5x5min_IGBP-GSDP_to_0.5x0.5_nomask_aave_da_c111021.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_5x5min_nomask_to_0.5x0.5_nomask_aave_da_c111021.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_3x3min_MODIS_to_0.5x0.5_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_3x3min_MODIS-wCsp_to_0.5x0.5_nomask_aave_da_c160425.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_5x5min_ISRIC-WISE_to_0.5x0.5_nomask_aave_da_c111115.nc lnd/clm2/mappingdata/maps/0.5x0.5/map_5x5min_ORNL-Soil_to_0.5x0.5_nomask_aave_da_c170706.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_3x3min_LandScan2004_to_0.5x0.5_nomask_aave_da_c120518.nc lnd/clm2/mappingdata/maps/0.5x0.5/map_3x3min_GLOBE-Gardner_to_0.5x0.5_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/0.5x0.5/map_3x3min_GLOBE-Gardner-mergeGIS_to_0.5x0.5_nomask_aave_da_c120923.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_0.1x0.1_nomask_to_0.5x0.5_nomask_aave_da_c120706.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_ne240np4_nomask_to_0.5x0.5_nomask_aave_da_c120711.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_4x5_nomask_to_0.5x0.5_nomask_aave_da_c120706.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_1.9x2.5_nomask_to_0.5x0.5_nomask_aave_da_c120709.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_ne120np4_nomask_to_0.5x0.5_nomask_aave_da_c120711.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_3x3_USGS_nomask_to_0.5x0.5_nomask_aave_da_c120912.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_0.9x1.25_GRDC_to_0.5x0.5_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_360x720_cruncep_to_0.5x0.5_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_1km-merge-10min_HYDRO1K-merge-nomask_to_0.5x0.5_nomask_aave_da_c130405.nc @@ -2885,11 +2875,11 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/C384/map_C384_nomask_to_0.5x0.5_nomask_aave_da_c181018.nc -lnd/clm2/mappingdata/maps/ne4np4/map_0.5x0.5_MODIS_to_ne4np4_nomask_aave_da_c110923.nc -lnd/clm2/mappingdata/maps/ne4np4/map_0.25x0.25_MODIS_to_ne4np4_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/ne4np4/map_0.5x0.5_AVHRR_to_ne4np4_nomask_aave_da_c110923.nc lnd/clm2/mappingdata/maps/ne4np4/map_10x10min_nomask_to_ne4np4_nomask_aave_da_c110923.nc @@ -2903,7 +2893,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/ne4np4/map_5x5min_ORNL-Soil_to_ne4np4_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/ne4np4/map_3x3min_MODIS_to_ne4np4_nomask_aave_da_c120906.nc -lnd/clm2/mappingdata/maps/ne4np4/map_3x3min_MODISv2_to_ne4np4_nomask_aave_da_c190514.nc lnd/clm2/mappingdata/maps/ne4np4/map_3x3min_MODIS-wCsp_to_ne4np4_nomask_aave_da_c160425.nc @@ -2917,23 +2907,23 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/ne4np4/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne4np4_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/ne4np4/map_3x3min_LandScan2004_to_ne4np4_nomask_aave_da_c120518.nc -lnd/clm2/mappingdata/maps/ne4np4/map_0.9x1.25_GRDC_to_ne4np4_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/ne4np4/map_360x720_cruncep_to_ne4np4_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/ne4np4/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne4np4_nomask_aave_da_c130411.nc lnd/clm2/mappingdata/maps/ne4np4/map_ne4np4_nomask_to_0.5x0.5_nomask_aave_da_c110923.nc -lnd/clm2/mappingdata/maps/ne16np4/map_0.5x0.5_MODIS_to_ne16np4_nomask_aave_da_c110922.nc -lnd/clm2/mappingdata/maps/ne16np4/map_0.25x0.25_MODIS_to_ne16np4_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/ne16np4/map_3x3min_MODISv2_to_ne16np4_nomask_aave_da_c190514.nc -lnd/clm2/mappingdata/maps/ne16np4/map_0.5x0.5_AVHRR_to_ne16np4_nomask_aave_da_c110922.nc lnd/clm2/mappingdata/maps/ne16np4/map_10x10min_nomask_to_ne16np4_nomask_aave_da_c110922.nc @@ -2957,21 +2947,21 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/ne16np4/map_3x3min_GLOBE-Gardner_to_ne16np4_nomask_aave_da_c120924.nc lnd/clm2/mappingdata/maps/ne16np4/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne16np4_nomask_aave_da_c120924.nc -lnd/clm2/mappingdata/maps/ne16np4/map_0.9x1.25_GRDC_to_ne16np4_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/ne16np4/map_360x720_cruncep_to_ne16np4_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/ne16np4/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne16np4_nomask_aave_da_c130408.nc lnd/clm2/mappingdata/maps/ne16np4/map_ne16np4_nomask_to_0.5x0.5_nomask_aave_da_c110922.nc -lnd/clm2/mappingdata/maps/ne30np4/map_0.5x0.5_landuse_to_ne30np4_aave_da_110320.nc -lnd/clm2/mappingdata/maps/ne30np4/map_0.25x0.25_MODIS_to_ne30np4_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/ne30np4/map_0.5x0.5_lanwat_to_ne30np4_aave_da_110320.nc lnd/clm2/mappingdata/maps/ne30np4/map_10minx10min_topo_to_ne30np4_aave_da_110320.nc @@ -2985,7 +2975,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/ne30np4/map_5x5min_ORNL-Soil_to_ne30np4_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/ne30np4/map_3x3min_MODIS_to_ne30np4_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/ne30np4/map_3x3min_MODISv2_to_ne30np4_nomask_aave_da_c190507.nc lnd/clm2/mappingdata/maps/ne30np4/map_3x3min_MODIS-wCsp_to_ne30np4_nomask_aave_da_c160425.nc @@ -2997,21 +2987,21 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/ne30np4/map_3x3min_GLOBE-Gardner_to_ne30np4_nomask_aave_da_c120924.nc lnd/clm2/mappingdata/maps/ne30np4/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne30np4_nomask_aave_da_c120924.nc -lnd/clm2/mappingdata/maps/ne30np4/map_0.9x1.25_GRDC_to_ne30np4_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/ne30np4/map_360x720_cruncep_to_ne30np4_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/ne30np4/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne30np4_nomask_aave_da_c130405.nc lnd/clm2/mappingdata/maps/ne30np4/map_ne30np4_to_0.5x0.5rtm_aave_da_110320.nc -lnd/clm2/mappingdata/maps/ne60np4/map_0.5x0.5_MODIS_to_ne60np4_nomask_aave_da_c110922.nc -lnd/clm2/mappingdata/maps/ne60np4/map_0.25x0.25_MODIS_to_ne60np4_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/ne60np4/map_0.5x0.5_AVHRR_to_ne60np4_nomask_aave_da_c110922.nc lnd/clm2/mappingdata/maps/ne60np4/map_10x10min_nomask_to_ne60np4_nomask_aave_da_c110922.nc @@ -3025,7 +3015,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/ne60np4/map_5x5min_ORNL-Soil_to_ne60np4_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/ne60np4/map_3x3min_MODIS_to_ne60np4_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/ne60np4/map_3x3min_MODISv2_to_ne60np4_nomask_aave_da_c190507.nc lnd/clm2/mappingdata/maps/ne60np4/map_3x3min_MODIS-wCsp_to_ne60np4_nomask_aave_da_c160425.nc @@ -3037,20 +3027,20 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/ne60np4/map_3x3min_GLOBE-Gardner_to_ne60np4_nomask_aave_da_c120924.nc lnd/clm2/mappingdata/maps/ne60np4/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne60np4_nomask_aave_da_c120924.nc -lnd/clm2/mappingdata/maps/ne60np4/map_0.9x1.25_GRDC_to_ne60np4_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/ne60np4/map_360x720_cruncep_to_ne60np4_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/ne60np4/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne60np4_nomask_aave_da_c130405.nc lnd/clm2/mappingdata/maps/ne60np4/map_ne60np4_nomask_to_0.5x0.5_nomask_aave_da_c110922.nc -lnd/clm2/mappingdata/maps/ne120np4/map_0.5x0.5_landuse_to_ne120np4_aave_da_110320.nc -lnd/clm2/mappingdata/maps/ne120np4/map_0.25x0.25_MODIS_to_ne120np4_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/ne120np4/map_0.5x0.5_lanwat_to_ne120np4_aave_da_110320.nc lnd/clm2/mappingdata/maps/ne120np4/map_10minx10min_topo_to_ne120np4_aave_da_110320.nc @@ -3064,7 +3054,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/ne120np4/map_5minx5min_irrig_to_ne120np4_aave_da_110817.nc lnd/clm2/mappingdata/maps/ne120np4/map_3x3min_MODIS_to_ne120np4_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/ne120np4/map_3x3min_MODISv2_to_ne120np4_nomask_aave_da_c190514.nc lnd/clm2/mappingdata/maps/ne120np4/map_3x3min_MODIS-wCsp_to_ne120np4_nomask_aave_da_c160425.nc @@ -3078,20 +3068,20 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/ne120np4/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne120np4_nomask_aave_da_c120924.nc lnd/clm2/mappingdata/maps/ne120np4/map_3x3min_USGS_to_ne120np4_nomask_aave_da_c120913.nc -lnd/clm2/mappingdata/maps/ne120np4/map_0.9x1.25_GRDC_to_ne120np4_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/ne120np4/map_360x720_cruncep_to_ne120np4_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/ne120np4/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne120np4_nomask_aave_da_c130405.nc - + -lnd/clm2/mappingdata/maps/ne120np4/map_0.1x0.1_nomask_to_ne120np4_nomask_aave_da_c120706.nc - + @@ -3137,52 +3127,52 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts - + -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_5x5min_ORNL-Soil_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_3x3min_MODIS-wCsp_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_5x5min_ISRIC-WISE_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_0.9x1.25_GRDC_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_5x5min_nomask_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_3x3min_GLOBE-Gardner_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_3x3min_LandScan2004_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_360x720cru_cruncep_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_5x5min_IGBP-GSDP_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_3x3min_USGS_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_10x10min_nomask_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_3x3min_MODISv2_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_0.5x0.5_AVHRR_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_0.25x0.25_MODIS_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_0.5x0.5_MODIS_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_10x10min_IGBPmergeICESatGIS_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/5x5_amazon/map_0.5x0.5_MODIS_to_5x5_amazon_nomask_aave_da_c110920.nc -lnd/clm2/mappingdata/maps/5x5_amazon/map_0.25x0.25_MODIS_to_5x5_amazon_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/5x5_amazon/map_0.5x0.5_AVHRR_to_5x5_amazon_nomask_aave_da_c110920.nc lnd/clm2/mappingdata/maps/5x5_amazon/map_10x10min_nomask_to_5x5_amazon_nomask_aave_da_c110920.nc @@ -3196,7 +3186,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/5x5_amazon/map_5x5min_ORNL-Soil_to_5x5_amazon_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/5x5_amazon/map_3x3min_MODIS_to_5x5_amazon_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/5x5_amazon/map_3x3min_MODISv2_to_5x5_amazon_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/5x5_amazon/map_3x3min_MODIS-wCsp_to_5x5_amazon_nomask_aave_da_c160425.nc @@ -3208,18 +3198,18 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/5x5_amazon/map_3x3min_GLOBE-Gardner_to_5x5_amazon_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/5x5_amazon/map_3x3min_GLOBE-Gardner-mergeGIS_to_5x5_amazon_nomask_aave_da_c120923.nc -lnd/clm2/mappingdata/maps/5x5_amazon/map_0.9x1.25_GRDC_to_5x5_amazon_nomask_aave_da_c130309.nc -lnd/clm2/mappingdata/maps/5x5_amazon/map_360x720_cruncep_to_5x5_amazon_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/5x5_amazon/map_1km-merge-10min_HYDRO1K-merge-nomask_to_5x5_amazon_nomask_aave_da_c130403.nc -lnd/clm2/mappingdata/maps/ne240np4/map_0.5x0.5_MODIS_to_ne240np4_nomask_aave_da_c110922.nc -lnd/clm2/mappingdata/maps/ne240np4/map_0.25x0.25_MODIS_to_ne240np4_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/ne240np4/map_0.5x0.5_AVHRR_to_ne240np4_nomask_aave_da_c110922.nc lnd/clm2/mappingdata/maps/ne240np4/map_10x10min_nomask_to_ne240np4_nomask_aave_da_c110922.nc @@ -3233,7 +3223,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/ne240np4/map_5x5min_ORNL-Soil_to_ne240np4_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/ne240np4/map_3x3min_MODIS_to_ne240np4_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/ne240np4/map_3x3min_MODISv2_to_ne240np4_nomask_aave_da_c190514.nc lnd/clm2/mappingdata/maps/ne240np4/map_3x3min_MODIS-wCsp_to_ne240np4_nomask_aave_da_c160425.nc @@ -3245,359 +3235,359 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/ne240np4/map_3x3min_GLOBE-Gardner_to_ne240np4_nomask_aave_da_c120925.nc lnd/clm2/mappingdata/maps/ne240np4/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne240np4_nomask_aave_da_c120925.nc -lnd/clm2/mappingdata/maps/ne240np4/map_0.9x1.25_GRDC_to_ne240np4_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/ne240np4/map_360x720_cruncep_to_ne240np4_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/ne240np4/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne240np4_nomask_aave_da_c130405.nc lnd/clm2/mappingdata/maps/ne240np4/map_ne240np4_nomask_to_0.5x0.5_nomask_aave_da_c110922.nc - + -lnd/clm2/mappingdata/maps/0.125x0.125/map_0.5x0.5_AVHRR_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_0.5x0.5_MODIS_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_0.25x0.25_MODIS_to_0.125x0.125_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_0.9x1.25_GRDC_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_10x10min_IGBPmergeICESatGIS_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_10x10min_nomask_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_1km-merge-10min_HYDRO1K-merge-nomask_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_360x720cru_cruncep_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_3x3min_GLOBE-Gardner-mergeGIS_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_3x3min_GLOBE-Gardner_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_3x3min_LandScan2004_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_3x3min_MODIS_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_3x3min_MODISv2_to_0.125x0.125_nomask_aave_da_c190613.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_3x3min_MODIS-wCsp_to_0.125x0.125_nomask_aave_da_c160427.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_3x3min_USGS_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_5x5min_IGBP-GSDP_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_5x5min_ISRIC-WISE_to_0.125x0.125_nomask_aave_da_c140702.nc lnd/clm2/mappingdata/maps/0.125x0.125/map_5x5min_ORNL-Soil_to_0.125x0.125_nomask_aave_da_c170706.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_5x5min_nomask_to_0.125x0.125_nomask_aave_da_c140702.nc - + -lnd/clm2/mappingdata/maps/94x192/map_3x3min_USGS_to_94x192_nomask_aave_da_c120926.nc -lnd/clm2/mappingdata/maps/94x192/map_0.5x0.5_nomask_to_94x192_nomask_aave_da_c110823.nc -lnd/clm2/mappingdata/maps/94x192/map_5x5min_ORNL-Soil_to_94x192_nomask_aave_da_c190521.nc -lnd/clm2/mappingdata/maps/94x192/map_94x192_nomask_to_0.5x0.5_nomask_aave_da_c110823.nc -lnd/clm2/mappingdata/maps/94x192/map_5x5min_IGBP-GSDP_to_94x192_nomask_aave_da_c110823.nc -lnd/clm2/mappingdata/maps/94x192/map_3x3min_MODIS-wCsp_to_94x192_nomask_aave_da_c190521.nc -lnd/clm2/mappingdata/maps/94x192/map_1km-merge-10min_HYDRO1K-merge-nomask_to_94x192_nomask_aave_da_c190521.nc -lnd/clm2/mappingdata/maps/94x192/map_0.5x0.5_MODIS_to_94x192_nomask_aave_da_c110823.nc -lnd/clm2/mappingdata/maps/94x192/map_5x5min_nomask_to_94x192_nomask_aave_da_c110823.nc -lnd/clm2/mappingdata/maps/94x192/map_0.5x0.5_USGS_to_94x192_nomask_aave_da_c110823.nc -lnd/clm2/mappingdata/maps/94x192/map_0.9x1.25_GRDC_to_94x192_nomask_aave_da_c190521.nc -lnd/clm2/mappingdata/maps/94x192/map_10x10min_nomask_to_94x192_nomask_aave_da_c110823.nc -lnd/clm2/mappingdata/maps/94x192/map_10x10min_IGBPmergeICESatGIS_to_94x192_nomask_aave_da_c110823.nc -lnd/clm2/mappingdata/maps/94x192/map_3x3min_LandScan2004_to_94x192_nomask_aave_da_c190521.nc -lnd/clm2/mappingdata/maps/94x192/map_360x720cru_cruncep_to_94x192_nomask_aave_da_c190521.nc -lnd/clm2/mappingdata/maps/94x192/map_3x3min_GLOBE-Gardner_to_94x192_nomask_aave_da_c190521.nc -lnd/clm2/mappingdata/maps/94x192/map_0.25x0.25_MODIS_to_94x192_nomask_aave_da_c190521.nc -lnd/clm2/mappingdata/maps/94x192/map_0.5x0.5_AVHRR_to_94x192_nomask_aave_da_c110823.nc -lnd/clm2/mappingdata/maps/94x192/map_5x5min_ISRIC-WISE_to_94x192_nomask_aave_da_c190521.nc -lnd/clm2/mappingdata/maps/94x192/map_3x3min_GLOBE-Gardner-mergeGIS_to_94x192_nomask_aave_da_c190521.nc -lnd/clm2/mappingdata/maps/94x192/map_3x3min_MODISv2_to_94x192_nomask_aave_da_c190521.nc - + -lnd/clm2/mappingdata/maps/ARCTIC/map_3x3min_USGS_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_0.9x1.25_GRDC_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_360x720cru_cruncep_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_5x5min_ISRIC-WISE_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_0.5x0.5_AVHRR_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_3x3min_GLOBE-Gardner_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_5x5min_nomask_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_5x5min_IGBP-GSDP_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_0.5x0.5_MODIS_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_3x3min_MODISv2_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_0.25x0.25_MODIS_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_3x3min_MODIS-wCsp_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_10x10min_nomask_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_5x5min_ORNL-Soil_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_3x3min_LandScan2004_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_10x10min_IGBPmergeICESatGIS_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc - + - + -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_5x5min_nomask_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_0.5x0.5_MODIS_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_3x3min_MODISv2_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_5x5min_ORNL-Soil_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_3x3min_MODIS-wCsp_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_0.5x0.5_AVHRR_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_3x3min_GLOBE-Gardner_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_10x10min_nomask_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_5x5min_ISRIC-WISE_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_360x720cru_cruncep_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_10x10min_IGBPmergeICESatGIS_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_5x5min_IGBP-GSDP_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_0.25x0.25_MODIS_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_3x3min_USGS_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_0.9x1.25_GRDC_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_3x3min_LandScan2004_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc - + - + -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_5x5min_nomask_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_3x3min_MODIS-wCsp_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_5x5min_IGBP-GSDP_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_3x3min_LandScan2004_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_360x720cru_cruncep_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_3x3min_USGS_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_0.9x1.25_GRDC_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_0.5x0.5_AVHRR_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_10x10min_IGBPmergeICESatGIS_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_0.5x0.5_MODIS_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_5x5min_ISRIC-WISE_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_3x3min_MODISv2_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_3x3min_GLOBE-Gardner_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_5x5min_ORNL-Soil_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_10x10min_nomask_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_0.25x0.25_MODIS_to_ne30np4.pg2_nomask_aave_da_c200426.nc - + - + -lnd/clm2/mappingdata/maps/ne30pg3/map_3x3min_USGS_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_0.25x0.25_MODIS_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_5x5min_ORNL-Soil_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_3x3min_LandScan2004_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_5x5min_nomask_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_0.9x1.25_GRDC_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_3x3min_MODISv2_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_5x5min_ISRIC-WISE_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_5x5min_IGBP-GSDP_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_3x3min_MODIS-wCsp_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_3x3min_GLOBE-Gardner_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_10x10min_IGBPmergeICESatGIS_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_360x720cru_cruncep_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_10x10min_nomask_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_0.5x0.5_MODIS_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_0.5x0.5_AVHRR_to_ne30np4.pg3_nomask_aave_da_c200426.nc - + - + -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_10x10min_nomask_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_5x5min_ISRIC-WISE_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_360x720cru_cruncep_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_5x5min_IGBP-GSDP_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_0.25x0.25_MODIS_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_5x5min_nomask_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_3x3min_USGS_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_3x3min_LandScan2004_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_0.5x0.5_MODIS_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_3x3min_MODISv2_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_10x10min_IGBPmergeICESatGIS_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_0.9x1.25_GRDC_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_0.5x0.5_AVHRR_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_5x5min_ORNL-Soil_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_3x3min_MODIS-wCsp_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_3x3min_GLOBE-Gardner_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne120np4.pg2_nomask_aave_da_c200426.nc - + - + -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_0.5x0.5_MODIS_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_5x5min_ORNL-Soil_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_10x10min_IGBPmergeICESatGIS_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_0.25x0.25_MODIS_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_10x10min_nomask_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_3x3min_MODIS-wCsp_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_360x720cru_cruncep_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_3x3min_LandScan2004_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_0.5x0.5_AVHRR_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_3x3min_USGS_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_3x3min_GLOBE-Gardner_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_0.9x1.25_GRDC_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_5x5min_IGBP-GSDP_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_5x5min_ISRIC-WISE_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_5x5min_nomask_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_3x3min_MODISv2_to_ne120np4.pg3_nomask_aave_da_c200426.nc - + From 08712a6b254d3e2197048778d620973b6dc69136 Mon Sep 17 00:00:00 2001 From: Jim Edwards Date: Fri, 16 Apr 2021 08:05:45 -0600 Subject: [PATCH 17/82] remove finidat file --- cime_config/usermods_dirs/NEON/defaults/user_nl_clm | 1 - 1 file changed, 1 deletion(-) diff --git a/cime_config/usermods_dirs/NEON/defaults/user_nl_clm b/cime_config/usermods_dirs/NEON/defaults/user_nl_clm index 71abebc2d2..4e21621e2e 100644 --- a/cime_config/usermods_dirs/NEON/defaults/user_nl_clm +++ b/cime_config/usermods_dirs/NEON/defaults/user_nl_clm @@ -18,5 +18,4 @@ ! Set glc_do_dynglacier with GLC_TWO_WAY_COUPLING env variable !---------------------------------------------------------------------------------- -finidat = "lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_1x1_brazil_hist_78pfts_CMIP6_simyr1850_c190214.nc" fsurdat = "lnd/clm2/surfdata_map/NEON/surfdata_hist_16pfts_Irrig_CMIP6_simyr2000_${NEONSITE}_c210415.nc" \ No newline at end of file From 2434230aa8104519af22f4fc9ab80f00b931dd3f Mon Sep 17 00:00:00 2001 From: Jim Edwards Date: Fri, 16 Apr 2021 09:08:59 -0600 Subject: [PATCH 18/82] update from csv --- cime_config/usermods_dirs/NEON/ABBY/shell_commands | 4 ++-- cime_config/usermods_dirs/NEON/BONA/shell_commands | 4 ++-- cime_config/usermods_dirs/NEON/CLBJ/shell_commands | 4 ++-- cime_config/usermods_dirs/NEON/CPER/shell_commands | 4 ++-- cime_config/usermods_dirs/NEON/HARV/shell_commands | 4 ++-- cime_config/usermods_dirs/NEON/KONZ/shell_commands | 4 ++-- cime_config/usermods_dirs/NEON/NIWO/shell_commands | 2 ++ cime_config/usermods_dirs/NEON/ONAQ/shell_commands | 2 ++ cime_config/usermods_dirs/NEON/ORNL/shell_commands | 2 ++ cime_config/usermods_dirs/NEON/OSBS/shell_commands | 2 ++ cime_config/usermods_dirs/NEON/SCBI/shell_commands | 2 ++ cime_config/usermods_dirs/NEON/SJER/shell_commands | 2 ++ cime_config/usermods_dirs/NEON/SRER/shell_commands | 2 ++ cime_config/usermods_dirs/NEON/TALL/shell_commands | 2 ++ cime_config/usermods_dirs/NEON/TOOL/shell_commands | 2 ++ cime_config/usermods_dirs/NEON/UNDE/shell_commands | 2 ++ cime_config/usermods_dirs/NEON/WOOD/shell_commands | 2 ++ cime_config/usermods_dirs/NEON/WREF/shell_commands | 2 ++ cime_config/usermods_dirs/NEON/YELL/shell_commands | 4 +++- 19 files changed, 39 insertions(+), 13 deletions(-) diff --git a/cime_config/usermods_dirs/NEON/ABBY/shell_commands b/cime_config/usermods_dirs/NEON/ABBY/shell_commands index 8ff4c7894c..08f6e7cdef 100644 --- a/cime_config/usermods_dirs/NEON/ABBY/shell_commands +++ b/cime_config/usermods_dirs/NEON/ABBY/shell_commands @@ -1,3 +1,3 @@ ./xmlchange NEONSITE=ABBY -./xmlchange PTS_LON=237.5 -./xmlchange PTS_LAT=45.7068062827225 \ No newline at end of file +./xmlchange PTS_LON=237.67032799999998 +./xmlchange PTS_LAT=45.762378 diff --git a/cime_config/usermods_dirs/NEON/BONA/shell_commands b/cime_config/usermods_dirs/NEON/BONA/shell_commands index 9087271a3f..2a66d148b4 100644 --- a/cime_config/usermods_dirs/NEON/BONA/shell_commands +++ b/cime_config/usermods_dirs/NEON/BONA/shell_commands @@ -1,3 +1,3 @@ ./xmlchange NEONSITE=BONA -./xmlchange PTS_LON=212.497439 -./xmlchange PTS_LAT=65.154044 \ No newline at end of file +./xmlchange PTS_LON=212.49806 +./xmlchange PTS_LAT=65.15333 diff --git a/cime_config/usermods_dirs/NEON/CLBJ/shell_commands b/cime_config/usermods_dirs/NEON/CLBJ/shell_commands index 38d9f39ea5..c1b9154027 100644 --- a/cime_config/usermods_dirs/NEON/CLBJ/shell_commands +++ b/cime_config/usermods_dirs/NEON/CLBJ/shell_commands @@ -1,3 +1,3 @@ ./xmlchange NEONSITE=CLBJ -./xmlchange PTS_LON=262.429967 -./xmlchange PTS_LAT=33.401231 +./xmlchange PTS_LON=262.43275 +./xmlchange PTS_LAT=33.40143 diff --git a/cime_config/usermods_dirs/NEON/CPER/shell_commands b/cime_config/usermods_dirs/NEON/CPER/shell_commands index 123f201bff..169b358a40 100644 --- a/cime_config/usermods_dirs/NEON/CPER/shell_commands +++ b/cime_config/usermods_dirs/NEON/CPER/shell_commands @@ -1,3 +1,3 @@ ./xmlchange NEONSITE=CPER -./xmlchange PTS_LON=255.2544095 -./xmlchange PTS_LAT=40.8155355 \ No newline at end of file +./xmlchange PTS_LON=255.25545 +./xmlchange PTS_LAT=40.81297 diff --git a/cime_config/usermods_dirs/NEON/HARV/shell_commands b/cime_config/usermods_dirs/NEON/HARV/shell_commands index abf3c64713..839ccf5d8f 100644 --- a/cime_config/usermods_dirs/NEON/HARV/shell_commands +++ b/cime_config/usermods_dirs/NEON/HARV/shell_commands @@ -1,3 +1,3 @@ ./xmlchange NEONSITE=HARV -./xmlchange PTS_LON=287.5 -./xmlchange PTS_LAT=42.8795811518324 +./xmlchange PTS_LON=287.82438 +./xmlchange PTS_LAT=42.53562 diff --git a/cime_config/usermods_dirs/NEON/KONZ/shell_commands b/cime_config/usermods_dirs/NEON/KONZ/shell_commands index 82628d3043..bda370c170 100644 --- a/cime_config/usermods_dirs/NEON/KONZ/shell_commands +++ b/cime_config/usermods_dirs/NEON/KONZ/shell_commands @@ -1,3 +1,3 @@ ./xmlchange NEONSITE=KONZ -./xmlchange PTS_LON=263.436917 -./xmlchange PTS_LAT=39.100781 +./xmlchange PTS_LON=263.43773 +./xmlchange PTS_LAT=39.1007 diff --git a/cime_config/usermods_dirs/NEON/NIWO/shell_commands b/cime_config/usermods_dirs/NEON/NIWO/shell_commands index b657754d13..65926f2188 100644 --- a/cime_config/usermods_dirs/NEON/NIWO/shell_commands +++ b/cime_config/usermods_dirs/NEON/NIWO/shell_commands @@ -1 +1,3 @@ ./xmlchange NEONSITE=NIWO +./xmlchange PTS_LON=254.41676 +./xmlchange PTS_LAT=40.05236 diff --git a/cime_config/usermods_dirs/NEON/ONAQ/shell_commands b/cime_config/usermods_dirs/NEON/ONAQ/shell_commands index fc03af1223..0f8ca8b0dd 100644 --- a/cime_config/usermods_dirs/NEON/ONAQ/shell_commands +++ b/cime_config/usermods_dirs/NEON/ONAQ/shell_commands @@ -1 +1,3 @@ ./xmlchange NEONSITE=ONAQ +./xmlchange PTS_LON=276.49815 +./xmlchange PTS_LAT=35.68839 diff --git a/cime_config/usermods_dirs/NEON/ORNL/shell_commands b/cime_config/usermods_dirs/NEON/ORNL/shell_commands index 27855897f4..264d451753 100644 --- a/cime_config/usermods_dirs/NEON/ORNL/shell_commands +++ b/cime_config/usermods_dirs/NEON/ORNL/shell_commands @@ -1 +1,3 @@ ./xmlchange NEONSITE=ORNL +./xmlchange PTS_LON=275.83419000000004 +./xmlchange PTS_LAT=35.57525 diff --git a/cime_config/usermods_dirs/NEON/OSBS/shell_commands b/cime_config/usermods_dirs/NEON/OSBS/shell_commands index 90b63f7649..385021f98a 100644 --- a/cime_config/usermods_dirs/NEON/OSBS/shell_commands +++ b/cime_config/usermods_dirs/NEON/OSBS/shell_commands @@ -1 +1,3 @@ ./xmlchange NEONSITE=OSBS +./xmlchange PTS_LON=278.00655 +./xmlchange PTS_LAT=29.68819 diff --git a/cime_config/usermods_dirs/NEON/SCBI/shell_commands b/cime_config/usermods_dirs/NEON/SCBI/shell_commands index a9ed2e0ea5..aa42b8022c 100644 --- a/cime_config/usermods_dirs/NEON/SCBI/shell_commands +++ b/cime_config/usermods_dirs/NEON/SCBI/shell_commands @@ -1 +1,3 @@ ./xmlchange NEONSITE=SCBI +./xmlchange PTS_LON=281.86235999999997 +./xmlchange PTS_LAT=38.89209 diff --git a/cime_config/usermods_dirs/NEON/SJER/shell_commands b/cime_config/usermods_dirs/NEON/SJER/shell_commands index dfb560e4ee..45de246989 100644 --- a/cime_config/usermods_dirs/NEON/SJER/shell_commands +++ b/cime_config/usermods_dirs/NEON/SJER/shell_commands @@ -1 +1,3 @@ ./xmlchange NEONSITE=SJER +./xmlchange PTS_LON=240.267 +./xmlchange PTS_LAT=37.107117 diff --git a/cime_config/usermods_dirs/NEON/SRER/shell_commands b/cime_config/usermods_dirs/NEON/SRER/shell_commands index 1cfa0de6e9..be1bec52d3 100644 --- a/cime_config/usermods_dirs/NEON/SRER/shell_commands +++ b/cime_config/usermods_dirs/NEON/SRER/shell_commands @@ -1 +1,3 @@ ./xmlchange NEONSITE=SRER +./xmlchange PTS_LON=249.16451 +./xmlchange PTS_LAT=31.91068 diff --git a/cime_config/usermods_dirs/NEON/TALL/shell_commands b/cime_config/usermods_dirs/NEON/TALL/shell_commands index ce49f958c8..1a176ae23f 100644 --- a/cime_config/usermods_dirs/NEON/TALL/shell_commands +++ b/cime_config/usermods_dirs/NEON/TALL/shell_commands @@ -1 +1,3 @@ ./xmlchange NEONSITE=TALL +./xmlchange PTS_LON=272.6059 +./xmlchange PTS_LAT=32.95106 diff --git a/cime_config/usermods_dirs/NEON/TOOL/shell_commands b/cime_config/usermods_dirs/NEON/TOOL/shell_commands index 81cc44e3ff..21dee1eba2 100644 --- a/cime_config/usermods_dirs/NEON/TOOL/shell_commands +++ b/cime_config/usermods_dirs/NEON/TOOL/shell_commands @@ -1 +1,3 @@ ./xmlchange NEONSITE=TOOL +./xmlchange PTS_LON=210.629872 +./xmlchange PTS_LAT=68.66045 diff --git a/cime_config/usermods_dirs/NEON/UNDE/shell_commands b/cime_config/usermods_dirs/NEON/UNDE/shell_commands index 2bb0c3f38f..79688e0a8f 100644 --- a/cime_config/usermods_dirs/NEON/UNDE/shell_commands +++ b/cime_config/usermods_dirs/NEON/UNDE/shell_commands @@ -1 +1,3 @@ ./xmlchange NEONSITE=UNDE +./xmlchange PTS_LON=270.6779 +./xmlchange PTS_LAT=46.14103 diff --git a/cime_config/usermods_dirs/NEON/WOOD/shell_commands b/cime_config/usermods_dirs/NEON/WOOD/shell_commands index 673cc1f232..48ff0ef999 100644 --- a/cime_config/usermods_dirs/NEON/WOOD/shell_commands +++ b/cime_config/usermods_dirs/NEON/WOOD/shell_commands @@ -1 +1,3 @@ ./xmlchange NEONSITE=WOOD +./xmlchange PTS_LON=260.76093000000003 +./xmlchange PTS_LAT=47.12833 diff --git a/cime_config/usermods_dirs/NEON/WREF/shell_commands b/cime_config/usermods_dirs/NEON/WREF/shell_commands index c52af373ad..77a0b750cd 100644 --- a/cime_config/usermods_dirs/NEON/WREF/shell_commands +++ b/cime_config/usermods_dirs/NEON/WREF/shell_commands @@ -1 +1,3 @@ ./xmlchange NEONSITE=WREF +./xmlchange PTS_LON=238.04162 +./xmlchange PTS_LAT=45.81637 diff --git a/cime_config/usermods_dirs/NEON/YELL/shell_commands b/cime_config/usermods_dirs/NEON/YELL/shell_commands index 3a5956abb0..a40ef81477 100644 --- a/cime_config/usermods_dirs/NEON/YELL/shell_commands +++ b/cime_config/usermods_dirs/NEON/YELL/shell_commands @@ -1 +1,3 @@ -./xmlchange NEONSITE=YELL \ No newline at end of file +./xmlchange NEONSITE=YELL +./xmlchange PTS_LON=249.45803999999998 +./xmlchange PTS_LAT=44.95597 From feae2dc9969dd5558f51daba7ca761cdd3eaf009 Mon Sep 17 00:00:00 2001 From: Jim Edwards Date: Fri, 16 Apr 2021 09:10:30 -0600 Subject: [PATCH 19/82] more neon sites --- cime_config/usermods_dirs/NEON/BARR/include_user_mods | 1 + cime_config/usermods_dirs/NEON/BARR/shell_commands | 3 +++ cime_config/usermods_dirs/NEON/BART/include_user_mods | 1 + cime_config/usermods_dirs/NEON/BART/shell_commands | 3 +++ cime_config/usermods_dirs/NEON/BLAN/include_user_mods | 1 + cime_config/usermods_dirs/NEON/BLAN/shell_commands | 3 +++ cime_config/usermods_dirs/NEON/DCFS/include_user_mods | 1 + cime_config/usermods_dirs/NEON/DCFS/shell_commands | 3 +++ cime_config/usermods_dirs/NEON/DEJU/include_user_mods | 1 + cime_config/usermods_dirs/NEON/DEJU/shell_commands | 3 +++ cime_config/usermods_dirs/NEON/DELA/include_user_mods | 1 + cime_config/usermods_dirs/NEON/DELA/shell_commands | 3 +++ cime_config/usermods_dirs/NEON/DSNY/include_user_mods | 1 + cime_config/usermods_dirs/NEON/DSNY/shell_commands | 3 +++ cime_config/usermods_dirs/NEON/GRSM/include_user_mods | 1 + cime_config/usermods_dirs/NEON/GRSM/shell_commands | 3 +++ cime_config/usermods_dirs/NEON/GUAN/include_user_mods | 1 + cime_config/usermods_dirs/NEON/GUAN/shell_commands | 3 +++ cime_config/usermods_dirs/NEON/HEAL/include_user_mods | 1 + cime_config/usermods_dirs/NEON/HEAL/shell_commands | 3 +++ cime_config/usermods_dirs/NEON/JERC/include_user_mods | 1 + cime_config/usermods_dirs/NEON/JERC/shell_commands | 3 +++ cime_config/usermods_dirs/NEON/JORN/include_user_mods | 1 + cime_config/usermods_dirs/NEON/JORN/shell_commands | 3 +++ cime_config/usermods_dirs/NEON/KONA/include_user_mods | 1 + cime_config/usermods_dirs/NEON/KONA/shell_commands | 3 +++ cime_config/usermods_dirs/NEON/LAJA/include_user_mods | 1 + cime_config/usermods_dirs/NEON/LAJA/shell_commands | 3 +++ cime_config/usermods_dirs/NEON/LENO/include_user_mods | 1 + cime_config/usermods_dirs/NEON/LENO/shell_commands | 3 +++ cime_config/usermods_dirs/NEON/MLBS/include_user_mods | 1 + cime_config/usermods_dirs/NEON/MLBS/shell_commands | 3 +++ cime_config/usermods_dirs/NEON/MOAB/include_user_mods | 1 + cime_config/usermods_dirs/NEON/MOAB/shell_commands | 3 +++ cime_config/usermods_dirs/NEON/NOGP/include_user_mods | 1 + cime_config/usermods_dirs/NEON/NOGP/shell_commands | 3 +++ cime_config/usermods_dirs/NEON/OAES/include_user_mods | 1 + cime_config/usermods_dirs/NEON/OAES/shell_commands | 3 +++ cime_config/usermods_dirs/NEON/PUUM/include_user_mods | 1 + cime_config/usermods_dirs/NEON/PUUM/shell_commands | 3 +++ cime_config/usermods_dirs/NEON/RMNP/include_user_mods | 1 + cime_config/usermods_dirs/NEON/RMNP/shell_commands | 3 +++ cime_config/usermods_dirs/NEON/SERC/include_user_mods | 1 + cime_config/usermods_dirs/NEON/SERC/shell_commands | 3 +++ cime_config/usermods_dirs/NEON/SOAP/include_user_mods | 1 + cime_config/usermods_dirs/NEON/SOAP/shell_commands | 3 +++ cime_config/usermods_dirs/NEON/STEI/include_user_mods | 1 + cime_config/usermods_dirs/NEON/STEI/shell_commands | 3 +++ cime_config/usermods_dirs/NEON/STER/include_user_mods | 1 + cime_config/usermods_dirs/NEON/STER/shell_commands | 3 +++ cime_config/usermods_dirs/NEON/TEAK/include_user_mods | 1 + cime_config/usermods_dirs/NEON/TEAK/shell_commands | 3 +++ cime_config/usermods_dirs/NEON/TREE/include_user_mods | 1 + cime_config/usermods_dirs/NEON/TREE/shell_commands | 3 +++ cime_config/usermods_dirs/NEON/UKFS/include_user_mods | 1 + cime_config/usermods_dirs/NEON/UKFS/shell_commands | 3 +++ 56 files changed, 112 insertions(+) create mode 100644 cime_config/usermods_dirs/NEON/BARR/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/BARR/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/BART/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/BART/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/BLAN/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/BLAN/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/DCFS/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/DCFS/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/DEJU/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/DEJU/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/DELA/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/DELA/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/DSNY/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/DSNY/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/GRSM/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/GRSM/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/GUAN/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/GUAN/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/HEAL/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/HEAL/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/JERC/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/JERC/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/JORN/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/JORN/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/KONA/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/KONA/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/LAJA/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/LAJA/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/LENO/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/LENO/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/MLBS/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/MLBS/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/MOAB/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/MOAB/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/NOGP/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/NOGP/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/OAES/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/OAES/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/PUUM/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/PUUM/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/RMNP/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/RMNP/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/SERC/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/SERC/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/SOAP/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/SOAP/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/STEI/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/STEI/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/STER/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/STER/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/TEAK/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/TEAK/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/TREE/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/TREE/shell_commands create mode 100644 cime_config/usermods_dirs/NEON/UKFS/include_user_mods create mode 100644 cime_config/usermods_dirs/NEON/UKFS/shell_commands diff --git a/cime_config/usermods_dirs/NEON/BARR/include_user_mods b/cime_config/usermods_dirs/NEON/BARR/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/BARR/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/BARR/shell_commands b/cime_config/usermods_dirs/NEON/BARR/shell_commands new file mode 100644 index 0000000000..4a5a06b0bd --- /dev/null +++ b/cime_config/usermods_dirs/NEON/BARR/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=BARR +./xmlchange PTS_LON=203.349781 +./xmlchange PTS_LAT=71.281711 diff --git a/cime_config/usermods_dirs/NEON/BART/include_user_mods b/cime_config/usermods_dirs/NEON/BART/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/BART/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/BART/shell_commands b/cime_config/usermods_dirs/NEON/BART/shell_commands new file mode 100644 index 0000000000..a4e86a1b8c --- /dev/null +++ b/cime_config/usermods_dirs/NEON/BART/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=BART +./xmlchange PTS_LON=288.71166 +./xmlchange PTS_LAT=44.06516 diff --git a/cime_config/usermods_dirs/NEON/BLAN/include_user_mods b/cime_config/usermods_dirs/NEON/BLAN/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/BLAN/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/BLAN/shell_commands b/cime_config/usermods_dirs/NEON/BLAN/shell_commands new file mode 100644 index 0000000000..cb093d806a --- /dev/null +++ b/cime_config/usermods_dirs/NEON/BLAN/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=BLAN +./xmlchange PTS_LON=281.92885 +./xmlchange PTS_LAT=39.06044 diff --git a/cime_config/usermods_dirs/NEON/DCFS/include_user_mods b/cime_config/usermods_dirs/NEON/DCFS/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/DCFS/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/DCFS/shell_commands b/cime_config/usermods_dirs/NEON/DCFS/shell_commands new file mode 100644 index 0000000000..a6cbed64e1 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/DCFS/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=DCFS +./xmlchange PTS_LON=260.88749 +./xmlchange PTS_LAT=47.15919 diff --git a/cime_config/usermods_dirs/NEON/DEJU/include_user_mods b/cime_config/usermods_dirs/NEON/DEJU/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/DEJU/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/DEJU/shell_commands b/cime_config/usermods_dirs/NEON/DEJU/shell_commands new file mode 100644 index 0000000000..fce519d559 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/DEJU/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=DEJU +./xmlchange PTS_LON=214.25235 +./xmlchange PTS_LAT=63.87983 diff --git a/cime_config/usermods_dirs/NEON/DELA/include_user_mods b/cime_config/usermods_dirs/NEON/DELA/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/DELA/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/DELA/shell_commands b/cime_config/usermods_dirs/NEON/DELA/shell_commands new file mode 100644 index 0000000000..f3acbb8fd3 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/DELA/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=DELA +./xmlchange PTS_LON=272.19659 +./xmlchange PTS_LAT=32.54092 diff --git a/cime_config/usermods_dirs/NEON/DSNY/include_user_mods b/cime_config/usermods_dirs/NEON/DSNY/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/DSNY/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/DSNY/shell_commands b/cime_config/usermods_dirs/NEON/DSNY/shell_commands new file mode 100644 index 0000000000..8304c91d48 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/DSNY/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=DSNY +./xmlchange PTS_LON=278.56606 +./xmlchange PTS_LAT=28.12919 diff --git a/cime_config/usermods_dirs/NEON/GRSM/include_user_mods b/cime_config/usermods_dirs/NEON/GRSM/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/GRSM/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/GRSM/shell_commands b/cime_config/usermods_dirs/NEON/GRSM/shell_commands new file mode 100644 index 0000000000..e52a633408 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/GRSM/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=GRSM +./xmlchange PTS_LON=276.49815 +./xmlchange PTS_LAT=35.68839 diff --git a/cime_config/usermods_dirs/NEON/GUAN/include_user_mods b/cime_config/usermods_dirs/NEON/GUAN/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/GUAN/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/GUAN/shell_commands b/cime_config/usermods_dirs/NEON/GUAN/shell_commands new file mode 100644 index 0000000000..4d750b77f8 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/GUAN/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=GUAN +./xmlchange PTS_LON=293.13112 +./xmlchange PTS_LAT=17.96882 diff --git a/cime_config/usermods_dirs/NEON/HEAL/include_user_mods b/cime_config/usermods_dirs/NEON/HEAL/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/HEAL/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/HEAL/shell_commands b/cime_config/usermods_dirs/NEON/HEAL/shell_commands new file mode 100644 index 0000000000..21892219e0 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/HEAL/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=HEAL +./xmlchange PTS_LON=210.78461 +./xmlchange PTS_LAT=63.8798 diff --git a/cime_config/usermods_dirs/NEON/JERC/include_user_mods b/cime_config/usermods_dirs/NEON/JERC/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/JERC/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/JERC/shell_commands b/cime_config/usermods_dirs/NEON/JERC/shell_commands new file mode 100644 index 0000000000..80f66d23a2 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/JERC/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=JERC +./xmlchange PTS_LON=275.53353 +./xmlchange PTS_LAT=31.19608 diff --git a/cime_config/usermods_dirs/NEON/JORN/include_user_mods b/cime_config/usermods_dirs/NEON/JORN/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/JORN/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/JORN/shell_commands b/cime_config/usermods_dirs/NEON/JORN/shell_commands new file mode 100644 index 0000000000..87fc3b8c1e --- /dev/null +++ b/cime_config/usermods_dirs/NEON/JORN/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=JORN +./xmlchange PTS_LON=253.15623 +./xmlchange PTS_LAT=32.59052 diff --git a/cime_config/usermods_dirs/NEON/KONA/include_user_mods b/cime_config/usermods_dirs/NEON/KONA/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/KONA/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/KONA/shell_commands b/cime_config/usermods_dirs/NEON/KONA/shell_commands new file mode 100644 index 0000000000..c00e220e77 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/KONA/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=KONA +./xmlchange PTS_LON=263.38956 +./xmlchange PTS_LAT=39.10828 diff --git a/cime_config/usermods_dirs/NEON/LAJA/include_user_mods b/cime_config/usermods_dirs/NEON/LAJA/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/LAJA/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/LAJA/shell_commands b/cime_config/usermods_dirs/NEON/LAJA/shell_commands new file mode 100644 index 0000000000..330690c330 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/LAJA/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=LAJA +./xmlchange PTS_LON=292.92392 +./xmlchange PTS_LAT=18.02184 diff --git a/cime_config/usermods_dirs/NEON/LENO/include_user_mods b/cime_config/usermods_dirs/NEON/LENO/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/LENO/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/LENO/shell_commands b/cime_config/usermods_dirs/NEON/LENO/shell_commands new file mode 100644 index 0000000000..57ad7f93dc --- /dev/null +++ b/cime_config/usermods_dirs/NEON/LENO/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=LENO +./xmlchange PTS_LON=271.83897 +./xmlchange PTS_LAT=31.8531 diff --git a/cime_config/usermods_dirs/NEON/MLBS/include_user_mods b/cime_config/usermods_dirs/NEON/MLBS/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/MLBS/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/MLBS/shell_commands b/cime_config/usermods_dirs/NEON/MLBS/shell_commands new file mode 100644 index 0000000000..1be53ef6f7 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/MLBS/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=MLBS +./xmlchange PTS_LON=279.47575 +./xmlchange PTS_LAT=37.37783 diff --git a/cime_config/usermods_dirs/NEON/MOAB/include_user_mods b/cime_config/usermods_dirs/NEON/MOAB/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/MOAB/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/MOAB/shell_commands b/cime_config/usermods_dirs/NEON/MOAB/shell_commands new file mode 100644 index 0000000000..5d422153a4 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/MOAB/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=MOAB +./xmlchange PTS_LON=250.61118 +./xmlchange PTS_LAT=38.25136 diff --git a/cime_config/usermods_dirs/NEON/NOGP/include_user_mods b/cime_config/usermods_dirs/NEON/NOGP/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/NOGP/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/NOGP/shell_commands b/cime_config/usermods_dirs/NEON/NOGP/shell_commands new file mode 100644 index 0000000000..ad3ef69cd2 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/NOGP/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=NOGP +./xmlchange PTS_LON=259.08168 +./xmlchange PTS_LAT=46.76846 diff --git a/cime_config/usermods_dirs/NEON/OAES/include_user_mods b/cime_config/usermods_dirs/NEON/OAES/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/OAES/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/OAES/shell_commands b/cime_config/usermods_dirs/NEON/OAES/shell_commands new file mode 100644 index 0000000000..2a5cfb87e4 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/OAES/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=OAES +./xmlchange PTS_LON=260.93956000000003 +./xmlchange PTS_LAT=35.41062 diff --git a/cime_config/usermods_dirs/NEON/PUUM/include_user_mods b/cime_config/usermods_dirs/NEON/PUUM/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/PUUM/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/PUUM/shell_commands b/cime_config/usermods_dirs/NEON/PUUM/shell_commands new file mode 100644 index 0000000000..07c4331769 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/PUUM/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=PUUM +./xmlchange PTS_LON=204.68269 +./xmlchange PTS_LAT=19.55309 diff --git a/cime_config/usermods_dirs/NEON/RMNP/include_user_mods b/cime_config/usermods_dirs/NEON/RMNP/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/RMNP/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/RMNP/shell_commands b/cime_config/usermods_dirs/NEON/RMNP/shell_commands new file mode 100644 index 0000000000..8dfbf0fa0d --- /dev/null +++ b/cime_config/usermods_dirs/NEON/RMNP/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=RMNP +./xmlchange PTS_LON=254.45476 +./xmlchange PTS_LAT=40.27707 diff --git a/cime_config/usermods_dirs/NEON/SERC/include_user_mods b/cime_config/usermods_dirs/NEON/SERC/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/SERC/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/SERC/shell_commands b/cime_config/usermods_dirs/NEON/SERC/shell_commands new file mode 100644 index 0000000000..1053e2dc17 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/SERC/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=SERC +./xmlchange PTS_LON=283.44115999999997 +./xmlchange PTS_LAT=38.89124 diff --git a/cime_config/usermods_dirs/NEON/SOAP/include_user_mods b/cime_config/usermods_dirs/NEON/SOAP/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/SOAP/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/SOAP/shell_commands b/cime_config/usermods_dirs/NEON/SOAP/shell_commands new file mode 100644 index 0000000000..c10274c047 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/SOAP/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=SOAP +./xmlchange PTS_LON=240.7379 +./xmlchange PTS_LAT=37.03269 diff --git a/cime_config/usermods_dirs/NEON/STEI/include_user_mods b/cime_config/usermods_dirs/NEON/STEI/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/STEI/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/STEI/shell_commands b/cime_config/usermods_dirs/NEON/STEI/shell_commands new file mode 100644 index 0000000000..c2aced2c2e --- /dev/null +++ b/cime_config/usermods_dirs/NEON/STEI/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=STEI +./xmlchange PTS_LON=270.4112 +./xmlchange PTS_LAT=45.5076 diff --git a/cime_config/usermods_dirs/NEON/STER/include_user_mods b/cime_config/usermods_dirs/NEON/STER/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/STER/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/STER/shell_commands b/cime_config/usermods_dirs/NEON/STER/shell_commands new file mode 100644 index 0000000000..2c1699fc9c --- /dev/null +++ b/cime_config/usermods_dirs/NEON/STER/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=STER +./xmlchange PTS_LON=256.96992 +./xmlchange PTS_LAT=40.45984 diff --git a/cime_config/usermods_dirs/NEON/TEAK/include_user_mods b/cime_config/usermods_dirs/NEON/TEAK/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/TEAK/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/TEAK/shell_commands b/cime_config/usermods_dirs/NEON/TEAK/shell_commands new file mode 100644 index 0000000000..53ebedc664 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/TEAK/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=TEAK +./xmlchange PTS_LON=240.99424199999999 +./xmlchange PTS_LAT=37.006472 diff --git a/cime_config/usermods_dirs/NEON/TREE/include_user_mods b/cime_config/usermods_dirs/NEON/TREE/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/TREE/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/TREE/shell_commands b/cime_config/usermods_dirs/NEON/TREE/shell_commands new file mode 100644 index 0000000000..6d0a4aa1fa --- /dev/null +++ b/cime_config/usermods_dirs/NEON/TREE/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=TREE +./xmlchange PTS_LON=270.41252 +./xmlchange PTS_LAT=45.49266 diff --git a/cime_config/usermods_dirs/NEON/UKFS/include_user_mods b/cime_config/usermods_dirs/NEON/UKFS/include_user_mods new file mode 100644 index 0000000000..b152996d95 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/UKFS/include_user_mods @@ -0,0 +1 @@ +../defaults diff --git a/cime_config/usermods_dirs/NEON/UKFS/shell_commands b/cime_config/usermods_dirs/NEON/UKFS/shell_commands new file mode 100644 index 0000000000..7c8d4f8829 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/UKFS/shell_commands @@ -0,0 +1,3 @@ +./xmlchange NEONSITE=UKFS +./xmlchange PTS_LON=264.79505 +./xmlchange PTS_LAT=39.04168 From d0c27eea0b04f02333f4001558ec1fb282a2726b Mon Sep 17 00:00:00 2001 From: Jim Edwards Date: Fri, 16 Apr 2021 09:19:04 -0600 Subject: [PATCH 20/82] list all neon sites --- bld/namelist_files/namelist_defaults_ctsm.xml | 1069 +++++++++-------- cime_config/config_component.xml | 8 +- 2 files changed, 540 insertions(+), 537 deletions(-) diff --git a/bld/namelist_files/namelist_defaults_ctsm.xml b/bld/namelist_files/namelist_defaults_ctsm.xml index 1b8cfcb2a2..3ccbe89a0e 100644 --- a/bld/namelist_files/namelist_defaults_ctsm.xml +++ b/bld/namelist_files/namelist_defaults_ctsm.xml @@ -345,10 +345,10 @@ attributes from the config_cache.xml file (with keys converted to upper-case). 2 3 -60. +60. 1.e-8 -1.e-1 -1.e-2 +1.e-1 +1.e-2 42 1 1 @@ -596,7 +596,7 @@ attributes from the config_cache.xml file (with keys converted to upper-case). .true. - + .false. - @@ -747,42 +746,42 @@ attributes from the config_cache.xml file (with keys converted to upper-case). hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.true. irrigate=.true. glc_nec=10 hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.true. irrigate=.true. glc_nec=10 hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.true. irrigate=.true. glc_nec=10 hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.true. irrigate=.true. glc_nec=10 hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.true. irrigate=.true. glc_nec=10 hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.true. irrigate=.true. glc_nec=10 hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.true. irrigate=.true. glc_nec=10 hgrid=0.9x1.25 maxpft=79 mask=gx1v7 use_cn=.true. use_nitrif_denitrif=.true. use_vertsoilc=.true. use_crop=.true. irrigate=.true. glc_nec=10 @@ -823,7 +822,7 @@ p hgrid=ne0np4CONUS.ne30x8 maxpft=17 mask=tx0.1v2 use_cn=.false. use_nitrif_denitrif=.false. use_vertsoilc=.false. use_crop=.false. irrigate=.true. glc_nec=10 @@ -1022,6 +1021,8 @@ p >lnd/clm2/initdata_map/clmi.FHISTSp.2013-01-01.ne0CONUSne30x8_mt12_simyr2013_c200806.nc + + lnd/clm2/surfdata_map/release-clm5.0.30/landuse.timeseries_C96_SSP5-8.5_78pfts_CMIP6_simyr1850-2100_c200317.nc -lnd/clm2/surfdata_map/release-clm5.0.30/landuse.timeseries_ne30np4_SSP5-8.5_78pfts_CMIP6_simyr1850-2100_c200426.nc lnd/clm2/surfdata_map/release-clm5.0.30/landuse.timeseries_ne30np4.pg2_SSP5-8.5_78pfts_CMIP6_simyr1850-2100_c200426.nc @@ -1730,13 +1731,13 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts 1850 2106 -lnd/clm2/urbandata/CLM50_tbuildmax_Oleson_2016_0.9x1.25_simyr1849-2106_c160923.nc -lnd/clm2/urbandata/CLM50_tbuildmax_Oleson_2016_0.9x1.25_simyr1849-2106_c160923.nc -lnd/clm2/urbandata/CLM45_tbuildmax_Oleson_2016_0.9x1.25_simyr1849-2106_c160923.nc nn @@ -1782,440 +1783,440 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts - + -lnd/clm2/mappingdata/maps/0.1x0.1/map_0.1x0.1_nomask_to_0.1x0.1_nomask_aave_da_c120406.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_0.5x0.5_AVHRR_to_0.1x0.1_nomask_aave_da_c120406.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_0.5x0.5_MODIS_to_0.1x0.1_nomask_aave_da_c120406.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_0.25x0.25_MODIS_to_0.1x0.1_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_0.5x0.5_nomask_to_0.1x0.1_nomask_aave_da_c120406.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_10x10min_nomask_to_0.1x0.1_nomask_aave_da_c120406.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_3x3min_MODIS_to_0.1x0.1_nomask_aave_da_c120406.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_3x3min_MODIS-wCsp_to_0.1x0.1_nomask_aave_da_c160425.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_5x5min_IGBP-GSDP_to_0.1x0.1_nomask_aave_da_c120406.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_5x5min_ISRIC-WISE_to_0.1x0.1_nomask_aave_da_c120406.nc lnd/clm2/mappingdata/maps/0.1x0.1/map_5x5min_ORNL-Soil_to_0.1x0.1_nomask_aave_da_c170706.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_5x5min_nomask_to_0.1x0.1_nomask_aave_da_c120406.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_ne120np4_nomask_to_0.1x0.1_nomask_aave_da_c120711.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_4x5_nomask_to_0.1x0.1_nomask_aave_da_c120706.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_1.9x2.5_nomask_to_0.1x0.1_nomask_aave_da_c120709.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_ne240np4_nomask_to_0.1x0.1_nomask_aave_da_c120711.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_0.9x1.25_GRDC_to_0.1x0.1_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_360x720_cruncep_to_0.1x0.1_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/0.1x0.1/map_1km-merge-10min_HYDRO1K-merge-nomask_to_0.1x0.1_nomask_aave_da_c130405.nc - + - + -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_0.5x0.5_AVHRR_to_1x1_asphaltjungleNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_0.5x0.5_MODIS_to_1x1_asphaltjungleNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_0.25x0.25_MODIS_to_1x1_asphaltjungleNJ_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_0.5x0.5_nomask_to_1x1_asphaltjungleNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_10x10min_nomask_to_1x1_asphaltjungleNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_3x3min_MODIS_to_1x1_asphaltjungleNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_3x3min_MODISv2_to_1x1_asphaltjungleNJ_nomask_aave_da_c190507.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_3x3min_MODIS-wCsp_to_1x1_asphaltjungleNJ_nomask_aave_da_c160425.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_3x3min_USGS_to_1x1_asphaltjungleNJ_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_3x3min_LandScan2004_to_1x1_asphaltjungleNJ_nomask_aave_da_c121114.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_5x5min_IGBP-GSDP_to_1x1_asphaltjungleNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_5x5min_ISRIC-WISE_to_1x1_asphaltjungleNJ_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_5x5min_ORNL-Soil_to_1x1_asphaltjungleNJ_nomask_aave_da_c170706.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_5x5min_nomask_to_1x1_asphaltjungleNJ_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_3x3min_GLOBE-Gardner_to_1x1_asphaltjungleNJ_nomask_aave_da_c120927.nc lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_3x3min_GLOBE-Gardner-mergeGIS_to_1x1_asphaltjungleNJ_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_0.9x1.25_GRDC_to_1x1_asphaltjungleNJ_nomask_aave_da_c130309.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_360x720_cruncep_to_1x1_asphaltjungleNJ_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/1x1_asphaltjungleNJ/map_1km-merge-10min_HYDRO1K-merge-nomask_to_1x1_asphaltjungleNJ_nomask_aave_da_c130403.nc - + - + -lnd/clm2/mappingdata/maps/1x1_brazil/map_0.5x0.5_AVHRR_to_1x1_brazil_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_0.5x0.5_MODIS_to_1x1_brazil_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_0.25x0.25_MODIS_to_1x1_brazil_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_0.5x0.5_nomask_to_1x1_brazil_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_10x10min_nomask_to_1x1_brazil_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_3x3min_MODIS_to_1x1_brazil_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_3x3min_MODISv2_to_1x1_brazil_nomask_aave_da_c190507.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_3x3min_MODIS-wCsp_to_1x1_brazil_nomask_aave_da_c160425.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_3x3min_USGS_to_1x1_brazil_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_3x3min_LandScan2004_to_1x1_brazil_nomask_aave_da_c121114.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_5x5min_IGBP-GSDP_to_1x1_brazil_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_5x5min_ISRIC-WISE_to_1x1_brazil_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_brazil/map_5x5min_ORNL-Soil_to_1x1_brazil_nomask_aave_da_c170706.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_5x5min_nomask_to_1x1_brazil_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_brazil/map_3x3min_GLOBE-Gardner_to_1x1_brazil_nomask_aave_da_c120927.nc lnd/clm2/mappingdata/maps/1x1_brazil/map_3x3min_GLOBE-Gardner-mergeGIS_to_1x1_brazil_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_0.9x1.25_GRDC_to_1x1_brazil_nomask_aave_da_c130309.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_360x720_cruncep_to_1x1_brazil_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/1x1_brazil/map_1km-merge-10min_HYDRO1K-merge-nomask_to_1x1_brazil_nomask_aave_da_c130403.nc - + - + -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_0.5x0.5_AVHRR_to_1x1_camdenNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_0.5x0.5_MODIS_to_1x1_camdenNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_0.25x0.25_MODIS_to_1x1_camdenNJ_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_0.5x0.5_nomask_to_1x1_camdenNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_10x10min_nomask_to_1x1_camdenNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_3x3min_MODIS_to_1x1_camdenNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_3x3min_MODISv2_to_1x1_camdenNJ_nomask_aave_da_c190506.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_3x3min_MODIS-wCsp_to_1x1_camdenNJ_nomask_aave_da_c160425.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_3x3min_USGS_to_1x1_camdenNJ_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_3x3min_LandScan2004_to_1x1_camdenNJ_nomask_aave_da_c121114.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_5x5min_IGBP-GSDP_to_1x1_camdenNJ_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_5x5min_ISRIC-WISE_to_1x1_camdenNJ_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_5x5min_ORNL-Soil_to_1x1_camdenNJ_nomask_aave_da_c170706.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_5x5min_nomask_to_1x1_camdenNJ_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_3x3min_GLOBE-Gardner_to_1x1_camdenNJ_nomask_aave_da_c120927.nc lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_3x3min_GLOBE-Gardner-mergeGIS_to_1x1_camdenNJ_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_0.9x1.25_GRDC_to_1x1_camdenNJ_nomask_aave_da_c130309.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_360x720_cruncep_to_1x1_camdenNJ_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/1x1_camdenNJ/map_1km-merge-10min_HYDRO1K-merge-nomask_to_1x1_camdenNJ_nomask_aave_da_c130403.nc - + - + -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_0.5x0.5_AVHRR_to_1x1_mexicocityMEX_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_0.5x0.5_MODIS_to_1x1_mexicocityMEX_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_0.25x0.25_MODIS_to_1x1_mexicocityMEX_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_0.5x0.5_nomask_to_1x1_mexicocityMEX_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_10x10min_nomask_to_1x1_mexicocityMEX_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_3x3min_MODIS_to_1x1_mexicocityMEX_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_3x3min_MODISv2_to_1x1_mexicocityMEX_nomask_aave_da_c190507.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_3x3min_MODIS-wCsp_to_1x1_mexicocityMEX_nomask_aave_da_c160425.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_3x3min_USGS_to_1x1_mexicocityMEX_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_3x3min_LandScan2004_to_1x1_mexicocityMEX_nomask_aave_da_c121114.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_5x5min_IGBP-GSDP_to_1x1_mexicocityMEX_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_5x5min_ISRIC-WISE_to_1x1_mexicocityMEX_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_5x5min_ORNL-Soil_to_1x1_mexicocityMEX_nomask_aave_da_c170706.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_5x5min_nomask_to_1x1_mexicocityMEX_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_3x3min_GLOBE-Gardner_to_1x1_mexicocityMEX_nomask_aave_da_c120927.nc lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_3x3min_GLOBE-Gardner-mergeGIS_to_1x1_mexicocityMEX_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_0.9x1.25_GRDC_to_1x1_mexicocityMEX_nomask_aave_da_c130309.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_360x720_cruncep_to_1x1_mexicocityMEX_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/1x1_mexicocityMEX/map_1km-merge-10min_HYDRO1K-merge-nomask_to_1x1_mexicocityMEX_nomask_aave_da_c130403.nc - + - + -lnd/clm2/mappingdata/maps/1x1_numaIA/map_0.5x0.5_AVHRR_to_1x1_numaIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_0.5x0.5_MODIS_to_1x1_numaIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_0.25x0.25_MODIS_to_1x1_numaIA_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_0.5x0.5_nomask_to_1x1_numaIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_10x10min_nomask_to_1x1_numaIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_3x3min_MODIS_to_1x1_numaIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_3x3min_MODISv2_to_1x1_numaIA_nomask_aave_da_c190507.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_3x3min_MODIS-wCsp_to_1x1_numaIA_nomask_aave_da_c160425.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_3x3min_USGS_to_1x1_numaIA_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_3x3min_LandScan2004_to_1x1_numaIA_nomask_aave_da_c121114.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_5x5min_IGBP-GSDP_to_1x1_numaIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_5x5min_ISRIC-WISE_to_1x1_numaIA_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_numaIA/map_5x5min_ORNL-Soil_to_1x1_numaIA_nomask_aave_da_c170706.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_5x5min_nomask_to_1x1_numaIA_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_numaIA/map_3x3min_GLOBE-Gardner_to_1x1_numaIA_nomask_aave_da_c120927.nc lnd/clm2/mappingdata/maps/1x1_numaIA/map_3x3min_GLOBE-Gardner-mergeGIS_to_1x1_numaIA_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_0.9x1.25_GRDC_to_1x1_numaIA_nomask_aave_da_c130309.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_360x720_cruncep_to_1x1_numaIA_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/1x1_numaIA/map_1km-merge-10min_HYDRO1K-merge-nomask_to_1x1_numaIA_nomask_aave_da_c130403.nc - + - + -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_0.5x0.5_AVHRR_to_1x1_smallvilleIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_0.5x0.5_MODIS_to_1x1_smallvilleIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_0.25x0.25_MODIS_to_1x1_smallvilleIA_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_0.5x0.5_nomask_to_1x1_smallvilleIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_10x10min_nomask_to_1x1_smallvilleIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_3x3min_MODIS_to_1x1_smallvilleIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_3x3min_MODISv2_to_1x1_smallvilleIA_nomask_aave_da_c190507.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_3x3min_MODIS-wCsp_to_1x1_smallvilleIA_nomask_aave_da_c160425.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_3x3min_USGS_to_1x1_smallvilleIA_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_3x3min_LandScan2004_to_1x1_smallvilleIA_nomask_aave_da_c121114.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_5x5min_IGBP-GSDP_to_1x1_smallvilleIA_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_5x5min_ISRIC-WISE_to_1x1_smallvilleIA_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_5x5min_ORNL-Soil_to_1x1_smallvilleIA_nomask_aave_da_c170706.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_5x5min_nomask_to_1x1_smallvilleIA_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_3x3min_GLOBE-Gardner_to_1x1_smallvilleIA_nomask_aave_da_c120927.nc lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_3x3min_GLOBE-Gardner-mergeGIS_to_1x1_smallvilleIA_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_0.9x1.25_GRDC_to_1x1_smallvilleIA_nomask_aave_da_c130309.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_360x720_cruncep_to_1x1_smallvilleIA_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/1x1_smallvilleIA/map_1km-merge-10min_HYDRO1K-merge-nomask_to_1x1_smallvilleIA_nomask_aave_da_c130403.nc - + - + -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_0.5x0.5_AVHRR_to_1x1_urbanc_alpha_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_0.5x0.5_MODIS_to_1x1_urbanc_alpha_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_0.25x0.25_MODIS_to_1x1_urbanc_alpha_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_0.5x0.5_nomask_to_1x1_urbanc_alpha_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_10x10min_nomask_to_1x1_urbanc_alpha_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_3x3min_MODIS_to_1x1_urbanc_alpha_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_3x3min_MODISv2_to_1x1_urbanc_alpha_nomask_aave_da_c190507.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_3x3min_MODIS-wCsp_to_1x1_urbanc_alpha_nomask_aave_da_c160425.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_3x3min_USGS_to_1x1_urbanc_alpha_nomask_aave_da_c120928.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_3x3min_LandScan2004_to_1x1_urbanc_alpha_nomask_aave_da_c121114.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_5x5min_IGBP-GSDP_to_1x1_urbanc_alpha_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_5x5min_ISRIC-WISE_to_1x1_urbanc_alpha_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_5x5min_ORNL-Soil_to_1x1_urbanc_alpha_nomask_aave_da_c170706.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_5x5min_nomask_to_1x1_urbanc_alpha_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_3x3min_GLOBE-Gardner_to_1x1_urbanc_alpha_nomask_aave_da_c120927.nc lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_3x3min_GLOBE-Gardner-mergeGIS_to_1x1_urbanc_alpha_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_0.9x1.25_GRDC_to_1x1_urbanc_alpha_nomask_aave_da_c130309.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_360x720_cruncep_to_1x1_urbanc_alpha_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/1x1_urbanc_alpha/map_1km-merge-10min_HYDRO1K-merge-nomask_to_1x1_urbanc_alpha_nomask_aave_da_c130403.nc - + - + -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_0.5x0.5_AVHRR_to_1x1_vancouverCAN_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_0.5x0.5_MODIS_to_1x1_vancouverCAN_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_0.25x0.25_MODIS_to_1x1_vancouverCAN_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_0.5x0.5_nomask_to_1x1_vancouverCAN_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_10x10min_nomask_to_1x1_vancouverCAN_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_3x3min_MODIS_to_1x1_vancouverCAN_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_3x3min_MODISv2_to_1x1_vancouverCAN_nomask_aave_da_c190506.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_3x3min_MODIS-wCsp_to_1x1_vancouverCAN_nomask_aave_da_c160425.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_3x3min_USGS_to_1x1_vancouverCAN_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_3x3min_LandScan2004_to_1x1_vancouverCAN_nomask_aave_da_c121114.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_5x5min_IGBP-GSDP_to_1x1_vancouverCAN_nomask_aave_da_c120717.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_5x5min_ISRIC-WISE_to_1x1_vancouverCAN_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_5x5min_ORNL-Soil_to_1x1_vancouverCAN_nomask_aave_da_c170706.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_5x5min_nomask_to_1x1_vancouverCAN_nomask_aave_da_c120717.nc lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_3x3min_GLOBE-Gardner_to_1x1_vancouverCAN_nomask_aave_da_c120927.nc lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_3x3min_GLOBE-Gardner-mergeGIS_to_1x1_vancouverCAN_nomask_aave_da_c120927.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_0.9x1.25_GRDC_to_1x1_vancouverCAN_nomask_aave_da_c130309.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_360x720_cruncep_to_1x1_vancouverCAN_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/1x1_vancouverCAN/map_1km-merge-10min_HYDRO1K-merge-nomask_to_1x1_vancouverCAN_nomask_aave_da_c130403.nc - + - + -lnd/clm2/mappingdata/maps/0.47x0.63/map_0.25x0.25_MODIS_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_0.5x0.5_AVHRR_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_0.5x0.5_MODIS_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_0.9x1.25_GRDC_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_10x10min_IGBPmergeICESatGIS_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_10x10min_nomask_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_1km-merge-10min_HYDRO1K-merge-nomask_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_360x720cru_cruncep_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_3x3min_GLOBE-Gardner-mergeGIS_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_3x3min_GLOBE-Gardner_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_3x3min_LandScan2004_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_3x3min_MODISv2_to_0.47x0.63_nomask_aave_da_c190505.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_3x3min_MODIS-wCsp_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_3x3min_USGS_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_5x5min_IGBP-GSDP_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_5x5min_ISRIC-WISE_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_5x5min_nomask_to_0.47x0.63_nomask_aave_da_c170914.nc -lnd/clm2/mappingdata/maps/0.47x0.63/map_5x5min_ORNL-Soil_to_0.47x0.63_nomask_aave_da_c170914.nc - + -lnd/clm2/mappingdata/maps/0.9x1.25/map_0.5x0.5_landuse_to_0.9x1.25_aave_da_110307.nc -lnd/clm2/mappingdata/maps/0.9x1.25/map_0.25x0.25_MODIS_to_0.9x1.25_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/0.9x1.25/map_0.5x0.5_lanwat_to_0.9x1.25_aave_da_110307.nc lnd/clm2/mappingdata/maps/0.9x1.25/map_10minx10min_topo_to_0.9x1.25_aave_da_110630.nc @@ -2229,7 +2230,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/0.9x1.25/map_5x5min_ORNL-Soil_to_0.9x1.25_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/0.9x1.25/map_3x3min_MODIS_to_0.9x1.25_nomask_aave_da_c120523.nc -lnd/clm2/mappingdata/maps/0.9x1.25/map_3x3min_MODISv2_to_0.9x1.25_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/0.9x1.25/map_3x3min_MODIS-wCsp_to_0.9x1.25_nomask_aave_da_c160425.nc @@ -2241,18 +2242,18 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/0.9x1.25/map_3x3min_GLOBE-Gardner_to_0.9x1.25_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/0.9x1.25/map_3x3min_GLOBE-Gardner-mergeGIS_to_0.9x1.25_nomask_aave_da_c120923.nc -lnd/clm2/mappingdata/maps/0.9x1.25/map_0.9x1.25_GRDC_to_0.9x1.25_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/0.9x1.25/map_360x720_cruncep_to_0.9x1.25_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/0.9x1.25/map_1km-merge-10min_HYDRO1K-merge-nomask_to_0.9x1.25_nomask_aave_da_c130405.nc -lnd/clm2/mappingdata/maps/1.9x2.5/map_0.5x0.5_landuse_to_1.9x2.5_aave_da_110307.nc -lnd/clm2/mappingdata/maps/1.9x2.5/map_0.25x0.25_MODIS_to_1.9x2.5_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/1.9x2.5/map_0.5x0.5_lanwat_to_1.9x2.5_aave_da_110307.nc lnd/clm2/mappingdata/maps/1.9x2.5/map_10minx10min_topo_to_1.9x2.5_aave_da_110307.nc @@ -2266,7 +2267,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/1.9x2.5/map_5x5min_ORNL-Soil_to_1.9x2.5_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/1.9x2.5/map_3x3min_MODIS_to_1.9x2.5_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/1.9x2.5/map_3x3min_MODISv2_to_1.9x2.5_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/1.9x2.5/map_3x3min_MODIS-wCsp_to_1.9x2.5_nomask_aave_da_c160425.nc @@ -2278,19 +2279,19 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/1.9x2.5/map_3x3min_GLOBE-Gardner_to_1.9x2.5_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/1.9x2.5/map_3x3min_GLOBE-Gardner-mergeGIS_to_1.9x2.5_nomask_aave_da_c120923.nc -lnd/clm2/mappingdata/maps/1.9x2.5/map_0.9x1.25_GRDC_to_1.9x2.5_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/1.9x2.5/map_360x720_cruncep_to_1.9x2.5_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/1.9x2.5/map_1km-merge-10min_HYDRO1K-merge-nomask_to_1.9x2.5_nomask_aave_da_c130405.nc -lnd/clm2/mappingdata/maps/10x15/map_0.5x0.5_landuse_to_10x15_aave_da_110307.nc -lnd/clm2/mappingdata/maps/10x15/map_0.25x0.25_MODIS_to_10x15_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/10x15/map_0.5x0.5_lanwat_to_10x15_aave_da_110307.nc lnd/clm2/mappingdata/maps/10x15/map_10minx10min_topo_to_10x15_aave_da_110307.nc @@ -2304,7 +2305,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/10x15/map_5x5min_ORNL-Soil_to_10x15_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/10x15/map_3x3min_MODIS_to_10x15_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/10x15/map_3x3min_MODISv2_to_10x15_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/10x15/map_3x3min_MODIS-wCsp_to_10x15_nomask_aave_da_c160425.nc @@ -2316,18 +2317,18 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/10x15/map_3x3min_GLOBE-Gardner_to_10x15_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/10x15/map_3x3min_GLOBE-Gardner-mergeGIS_to_10x15_nomask_aave_da_c120923.nc -lnd/clm2/mappingdata/maps/10x15/map_0.9x1.25_GRDC_to_10x15_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/10x15/map_360x720_cruncep_to_10x15_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/10x15/map_1km-merge-10min_HYDRO1K-merge-nomask_to_10x15_nomask_aave_da_c130411.nc -lnd/clm2/mappingdata/maps/360x720/map_0.5x0.5_MODIS_to_360x720_nomask_aave_da_c120830.nc -lnd/clm2/mappingdata/maps/360x720/map_0.25x0.25_MODIS_to_360x720cru_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/360x720/map_0.5x0.5_AVHRR_to_360x720_nomask_aave_da_c120830.nc lnd/clm2/mappingdata/maps/360x720/map_10x10min_nomask_to_360x720_nomask_aave_da_c120830.nc @@ -2341,7 +2342,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/360x720/map_5x5min_ORNL-Soil_to_360x720cru_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/360x720/map_3x3min_MODIS_to_360x720_nomask_aave_da_c120830.nc -lnd/clm2/mappingdata/maps/360x720/map_3x3min_MODISv2_to_360x720cru_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/360x720/map_3x3min_MODIS-wCsp_to_360x720cru_nomask_aave_da_c160425.nc @@ -2353,19 +2354,19 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/360x720/map_3x3min_GLOBE-Gardner_to_360x720_nomask_aave_da_c121128.nc lnd/clm2/mappingdata/maps/360x720/map_3x3min_GLOBE-Gardner-mergeGIS_to_360x720_nomask_aave_da_c121128.nc -lnd/clm2/mappingdata/maps/360x720/map_0.9x1.25_GRDC_to_360x720_nomask_aave_da_c130309.nc -lnd/clm2/mappingdata/maps/360x720/map_360x720_cruncep_to_360x720_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/360x720/map_1km-merge-10min_HYDRO1K-merge-nomask_to_360x720_nomask_aave_da_c130403.nc -lnd/clm2/mappingdata/maps/512x1024/map_0.5x0.5_MODIS_to_512x1024_nomask_aave_da_c110920.nc -lnd/clm2/mappingdata/maps/512x1024/map_0.25x0.25_MODIS_to_512x1024_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/512x1024/map_0.5x0.5_AVHRR_to_512x1024_nomask_aave_da_c110920.nc lnd/clm2/mappingdata/maps/512x1024/map_10x10min_nomask_to_512x1024_nomask_aave_da_c110920.nc @@ -2379,7 +2380,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/512x1024/map_5x5min_ORNL-Soil_to_512x1024_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/512x1024/map_3x3min_MODIS_to_512x1024_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/512x1024/map_3x3min_MODISv2_to_512x1024_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/512x1024/map_3x3min_MODIS-wCsp_to_512x1024_nomask_aave_da_c160425.nc @@ -2391,19 +2392,19 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/512x1024/map_3x3min_GLOBE-Gardner_to_512x1024_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/512x1024/map_3x3min_GLOBE-Gardner-mergeGIS_to_512x1024_nomask_aave_da_c120923.nc -lnd/clm2/mappingdata/maps/512x1024/map_0.9x1.25_GRDC_to_512x1024_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/512x1024/map_360x720_cruncep_to_512x1024_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/512x1024/map_1km-merge-10min_HYDRO1K-merge-nomask_to_512x1024_nomask_aave_da_c130403.nc -lnd/clm2/mappingdata/maps/128x256/map_0.5x0.5_MODIS_to_128x256_nomask_aave_da_c110920.nc -lnd/clm2/mappingdata/maps/128x256/map_0.25x0.25_MODIS_to_128x256_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/128x256/map_0.5x0.5_AVHRR_to_128x256_nomask_aave_da_c110920.nc lnd/clm2/mappingdata/maps/128x256/map_10x10min_nomask_to_128x256_nomask_aave_da_c110920.nc @@ -2417,7 +2418,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/128x256/map_5x5min_ORNL-Soil_to_128x256_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/128x256/map_3x3min_MODIS_to_128x256_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/128x256/map_3x3min_MODISv2_to_128x256_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/128x256/map_3x3min_MODIS-wCsp_to_128x256_nomask_aave_da_c160425.nc @@ -2429,19 +2430,19 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/128x256/map_3x3min_GLOBE-Gardner_to_128x256_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/128x256/map_3x3min_GLOBE-Gardner-mergeGIS_to_128x256_nomask_aave_da_c120923.nc -lnd/clm2/mappingdata/maps/128x256/map_0.9x1.25_GRDC_to_128x256_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/128x256/map_360x720_cruncep_to_128x256_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/128x256/map_1km-merge-10min_HYDRO1K-merge-nomask_to_128x256_nomask_aave_da_c130403.nc -lnd/clm2/mappingdata/maps/64x128/map_0.5x0.5_MODIS_to_64x128_nomask_aave_da_c110920.nc -lnd/clm2/mappingdata/maps/64x128/map_0.25x0.25_MODIS_to_64x128_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/64x128/map_0.5x0.5_AVHRR_to_64x128_nomask_aave_da_c110920.nc lnd/clm2/mappingdata/maps/64x128/map_10x10min_nomask_to_64x128_nomask_aave_da_c110920.nc @@ -2455,7 +2456,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/64x128/map_5x5min_ORNL-Soil_to_64x128_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/64x128/map_3x3min_MODIS_to_64x128_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/64x128/map_3x3min_MODISv2_to_64x128_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/64x128/map_3x3min_MODIS-wCsp_to_64x128_nomask_aave_da_c160428.nc @@ -2467,18 +2468,18 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/64x128/map_3x3min_GLOBE-Gardner_to_64x128_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/64x128/map_3x3min_GLOBE-Gardner-mergeGIS_to_64x128_nomask_aave_da_c120923.nc -lnd/clm2/mappingdata/maps/64x128/map_0.9x1.25_GRDC_to_64x128_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/64x128/map_360x720_cruncep_to_64x128_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/64x128/map_1km-merge-10min_HYDRO1K-merge-nomask_to_64x128_nomask_aave_da_c130403.nc -lnd/clm2/mappingdata/maps/48x96/map_0.5x0.5_MODIS_to_48x96_nomask_aave_da_c110822.nc -lnd/clm2/mappingdata/maps/48x96/map_0.25x0.25_MODIS_to_48x96_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/48x96/map_0.5x0.5_AVHRR_to_48x96_nomask_aave_da_c110822.nc lnd/clm2/mappingdata/maps/48x96/map_10x10min_nomask_to_48x96_nomask_aave_da_c110822.nc @@ -2492,7 +2493,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/48x96/map_5x5min_ORNL-Soil_to_48x96_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/48x96/map_3x3min_MODIS_to_48x96_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/48x96/map_3x3min_MODISv2_to_48x96_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/48x96/map_3x3min_MODIS-wCsp_to_48x96_nomask_aave_da_c160425.nc @@ -2504,18 +2505,18 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/48x96/map_3x3min_GLOBE-Gardner_to_48x96_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/48x96/map_3x3min_GLOBE-Gardner-mergeGIS_to_48x96_nomask_aave_da_c120923.nc -lnd/clm2/mappingdata/maps/48x96/map_0.9x1.25_GRDC_to_48x96_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/48x96/map_360x720_cruncep_to_48x96_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/48x96/map_1km-merge-10min_HYDRO1K-merge-nomask_to_48x96_nomask_aave_da_c130405.nc -lnd/clm2/mappingdata/maps/4x5/map_0.5x0.5_MODIS_to_4x5_nomask_aave_da_c110822.nc -lnd/clm2/mappingdata/maps/4x5/map_0.25x0.25_MODIS_to_4x5_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/4x5/map_0.5x0.5_AVHRR_to_4x5_nomask_aave_da_c110822.nc lnd/clm2/mappingdata/maps/4x5/map_10x10min_nomask_to_4x5_nomask_aave_da_c110822.nc @@ -2529,7 +2530,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/4x5/map_5x5min_ORNL-Soil_to_4x5_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/4x5/map_3x3min_MODIS_to_4x5_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/4x5/map_3x3min_MODISv2_to_4x5_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/4x5/map_3x3min_MODIS-wCsp_to_4x5_nomask_aave_da_c160425.nc @@ -2541,18 +2542,18 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/4x5/map_3x3min_GLOBE-Gardner_to_4x5_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/4x5/map_3x3min_GLOBE-Gardner-mergeGIS_to_4x5_nomask_aave_da_c120923.nc -lnd/clm2/mappingdata/maps/4x5/map_0.9x1.25_GRDC_to_4x5_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/4x5/map_360x720_cruncep_to_4x5_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/4x5/map_1km-merge-10min_HYDRO1K-merge-nomask_to_4x5_nomask_aave_da_c130411.nc -lnd/clm2/mappingdata/maps/0.23x0.31/map_0.5x0.5_MODIS_to_0.23x0.31_nomask_aave_da_c110920.nc -lnd/clm2/mappingdata/maps/0.23x0.31/map_0.25x0.25_MODIS_to_0.23x0.31_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/0.23x0.31/map_0.5x0.5_AVHRR_to_0.23x0.31_nomask_aave_da_c110920.nc lnd/clm2/mappingdata/maps/0.23x0.31/map_10x10min_nomask_to_0.23x0.31_nomask_aave_da_c110920.nc @@ -2566,7 +2567,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/0.23x0.31/map_5x5min_ORNL-Soil_to_0.23x0.31_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/0.23x0.31/map_3x3min_MODIS_to_0.23x0.31_nomask_aave_da_c110930.nc -lnd/clm2/mappingdata/maps/0.23x0.31/map_3x3min_MODISv2_to_0.23x0.31_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/0.23x0.31/map_3x3min_MODIS-wCsp_to_0.23x0.31_nomask_aave_da_c160425.nc @@ -2580,19 +2581,19 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/0.23x0.31/map_3x3min_GLOBE-Gardner-mergeGIS_to_0.23x0.31_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/0.23x0.31/map_3x3min_LandScan2004_to_0.23x0.31_nomask_aave_da_c120518.nc -lnd/clm2/mappingdata/maps/0.23x0.31/map_0.9x1.25_GRDC_to_0.23x0.31_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/0.23x0.31/map_360x720_cruncep_to_0.23x0.31_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/0.23x0.31/map_1km-merge-10min_HYDRO1K-merge-nomask_to_0.23x0.31_nomask_aave_da_c130405.nc -lnd/clm2/mappingdata/maps/2.5x3.33/map_0.5x0.5_MODIS_to_2.5x3.33_nomask_aave_da_c110823.nc -lnd/clm2/mappingdata/maps/2.5x3.33/map_0.25x0.25_MODIS_to_2.5x3.33_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/2.5x3.33/map_0.5x0.5_AVHRR_to_2.5x3.33_nomask_aave_da_c110823.nc lnd/clm2/mappingdata/maps/2.5x3.33/map_10x10min_nomask_to_2.5x3.33_nomask_aave_da_c110823.nc @@ -2606,7 +2607,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/2.5x3.33/map_5x5min_ORNL-Soil_to_2.5x3.33_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/2.5x3.33/map_3x3min_MODIS_to_2.5x3.33_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/2.5x3.33/map_3x3min_MODISv2_to_2.5x3.33_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/2.5x3.33/map_3x3min_MODIS-wCsp_to_2.5x3.33_nomask_aave_da_c160425.nc @@ -2618,63 +2619,63 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/2.5x3.33/map_3x3min_GLOBE-Gardner_to_2.5x3.33_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/2.5x3.33/map_3x3min_GLOBE-Gardner-mergeGIS_to_2.5x3.33_nomask_aave_da_c120923.nc -lnd/clm2/mappingdata/maps/2.5x3.33/map_0.9x1.25_GRDC_to_2.5x3.33_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/2.5x3.33/map_360x720_cruncep_to_2.5x3.33_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/2.5x3.33/map_1km-merge-10min_HYDRO1K-merge-nomask_to_2.5x3.33_nomask_aave_da_c130405.nc - + -lnd/clm2/mappingdata/maps/0.5x0.5/map_0.5x0.5_AVHRR_to_0.5x0.5_nomask_aave_da_c111021.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_0.25x0.25_MODIS_to_0.5x0.5_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_0.5x0.5_MODIS_to_0.5x0.5_nomask_aave_da_c111021.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_0.5x0.5_nomask_to_0.5x0.5_nomask_aave_da_c111021.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_10x10min_IGBPmergeICESatGIS_to_0.5x0.5_nomask_aave_da_c111021.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_10x10min_nomask_to_0.5x0.5_nomask_aave_da_c111021.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_5x5min_IGBP-GSDP_to_0.5x0.5_nomask_aave_da_c111021.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_5x5min_nomask_to_0.5x0.5_nomask_aave_da_c111021.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_3x3min_MODIS_to_0.5x0.5_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_3x3min_MODIS-wCsp_to_0.5x0.5_nomask_aave_da_c160425.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_5x5min_ISRIC-WISE_to_0.5x0.5_nomask_aave_da_c111115.nc lnd/clm2/mappingdata/maps/0.5x0.5/map_5x5min_ORNL-Soil_to_0.5x0.5_nomask_aave_da_c170706.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_3x3min_LandScan2004_to_0.5x0.5_nomask_aave_da_c120518.nc lnd/clm2/mappingdata/maps/0.5x0.5/map_3x3min_GLOBE-Gardner_to_0.5x0.5_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/0.5x0.5/map_3x3min_GLOBE-Gardner-mergeGIS_to_0.5x0.5_nomask_aave_da_c120923.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_0.1x0.1_nomask_to_0.5x0.5_nomask_aave_da_c120706.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_ne240np4_nomask_to_0.5x0.5_nomask_aave_da_c120711.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_4x5_nomask_to_0.5x0.5_nomask_aave_da_c120706.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_1.9x2.5_nomask_to_0.5x0.5_nomask_aave_da_c120709.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_ne120np4_nomask_to_0.5x0.5_nomask_aave_da_c120711.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_3x3_USGS_nomask_to_0.5x0.5_nomask_aave_da_c120912.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_0.9x1.25_GRDC_to_0.5x0.5_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_360x720_cruncep_to_0.5x0.5_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/0.5x0.5/map_1km-merge-10min_HYDRO1K-merge-nomask_to_0.5x0.5_nomask_aave_da_c130405.nc @@ -2875,11 +2876,11 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/C384/map_C384_nomask_to_0.5x0.5_nomask_aave_da_c181018.nc -lnd/clm2/mappingdata/maps/ne4np4/map_0.5x0.5_MODIS_to_ne4np4_nomask_aave_da_c110923.nc -lnd/clm2/mappingdata/maps/ne4np4/map_0.25x0.25_MODIS_to_ne4np4_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/ne4np4/map_0.5x0.5_AVHRR_to_ne4np4_nomask_aave_da_c110923.nc lnd/clm2/mappingdata/maps/ne4np4/map_10x10min_nomask_to_ne4np4_nomask_aave_da_c110923.nc @@ -2893,7 +2894,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/ne4np4/map_5x5min_ORNL-Soil_to_ne4np4_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/ne4np4/map_3x3min_MODIS_to_ne4np4_nomask_aave_da_c120906.nc -lnd/clm2/mappingdata/maps/ne4np4/map_3x3min_MODISv2_to_ne4np4_nomask_aave_da_c190514.nc lnd/clm2/mappingdata/maps/ne4np4/map_3x3min_MODIS-wCsp_to_ne4np4_nomask_aave_da_c160425.nc @@ -2907,23 +2908,23 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/ne4np4/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne4np4_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/ne4np4/map_3x3min_LandScan2004_to_ne4np4_nomask_aave_da_c120518.nc -lnd/clm2/mappingdata/maps/ne4np4/map_0.9x1.25_GRDC_to_ne4np4_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/ne4np4/map_360x720_cruncep_to_ne4np4_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/ne4np4/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne4np4_nomask_aave_da_c130411.nc lnd/clm2/mappingdata/maps/ne4np4/map_ne4np4_nomask_to_0.5x0.5_nomask_aave_da_c110923.nc -lnd/clm2/mappingdata/maps/ne16np4/map_0.5x0.5_MODIS_to_ne16np4_nomask_aave_da_c110922.nc -lnd/clm2/mappingdata/maps/ne16np4/map_0.25x0.25_MODIS_to_ne16np4_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/ne16np4/map_3x3min_MODISv2_to_ne16np4_nomask_aave_da_c190514.nc -lnd/clm2/mappingdata/maps/ne16np4/map_0.5x0.5_AVHRR_to_ne16np4_nomask_aave_da_c110922.nc lnd/clm2/mappingdata/maps/ne16np4/map_10x10min_nomask_to_ne16np4_nomask_aave_da_c110922.nc @@ -2947,21 +2948,21 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/ne16np4/map_3x3min_GLOBE-Gardner_to_ne16np4_nomask_aave_da_c120924.nc lnd/clm2/mappingdata/maps/ne16np4/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne16np4_nomask_aave_da_c120924.nc -lnd/clm2/mappingdata/maps/ne16np4/map_0.9x1.25_GRDC_to_ne16np4_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/ne16np4/map_360x720_cruncep_to_ne16np4_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/ne16np4/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne16np4_nomask_aave_da_c130408.nc lnd/clm2/mappingdata/maps/ne16np4/map_ne16np4_nomask_to_0.5x0.5_nomask_aave_da_c110922.nc -lnd/clm2/mappingdata/maps/ne30np4/map_0.5x0.5_landuse_to_ne30np4_aave_da_110320.nc -lnd/clm2/mappingdata/maps/ne30np4/map_0.25x0.25_MODIS_to_ne30np4_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/ne30np4/map_0.5x0.5_lanwat_to_ne30np4_aave_da_110320.nc lnd/clm2/mappingdata/maps/ne30np4/map_10minx10min_topo_to_ne30np4_aave_da_110320.nc @@ -2975,7 +2976,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/ne30np4/map_5x5min_ORNL-Soil_to_ne30np4_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/ne30np4/map_3x3min_MODIS_to_ne30np4_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/ne30np4/map_3x3min_MODISv2_to_ne30np4_nomask_aave_da_c190507.nc lnd/clm2/mappingdata/maps/ne30np4/map_3x3min_MODIS-wCsp_to_ne30np4_nomask_aave_da_c160425.nc @@ -2987,21 +2988,21 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/ne30np4/map_3x3min_GLOBE-Gardner_to_ne30np4_nomask_aave_da_c120924.nc lnd/clm2/mappingdata/maps/ne30np4/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne30np4_nomask_aave_da_c120924.nc -lnd/clm2/mappingdata/maps/ne30np4/map_0.9x1.25_GRDC_to_ne30np4_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/ne30np4/map_360x720_cruncep_to_ne30np4_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/ne30np4/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne30np4_nomask_aave_da_c130405.nc lnd/clm2/mappingdata/maps/ne30np4/map_ne30np4_to_0.5x0.5rtm_aave_da_110320.nc -lnd/clm2/mappingdata/maps/ne60np4/map_0.5x0.5_MODIS_to_ne60np4_nomask_aave_da_c110922.nc -lnd/clm2/mappingdata/maps/ne60np4/map_0.25x0.25_MODIS_to_ne60np4_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/ne60np4/map_0.5x0.5_AVHRR_to_ne60np4_nomask_aave_da_c110922.nc lnd/clm2/mappingdata/maps/ne60np4/map_10x10min_nomask_to_ne60np4_nomask_aave_da_c110922.nc @@ -3015,7 +3016,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/ne60np4/map_5x5min_ORNL-Soil_to_ne60np4_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/ne60np4/map_3x3min_MODIS_to_ne60np4_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/ne60np4/map_3x3min_MODISv2_to_ne60np4_nomask_aave_da_c190507.nc lnd/clm2/mappingdata/maps/ne60np4/map_3x3min_MODIS-wCsp_to_ne60np4_nomask_aave_da_c160425.nc @@ -3027,20 +3028,20 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/ne60np4/map_3x3min_GLOBE-Gardner_to_ne60np4_nomask_aave_da_c120924.nc lnd/clm2/mappingdata/maps/ne60np4/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne60np4_nomask_aave_da_c120924.nc -lnd/clm2/mappingdata/maps/ne60np4/map_0.9x1.25_GRDC_to_ne60np4_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/ne60np4/map_360x720_cruncep_to_ne60np4_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/ne60np4/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne60np4_nomask_aave_da_c130405.nc lnd/clm2/mappingdata/maps/ne60np4/map_ne60np4_nomask_to_0.5x0.5_nomask_aave_da_c110922.nc -lnd/clm2/mappingdata/maps/ne120np4/map_0.5x0.5_landuse_to_ne120np4_aave_da_110320.nc -lnd/clm2/mappingdata/maps/ne120np4/map_0.25x0.25_MODIS_to_ne120np4_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/ne120np4/map_0.5x0.5_lanwat_to_ne120np4_aave_da_110320.nc lnd/clm2/mappingdata/maps/ne120np4/map_10minx10min_topo_to_ne120np4_aave_da_110320.nc @@ -3054,7 +3055,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/ne120np4/map_5minx5min_irrig_to_ne120np4_aave_da_110817.nc lnd/clm2/mappingdata/maps/ne120np4/map_3x3min_MODIS_to_ne120np4_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/ne120np4/map_3x3min_MODISv2_to_ne120np4_nomask_aave_da_c190514.nc lnd/clm2/mappingdata/maps/ne120np4/map_3x3min_MODIS-wCsp_to_ne120np4_nomask_aave_da_c160425.nc @@ -3068,20 +3069,20 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/ne120np4/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne120np4_nomask_aave_da_c120924.nc lnd/clm2/mappingdata/maps/ne120np4/map_3x3min_USGS_to_ne120np4_nomask_aave_da_c120913.nc -lnd/clm2/mappingdata/maps/ne120np4/map_0.9x1.25_GRDC_to_ne120np4_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/ne120np4/map_360x720_cruncep_to_ne120np4_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/ne120np4/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne120np4_nomask_aave_da_c130405.nc - + -lnd/clm2/mappingdata/maps/ne120np4/map_0.1x0.1_nomask_to_ne120np4_nomask_aave_da_c120706.nc - + @@ -3127,52 +3128,52 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts - + -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_5x5min_ORNL-Soil_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_3x3min_MODIS-wCsp_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_5x5min_ISRIC-WISE_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_0.9x1.25_GRDC_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_5x5min_nomask_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_3x3min_GLOBE-Gardner_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_3x3min_LandScan2004_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_360x720cru_cruncep_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_5x5min_IGBP-GSDP_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_3x3min_USGS_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_10x10min_nomask_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_3x3min_MODISv2_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_0.5x0.5_AVHRR_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_0.25x0.25_MODIS_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_0.5x0.5_MODIS_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne0np4CONUS.ne30x8/map_10x10min_IGBPmergeICESatGIS_to_ne0np4CONUS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/5x5_amazon/map_0.5x0.5_MODIS_to_5x5_amazon_nomask_aave_da_c110920.nc -lnd/clm2/mappingdata/maps/5x5_amazon/map_0.25x0.25_MODIS_to_5x5_amazon_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/5x5_amazon/map_0.5x0.5_AVHRR_to_5x5_amazon_nomask_aave_da_c110920.nc lnd/clm2/mappingdata/maps/5x5_amazon/map_10x10min_nomask_to_5x5_amazon_nomask_aave_da_c110920.nc @@ -3186,7 +3187,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/5x5_amazon/map_5x5min_ORNL-Soil_to_5x5_amazon_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/5x5_amazon/map_3x3min_MODIS_to_5x5_amazon_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/5x5_amazon/map_3x3min_MODISv2_to_5x5_amazon_nomask_aave_da_c190505.nc lnd/clm2/mappingdata/maps/5x5_amazon/map_3x3min_MODIS-wCsp_to_5x5_amazon_nomask_aave_da_c160425.nc @@ -3198,18 +3199,18 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/5x5_amazon/map_3x3min_GLOBE-Gardner_to_5x5_amazon_nomask_aave_da_c120923.nc lnd/clm2/mappingdata/maps/5x5_amazon/map_3x3min_GLOBE-Gardner-mergeGIS_to_5x5_amazon_nomask_aave_da_c120923.nc -lnd/clm2/mappingdata/maps/5x5_amazon/map_0.9x1.25_GRDC_to_5x5_amazon_nomask_aave_da_c130309.nc -lnd/clm2/mappingdata/maps/5x5_amazon/map_360x720_cruncep_to_5x5_amazon_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/5x5_amazon/map_1km-merge-10min_HYDRO1K-merge-nomask_to_5x5_amazon_nomask_aave_da_c130403.nc -lnd/clm2/mappingdata/maps/ne240np4/map_0.5x0.5_MODIS_to_ne240np4_nomask_aave_da_c110922.nc -lnd/clm2/mappingdata/maps/ne240np4/map_0.25x0.25_MODIS_to_ne240np4_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/ne240np4/map_0.5x0.5_AVHRR_to_ne240np4_nomask_aave_da_c110922.nc lnd/clm2/mappingdata/maps/ne240np4/map_10x10min_nomask_to_ne240np4_nomask_aave_da_c110922.nc @@ -3223,7 +3224,7 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/ne240np4/map_5x5min_ORNL-Soil_to_ne240np4_nomask_aave_da_c170706.nc lnd/clm2/mappingdata/maps/ne240np4/map_3x3min_MODIS_to_ne240np4_nomask_aave_da_c111111.nc -lnd/clm2/mappingdata/maps/ne240np4/map_3x3min_MODISv2_to_ne240np4_nomask_aave_da_c190514.nc lnd/clm2/mappingdata/maps/ne240np4/map_3x3min_MODIS-wCsp_to_ne240np4_nomask_aave_da_c160425.nc @@ -3235,359 +3236,359 @@ lnd/clm2/surfdata_map/release-clm5.0.30/surfdata_ne0np4.CONUS.ne30x8_hist_78pfts >lnd/clm2/mappingdata/maps/ne240np4/map_3x3min_GLOBE-Gardner_to_ne240np4_nomask_aave_da_c120925.nc lnd/clm2/mappingdata/maps/ne240np4/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne240np4_nomask_aave_da_c120925.nc -lnd/clm2/mappingdata/maps/ne240np4/map_0.9x1.25_GRDC_to_ne240np4_nomask_aave_da_c130308.nc -lnd/clm2/mappingdata/maps/ne240np4/map_360x720_cruncep_to_ne240np4_nomask_aave_da_c130326.nc -lnd/clm2/mappingdata/maps/ne240np4/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne240np4_nomask_aave_da_c130405.nc lnd/clm2/mappingdata/maps/ne240np4/map_ne240np4_nomask_to_0.5x0.5_nomask_aave_da_c110922.nc - + -lnd/clm2/mappingdata/maps/0.125x0.125/map_0.5x0.5_AVHRR_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_0.5x0.5_MODIS_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_0.25x0.25_MODIS_to_0.125x0.125_nomask_aave_da_c170321.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_0.9x1.25_GRDC_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_10x10min_IGBPmergeICESatGIS_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_10x10min_nomask_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_1km-merge-10min_HYDRO1K-merge-nomask_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_360x720cru_cruncep_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_3x3min_GLOBE-Gardner-mergeGIS_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_3x3min_GLOBE-Gardner_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_3x3min_LandScan2004_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_3x3min_MODIS_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_3x3min_MODISv2_to_0.125x0.125_nomask_aave_da_c190613.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_3x3min_MODIS-wCsp_to_0.125x0.125_nomask_aave_da_c160427.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_3x3min_USGS_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_5x5min_IGBP-GSDP_to_0.125x0.125_nomask_aave_da_c140702.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_5x5min_ISRIC-WISE_to_0.125x0.125_nomask_aave_da_c140702.nc lnd/clm2/mappingdata/maps/0.125x0.125/map_5x5min_ORNL-Soil_to_0.125x0.125_nomask_aave_da_c170706.nc -lnd/clm2/mappingdata/maps/0.125x0.125/map_5x5min_nomask_to_0.125x0.125_nomask_aave_da_c140702.nc - + -lnd/clm2/mappingdata/maps/94x192/map_3x3min_USGS_to_94x192_nomask_aave_da_c120926.nc -lnd/clm2/mappingdata/maps/94x192/map_0.5x0.5_nomask_to_94x192_nomask_aave_da_c110823.nc -lnd/clm2/mappingdata/maps/94x192/map_5x5min_ORNL-Soil_to_94x192_nomask_aave_da_c190521.nc -lnd/clm2/mappingdata/maps/94x192/map_94x192_nomask_to_0.5x0.5_nomask_aave_da_c110823.nc -lnd/clm2/mappingdata/maps/94x192/map_5x5min_IGBP-GSDP_to_94x192_nomask_aave_da_c110823.nc -lnd/clm2/mappingdata/maps/94x192/map_3x3min_MODIS-wCsp_to_94x192_nomask_aave_da_c190521.nc -lnd/clm2/mappingdata/maps/94x192/map_1km-merge-10min_HYDRO1K-merge-nomask_to_94x192_nomask_aave_da_c190521.nc -lnd/clm2/mappingdata/maps/94x192/map_0.5x0.5_MODIS_to_94x192_nomask_aave_da_c110823.nc -lnd/clm2/mappingdata/maps/94x192/map_5x5min_nomask_to_94x192_nomask_aave_da_c110823.nc -lnd/clm2/mappingdata/maps/94x192/map_0.5x0.5_USGS_to_94x192_nomask_aave_da_c110823.nc -lnd/clm2/mappingdata/maps/94x192/map_0.9x1.25_GRDC_to_94x192_nomask_aave_da_c190521.nc -lnd/clm2/mappingdata/maps/94x192/map_10x10min_nomask_to_94x192_nomask_aave_da_c110823.nc -lnd/clm2/mappingdata/maps/94x192/map_10x10min_IGBPmergeICESatGIS_to_94x192_nomask_aave_da_c110823.nc -lnd/clm2/mappingdata/maps/94x192/map_3x3min_LandScan2004_to_94x192_nomask_aave_da_c190521.nc -lnd/clm2/mappingdata/maps/94x192/map_360x720cru_cruncep_to_94x192_nomask_aave_da_c190521.nc -lnd/clm2/mappingdata/maps/94x192/map_3x3min_GLOBE-Gardner_to_94x192_nomask_aave_da_c190521.nc -lnd/clm2/mappingdata/maps/94x192/map_0.25x0.25_MODIS_to_94x192_nomask_aave_da_c190521.nc -lnd/clm2/mappingdata/maps/94x192/map_0.5x0.5_AVHRR_to_94x192_nomask_aave_da_c110823.nc -lnd/clm2/mappingdata/maps/94x192/map_5x5min_ISRIC-WISE_to_94x192_nomask_aave_da_c190521.nc -lnd/clm2/mappingdata/maps/94x192/map_3x3min_GLOBE-Gardner-mergeGIS_to_94x192_nomask_aave_da_c190521.nc -lnd/clm2/mappingdata/maps/94x192/map_3x3min_MODISv2_to_94x192_nomask_aave_da_c190521.nc - + -lnd/clm2/mappingdata/maps/ARCTIC/map_3x3min_USGS_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_0.9x1.25_GRDC_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_360x720cru_cruncep_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_5x5min_ISRIC-WISE_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_0.5x0.5_AVHRR_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_3x3min_GLOBE-Gardner_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_5x5min_nomask_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_5x5min_IGBP-GSDP_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_0.5x0.5_MODIS_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_3x3min_MODISv2_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_0.25x0.25_MODIS_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_3x3min_MODIS-wCsp_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_10x10min_nomask_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_5x5min_ORNL-Soil_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_3x3min_LandScan2004_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTIC/map_10x10min_IGBPmergeICESatGIS_to_ne0np4.ARCTIC.ne30x4_nomask_aave_da_c200426.nc - + - + -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_5x5min_nomask_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_0.5x0.5_MODIS_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_3x3min_MODISv2_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_5x5min_ORNL-Soil_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_3x3min_MODIS-wCsp_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_0.5x0.5_AVHRR_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_3x3min_GLOBE-Gardner_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_10x10min_nomask_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_5x5min_ISRIC-WISE_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_360x720cru_cruncep_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_10x10min_IGBPmergeICESatGIS_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_5x5min_IGBP-GSDP_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_0.25x0.25_MODIS_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_3x3min_USGS_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_0.9x1.25_GRDC_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ARCTICGRIS/map_3x3min_LandScan2004_to_ne0np4.ARCTICGRIS.ne30x8_nomask_aave_da_c200426.nc - + - + -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_5x5min_nomask_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_3x3min_MODIS-wCsp_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_5x5min_IGBP-GSDP_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_3x3min_LandScan2004_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_360x720cru_cruncep_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_3x3min_USGS_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_0.9x1.25_GRDC_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_0.5x0.5_AVHRR_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_10x10min_IGBPmergeICESatGIS_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_0.5x0.5_MODIS_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_5x5min_ISRIC-WISE_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_3x3min_MODISv2_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_3x3min_GLOBE-Gardner_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_5x5min_ORNL-Soil_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_10x10min_nomask_to_ne30np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30np4.pg2/map_0.25x0.25_MODIS_to_ne30np4.pg2_nomask_aave_da_c200426.nc - + - + -lnd/clm2/mappingdata/maps/ne30pg3/map_3x3min_USGS_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_0.25x0.25_MODIS_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_5x5min_ORNL-Soil_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_3x3min_LandScan2004_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_5x5min_nomask_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_0.9x1.25_GRDC_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_3x3min_MODISv2_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_5x5min_ISRIC-WISE_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_5x5min_IGBP-GSDP_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_3x3min_MODIS-wCsp_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_3x3min_GLOBE-Gardner_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_10x10min_IGBPmergeICESatGIS_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_360x720cru_cruncep_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_10x10min_nomask_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_0.5x0.5_MODIS_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne30np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne30pg3/map_0.5x0.5_AVHRR_to_ne30np4.pg3_nomask_aave_da_c200426.nc - + - + -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_10x10min_nomask_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_5x5min_ISRIC-WISE_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_360x720cru_cruncep_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_5x5min_IGBP-GSDP_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_0.25x0.25_MODIS_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_5x5min_nomask_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_3x3min_USGS_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_3x3min_LandScan2004_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_0.5x0.5_MODIS_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_3x3min_MODISv2_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_10x10min_IGBPmergeICESatGIS_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_0.9x1.25_GRDC_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_0.5x0.5_AVHRR_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_5x5min_ORNL-Soil_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_3x3min_MODIS-wCsp_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_3x3min_GLOBE-Gardner_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne120np4.pg2_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg2/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne120np4.pg2_nomask_aave_da_c200426.nc - + - + -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_0.5x0.5_MODIS_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_5x5min_ORNL-Soil_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_10x10min_IGBPmergeICESatGIS_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_0.25x0.25_MODIS_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_10x10min_nomask_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_1km-merge-10min_HYDRO1K-merge-nomask_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_3x3min_MODIS-wCsp_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_360x720cru_cruncep_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_3x3min_LandScan2004_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_0.5x0.5_AVHRR_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_3x3min_USGS_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_3x3min_GLOBE-Gardner-mergeGIS_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_3x3min_GLOBE-Gardner_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_0.9x1.25_GRDC_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_5x5min_IGBP-GSDP_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_5x5min_ISRIC-WISE_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_5x5min_nomask_to_ne120np4.pg3_nomask_aave_da_c200426.nc -lnd/clm2/mappingdata/maps/ne120np4.pg3/map_3x3min_MODISv2_to_ne120np4.pg3_nomask_aave_da_c200426.nc - + diff --git a/cime_config/config_component.xml b/cime_config/config_component.xml index d2c6e8812f..ceb6d79728 100644 --- a/cime_config/config_component.xml +++ b/cime_config/config_component.xml @@ -289,9 +289,11 @@ - char - ABBY,CLBJ,HARV,NIWO,ORNL,SCBI,SRER,TOOL,WOOD,YELL, - BONA,CPER,KONZ,ONAQ,OSBS,SJER,TALL,UNDE,WREF + char + + ABBY,BLAN,CPER,DEJU,GRSM,HEAL,KONA,LENO,NIWO,ONAQ,PUUM,SERC,SRER,TALL,TREE,WOOD, + BARR,BONA,DCFS,DELA,GUAN,JERC,KONZ,MLBS,NOGP,ORNL,RMNP,SJER,STEI,TEAK,UKFS,WREF, + BART,CLBJ,DSNY,HARV,JORN,LAJA,MOAB,OAES,OSBS,SCBI,SOAP,STER,TOOL,UND,YELL run_component_ctsm From a0d8de2a521ef36501376aeaaeb4737288432bfc Mon Sep 17 00:00:00 2001 From: Jim Edwards Date: Fri, 16 Apr 2021 09:20:44 -0600 Subject: [PATCH 21/82] add a newline --- cime_config/usermods_dirs/NEON/defaults/user_nl_clm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cime_config/usermods_dirs/NEON/defaults/user_nl_clm b/cime_config/usermods_dirs/NEON/defaults/user_nl_clm index 4e21621e2e..7e3e373eff 100644 --- a/cime_config/usermods_dirs/NEON/defaults/user_nl_clm +++ b/cime_config/usermods_dirs/NEON/defaults/user_nl_clm @@ -18,4 +18,4 @@ ! Set glc_do_dynglacier with GLC_TWO_WAY_COUPLING env variable !---------------------------------------------------------------------------------- -fsurdat = "lnd/clm2/surfdata_map/NEON/surfdata_hist_16pfts_Irrig_CMIP6_simyr2000_${NEONSITE}_c210415.nc" \ No newline at end of file +fsurdat = "lnd/clm2/surfdata_map/NEON/surfdata_hist_16pfts_Irrig_CMIP6_simyr2000_${NEONSITE}_c210415.nc" From c8257bac1192660a92ebdc9f8e48d488ad204d48 Mon Sep 17 00:00:00 2001 From: Negin Sobhani Date: Fri, 16 Apr 2021 15:39:08 -0600 Subject: [PATCH 22/82] saving some changes --- tools/contrib/singlept | 45 +++++++++++++++++++----------------------- 1 file changed, 20 insertions(+), 25 deletions(-) diff --git a/tools/contrib/singlept b/tools/contrib/singlept index 677ceb51f9..367b042b04 100755 --- a/tools/contrib/singlept +++ b/tools/contrib/singlept @@ -18,6 +18,7 @@ import argparse import numpy as np import xarray as xr +from datetime import date from getpass import getuser from argparse import ArgumentParser, ArgumentDefaultsHelpFormatter @@ -42,34 +43,34 @@ def get_parser(): required=False, type = plon_type, default= 287.8 ) - parser.add_argument('--domain', + parser.add_argument('--create_domain', help='Flag for creating CLM domain file at single point.', action="store", dest="create_domain", required = False, type = bool, - default = True) - parser.add_argument('--surface', + default = False) + parser.add_argument('--create_surface', help='Flag for creating surface data file at single point.', action="store", dest="create_surfdata", required = False, type = bool, default = True) - parser.add_argument('--landuse', - help='Flag for creating landuse data file at single point.', + parser.add_argument('--create_landuse', + help='Flag for creating landuse time-series data file at single point.', action="store", dest="create_landuse", required = False, type = bool, - default = True) - parser.add_argument('--datm', + default = False) + parser.add_argument('--create_datm', help='Flag for creating DATM atmospheric forcing data at single point.', action="store", dest="create_datm", required = False, type = bool, - default = False) + default = True) parser.add_argument('--datm_syr', help='Start year for creating DATM atmospheric forcing at single point.', action="store", @@ -251,7 +252,7 @@ class SinglePointCase : def create_landuse_at_point (self): print( "Open: "+self.fluse ) f1 = xr.open_dataset(self.fluse) - print (f1) + #print (f1) # create 1d variables lon0=np.asarray(f1['LONGXY'][0,:]) lon=xr.DataArray(lon0,name='lon',dims='lsmlon',coords={'lsmlon':lon0}) @@ -261,8 +262,6 @@ class SinglePointCase : f2=f1.assign() f2['lon'] = lon f2['lat'] = lat - print ("lat : ", lat) - print ("lon : ", lon) # extract gridcell closest to plon/plat f3 = f2.sel(lsmlon=self.plon,lsmlat=self.plat,method='nearest') @@ -460,17 +459,10 @@ def AddTagToFilename(filename, tag): if ( (basename[cend] != ".") and (basename[cend] != "_") ): error( "Trouble figuring out where to add tag to filename:"+filename ) return( basename[:cend]+"_"+tag+basename[cend:] ) - - - - def main (): - - - ''' #------------------------------------------------------------------# #--------------------- Instructions -----------------------------# @@ -526,7 +518,7 @@ def main (): #-- Setup by default to run for Harvard Forest #-- Specify point to extract - plon = args.plon + plon = args.plon plat = args.plat #-- Create regional CLM domain file @@ -542,8 +534,6 @@ def main (): crop_flag = args.crop_flag - - #-- Modify landunit structure overwrite_single_pft = True dominant_pft = 7 #BETr @@ -559,10 +549,9 @@ def main (): single_point.uniform_snowpack = uniform_snowpack single_point.no_saturation_excess = no_saturation_excess single_point.create_tag() - print (single_point) - log_file = "/glade/scratch/negins/ctsm_singlept/tools/contrib/log.file" + log_file = "/glade/scratch/negins/ctsm_singlept/tools/contrib/singlept.log" # create dir if it does not exist log_dir = os.path.dirname(log_file) if not os.path.exists(log_dir): @@ -577,16 +566,22 @@ def main (): print("User = "+myname) print("Current directory = "+pwd) + import platform + print(platform.python_version()) + if crop_flag: num_pft = "78" else: num_pft = "16" - print(' crop_flag = '+ crop_flag.__str__()+ ' num_pft ='+ num_pft) - + print ('----------------------------------------------------------') + print (' SINGLE CASE SETUP ') + print ('----------------------------------------------------------') + print (single_point) + print(' crop_flag = '+ crop_flag.__str__()+ ' num_pft ='+ num_pft) #-- Set input and output filenames #-- Specify input and output directories dir_output='/glade/scratch/'+myname+'/single_point_negin/' From 993941dbf12e33e90ff7c641d77da94ebb64cbf7 Mon Sep 17 00:00:00 2001 From: Negin Sobhani Date: Fri, 16 Apr 2021 15:39:47 -0600 Subject: [PATCH 23/82] adding some site-specific information. --- tools/contrib/singlept | 87 ++++++++++++++++++++++++++++++++++-------- 1 file changed, 71 insertions(+), 16 deletions(-) diff --git a/tools/contrib/singlept b/tools/contrib/singlept index 367b042b04..e7290bf958 100755 --- a/tools/contrib/singlept +++ b/tools/contrib/singlept @@ -43,6 +43,13 @@ def get_parser(): required=False, type = plon_type, default= 287.8 ) + parser.add_argument('--site', + help='Site name or tag', + action="store", + dest="site_name", + required = False, + type = str, + default = '') parser.add_argument('--create_domain', help='Flag for creating CLM domain file at single point.', action="store", @@ -58,7 +65,7 @@ def get_parser(): type = bool, default = True) parser.add_argument('--create_landuse', - help='Flag for creating landuse time-series data file at single point.', + help='Flag for creating landuse data file at single point.', action="store", dest="create_landuse", required = False, @@ -70,7 +77,7 @@ def get_parser(): dest="create_datm", required = False, type = bool, - default = True) + default = False) parser.add_argument('--datm_syr', help='Start year for creating DATM atmospheric forcing at single point.', action="store", @@ -90,6 +97,12 @@ def get_parser(): action="store_false", dest="crop_flag", default=True) + parser.add_argument('--dompft', + help='Dominant PFT type', + action="store", + dest="dom_pft", + type =int, + default=7) return parser def plat_type(x): @@ -252,7 +265,7 @@ class SinglePointCase : def create_landuse_at_point (self): print( "Open: "+self.fluse ) f1 = xr.open_dataset(self.fluse) - #print (f1) + print (f1) # create 1d variables lon0=np.asarray(f1['LONGXY'][0,:]) lon=xr.DataArray(lon0,name='lon',dims='lsmlon',coords={'lsmlon':lon0}) @@ -262,6 +275,8 @@ class SinglePointCase : f2=f1.assign() f2['lon'] = lon f2['lat'] = lat + print ("lat : ", lat) + print ("lon : ", lon) # extract gridcell closest to plon/plat f3 = f2.sel(lsmlon=self.plon,lsmlat=self.plat,method='nearest') @@ -324,6 +339,22 @@ class SinglePointCase : # specify dimension order #f3 = f3.transpose(u'time', u'cft', u'natpft', u'lsmlat', u'lsmlon') f3 = f3.transpose(u'time', u'cft', u'lsmpft', u'natpft', u'nglcec', u'nglcecp1', u'nlevsoi', u'nlevurb', u'numrad', u'numurbl', 'lsmlat', 'lsmlon') + attrs_list = f3.attrs + for attr in list(attrs_list): + print (attr) + #del(f3.attrs[attr]) + today = date.today() + today_string = today.strftime("%d/%m/%Y") + f3.attrs['Created_on'] = today_string + f3.attrs['Created_by'] = "negins" + f3.attrs['Created_from'] = self.fsurf + f3.attrs['Created_with'] = "/glade/scratch/negins/ctsm_singlept/tools/contrib/singlept.py" + del(f3.attrs['History_Log']) + del(f3.attrs['Logname']) + del(f3.attrs['Version']) + del(f3.attrs['Host']) + del(f3.attrs['Compiler_Optimized']) + # mode 'w' overwrites file f3.to_netcdf(path=self.fsurf2, mode='w') print('created file (fsurf2)'+self.fsurf2) @@ -453,16 +484,40 @@ def AddTagToFilename(filename, tag): print (filename) print (tag) basename = os.path.basename(filename) + print ("basename : " ,basename) cend = -10 + print ("the end: ", basename[cend:]) if ( basename[cend] == "c" ): cend = cend - 1 if ( (basename[cend] != ".") and (basename[cend] != "_") ): error( "Trouble figuring out where to add tag to filename:"+filename ) return( basename[:cend]+"_"+tag+basename[cend:] ) + + +def add_tag_to_surf_filename(filename, tag, site): + "Add a tag to a filename" + # Expects file to end with [._]cYYMMDD.nc or [._]YYMMDD.nc + # Add the tag to just before that ending part + print (filename) + print (tag) + basename = os.path.basename(filename) + print ("basename : " ,basename) + items = basename.split('_') + + today = date.today() + today_string = today.strftime("%y%m%d") + new_string = items[0]+"_"+items[2]+"_"+items[3]+"_"+items[4]+"_"+items[5]+"_"+items[6]+"_"+site+"_c"+today_string+".nc" + print (new_string) + return( new_string) + + def main (): + + + ''' #------------------------------------------------------------------# #--------------------- Instructions -----------------------------# @@ -518,7 +573,7 @@ def main (): #-- Setup by default to run for Harvard Forest #-- Specify point to extract - plon = args.plon + plon = args.plon plat = args.plat #-- Create regional CLM domain file @@ -534,9 +589,14 @@ def main (): crop_flag = args.crop_flag + site_name = args.site_name + #-- Modify landunit structure overwrite_single_pft = True - dominant_pft = 7 #BETr + #dominant_pft = 7 #BETr + dominant_pft = args.dom_pft + print ("dominant_pft;",dominant_pft) + print (type(dominant_pft)) zero_nonveg_landunits= True uniform_snowpack = True no_saturation_excess = True @@ -549,9 +609,10 @@ def main (): single_point.uniform_snowpack = uniform_snowpack single_point.no_saturation_excess = no_saturation_excess single_point.create_tag() + print (single_point) - log_file = "/glade/scratch/negins/ctsm_singlept/tools/contrib/singlept.log" + log_file = "/glade/scratch/negins/ctsm_singlept/tools/contrib/log.file" # create dir if it does not exist log_dir = os.path.dirname(log_file) if not os.path.exists(log_dir): @@ -566,25 +627,19 @@ def main (): print("User = "+myname) print("Current directory = "+pwd) - import platform - print(platform.python_version()) - if crop_flag: num_pft = "78" else: num_pft = "16" - print ('----------------------------------------------------------') - print (' SINGLE CASE SETUP ') - print ('----------------------------------------------------------') - print (single_point) + print(' crop_flag = '+ crop_flag.__str__()+ ' num_pft ='+ num_pft) + - print(' crop_flag = '+ crop_flag.__str__()+ ' num_pft ='+ num_pft) #-- Set input and output filenames #-- Specify input and output directories - dir_output='/glade/scratch/'+myname+'/single_point_negin/' + dir_output='/glade/scratch/'+myname+'/neon_surfdata_for_Jim_metadata/' if ( not os.path.isdir( dir_output ) ): os.mkdir( dir_output ) @@ -612,7 +667,7 @@ def main (): #-- Specify surface data file -------------------------------- fsurf = dir_inputdata+'lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_0.9x1.25_hist_16pfts_Irrig_CMIP6_simyr2000_c190214.nc' - fsurf2 = dir_output + AddTagToFilename( fsurf, single_point.tag ) + fsurf2 = dir_output + add_tag_to_surf_filename( fsurf, single_point.tag ,site_name) single_point.fsurf = fsurf single_point.fsurf2 = fsurf2 From 13b2956dc9cd6bd5e5391d698205f60179a69dae Mon Sep 17 00:00:00 2001 From: Negin Sobhani Date: Tue, 20 Apr 2021 12:35:26 -0600 Subject: [PATCH 24/82] quick commit. --- tools/contrib/singlept | 1 - 1 file changed, 1 deletion(-) diff --git a/tools/contrib/singlept b/tools/contrib/singlept index e7290bf958..64a17e45fa 100755 --- a/tools/contrib/singlept +++ b/tools/contrib/singlept @@ -517,7 +517,6 @@ def main (): - ''' #------------------------------------------------------------------# #--------------------- Instructions -----------------------------# From deb2a6326ad61d96641ef3ce39a4a10e476a0617 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Tue, 20 Apr 2021 14:51:39 -0600 Subject: [PATCH 25/82] Add a test for one of the NEON sites ABBY, NEON user_nl_clm needed the DIN_LOC_ROOT env variable at the start of the filename, add a perl subroutine to convert up to two user_nl_clm files into a namelist that can be read --- bld/unit_testers/build-namelist_test.pl | 75 ++++++++++++++++++- cime_config/testdefs/testlist_clm.xml | 9 +++ .../usermods_dirs/NEON/defaults/user_nl_clm | 2 +- 3 files changed, 84 insertions(+), 2 deletions(-) diff --git a/bld/unit_testers/build-namelist_test.pl b/bld/unit_testers/build-namelist_test.pl index 56bf61a387..8d45f8663d 100755 --- a/bld/unit_testers/build-namelist_test.pl +++ b/bld/unit_testers/build-namelist_test.pl @@ -84,6 +84,36 @@ sub make_config_cache { $fh->close(); } +sub cat_and_expand_vars { +# +# Concatenate the user_nl_clm files together and expand any environment variables in them +# + my ($file1, $file2, $outfile) = @_; + + my $fh = IO::File->new($file1, '<') or die "can't open file: $file1"; + my $outfh = IO::File->new($outfile, '>') or die "can't open file: $outfile"; + print $outfh "&clm_settings\n\n"; + while ( my $line = <$fh> ) { + # Need to repeat this line for each env variable that might be in the line... + $line =~ s/\$\{?(\w+)\}?/$ENV{$1}/; + $line =~ s/\$\{?(\w+)\}?/$ENV{$1}/; + print $outfh " $line"; + } + $fh->close(); + if ( defined($file2) ) { + my $fh = IO::File->new($file2, '<') or die "can't open file: $file2"; + while ( my $line = <$fh> ) { + # Need to repeat this line for each env variable that might be in the line... + $line =~ s/\$\{?(\w+)\}?/$ENV{$1}/; + $line =~ s/\$\{?(\w+)\}?/$ENV{$1}/; + print $outfh " $line"; + } + } + print $outfh "\n/\n"; + $fh->close(); + $outfh->close(); +} + # # Process command-line options. # @@ -138,7 +168,7 @@ sub make_config_cache { # # Figure out number of tests that will run # -my $ntests = 1551; +my $ntests = 1555; if ( defined($opts{'compare'}) ) { $ntests += 1044; } @@ -323,6 +353,49 @@ sub make_config_cache { } &cleanup(); } +print "\n===============================================================================\n"; +print "Test the NEON sites\n"; +print "=================================================================================\n"; +my $phys = "clm5_1"; +$mode = "-phys $phys"; +&make_config_cache($phys); +foreach my $site ( "ABBY" ) { + &make_env_run(); + # + # Concatonate default usermods and specific sitetogether expanding env variables while doing that + # + my $neondir = "../../cime_config/usermods_dirs/NEON"; + if ( ! -d "$neondir/$site" ) { + die "ERROR:: NEON site does not exist\n"; + } + my $neondefaultfile = "$neondir/defaults/user_nl_clm"; + my $neonsitefile = "$neondir/$site/user_nl_clm"; + if ( ! -f $neonsitefile ) { + $neonsitefile = undef; + } + $ENV{'NEONSITE'} = $site; + my $namelistfile = "temp.namelistinfile"; + &cat_and_expand_vars( $neondefaultfile, $neonsitefile, $namelistfile ); + # + # Now run the site + # + my $options = "-res CLM_USRDAT -clm_usr_name NEON -no-megan -bgc bgc -sim_year 2000 -infile $namelistfile"; + eval{ system( "$bldnml -envxml_dir . $options > $tempfile 2>&1 " ); }; + is( $@, '', "options: $options" ); + $cfiles->checkfilesexist( "$options", $mode ); + $cfiles->shownmldiff( "default", $mode ); + if ( defined($opts{'compare'}) ) { + $cfiles->doNOTdodiffonfile( "$tempfile", "$options", $mode ); + $cfiles->dodiffonfile( "lnd_in", "$options", $mode ); + $cfiles->dodiffonfile( "$real_par_file", "$options", $mode ); + $cfiles->comparefiles( "$options", $mode, $opts{'compare'} ); + } + if ( defined($opts{'generate'}) ) { + $cfiles->copyfiles( "$options", $mode ); + } + system( "/bin/rm $namelistfile" ); + &cleanup(); +} print "\n===============================================================================\n"; print "Test some CAM specific setups for special grids \n"; diff --git a/cime_config/testdefs/testlist_clm.xml b/cime_config/testdefs/testlist_clm.xml index c775ea4b8d..054a4bf816 100644 --- a/cime_config/testdefs/testlist_clm.xml +++ b/cime_config/testdefs/testlist_clm.xml @@ -1672,6 +1672,15 @@ + + + + + + + + + diff --git a/cime_config/usermods_dirs/NEON/defaults/user_nl_clm b/cime_config/usermods_dirs/NEON/defaults/user_nl_clm index 7e3e373eff..7d839a8db8 100644 --- a/cime_config/usermods_dirs/NEON/defaults/user_nl_clm +++ b/cime_config/usermods_dirs/NEON/defaults/user_nl_clm @@ -18,4 +18,4 @@ ! Set glc_do_dynglacier with GLC_TWO_WAY_COUPLING env variable !---------------------------------------------------------------------------------- -fsurdat = "lnd/clm2/surfdata_map/NEON/surfdata_hist_16pfts_Irrig_CMIP6_simyr2000_${NEONSITE}_c210415.nc" +fsurdat = "$DIN_LOC_ROOT/lnd/clm2/surfdata_map/NEON/surfdata_hist_16pfts_Irrig_CMIP6_simyr2000_${NEONSITE}_c210415.nc" From 9db9ce1ec77e57793fdf3bcc10ff5172a996e07a Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Tue, 20 Apr 2021 14:59:33 -0600 Subject: [PATCH 26/82] Remove env variable conversion for as already inside of build-namelist --- bld/unit_testers/build-namelist_test.pl | 6 ------ 1 file changed, 6 deletions(-) diff --git a/bld/unit_testers/build-namelist_test.pl b/bld/unit_testers/build-namelist_test.pl index 8d45f8663d..b6fe4dbba7 100755 --- a/bld/unit_testers/build-namelist_test.pl +++ b/bld/unit_testers/build-namelist_test.pl @@ -94,18 +94,12 @@ sub cat_and_expand_vars { my $outfh = IO::File->new($outfile, '>') or die "can't open file: $outfile"; print $outfh "&clm_settings\n\n"; while ( my $line = <$fh> ) { - # Need to repeat this line for each env variable that might be in the line... - $line =~ s/\$\{?(\w+)\}?/$ENV{$1}/; - $line =~ s/\$\{?(\w+)\}?/$ENV{$1}/; print $outfh " $line"; } $fh->close(); if ( defined($file2) ) { my $fh = IO::File->new($file2, '<') or die "can't open file: $file2"; while ( my $line = <$fh> ) { - # Need to repeat this line for each env variable that might be in the line... - $line =~ s/\$\{?(\w+)\}?/$ENV{$1}/; - $line =~ s/\$\{?(\w+)\}?/$ENV{$1}/; print $outfh " $line"; } } From fcf7f656bae95b6fca186060ff654e96efcb5bed Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Tue, 20 Apr 2021 16:51:09 -0600 Subject: [PATCH 27/82] Test all of the NEON sites, and change the name of subroutine to create the namelist infile, as well as give the site name in the namelist file, so there will be seperate lnd_in files for each site --- bld/unit_testers/build-namelist_test.pl | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/bld/unit_testers/build-namelist_test.pl b/bld/unit_testers/build-namelist_test.pl index b6fe4dbba7..d77917410c 100755 --- a/bld/unit_testers/build-namelist_test.pl +++ b/bld/unit_testers/build-namelist_test.pl @@ -84,9 +84,10 @@ sub make_config_cache { $fh->close(); } -sub cat_and_expand_vars { +sub cat_and_create_namelistinfile { # -# Concatenate the user_nl_clm files together and expand any environment variables in them +# Concatenate the user_nl_clm files together and turn it into a namelist input file +# that can be read in by build-namelist # my ($file1, $file2, $outfile) = @_; @@ -162,9 +163,9 @@ sub cat_and_expand_vars { # # Figure out number of tests that will run # -my $ntests = 1555; +my $ntests = 1739; if ( defined($opts{'compare'}) ) { - $ntests += 1044; + $ntests += 1185; } plan( tests=>$ntests ); @@ -353,14 +354,21 @@ sub cat_and_expand_vars { my $phys = "clm5_1"; $mode = "-phys $phys"; &make_config_cache($phys); -foreach my $site ( "ABBY" ) { +foreach my $site ( "ABBY", "BLAN", "CPER", "DEJU", "GRSM", "HEAL", "KONA", "LENO", "NIWO", + "ONAQ", "PUUM", "SERC", "SRER", "TALL", "TREE", "WOOD", "BARR", "BONA", + "DCFS", "DELA", "GUAN", "JERC", "KONZ", "MLBS", "NOGP", "ORNL", "RMNP", + "SJER", "STEI", "TEAK", "UKFS", "WREF", "BART", "CLBJ", "DSNY", "HARV", + "JORN", "LAJA", "MOAB", "OAES", "OSBS", "SCBI", "SOAP", "STER", "TOOL", + "UNDE", "YELL" + ) { &make_env_run(); # # Concatonate default usermods and specific sitetogether expanding env variables while doing that # my $neondir = "../../cime_config/usermods_dirs/NEON"; if ( ! -d "$neondir/$site" ) { - die "ERROR:: NEON site does not exist\n"; + print "NEON directory is not there: $neondir/$site\n"; + die "ERROR:: NEON site does not exist: $site\n"; } my $neondefaultfile = "$neondir/defaults/user_nl_clm"; my $neonsitefile = "$neondir/$site/user_nl_clm"; @@ -368,8 +376,8 @@ sub cat_and_expand_vars { $neonsitefile = undef; } $ENV{'NEONSITE'} = $site; - my $namelistfile = "temp.namelistinfile"; - &cat_and_expand_vars( $neondefaultfile, $neonsitefile, $namelistfile ); + my $namelistfile = "temp.namelistinfile_$site"; + &cat_and_create_namelistinfile( $neondefaultfile, $neonsitefile, $namelistfile ); # # Now run the site # From 4460069244c5c73fa74d05c2d0dedf059200f795 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Tue, 20 Apr 2021 16:51:48 -0600 Subject: [PATCH 28/82] Correct one of the site names --- cime_config/config_component.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cime_config/config_component.xml b/cime_config/config_component.xml index ceb6d79728..f1a57c8da0 100644 --- a/cime_config/config_component.xml +++ b/cime_config/config_component.xml @@ -293,7 +293,7 @@ ABBY,BLAN,CPER,DEJU,GRSM,HEAL,KONA,LENO,NIWO,ONAQ,PUUM,SERC,SRER,TALL,TREE,WOOD, BARR,BONA,DCFS,DELA,GUAN,JERC,KONZ,MLBS,NOGP,ORNL,RMNP,SJER,STEI,TEAK,UKFS,WREF, - BART,CLBJ,DSNY,HARV,JORN,LAJA,MOAB,OAES,OSBS,SCBI,SOAP,STER,TOOL,UND,YELL + BART,CLBJ,DSNY,HARV,JORN,LAJA,MOAB,OAES,OSBS,SCBI,SOAP,STER,TOOL,UNDE,YELL run_component_ctsm From 824ced8af0fc0415db83a82631319e7be8fde51b Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Tue, 20 Apr 2021 16:56:59 -0600 Subject: [PATCH 29/82] Add test mod for one of the NEON sites --- .../testdefs/testmods_dirs/clm/NEON_YELL/include_user_mods | 1 + 1 file changed, 1 insertion(+) create mode 100644 cime_config/testdefs/testmods_dirs/clm/NEON_YELL/include_user_mods diff --git a/cime_config/testdefs/testmods_dirs/clm/NEON_YELL/include_user_mods b/cime_config/testdefs/testmods_dirs/clm/NEON_YELL/include_user_mods new file mode 100644 index 0000000000..e04c779efe --- /dev/null +++ b/cime_config/testdefs/testmods_dirs/clm/NEON_YELL/include_user_mods @@ -0,0 +1 @@ +../../../../usermods_dirs/NEON/YELL From a03f6ac76c99cf8e9e93f53adf63b5d99a9dc054 Mon Sep 17 00:00:00 2001 From: Negin Sobhani Date: Tue, 20 Apr 2021 19:17:41 -0600 Subject: [PATCH 30/82] before combining regional class.. --- tools/contrib/singlept | 84 ++++++++++++++++++++++++++++-------------- 1 file changed, 57 insertions(+), 27 deletions(-) diff --git a/tools/contrib/singlept b/tools/contrib/singlept index 64a17e45fa..04ba48f88a 100755 --- a/tools/contrib/singlept +++ b/tools/contrib/singlept @@ -56,7 +56,7 @@ def get_parser(): dest="create_domain", required = False, type = bool, - default = False) + default = True) parser.add_argument('--create_surface', help='Flag for creating surface data file at single point.', action="store", @@ -70,7 +70,7 @@ def get_parser(): dest="create_landuse", required = False, type = bool, - default = False) + default = True) parser.add_argument('--create_datm', help='Flag for creating DATM atmospheric forcing data at single point.', action="store", @@ -213,7 +213,6 @@ class StreamToLogger(object): self.linebuf = '' - class SinglePointCase : """ A case to encapsulate single point cases. @@ -235,23 +234,48 @@ class SinglePointCase : def create_tag(self): self.tag=str(self.plon)+'_'+str(self.plat) + def create_1d_coord(self, filename, lon_varname , lat_varname,x_dim , y_dim ): + """ + lon_varname : variable name that has 2d lon + lat_varname : variable name that has 2d lat + x_dim: dimension name in X -- lon + y_dim: dimension name in Y -- lat + """ + print( "Open inside here: "+filename ) + f1 = xr.open_dataset(filename) + # create 1d coordinate variables to enable sel() method + lon0 = np.asarray(f1[lon_varname][0,:]) + lat0 = np.asarray(f1[lat_varname][:,0]) + lon = xr.DataArray(lon0,name='lon',dims=x_dim,coords={x_dim:lon0}) + lat = xr.DataArray(lat0,name='lat',dims=y_dim,coords={y_dim:lat0}) + # assign() not working on cheyenne + #f2=f1.assign({'lon':lon,'lat':lat}) + f2=f1.assign() + #f2 = f1.copy() + f2['lon'] = lon + f2['lat'] = lat + f2.reset_coords([lon_varname,lat_varname]) + self.f2 = f2 def create_domain_at_point (self): - print( "Open: "+self.fdomain ) - f1 = xr.open_dataset(self.fdomain) + #print( "Open: "+self.fdomain ) + #f1 = xr.open_dataset(self.fdomain) # create 1d coordinate variables to enable sel() method - lon0=np.asarray(f1['xc'][0,:]) - lat0=np.asarray(f1['yc'][:,0]) - lon=xr.DataArray(lon0,name='lon',dims='ni',coords={'ni':lon0}) - lat=xr.DataArray(lat0,name='lat',dims='nj',coords={'nj':lat0}) + #lon0=np.asarray(f1['xc'][0,:]) + #lat0=np.asarray(f1['yc'][:,0]) + #lon=xr.DataArray(lon0,name='lon',dims='ni',coords={'ni':lon0}) + #lat=xr.DataArray(lat0,name='lat',dims='nj',coords={'nj':lat0}) # assign() not working on cheyenne #f2=f1.assign({'lon':lon,'lat':lat}) #f2=f1.assign() - f2 = f1.copy() - f2['lon'] = lon - f2['lat'] = lat - f2.reset_coords(['xc','yc']) + #f2 = f1.copy() + #f2['lon'] = lon + #f2['lat'] = lat + #f2.reset_coords(['xc','yc']) + filename = self.fdomain + self.create_1d_coord(filename, 'xc','yc','ni','nj') # extract gridcell closest to plon/plat + f2 = self.f2 f3 = f2.sel(ni=self.plon,nj=self.plat,method='nearest') # expand dimensions f3 = f3.expand_dims(['nj','ni']) @@ -260,23 +284,28 @@ class SinglePointCase : # mode 'w' overwrites file f3.to_netcdf(path=wfile, mode='w') print('Successfully created file (fdomain2)'+self.fdomain2) - f1.close(); f2.close(); f3.close() + f2.close(); f3.close() + def create_landuse_at_point (self): - print( "Open: "+self.fluse ) - f1 = xr.open_dataset(self.fluse) - print (f1) + #print( "Open: "+self.fluse ) + #f1 = xr.open_dataset(self.fluse) + #print (f1) # create 1d variables - lon0=np.asarray(f1['LONGXY'][0,:]) - lon=xr.DataArray(lon0,name='lon',dims='lsmlon',coords={'lsmlon':lon0}) - lat0=np.asarray(f1['LATIXY'][:,0]) - lat=xr.DataArray(lat0,name='lat',dims='lsmlat',coords={'lsmlat':lat0}) + #lon0=np.asarray(f1['LONGXY'][0,:]) + #lon=xr.DataArray(lon0,name='lon',dims='lsmlon',coords={'lsmlon':lon0}) + #lat0=np.asarray(f1['LATIXY'][:,0]) + #lat=xr.DataArray(lat0,name='lat',dims='lsmlat',coords={'lsmlat':lat0}) #f2=f1.assign({'lon':lon,'lat':lat}) - f2=f1.assign() - f2['lon'] = lon - f2['lat'] = lat - print ("lat : ", lat) - print ("lon : ", lon) + #f2=f1.assign() + #f2['lon'] = lon + #f2['lat'] = lat + #print ("lat : ", lat) + #print ("lon : ", lon) + filename = self.fluse + self.create_1d_coord(filename, 'LONGXY','LATIXY','lsmlon','lsmlat') + print ("Successfully created 1d coord from:", filename) + f2 = self.f2 # extract gridcell closest to plon/plat f3 = f2.sel(lsmlon=self.plon,lsmlat=self.plat,method='nearest') @@ -300,7 +329,8 @@ class SinglePointCase : # mode 'w' overwrites file f3.to_netcdf(path=self.fluse2, mode='w') print('created file (fluse2)'+self.fluse2) - f1.close(); f2.close(); f3.close() + #f1.close(); + f2.close(); f3.close() def create_surfdata_at_point(self): print( "Open: "+self.fsurf ) From 21328ae0ed050ebd65e89c2d96ed941d7a86777b Mon Sep 17 00:00:00 2001 From: Negin Sobhani Date: Wed, 21 Apr 2021 13:42:58 -0600 Subject: [PATCH 31/82] after adding regional class --- tools/contrib/singlept | 716 +++++++++++++++++++++++++++-------------- 1 file changed, 473 insertions(+), 243 deletions(-) diff --git a/tools/contrib/singlept b/tools/contrib/singlept index 04ba48f88a..6de09ec94e 100755 --- a/tools/contrib/singlept +++ b/tools/contrib/singlept @@ -29,80 +29,180 @@ def get_parser(): formatter_class=ArgumentDefaultsHelpFormatter) #parser = ArgumentParser(description='Setting the flags for running ./singlept script.') ## Add information about if this is optional and default - parser.add_argument('--lat', + subparsers = parser.add_subparsers(help='Two possible ways to run this sript', dest ='run_type') + sp_parser = subparsers.add_parser('sp', help = 'Run script for a single point') + rg_parser = subparsers.add_parser('reg', help = 'Run script for a region') + + + sp_parser.add_argument('--lat', help='Single point latitude.', action="store", dest="plat", required=False, type = plat_type, default=42.5) - parser.add_argument('--lon', + sp_parser.add_argument('--lon', help='Single point longitude.', action="store", dest="plon", required=False, type = plon_type, default= 287.8 ) - parser.add_argument('--site', + sp_parser.add_argument('--site', help='Site name or tag', action="store", dest="site_name", required = False, type = str, default = '') - parser.add_argument('--create_domain', + sp_parser.add_argument('--create_domain', help='Flag for creating CLM domain file at single point.', action="store", dest="create_domain", required = False, type = bool, default = True) - parser.add_argument('--create_surface', + sp_parser.add_argument('--create_surface', help='Flag for creating surface data file at single point.', action="store", dest="create_surfdata", required = False, type = bool, default = True) - parser.add_argument('--create_landuse', + sp_parser.add_argument('--create_landuse', help='Flag for creating landuse data file at single point.', action="store", dest="create_landuse", required = False, type = bool, default = True) - parser.add_argument('--create_datm', + sp_parser.add_argument('--create_datm', help='Flag for creating DATM atmospheric forcing data at single point.', action="store", dest="create_datm", required = False, type = bool, default = False) - parser.add_argument('--datm_syr', + sp_parser.add_argument('--datm_syr', help='Start year for creating DATM atmospheric forcing at single point.', action="store", dest="datm_syr", required = False, type = int, default = 1901) - parser.add_argument('--datm_eyr', + sp_parser.add_argument('--datm_eyr', + help='End year for creating DATM atmospheric forcing at single point.', + action="store", + dest="datm_eyr", + required = False, + type = int, + default = 2014) + sp_parser.add_argument('--nocrop', + help='Create datasets without the extensive list of prognostic crop types', + action="store_false", + dest="crop_flag", + default=True) + sp_parser.add_argument('--dompft', + help='Dominant PFT type', + action="store", + dest="dom_pft", + type =int, + default=7) + + rg_parser.add_argument('--lat1', + help='Region start latitude.', + action="store", + dest="lat1", + required=False, + type = plat_type, + default=-40) + rg_parser.add_argument('--lat2', + help='Region end latitude.', + action="store", + dest="lat2", + required=False, + type = plat_type, + default=15) + rg_parser.add_argument('--lon1', + help='Region start longitude.', + action="store", + dest="lon1", + required=False, + type = plon_type, + default= 275. ) + rg_parser.add_argument('--lon2', + help='Region end longitude.', + action="store", + dest="lon2", + required=False, + type = plon_type, + default= 330. ) + rg_parser.add_argument('--reg', + help='Region name or tag', + action="store", + dest="reg_name", + required = False, + type = str, + default = '') + rg_parser.add_argument('--create_domain', + help='Flag for creating CLM domain file at single point.', + action="store", + dest="create_domain", + required = False, + type = bool, + default = True) + rg_parser.add_argument('--create_surface', + help='Flag for creating surface data file at single point.', + action="store", + dest="create_surfdata", + required = False, + type = bool, + default = True) + rg_parser.add_argument('--create_landuse', + help='Flag for creating landuse data file at single point.', + action="store", + dest="create_landuse", + required = False, + type = bool, + default = True) + rg_parser.add_argument('--create_datm', + help='Flag for creating DATM atmospheric forcing data at single point.', + action="store", + dest="create_datm", + required = False, + type = bool, + default = False) + rg_parser.add_argument('--datm_syr', + help='Start year for creating DATM atmospheric forcing at single point.', + action="store", + dest="datm_syr", + required = False, + type = int, + default = 1901) + + rg_parser.add_argument('--datm_eyr', help='End year for creating DATM atmospheric forcing at single point.', action="store", dest="datm_eyr", required = False, type = int, default = 2014) - parser.add_argument('--nocrop', + rg_parser.add_argument('--nocrop', help='Create datasets without the extensive list of prognostic crop types', action="store_false", dest="crop_flag", default=True) - parser.add_argument('--dompft', + rg_parser.add_argument('--dompft', help='Dominant PFT type', action="store", dest="dom_pft", type =int, default=7) + + + + + return parser def plat_type(x): @@ -213,14 +313,11 @@ class StreamToLogger(object): self.linebuf = '' -class SinglePointCase : +class BaseCase : """ - A case to encapsulate single point cases. + Parent class to SinglePointCase and RegionalCase """ - - def __init__(self,plat, plon, create_domain, create_surfdata, create_landuse, create_datm): - self.plat = plat - self.plon = plon + def __init__(self, create_domain, create_surfdata, create_landuse, create_datm): self.create_domain = create_domain self.create_surfdata = create_surfdata self.create_landuse = create_landuse @@ -228,13 +325,10 @@ class SinglePointCase : def __str__(self): return str(self.__class__) + '\n' + '\n'.join((str(item) + ' = ' + str(self.__dict__[item]) - for item in sorted(self.__dict__)) - ) - - def create_tag(self): - self.tag=str(self.plon)+'_'+str(self.plat) + for item in sorted(self.__dict__))) - def create_1d_coord(self, filename, lon_varname , lat_varname,x_dim , y_dim ): + @staticmethod + def create_1d_coord(filename, lon_varname , lat_varname,x_dim , y_dim ): """ lon_varname : variable name that has 2d lon lat_varname : variable name that has 2d lat @@ -243,11 +337,13 @@ class SinglePointCase : """ print( "Open inside here: "+filename ) f1 = xr.open_dataset(filename) + # create 1d coordinate variables to enable sel() method lon0 = np.asarray(f1[lon_varname][0,:]) lat0 = np.asarray(f1[lat_varname][:,0]) lon = xr.DataArray(lon0,name='lon',dims=x_dim,coords={x_dim:lon0}) lat = xr.DataArray(lat0,name='lat',dims=y_dim,coords={y_dim:lat0}) + # assign() not working on cheyenne #f2=f1.assign({'lon':lon,'lat':lat}) f2=f1.assign() @@ -255,67 +351,51 @@ class SinglePointCase : f2['lon'] = lon f2['lat'] = lat f2.reset_coords([lon_varname,lat_varname]) - self.f2 = f2 + return f2 - def create_domain_at_point (self): - #print( "Open: "+self.fdomain ) - #f1 = xr.open_dataset(self.fdomain) + +class SinglePointCase (BaseCase): + """ + A case to encapsulate single point cases. + """ + + def __init__(self, plat, plon, create_domain, create_surfdata, create_landuse, create_datm): + super().__init__(create_domain, create_surfdata, create_landuse, create_datm) + self.plat = plat + self.plon = plon + + def create_tag(self): + self.tag=str(self.plon)+'_'+str(self.plat) + + def create_domain_at_point (self): + print ("Creating domain file at ", self.plon, self.plat) # create 1d coordinate variables to enable sel() method - #lon0=np.asarray(f1['xc'][0,:]) - #lat0=np.asarray(f1['yc'][:,0]) - #lon=xr.DataArray(lon0,name='lon',dims='ni',coords={'ni':lon0}) - #lat=xr.DataArray(lat0,name='lat',dims='nj',coords={'nj':lat0}) - # assign() not working on cheyenne - #f2=f1.assign({'lon':lon,'lat':lat}) - #f2=f1.assign() - #f2 = f1.copy() - #f2['lon'] = lon - #f2['lat'] = lat - #f2.reset_coords(['xc','yc']) - filename = self.fdomain - self.create_1d_coord(filename, 'xc','yc','ni','nj') + f2 = self.create_1d_coord(self.fdomain_in, 'xc','yc','ni','nj') # extract gridcell closest to plon/plat - f2 = self.f2 f3 = f2.sel(ni=self.plon,nj=self.plat,method='nearest') # expand dimensions f3 = f3.expand_dims(['nj','ni']) - - wfile=self.fdomain2 + + wfile=self.fdomain_out # mode 'w' overwrites file f3.to_netcdf(path=wfile, mode='w') - print('Successfully created file (fdomain2)'+self.fdomain2) + print('Successfully created file (fdomain_out)'+self.fdomain_out) f2.close(); f3.close() def create_landuse_at_point (self): - #print( "Open: "+self.fluse ) - #f1 = xr.open_dataset(self.fluse) - #print (f1) - # create 1d variables - #lon0=np.asarray(f1['LONGXY'][0,:]) - #lon=xr.DataArray(lon0,name='lon',dims='lsmlon',coords={'lsmlon':lon0}) - #lat0=np.asarray(f1['LATIXY'][:,0]) - #lat=xr.DataArray(lat0,name='lat',dims='lsmlat',coords={'lsmlat':lat0}) - #f2=f1.assign({'lon':lon,'lat':lat}) - #f2=f1.assign() - #f2['lon'] = lon - #f2['lat'] = lat - #print ("lat : ", lat) - #print ("lon : ", lon) - filename = self.fluse - self.create_1d_coord(filename, 'LONGXY','LATIXY','lsmlon','lsmlat') - print ("Successfully created 1d coord from:", filename) - f2 = self.f2 + print ("Creating landuse file at ", self.plon, self.plat, ".") + # create 1d coordinate variables to enable sel() method + f2 = self.create_1d_coord(self.fluse_in, 'LONGXY','LATIXY','lsmlon','lsmlat') # extract gridcell closest to plon/plat f3 = f2.sel(lsmlon=self.plon,lsmlat=self.plat,method='nearest') - # expand dimensions f3 = f3.expand_dims(['lsmlat','lsmlon']) # specify dimension order #f3 = f3.transpose('time','lat','lon') f3 = f3.transpose(u'time', u'cft', u'natpft', u'lsmlat', u'lsmlon') #f3['YEAR'] = f3['YEAR'].squeeze() - + # revert expand dimensions of YEAR year = np.squeeze(np.asarray(f3['YEAR'])) print (year) @@ -323,28 +403,18 @@ class SinglePointCase : x.attrs['units']='unitless' x.attrs['long_name']='Year of PFT data' f3['YEAR'] = x - #print(x) - #print(f3) - #stop + + wfile = self.luse_out # mode 'w' overwrites file - f3.to_netcdf(path=self.fluse2, mode='w') - print('created file (fluse2)'+self.fluse2) - #f1.close(); + f3.to_netcdf(path=wfile, mode='w') + print('Successfully created file (luse_out)'+self.fluse_out,".") f2.close(); f3.close() def create_surfdata_at_point(self): - print( "Open: "+self.fsurf ) - f1 = xr.open_dataset(self.fsurf) - # create 1d variables - lon0=np.asarray(f1['LONGXY'][0,:]) - lon=xr.DataArray(lon0,name='lon',dims='lsmlon',coords={'lsmlon':lon0}) - lat0=np.asarray(f1['LATIXY'][:,0]) - lat=xr.DataArray(lat0,name='lat',dims='lsmlat',coords={'lsmlat':lat0}) - #f2=f1.assign({'lon':lon,'lat':lat}) - f2=f1.assign() - #f2 = f1.copy() - f2['lon'] = lon - f2['lat'] = lat + print ("Creating surface dataset file at ", self.plon, self.plat, ".") + # create 1d coordinate variables to enable sel() method + filename = self.fsurf_in + f2 = self.create_1d_coord(filename, 'LONGXY','LATIXY','lsmlon','lsmlat') # extract gridcell closest to plon/plat f3 = f2.sel(lsmlon=self.plon,lsmlat=self.plat,method='nearest') # expand dimensions @@ -377,7 +447,7 @@ class SinglePointCase : today_string = today.strftime("%d/%m/%Y") f3.attrs['Created_on'] = today_string f3.attrs['Created_by'] = "negins" - f3.attrs['Created_from'] = self.fsurf + f3.attrs['Created_from'] = self.fsurf_in f3.attrs['Created_with'] = "/glade/scratch/negins/ctsm_singlept/tools/contrib/singlept.py" del(f3.attrs['History_Log']) del(f3.attrs['Logname']) @@ -386,9 +456,10 @@ class SinglePointCase : del(f3.attrs['Compiler_Optimized']) # mode 'w' overwrites file - f3.to_netcdf(path=self.fsurf2, mode='w') - print('created file (fsurf2)'+self.fsurf2) - f1.close(); f2.close(); f3.close() + f3.to_netcdf(path=self.fsurf_out, mode='w') + print('created file (fsurf_out)'+self.fsurf_out) + #f1.close(); + f2.close(); f3.close() ''' this is buggy; can't re-write a file within the same session # modify new surface data file @@ -413,28 +484,19 @@ class SinglePointCase : f1.close() ''' def create_datmdomain_at_point (self): - print( "Open: "+self.fdatmdomain ) - f1 = xr.open_dataset(self.fdatmdomain) + print ("Creating DATM domain file at ", self.plon, self.plat, ".") # create 1d coordinate variables to enable sel() method - lon0=np.asarray(f1['xc'][0,:]) - lat0=np.asarray(f1['yc'][:,0]) - lon=xr.DataArray(lon0,name='lon',dims='ni',coords={'ni':lon0}) - lat=xr.DataArray(lat0,name='lat',dims='nj',coords={'nj':lat0}) - - #f2=f1.assign({'lon':lon,'lat':lat}) - f2=f1.assign() - f2['lon'] = lon - f2['lat'] = lat - f2.reset_coords(['xc','yc']) + filename = self.fdatmdomain + f2 = self.create_1d_coord(filename, 'xc','yc','ni','nj') # extract gridcell closest to plon/plat f3 = f2.sel(ni=self.plon,nj=self.plat,method='nearest') # expand dimensions f3 = f3.expand_dims(['nj','ni']) - wfile=self.fdatmdomain2 + wfile=self.fdatmdomain_out # mode 'w' overwrites file f3.to_netcdf(path=wfile, mode='w') - print('created file '+self.fdatmdomain2) - f1.close(); f2.close(); f3.close() + print('created file '+self.fdatmdomain_out) + f2.close(); f3.close() def extract_at(self, file_in, file_out): f1 = xr.open_dataset(file_in) @@ -500,6 +562,83 @@ class SinglePointCase : print('datm files written to: '+dir_output_datm) +class RegionalCase (BaseCase): + """ + A case to encapsulate regional cases. + """ + + def __init__(self, lat1, lat2, lon1, lon2, reg_name, create_domain, create_surfdata, create_landuse, create_datm): + super().__init__(create_domain, create_surfdata, create_landuse, create_datm) + self.lat1 = lat1 + self.lat2 = lat2 + self.lon1 = lon1 + self.lon2 = lon2 + self.reg_name = reg_name + + def create_tag(self): + if self.reg_name: + self.tag = self.reg_name + else: + self.tag=str(self.lon1)+'-'+str(self.lon2)+'_'+str(self.lat1)+'-'+str(self.lat2) + + def create_domain_at_reg (self): + #print ("Creating domain file at region", self.lon1+"-"+self.lat2,self.lat1+"-"+self.lat2) + print ("Creating domain file at region:", self.tag) + # create 1d coordinate variables to enable sel() method + f2 = self.create_1d_coord(self.fdomain_in, 'xc','yc','ni','nj') + lat = f2['lat'] + lon = f2['lon'] + # subset longitude and latitude arrays + xind=np.where((lon >= self.lon1) & (lon <= self.lon2))[0] + yind=np.where((lat >= self.lat1) & (lat <= self.lat2))[0] + f3=f2.isel(nj=yind,ni=xind) + + wfile=self.fdomain_out + # mode 'w' overwrites file + f3.to_netcdf(path=wfile, mode='w') + print('Successfully created file (fdomain_out)'+self.fdomain_out) + f2.close(); f3.close() + + + def create_surfdata_at_reg(self): + #print ("Creating surface dataset file at region", self.lon1+"-"+self.lat2,self.lat1+"-"+self.lat2) + print ("Creating surface dataset file at region:", self.tag) + # create 1d coordinate variables to enable sel() method + filename = self.fsurf_in + f2 = self.create_1d_coord(filename, 'LONGXY','LATIXY','lsmlon','lsmlat') + lat = f2['lat'] + lon = f2['lon'] + # subset longitude and latitude arrays + xind=np.where((lon >= self.lon1) & (lon <= self.lon2))[0] + yind=np.where((lat >= self.lat1) & (lat <= self.lat2))[0] + f3=f2.isel(lsmlat=yind,lsmlon=xind) + + # mode 'w' overwrites file + f3.to_netcdf(path=self.fsurf_out, mode='w') + print('created file (fsurf_out)'+self.fsurf_out) + #f1.close(); + f2.close(); f3.close() + + + def create_landuse_at_reg (self): + #print ("Creating surface dataset file at region", self.lon1+"-"+self.lat2,self.lat1+"-"+self.lat2) + print ("Creating surface dataset file at region:",self.tag) + # create 1d coordinate variables to enable sel() method + f2 = self.create_1d_coord(self.fluse_in, 'LONGXY','LATIXY','lsmlon','lsmlat') + lat = f2['lat'] + lon = f2['lon'] + # subset longitude and latitude arrays + xind=np.where((lon >= self.lon1) & (lon <= self.lon2))[0] + yind=np.where((lat >= self.lat1) & (lat <= self.lat2))[0] + f3=f2.isel(lsmlat=yind,lsmlon=xind) + + wfile=self.fluse_out + # mode 'w' overwrites file + f3.to_netcdf(path=wfile, mode='w') + print('Successfully created file (fdomain_out)'+self.fdomain_out) + f2.close(); f3.close() + + def error( desc ): "error function" @@ -545,8 +684,6 @@ def add_tag_to_surf_filename(filename, tag, site): def main (): - - ''' #------------------------------------------------------------------# #--------------------- Instructions -----------------------------# @@ -596,146 +733,239 @@ def main (): ''' args = get_parser().parse_args() - - # Set control flags - - #-- Setup by default to run for Harvard Forest - - #-- Specify point to extract - plon = args.plon - plat = args.plat - - #-- Create regional CLM domain file - create_domain = args.create_domain - #-- Create CLM surface data file - create_surfdata = args.create_surfdata - #-- Create CLM surface data file - create_landuse = args.create_landuse - #-- Create single point DATM atmospheric forcing data - create_datm = args.create_datm - datm_syr = args.datm_syr - datm_eyr = args.datm_eyr - - crop_flag = args.crop_flag - - site_name = args.site_name - - #-- Modify landunit structure - overwrite_single_pft = True - #dominant_pft = 7 #BETr - dominant_pft = args.dom_pft - print ("dominant_pft;",dominant_pft) - print (type(dominant_pft)) - zero_nonveg_landunits= True - uniform_snowpack = True - no_saturation_excess = True - - - single_point = SinglePointCase(plat, plon, create_domain, create_surfdata, create_landuse, create_datm) - single_point.overwrite_single_pft = overwrite_single_pft - single_point.dominant_pft = dominant_pft - single_point.zero_nonveg_landunits = zero_nonveg_landunits - single_point.uniform_snowpack = uniform_snowpack - single_point.no_saturation_excess = no_saturation_excess - single_point.create_tag() - print (single_point) - - - log_file = "/glade/scratch/negins/ctsm_singlept/tools/contrib/log.file" - # create dir if it does not exist - log_dir = os.path.dirname(log_file) - if not os.path.exists(log_dir): - os.mkdir(log_dir) - - log_level = logging.DEBUG - setup_logging(log_file, log_level) - - print( "singlept script to extract out a single point from the global CTSM inputdata datasets." ) - myname=getuser() - pwd=os.getcwd() - print("User = "+myname) - print("Current directory = "+pwd) - - if crop_flag: - num_pft = "78" - else: - num_pft = "16" - - - print(' crop_flag = '+ crop_flag.__str__()+ ' num_pft ='+ num_pft) - - - - #-- Set input and output filenames - #-- Specify input and output directories - dir_output='/glade/scratch/'+myname+'/neon_surfdata_for_Jim_metadata/' - if ( not os.path.isdir( dir_output ) ): - os.mkdir( dir_output ) - - dir_inputdata='/glade/p/cesmdata/cseg/inputdata/' - dir_clm_forcedata='/glade/p/cgd/tss/CTSM_datm_forcing_data/' - dir_input_datm=dir_clm_forcedata+'/atm_forcing.datm7.GSWP3.0.5d.v1.c170516/' - dir_output_datm=dir_output + 'datmdata/' - if ( not os.path.isdir( dir_output_datm ) ): - os.mkdir( dir_output_datm ) - - - #-- Set time stamp - command='date "+%y%m%d"' - x2=subprocess.Popen(command,stdout=subprocess.PIPE,shell='True') - x=x2.communicate() - timetag = x[0].strip() - print (timetag) - - #-- Specify land domain file --------------------------------- - fdomain = dir_inputdata+'share/domains/domain.lnd.fv0.9x1.25_gx1v7.151020.nc' - fdomain2 = dir_output + AddTagToFilename( fdomain, single_point.tag ) - #SinglePointCase.set_fdomain (fdomain) - single_point.fdomain = fdomain - single_point.fdomain2 = fdomain2 - - #-- Specify surface data file -------------------------------- - fsurf = dir_inputdata+'lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_0.9x1.25_hist_16pfts_Irrig_CMIP6_simyr2000_c190214.nc' - fsurf2 = dir_output + add_tag_to_surf_filename( fsurf, single_point.tag ,site_name) - single_point.fsurf = fsurf - single_point.fsurf2 = fsurf2 - - #-- Specify landuse file ------------------------------------- - fluse = dir_inputdata+'lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_0.9x1.25_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c190214.nc' - fluse2 = dir_output + AddTagToFilename( fluse, single_point.tag ) - single_point.fluse = fluse - single_point.fluse2 = fluse2 - #-- Specify datm domain file --------------------------------- - fdatmdomain = dir_clm_forcedata+'atm_forcing.datm7.GSWP3.0.5d.v1.c170516/domain.lnd.360x720_gswp3.0v1.c170606.nc' - fdatmdomain2 = dir_output_datm+AddTagToFilename( fdatmdomain, single_point.tag ) - single_point.fdatmdomain = fdatmdomain - single_point.fdatmdomain2 = fdatmdomain2 - - #-- Create CTSM domain file - if create_domain: - single_point.create_domain_at_point() - #create_domain_at_point (plat, plon,fdomain , fdomain2 ) - - #-- Create CTSM surface data file - if create_surfdata: - single_point.create_surfdata_at_point() - - #-- Create CTSM transient landuse data file - if create_landuse: - single_point.create_landuse_at_point() - - #-- Create single point atmospheric forcing data - if create_datm: - single_point.create_datmdomain_at_point() - #create_datmdomain_at_point(plat, plon, fdatmdomain, fdatmdomain2) - single_point.datm_syr =datm_syr - single_point.datm_eyr =datm_eyr - single_point.dir_input_datm = dir_input_datm - single_point.dir_output_datm = dir_output_datm - single_point.create_datm_at_point() - - print( "Successfully ran script." ) - + print (args) + + if (args.run_type == "sp"): + print ("Running the script for Single Point.") + elif (args.run_type == "reg"): + print ("Running the script for Regional.") + + + if (args.run_type == "sp"): + + #-- Specify point to extract + plon = args.plon + plat = args.plat + + #-- Create regional CLM domain file + create_domain = args.create_domain + #-- Create CLM surface data file + create_surfdata = args.create_surfdata + #-- Create CLM surface data file + create_landuse = args.create_landuse + #-- Create single point DATM atmospheric forcing data + create_datm = args.create_datm + datm_syr = args.datm_syr + datm_eyr = args.datm_eyr + + crop_flag = args.crop_flag + + site_name = args.site_name + + #-- Modify landunit structure + overwrite_single_pft = True + #dominant_pft = 7 #BETr + dominant_pft = args.dom_pft + print ("dominant_pft;",dominant_pft) + print (type(dominant_pft)) + zero_nonveg_landunits= True + uniform_snowpack = True + no_saturation_excess = True + + + single_point = SinglePointCase(plat, plon, create_domain, create_surfdata, create_landuse, create_datm) + single_point.overwrite_single_pft = overwrite_single_pft + single_point.dominant_pft = dominant_pft + single_point.zero_nonveg_landunits = zero_nonveg_landunits + single_point.uniform_snowpack = uniform_snowpack + single_point.no_saturation_excess = no_saturation_excess + single_point.create_tag() + print (single_point) + + + log_file = "/glade/scratch/negins/ctsm_singlept/tools/contrib/log.file" + # create dir if it does not exist + log_dir = os.path.dirname(log_file) + if not os.path.exists(log_dir): + os.mkdir(log_dir) + + log_level = logging.DEBUG + setup_logging(log_file, log_level) + + print( "singlept script to extract out a single point from the global CTSM inputdata datasets." ) + myname=getuser() + pwd=os.getcwd() + print("User = "+myname) + print("Current directory = "+pwd) + + if crop_flag: + num_pft = "78" + else: + num_pft = "16" + + + print(' crop_flag = '+ crop_flag.__str__()+ ' num_pft ='+ num_pft) + + + + #-- Set input and output filenames + #-- Specify input and output directories + dir_output='/glade/scratch/'+myname+'/neon_surfdata_for_Jim_metadata/' + if ( not os.path.isdir( dir_output ) ): + os.mkdir( dir_output ) + + dir_inputdata='/glade/p/cesmdata/cseg/inputdata/' + dir_clm_forcedata='/glade/p/cgd/tss/CTSM_datm_forcing_data/' + dir_input_datm=dir_clm_forcedata+'/atm_forcing.datm7.GSWP3.0.5d.v1.c170516/' + dir_output_datm=dir_output + 'datmdata/' + if ( not os.path.isdir( dir_output_datm ) ): + os.mkdir( dir_output_datm ) + + + #-- Set time stamp + command='date "+%y%m%d"' + x2=subprocess.Popen(command,stdout=subprocess.PIPE,shell='True') + x=x2.communicate() + timetag = x[0].strip() + print (timetag) + + #-- Specify land domain file --------------------------------- + fdomain_in = dir_inputdata+'share/domains/domain.lnd.fv0.9x1.25_gx1v7.151020.nc' + fdomain_out = dir_output + AddTagToFilename( fdomain_in, single_point.tag ) + #SinglePointCase.set_fdomain (fdomain) + single_point.fdomain_in = fdomain_in + single_point.fdomain_out = fdomain_out + + #-- Specify surface data file -------------------------------- + fsurf_in = dir_inputdata+'lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_0.9x1.25_hist_16pfts_Irrig_CMIP6_simyr2000_c190214.nc' + fsurf_out = dir_output + add_tag_to_surf_filename( fsurf_in, single_point.tag ,site_name) + single_point.fsurf_in = fsurf_in + single_point.fsurf_out = fsurf_out + + #-- Specify landuse file ------------------------------------- + fluse_in = dir_inputdata+'lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_0.9x1.25_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c190214.nc' + fluse_out = dir_output + AddTagToFilename( fluse_in, single_point.tag ) + single_point.fluse_in = fluse_in + single_point.fluse_out = fluse_out + #-- Specify datm domain file --------------------------------- + fdatmdomain_in = dir_clm_forcedata+'atm_forcing.datm7.GSWP3.0.5d.v1.c170516/domain.lnd.360x720_gswp3.0v1.c170606.nc' + fdatmdomain_out = dir_output_datm+AddTagToFilename( fdatmdomain_in, single_point.tag ) + single_point.fdatmdomain = fdatmdomain_in + single_point.fdatmdomain2 = fdatmdomain_out + + #-- Create CTSM domain file + if create_domain: + single_point.create_domain_at_point() + + #-- Create CTSM surface data file + if create_surfdata: + single_point.create_surfdata_at_point() + + #-- Create CTSM transient landuse data file + if create_landuse: + single_point.create_landuse_at_point() + + #-- Create single point atmospheric forcing data + if create_datm: + single_point.create_datmdomain_at_point() + #create_datmdomain_at_point(plat, plon, fdatmdomain, fdatmdomain2) + single_point.datm_syr =datm_syr + single_point.datm_eyr =datm_eyr + single_point.dir_input_datm = dir_input_datm + single_point.dir_output_datm = dir_output_datm + single_point.create_datm_at_point() + + print( "Successfully ran script for single point." ) + + elif (args.run_type == "reg"): + print ("running the script for the region") + #-- Specify region to extract + lat1 = args.lat1 + lat2 = args.lat2 + + lon1 = args.lon1 + lon2 = args.lon2 + + #-- Create regional CLM domain file + create_domain = args.create_domain + #-- Create CLM surface data file + create_surfdata = args.create_surfdata + #-- Create CLM surface data file + create_landuse = args.create_landuse + #-- Create DATM atmospheric forcing data + create_datm = args.create_datm + + crop_flag = args.crop_flag + + reg_name = args.reg_name + + region = RegionalCase(lat1, lat2, lon1, lon2, reg_name, create_domain, create_surfdata, create_landuse, create_datm) + + print (region) + + myname=getuser() + pwd=os.getcwd() + print("User = "+myname) + print("Current directory = "+pwd) + + if crop_flag: + num_pft = "78" + else: + num_pft = "16" + + + print(' crop_flag = '+ crop_flag.__str__()+ ' num_pft ='+ num_pft) + + + region.create_tag() + + #-- Set input and output filenames + #-- Specify input and output directories + dir_output='/glade/scratch/'+myname+'/region/' + if ( not os.path.isdir( dir_output ) ): + os.mkdir( dir_output ) + + dir_inputdata='/glade/p/cesmdata/cseg/inputdata/' + dir_clm_forcedata='/glade/p/cgd/tss/CTSM_datm_forcing_data/' + + #-- Set time stamp + command='date "+%y%m%d"' + x2=subprocess.Popen(command,stdout=subprocess.PIPE,shell='True') + x=x2.communicate() + timetag = x[0].strip() + print (timetag) + + #-- Specify land domain file --------------------------------- + fdomain_in = dir_inputdata+'share/domains/domain.lnd.fv1.9x2.5_gx1v7.170518.nc' + fdomain_out = dir_output + 'domain.lnd.fv1.9x2.5_gx1v7.'+region.tag+'_170518.nc' + #SinglePointCase.set_fdomain (fdomain) + region.fdomain_in = fdomain_in + region.fdomain_out = fdomain_out + + #-- Specify surface data file -------------------------------- + fsurf_in = dir_inputdata+'lnd/clm2/surfdata_map/surfdata_1.9x2.5_78pfts_CMIP6_simyr1850_c170824.nc' + fsurf_out = dir_output + 'surfdata_1.9x2.5_78pfts_CMIP6_simyr1850_'+region.tag+'_c170824.nc' + region.fsurf_in = fsurf_in + region.fsurf_out = fsurf_out + + #-- Specify landuse file ------------------------------------- + fluse_in = dir_inputdata+'lnd/clm2/surfdata_map/landuse.timeseries_1.9x2.5_hist_78pfts_CMIP6_simyr1850-2015_c170824.nc' + fluse_out = dir_output + 'landuse.timeseries_1.9x2.5_hist_78pfts_CMIP6_simyr1850-2015_'+region.tag+'.c170824.nc' + region.fluse_in = fluse_in + region.fluse_out = fluse_out + + #-- Create CTSM domain file + if create_domain: + region.create_domain_at_reg() + + #-- Create CTSM surface data file + if create_surfdata: + region.create_surfdata_at_reg() + + #-- Create CTSM transient landuse data file + if create_landuse: + region.create_landuse_at_reg() + print( "Successfully ran script for single point." ) if __name__ == "__main__": main() From bc40b4156996ff7053baf4a5b8059812c7a2a7f0 Mon Sep 17 00:00:00 2001 From: Negin Sobhani Date: Wed, 21 Apr 2021 18:41:53 -0600 Subject: [PATCH 32/82] adding some comments + implementing others' comments. --- tools/contrib/singlept | 593 ++++++++++++++++++++++------------------- 1 file changed, 318 insertions(+), 275 deletions(-) diff --git a/tools/contrib/singlept b/tools/contrib/singlept index 6de09ec94e..54ccbf393c 100755 --- a/tools/contrib/singlept +++ b/tools/contrib/singlept @@ -1,10 +1,73 @@ #! /usr/bin/env python -# -# singlept -# -# Script to extract a single grid point from global datasets -# +""" +|------------------------------------------------------------------| +|--------------------- Instructions -----------------------------| +|------------------------------------------------------------------| +Instructions for running on Cheyenne/Casper: + +load the following into your local environment + module load python + ncar_pylib + +This is the script for extracting single-point or regional surface +dataset, domain file, landuse file, and DATM files from global +datasets. + +------------------------------------------------------------------- +To see the available options for a single point: + ./subset_data point --help + +To see the available options for a region: + ./subset_data reg --help +------------------------------------------------------------------- + +After creating a case using a global compset, run preview_namelist. +From the resulting lnd_in file in the run directory, find the name +of the domain file, and the surface data file. +From the datm streams files (e.g. datm.streams.txt.CLMGSWP3v1.Precip) +find the name of the datm forcing data domain file and forcing files. +Use these file names as the sources for the single point/regional +files to be created (see below). + +After running this script, point to the new CLM domain and surface +dataset using the user_nl_clm file in the case directory. In addition, +copy the datm.streams files to the case directory, with the prefix +'user_', e.g. user_datm.streams.txt.CLMGSWP3v1.Precip. Change the +information in the user_datm.streams* files to point to the single +point datm data (domain and forcing files) created using this script. + +The domain file is not set via user_nl_clm, but requires changing +LND_DOMAIN and ATM_DOMAIN (and their paths) in env_run.xml. + +Using single point forcing data requires specifying the nearest +neighbor mapping algorithm for the datm streams (usually they are +the first three in the list) in user_nl_datm: mapalgo = 'nn','nn','nn', +..., where the '...' can still be 'bilinear', etc, depending on the +other streams that are being used, e.g. aerosols, anomaly forcing, +bias correction. + +The file env_mach_pes.xml should be modified to specify a single +processor. The mpi-serial libraries should also be used, and can be +set in env_build.xml by changing "MPILIB" to "mpi-serial" prior to +setting up the case. + +The case for the single point simulation should have river routing +and land ice models turned off (i.e. the compset should use stub +models SROF and SGLC) + +------------------------------------------------------------------- +To run the script for a single point: + ./subset_data point --help + +To run the script for a region: + ./subset_data reg --help + +To remove NPL from your environment on Cheyenne/Casper: + deactivate +------------------------------------------------------------------- + +""" # Import libraries from __future__ import print_function @@ -22,300 +85,248 @@ from datetime import date from getpass import getuser from argparse import ArgumentParser, ArgumentDefaultsHelpFormatter - -def get_parser(): +def get_parser(): """Get parser object for this script.""" + #parser = ArgumentParser(description=__doc__, + # formatter_class=ArgumentDefaultsHelpFormatter) parser = ArgumentParser(description=__doc__, - formatter_class=ArgumentDefaultsHelpFormatter) - #parser = ArgumentParser(description='Setting the flags for running ./singlept script.') - ## Add information about if this is optional and default - subparsers = parser.add_subparsers(help='Two possible ways to run this sript', dest ='run_type') - sp_parser = subparsers.add_parser('sp', help = 'Run script for a single point') - rg_parser = subparsers.add_parser('reg', help = 'Run script for a region') + formatter_class=argparse.RawDescriptionHelpFormatter) - - sp_parser.add_argument('--lat', - help='Single point latitude.', + subparsers = parser.add_subparsers( + help='Two possible ways to run this sript, either:', + dest ='run_type') + pt_parser = subparsers.add_parser('point', + help = 'Run script for a single point') + rg_parser = subparsers.add_parser('reg', + help = 'Run script for a region') + + + pt_parser.add_argument('--lat', + help='Single point latitude. [default: %(default)s]', action="store", dest="plat", required=False, type = plat_type, default=42.5) - sp_parser.add_argument('--lon', - help='Single point longitude.', + pt_parser.add_argument('--lon', + help='Single point longitude. [default: %(default)s]', action="store", dest="plon", required=False, type = plon_type, default= 287.8 ) - sp_parser.add_argument('--site', - help='Site name or tag', + pt_parser.add_argument('--site', + help='Site name or tag. [default: %(default)s]', action="store", dest="site_name", required = False, type = str, default = '') - sp_parser.add_argument('--create_domain', - help='Flag for creating CLM domain file at single point.', - action="store", + pt_parser.add_argument('--create_domain', + help='Flag for creating CLM domain file at single point. [default: %(default)s]', + action="store_true", dest="create_domain", required = False, - type = bool, default = True) - sp_parser.add_argument('--create_surface', - help='Flag for creating surface data file at single point.', + pt_parser.add_argument('--create_surface', + help='Flag for creating surface data file at single point. [default: %(default)s]', action="store", dest="create_surfdata", required = False, type = bool, default = True) - sp_parser.add_argument('--create_landuse', - help='Flag for creating landuse data file at single point.', + pt_parser.add_argument('--create_landuse', + help='Flag for creating landuse data file at single point. [default: %(default)s]', action="store", dest="create_landuse", required = False, type = bool, default = True) - sp_parser.add_argument('--create_datm', - help='Flag for creating DATM atmospheric forcing data at single point.', + pt_parser.add_argument('--create_datm', + help='Flag for creating DATM forcing data at single point. [default: %(default)s]', action="store", dest="create_datm", required = False, type = bool, default = False) - sp_parser.add_argument('--datm_syr', - help='Start year for creating DATM atmospheric forcing at single point.', + pt_parser.add_argument('--datm_syr', + help='Start year for creating DATM forcing at single point. [default: %(default)s]', action="store", dest="datm_syr", required = False, type = int, default = 1901) - sp_parser.add_argument('--datm_eyr', - help='End year for creating DATM atmospheric forcing at single point.', + pt_parser.add_argument('--datm_eyr', + help='End year for creating DATM forcing at single point. [default: %(default)s]', action="store", dest="datm_eyr", required = False, type = int, default = 2014) - sp_parser.add_argument('--nocrop', - help='Create datasets without the extensive list of prognostic crop types', - action="store_false", + pt_parser.add_argument('--crop', + help='Create datasets using the extensive list of prognostic crop types. [default: %(default)s]', + action="store_true", dest="crop_flag", - default=True) - sp_parser.add_argument('--dompft', - help='Dominant PFT type', + default=False) + pt_parser.add_argument('--dompft', + help='Dominant PFT type . [default: %(default)s] ', action="store", dest="dom_pft", type =int, default=7) + pt_parser.add_argument('--unisnow', + help='Uniform snowpack option. [default: %(default)s]', + action="store", + dest="uni_snow", + type =bool, + default=True) + pt_parser.add_argument('--overwrite_single_pft', + help='Overwrite Signel PFT. [default: %(default)s]', + action="store", + dest="overwrite_single_pft", + type =bool, + default=True) rg_parser.add_argument('--lat1', - help='Region start latitude.', + help='Region start latitude. [default: %(default)s]', action="store", dest="lat1", required=False, type = plat_type, default=-40) rg_parser.add_argument('--lat2', - help='Region end latitude.', + help='Region end latitude. [default: %(default)s]', action="store", dest="lat2", required=False, type = plat_type, default=15) rg_parser.add_argument('--lon1', - help='Region start longitude.', + help='Region start longitude. [default: %(default)s]', action="store", dest="lon1", required=False, type = plon_type, default= 275. ) rg_parser.add_argument('--lon2', - help='Region end longitude.', + help='Region end longitude. [default: %(default)s]', action="store", dest="lon2", required=False, type = plon_type, default= 330. ) rg_parser.add_argument('--reg', - help='Region name or tag', + help='Region name or tag. [default: %(default)s]', action="store", dest="reg_name", required = False, type = str, default = '') rg_parser.add_argument('--create_domain', - help='Flag for creating CLM domain file at single point.', + help='Flag for creating CLM domain file for a region. [default: %(default)s]', action="store", dest="create_domain", required = False, type = bool, default = True) rg_parser.add_argument('--create_surface', - help='Flag for creating surface data file at single point.', + help='Flag for creating surface data file for a region. [default: %(default)s]', action="store", dest="create_surfdata", required = False, type = bool, default = True) rg_parser.add_argument('--create_landuse', - help='Flag for creating landuse data file at single point.', + help='Flag for creating landuse data file for a region. [default: %(default)s]', action="store", dest="create_landuse", required = False, type = bool, default = True) rg_parser.add_argument('--create_datm', - help='Flag for creating DATM atmospheric forcing data at single point.', + help='Flag for creating DATM forcing data for a region. [default: %(default)s]', action="store", dest="create_datm", required = False, type = bool, default = False) rg_parser.add_argument('--datm_syr', - help='Start year for creating DATM atmospheric forcing at single point.', + help='Start year for creating DATM forcing for a region. [default: %(default)s]', action="store", dest="datm_syr", required = False, type = int, default = 1901) - rg_parser.add_argument('--datm_eyr', - help='End year for creating DATM atmospheric forcing at single point.', + help='End year for creating DATM forcing for a region. [default: %(default)s]', action="store", dest="datm_eyr", required = False, type = int, default = 2014) - rg_parser.add_argument('--nocrop', - help='Create datasets without the extensive list of prognostic crop types', - action="store_false", + rg_parser.add_argument('--crop', + help='Create datasets using the extensive list of prognostic crop types. [default: %(default)s]', + action="store_true", dest="crop_flag", - default=True) + default=False) rg_parser.add_argument('--dompft', - help='Dominant PFT type', + help='Dominant PFT type . [default: %(default)s] ', action="store", dest="dom_pft", type =int, default=7) - - - - return parser def plat_type(x): + """ + Function to define lat type for the parser + and + raise error if latitude is not between -90 and 90. + """ x = float(x) if (x < -90) or (x > 90): - raise argparse.ArgumentTypeError("ERROR: Latitude of single point should be between -90 and 90.") + raise argparse.ArgumentTypeError("ERROR: Latitude should be between -90 and 90.") return x def plon_type(x): + """ + Function to define lon type for the parser and + convert negative longitudes and + raise error if lon is not between -180 and 360. + """ x = float(x) + if (-180 < x) and (x < 0): + x= x%360 + print ("khar") if (x < 0) or (x > 360): - raise argparse.ArgumentTypeError("ERROR: Latitude of single point should be between 0 and 360.") + raise argparse.ArgumentTypeError("ERROR: Latitude of single point should be between 0 and 360 or -180 and 180.") return x -def setup_logging(log_path, log_level): - """ - Setup logging to log to console and log file. - - # Log Levels - # ------------ - # CRITICAL 50 - # ERROR 40 - # WARNING 30 - # INFO 20 - # DEBUG 10 - # NOTSET 0 - """ - - root_logger = logging.getLogger() - root_logger.setLevel(log_level) - - # setup log file - one_MB = 1000000 - handler = logging.handlers.RotatingFileHandler( - log_path, maxBytes=(one_MB * 20), backupCount=5) - - fmt = logging.Formatter( - '%(asctime)s %(name)-12s %(levelname)-8s %(message)s', - datefmt='%y-%m-%d %H:%M:%S') - - handler.setFormatter(fmt) - root_logger.addHandler(handler) - - # setup logging to console - strm_hndlr = logging.StreamHandler(sys.stdout) - strm_hndlr.setFormatter(fmt) - root_logger.addHandler(strm_hndlr) - - # redirect stdout/err to log file - StreamToLogger.setup_stdout() - StreamToLogger.setup_stderr() - - - -class StreamToLogger(object): - """ - Custom class to log all stdout and stderr streams. +class BaseCase : """ - def __init__(self, stream, logger, log_level=logging.INFO, - also_log_to_stream=False): - self.logger = logger - self.stream = stream - self.log_level = log_level - self.linebuf = '' - self.also_log_to_stream = also_log_to_stream - - @classmethod - def setup_stdout(cls, also_log_to_stream=True): - """ - Setup logger for stdout - """ - stdout_logger = logging.getLogger('STDOUT') - sl = StreamToLogger( - sys.stdout, stdout_logger, logging.INFO, also_log_to_stream - ) - sys.stdout = sl + Parent class to SinglePointCase and RegionalCase - @classmethod - def setup_stderr(cls, also_log_to_stream=True): - """ - Setup logger for stdout - """ - stderr_logger = logging.getLogger('STDERR') - sl = StreamToLogger( - sys.stderr, stderr_logger, logging.ERROR, also_log_to_stream - ) - sys.stderr = sl + ... - def write(self, buf): - temp_linebuf = self.linebuf + buf - self.linebuf = '' - for line in temp_linebuf.splitlines(True): - # From the io.TextIOWrapper docs: - # On output, if newline is None, any '\n' characters written - # are translated to the system default line separator. - # By default sys.stdout.write() expects '\n' newlines and then - # translates them so this is still cross platform. - if line[-1] == '\n': - self.logger.log(self.log_level, line.rstrip()) - else: - self.linebuf += line - - def flush(self): - if self.linebuf != '': - self.logger.log(self.log_level, self.linebuf.rstrip()) - self.linebuf = '' + Attributes + ---------- + create_domain : bool + flag for creating domain file + create_surfdata : bool + flag for creating surface dataset + create_landuse : bool + flag for creating landuse file + create_datm : bool + flag for creating DATM files + Methods + ------- + create_1d_coord(filename, lon_varname , lat_varname,x_dim , y_dim ) + create 1d coordinate variables to enable sel() method -class BaseCase : - """ - Parent class to SinglePointCase and RegionalCase """ def __init__(self, create_domain, create_surfdata, create_landuse, create_datm): self.create_domain = create_domain @@ -328,14 +339,14 @@ class BaseCase : for item in sorted(self.__dict__))) @staticmethod - def create_1d_coord(filename, lon_varname , lat_varname,x_dim , y_dim ): + def create_1d_coord(filename, lon_varname , lat_varname , x_dim , y_dim): """ lon_varname : variable name that has 2d lon lat_varname : variable name that has 2d lat x_dim: dimension name in X -- lon y_dim: dimension name in Y -- lat """ - print( "Open inside here: "+filename ) + print( "Open file: "+filename ) f1 = xr.open_dataset(filename) # create 1d coordinate variables to enable sel() method @@ -357,6 +368,29 @@ class BaseCase : class SinglePointCase (BaseCase): """ A case to encapsulate single point cases. + + ... + + Attributes + ---------- + plat : float + latitude + plon : float + longitude + + Methods + ------- + create_tag + create a tag for single point which is the site name + or the "lon-lat" format if the site name does not exist. + create_domain_at_point + Create domain file at a single point. + create_landuse_at_point: + Create landuse file at a single point. + create_surfdata_at_point: + Create surface dataset at a single point. + create_datmdomain_at_point: + Create DATM domain file at a single point. """ def __init__(self, plat, plon, create_domain, create_surfdata, create_landuse, create_datm): @@ -365,7 +399,10 @@ class SinglePointCase (BaseCase): self.plon = plon def create_tag(self): - self.tag=str(self.plon)+'_'+str(self.plat) + if self.site_name: + self.tag = self.site_name + else: + self.tag=str(self.plon)+'_'+str(self.plat) def create_domain_at_point (self): print ("Creating domain file at ", self.plon, self.plat) @@ -377,7 +414,6 @@ class SinglePointCase (BaseCase): f3 = f3.expand_dims(['nj','ni']) wfile=self.fdomain_out - # mode 'w' overwrites file f3.to_netcdf(path=wfile, mode='w') print('Successfully created file (fdomain_out)'+self.fdomain_out) f2.close(); f3.close() @@ -389,6 +425,7 @@ class SinglePointCase (BaseCase): f2 = self.create_1d_coord(self.fluse_in, 'LONGXY','LATIXY','lsmlon','lsmlat') # extract gridcell closest to plon/plat f3 = f2.sel(lsmlon=self.plon,lsmlat=self.plat,method='nearest') + # expand dimensions f3 = f3.expand_dims(['lsmlat','lsmlon']) # specify dimension order @@ -398,13 +435,12 @@ class SinglePointCase (BaseCase): # revert expand dimensions of YEAR year = np.squeeze(np.asarray(f3['YEAR'])) - print (year) x = xr.DataArray(year, coords={'time':f3['time']}, dims='time', name='YEAR') x.attrs['units']='unitless' x.attrs['long_name']='Year of PFT data' f3['YEAR'] = x - wfile = self.luse_out + wfile = self.fluse_out # mode 'w' overwrites file f3.to_netcdf(path=wfile, mode='w') print('Successfully created file (luse_out)'+self.fluse_out,".") @@ -439,16 +475,16 @@ class SinglePointCase (BaseCase): # specify dimension order #f3 = f3.transpose(u'time', u'cft', u'natpft', u'lsmlat', u'lsmlon') f3 = f3.transpose(u'time', u'cft', u'lsmpft', u'natpft', u'nglcec', u'nglcecp1', u'nlevsoi', u'nlevurb', u'numrad', u'numurbl', 'lsmlat', 'lsmlon') - attrs_list = f3.attrs - for attr in list(attrs_list): - print (attr) - #del(f3.attrs[attr]) + + #update attributes today = date.today() today_string = today.strftime("%d/%m/%Y") f3.attrs['Created_on'] = today_string f3.attrs['Created_by'] = "negins" f3.attrs['Created_from'] = self.fsurf_in f3.attrs['Created_with'] = "/glade/scratch/negins/ctsm_singlept/tools/contrib/singlept.py" + + #delete unrelated attributes del(f3.attrs['History_Log']) del(f3.attrs['Logname']) del(f3.attrs['Version']) @@ -458,31 +494,8 @@ class SinglePointCase (BaseCase): # mode 'w' overwrites file f3.to_netcdf(path=self.fsurf_out, mode='w') print('created file (fsurf_out)'+self.fsurf_out) - #f1.close(); f2.close(); f3.close() - ''' this is buggy; can't re-write a file within the same session - # modify new surface data file - if overwrite_single_pft: - f1 = xr.open_dataset(fsurf2) - f1['PCT_NAT_PFT'][:,:,:] = 0 - f1['PCT_NAT_PFT'][:,:,dominant_pft] = 100 - f1.to_netcdf(path='~/junk.nc', mode='w') - #f1.to_netcdf(path=fsurf2, mode='w') - f1.close() - if zero_nonveg_landunits: - #f1 = xr.open_dataset(fsurf2) - f1 = xr.open_dataset('~/junk.nc') - f1['PCT_NATVEG'] = 100 - f1['PCT_CROP'] = 0 - f1['PCT_LAKE'] = 0. - f1['PCT_WETLAND'] = 0. - f1['PCT_URBAN'] = 0. - f1['PCT_GLACIER'] = 0. - #f1.to_netcdf(path=fsurf2, mode='w') - f1.to_netcdf(path='~/junk2.nc', mode='w') - f1.close() - ''' def create_datmdomain_at_point (self): print ("Creating DATM domain file at ", self.plon, self.plat, ".") # create 1d coordinate variables to enable sel() method @@ -498,18 +511,9 @@ class SinglePointCase (BaseCase): print('created file '+self.fdatmdomain_out) f2.close(); f3.close() - def extract_at(self, file_in, file_out): - f1 = xr.open_dataset(file_in) + def extract_datm_at(self, file_in, file_out): # create 1d coordinate variables to enable sel() method - lon0=np.asarray(f1['LONGXY'][0,:]) - lat0=np.asarray(f1['LATIXY'][:,0]) - lon=xr.DataArray(lon0,name='lon',dims='lon',coords={'lon':lon0}) - lat=xr.DataArray(lat0,name='lat',dims='lat',coords={'lat':lat0}) - #f2=f1.assign({'lon':lon,'lat':lat}) - f2=f1.assign() - f2['lon'] = lon - f2['lat'] = lat - f2.reset_coords(['LONGXY','LATIXY']) + f2 = self.create_1d_coord(file_in, 'xc','yc','ni','nj') # extract gridcell closest to plon/plat f3 = f2.sel(lon=self.plon,lat=self.plat,method='nearest') # expand dimensions @@ -519,7 +523,7 @@ class SinglePointCase (BaseCase): # mode 'w' overwrites file f3.to_netcdf(path=file_out, mode='w') - f1.close(); f2.close(); f3.close() + f2.close(); f3.close() def create_datm_at_point(self): #-- specify subdirectory names and filename prefixes @@ -681,67 +685,127 @@ def add_tag_to_surf_filename(filename, tag, site): +def setup_logging(log_path, log_level): + """ + Setup logging to log to console and log file. -def main (): + # Log Levels + # ------------ + # CRITICAL 50 + # ERROR 40 + # WARNING 30 + # INFO 20 + # DEBUG 10 + # NOTSET 0 + """ - ''' - #------------------------------------------------------------------# - #--------------------- Instructions -----------------------------# - #------------------------------------------------------------------# - load the following into your local environment - module load python/2.7.14 - ncar_pylib + root_logger = logging.getLogger() + root_logger.setLevel(log_level) + + # setup log file + one_MB = 1000000 + handler = logging.handlers.RotatingFileHandler( + log_path, maxBytes=(one_MB * 20), backupCount=5) + + fmt = logging.Formatter( + '%(asctime)s %(name)-12s %(levelname)-8s %(message)s', + datefmt='%y-%m-%d %H:%M:%S') + + handler.setFormatter(fmt) + root_logger.addHandler(handler) + + # setup logging to console + strm_hndlr = logging.StreamHandler(sys.stdout) + strm_hndlr.setFormatter(fmt) + root_logger.addHandler(strm_hndlr) + + # redirect stdout/err to log file + StreamToLogger.setup_stdout() + StreamToLogger.setup_stderr() + + + +class StreamToLogger(object): + """ + Custom class to log all stdout and stderr streams. + """ + def __init__(self, stream, logger, log_level=logging.INFO, + also_log_to_stream=False): + self.logger = logger + self.stream = stream + self.log_level = log_level + self.linebuf = '' + self.also_log_to_stream = also_log_to_stream + + @classmethod + def setup_stdout(cls, also_log_to_stream=True): + """ + Setup logger for stdout + """ + stdout_logger = logging.getLogger('STDOUT') + sl = StreamToLogger( + sys.stdout, stdout_logger, logging.INFO, also_log_to_stream + ) + sys.stdout = sl + + @classmethod + def setup_stderr(cls, also_log_to_stream=True): + """ + Setup logger for stdout + """ + stderr_logger = logging.getLogger('STDERR') + sl = StreamToLogger( + sys.stderr, stderr_logger, logging.ERROR, also_log_to_stream + ) + sys.stderr = sl + + def write(self, buf): + temp_linebuf = self.linebuf + buf + self.linebuf = '' + for line in temp_linebuf.splitlines(True): + # From the io.TextIOWrapper docs: + # On output, if newline is None, any '\n' characters written + # are translated to the system default line separator. + # By default sys.stdout.write() expects '\n' newlines and then + # translates them so this is still cross platform. + if line[-1] == '\n': + self.logger.log(self.log_level, line.rstrip()) + else: + self.linebuf += line + + def flush(self): + if self.linebuf != '': + self.logger.log(self.log_level, self.linebuf.rstrip()) + self.linebuf = '' + +def main (): - After creating a case using a global compset, run preview_namelist. - From the resulting lnd_in file in the run directory, find the name - of the domain file, and the surface data file. - From the datm streams files (e.g. datm.streams.txt.CLMGSWP3v1.Precip) - find the name of the datm forcing data domain file and forcing files. - Use these file names as the sources for the single point files to - be created (see below). - - After running this script, point to the new CLM domain and surface - dataset using the user_nl_clm file in the case directory. In addition, - copy the datm.streams files to the case directory, with the prefix - 'user_', e.g. user_datm.streams.txt.CLMGSWP3v1.Precip. Change the - information in the user_datm.streams* files to point to the single - point datm data (domain and forcing files) created using this script. - - The domain file is not set via user_nl_clm, but requires changing - LND_DOMAIN and ATM_DOMAIN (and their paths) in env_run.xml. - - Using single point forcing data requires specifying the nearest - neighbor mapping algorithm for the datm streams (usually they are - the first three in the list) in user_nl_datm: mapalgo = 'nn','nn','nn', - ..., where the '...' can still be 'bilinear', etc, depending on the - other streams that are being used, e.g. aerosols, anomaly forcing, - bias correction. - - The file env_mach_pes.xml should be modified to specify a single - processor. The mpi-serial libraries should also be used, and can be - set in env_build.xml by changing "MPILIB" to "mpi-serial" prior to - setting up the case. - - The case for the single point simulation should have river routing - and land ice models turned off (i.e. the compset should use stub - models SROF and SGLC) - - to run the script - ./singlept - deactivate # to remove NPL from environment - - ''' args = get_parser().parse_args() print (args) - if (args.run_type == "sp"): + log_file = "/glade/scratch/negins/ctsm_singlept/tools/contrib/log.file" + # create dir if it does not exist + log_dir = os.path.dirname(log_file) + if not os.path.exists(log_dir): + os.mkdir(log_dir) + + log_level = logging.DEBUG + setup_logging(log_file, log_level) + + + myname=getuser() + pwd=os.getcwd() + print("User = "+myname) + print("Current directory = "+pwd) + + if (args.run_type == "point"): print ("Running the script for Single Point.") elif (args.run_type == "reg"): print ("Running the script for Regional.") - if (args.run_type == "sp"): + if (args.run_type == "point"): #-- Specify point to extract plon = args.plon @@ -763,13 +827,10 @@ def main (): site_name = args.site_name #-- Modify landunit structure - overwrite_single_pft = True - #dominant_pft = 7 #BETr + overwrite_single_pft = args.overwrite_single_pft dominant_pft = args.dom_pft - print ("dominant_pft;",dominant_pft) - print (type(dominant_pft)) zero_nonveg_landunits= True - uniform_snowpack = True + uniform_snowpack = args.uni_snow no_saturation_excess = True @@ -779,24 +840,11 @@ def main (): single_point.zero_nonveg_landunits = zero_nonveg_landunits single_point.uniform_snowpack = uniform_snowpack single_point.no_saturation_excess = no_saturation_excess + single_point.site_name = site_name single_point.create_tag() print (single_point) - - log_file = "/glade/scratch/negins/ctsm_singlept/tools/contrib/log.file" - # create dir if it does not exist - log_dir = os.path.dirname(log_file) - if not os.path.exists(log_dir): - os.mkdir(log_dir) - - log_level = logging.DEBUG - setup_logging(log_file, log_level) - print( "singlept script to extract out a single point from the global CTSM inputdata datasets." ) - myname=getuser() - pwd=os.getcwd() - print("User = "+myname) - print("Current directory = "+pwd) if crop_flag: num_pft = "78" @@ -810,7 +858,7 @@ def main (): #-- Set input and output filenames #-- Specify input and output directories - dir_output='/glade/scratch/'+myname+'/neon_surfdata_for_Jim_metadata/' + dir_output='/glade/scratch/'+myname+'/singlept_out/' if ( not os.path.isdir( dir_output ) ): os.mkdir( dir_output ) @@ -903,11 +951,6 @@ def main (): print (region) - myname=getuser() - pwd=os.getcwd() - print("User = "+myname) - print("Current directory = "+pwd) - if crop_flag: num_pft = "78" else: @@ -965,7 +1008,7 @@ def main (): #-- Create CTSM transient landuse data file if create_landuse: region.create_landuse_at_reg() - print( "Successfully ran script for single point." ) + print( "Successfully ran script for a regional case." ) if __name__ == "__main__": main() From 71efed2fe4c5ad9cb6e92e9a0c84a455ad3a9ee6 Mon Sep 17 00:00:00 2001 From: Negin Sobhani Date: Wed, 28 Apr 2021 22:12:58 -0600 Subject: [PATCH 33/82] saving some options. --- tools/contrib/singlept | 202 +++++++++++++++++++++++++---------------- 1 file changed, 124 insertions(+), 78 deletions(-) diff --git a/tools/contrib/singlept b/tools/contrib/singlept index 54ccbf393c..940bd1e543 100755 --- a/tools/contrib/singlept +++ b/tools/contrib/singlept @@ -17,7 +17,7 @@ datasets. ------------------------------------------------------------------- To see the available options for a single point: ./subset_data point --help - + To see the available options for a region: ./subset_data reg --help ------------------------------------------------------------------- @@ -85,6 +85,12 @@ from datetime import date from getpass import getuser from argparse import ArgumentParser, ArgumentDefaultsHelpFormatter +myname = getuser() +pwd = os.getcwd() + +today = date.today() +today_string = today.strftime("%Y%m%d") + def get_parser(): """Get parser object for this script.""" #parser = ArgumentParser(description=__doc__, @@ -92,6 +98,7 @@ def get_parser(): parser = ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) + parser.print_usage = parser.print_help subparsers = parser.add_subparsers( help='Two possible ways to run this sript, either:', dest ='run_type') @@ -186,6 +193,12 @@ def get_parser(): dest="overwrite_single_pft", type =bool, default=True) + pt_parser.add_argument('--outdir', + help='Output directory. [default: %(default)s]', + action="store", + dest="out_dir", + type =str, + default="/glade/scratch/"+myname+"/single_point/") rg_parser.add_argument('--lat1', help='Region start latitude. [default: %(default)s]', @@ -275,6 +288,12 @@ def get_parser(): dest="dom_pft", type =int, default=7) + rg_parser.add_argument('--outdir', + help='Output directory. [default: %(default)s]', + action="store", + dest="out_dir", + type =str, + default="/glade/scratch/"+myname+"/regional/") return parser @@ -355,15 +374,33 @@ class BaseCase : lon = xr.DataArray(lon0,name='lon',dims=x_dim,coords={x_dim:lon0}) lat = xr.DataArray(lat0,name='lat',dims=y_dim,coords={y_dim:lat0}) - # assign() not working on cheyenne - #f2=f1.assign({'lon':lon,'lat':lat}) - f2=f1.assign() - #f2 = f1.copy() - f2['lon'] = lon - f2['lat'] = lat + f2=f1.assign({'lon':lon,'lat':lat}) + f2.reset_coords([lon_varname,lat_varname]) + f1.close() return f2 + @staticmethod + def add_tag_to_filename(filename, tag): + "Add a tag to a filename" + # Expects file to end with [._]cYYMMDD.nc or [._]YYMMDD.nc + # Add the tag to just before that ending part + print (filename) + print (tag) + basename = os.path.basename(filename) + print ("basename : " ,basename) + cend = -10 + print ("the end: ", basename[cend:]) + if ( basename[cend] == "c" ): + cend = cend - 1 + if ( (basename[cend] != ".") and (basename[cend] != "_") ): + print ( "Trouble figuring out where to add tag to filename:"+filename ) + os.abort() + today = date.today() + today_string = today.strftime("%y%m%d") + return( basename[:cend]+"_"+tag+"_c"+today_string +'.nc') + + class SinglePointCase (BaseCase): """ @@ -377,12 +414,15 @@ class SinglePointCase (BaseCase): latitude plon : float longitude + site_name: str -- default = None + Site name Methods ------- create_tag create a tag for single point which is the site name or the "lon-lat" format if the site name does not exist. + create_domain_at_point Create domain file at a single point. create_landuse_at_point: @@ -393,10 +433,19 @@ class SinglePointCase (BaseCase): Create DATM domain file at a single point. """ - def __init__(self, plat, plon, create_domain, create_surfdata, create_landuse, create_datm): + def __init__(self, plat, plon,site_name, + create_domain, create_surfdata, create_landuse, create_datm, + overwrite_single_pft, dominant_pft, zero_nonveg_landunits, + uniform_snowpack, no_saturation_excess): super().__init__(create_domain, create_surfdata, create_landuse, create_datm) self.plat = plat self.plon = plon + self.site_name = site_name + self.overwrite_single_pft = overwrite_single_pft + self.dominant_pft = dominant_pft + self.zero_nonveg_landunits = zero_nonveg_landunits + self.uniform_snowpack = uniform_snowpack + self.no_saturation_excess = no_saturation_excess def create_tag(self): if self.site_name: @@ -404,6 +453,20 @@ class SinglePointCase (BaseCase): else: self.tag=str(self.plon)+'_'+str(self.plat) + @staticmethod + def create_fileout_name( filename,tag): + + basename = os.path.basename(filename) + print ("basename : " ,basename) + items = basename.split('_') + + today = date.today() + today_string = today.strftime("%y%m%d") + new_string = items[0]+"_"+items[2]+"_"+items[3]+"_"+ items[4] \ + +"_"+items[5]+"_"+items[6]+"_"+tag+"_c"+today_string+".nc" + print (new_string) + return new_string + def create_domain_at_point (self): print ("Creating domain file at ", self.plon, self.plat) # create 1d coordinate variables to enable sel() method @@ -496,8 +559,8 @@ class SinglePointCase (BaseCase): print('created file (fsurf_out)'+self.fsurf_out) f2.close(); f3.close() - def create_datmdomain_at_point (self): - print ("Creating DATM domain file at ", self.plon, self.plat, ".") + def create_datmdomain_at_point(self): + print("Creating DATM domain file at ", self.plon, self.plat, ".") # create 1d coordinate variables to enable sel() method filename = self.fdatmdomain f2 = self.create_1d_coord(filename, 'xc','yc','ni','nj') @@ -571,7 +634,8 @@ class RegionalCase (BaseCase): A case to encapsulate regional cases. """ - def __init__(self, lat1, lat2, lon1, lon2, reg_name, create_domain, create_surfdata, create_landuse, create_datm): + def __init__(self, lat1, lat2, lon1, lon2, reg_name, + create_domain, create_surfdata, create_landuse, create_datm): super().__init__(create_domain, create_surfdata, create_landuse, create_datm) self.lat1 = lat1 self.lat2 = lat2 @@ -644,29 +708,6 @@ class RegionalCase (BaseCase): -def error( desc ): - "error function" - print( "ERROR:: "+desc ) - os.abort() - - -def AddTagToFilename(filename, tag): - "Add a tag to a filename" - # Expects file to end with [._]cYYMMDD.nc or [._]YYMMDD.nc - # Add the tag to just before that ending part - print (filename) - print (tag) - basename = os.path.basename(filename) - print ("basename : " ,basename) - cend = -10 - print ("the end: ", basename[cend:]) - if ( basename[cend] == "c" ): - cend = cend - 1 - if ( (basename[cend] != ".") and (basename[cend] != "_") ): - error( "Trouble figuring out where to add tag to filename:"+filename ) - return( basename[:cend]+"_"+tag+basename[cend:] ) - - def add_tag_to_surf_filename(filename, tag, site): "Add a tag to a filename" # Expects file to end with [._]cYYMMDD.nc or [._]YYMMDD.nc @@ -744,8 +785,7 @@ class StreamToLogger(object): """ stdout_logger = logging.getLogger('STDOUT') sl = StreamToLogger( - sys.stdout, stdout_logger, logging.INFO, also_log_to_stream - ) + sys.stdout, stdout_logger, logging.INFO, also_log_to_stream) sys.stdout = sl @classmethod @@ -755,8 +795,7 @@ class StreamToLogger(object): """ stderr_logger = logging.getLogger('STDERR') sl = StreamToLogger( - sys.stderr, stderr_logger, logging.ERROR, also_log_to_stream - ) + sys.stderr, stderr_logger, logging.ERROR, also_log_to_stream) sys.stderr = sl def write(self, buf): @@ -778,37 +817,30 @@ class StreamToLogger(object): self.logger.log(self.log_level, self.linebuf.rstrip()) self.linebuf = '' -def main (): + +def main (): + args = get_parser().parse_args() - print (args) - log_file = "/glade/scratch/negins/ctsm_singlept/tools/contrib/log.file" - # create dir if it does not exist - log_dir = os.path.dirname(log_file) - if not os.path.exists(log_dir): - os.mkdir(log_dir) + # --------------------------------- # + + log_file = os.path.join(pwd, today_string+'.log') log_level = logging.DEBUG setup_logging(log_file, log_level) - - myname=getuser() - pwd=os.getcwd() print("User = "+myname) print("Current directory = "+pwd) - if (args.run_type == "point"): - print ("Running the script for Single Point.") - elif (args.run_type == "reg"): - print ("Running the script for Regional.") - + # --------------------------------- # if (args.run_type == "point"): + print( "This script extracts a single point from the global CTSM inputdata datasets." ) #-- Specify point to extract - plon = args.plon + plon = args.plon plat = args.plat #-- Create regional CLM domain file @@ -834,31 +866,26 @@ def main (): no_saturation_excess = True - single_point = SinglePointCase(plat, plon, create_domain, create_surfdata, create_landuse, create_datm) - single_point.overwrite_single_pft = overwrite_single_pft - single_point.dominant_pft = dominant_pft - single_point.zero_nonveg_landunits = zero_nonveg_landunits - single_point.uniform_snowpack = uniform_snowpack - single_point.no_saturation_excess = no_saturation_excess - single_point.site_name = site_name + #-- Create SinglePoint Object + single_point = SinglePointCase(plat, plon,site_name, + create_domain, create_surfdata, create_landuse, create_datm, + overwrite_single_pft, dominant_pft, zero_nonveg_landunits, uniform_snowpack, + no_saturation_excess) single_point.create_tag() - print (single_point) - print( "singlept script to extract out a single point from the global CTSM inputdata datasets." ) if crop_flag: num_pft = "78" - else: + else: num_pft = "16" + print('crop_flag = '+ crop_flag.__str__()+ ' => num_pft ='+ num_pft) - print(' crop_flag = '+ crop_flag.__str__()+ ' num_pft ='+ num_pft) - - + print (single_point) #-- Set input and output filenames #-- Specify input and output directories - dir_output='/glade/scratch/'+myname+'/singlept_out/' + dir_output = args.out_dir if ( not os.path.isdir( dir_output ) ): os.mkdir( dir_output ) @@ -871,35 +898,51 @@ def main (): #-- Set time stamp - command='date "+%y%m%d"' - x2=subprocess.Popen(command,stdout=subprocess.PIPE,shell='True') - x=x2.communicate() - timetag = x[0].strip() - print (timetag) + #command='date "+%y%m%d"' + #x2=subprocess.Popen(command,stdout=subprocess.PIPE,shell='True') + #x=x2.communicate() + #timetag = x[0].strip() + #print ("timetag:",timetag) + today = date.today() + timetag = today.strftime("%y%m%d") + print ("today_string:", timetag) + exit() #-- Specify land domain file --------------------------------- fdomain_in = dir_inputdata+'share/domains/domain.lnd.fv0.9x1.25_gx1v7.151020.nc' - fdomain_out = dir_output + AddTagToFilename( fdomain_in, single_point.tag ) + fdomain_out = dir_output + single_point.add_tag_to_filename( fdomain_in, single_point.tag ) + print ("fdomain_out:",fdomain_out) #SinglePointCase.set_fdomain (fdomain) single_point.fdomain_in = fdomain_in single_point.fdomain_out = fdomain_out #-- Specify surface data file -------------------------------- fsurf_in = dir_inputdata+'lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_0.9x1.25_hist_16pfts_Irrig_CMIP6_simyr2000_c190214.nc' - fsurf_out = dir_output + add_tag_to_surf_filename( fsurf_in, single_point.tag ,site_name) + single_point.fsurf_in = fsurf_in + print ('~~~~') + fsurf_out = dir_output + single_point.create_fileout_name(fsurf_in, single_point.tag) + fsurf_out2 = dir_output + single_point.add_tag_to_filename( fsurf_in, single_point.tag ) + print ('>>>'+fsurf_out) + print (fsurf_out2) + + print ('-----') single_point.fsurf_in = fsurf_in single_point.fsurf_out = fsurf_out #-- Specify landuse file ------------------------------------- fluse_in = dir_inputdata+'lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_0.9x1.25_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c190214.nc' - fluse_out = dir_output + AddTagToFilename( fluse_in, single_point.tag ) + fluse_out = dir_output + single_point.add_tag_to_filename( fluse_in, single_point.tag ) + print ("fluse_out:", fluse_out) + fluse_out = dir_output + single_point.create_fileout_name(fluse_in, single_point.tag) + print ("fluse_out:", fluse_out) single_point.fluse_in = fluse_in single_point.fluse_out = fluse_out #-- Specify datm domain file --------------------------------- fdatmdomain_in = dir_clm_forcedata+'atm_forcing.datm7.GSWP3.0.5d.v1.c170516/domain.lnd.360x720_gswp3.0v1.c170606.nc' - fdatmdomain_out = dir_output_datm+AddTagToFilename( fdatmdomain_in, single_point.tag ) + fdatmdomain_out = dir_output_datm+single_point.add_tag_to_filename( fdatmdomain_in, single_point.tag ) single_point.fdatmdomain = fdatmdomain_in single_point.fdatmdomain2 = fdatmdomain_out + print (single_point.fdatmdomain2) #-- Create CTSM domain file if create_domain: @@ -916,7 +959,6 @@ def main (): #-- Create single point atmospheric forcing data if create_datm: single_point.create_datmdomain_at_point() - #create_datmdomain_at_point(plat, plon, fdatmdomain, fdatmdomain2) single_point.datm_syr =datm_syr single_point.datm_eyr =datm_eyr single_point.dir_input_datm = dir_input_datm @@ -1010,5 +1052,9 @@ def main (): region.create_landuse_at_reg() print( "Successfully ran script for a regional case." ) + else : + # print help when no option is chosen + get_parser().print_help() + if __name__ == "__main__": main() From 62296a6557f27184457b6b00d82b1e0dd557b09d Mon Sep 17 00:00:00 2001 From: Negin Sobhani Date: Wed, 28 Apr 2021 23:07:51 -0600 Subject: [PATCH 34/82] os.path.join for better concat of paths and changing crop surf file... --- tools/contrib/singlept | 71 +++++++++++++++++++++--------------------- 1 file changed, 36 insertions(+), 35 deletions(-) diff --git a/tools/contrib/singlept b/tools/contrib/singlept index 940bd1e543..8e4d96f3b8 100755 --- a/tools/contrib/singlept +++ b/tools/contrib/singlept @@ -88,9 +88,6 @@ from argparse import ArgumentParser, ArgumentDefaultsHelpFormatter myname = getuser() pwd = os.getcwd() -today = date.today() -today_string = today.strftime("%Y%m%d") - def get_parser(): """Get parser object for this script.""" #parser = ArgumentParser(description=__doc__, @@ -174,7 +171,7 @@ def get_parser(): help='Create datasets using the extensive list of prognostic crop types. [default: %(default)s]', action="store_true", dest="crop_flag", - default=False) + default=True) pt_parser.add_argument('--dompft', help='Dominant PFT type . [default: %(default)s] ', action="store", @@ -562,7 +559,7 @@ class SinglePointCase (BaseCase): def create_datmdomain_at_point(self): print("Creating DATM domain file at ", self.plon, self.plat, ".") # create 1d coordinate variables to enable sel() method - filename = self.fdatmdomain + filename = self.fdatmdomain_in f2 = self.create_1d_coord(filename, 'xc','yc','ni','nj') # extract gridcell closest to plon/plat f3 = f2.sel(ni=self.plon,nj=self.plat,method='nearest') @@ -826,6 +823,9 @@ def main (): # --------------------------------- # + today = date.today() + today_string = today.strftime("%Y%m%d") + log_file = os.path.join(pwd, today_string+'.log') log_level = logging.DEBUG @@ -837,6 +837,7 @@ def main (): # --------------------------------- # if (args.run_type == "point"): + print( "----------------------------------------------------------------------------") print( "This script extracts a single point from the global CTSM inputdata datasets." ) #-- Specify point to extract @@ -874,6 +875,8 @@ def main (): single_point.create_tag() + print (single_point) + if crop_flag: num_pft = "78" else: @@ -881,8 +884,6 @@ def main (): print('crop_flag = '+ crop_flag.__str__()+ ' => num_pft ='+ num_pft) - print (single_point) - #-- Set input and output filenames #-- Specify input and output directories dir_output = args.out_dir @@ -891,58 +892,57 @@ def main (): dir_inputdata='/glade/p/cesmdata/cseg/inputdata/' dir_clm_forcedata='/glade/p/cgd/tss/CTSM_datm_forcing_data/' - dir_input_datm=dir_clm_forcedata+'/atm_forcing.datm7.GSWP3.0.5d.v1.c170516/' - dir_output_datm=dir_output + 'datmdata/' + dir_input_datm=os.path.join(dir_clm_forcedata,'atm_forcing.datm7.GSWP3.0.5d.v1.c170516/') + dir_output_datm=os.path.join(dir_output , 'datmdata/') if ( not os.path.isdir( dir_output_datm ) ): os.mkdir( dir_output_datm ) + print ("dir_input_datm : ", dir_input_datm) # + print ("dir_output_datm : ", dir_output_datm) # + #-- Set time stamp - #command='date "+%y%m%d"' - #x2=subprocess.Popen(command,stdout=subprocess.PIPE,shell='True') - #x=x2.communicate() - #timetag = x[0].strip() - #print ("timetag:",timetag) today = date.today() timetag = today.strftime("%y%m%d") print ("today_string:", timetag) - exit() #-- Specify land domain file --------------------------------- - fdomain_in = dir_inputdata+'share/domains/domain.lnd.fv0.9x1.25_gx1v7.151020.nc' + fdomain_in = os.path.join(dir_inputdata,'share/domains/domain.lnd.fv0.9x1.25_gx1v7.151020.nc') fdomain_out = dir_output + single_point.add_tag_to_filename( fdomain_in, single_point.tag ) - print ("fdomain_out:",fdomain_out) - #SinglePointCase.set_fdomain (fdomain) single_point.fdomain_in = fdomain_in single_point.fdomain_out = fdomain_out + print ("fdomain_in :",fdomain_in) # + print ("fdomain_out :",fdomain_out) # #-- Specify surface data file -------------------------------- - fsurf_in = dir_inputdata+'lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_0.9x1.25_hist_16pfts_Irrig_CMIP6_simyr2000_c190214.nc' - single_point.fsurf_in = fsurf_in - print ('~~~~') - fsurf_out = dir_output + single_point.create_fileout_name(fsurf_in, single_point.tag) - fsurf_out2 = dir_output + single_point.add_tag_to_filename( fsurf_in, single_point.tag ) - print ('>>>'+fsurf_out) - print (fsurf_out2) + if crop_flag: + fsurf_in = os.path.join (dir_inputdata, 'lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_0.9x1.25_hist_78pfts_CMIP6_simyr2000_c190214.nc') + else: + fsurf_in = os.path.join (dir_inputdata, 'lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_0.9x1.25_hist_16pfts_Irrig_CMIP6_simyr2000_c190214.nc') - print ('-----') + #fsurf_out = dir_output + single_point.add_tag_to_filename(fsurf_in, single_point.tag) # remove res from filename for singlept + fsurf_out = dir_output + single_point.create_fileout_name(fsurf_in, single_point.tag) single_point.fsurf_in = fsurf_in single_point.fsurf_out = fsurf_out + print ("fsurf_in :",fsurf_in) # + print ("fsurf_out :",fsurf_out) # #-- Specify landuse file ------------------------------------- - fluse_in = dir_inputdata+'lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_0.9x1.25_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c190214.nc' - fluse_out = dir_output + single_point.add_tag_to_filename( fluse_in, single_point.tag ) - print ("fluse_out:", fluse_out) + fluse_in = os.path.join (dir_inputdata,'lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_0.9x1.25_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c190214.nc') + #fluse_out = dir_output + single_point.add_tag_to_filename( fluse_in, single_point.tag ) # remove resolution from filename for singlept cases fluse_out = dir_output + single_point.create_fileout_name(fluse_in, single_point.tag) - print ("fluse_out:", fluse_out) single_point.fluse_in = fluse_in single_point.fluse_out = fluse_out + print ("fluse_in :", fluse_in) # + print ("fluse_out :", fluse_out) # + #-- Specify datm domain file --------------------------------- - fdatmdomain_in = dir_clm_forcedata+'atm_forcing.datm7.GSWP3.0.5d.v1.c170516/domain.lnd.360x720_gswp3.0v1.c170606.nc' - fdatmdomain_out = dir_output_datm+single_point.add_tag_to_filename( fdatmdomain_in, single_point.tag ) - single_point.fdatmdomain = fdatmdomain_in - single_point.fdatmdomain2 = fdatmdomain_out - print (single_point.fdatmdomain2) + fdatmdomain_in = os.path.join (dir_clm_forcedata,'atm_forcing.datm7.GSWP3.0.5d.v1.c170516/domain.lnd.360x720_gswp3.0v1.c170606.nc') + fdatmdomain_out = dir_output_datm+single_point.add_tag_to_filename( fdatmdomain_in, single_point.tag ) + single_point.fdatmdomain_in = fdatmdomain_in + single_point.fdatmdomain_out = fdatmdomain_out + print ("fdatmdomain_in : ", fdatmdomain_in) # + print ("fdatmdomain out : ", fdatmdomain_out) # #-- Create CTSM domain file if create_domain: @@ -966,6 +966,7 @@ def main (): single_point.create_datm_at_point() print( "Successfully ran script for single point." ) + exit() elif (args.run_type == "reg"): print ("running the script for the region") From ab171175beb9ba7cb60c6cbf33ffa2bba39bdeaf Mon Sep 17 00:00:00 2001 From: Negin Sobhani Date: Wed, 28 Apr 2021 23:25:44 -0600 Subject: [PATCH 35/82] adding more landunit structure options as command line arguments. --- tools/contrib/singlept | 36 +++++++++++++++--------------------- 1 file changed, 15 insertions(+), 21 deletions(-) diff --git a/tools/contrib/singlept b/tools/contrib/singlept index 8e4d96f3b8..6fc623a619 100755 --- a/tools/contrib/singlept +++ b/tools/contrib/singlept @@ -190,6 +190,18 @@ def get_parser(): dest="overwrite_single_pft", type =bool, default=True) + pt_parser.add_argument('--zero_nonveg', + help='Zero Non Vegetation Landunits. [default: %(default)s]', + action="store", + dest="zero_nonveg", + type =bool, + default=True) + pt_parser.add_argument('--no_saturation_excess', + help='No Saturation Excess. [default: %(default)s]', + action="store", + dest="no_saturation_excess", + type =bool, + default=True) pt_parser.add_argument('--outdir', help='Output directory. [default: %(default)s]', action="store", @@ -704,25 +716,6 @@ class RegionalCase (BaseCase): f2.close(); f3.close() - -def add_tag_to_surf_filename(filename, tag, site): - "Add a tag to a filename" - # Expects file to end with [._]cYYMMDD.nc or [._]YYMMDD.nc - # Add the tag to just before that ending part - print (filename) - print (tag) - basename = os.path.basename(filename) - print ("basename : " ,basename) - items = basename.split('_') - - today = date.today() - today_string = today.strftime("%y%m%d") - new_string = items[0]+"_"+items[2]+"_"+items[3]+"_"+items[4]+"_"+items[5]+"_"+items[6]+"_"+site+"_c"+today_string+".nc" - print (new_string) - return( new_string) - - - def setup_logging(log_path, log_level): """ Setup logging to log to console and log file. @@ -837,6 +830,7 @@ def main (): # --------------------------------- # if (args.run_type == "point"): + print( "============================================================================") print( "----------------------------------------------------------------------------") print( "This script extracts a single point from the global CTSM inputdata datasets." ) @@ -862,9 +856,9 @@ def main (): #-- Modify landunit structure overwrite_single_pft = args.overwrite_single_pft dominant_pft = args.dom_pft - zero_nonveg_landunits= True + zero_nonveg_landunits= args.zero_nonveg uniform_snowpack = args.uni_snow - no_saturation_excess = True + no_saturation_excess = args.no_saturation_excess #-- Create SinglePoint Object From 2f5304d22be34cfa29f7b8b3e1fc188f53ce512f Mon Sep 17 00:00:00 2001 From: Negin Sobhani Date: Wed, 28 Apr 2021 23:31:58 -0600 Subject: [PATCH 36/82] better help --- tools/contrib/singlept | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/contrib/singlept b/tools/contrib/singlept index 6fc623a619..cf94b3c85d 100755 --- a/tools/contrib/singlept +++ b/tools/contrib/singlept @@ -179,19 +179,19 @@ def get_parser(): type =int, default=7) pt_parser.add_argument('--unisnow', - help='Uniform snowpack option. [default: %(default)s]', + help='Create uniform snowpack. [default: %(default)s]', action="store", dest="uni_snow", type =bool, default=True) pt_parser.add_argument('--overwrite_single_pft', - help='Overwrite Signel PFT. [default: %(default)s]', + help='Make the whole grid 100% single PFT. [default: %(default)s]', action="store", dest="overwrite_single_pft", type =bool, default=True) pt_parser.add_argument('--zero_nonveg', - help='Zero Non Vegetation Landunits. [default: %(default)s]', + help='Set all non-vegetation landunits to zero. [default: %(default)s]', action="store", dest="zero_nonveg", type =bool, From 339e2cb3ea15d6522dc2c64ee9bc5be339bc6b26 Mon Sep 17 00:00:00 2001 From: Negin Sobhani Date: Thu, 29 Apr 2021 02:52:41 -0600 Subject: [PATCH 37/82] updating metadata for files --- tools/contrib/singlept | 129 +++++++++++++++++++++++------------------ 1 file changed, 74 insertions(+), 55 deletions(-) diff --git a/tools/contrib/singlept b/tools/contrib/singlept index cf94b3c85d..ac85599f94 100755 --- a/tools/contrib/singlept +++ b/tools/contrib/singlept @@ -86,7 +86,6 @@ from getpass import getuser from argparse import ArgumentParser, ArgumentDefaultsHelpFormatter myname = getuser() -pwd = os.getcwd() def get_parser(): """Get parser object for this script.""" @@ -171,7 +170,7 @@ def get_parser(): help='Create datasets using the extensive list of prognostic crop types. [default: %(default)s]', action="store_true", dest="crop_flag", - default=True) + default=False) pt_parser.add_argument('--dompft', help='Dominant PFT type . [default: %(default)s] ', action="store", @@ -355,6 +354,9 @@ class BaseCase : create_1d_coord(filename, lon_varname , lat_varname,x_dim , y_dim ) create 1d coordinate variables to enable sel() method + add_tag_to_filename(filename, tag) + add a tag and timetag to a filename ending with + [._]cYYMMDD.nc or [._]YYMMDD.nc """ def __init__(self, create_domain, create_surfdata, create_landuse, create_datm): self.create_domain = create_domain @@ -391,15 +393,14 @@ class BaseCase : @staticmethod def add_tag_to_filename(filename, tag): - "Add a tag to a filename" + """ + Add a tag and replace timetag of a filename # Expects file to end with [._]cYYMMDD.nc or [._]YYMMDD.nc # Add the tag to just before that ending part - print (filename) - print (tag) + # and change the ending part to the current time tag + """ basename = os.path.basename(filename) - print ("basename : " ,basename) cend = -10 - print ("the end: ", basename[cend:]) if ( basename[cend] == "c" ): cend = cend - 1 if ( (basename[cend] != ".") and (basename[cend] != "_") ): @@ -409,6 +410,32 @@ class BaseCase : today_string = today.strftime("%y%m%d") return( basename[:cend]+"_"+tag+"_c"+today_string +'.nc') + @staticmethod + def update_metadata(nc): + #update attributes + today = date.today() + today_string = today.strftime("%Y-%m-%d") + nc.attrs['Created_on'] = today_string + nc.attrs['Created_by'] = myname + nc.attrs['Created_with'] = os.path.abspath(__file__) + + #delete unrelated attributes if they exist + del_attrs = ['source_code', 'SVN_url', 'hostname', 'history' + 'History_Log', 'Logname', 'host', 'Version', + 'Compiler_Optimized'] + attr_list = nc.attrs + + print ('-----') + for attr in del_attrs: + if attr in attr_list: + del(nc.attrs[attr]) + print ("This attribute deleted:", attr) + + + print ('-----') + for attr, value in attr_list.items(): + print (attr + " = "+str(value)) + class SinglePointCase (BaseCase): @@ -468,15 +495,16 @@ class SinglePointCase (BaseCase): basename = os.path.basename(filename) print ("basename : " ,basename) items = basename.split('_') - + print (items) today = date.today() today_string = today.strftime("%y%m%d") new_string = items[0]+"_"+items[2]+"_"+items[3]+"_"+ items[4] \ +"_"+items[5]+"_"+items[6]+"_"+tag+"_c"+today_string+".nc" - print (new_string) + print ("new_string;",new_string) return new_string def create_domain_at_point (self): + print( "----------------------------------------------------------------------") print ("Creating domain file at ", self.plon, self.plat) # create 1d coordinate variables to enable sel() method f2 = self.create_1d_coord(self.fdomain_in, 'xc','yc','ni','nj') @@ -485,14 +513,17 @@ class SinglePointCase (BaseCase): # expand dimensions f3 = f3.expand_dims(['nj','ni']) + self.update_metadata(f3) wfile=self.fdomain_out f3.to_netcdf(path=wfile, mode='w') print('Successfully created file (fdomain_out)'+self.fdomain_out) + print( "----------------------------------------------------------------------") f2.close(); f3.close() def create_landuse_at_point (self): - print ("Creating landuse file at ", self.plon, self.plat, ".") + print( "----------------------------------------------------------------------") + print ("Now creating landuse file at ", self.plon, self.plat, ".") # create 1d coordinate variables to enable sel() method f2 = self.create_1d_coord(self.fluse_in, 'LONGXY','LATIXY','lsmlon','lsmlat') # extract gridcell closest to plon/plat @@ -512,14 +543,17 @@ class SinglePointCase (BaseCase): x.attrs['long_name']='Year of PFT data' f3['YEAR'] = x + self.update_metadata(f3) wfile = self.fluse_out # mode 'w' overwrites file f3.to_netcdf(path=wfile, mode='w') print('Successfully created file (luse_out)'+self.fluse_out,".") + print( "----------------------------------------------------------------------") f2.close(); f3.close() def create_surfdata_at_point(self): - print ("Creating surface dataset file at ", self.plon, self.plat, ".") + print( "----------------------------------------------------------------------") + print ("Now creating surface dataset file at ", self.plon, self.plat, ".") # create 1d coordinate variables to enable sel() method filename = self.fsurf_in f2 = self.create_1d_coord(filename, 'LONGXY','LATIXY','lsmlon','lsmlat') @@ -549,23 +583,12 @@ class SinglePointCase (BaseCase): f3 = f3.transpose(u'time', u'cft', u'lsmpft', u'natpft', u'nglcec', u'nglcecp1', u'nlevsoi', u'nlevurb', u'numrad', u'numurbl', 'lsmlat', 'lsmlon') #update attributes - today = date.today() - today_string = today.strftime("%d/%m/%Y") - f3.attrs['Created_on'] = today_string - f3.attrs['Created_by'] = "negins" + self.update_metadata(f3) f3.attrs['Created_from'] = self.fsurf_in - f3.attrs['Created_with'] = "/glade/scratch/negins/ctsm_singlept/tools/contrib/singlept.py" - - #delete unrelated attributes - del(f3.attrs['History_Log']) - del(f3.attrs['Logname']) - del(f3.attrs['Version']) - del(f3.attrs['Host']) - del(f3.attrs['Compiler_Optimized']) - # mode 'w' overwrites file f3.to_netcdf(path=self.fsurf_out, mode='w') - print('created file (fsurf_out)'+self.fsurf_out) + print('Successfully created file (fsurf_out) :'+self.fsurf_out) + print( "----------------------------------------------------------------------") f2.close(); f3.close() def create_datmdomain_at_point(self): @@ -578,9 +601,11 @@ class SinglePointCase (BaseCase): # expand dimensions f3 = f3.expand_dims(['nj','ni']) wfile=self.fdatmdomain_out + #update attributes + self.update_metadata(f3) # mode 'w' overwrites file f3.to_netcdf(path=wfile, mode='w') - print('created file '+self.fdatmdomain_out) + print('Successfully created file (fdatmdomain_out) :'+self.fdatmdomain_out) f2.close(); f3.close() def extract_datm_at(self, file_in, file_out): @@ -593,6 +618,8 @@ class SinglePointCase (BaseCase): # specify dimension order f3 = f3.transpose(u'scalar','time','lat','lon') + #update attributes + self.update_metadata(f3) # mode 'w' overwrites file f3.to_netcdf(path=file_out, mode='w') f2.close(); f3.close() @@ -630,10 +657,12 @@ class SinglePointCase (BaseCase): nm=len(infile) for n in range(nm): + print ('~~~~') + print (n) print(outfile[n]) file_in = infile[n] file_out = outfile[n] - self.extract_at(file_in, file_out) + self.extract_datm_at(file_in, file_out) print('datm files written to: '+dir_output_datm) @@ -716,27 +745,17 @@ class RegionalCase (BaseCase): f2.close(); f3.close() -def setup_logging(log_path, log_level): +def setup_logging(log_file, log_level): """ Setup logging to log to console and log file. - - # Log Levels - # ------------ - # CRITICAL 50 - # ERROR 40 - # WARNING 30 - # INFO 20 - # DEBUG 10 - # NOTSET 0 """ root_logger = logging.getLogger() root_logger.setLevel(log_level) # setup log file - one_MB = 1000000 - handler = logging.handlers.RotatingFileHandler( - log_path, maxBytes=(one_MB * 20), backupCount=5) + one_mb = 1000000 + handler = logging.handlers.RotatingFileHandler(log_file, maxBytes=one_mb , backupCount=10) fmt = logging.Formatter( '%(asctime)s %(name)-12s %(levelname)-8s %(message)s', @@ -746,9 +765,9 @@ def setup_logging(log_path, log_level): root_logger.addHandler(handler) # setup logging to console - strm_hndlr = logging.StreamHandler(sys.stdout) - strm_hndlr.setFormatter(fmt) - root_logger.addHandler(strm_hndlr) + stream_handler = logging.StreamHandler(sys.stdout) + stream_handler.setFormatter(fmt) + root_logger.addHandler(stream_handler) # redirect stdout/err to log file StreamToLogger.setup_stdout() @@ -759,6 +778,8 @@ def setup_logging(log_path, log_level): class StreamToLogger(object): """ Custom class to log all stdout and stderr streams. + modified from: + https://www.electricmonk.nl/log/2011/08/14/redirect-stdout-and-stderr-to-a-logger-in-python/ """ def __init__(self, stream, logger, log_level=logging.INFO, also_log_to_stream=False): @@ -774,8 +795,7 @@ class StreamToLogger(object): Setup logger for stdout """ stdout_logger = logging.getLogger('STDOUT') - sl = StreamToLogger( - sys.stdout, stdout_logger, logging.INFO, also_log_to_stream) + sl = StreamToLogger(sys.stdout, stdout_logger, logging.INFO, also_log_to_stream) sys.stdout = sl @classmethod @@ -784,19 +804,13 @@ class StreamToLogger(object): Setup logger for stdout """ stderr_logger = logging.getLogger('STDERR') - sl = StreamToLogger( - sys.stderr, stderr_logger, logging.ERROR, also_log_to_stream) + sl = StreamToLogger(sys.stderr, stderr_logger, logging.ERROR, also_log_to_stream) sys.stderr = sl def write(self, buf): temp_linebuf = self.linebuf + buf self.linebuf = '' for line in temp_linebuf.splitlines(True): - # From the io.TextIOWrapper docs: - # On output, if newline is None, any '\n' characters written - # are translated to the system default line separator. - # By default sys.stdout.write() expects '\n' newlines and then - # translates them so this is still cross platform. if line[-1] == '\n': self.logger.log(self.log_level, line.rstrip()) else: @@ -804,7 +818,7 @@ class StreamToLogger(object): def flush(self): if self.linebuf != '': - self.logger.log(self.log_level, self.linebuf.rstrip()) + self.logger.log(self.log_level, self.linebuf.rstrip()) self.linebuf = '' @@ -819,10 +833,13 @@ def main (): today = date.today() today_string = today.strftime("%Y%m%d") + pwd = os.getcwd() + log_file = os.path.join(pwd, today_string+'.log') log_level = logging.DEBUG setup_logging(log_file, log_level) + log = logging.getLogger(__name__) print("User = "+myname) print("Current directory = "+pwd) @@ -830,7 +847,6 @@ def main (): # --------------------------------- # if (args.run_type == "point"): - print( "============================================================================") print( "----------------------------------------------------------------------------") print( "This script extracts a single point from the global CTSM inputdata datasets." ) @@ -922,7 +938,10 @@ def main (): print ("fsurf_out :",fsurf_out) # #-- Specify landuse file ------------------------------------- - fluse_in = os.path.join (dir_inputdata,'lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_0.9x1.25_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c190214.nc') + if crop_flag: + fluse_in = os.path.join (dir_inputdata,'lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_0.9x1.25_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c190214.nc') + else: + fluse_in = os.path.join (dir_inputdata,'lnd/clm2/surfdata_map/release-clm5.0.18/landuse.timeseries_0.9x1.25_hist_78pfts_CMIP6_simyr1850-2015_c190214.nc') #fluse_out = dir_output + single_point.add_tag_to_filename( fluse_in, single_point.tag ) # remove resolution from filename for singlept cases fluse_out = dir_output + single_point.create_fileout_name(fluse_in, single_point.tag) single_point.fluse_in = fluse_in From e8d749aad2ce8a840d0f6bd54dbcc4cf41e1f6a8 Mon Sep 17 00:00:00 2001 From: Negin Sobhani Date: Thu, 29 Apr 2021 03:06:37 -0600 Subject: [PATCH 38/82] bug fix for datm create --- tools/contrib/singlept | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/contrib/singlept b/tools/contrib/singlept index ac85599f94..43fd9e1337 100755 --- a/tools/contrib/singlept +++ b/tools/contrib/singlept @@ -610,7 +610,7 @@ class SinglePointCase (BaseCase): def extract_datm_at(self, file_in, file_out): # create 1d coordinate variables to enable sel() method - f2 = self.create_1d_coord(file_in, 'xc','yc','ni','nj') + f2 = self.create_1d_coord(file_in, 'LONGXY','LATIXY','lon','lat') # extract gridcell closest to plon/plat f3 = f2.sel(lon=self.plon,lat=self.plat,method='nearest') # expand dimensions From 9771ba334d5eb03389770b565561e2f6f5919632 Mon Sep 17 00:00:00 2001 From: Negin Sobhani Date: Thu, 29 Apr 2021 03:49:39 -0600 Subject: [PATCH 39/82] Cleaning ups for singlept --- tools/contrib/singlept | 41 ++++++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/tools/contrib/singlept b/tools/contrib/singlept index 43fd9e1337..ad838d5e12 100755 --- a/tools/contrib/singlept +++ b/tools/contrib/singlept @@ -130,7 +130,7 @@ def get_parser(): action="store_true", dest="create_domain", required = False, - default = True) + default = False) pt_parser.add_argument('--create_surface', help='Flag for creating surface data file at single point. [default: %(default)s]', action="store", @@ -144,7 +144,7 @@ def get_parser(): dest="create_landuse", required = False, type = bool, - default = True) + default = False) pt_parser.add_argument('--create_datm', help='Flag for creating DATM forcing data at single point. [default: %(default)s]', action="store", @@ -421,20 +421,18 @@ class BaseCase : #delete unrelated attributes if they exist del_attrs = ['source_code', 'SVN_url', 'hostname', 'history' - 'History_Log', 'Logname', 'host', 'Version', + 'History_Log', 'Logname', 'Host', 'Version', 'Compiler_Optimized'] attr_list = nc.attrs - print ('-----') for attr in del_attrs: if attr in attr_list: + #print ("This attr should be deleted:", attr) del(nc.attrs[attr]) - print ("This attribute deleted:", attr) - print ('-----') - for attr, value in attr_list.items(): - print (attr + " = "+str(value)) + #for attr, value in attr_list.items(): + # print (attr + " = "+str(value)) @@ -493,14 +491,11 @@ class SinglePointCase (BaseCase): def create_fileout_name( filename,tag): basename = os.path.basename(filename) - print ("basename : " ,basename) items = basename.split('_') - print (items) today = date.today() today_string = today.strftime("%y%m%d") new_string = items[0]+"_"+items[2]+"_"+items[3]+"_"+ items[4] \ +"_"+items[5]+"_"+items[6]+"_"+tag+"_c"+today_string+".nc" - print ("new_string;",new_string) return new_string def create_domain_at_point (self): @@ -513,17 +508,19 @@ class SinglePointCase (BaseCase): # expand dimensions f3 = f3.expand_dims(['nj','ni']) + #update attributes self.update_metadata(f3) + f3.attrs['Created_from'] = self.fdomain_in + wfile=self.fdomain_out f3.to_netcdf(path=wfile, mode='w') print('Successfully created file (fdomain_out)'+self.fdomain_out) - print( "----------------------------------------------------------------------") f2.close(); f3.close() def create_landuse_at_point (self): print( "----------------------------------------------------------------------") - print ("Now creating landuse file at ", self.plon, self.plat, ".") + print ("Creating landuse file at ", self.plon, self.plat, ".") # create 1d coordinate variables to enable sel() method f2 = self.create_1d_coord(self.fluse_in, 'LONGXY','LATIXY','lsmlon','lsmlat') # extract gridcell closest to plon/plat @@ -543,17 +540,19 @@ class SinglePointCase (BaseCase): x.attrs['long_name']='Year of PFT data' f3['YEAR'] = x + #update attributes self.update_metadata(f3) + f3.attrs['Created_from'] = self.fluse_in + wfile = self.fluse_out # mode 'w' overwrites file f3.to_netcdf(path=wfile, mode='w') print('Successfully created file (luse_out)'+self.fluse_out,".") - print( "----------------------------------------------------------------------") f2.close(); f3.close() def create_surfdata_at_point(self): print( "----------------------------------------------------------------------") - print ("Now creating surface dataset file at ", self.plon, self.plat, ".") + print ("Creating surface dataset file at ", self.plon, self.plat, ".") # create 1d coordinate variables to enable sel() method filename = self.fsurf_in f2 = self.create_1d_coord(filename, 'LONGXY','LATIXY','lsmlon','lsmlat') @@ -585,13 +584,14 @@ class SinglePointCase (BaseCase): #update attributes self.update_metadata(f3) f3.attrs['Created_from'] = self.fsurf_in + del(f3.attrs['History_Log']) # mode 'w' overwrites file f3.to_netcdf(path=self.fsurf_out, mode='w') print('Successfully created file (fsurf_out) :'+self.fsurf_out) - print( "----------------------------------------------------------------------") f2.close(); f3.close() def create_datmdomain_at_point(self): + print( "----------------------------------------------------------------------") print("Creating DATM domain file at ", self.plon, self.plat, ".") # create 1d coordinate variables to enable sel() method filename = self.fdatmdomain_in @@ -603,6 +603,7 @@ class SinglePointCase (BaseCase): wfile=self.fdatmdomain_out #update attributes self.update_metadata(f3) + f3.attrs['Created_from'] = self.fdatmdomain_in # mode 'w' overwrites file f3.to_netcdf(path=wfile, mode='w') print('Successfully created file (fdatmdomain_out) :'+self.fdatmdomain_out) @@ -620,11 +621,15 @@ class SinglePointCase (BaseCase): #update attributes self.update_metadata(f3) + f3.attrs['Created_from'] = file_in # mode 'w' overwrites file f3.to_netcdf(path=file_out, mode='w') + print('Successfully created file :'+ file_out) f2.close(); f3.close() def create_datm_at_point(self): + print( "----------------------------------------------------------------------") + print("Creating DATM files at ", self.plon, self.plat, ".") #-- specify subdirectory names and filename prefixes solrdir = 'Solar/' precdir = 'Precip/' @@ -657,15 +662,13 @@ class SinglePointCase (BaseCase): nm=len(infile) for n in range(nm): - print ('~~~~') - print (n) print(outfile[n]) file_in = infile[n] file_out = outfile[n] self.extract_datm_at(file_in, file_out) - print('datm files written to: '+dir_output_datm) + print('All DATM files are created in: '+self.dir_output_datm) class RegionalCase (BaseCase): """ From ee07647e0b66d948d189f12546d8d43a7f215834 Mon Sep 17 00:00:00 2001 From: Negin Sobhani Date: Thu, 29 Apr 2021 03:54:22 -0600 Subject: [PATCH 40/82] update metadata for regional cases. --- tools/contrib/singlept | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tools/contrib/singlept b/tools/contrib/singlept index ad838d5e12..c9acbb11ef 100755 --- a/tools/contrib/singlept +++ b/tools/contrib/singlept @@ -702,6 +702,10 @@ class RegionalCase (BaseCase): yind=np.where((lat >= self.lat1) & (lat <= self.lat2))[0] f3=f2.isel(nj=yind,ni=xind) + #update attributes + self.update_metadata(f3) + f3.attrs['Created_from'] = self.fdomain_in + wfile=self.fdomain_out # mode 'w' overwrites file f3.to_netcdf(path=wfile, mode='w') @@ -722,6 +726,10 @@ class RegionalCase (BaseCase): yind=np.where((lat >= self.lat1) & (lat <= self.lat2))[0] f3=f2.isel(lsmlat=yind,lsmlon=xind) + #update attributes + self.update_metadata(f3) + f3.attrs['Created_from'] = self.fsurf_in + # mode 'w' overwrites file f3.to_netcdf(path=self.fsurf_out, mode='w') print('created file (fsurf_out)'+self.fsurf_out) @@ -741,6 +749,10 @@ class RegionalCase (BaseCase): yind=np.where((lat >= self.lat1) & (lat <= self.lat2))[0] f3=f2.isel(lsmlat=yind,lsmlon=xind) + #update attributes + self.update_metadata(f3) + f3.attrs['Created_from'] = self.fluse_in + wfile=self.fluse_out # mode 'w' overwrites file f3.to_netcdf(path=wfile, mode='w') From 879e5f83219b778f896e8671f38cf135f89421f3 Mon Sep 17 00:00:00 2001 From: Negin Sobhani Date: Thu, 29 Apr 2021 03:59:38 -0600 Subject: [PATCH 41/82] adding more help --- tools/contrib/singlept | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tools/contrib/singlept b/tools/contrib/singlept index c9acbb11ef..db39334db9 100755 --- a/tools/contrib/singlept +++ b/tools/contrib/singlept @@ -22,6 +22,9 @@ To see the available options for a region: ./subset_data reg --help ------------------------------------------------------------------- +This script extracts domain files, surface dataset, and DATM files +at either a single point or a region using the global dataset. + After creating a case using a global compset, run preview_namelist. From the resulting lnd_in file in the run directory, find the name of the domain file, and the surface data file. @@ -929,7 +932,6 @@ def main (): #-- Set time stamp today = date.today() timetag = today.strftime("%y%m%d") - print ("today_string:", timetag) #-- Specify land domain file --------------------------------- fdomain_in = os.path.join(dir_inputdata,'share/domains/domain.lnd.fv0.9x1.25_gx1v7.151020.nc') @@ -997,7 +999,7 @@ def main (): exit() elif (args.run_type == "reg"): - print ("running the script for the region") + print ("Running the script for the region") #-- Specify region to extract lat1 = args.lat1 lat2 = args.lat2 From b3d0bf5022ed84dc128fd1f10d357736e7f28396 Mon Sep 17 00:00:00 2001 From: Negin Sobhani Date: Thu, 29 Apr 2021 04:10:28 -0600 Subject: [PATCH 42/82] Removing a redundant sentence from help. --- tools/contrib/singlept | 4 ---- 1 file changed, 4 deletions(-) diff --git a/tools/contrib/singlept b/tools/contrib/singlept index db39334db9..96f27da5dc 100755 --- a/tools/contrib/singlept +++ b/tools/contrib/singlept @@ -10,10 +10,6 @@ load the following into your local environment module load python ncar_pylib -This is the script for extracting single-point or regional surface -dataset, domain file, landuse file, and DATM files from global -datasets. - ------------------------------------------------------------------- To see the available options for a single point: ./subset_data point --help From d8c35ea18a045a20ba010287788233176afbd893 Mon Sep 17 00:00:00 2001 From: Negin Sobhani Date: Thu, 29 Apr 2021 04:40:09 -0600 Subject: [PATCH 43/82] rename singlept to subset_data.py --- tools/contrib/{singlept => subset_data.py} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename tools/contrib/{singlept => subset_data.py} (100%) diff --git a/tools/contrib/singlept b/tools/contrib/subset_data.py similarity index 100% rename from tools/contrib/singlept rename to tools/contrib/subset_data.py From c759d82a30c44b0d68a3d357830a5a387c8a2a93 Mon Sep 17 00:00:00 2001 From: Negin Sobhani Date: Thu, 29 Apr 2021 04:42:17 -0600 Subject: [PATCH 44/82] removing subset_surfdata since the new code has that exact capability. --- tools/contrib/subset_surfdata | 141 ---------------------------------- 1 file changed, 141 deletions(-) delete mode 100755 tools/contrib/subset_surfdata diff --git a/tools/contrib/subset_surfdata b/tools/contrib/subset_surfdata deleted file mode 100755 index 4dbcbf3468..0000000000 --- a/tools/contrib/subset_surfdata +++ /dev/null @@ -1,141 +0,0 @@ -#! /usr/bin/env python -import sys -import os -from getpass import getuser -import string -import subprocess -import numpy as np -import xarray as xr - -def mprint(mstr): - vnum=sys.version_info[0] - if vnum == 3: - print(mstr) - if vnum == 2: - print mstr - -myname=getuser() -pwd=os.getcwd() -mprint(myname) -mprint(pwd) - -#creates regional surface dataset and domain file - -#-- Specify input and output directories -dir_output='/glade/scratch/'+myname+'/regional/' - -#-- Create regional CLM domain file -create_domain = True -#-- Create CLM surface data file -create_surfdata = True -#-- Create CLM surface data file -create_landuse = False - -tagnum=1 -if tagnum == 1: - tag='S.America' - - ln1=275. - ln2=330. - lt1=-40. - lt2=15. - -if tagnum == 2: - tag='Western.US' - - ln1=284. - ln2=296. - lt1=44. - lt2=53. - -#-- Set time stamp -command='date "+%y%m%d"' -x2=subprocess.Popen(command,stdout=subprocess.PIPE,shell='True') -x=x2.communicate() -timetag = x[0].strip() - -#-- Specify land domain file --------------------------------- -fdomain = '/glade/p/cesmdata/cseg/inputdata/share/domains/domain.lnd.fv1.9x2.5_gx1v7.170518.nc' -#fdomain2 = dir_output + 'domain.lnd.fv0.9x1.25_gx1v6.'+tag+'.090309.nc' -fdomain2 = dir_output + 'domain.lnd.fv1.9x2.5_gx1v7.'+tag+'_170518.nc' - -#-- Specify surface data file -------------------------------- -fsurf = '/glade/p/cesmdata/cseg/inputdata/lnd/clm2/surfdata_map/surfdata_1.9x2.5_78pfts_CMIP6_simyr1850_c170824.nc' -#fsurf2 = dir_output + 'surfdata_0.9x1.25_16pfts_CMIP6_simyr2000_'+tag+'.c170706.nc' -fsurf2 = dir_output + 'surfdata_1.9x2.5_78pfts_CMIP6_simyr1850_'+tag+'_c170824.nc' - -#-- Specify landuse file ------------------------------------- -fluse = '/glade/p/cesmdata/cseg/inputdata/lnd/clm2/surfdata_map/landuse.timeseries_1.9x2.5_hist_78pfts_CMIP6_simyr1850-2015_c170824.nc' -fluse2 = dir_output + 'landuse.timeseries_1.9x2.5_hist_78pfts_CMIP6_simyr1850-2015_'+tag+'.c170824.nc' - -#-- Create CTSM domain file -if create_domain: - f1 = xr.open_dataset(fdomain) - # create 1d coordinate variables to enable sel() method - lon0=np.asarray(f1['xc'][0,:]) - lat0=np.asarray(f1['yc'][:,0]) - lon=xr.DataArray(lon0,name='lon',dims='ni',coords={'ni':lon0}) - lat=xr.DataArray(lat0,name='lat',dims='nj',coords={'nj':lat0}) - # assign() not working on cheyenne - #f2=f1.assign({'lon':lon,'lat':lat}) - f2=f1.assign() - f2['lon'] = lon - f2['lat'] = lat - f2.reset_coords(['xc','yc'],inplace=True) - - # subset longitude and latitude arrays - xind=np.where((lon >= ln1) & (lon <= ln2))[0] - yind=np.where((lat >= lt1) & (lat <= lt2))[0] - f3=f2.isel(nj=yind,ni=xind) - - wfile=fdomain2 - # mode 'w' overwrites file - f3.to_netcdf(path=wfile, mode='w') - mprint('created file '+fdomain2) - f1.close(); f2.close(); f3.close() - -#-- Create CTSM surface data file -if create_surfdata: - f1 = xr.open_dataset(fsurf) - # create 1d variables - lon0=np.asarray(f1['LONGXY'][0,:]) - lon=xr.DataArray(lon0,name='lon',dims='lsmlon',coords={'lsmlon':lon0}) - lat0=np.asarray(f1['LATIXY'][:,0]) - lat=xr.DataArray(lat0,name='lat',dims='lsmlat',coords={'lsmlat':lat0}) - #f2=f1.assign({'lon':lon,'lat':lat}) - f2=f1.assign() - f2['lon'] = lon - f2['lat'] = lat - # subset longitude and latitude arrays - xind=np.where((lon >= ln1) & (lon <= ln2))[0] - yind=np.where((lat >= lt1) & (lat <= lt2))[0] - f3=f2.isel(lsmlat=yind,lsmlon=xind) - - # mode 'w' overwrites file - f3.to_netcdf(path=fsurf2, mode='w') - mprint('created file '+fsurf2) - f1.close(); f2.close(); f3.close() - -#-- Create CTSM transient landuse data file -if create_landuse: - f1 = xr.open_dataset(fluse) - # create 1d variables - lon0=np.asarray(f1['LONGXY'][0,:]) - lon=xr.DataArray(lon0,name='lon',dims='lsmlon',coords={'lsmlon':lon0}) - lat0=np.asarray(f1['LATIXY'][:,0]) - lat=xr.DataArray(lat0,name='lat',dims='lsmlat',coords={'lsmlat':lat0}) - #f2=f1.assign({'lon':lon,'lat':lat}) - f2=f1.assign() - f2['lon'] = lon - f2['lat'] = lat - # subset longitude and latitude arrays - xind=np.where((lon >= ln1) & (lon <= ln2))[0] - yind=np.where((lat >= lt1) & (lat <= lt2))[0] - f3=f2.isel(lsmlat=yind,lsmlon=xind) - # mode 'w' overwrites file - f3.to_netcdf(path=fluse2, mode='w') - mprint('created file '+fluse2) - f1.close(); f2.close(); f3.close() - - - From fdef37444cfa39824a325d53d49d75597dd8a8d8 Mon Sep 17 00:00:00 2001 From: Negin Sobhani Date: Thu, 29 Apr 2021 05:02:27 -0600 Subject: [PATCH 45/82] few changes to cmd line args formats... --- tools/contrib/subset_data.py | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/tools/contrib/subset_data.py b/tools/contrib/subset_data.py index 96f27da5dc..e52e0670dd 100755 --- a/tools/contrib/subset_data.py +++ b/tools/contrib/subset_data.py @@ -11,11 +11,11 @@ ncar_pylib ------------------------------------------------------------------- -To see the available options for a single point: - ./subset_data point --help +To see the available options for single point cases: + ./subset_data.py point --help -To see the available options for a region: - ./subset_data reg --help +To see the available options for regional cases: + ./subset_data.py reg --help ------------------------------------------------------------------- This script extracts domain files, surface dataset, and DATM files @@ -57,16 +57,20 @@ ------------------------------------------------------------------- To run the script for a single point: - ./subset_data point --help + ./subset_data.py point To run the script for a region: - ./subset_data reg --help + ./subset_data.py reg To remove NPL from your environment on Cheyenne/Casper: deactivate ------------------------------------------------------------------- """ +# TODO +# Automatic downloading of missing files if they are missing +# default 78 pft vs 16 pft + # Import libraries from __future__ import print_function @@ -139,17 +143,15 @@ def get_parser(): default = True) pt_parser.add_argument('--create_landuse', help='Flag for creating landuse data file at single point. [default: %(default)s]', - action="store", + action="store_true", dest="create_landuse", required = False, - type = bool, default = False) pt_parser.add_argument('--create_datm', help='Flag for creating DATM forcing data at single point. [default: %(default)s]', - action="store", + action="store_true", dest="create_datm", required = False, - type = bool, default = False) pt_parser.add_argument('--datm_syr', help='Start year for creating DATM forcing at single point. [default: %(default)s]', @@ -176,14 +178,14 @@ def get_parser(): dest="dom_pft", type =int, default=7) - pt_parser.add_argument('--unisnow', + pt_parser.add_argument('--no-unisnow', help='Create uniform snowpack. [default: %(default)s]', action="store", dest="uni_snow", type =bool, default=True) - pt_parser.add_argument('--overwrite_single_pft', - help='Make the whole grid 100% single PFT. [default: %(default)s]', + pt_parser.add_argument('--no-overwrite_single_pft', + help='Make the whole grid 100%% single PFT. [default: %(default)s]', action="store", dest="overwrite_single_pft", type =bool, @@ -258,17 +260,15 @@ def get_parser(): default = True) rg_parser.add_argument('--create_landuse', help='Flag for creating landuse data file for a region. [default: %(default)s]', - action="store", + action="store_true", dest="create_landuse", required = False, - type = bool, - default = True) + default = False) rg_parser.add_argument('--create_datm', help='Flag for creating DATM forcing data for a region. [default: %(default)s]', - action="store", + action="store_true", dest="create_datm", required = False, - type = bool, default = False) rg_parser.add_argument('--datm_syr', help='Start year for creating DATM forcing for a region. [default: %(default)s]', From 9ef8dd4c76a9edf8c79987564578bd22ad094545 Mon Sep 17 00:00:00 2001 From: Negin Sobhani Date: Thu, 29 Apr 2021 11:15:50 -0600 Subject: [PATCH 46/82] adding hash --- tools/contrib/subset_data.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/tools/contrib/subset_data.py b/tools/contrib/subset_data.py index e52e0670dd..401a4da7ed 100755 --- a/tools/contrib/subset_data.py +++ b/tools/contrib/subset_data.py @@ -330,6 +330,11 @@ def plon_type(x): raise argparse.ArgumentTypeError("ERROR: Latitude of single point should be between 0 and 360 or -180 and 180.") return x +def get_git_sha(): + """ + Returns Git short SHA for the currect directory. + """ + return subprocess.check_output(['git', 'rev-parse', '--short', 'HEAD']).strip().decode() class BaseCase : """ @@ -414,9 +419,13 @@ def update_metadata(nc): #update attributes today = date.today() today_string = today.strftime("%Y-%m-%d") + + #get git hash + sha = get_git_sha() + nc.attrs['Created_on'] = today_string nc.attrs['Created_by'] = myname - nc.attrs['Created_with'] = os.path.abspath(__file__) + nc.attrs['Created_with'] = os.path.abspath(__file__) + " -- "+sha #delete unrelated attributes if they exist del_attrs = ['source_code', 'SVN_url', 'hostname', 'history' From 1838110c7b656af9257fecce7ac08c5cc2572d9b Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Fri, 30 Apr 2021 15:02:37 -0600 Subject: [PATCH 47/82] Move NEON_YELL test to NIWO since we don't have data for YELL site yet, set CTSM streams for NEON to go from 2018 to 2019 --- .../testdefs/testmods_dirs/clm/NEON_NIWO/include_user_mods | 1 + .../testdefs/testmods_dirs/clm/NEON_YELL/include_user_mods | 1 - cime_config/usermods_dirs/NEON/defaults/user_nl_clm | 7 +++++++ 3 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 cime_config/testdefs/testmods_dirs/clm/NEON_NIWO/include_user_mods delete mode 100644 cime_config/testdefs/testmods_dirs/clm/NEON_YELL/include_user_mods diff --git a/cime_config/testdefs/testmods_dirs/clm/NEON_NIWO/include_user_mods b/cime_config/testdefs/testmods_dirs/clm/NEON_NIWO/include_user_mods new file mode 100644 index 0000000000..56aab07c3e --- /dev/null +++ b/cime_config/testdefs/testmods_dirs/clm/NEON_NIWO/include_user_mods @@ -0,0 +1 @@ +../../../../usermods_dirs/NEON/NIWO diff --git a/cime_config/testdefs/testmods_dirs/clm/NEON_YELL/include_user_mods b/cime_config/testdefs/testmods_dirs/clm/NEON_YELL/include_user_mods deleted file mode 100644 index e04c779efe..0000000000 --- a/cime_config/testdefs/testmods_dirs/clm/NEON_YELL/include_user_mods +++ /dev/null @@ -1 +0,0 @@ -../../../../usermods_dirs/NEON/YELL diff --git a/cime_config/usermods_dirs/NEON/defaults/user_nl_clm b/cime_config/usermods_dirs/NEON/defaults/user_nl_clm index 7d839a8db8..7f21e70971 100644 --- a/cime_config/usermods_dirs/NEON/defaults/user_nl_clm +++ b/cime_config/usermods_dirs/NEON/defaults/user_nl_clm @@ -18,4 +18,11 @@ ! Set glc_do_dynglacier with GLC_TWO_WAY_COUPLING env variable !---------------------------------------------------------------------------------- +flanduse_timeseries = ' ' fsurdat = "$DIN_LOC_ROOT/lnd/clm2/surfdata_map/NEON/surfdata_hist_16pfts_Irrig_CMIP6_simyr2000_${NEONSITE}_c210415.nc" +stream_year_first_urbantv = 2018 +stream_year_lastt_urbantv = 2019 +stream_year_first_ndep = 2018 +stream_year_lastt_ndep = 2019 +stream_year_first_popdens = 2018 +stream_year_lastt_popdens = 2019 From 57f7a040c6d325ccf26a8fa24eab0870d0ac0b0b Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Fri, 30 Apr 2021 15:04:51 -0600 Subject: [PATCH 48/82] Make the new compset for singlepoint/NEON use the latest CLM version. We will need to keep adding a new compset as physics versions are added --- cime_config/config_compsets.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cime_config/config_compsets.xml b/cime_config/config_compsets.xml index ed6a1bf994..01a1842104 100644 --- a/cime_config/config_compsets.xml +++ b/cime_config/config_compsets.xml @@ -36,10 +36,10 @@ - - I1PtClm50Bgc - 2000_DATM%1PT_CLM50%BGC_SICE_SOCN_SROF_SGLC_SWAV - + + I1PtClm51Bgc + 2000_DATM%1PT_CLM51%BGC_SICE_SOCN_SROF_SGLC_SWAV + I1PtClm51SpRs From 9f8f8d6e6af25c37127a60ec50be3e25cf0dfe34 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Fri, 30 Apr 2021 15:05:37 -0600 Subject: [PATCH 49/82] Move setting outside of loop --- bld/unit_testers/build-namelist_test.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bld/unit_testers/build-namelist_test.pl b/bld/unit_testers/build-namelist_test.pl index 7b87545d69..9282c5cfeb 100755 --- a/bld/unit_testers/build-namelist_test.pl +++ b/bld/unit_testers/build-namelist_test.pl @@ -354,6 +354,7 @@ sub cat_and_create_namelistinfile { my $phys = "clm5_1"; $mode = "-phys $phys"; &make_config_cache($phys); +my $neondir = "../../cime_config/usermods_dirs/NEON"; foreach my $site ( "ABBY", "BLAN", "CPER", "DEJU", "GRSM", "HEAL", "KONA", "LENO", "NIWO", "ONAQ", "PUUM", "SERC", "SRER", "TALL", "TREE", "WOOD", "BARR", "BONA", "DCFS", "DELA", "GUAN", "JERC", "KONZ", "MLBS", "NOGP", "ORNL", "RMNP", @@ -365,7 +366,6 @@ sub cat_and_create_namelistinfile { # # Concatonate default usermods and specific sitetogether expanding env variables while doing that # - my $neondir = "../../cime_config/usermods_dirs/NEON"; if ( ! -d "$neondir/$site" ) { print "NEON directory is not there: $neondir/$site\n"; die "ERROR:: NEON site does not exist: $site\n"; From 614ef4b154da804f8b35f849f60c463ba8909b3d Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Fri, 30 Apr 2021 15:06:14 -0600 Subject: [PATCH 50/82] Update cime and cdeps version which is needed for the NEON sites --- Externals.cfg | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Externals.cfg b/Externals.cfg index 8fdff0ac4b..a1128b798b 100644 --- a/Externals.cfg +++ b/Externals.cfg @@ -37,21 +37,21 @@ required = True local_path = cime protocol = git repo_url = https://github.com/ESMCI/cime -tag = branch_tags/cime5.8.42_a01 +tag = cime5.8.43 required = True [cmeps] local_path = cime/src/drivers/nuopc/ protocol = git repo_url = https://github.com/ESCOMP/CMEPS.git -tag = v0.9.0 +tag = v0.10.0 required = True [cdeps] local_path = components/cdeps protocol = git repo_url = https://github.com/ESCOMP/CDEPS.git -tag = v0.6.0 +tag = v0.9.0 required = True [doc-builder] From 392e6941bc7d2c9d6e8f25572707ff1783ecabaf Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Fri, 30 Apr 2021 15:10:08 -0600 Subject: [PATCH 51/82] Change NEON test to point to NIWO site where we have data, and use the Clm51 compset as we want NEON to use the latest physics version going forward --- cime_config/testdefs/testlist_clm.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cime_config/testdefs/testlist_clm.xml b/cime_config/testdefs/testlist_clm.xml index 90cedb07dd..0bd306d231 100644 --- a/cime_config/testdefs/testlist_clm.xml +++ b/cime_config/testdefs/testlist_clm.xml @@ -1672,7 +1672,7 @@ - + From d6a612b7944b67e798da125c166c614e0e42f7e6 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Fri, 30 Apr 2021 15:31:19 -0600 Subject: [PATCH 52/82] Fix typo in last, add settings for start and end year --- .../usermods_dirs/NEON/defaults/shell_commands | 1 + cime_config/usermods_dirs/NEON/defaults/user_nl_clm | 11 +++++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/cime_config/usermods_dirs/NEON/defaults/shell_commands b/cime_config/usermods_dirs/NEON/defaults/shell_commands index 77beb2358d..1aa950e6d0 100644 --- a/cime_config/usermods_dirs/NEON/defaults/shell_commands +++ b/cime_config/usermods_dirs/NEON/defaults/shell_commands @@ -1 +1,2 @@ ./xmlchange CLM_USRDAT_NAME=NEON +./xmlchange DATM_YR_ALIGN=2018,DATM_YR_END=2019,DATM_YR_START=2018 diff --git a/cime_config/usermods_dirs/NEON/defaults/user_nl_clm b/cime_config/usermods_dirs/NEON/defaults/user_nl_clm index 7f21e70971..16b4b03958 100644 --- a/cime_config/usermods_dirs/NEON/defaults/user_nl_clm +++ b/cime_config/usermods_dirs/NEON/defaults/user_nl_clm @@ -18,11 +18,14 @@ ! Set glc_do_dynglacier with GLC_TWO_WAY_COUPLING env variable !---------------------------------------------------------------------------------- -flanduse_timeseries = ' ' +flanduse_timeseries = ' ' ! This isn't needed for a non transient case, but will be once we start using transient compsets fsurdat = "$DIN_LOC_ROOT/lnd/clm2/surfdata_map/NEON/surfdata_hist_16pfts_Irrig_CMIP6_simyr2000_${NEONSITE}_c210415.nc" +model_year_align_urbantv = 2018 stream_year_first_urbantv = 2018 -stream_year_lastt_urbantv = 2019 +stream_year_last_urbantv = 2019 stream_year_first_ndep = 2018 -stream_year_lastt_ndep = 2019 +model_year_align_ndep = 2018 +stream_year_last_ndep = 2019 +model_year_align_popdens = 2018 stream_year_first_popdens = 2018 -stream_year_lastt_popdens = 2019 +stream_year_last_popdens = 2019 From afefc2de7fdb55780c275764a78af0af7c91df43 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Fri, 30 Apr 2021 15:46:09 -0600 Subject: [PATCH 53/82] Set start date to 2018, set CLM use case to the SSP3-7.0 future scenario so it will have data for 2018-2019, set ndep_taxmode to limit, so won't try to cycle or extend outside of valid data --- cime_config/usermods_dirs/NEON/defaults/shell_commands | 2 ++ cime_config/usermods_dirs/NEON/defaults/user_nl_clm | 1 + 2 files changed, 3 insertions(+) diff --git a/cime_config/usermods_dirs/NEON/defaults/shell_commands b/cime_config/usermods_dirs/NEON/defaults/shell_commands index 1aa950e6d0..d06ddb2fc6 100644 --- a/cime_config/usermods_dirs/NEON/defaults/shell_commands +++ b/cime_config/usermods_dirs/NEON/defaults/shell_commands @@ -1,2 +1,4 @@ ./xmlchange CLM_USRDAT_NAME=NEON +./xmlchange RUN_STARTDATE=2018-01-01 +./xmlchange CLM_NML_USE_CASE=1850-2100_SSP3-7.0_transient ./xmlchange DATM_YR_ALIGN=2018,DATM_YR_END=2019,DATM_YR_START=2018 diff --git a/cime_config/usermods_dirs/NEON/defaults/user_nl_clm b/cime_config/usermods_dirs/NEON/defaults/user_nl_clm index 16b4b03958..086f79844e 100644 --- a/cime_config/usermods_dirs/NEON/defaults/user_nl_clm +++ b/cime_config/usermods_dirs/NEON/defaults/user_nl_clm @@ -20,6 +20,7 @@ flanduse_timeseries = ' ' ! This isn't needed for a non transient case, but will be once we start using transient compsets fsurdat = "$DIN_LOC_ROOT/lnd/clm2/surfdata_map/NEON/surfdata_hist_16pfts_Irrig_CMIP6_simyr2000_${NEONSITE}_c210415.nc" +ndep_taxmode = 'limit' model_year_align_urbantv = 2018 stream_year_first_urbantv = 2018 stream_year_last_urbantv = 2019 From 643147bb8a920f593cc93901a002b421b1a03a9e Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Fri, 30 Apr 2021 16:12:29 -0600 Subject: [PATCH 54/82] Set orb_year to 2018 and use 2018 CO2 value, and have PRESAERO use SSP3-7.0 so has 2018-2019 data --- .../NEON/defaults/shell_commands | 2 ++ .../usermods_dirs/NEON/defaults/user_nl_cpl | 20 +++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 cime_config/usermods_dirs/NEON/defaults/user_nl_cpl diff --git a/cime_config/usermods_dirs/NEON/defaults/shell_commands b/cime_config/usermods_dirs/NEON/defaults/shell_commands index d06ddb2fc6..2ebe1b4f86 100644 --- a/cime_config/usermods_dirs/NEON/defaults/shell_commands +++ b/cime_config/usermods_dirs/NEON/defaults/shell_commands @@ -1,4 +1,6 @@ ./xmlchange CLM_USRDAT_NAME=NEON ./xmlchange RUN_STARTDATE=2018-01-01 ./xmlchange CLM_NML_USE_CASE=1850-2100_SSP3-7.0_transient +./xmlchange CCSM_CO2_PPMV=408.83 +./xmlchange DATM_PRESAERO=SSP3-7.0 ./xmlchange DATM_YR_ALIGN=2018,DATM_YR_END=2019,DATM_YR_START=2018 diff --git a/cime_config/usermods_dirs/NEON/defaults/user_nl_cpl b/cime_config/usermods_dirs/NEON/defaults/user_nl_cpl new file mode 100644 index 0000000000..e7f6c90a86 --- /dev/null +++ b/cime_config/usermods_dirs/NEON/defaults/user_nl_cpl @@ -0,0 +1,20 @@ +!------------------------------------------------------------------------ +! Users should ONLY USE user_nl_cpl to change namelists variables +! for namelist variables in drv_in (except for the ones below) and +! any keyword/values in seq_maps.rc +! Users should add ALL user specific namelist and seq_maps.rc changes below +! using the following syntax +! namelist_var = new_namelist_value +! or +! mapname = new_map_name +! For example to change the default value of ocn2atm_fmapname to 'foo' use +! ocn2atm_fmapname = 'foo' +! +! Note that some namelist variables MAY NOT be changed in user_nl_cpl - +! they are defined in a $CASEROOT xml file and must be changed with +! xmlchange. +! +! For example, rather than set username to 'foo' in user_nl_cpl, call +! ./xmlchange USER=foo +!------------------------------------------------------------------------ +orb_iyear = 2018 From 115044c70c7968bea9b01e8de6682a708ad30f54 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Fri, 30 Apr 2021 17:07:49 -0600 Subject: [PATCH 55/82] Externals is needed for cdeps to bring in the fox library --- Externals.cfg | 1 + 1 file changed, 1 insertion(+) diff --git a/Externals.cfg b/Externals.cfg index a1128b798b..888337830c 100644 --- a/Externals.cfg +++ b/Externals.cfg @@ -52,6 +52,7 @@ local_path = components/cdeps protocol = git repo_url = https://github.com/ESCOMP/CDEPS.git tag = v0.9.0 +externals = Externals_CDEPS.cfg required = True [doc-builder] From 8e6fe7df0aae0e75141835d1442306d0c927f878 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Fri, 30 Apr 2021 17:28:41 -0600 Subject: [PATCH 56/82] Set NIWO NEON longitude to what's on the surface dataset, and remove the limit setting for ndep as it complains about starting before the first midmonth time. Perhaps this could be gotten around if the first and last year is one year before and one year after the start years of 2018 and 2019 --- cime_config/usermods_dirs/NEON/defaults/user_nl_clm | 1 - 1 file changed, 1 deletion(-) diff --git a/cime_config/usermods_dirs/NEON/defaults/user_nl_clm b/cime_config/usermods_dirs/NEON/defaults/user_nl_clm index 086f79844e..16b4b03958 100644 --- a/cime_config/usermods_dirs/NEON/defaults/user_nl_clm +++ b/cime_config/usermods_dirs/NEON/defaults/user_nl_clm @@ -20,7 +20,6 @@ flanduse_timeseries = ' ' ! This isn't needed for a non transient case, but will be once we start using transient compsets fsurdat = "$DIN_LOC_ROOT/lnd/clm2/surfdata_map/NEON/surfdata_hist_16pfts_Irrig_CMIP6_simyr2000_${NEONSITE}_c210415.nc" -ndep_taxmode = 'limit' model_year_align_urbantv = 2018 stream_year_first_urbantv = 2018 stream_year_last_urbantv = 2019 From eb5f2e3096012a91ee0e6c76c2c48314d7ea9ec1 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Fri, 30 Apr 2021 22:09:01 -0600 Subject: [PATCH 57/82] Set the long to the same value on the surface dataset, and set the end year to 2018 as we only have a single year now --- cime_config/usermods_dirs/NEON/NIWO/shell_commands | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cime_config/usermods_dirs/NEON/NIWO/shell_commands b/cime_config/usermods_dirs/NEON/NIWO/shell_commands index 65926f2188..38f6da8697 100644 --- a/cime_config/usermods_dirs/NEON/NIWO/shell_commands +++ b/cime_config/usermods_dirs/NEON/NIWO/shell_commands @@ -1,3 +1,4 @@ ./xmlchange NEONSITE=NIWO -./xmlchange PTS_LON=254.41676 +./xmlchange PTS_LON=255. # This may be wrong ./xmlchange PTS_LAT=40.05236 +./xmlchange DATM_YR_END=2018 From b06af57e1ed44773a297fe73a45bb84afc270665 Mon Sep 17 00:00:00 2001 From: Negin Sobhani Date: Mon, 3 May 2021 09:46:02 -0600 Subject: [PATCH 58/82] fixing some minor cmd line parser issues. --- tools/contrib/subset_data.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/tools/contrib/subset_data.py b/tools/contrib/subset_data.py index 401a4da7ed..0d9b59a029 100755 --- a/tools/contrib/subset_data.py +++ b/tools/contrib/subset_data.py @@ -180,15 +180,13 @@ def get_parser(): default=7) pt_parser.add_argument('--no-unisnow', help='Create uniform snowpack. [default: %(default)s]', - action="store", + action="store_false", dest="uni_snow", - type =bool, default=True) pt_parser.add_argument('--no-overwrite_single_pft', help='Make the whole grid 100%% single PFT. [default: %(default)s]', - action="store", + action="store_false", dest="overwrite_single_pft", - type =bool, default=True) pt_parser.add_argument('--zero_nonveg', help='Set all non-vegetation landunits to zero. [default: %(default)s]', @@ -324,8 +322,9 @@ def plon_type(x): """ x = float(x) if (-180 < x) and (x < 0): + print ("lon is :", lon) x= x%360 - print ("khar") + print ("after modulo lon is :", lon) if (x < 0) or (x > 360): raise argparse.ArgumentTypeError("ERROR: Latitude of single point should be between 0 and 360 or -180 and 180.") return x From 56b41145fb4442fc9de1985c807339cfe1ae8489 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Mon, 3 May 2021 13:27:37 -0600 Subject: [PATCH 59/82] Add a nuopc and mct version of USUMB test-mod --- .../clm/{USUMB => USUMB_mct}/shell_commands | 0 .../clm/{USUMB => USUMB_mct}/user_nl_clm | 0 .../clm/USUMB_nuopc/shell_commands | 19 +++++++++++++++++++ .../testmods_dirs/clm/USUMB_nuopc/user_nl_clm | 5 +++++ 4 files changed, 24 insertions(+) rename cime_config/testdefs/testmods_dirs/clm/{USUMB => USUMB_mct}/shell_commands (100%) rename cime_config/testdefs/testmods_dirs/clm/{USUMB => USUMB_mct}/user_nl_clm (100%) create mode 100755 cime_config/testdefs/testmods_dirs/clm/USUMB_nuopc/shell_commands create mode 100644 cime_config/testdefs/testmods_dirs/clm/USUMB_nuopc/user_nl_clm diff --git a/cime_config/testdefs/testmods_dirs/clm/USUMB/shell_commands b/cime_config/testdefs/testmods_dirs/clm/USUMB_mct/shell_commands similarity index 100% rename from cime_config/testdefs/testmods_dirs/clm/USUMB/shell_commands rename to cime_config/testdefs/testmods_dirs/clm/USUMB_mct/shell_commands diff --git a/cime_config/testdefs/testmods_dirs/clm/USUMB/user_nl_clm b/cime_config/testdefs/testmods_dirs/clm/USUMB_mct/user_nl_clm similarity index 100% rename from cime_config/testdefs/testmods_dirs/clm/USUMB/user_nl_clm rename to cime_config/testdefs/testmods_dirs/clm/USUMB_mct/user_nl_clm diff --git a/cime_config/testdefs/testmods_dirs/clm/USUMB_nuopc/shell_commands b/cime_config/testdefs/testmods_dirs/clm/USUMB_nuopc/shell_commands new file mode 100755 index 0000000000..2ffab9de10 --- /dev/null +++ b/cime_config/testdefs/testmods_dirs/clm/USUMB_nuopc/shell_commands @@ -0,0 +1,19 @@ +# shell commands to execute xmlchange commands written by PTCLMmkdata: +# ./PTCLMmkdata --cesm_root ../../../.. -s US-UMB -d /glade/p/cesm/cseg/inputdata --mydatadir=/glade/p/cesm/cseg/inputdata/lnd/clm2/PTCLMmydatafiles.c171024 +./xmlchange CLM_USRDAT_NAME=1x1pt_US-UMB +./xmlchange DATM_YR_START=1999 +./xmlchange DATM_YR_END=2006 +# Comment this out if NINST_LND is greater than 1 (see: http://bugs.cgd.ucar.edu/show_bug.cgi?id=2521) +./xmlchange MPILIB=mpi-serial +./xmlchange ATM_DOMAIN_PATH=/glade/p/cesm/cseg/inputdata/lnd/clm2/PTCLMmydatafiles.c171024/1x1pt_US-UMB +./xmlchange LND_DOMAIN_PATH=/glade/p/cesm/cseg/inputdata/lnd/clm2/PTCLMmydatafiles.c171024/1x1pt_US-UMB +./xmlchange ATM_DOMAIN_FILE=domain.lnd.1x1pt_US-UMB_navy.171024.nc +./xmlchange LND_DOMAIN_FILE=domain.lnd.1x1pt_US-UMB_navy.171024.nc +./xmlchange --append CLM_BLDNML_OPTS='-mask navy -no-crop' +./xmlchange CALENDAR=GREGORIAN +./xmlchange DOUT_S=FALSE +./xmlchange ATM_NCPL=24 +./xmlchange RUN_STARTDATE=1999-01-01 +./xmlchange DATM_YR_ALIGN=1999 +./xmlchange DIN_LOC_ROOT=/glade/p/cesm/cseg/inputdata +./xmlchange DIN_LOC_ROOT_CLMFORC=/glade/p/cesm/cseg/inputdata/lnd/clm2/PTCLMmydatafiles.c171024 diff --git a/cime_config/testdefs/testmods_dirs/clm/USUMB_nuopc/user_nl_clm b/cime_config/testdefs/testmods_dirs/clm/USUMB_nuopc/user_nl_clm new file mode 100644 index 0000000000..38ce400297 --- /dev/null +++ b/cime_config/testdefs/testmods_dirs/clm/USUMB_nuopc/user_nl_clm @@ -0,0 +1,5 @@ +! user_nl_clm namelist options written by PTCLMmkdata: +! ./PTCLMmkdata --cesm_root ../../../.. -s US-UMB -d /glade/p/cesm/cseg/inputdata --mydatadir=/glade/p/cesm/cseg/inputdata/lnd/clm2/PTCLMmydatafiles.c171024 + fsurdat = '/glade/p/cesm/cseg/inputdata/lnd/clm2/PTCLMmydatafiles.c171024/1x1pt_US-UMB/surfdata_1x1pt_US-UMB_16pfts_Irrig_CMIP6_simyr2000_c171024.nc' + hist_nhtfrq = 0 + hist_mfilt = 1200 From 5be9a7f5b2cce756790ea785a9be4d124f442529 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Mon, 3 May 2021 13:28:30 -0600 Subject: [PATCH 60/82] Update cdeps external to version that can modify the years run over --- Externals.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Externals.cfg b/Externals.cfg index 888337830c..840ab00ba0 100644 --- a/Externals.cfg +++ b/Externals.cfg @@ -51,7 +51,7 @@ required = True local_path = components/cdeps protocol = git repo_url = https://github.com/ESCOMP/CDEPS.git -tag = v0.9.0 +tag = v0.11.4 externals = Externals_CDEPS.cfg required = True From f34deef171243b1242d6e157ea3afbd54364182a Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Tue, 4 May 2021 13:31:48 -0600 Subject: [PATCH 61/82] Remove setting of domain files and set lat/lon in xml as is required for NUOPC --- .../testdefs/testmods_dirs/clm/USUMB_nuopc/shell_commands | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/cime_config/testdefs/testmods_dirs/clm/USUMB_nuopc/shell_commands b/cime_config/testdefs/testmods_dirs/clm/USUMB_nuopc/shell_commands index 2ffab9de10..08a9014abe 100755 --- a/cime_config/testdefs/testmods_dirs/clm/USUMB_nuopc/shell_commands +++ b/cime_config/testdefs/testmods_dirs/clm/USUMB_nuopc/shell_commands @@ -5,10 +5,6 @@ ./xmlchange DATM_YR_END=2006 # Comment this out if NINST_LND is greater than 1 (see: http://bugs.cgd.ucar.edu/show_bug.cgi?id=2521) ./xmlchange MPILIB=mpi-serial -./xmlchange ATM_DOMAIN_PATH=/glade/p/cesm/cseg/inputdata/lnd/clm2/PTCLMmydatafiles.c171024/1x1pt_US-UMB -./xmlchange LND_DOMAIN_PATH=/glade/p/cesm/cseg/inputdata/lnd/clm2/PTCLMmydatafiles.c171024/1x1pt_US-UMB -./xmlchange ATM_DOMAIN_FILE=domain.lnd.1x1pt_US-UMB_navy.171024.nc -./xmlchange LND_DOMAIN_FILE=domain.lnd.1x1pt_US-UMB_navy.171024.nc ./xmlchange --append CLM_BLDNML_OPTS='-mask navy -no-crop' ./xmlchange CALENDAR=GREGORIAN ./xmlchange DOUT_S=FALSE @@ -17,3 +13,5 @@ ./xmlchange DATM_YR_ALIGN=1999 ./xmlchange DIN_LOC_ROOT=/glade/p/cesm/cseg/inputdata ./xmlchange DIN_LOC_ROOT_CLMFORC=/glade/p/cesm/cseg/inputdata/lnd/clm2/PTCLMmydatafiles.c171024 +./xmlchange PTS_LON=275.2862 +./xmlchange PTS_LAT=45.5598 From b854ad6b0b3e393cf4f1ab100edd3d085ef0cd14 Mon Sep 17 00:00:00 2001 From: Negin Sobhani Date: Wed, 5 May 2021 14:35:59 -0600 Subject: [PATCH 62/82] addressing some comments on the flags helps and types --- tools/contrib/subset_data.py | 103 +++++++++++++++++++++++++---------- 1 file changed, 75 insertions(+), 28 deletions(-) diff --git a/tools/contrib/subset_data.py b/tools/contrib/subset_data.py index 0d9b59a029..770c57bc9b 100755 --- a/tools/contrib/subset_data.py +++ b/tools/contrib/subset_data.py @@ -102,9 +102,9 @@ def get_parser(): help='Two possible ways to run this sript, either:', dest ='run_type') pt_parser = subparsers.add_parser('point', - help = 'Run script for a single point') + help = 'Run script for a single point.') rg_parser = subparsers.add_parser('reg', - help = 'Run script for a region') + help = 'Run script for a region.') pt_parser.add_argument('--lat', @@ -130,27 +130,38 @@ def get_parser(): default = '') pt_parser.add_argument('--create_domain', help='Flag for creating CLM domain file at single point. [default: %(default)s]', - action="store_true", + action="store", dest="create_domain", + type = str2bool, + nargs = '?', + const = True, required = False, default = False) pt_parser.add_argument('--create_surface', help='Flag for creating surface data file at single point. [default: %(default)s]', action="store", dest="create_surfdata", + type = str2bool, + nargs = '?', + const = True, required = False, - type = bool, default = True) pt_parser.add_argument('--create_landuse', help='Flag for creating landuse data file at single point. [default: %(default)s]', - action="store_true", + action="store", dest="create_landuse", + type = str2bool, + nargs = '?', + const = True, required = False, default = False) pt_parser.add_argument('--create_datm', help='Flag for creating DATM forcing data at single point. [default: %(default)s]', - action="store_true", + action="store", dest="create_datm", + type = str2bool, + nargs = '?', + const = True, required = False, default = False) pt_parser.add_argument('--datm_syr', @@ -179,12 +190,12 @@ def get_parser(): type =int, default=7) pt_parser.add_argument('--no-unisnow', - help='Create uniform snowpack. [default: %(default)s]', + help='Turn off the flag for create uniform snowpack. [default: %(default)s]', action="store_false", dest="uni_snow", default=True) pt_parser.add_argument('--no-overwrite_single_pft', - help='Make the whole grid 100%% single PFT. [default: %(default)s]', + help='Turn off the flag for making the whole grid 100%% single PFT. [default: %(default)s]', action="store_false", dest="overwrite_single_pft", default=True) @@ -195,7 +206,7 @@ def get_parser(): type =bool, default=True) pt_parser.add_argument('--no_saturation_excess', - help='No Saturation Excess. [default: %(default)s]', + help='Turn off the flag for saturation excess. [default: %(default)s]', action="store", dest="no_saturation_excess", type =bool, @@ -241,33 +252,43 @@ def get_parser(): dest="reg_name", required = False, type = str, - default = '') + default = '') rg_parser.add_argument('--create_domain', help='Flag for creating CLM domain file for a region. [default: %(default)s]', - action="store", - dest="create_domain", - required = False, - type = bool, - default = True) + action="store", + dest="create_domain", + type = str2bool, + nargs = '?', + const = True, + required = False, + default = False) rg_parser.add_argument('--create_surface', help='Flag for creating surface data file for a region. [default: %(default)s]', - action="store", - dest="create_surfdata", - required = False, - type = bool, - default = True) + action="store", + dest="create_surfdata", + type = str2bool, + nargs = '?', + const = True, + required = False, + default = True) rg_parser.add_argument('--create_landuse', help='Flag for creating landuse data file for a region. [default: %(default)s]', - action="store_true", - dest="create_landuse", - required = False, - default = False) + action="store", + dest="create_landuse", + type = str2bool, + nargs = '?', + const = True, + required = False, + default = False) rg_parser.add_argument('--create_datm', help='Flag for creating DATM forcing data for a region. [default: %(default)s]', - action="store_true", - dest="create_datm", - required = False, - default = False) + action="store", + dest="create_datm", + type = str2bool, + nargs = '?', + const = True, + required = False, + default = False) rg_parser.add_argument('--datm_syr', help='Start year for creating DATM forcing for a region. [default: %(default)s]', action="store", @@ -302,6 +323,32 @@ def get_parser(): return parser +def str2bool(v): + """ + Function for converting different forms of + command line boolean strings to boolean value. + + Args: + v (str): String bool input + + Raises: + if the argument is not an acceptable boolean string + (such as yes or no ; true or false ; y or n ; t or f ; 0 or 1). + argparse.ArgumentTypeError: The string should be one of the mentioned values. + + Returns: + bool: Boolean value corresponding to the input. + """ + if isinstance(v, bool): + return v + if v.lower() in ('yes', 'true', 't', 'y', '1'): + return True + elif v.lower() in ('no', 'false', 'f', 'n', '0'): + return False + else: + raise argparse.ArgumentTypeError('Boolean value expected. [true or false] or [y or n]') + + def plat_type(x): """ Function to define lat type for the parser From 8540eb87cbec6c38cb86e9ac4440cb42e81be011 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Tue, 11 May 2021 14:25:01 -0600 Subject: [PATCH 63/82] Update cime to version with the CLM_USRDAT change I needed --- Externals.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Externals.cfg b/Externals.cfg index 840ab00ba0..89c9654095 100644 --- a/Externals.cfg +++ b/Externals.cfg @@ -37,7 +37,7 @@ required = True local_path = cime protocol = git repo_url = https://github.com/ESMCI/cime -tag = cime5.8.43 +tag = cime5.8.47 required = True [cmeps] From 8a65d2f191ab82ead75e54e2e621c213a9b0df13 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Tue, 11 May 2021 14:25:32 -0600 Subject: [PATCH 64/82] Add a Hist compset for single point tower sites --- cime_config/config_compsets.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cime_config/config_compsets.xml b/cime_config/config_compsets.xml index ec3dec9869..421b4d5035 100644 --- a/cime_config/config_compsets.xml +++ b/cime_config/config_compsets.xml @@ -41,6 +41,11 @@ 2000_DATM%1PT_CLM51%BGC_SICE_SOCN_SROF_SGLC_SWAV + + IHist1PtClm51Bgc + HIST_DATM%1PT_CLM51%BGC_SICE_SOCN_SROF_SGLC_SWAV + + I1PtClm51SpRs 2000_DATM%1PT_CLM51%SP_SICE_SOCN_SROF_SGLC_SWAV From 0e845b3ca74a8f07fa431f1892ef92e28bcdbff8 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Wed, 12 May 2021 00:46:08 -0600 Subject: [PATCH 65/82] Remove from expected fails, tests that should work now --- cime_config/testdefs/ExpectedTestFails.xml | 28 ---------------------- 1 file changed, 28 deletions(-) diff --git a/cime_config/testdefs/ExpectedTestFails.xml b/cime_config/testdefs/ExpectedTestFails.xml index 0de093b7c4..619e232aaf 100644 --- a/cime_config/testdefs/ExpectedTestFails.xml +++ b/cime_config/testdefs/ExpectedTestFails.xml @@ -44,20 +44,6 @@ - - - FAIL - ESMCI/cime#3905 - - - - - - FAIL - ESMCI/cime#3905 - - - FAIL @@ -86,20 +72,6 @@ - - - FAIL - ESMCI/cime#3496 - - - - - - FAIL - ESMCI/cime#3496 - - - From ba0c639e57b999ba8547fceb5e582a78c7e3910e Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Wed, 12 May 2021 00:49:18 -0600 Subject: [PATCH 66/82] This arctic test should work now since the test mod being used should work for a shorter test now --- cime_config/testdefs/ExpectedTestFails.xml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/cime_config/testdefs/ExpectedTestFails.xml b/cime_config/testdefs/ExpectedTestFails.xml index 619e232aaf..d660bbce83 100644 --- a/cime_config/testdefs/ExpectedTestFails.xml +++ b/cime_config/testdefs/ExpectedTestFails.xml @@ -30,13 +30,6 @@ - - - FAIL - #1117 - - - FAIL From 05e33d43bde604977be6fe6c22195a204d59e375 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Wed, 12 May 2021 00:49:37 -0600 Subject: [PATCH 67/82] Add a NEON test to izumi --- cime_config/testdefs/testlist_clm.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/cime_config/testdefs/testlist_clm.xml b/cime_config/testdefs/testlist_clm.xml index 0bd306d231..95cd414d18 100644 --- a/cime_config/testdefs/testlist_clm.xml +++ b/cime_config/testdefs/testlist_clm.xml @@ -1675,6 +1675,7 @@ + From c7b52d7ba4d0281387e91d70cdbcb98a82abe98f Mon Sep 17 00:00:00 2001 From: Jim Edwards Date: Thu, 13 May 2021 08:27:46 -0600 Subject: [PATCH 68/82] update surfile version --- cime_config/usermods_dirs/NEON/defaults/user_nl_clm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cime_config/usermods_dirs/NEON/defaults/user_nl_clm b/cime_config/usermods_dirs/NEON/defaults/user_nl_clm index 16b4b03958..01db7d0380 100644 --- a/cime_config/usermods_dirs/NEON/defaults/user_nl_clm +++ b/cime_config/usermods_dirs/NEON/defaults/user_nl_clm @@ -19,7 +19,7 @@ !---------------------------------------------------------------------------------- flanduse_timeseries = ' ' ! This isn't needed for a non transient case, but will be once we start using transient compsets -fsurdat = "$DIN_LOC_ROOT/lnd/clm2/surfdata_map/NEON/surfdata_hist_16pfts_Irrig_CMIP6_simyr2000_${NEONSITE}_c210415.nc" +fsurdat = "$DIN_LOC_ROOT/lnd/clm2/surfdata_map/NEON/surfdata_hist_16pfts_Irrig_CMIP6_simyr2000_${NEONSITE}_c210513.nc" model_year_align_urbantv = 2018 stream_year_first_urbantv = 2018 stream_year_last_urbantv = 2019 From d43264c7546939f14d3df339747cd120ae510009 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Thu, 13 May 2021 16:20:56 -0600 Subject: [PATCH 69/82] Set start date for tower sites, needed because the data starts mid-year --- .../testmods_dirs/clm/default/shell_commands | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/cime_config/testdefs/testmods_dirs/clm/default/shell_commands b/cime_config/testdefs/testmods_dirs/clm/default/shell_commands index adebdc5743..0bb896131a 100644 --- a/cime_config/testdefs/testmods_dirs/clm/default/shell_commands +++ b/cime_config/testdefs/testmods_dirs/clm/default/shell_commands @@ -3,3 +3,17 @@ ./xmlchange CLM_BLDNML_OPTS="-fire_emis" --append ./xmlchange BFBFLAG="TRUE" +# Set default start date for Tower sites +if [ "`./xmlquery ATM_GRID --value`" == "1x1_vancouverCAN" ]; then + # Go one day in, so don't have to set the TOD as well + ./xmlchange RUN_STARTDATE="1992-08-13" +elif [ "`./xmlquery ATM_GRID --value`" == "1x1_mexicocityMEX" ]; then + # Go one day in, so don't have to set the TOD as well + ./xmlchange RUN_STARTDATE="1993-12-02" +elif [ "`./xmlquery ATM_GRID --value`" == "1x1_urbanc_alpha" ]; then + # Go one day in, so don't have to set the TOD as well + ./xmlchange RUN_STARTDATE="0001-08-13" +else + ./xmlchange RUN_STARTDATE="2018-01-01" +fi + From 31ae9bf03261e107b85bcfb5209b1da45d9cb23f Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Fri, 14 May 2021 10:44:20 -0600 Subject: [PATCH 70/82] Move the longitutde back to the actual site since we've updated the surface datasets to have the NEON site location now rather than the closest point --- cime_config/usermods_dirs/NEON/NIWO/shell_commands | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cime_config/usermods_dirs/NEON/NIWO/shell_commands b/cime_config/usermods_dirs/NEON/NIWO/shell_commands index 38f6da8697..a3e73ca343 100644 --- a/cime_config/usermods_dirs/NEON/NIWO/shell_commands +++ b/cime_config/usermods_dirs/NEON/NIWO/shell_commands @@ -1,4 +1,4 @@ ./xmlchange NEONSITE=NIWO -./xmlchange PTS_LON=255. # This may be wrong +./xmlchange PTS_LON=254.41676 ./xmlchange PTS_LAT=40.05236 ./xmlchange DATM_YR_END=2018 From 7c6c97525ce573e9040718f7ba8896a327cec61c Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Fri, 14 May 2021 10:44:58 -0600 Subject: [PATCH 71/82] Update cdeps to the latest tag with the changes we need in place --- Externals.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Externals.cfg b/Externals.cfg index 89c9654095..ef10de32d6 100644 --- a/Externals.cfg +++ b/Externals.cfg @@ -51,7 +51,7 @@ required = True local_path = components/cdeps protocol = git repo_url = https://github.com/ESCOMP/CDEPS.git -tag = v0.11.4 +tag = cdeps0.12.4 externals = Externals_CDEPS.cfg required = True From 4cd194fd1e2d4b67b4de30b568605a9af55a361c Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Fri, 14 May 2021 12:02:50 -0600 Subject: [PATCH 72/82] There is a seperate test-mod for nuopc vs mct for the USUMB site --- cime_config/testdefs/testlist_clm.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cime_config/testdefs/testlist_clm.xml b/cime_config/testdefs/testlist_clm.xml index 95cd414d18..4fe96b8ea9 100644 --- a/cime_config/testdefs/testlist_clm.xml +++ b/cime_config/testdefs/testlist_clm.xml @@ -1682,7 +1682,7 @@ - + @@ -1692,7 +1692,7 @@ - + From d824da7d8316e6fd40e93d7d5f0c03c9d8b5ff98 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Fri, 14 May 2021 14:04:51 -0600 Subject: [PATCH 73/82] Add some comments about the tests --- cime_config/testdefs/testlist_clm.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cime_config/testdefs/testlist_clm.xml b/cime_config/testdefs/testlist_clm.xml index 4fe96b8ea9..4701cf6177 100644 --- a/cime_config/testdefs/testlist_clm.xml +++ b/cime_config/testdefs/testlist_clm.xml @@ -1680,6 +1680,7 @@ + @@ -1690,6 +1691,7 @@ + From 268ef425595c6a0ecde77c8917d1c4f623acfef6 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Fri, 14 May 2021 14:20:30 -0600 Subject: [PATCH 74/82] Adding initial cut at the Change files --- doc/ChangeLog | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++ doc/ChangeSum | 1 + 2 files changed, 103 insertions(+) diff --git a/doc/ChangeLog b/doc/ChangeLog index fbdd413d1e..1453f7f7d2 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,4 +1,106 @@ =============================================================== +Tag name: ctsm5.1.dev039 +Originator(s): jedwards4b/erik (Erik Kluzek,UCAR/TSS,303-497-1326) +Date: Fri May 14 14:16:35 MDT 2021 +One-line Summary: Add NEON sites + +Purpose and description of changes +---------------------------------- + +[Fill this in with details] + + +Significant changes to scientifically-supported configurations +-------------------------------------------------------------- + +Does this tag change answers significantly for any of the following physics configurations? +(Details of any changes will be given in the "Answer changes" section below.) + + [Put an [X] in the box for any configuration with significant answer changes.] + +[ ] clm5_1 + +[ ] clm5_0 + +[ ] ctsm5_0-nwp + +[ ] clm4_5 + + +Bugs fixed or introduced +------------------------ + +Issues fixed (include CTSM Issue #): + +CIME Issues fixed (include issue #): + +Known bugs introduced in this tag (include issue #): + +Known bugs found since the previous tag (include issue #): + + +Notes of particular relevance for users +--------------------------------------- + +Caveats for users (e.g., need to interpolate initial conditions): + +Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): + +Changes made to namelist defaults (e.g., changed parameter values): + +Changes to the datasets (e.g., parameter, surface or initial files): + +Notes of particular relevance for developers: +--------------------------------------------- +NOTE: Be sure to review the steps in README.CHECKLIST.master_tags as well as the coding style in the Developers Guide + +Caveats for developers (e.g., code that is duplicated that requires double maintenance): + +Changes to tests or testing: + + +Testing summary: regular +---------------- + [PASS means all tests PASS; OK means tests PASS other than expected fails.] + + build-namelist tests (if CLMBuildNamelist.pm has changed): + + cheyenne - + + python testing (if python code has changed; see instructions in python/README.md; document testing done): + + (any machine) - + + regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): + + cheyenne ---- + izumi ------- + + any other testing (give details below): + +If the tag used for baseline comparisons was NOT the previous tag, note that here: + + +Answer changes +-------------- + +Changes answers relative to baseline: + + Summarize any changes to answers, i.e., + - what code configurations: + - what platforms/compilers: + - nature of change (roundoff; larger than roundoff/same climate; new climate): + +Other details +------------- + +List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): + +Pull Requests that document the changes (include PR ids): +(https://github.com/ESCOMP/ctsm/pull) + +=============================================================== +=============================================================== Tag name: ctsm5.1.dev038 Originator(s): erik (Erik Kluzek,UCAR/TSS,303-497-1326) Date: Tue Apr 27 23:51:04 MDT 2021 diff --git a/doc/ChangeSum b/doc/ChangeSum index 5d0692ad68..f50b6b275b 100644 --- a/doc/ChangeSum +++ b/doc/ChangeSum @@ -1,5 +1,6 @@ Tag Who Date Summary ============================================================================================================================ + ctsm5.1.dev039 jedwards 05/14/2021 Add NEON sites ctsm5.1.dev038 erik 04/27/2021 Bring in minor changes from the cesm2.2.0 release tag release-cesm2.2.01 erik 09/02/2020 Fix clm4_5 initial conditions ctsm5.1.dev037 slevis 04/23/2021 Correct vertical interpolation in init_interp when soil thicknesses change From afd90dd988ea4702cd35d4b6c0338d3e84c48942 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Sun, 16 May 2021 21:20:56 -0600 Subject: [PATCH 75/82] Update cism since the latest cime needs a newer version of cism --- Externals.cfg | 2 +- doc/ChangeLog | 23 +++++++++++++++++++++-- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/Externals.cfg b/Externals.cfg index ef10de32d6..2ffa5dd565 100644 --- a/Externals.cfg +++ b/Externals.cfg @@ -8,7 +8,7 @@ required = True local_path = components/cism protocol = git repo_url = https://github.com/ESCOMP/CISM-wrapper -tag = cism2_1_78 +tag = cismwrap_2_1_83 externals = Externals_CISM.cfg required = True diff --git a/doc/ChangeLog b/doc/ChangeLog index 1453f7f7d2..663fe78818 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,14 +1,25 @@ =============================================================== Tag name: ctsm5.1.dev039 Originator(s): jedwards4b/erik (Erik Kluzek,UCAR/TSS,303-497-1326) -Date: Fri May 14 14:16:35 MDT 2021 +Date: Fri May 14 14:21:04 MDT 2021 One-line Summary: Add NEON sites Purpose and description of changes ---------------------------------- -[Fill this in with details] +Add NEON sites. Add cime/cdeps support and capability to run NEON tower sites. +This also brings in Negin's first version of the subset_data.py script to create +datasets for single-point and regional cases. And a version of it was run to +create the NEON surface datasets. + +To setup a NEON site do the following + +cd cime/scripts +./create_newcase --case myNEONtest --res CLM_USRDAT --compset IHist1PtClm51Bgc \ +--user-mods-dir NEON/NIWO --driver nuopc --run-unsupported + +(There's also a I1PtClm51Bgc compset that can be used for fixed conditions) Significant changes to scientifically-supported configurations -------------------------------------------------------------- @@ -31,12 +42,20 @@ Bugs fixed or introduced ------------------------ Issues fixed (include CTSM Issue #): + #1368 -- Longitude isn't correct for NEON singlept fsurdat files. + #1353 -- Modify NEON surface data CIME Issues fixed (include issue #): Known bugs introduced in this tag (include issue #): + #1364 -- Change NEON surface datasets to 79PFT files to facilitate the crop sites + #1368 -- Additional modifications to subset_data.py + #1363 -- 2018 and 2018-PD compsets for NEON single point ty + #1354 -- Batch run single point sites, including NEON + #1355 -- Python scripts for NEON analyses Known bugs found since the previous tag (include issue #): + #1351 -- HR fluxes don't include CWD Notes of particular relevance for users From 7ba272def9e0b201d7d68cfa52ecc2bf3f92476e Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Sun, 16 May 2021 21:23:35 -0600 Subject: [PATCH 76/82] Update tests with new name for cism grid for greenland --- cime_config/testdefs/testlist_clm.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cime_config/testdefs/testlist_clm.xml b/cime_config/testdefs/testlist_clm.xml index 4701cf6177..fc0d84cdc7 100644 --- a/cime_config/testdefs/testlist_clm.xml +++ b/cime_config/testdefs/testlist_clm.xml @@ -948,7 +948,7 @@ - + @@ -957,7 +957,7 @@ - + From 8e51e76920faee5f48d514297cda81f2387d114d Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Mon, 17 May 2021 12:27:16 -0600 Subject: [PATCH 77/82] Make a specific shell_commands for setting the start date of single point tower sites, remove the start date changes from the default case --- .../clm/CLM1PTStartDate/shell_commands | 16 ++++++++++++++++ .../testmods_dirs/clm/default/shell_commands | 15 --------------- .../clm/output_sp_highfreq/include_user_mods | 1 + 3 files changed, 17 insertions(+), 15 deletions(-) create mode 100644 cime_config/testdefs/testmods_dirs/clm/CLM1PTStartDate/shell_commands diff --git a/cime_config/testdefs/testmods_dirs/clm/CLM1PTStartDate/shell_commands b/cime_config/testdefs/testmods_dirs/clm/CLM1PTStartDate/shell_commands new file mode 100644 index 0000000000..51be6f9abb --- /dev/null +++ b/cime_config/testdefs/testmods_dirs/clm/CLM1PTStartDate/shell_commands @@ -0,0 +1,16 @@ +#!/bin/bash + +if [ "`./xmlquery ATM_GRID --value`" == "1x1_vancouverCAN" ]; then + # Go one day in, so don't have to set the TOD as well + ./xmlchange RUN_STARTDATE="1992-08-13" +elif [ "`./xmlquery ATM_GRID --value`" == "1x1_mexicocityMEX" ]; then + # Go one day in, so don't have to set the TOD as well + ./xmlchange RUN_STARTDATE="1993-12-02" +elif [ "`./xmlquery ATM_GRID --value`" == "1x1_urbanc_alpha" ]; then + # Go one day in, so don't have to set the TOD as well + ./xmlchange RUN_STARTDATE="0001-08-13" +# +# Otherwise let this be set by the specific site +# +fi + diff --git a/cime_config/testdefs/testmods_dirs/clm/default/shell_commands b/cime_config/testdefs/testmods_dirs/clm/default/shell_commands index 0bb896131a..45eb822729 100644 --- a/cime_config/testdefs/testmods_dirs/clm/default/shell_commands +++ b/cime_config/testdefs/testmods_dirs/clm/default/shell_commands @@ -2,18 +2,3 @@ ./xmlchange CLM_BLDNML_OPTS="-fire_emis" --append ./xmlchange BFBFLAG="TRUE" - -# Set default start date for Tower sites -if [ "`./xmlquery ATM_GRID --value`" == "1x1_vancouverCAN" ]; then - # Go one day in, so don't have to set the TOD as well - ./xmlchange RUN_STARTDATE="1992-08-13" -elif [ "`./xmlquery ATM_GRID --value`" == "1x1_mexicocityMEX" ]; then - # Go one day in, so don't have to set the TOD as well - ./xmlchange RUN_STARTDATE="1993-12-02" -elif [ "`./xmlquery ATM_GRID --value`" == "1x1_urbanc_alpha" ]; then - # Go one day in, so don't have to set the TOD as well - ./xmlchange RUN_STARTDATE="0001-08-13" -else - ./xmlchange RUN_STARTDATE="2018-01-01" -fi - diff --git a/cime_config/testdefs/testmods_dirs/clm/output_sp_highfreq/include_user_mods b/cime_config/testdefs/testmods_dirs/clm/output_sp_highfreq/include_user_mods index 8c117e01ed..2df730d2d0 100644 --- a/cime_config/testdefs/testmods_dirs/clm/output_sp_highfreq/include_user_mods +++ b/cime_config/testdefs/testmods_dirs/clm/output_sp_highfreq/include_user_mods @@ -1,2 +1,3 @@ +../CLM1PTStartDate ../../../../usermods_dirs/output_sp_highfreq ../basic From e49b42132fec71a044b6c2a66aa839d7e3842bc6 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Mon, 17 May 2021 12:28:14 -0600 Subject: [PATCH 78/82] Use the CLM1PTStartDate testmod for tower sites --- cime_config/testdefs/testlist_clm.xml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/cime_config/testdefs/testlist_clm.xml b/cime_config/testdefs/testlist_clm.xml index fc0d84cdc7..0377e84f96 100644 --- a/cime_config/testdefs/testlist_clm.xml +++ b/cime_config/testdefs/testlist_clm.xml @@ -1157,7 +1157,7 @@ - + @@ -1191,7 +1191,7 @@ - + @@ -1200,7 +1200,7 @@ - + @@ -1521,7 +1521,7 @@ - + @@ -1529,7 +1529,7 @@ - + @@ -1537,7 +1537,7 @@ - + @@ -1662,7 +1662,7 @@ - + @@ -1766,7 +1766,7 @@ - + From 16ad727f8d4749b3d7788c55f78560453b7d7fc3 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Mon, 17 May 2021 15:19:57 -0600 Subject: [PATCH 79/82] Update cmeps to version being used in the cesm2_3_alpha03a tag --- Externals.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Externals.cfg b/Externals.cfg index 2ffa5dd565..f847deb5b7 100644 --- a/Externals.cfg +++ b/Externals.cfg @@ -44,7 +44,7 @@ required = True local_path = cime/src/drivers/nuopc/ protocol = git repo_url = https://github.com/ESCOMP/CMEPS.git -tag = v0.10.0 +tag = cmeps0.13.2 required = True [cdeps] From c99ab4aa080349c18d6dda00adbccdc3efd3a826 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Tue, 18 May 2021 00:18:26 -0600 Subject: [PATCH 80/82] Add USUMB includes and make NEON site with mpi-serial --- cime_config/testdefs/testlist_clm.xml | 2 +- .../testdefs/testmods_dirs/clm/USUMB_mct/include_user_mods | 1 + .../testdefs/testmods_dirs/clm/USUMB_nuopc/include_user_mods | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 cime_config/testdefs/testmods_dirs/clm/USUMB_mct/include_user_mods create mode 100644 cime_config/testdefs/testmods_dirs/clm/USUMB_nuopc/include_user_mods diff --git a/cime_config/testdefs/testlist_clm.xml b/cime_config/testdefs/testlist_clm.xml index 0377e84f96..18bb4fa81e 100644 --- a/cime_config/testdefs/testlist_clm.xml +++ b/cime_config/testdefs/testlist_clm.xml @@ -1672,7 +1672,7 @@ - + diff --git a/cime_config/testdefs/testmods_dirs/clm/USUMB_mct/include_user_mods b/cime_config/testdefs/testmods_dirs/clm/USUMB_mct/include_user_mods new file mode 100644 index 0000000000..3e31b09d16 --- /dev/null +++ b/cime_config/testdefs/testmods_dirs/clm/USUMB_mct/include_user_mods @@ -0,0 +1 @@ +../CLM1PTStartDate diff --git a/cime_config/testdefs/testmods_dirs/clm/USUMB_nuopc/include_user_mods b/cime_config/testdefs/testmods_dirs/clm/USUMB_nuopc/include_user_mods new file mode 100644 index 0000000000..3e31b09d16 --- /dev/null +++ b/cime_config/testdefs/testmods_dirs/clm/USUMB_nuopc/include_user_mods @@ -0,0 +1 @@ +../CLM1PTStartDate From 7a50488e8a46b0182693637ffbb0bd36f9ce84df Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Tue, 18 May 2021 13:35:23 -0600 Subject: [PATCH 81/82] Add new expected fails --- cime_config/testdefs/ExpectedTestFails.xml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/cime_config/testdefs/ExpectedTestFails.xml b/cime_config/testdefs/ExpectedTestFails.xml index d660bbce83..1ec6606467 100644 --- a/cime_config/testdefs/ExpectedTestFails.xml +++ b/cime_config/testdefs/ExpectedTestFails.xml @@ -44,6 +44,20 @@ + + + FAIL + ESMCI/cime#3970 + + + + + + FAIL + ESMCI/cime#3970 + + + FAIL From a8f05da5e60dc3c1cbcc5137b58db2f9213a6ee5 Mon Sep 17 00:00:00 2001 From: Erik Kluzek Date: Tue, 18 May 2021 14:36:35 -0600 Subject: [PATCH 82/82] Update change files --- doc/ChangeLog | 47 ++++++++++++++++++++++++++++++++--------------- doc/ChangeSum | 2 +- 2 files changed, 33 insertions(+), 16 deletions(-) diff --git a/doc/ChangeLog b/doc/ChangeLog index 663fe78818..e06d08fb92 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,7 +1,7 @@ =============================================================== Tag name: ctsm5.1.dev039 Originator(s): jedwards4b/erik (Erik Kluzek,UCAR/TSS,303-497-1326) -Date: Fri May 14 14:21:04 MDT 2021 +Date: Tue May 18 14:36:25 MDT 2021 One-line Summary: Add NEON sites Purpose and description of changes @@ -21,6 +21,10 @@ cd cime/scripts (There's also a I1PtClm51Bgc compset that can be used for fixed conditions) +Note, also that several externals were updated to the version in cesm2_3_alpha03a. This means that +answers change when CISM is turned on. Some of the grids for compsets tested were updated to +use the new grid name "gris" in place of the older "gland". + Significant changes to scientifically-supported configurations -------------------------------------------------------------- @@ -45,14 +49,13 @@ Issues fixed (include CTSM Issue #): #1368 -- Longitude isn't correct for NEON singlept fsurdat files. #1353 -- Modify NEON surface data -CIME Issues fixed (include issue #): - Known bugs introduced in this tag (include issue #): #1364 -- Change NEON surface datasets to 79PFT files to facilitate the crop sites #1368 -- Additional modifications to subset_data.py #1363 -- 2018 and 2018-PD compsets for NEON single point ty #1354 -- Batch run single point sites, including NEON #1355 -- Python scripts for NEON analyses + cime/#3970 -- cdeps library fails to build on izumi: nag, intel, and gnu compilers Known bugs found since the previous tag (include issue #): #1351 -- HR fluxes don't include CWD @@ -62,20 +65,28 @@ Notes of particular relevance for users --------------------------------------- Caveats for users (e.g., need to interpolate initial conditions): + Data coming from NEON -- may be updated after it's uploaded. As such you may need to delete + previous downloaded data in order to download the latest. -Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): - -Changes made to namelist defaults (e.g., changed parameter values): +Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables): Yes add NEONSITE, two new compsets + Add new compset aliases: I1PtClm51Bgc, and IHist1PtClm51Bgc + NEONSITE added to the env_run.xml for a case. Only used for a NEON site with the CLM_USRDAT resolution Changes to the datasets (e.g., parameter, surface or initial files): + Surface datasets for NEON added to the NEON user-mod-directory Notes of particular relevance for developers: --------------------------------------------- NOTE: Be sure to review the steps in README.CHECKLIST.master_tags as well as the coding style in the Developers Guide Caveats for developers (e.g., code that is duplicated that requires double maintenance): + The two USUMB test-mods duplicate some settings and could have a parent version to inherit from Changes to tests or testing: + Change _gl4 tests to _gris4 + Single point tower site tests use the CLM1PTStartDate test-mod + Add a NEON test for the NIWO site + USUMB testmod needs a MCT and NUOPC version Testing summary: regular @@ -84,16 +95,16 @@ Testing summary: regular build-namelist tests (if CLMBuildNamelist.pm has changed): - cheyenne - + cheyenne - PASS (141 new tests for NEON sites) python testing (if python code has changed; see instructions in python/README.md; document testing done): - (any machine) - + cheyenne -- PASS regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing): - cheyenne ---- - izumi ------- + cheyenne ---- OK + izumi ------- OK any other testing (give details below): @@ -103,20 +114,26 @@ If the tag used for baseline comparisons was NOT the previous tag, note that her Answer changes -------------- -Changes answers relative to baseline: +Changes answers relative to baseline: Yes (but only when CISM is on) Summarize any changes to answers, i.e., - - what code configurations: - - what platforms/compilers: - - nature of change (roundoff; larger than roundoff/same climate; new climate): + - what code configurations: Only with CISM on (compsets that end with G) + - what platforms/compilers: All + - nature of change: similar climate Other details ------------- -List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): +List any externals directories updated (cime, rtm, mosart, cism, fates, etc.): cime, cism, cmeps, cdeps + cime to cime5.8.47 + cism to cismwrap_2_1_83 + cmeps to cmeps0.13.2 + cdeps to cdeps0.12.4 Pull Requests that document the changes (include PR ids): (https://github.com/ESCOMP/ctsm/pull) + #1278 -- Neon compsets + #1360 -- Singlept and regional subsetting script (initial version) =============================================================== =============================================================== diff --git a/doc/ChangeSum b/doc/ChangeSum index f50b6b275b..1ae95a5cf1 100644 --- a/doc/ChangeSum +++ b/doc/ChangeSum @@ -1,6 +1,6 @@ Tag Who Date Summary ============================================================================================================================ - ctsm5.1.dev039 jedwards 05/14/2021 Add NEON sites + ctsm5.1.dev039 jedwards 05/18/2021 Add NEON sites ctsm5.1.dev038 erik 04/27/2021 Bring in minor changes from the cesm2.2.0 release tag release-cesm2.2.01 erik 09/02/2020 Fix clm4_5 initial conditions ctsm5.1.dev037 slevis 04/23/2021 Correct vertical interpolation in init_interp when soil thicknesses change