Running CABLE with CASA-CNP
The CASA (Carnegie-Ames-Stanford Approach)-CNP (Carbon-Nitrogen-Phosphorous) model simulates the biogeochemistry component of the CABLE land surface model. CASA-CNP models the dynamics of carbon pools and nitrogen and phosphorous limitations and is directly coupled to CABLE.
Initialisation (spin-up):
Similar to other CABLE state variables, spin-up is required to obtain the initial conditions for CASA-CNP state variables (e.g. carbon and nitrogen pool sizes) for the simulation of interest. This is usually achieved by first running the model from a "cold start" over many periods of repeated meteorological forcing until there is no trend in the internal state variables.
Note: this details the spin-up for CASA-CNP state variables only. The spin-up for soil moisture, soil temperature and other CABLE state variables is enabled via the spinup namelist option and is separate functionality.
To run CABLE with CASA-CNP (cold start), the following CABLE namelist options will need to be configured:
Namelist option (cable.nml) |
Description |
|---|---|
l_casacnp = .TRUE. |
Enables CASA-CNP (must be switched on when icycle is non-zero). |
icycle = <icycle_value> |
icycle value of 1, 2 or 3 enable coupled carbon, carbon-nitrogen or carbon-nitrogen-phosphorus dynamics respectively. |
cable_user%CASA_fromZero = .TRUE. |
Enable cold start without CASA restart file. |
casafile%cnpbiome = <input_file_path> |
Input file path to PFT lookup table used by CASA-CNP. |
casafile%phen = <input_file_path> |
Input file path to vegetation phenology file. The vegetation phenology file contains a latitudinal listing of phenology dates for various vegetation types. |
casafile%cnpepool = <output_file_path> |
Output file path to the CASA restart file containing CASA state variables. It can be fed back to another simulation for the purpose of spin-up via casafile%cnpipool. |
casafile%cnpflux = <output_file_path> |
Output file path to output only the CASA fluxes in CSV (.csv) format. Yearly output after the spinup period. |
casafile%out = <output_file_path> |
Output file path to output the CASA fluxes and other CASA variables in NetCDF (.nc) format. Output frequency is given by cable_user%casa_out_freq. |
To run CABLE with CASA-CNP from a CASA restart file (warm start), set cable_user%CASA_fromZero = .FALSE. and casafile%cnpipool to the input file path of the CASA restart file.
Running CASA-CNP in offline mode:
It can be useful to run CASA-CNP in offline (or CASA only) mode for the purpose of spinning up CASA-CNP more efficiently. Since CASA-CNP operates on a daily time step as opposed to CABLE which inherently runs on a sub-diurnal time step, CABLE makes up a significant fraction of CABLE-CASA compute. For the purposes of spinning up CASA-CNP, two way coupling between CABLE and CASA-CNP is not strictly necessary and CASA-CNP can be driven using CABLE to CASA forcing data. This can reduce the amount of compute time spent on CASA-CNP spin-up.
To run CASA-CNP in offline mode, CABLE to CASA dump files need to first be generated for each model year for one cycle of the spin-up period. The CABLE to CASA dump files can be generated by enabling the CABLE namelist option cable_user%CASA_DUMP_WRITE = .TRUE.. By default, the dump files will be written to a path prefixed by the casafile%c2cdumppath CABLE namelist option.
Once the CABLE to CASA dump files have been generated for the spin-up period, CASA-CNP can be run in offline mode by enabling the CABLE namelist options CASAonly = .TRUE. and cable_user%CASA_DUMP_READ = .TRUE. (and cable_user%CASA_DUMP_WRITE = .FALSE. to prevent overwriting the CABLE to CASA forcing data). The CABLE to CASA input file paths will be read from the same path as they were written initially. Also, note that CASAonly may be set implicitly by setting icycle to a value greater than 10 but it is not the recommended way to configure a CASA-only experiment.
Accelerated spin-up (semi-analytical solution method):
To avoid running long and computationally expensive spin-up simmulations, CABLE contains a semi-analytical solution method which reduces the spin-up time (Xia et al. 2012). Note, this method should be used only for simulations where the phosphorus cycle and its coupling with carbon and nitrogen cycles has been switched off (i.e. icycle = 1 or 2).
The semi-analytic method first runs a short spin-up to obtain steady-state NPP, time averaged state variables for one period of repeated forcing variables, and C/N ratios. The second step then involves analytically solving the differential equation to calculate steady-state carbon and nitrogen pool sizes. Lastly, an addtional spin-up is done to meet the steady-state criterion for all pools.
To run CABLE with CASA-CNP with the semi-analytic spin-up, CABLE to CASA dump files need to first be generated for each model year throughout one period of the repeated forcing (see Running CASA-CNP in offline mode). This is required so that the time averaged state variables can be calculated in the first stage of the semi-analytic spin-up; and for doing a series of additional offline CASA-CNP spin-up cyles.
Once the CABLE to CASA dump files have been generated for one period of the repeated forcing, the semi-analytic spin-up can be enabled by setting spincasa = .TRUE.. This will spin-up CASA-CNP using the semi-analytical solution and then proceed to run CABLE.
Steady-state criterion for CASA-CNP spin-up:
Unlike the spin-up of other CABLE state variables, CASA-CNP does not contain an in-built check for determining if it has reached a steady-state. The steady-state criterion is typically left as a choice for the user. Users should manually check that their criterion is met before running their simulation of interest. Some experiments (for example TRENDY) specify the steady-state criterion as part of the experiment protocol. Assessing convergence will typically involve an expert determination as to whether the spin-up has converged. The determination will involve consideration of trends vs variability in the carbon, nitrogen and/or phosphorous pools, and long-term averages; and any trends in the key fluxes such as GPP, NPP and NBP. It is also important to note that different regions will equilibrate at different rates and that convergence should be checked for each region.
Prognostic LAI and vcmax
CABLE can use prescribed LAI read from the gridinfo file or from the meteorological forcing file. When the CABLE namelist variable l_laiFeedbk is switched on, CASA-CNP will calculate LAI values to be passed back to CABLE for use. These prognostic LAI values are written out in the output file.
CASA-CNP can also be used to predict the vegetation parameter vcmax which can otherwise be prescribed in the vegetation parameter file. This is controlled by the CABLE namelist variable l_vcmaxFeedbk and requires the nitrogen cycle to be turned on (i.e. icycle set to 2 or 3).