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.

...

Page Properties
idFeature_PR


Info

Overview table for the owner and an approver of this feature

1.Description

Corrects inadequacies in sea ice nitrogen dynamics
2.OwnerNicole Jeffery
3.Created08/26/2019
4.Equ(error)
5.Ver(error)
6.Perf(error)
7.Val(error)
8.Approver
9.Approved Date



...

Expand
titleClick here for Table of Contents ...


Panel

Table of Contents

Table of Contents




Title: Improved nitrogen cycling in sea ice

Requirements and Design

E3SM Sea Ice  Group

Date:Aug 26, 2019 

Summary

The E3SMv1.1 CBGC simulations of sea ice biogeochemistry (BGC) drastically underestimate ice algal primary production in the Arctic.  This is in large part due to biases in the upper ocean nitrate pool.  However, sea ice algal primary production is also underestimated in the Southern Ocean, albeit not as drastically,  where surface nutrients do not play a role.  This suggests insufficiencies in our modelled biochemical interactions. Several studies (Fripiat et al. 2013, New insights into sea ice nitrogen biogeochemical dynamics from the nitrogen isotopes papers; Baer et al. 2015, Nitrogen uptake dynamics in landfast sea ice of the Chukchi Sea) point to dissolved organic nitrogen (DON) remineralization and nitrate production from nitrification as important nutrient sources for algal production.  These sources are important for two reasons.  First, DON is found in high concentrations in the polar oceans and, unlike nitrate, DON adsorbs to the ice crystals during sea ice growth and so can accumulate to high concentrations in the sea ice. Remineralization of DON produces ammonium which is readily taken up by ice algae, in fact, preferentially to nitrate.   Thus DON remineralization to ammonium provides a new and abundant source of nitrogen for ice algae that will almost surely mitigate our production biases.   Second, nitrate produced from nitrification is distinct from the ocean source of nitrate because it is trapped in a biofilm which adsorbs to ice crystals (Deman et al. 2019, High production going along with respiration, Impact of bio-film formation for sea ice biogeochemistry, IGS Sea Ice Symposium). This process allows for build-up of nitrate in the sea ice brine, a feature observed in sea ice cores (Baer et al., 2015; Duarte et al., 2017 Sea ice thermohaline dynamics and biogeochemistry in the Arctic Ocean: Empirical and model results)  but that is virtually impossible in our current model design.

...

All code changes will involve a single subroutine in the MPAS-SI column package.  Implementation and tuning will require updates to the namelist mpassi_in.  It is expected that these changes will reduce ice algal primary production biases in both polar regions, though we should still see underestimations in the Arctic.

Requirements


Requirement: Add remineralization and nitrification fluxes to sea ice biogeochemical reactions.

Date last modified: Aug 27, 2019
Contributors: Nicole Jeffery


Currently, dissolved organic nitrogen (DON), ammonium (NH4), nitrate (NO3), and algal nitrogen (N) are the four fundamental pools in the sea ice nitrogen cycle.  They satisfy coupled non-linear advection-diffusion-reaction equations.  As modelled, this cycle is not closed, though losses are tracked in a diagnostic zooplankton pool (ZOO). Although not the focus of this development, we are working towards a model structure that conserves all sea ice biogeochemical tracers.  With conservation in mind, we will modify the DON equation source terms so that together with ammonium sources they balance nitrogen losses from algae during grazing and mortality.  We will then add a source term to the NH4 equation that can be made equivalent (via a parameter, fdon) to the remineralization loss term already present in the DON equation. Finally, we will change namelist parameters to turn on nitrification at observed rates. 

This development will be first tested algebraically to show conservation of nitrogen. In addition, the ZOO diagnostic will be used to print an error message if nitrogen is not conserved in the reaction terms.  We can test this in short stand alone MPAS-SI runs similar to the standard-bgc testsuite.

Requirement: Add adsorption of nitrate produced from nitrification

Date last modified: Aug 27, 2019
Contributors: Nicole Jeffery

Nitrate tracers are currently purely mobile.  This means that they never adhere to the ice crystals and cannot build up in the brine in significant excess of the ocean concentration.  Tracers that adhere, such as DON, move between the mobile and stationary phases via prescribed timescales with the condition that the mobile to stationary transformation occurs only during sea ice growth and the stationary to mobile transformation occurs during sea ice melt.  In the case of nitrate, we first must define a stationary fraction of nitrate equal to the nitrification source term.  Secondly, we need to implement the latter transformation, stationary to mobile,  while preventing mobile to stationary transformations.

