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. 

...

Requirements

Modify the sea-ice shortwave code to include a new subroutine SNICAR_AD that

  1. provides new input files for snow and ice optics adopted by ELM;
  2. expands the shortwave radiative calculation to 5 subdivided solar bands adopted by ELM;
  3. removes empirical adjustment for radiative-effective snow grain size;
  4. 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 


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.

Pseudo

Source codehttps://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:
    if (
SNICAR_AD):
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?

Planned Verification and Unit Testing 

Verification and Unit Testing

: short-desciption-of-testing-here

:


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.


...