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
In the table below 4.Equ means Equations and Algorithms, 5.Ver means Verification, 6.Perf - Performance, 7. Val - Validation, - competed, - in progress, - not done
Title: O_25_LI Land GLC Coupling Via CIME
Requirements and Design
ACME Ice-Ocean Group
Date: //date
Summary
The GLC model receives surface temperature and surface mass balance from the LND model. This coupling was implemented in CESM for CISM and is available to ACME via CIME. The CISM-CESM coupling also included liquid and solid runoff from the ice sheet model, which while not GLC-LND coupling is also considered here.
This functionality needs to be reproduced for MPASLI in ACME.
Requirements
The implementation of what CISM's GLC requires to work with the GLC-LND coupling in CIME can largely be seen in the GLAD modules created by Bill Sacks (Unlicensed) in CISM: https://github.com/ACME-Climate/cism-piscees/pull/35
Requirement: Fields from coupler to GLC
Date last modified: 2015/09/21
Contributors: Matt Hoffman, Bill Sacks (Unlicensed), Jeremy Fyke (Unlicensed), William Lipscomb (Unlicensed)
- qsmb - surface mass balance of glacier ice (kg/m^2/s)
- tsfc - surface ground temperature (deg C)
Starting with CIME, the coupler does downscaling so these fields are on the GLC grid.
In order for the coupler to return correct values of these fields, GLC must pass to the coupler gtopo and ice_covered. MJH: I'm guessing about this - is this correct?
Requirement: Fields from GLC to coupler
Date last modified: 2015/09/21
Contributors: Matt Hoffman, Bill Sacks (Unlicensed), Jeremy Fyke (Unlicensed), William Lipscomb (Unlicensed)
The GLC component needs to pass fields to the coupler:
- gtopo - surface elevation of each GLC grid cell (m) (state: current snapshot)
- ice_covered - whether each grid cell is ice-covered [0,1] (state: current snapshot?)
- hflx - output heat flux (W/m^2, positive down) (flux: time-average) MJH: Is this at the ice sheet-atmosphere boundary?
- rofi - output ice runoff (kg/m^2/s = mm H2O/s) (flux: time-average) (This is not a LND coupling, but including it here as it also needs hooking-up.) MJH: This is sent to OCN model, correct?
- rofl - output liquid runoff (kg/m^2/s = mm H2O/s) (flux: time-average) (This is not a LND coupling, but including it here as it also needs hooking-up.) MJH: Is this sent to the ROF or the OCN model?
- ice_sheet_grid_mask - mask of ice sheet grid coverage (state: current snapshot?) MJH: how does this differ from "ice_covered"?
- icemask_coupled_fluxes - mask of ice sheet grid coverage where we are potentially sending non-zero fluxes (state: current snapshot? or consistent with the flux fields?) MJH: is there a more complete description of what this means?
These fields need to be accumulated/averaged properly over the coupling interval by GLC. MJH: Which ones should be averaged vs. using a snapshot of the final time in the coupling interval?
Note that gtopo and ice_covered need to be updated in a TG run for qsmb, tsfc from the coupler to be correct (i.e., updated in time as the ice sheet evolves). However, those fields are not actually passed on to the LND model in an IG/BG run. In contrast, ice_covered is sent back to the LND model to determine where SMB calculations occur. MJH: I'm guessing about this - is this correct?
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)
(Not sure this section is necessary for this as this should be a relatively straightforward software engineering problem.)
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)
(Leaving this partially blank for now until requirements are more fully understood. My intent is to get a TG case working first, than move to IG.)
Planned Verification and Unit Testing
Verification and Unit Testing: short-desciption-of-testing-here
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?
Planned Validation Testing
Validation Testing: GLC-LND coupling
Date last modified:2015/09/21
Contributors: Matt Hoffman, Jeremy Fyke (Unlicensed), William Lipscomb (Unlicensed)
Planned Performance Testing
Performance Testing: short-desciption-of-testing-here
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?