Deep Time CESM1 | Land

EXPERT CESM USERS ONLY: Creating a Deep Time paleoclimate simulation requires expert knowledge of CESM, and a complete understanding of the "art" of climate modeling.  

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

CLM4 does not require an initial condition file and can be initialized with arbitrary initializations.  Typically, for deep time, the researcher does not know the land model initial state with enough accuracy to improve upon the arbitrary initialization option. CLM4 will spin up its own variables at runtime.   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/clm_4/mksurfdata_map/].  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_cesm1.csh. 

HINT:  It is highly recommended that the modeler review the newly created surface_data_[resolution].nc for accuracy. When creating this dataset, CLM4/CESM1 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 CLM4 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_cesm1.csh

The script paleo_mkraw_cesm1.csh uses LSM vegetation types from your time period (user-provided, e.g., vegetation.nc) and current day soil texture profiles (mksrf_soitex.10level.nc) to create the ‘raw’ land surface datafiles required by CLM4. 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 by mksurfdata_map.

HINT: To create the mksrf files required for the surface dataset, specify the resolution of your incoming LSM vegetation dataset by setting longitude/latitude in paleo_mkraw_cesm1_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 paleo_mkraw_cesm1.csh script 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_cesm1_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_cesm1.csh
Source code     paleo_mkraw_cesm1_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 

 

Source Output
mk_ffrac.ncl     mksrf_ffrac.myrun.date.nc

 

CLM4 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_cesm1__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.