Deep Time Climate Simulations | Land

Deep time paleo modelers are responsible for creating new surface data forcing as well as a directional runoff map on the River Transport Model (RTM) grid.

Arbitrary initialization

CLM3 does not require an initial condition file and can be initialized with arbitrary initialization (Section 6.3.1).  Typically, for deep time, the researcher does not know the land model initial state with enough accuracy to improve upon the arbitrary initialization option. CLM3 will spin up its own variables at runtime.  If the modeler does wish to use an initial condition file, refer back to Section 3.1 for ideas and strategies. An initial condition procedure for deep time is not supported.

Surface dataset

Changing the land/sea mask for deep time model experiments requires that the modeler create a new land surface dataset.  The surface dataset is created offline by the CLM4 tool mksurfdat.F90 [/models/lnd/clm/tools/mksurfdata].  This process differs from CCSM3, where the surface dataset was created at runtime.  The surface dataset is constructed from a series of seven ‘raw’ datafiles, created by paleo_mkraw.csh. 

HINT:  It is highly recommended that the modeler review the newly created surface_data_[resolution].ncfor accuracy. When creating this dataset, CLM3/CCSM uses the ocean grid to compute the land/ocean mask and create the respective variables onto atm/lnd grid. When this initial mapping is done, there are often mismatches between the ocean grid and the atmosphere grid. If the ocean model views a grid point as land, and the land model has no information on that grid point (because on the atmosphere grid it was considered ocean), then CLM3 assigns this point to be wetland. This typically occurs along the coastlines and may not be desired.  The modeler will need to modify the surface_data_[resolution].nc file to correct for these erroneous wetland points. We provide an NCL script in the setup_tools tar file to correct surface_data_resolution.ncif necessary.

You may want to change the generic name of the new surface dataset to something more descriptive by adding your case ID and/or a date.

Hint:  Once your surface_data_myrun.nc file is corrected, all model submissions should point this file.

 

paleo_mkraw.csh

The script paleo_mkraw.csh uses LSM vegetation types from your time period (user-provided, i.e. vegetation.nc) and current day soil texture profiles (mksrf_soitex.10level.nc) to create the seven ‘raw’ land surface datafiles required by CCSM3. These datasets are named ‘mksrf_[].nc’ and include surface data information for PFTs (plant functional types), soil color, soil texture, leaf/stem areas and heights (LAI), land water (lakes and wetlands), glaciers, and urban areas (Table 9).  From these ‘raw’ datasets, a single land surface data file, tailored to your land and ocean grids, will be created at model runtime (Section 4.3.2.2).

HINT: To create the mksrf files required for the surface dataset, you must specify the resolution of your incoming LSM vegetation dataset by setting longitude/latitude in paleo_mkraw_sed.F90.   For example, if your LSM vegetation map is at 2x2 degree resolution, then nlon=180 and nlat=90, and your mksrf_<>.nc files will also be 2x2 degree.  If your vegetation file has 0.5 degree resolution, nlon=720 and nlat=360 and your mksrf_[].nc files will also be at 0.5 degree resolution.

The scriptpaleo_mkraw.csh assumes that glaciers=urban=lakes=wetlands=0, soil texture =loam and soil color=4.  If this does not suit your needs, you will need to alter paleo_mkraw_sed.F90 to make any desired changes.

For example, if you would like to specify glaciers, you will need to edit the subroutine create_mksrf_glacier and add code to test for LSM type 1 (land ice). For each point equal to 1, assign pct_glacier values from 0 to 100%.  See the Near-modern section for a discussion on adding glaciers to near-modern simulations.

Shell script paleo_mkraw.csh
Source code paleo_mkraw_sed.F90
inputs vegetation.nc
mksrf_soitex.10levels.nc
output mksrf_glacier.myrun.date.nc
mksrf_pft.myrun.date.nc
mksrf_lai.myrun.date.nc
mksrf_soicol.myrun.date.nc
mksrf_lanwat.myrun.date.nc
mksrf_soitex.myrun.date.nc
mksrf_urban.myrun.date.nc

 

PFT-physiology dataset

The CLM4 land model defines the physiology of each plant functional type (PFT) in an ASCII text files, called pft-physiology.  The default pft-physiology definitions are generally used for paleo experiments.  However, if you wish to change the characteristic of a specific CLM PFT, and you cannot accomplish your goal by modifying paleo_mkraw_sed.F90, you may need to edit this dataset. Please read the CLM documentation before altering this file and/or contact a CCSM paleo liaison for a consultation.

 

Other land issues

Model dynamics parameters tend to be resolution dependent and can be controlled in the model namelist. There are several source code modifications the modeler may need to make.

 mksrfdatMod.F90  

 In the default CLM3 source code, the Ross Ice Shelf is hardwired into the mksrfdatMod.F90 code.  If you wish to remove the Ross Ice Shelf, copy mksrfdatMod.F90 to your SourceMods/src.clm directory and search for ‘Ross Ice Shelf’.  Comment out the entire section referring to setting LAND values on the Ross Ice Shelf to glacier. This modification is recommended for all users. 

Original:        

pctwet(i,j) = 100. - pctlak(i,j)

pctgla(i,j) = 0.

Modified:   

pctwet(i,j) = 100. - pctlak(i,j) - pctgla(i,j)

!  pctgla(i,j) = 0.     

 

 Additionally, if you have lowered sea level and exposed new land along the continental shelf, CLM will automatically define that new land as ‘wetland’.  If you desire another vegetation designation for these newly created land areas you can modify mksrfdatMod.F90 to fill in these areas (e.g., with nearest neighbor land cover).

 clm_varpar.F90

If your RTM forcing data set (produced by rdirc.csh) is NOT 0.5 degrees, the modeler will need to edit this code to specify the correct latitudes and longitudes. Search for rtmlon and rtmlat.

All code modifications need to be placed in the $CASEROOT/SourceMods/src.clm subdirectory of your case.