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.
...
Requirements
Modify the sea-ice shortwave code to include a new subroutine SNICAR_AD that
- provides new input files for snow and ice optics adopted by ELM;
- expands the shortwave radiative calculation to 5 subdivided solar bands adopted by ELM;
- removes empirical adjustment for radiative-effective snow grain size;
- adopts a new algorithm to correct for the bias of near-infrared albedo and absorption when solar zenith angles are larger than 75 degrees.
Date last modified: Jun 1st, 2019
Contributors: Cheng Dang (Unlicensed)
Algorithmic Formulations
Design solution: described in the following article
Dang, C., Zender, C. S., and Flanner, M. G.: Inter-comparison and improvement of 2-stream shortwave radiative transfer models for a unified treatment of cryospheric surfaces in ESMs, The Cryosphere Discuss., https://doi.org/10.5194/tc-2019-22, in review, 2019.
Date last modified: July 1st, 2019
Contributors: Cheng Dang (Unlicensed)
Design and Implementation
Implementation:
In ice_shortwace.F90, we added add a new subroutine SNICAR_AD to compute the shortwave radiative properties of snow-covered sea ice, which can be turned on by setting config_use_snicar_ad to = true in natelist.
Source code: https://github.com/chengdang/MPAS-Model/tree/seaice/snowice_sw_snicar. The code modification is merged to the sea-ice developing branch, with default config_use_snicar_ad = false.
The pseudocode in ice_shortwave.F90
if snow-covered sea ice:SNICAR_AD):
if (
config_use_snicar_ad):
call snicar_ad
else
call default shortwave algorithm
end
end
subroutine snicar_ad
Date last modified: July 1st, 2019
Contributors: Cheng Dang (Unlicensed)
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?Verification and Unit Testing
: short-desciption-of-testing-here:
- The offline radiative transfer model has been tested against a multi-stream benchmark model.
- Results of the modified E3SM model are tested against E3SM_v1 released pre-industrial simulations:
- 30-year MPAS-analysis: https://portal.nersc.gov/project/m2833/cdang/30yr.mpas_analysis.m2m.SNICAR_AD_landseaice_vs_DECKv1b.piControl.ne30_oEC.edison/
- 30-year E3SM diagnostics: https://portal.nersc.gov/project/m2833/cdang/30yr.e3sm_diags.m2m.SNICAR_AD_landseaice.SNICAR_AD_seaice.ne30_oEC.edison/viewer/
- Results of the modified E3SM model will be tested against E3SM_v1 released historical simulations and observations of snow depth, sea-ice concentration/fraction, dust and black carbon concentration. (Fully-coupled historical simulations are in progress)
Date last modified:
July 1st, 2019
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)Cheng Dang (Unlicensed)
Planned Validation Testing
Validation 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? 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?
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)
The new implementation is not expected to have a significant impact on the computational cost/performance of E3SM.
...