Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The Design Document page provides a description of the algorithms, implementation and planned testing including unit, verification, validation and performance testing. Please read  Step 1.3 Performance Expectations that explains feature documentation requirements from the performance group point of view. 

Design Document

Expand
titleClick here for instructions to fill up the table below ......

The first table in Design Document gives overview of this document, from this info the Design Documents Overview page is automatically created.

In the overview table below 4.Equ means Equations and Algorithms, 5.Ver means Verification, 6.Perf - Performance, 7. Val - Validation

  • Equations: Document the equations that are being solved and describe algorithms
  • Verification Plans: Define tests that will be run to show that implementation is correct and robust. Involve unit tests to cover range of inputs as well as benchmarks.
  • Performance expectations: Explain the expected performance impact from this development
  • Validation Plans: Document what process-based, stand-alone component, and coupled model runs will be performed, and with what metrics will be used to assess validity

Use the symbols below (copy and paste) to indicate if the section is in progress or done or not started.

In the table below 4.Equ means Equations and Algorithms, 5.Ver means Verification, 6.Perf - Performance, 7. Val - Validation,   (tick) - competedcompleted(warning) - in progress, (error) - not done

...

Page Properties
idFeature_PR
Info

Overview table for the owner and an approver of this feature

// approved date

1.Description

Improve efficiency of land spinup and offline land model simulations

2.OwnerDaniel Ricciuto
3.Created 
4.Equ(error) choose one of the labels above: competed, in progress, not done/not started(tick)
5.Ver(error) choose one of the labels above: competed, in progress, not done/not started(tick)
6.Perf(error) choose one of the labels above: competed, in progress, not done/not started(tick)
7.Val(error) choose one of the labels above: competed, in progress, not done/not started(tick)
8.ApproverPeter Thornton, William Riley (Unlicensed)
9.Approved Date 
V1.0Accepted
Expand
titleClick here for Table of Contents ...
Panel

Table of Contents

Table of Contents

 

 

 

Title: Improving the efficiency of land spinup and offline model simulations

Requirements and Design

ACME Land Group

Date:   

Summary

This modification contains 2 major pieces:  1)  Modification of the accelerated decomposition for land model biogeochemistry spinup, and 2) Implementation of "coupler bypass" mode, which loads atmospheric input data directly in the land model.  For 1), acceleration factors now will include a dependence on mean annual temperature, and are directly connected to the rate constant parameters instead of hard-coded constants.  If Q10 or rate constant parameters are varied for UQ efforts, the acceleration factors will also change to maximize efficiency.  All pools with a turnover time of greater than 1 year (depending on the parameter value) will be accelerated, including litter and coarse woody debris (CWD).  Also included is accelerated dead wood mortality, in which dead coarse root and stem mortality is accelerated.  The biomass/height relationship and fire modules are also adjusted in accelerated mode for consistency.  Finally, in accelerated mode, in model years 1-20 (currently hard-coded), carbon-only mode is used (with saturated nitrogen).  This allows much faster spinup of biomass.  For 2), atmospheric data are loaded directly in the lnd_import_export subroutine rather than passed from datm to the coupler.  This option, which improves performance significantly, is implemented as a separate compset using SATM.  Stream files within the land model (ndep, fire data) are also disabled and all data are read on timestep 0 and held in system memory.  This option uses a compressed version of the atmospheric input (QIAN or CRU-NCEP), as well as slightly different interpolation routines, and will not be BFB with the DATM compsets.  Initial testing shows differences in the 1% range for most variables.  These improvements can shorten offline land model simulation times by 5-10x, and are primarily intended for model development and UQ.  Additional modifications include:  3)  Pulling out selected hard-coded model parameters to be read in from netcdf files, and changes to the existing python script framework for site simulations.


Requirements

Requirement

: name-of-requirement-here

1: Provide more efficient accelerated decomposition (AD) for land biogeochemistry

Date last modified:  
Contributors: Daniel Ricciuto

Each requirement is to be listed under a ”section” heading, as there will be a one-to-one correspondence between requirements, design, proposed imple- mentation and testing. Requirements should not discuss technical software issues, but rather focus on model capability. To the extent possible, require- ments should be relatively independent of each other, thus allowing a clean design solution, implementation and testing plan.

 

Algorithmic Formulations

Design solution: short-description-of-proposed-solution-here

