Skip to content

Example CTSM FATES (CLM5 FATES) run: PA SLZ using NGEE Tropics driver files. Modify parameter file prior to simulation

Shawn P. Serbin edited this page May 16, 2019 · 1 revision

NOTE: Using Ryan Knox et al "Meteorological and surface data at NGEET sites, converted into formats usable by the land-models driving FATES. Surface datasets are model release dependent, and may have to be re-processed for later versions of the model. " driver data. Not yet publicly available.

NOTE: This is a WIP document


Running in Docker


  1. Install the Docker engine: https://www.docker.com/get-started

  1. Pull down the latest version of the basic CTSM Docker container:

docker pull serbinsh/ctsm_containers:ctsm-fates_next_api-fates_sci.1.23.0_api.7.1.0

  1. Build a new CTSM-FATES case:

docker run -t -i --hostname=modex --user clmuser -v /Volumes/data/Model_Data/cesm_input_datasets:/data -v ~/scratch:/ctsm_output serbinsh/ctsm_containers:ctsm-fates_next_api-fates_sci.1.23.0_api.7.1.0 /ctsm_run_scripts/create_case_ctsmfates_1pt_example_PA-SLZ.sh -sy='2008-01-01' -ny=5

  1. Modify the parameter file using the handy modify_fates_paramfile.py tool, already provided in the Docker image:

Start modifying the parameter file. You can see this usage by running:

docker run -t -i --hostname=modex --user clmuser -v ~/scratch:/ctsm_output serbinsh/ctsm_containers:ctsm-fates_next_api-fates_sci.1.23.0_api.7.1.0 /ctsm/src/fates/tools/modify_fates_paramfile.py --help

e.g. change wood density of PFTs 1 and 2

docker run -t -i --hostname=modex --user clmuser -v ~/scratch:/ctsm_output serbinsh/ctsm_containers:ctsm-fates_next_api-fates_sci.1.23.0_api.7.1.0 /bin/sh -c 'cd /ctsm_output/CLM5FATES_1554776934_1x1PASLZ/ && /ctsm/src/fates/tools/modify_fates_paramfile.py --var fates_wood_density --pft 1 --val 0.65 --fin fates_params_2trop.c190205.nc --fout fates_params_2trop.c190205.nc --O'

docker run -t -i --hostname=modex --user clmuser -v ~/scratch:/ctsm_output serbinsh/ctsm_containers:ctsm-fates_next_api-fates_sci.1.23.0_api.7.1.0 /bin/sh -c 'cd /ctsm_output/CLM5FATES_1554776934_1x1PASLZ/ && /ctsm/src/fates/tools/modify_fates_paramfile.py --var fates_wood_density --pft 2 --val 0.75 --fin fates_params_2trop.c190205.nc --fout fates_params_2trop.c190205.nc --O'

e.g. change soil water potential at stomatal closure

docker run -t -i --hostname=modex --user clmuser -v ~/scratch:/ctsm_output serbinsh/ctsm_containers:ctsm-fates_next_api-fates_sci.1.23.0_api.7.1.0 /bin/sh -c 'cd /ctsm_output/CLM5FATES_1554776934_1x1PASLZ/ && /ctsm/src/fates/tools/modify_fates_paramfile.py --var fates_smpsc --pft 1 --val -200000.0 --fin fates_params_2trop.c190205.nc --fout fates_params_2trop.c190205.nc --O'

docker run -t -i --hostname=modex --user clmuser -v ~/scratch:/ctsm_output serbinsh/ctsm_containers:ctsm-fates_next_api-fates_sci.1.23.0_api.7.1.0 /bin/sh -c 'cd /ctsm_output/CLM5FATES_1554776934_1x1PASLZ/ && /ctsm/src/fates/tools/modify_fates_paramfile.py --var fates_smpsc --pft 2 --val -300000.0 --fin fates_params_2trop.c190205.nc --fout fates_params_2trop.c190205.nc --O'

You should get a message like this:

replacing prior value of variable fates_wood_density, for PFT 1, which was 0.7, with new value of 0.65
replacing file: fates_params_2trop.c190205.nc

Continue to change parameters you wish to modify, then start the run:

docker run -t -i --hostname=modex --user clmuser -v /Volumes/data/Model_Data/cesm_input_datasets:/data -v ~/scratch:/ctsm_output serbinsh/ctsm_containers:ctsm-fates_next_api-fates_sci.1.23.0_api.7.1.0 /bin/sh -c 'cd /ctsm_output/CLM5FATES_1554776934_1x1PASLZ/ && ./case.submit'