With the nitrification parameter set to 0, the code should be identical up to round off error in the biogeochemical tracers.  With nitrification at observed values, we expect to see higher nitrate concentrations in some polar sea ice, but no unphysical accumulations.  This can be tested by activating a warning flag already implemented that will indicate higher than expected concentrations of BGC tracers.

Algorithmic Formulations

Design solution: modify the reaction terms in the NH4 and DON equations

Date last modified:Aug 27, 2019
Contributors: Nicole Jeffery


  1. Requirement: Add remineralization and nitrification fluxes to sea ice biogeochemical reactions.

...

then tracers with mobile_C = 0  (nitrate and silicate) will have transformations in one direction only, stationary to mobile.  Although we are not adding silicate remineralization, it would now be a simple matter to include this improvement if later warranted.

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?

Design and Implementation

Implementation: Improvements to nitrogen cycling reaction terms

Date last modified: Sept 10, 2019
Contributors: Nicole Jeffery

See

In the subroutine algal_dyn (column/ice_zbgc.F90) add source terms from zooplankton grazing:

The current source term to DON (DON_s) is

DON_s(n) = graze_N*f_don(n)*fr_graze_s * dt


Change to

DON_s(n) = (c1 - fr_graze_s + fr_graze_e*fr_graze_s)* graze_N * dt


And allow remineralization of DON to ammonium (AM)

Am_s = Am_s + DON_r(n)*f_don_Am(n)


Save the nitrification source of Nitrate for adsorption to ice crystals:

nitrification = Nit_s_n

Implementation: Adsorption of nitrification source of nitrate to ice crystals

Date last modified: Sept 10, 2019
Contributors: Nicole Jeffery


Redefine the stationary (adsorbed) concentration of a tracer to allow for nitrified nitrate:

initcons_stationary(k) = mobile(mm)*(in_init_cons(k,mm)-initcons_mobile(k))

+ initcons_stationary(k) = max(c0,in_init_cons(k,mm)-initcons_mobile(k))


Allow release of nitrate but not adsorption:

dmobile(k) = mobile(mm)*(initcons_mobile(k)*(exp(-dt*rtau_ret( mm))-c1) + &

                     initcons_stationary(k)*(c1-exp(-dt*rtau_rel(mm))))

Becomes...

dmobile(k) = mobile(mm)*(initcons_mobile(k)*(exp(-dt*rtau_ret( mm))-c1) + &

                     initcons_stationary(k)*(c1-exp(-dt*rtau_rel(mm)))) + &

                     (1-mobile(mm))*initcons_stationary(k)*(c1-exp(-dt*rtau_rel(mm)))


Change

 if (sum_tot > c0 .and. mobile(mm) > c0) trcrn(nt_zbgc_frac+mm-1) = sum_new/sum_tot


To allow for adsorption when mobile(mm) = c0 (i.e. for nitrate):

 if (sum_tot > c0) trcrn(nt_zbgc_frac+mm-1) = sum_new/sum_tot


Then using "nitrification" defined in algal_dyn and passed to z_biogeochemistry:

if (m .eq. nlt_bgc_Nit) then   ! for nitrate

 initcons_mobile(k) = max(c0,(biomat_brine(k,m)-nitrification(k) + &

                  react(k,m))*iphin_N(k)*trcrn(nt_zbgc_frac+m-1))

initcons_stationary(k) = max(c0,((c1-trcrn(nt_zbgc_frac+m-1))*(biomat_brine(k,m)- &

                  nitrification(k) + react(k,m)) + nitrification(k))*iphin_N(k))


 sum_new = sum_new + initcons_mobile(k)*dz(k)

 sum_tot = sum_tot + (initcons_mobile(k) + initcons_stationary(k))*dz(k)

 end if


And at the end of the subroutine, redefine the mobile fraction for nitrate

if (m .eq. nlt_bgc_Nit .and. MAXVAL(nitrification) > c0) then

trcrn(nt_zbgc_frac+m-1) = zbgc_frac_init(m)

 if (sum_tot > c0) trcrn(nt_zbgc_frac+m-1) = sum_new/sum_tot

end if

enddo

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: 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)


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?

...