Date last modified:// date
Contributors: (add your name to this list if it does not appear)

 

For each requirement, there is a design solution that is intended to meet that requirement. Design solutions can include detailed technical discussions of PDEs, algorithms, solvers and similar, as well as technical discussion of performance issues. In general, this section should steer away from a detailed discussion of low-level software issues such as variable declarations, interfaces and sequencing.

 

Design and Implementation

Implementation: short-desciption-of-implementation-here

Date last modified: // date
Contributors: (add your name to this list if it does not appear)

 

This section should detail the plan for implementing the design solution for requirement XXX. In general, this section is software-centric with a focus on software implementation. Pseudo code is appropriate in this section. Links to actual source code are appropriate. Project management items, such as svn branches, timelines and staffing are also appropriate. How do we typeset pseudo code?

 

Provide a framework to reach steady state in accelerated mode in land model (with active biogeochemistry) in a reduced amount of time (< 500 years) for any given climate, plant functional type, or choice of model parameters affecting decomposition rate.


Requirement 2: Provide option to bypass DATM and model coupler for offline land model simulations

Date last modified:  
Contributors: Daniel Ricciuto

Provide a framework to read in all model relevant inputs at the time of initialization, including meteorology, nitrogen deposition, aerosol deposition, fire data, and co2 concentrations.

Requirement 3: Model code changes to enable parameter manipulation in site-level UQ studies

Date last modified:  

Contributors: Daniel RicciutoXiaoying Shi

Provide a python scripting framework to enable full point model simulations including spinup and transient.  Extract selected current hard-coded parameters and read them from netcdf parameter files.  Provide new parameterizations for storage, harvest, and photosynthetic temperature response learned from pervious site-level UQ studies (defaults will not be changed from ACME_v0).

Algorithmic Formulations

Design solution: Provide more efficient accelerated decomposition (AD) for land biogeochemistry

Date last modified:  
Contributors: Daniel Ricciuto

 

Modification 1)  if (model_year) < 20, set carbon_only mode active

Modificaiton 2)  In accelerated mode For dead croot and dead stem carbon only, accelerate mortality by a factor of 10

                         In accelerated mode, multiply dead stem/croot carbon pools by a factor of 10 for biomass calculation in fire model.

                         In accelerated mode,multiply dead stem/croot carbon pools by a factor of 10 for biomass/height relationship

Modification 3)  In accelerated mode, modify acceleration factors (af) of slow pools (> 1 year) from constants to a functional form:  af = f(k, Q10, MAT).

                         MAT = mean annual temperature, k = rate constant for decomposition (at 25C), Q10 = temperature sensitivity

                         In accelerated mode, increase vertical transport to match acceleration factors.

Design solution: Provide option to bypass DATM and model coupler for offline land model simulations

Date last modified:  
Contributors: Daniel Ricciuto

No algorithmic changes necessary.

Design solution: Model code changes to enable parameter manipulation in site-level UQ studies

Date last modified:  
Contributors: Daniel RicciutoXiaoying Shi

Modification of harvest subroutine to specify number of days over which to apply the harvest algorithm (default 1 year)

Modification to set minimum soil temperature for calculation of BTRAN as a parameter (default = -2 C) 

 Modification to include fraction of downregulation C flux sent to cpool (default is zero), introduce cpool turnover (default 1 year)

Design and Implementation

Implementation: Provide more efficient accelerated decomposition (AD) for land biogeochemistry

Date last modified:  
Contributors: Daniel Ricciuto

 

