3: Modify input data#
We can modify the input to CLM by changing one of the plant functional type properties. We will then compare these results with the control experiment.
Note that you will need to change a netcdf file for this exercise. Because netcdf are in binary format you will need a type of script or interperter to read the file and write it out again. (e.g. ferret, IDL, NCL, NCO, Perl, Python, Matlab, Yorick). Below in the solution we will show how to do this using NCO.
NOTE: For any tasks other than setting up, building, submitting cases you should probably do these tasks on the Data Visualization Cluster - Casper, and not on the Cheyenne login nodes.
Create a case called i.day5.a_pft using the compset I2000Clm50Sp
at f09_g17_gl4
resolution.
Look at variable “rholvis” in the forcing file using ncview or ncdump –v rholvis. This is the visible leaf reflectance for every pft. Modify the rholvis parameter to .
/glade/p/cesmdata/cseg/inputdata/lnd/clm2/paramdata/clm5_params.c171117.nc
Set the run length to 5 days.
Build and run the model.
Click here for the solution
Create a clone from the control experiment i.day5.a_pft :
cd /glade/work/$USER/code/my_cesm_code/cime/scripts
./create_clone --case ~/cases/i.day5.a_pft --clone ~/cases/i.day5.a
Modify the rholvis parameter in the physiology file:
cd /glade/scratch/$USER
cp /glade/p/cesmdata/cseg/inputdata/lnd/clm2/paramdata/clm5_params.c171117.nc .
chmod u+w clm5_params.c171117.nc
cp clm5_params.c171117.nc clm5_params.c171117.new.nc
ncap2 -A -v -s 'rholvis(4)=0.4' clm5_params.c171117.nc clm5_params.c171117.new.nc
Check the new rholvis parameter to be sure the modification worked:
ncdump -v rholvis clm5_params.c171117.new.nc
# and compare it to the original file
ncdiff clm5_params.c171117.nc clm5_params.c171117.new.nc ncdiff.nc
ncdump -v rholvis ncdiff.nc
Case setup:
cd ~/cases/i.day5.a_pft
./case.setup
Change the clm namelist using user_nl_clm to point at the modified file. Add the following line:
paramfile = '/glade/scratch/$USER/clm5_params.c171117.new.nc'
Check the namelist by running:
./preview_namelists
If needed, change job queue, account number, or wallclock time. For instance:
./xmlchange JOB_QUEUE=regular,PROJECT=UESM0012,JOB_WALLCLOCK_TIME=0:15:00
Build case:
qcmd -- ./case.build
Compare the namelists from the two experiments:
diff CaseDocs/lnd_in ../i.day5.a/CaseDocs/lnd_in
Submit case:
./case.submit
When the run is completed, look into the archive directory for: i.day5.a.
(1) Check that your archive directory on cheyenne (The path will be different on otehr machines):
cd /glade/scratch/$USER/archive/i.day5.a_pft/lnd/hist
ls
(2) Compare to control run:
ncdiff i.day5.a_pft.clm2.XXX.nc /glade/scratch/$USER/archive/i.day5.a/lnd/hist/i.day5.a.clm2.XXX.nc i_diff.nc
ncview i_diff.nc
Test your understanding#
How did rholvis change (increase/decrease)? Given this, what do you expect the model response to be?
What changes do you see from the control case with the modified rholvis parameter?
… OTHERS?