The following subroutines are modified (Based on v0 code; this list will be revised on further review of both CNP and interface codes):
surfrdMod:  Read in mean annual temperature from surface dataset
CNAllocationMod:  Set carbon_only mode if model_year > 20, set carbon_only model false otherwise.
CNDecompCascadeCN(BGC)Mod:  Make spinup_vector an 8(7)-element array.  After parameters are read, set spinup_vector to max(1, 3/(k*Q10((MAT-25)/10.))
                                                where k is pool rate constant (in years) and MAT is mean annual T (deg C).  Apply these spinup vectors to the spinup_factor for decomp calculation. 
CN(C/N/P)StateType:  On enter_spinup, reduce SOM/Litter pool sizes by the spinup factor.  Same for dead stem/croot pools.
                                    On exit_spinup, multiply SOM/litter pool sizes by the spinup factor.  Same for dead stem/croot pools.
CNFireMod:  Multiply deadstemc by 10 for fuelc calculation.  Multiply dead wood biomass and decomp_pool fire fluxes (C/N/P) by acceleration factors.
CNGapMortalityMod:  Accelerate mortality by a factor of 10 in dead stem/croot pools for C/N/P.
CNSoilLittVertTranspMod:  Apply spinup_factors to all decomp pools.
CNVegStructMod:  Multiply dead stem C by spinup factor in accelerated mode (requires column level deadstemc calculation) for biomass/height calculation.

Implementation:  Provide option to bypass DATM and model coupler for offline land model simulations

Date last modified:  
Contributors: Daniel Ricciuto

The following subroutines are modified (Based on v0 code; this list will be revised on further review of both CNP and interface codes)

ccsm_driver:  Disable writing logfile information every timestep.

lnd_comp_mct:  Disable lnd_export subroutine if cpl_bypass option is used.

atm2lndType:  Define and allocate new variables for met data, co2, c13o2, ndep, aerosol, hdm, lnfm inputs (containing complete timeseries).

lnd_comp_mct:  Disable export to coupler

lnd_import_export:  Extensive modifications to read in met data, ndep, fire, aerosol and co2 data on time step 0.

controlMod and clm_varctl:  Provide new name list options to specify directory for cpl_bypass metdata, co2_file and aerosol files (since these will be read in CLM instead of DATM)

config_compsets:  Provide new compsets using SATM for cpl_bypass mode 

clm_driver:  Disable ndep stream file/interpolation operations.  Disable writing "completed timestep"  every timestep.

CNFireMod:  Disable lnfm/hdm stream file/interpolation operations

Implementation:  Model code changes to enable parameter manipulation in site-level UQ studies

Date last modified:  
Contributors: Daniel Ricciuto

Parameters will be added to the clm_params_xxxxx.nc file and read in pft_varcon or relevant model subroutine.


Planned Verification and Unit Testing 

Verification and Unit Testing:

short-desciption-of-testing-here

UQ efficiency improvements

Date last modified:   

Contributors: 

(add your name to this list if it does not appear)

 

How will XXX be tested? i.e. how will be we know when we have met requirement XXX. Will these unit tests be included in the ongoing going forward?

Daniel RicciutoXiaoying Shi

The planned changes to ad_spinup will not be bfb with previous tags.  We will verify that the current and previous spinup methodologies produce the same steady state C pools to within 0.1 PgC  globally and within 1gC/m2 for at least 95% of land grid cells in a global offline simulation.  The previous ad_spinup methodology will still be available through a namelist option.

The changes to bypass the model coupler will be implemented as a new compset.  We will verify that these simulations produce the same steady state as the standard IXXXXCLM45CN compset for steady state (year 1850) and transient C,N, and P pools (year 2000) to within 1% globally and for at least 95% of land grid cells in a global offline simulation.

All other changes will be verified as bfb.

Planned Validation Testing 

Validation Testing:

short-desciption-of-testing-here

UQ efficiency improvements

Date last modified:  

Contributors:

 (add your name to this list if it does not appear)

 Daniel RicciutoXiaoying Shi

 

How The ad_spinup changes will XXX be tested? What observational or other dataset will be used?  i.e. how will be we know when we have met requirement XXX. Will these unit tests be included in the ongoing going forward?be tested to determine the optimal parameters (mortality acceleration, som factors, and length of time in C-only mode). requiring the least amount of spinup to reach steady state C pools.  

Other model parameter and structural changes will be tested against site-level data (e.g. FLUXNET) and assessed globally using the ILAMB framework.

Planned Performance Testing 

Performance Testing: short-desciption-of-testing-here

Date last modified:  

 

How will XXX be tested? i.e. how will be we know when we have met requirement XXX. Will these unit tests be included in the ongoing going forward?

 

Contributors: 

(add your name to this list if it does not appear)

Daniel Ricciuto

 

Ad_spinup are not expected to impact performance in terms of CPU time per model year, but will reduce the length of required simulation.  Performance will be tested using standard tools.

Cpl_bypass is expected to significantly enhance the performance of offline land model simulations.  This will be tested using the standard timing tools on all major platforms.

Other parameter and structural changes are not expected to impact performance.