Back to home page

MITgcm

 
 

    


Warning, /doc/phys_pkgs/dic.rst is written in an unsupported language. File is not indexed.

view on githubraw file Latest commit c89c701c on 2022-05-05 20:48:02 UTC
1c8cebb321 Jeff*0001 .. _sub_pkg_dic:
                0002 
9ce7d74115 Jeff*0003 DIC Package
                0004 -----------
                0005 
                0006 Introduction
                0007 ~~~~~~~~~~~~
                0008 
                0009 This is one of the biogeochemical packages handled from the pkg gchem.
                0010 The main purpose of this package is to consider the cycling of carbon in
                0011 the ocean. It also looks at the cycling of phosphorous and potentially
                0012 oxygen and iron. There are four standard tracers :math:`DIC`,
                0013 :math:`ALK`, :math:`PO4`, :math:`DOP` and also possibly :math:`O2` and
                0014 :math:`Fe`. The air-sea exchange of CO\ :math:`_2` and O\ :math:`_2` are
                0015 handled as in the OCMIP experiments (reference). The export of
                0016 biological matter is computed as a function of available light and
                0017 PO\ :math:`_4` (and Fe). This export is remineralized at depth according
                0018 to a Martin curve (again, this is the same as in the OCMIP experiments).
                0019 There is also a representation of the carbonate flux handled as in the
                0020 OCMIP experiments. The air-sea exchange on CO\ :math:`_2` is affected by
                0021 temperature, salinity and the pH of the surface waters. The pH is
                0022 determined following the method of Follows et al. For more details of
c89c701cfc Jean*0023 the equations see :numref:`sub_global_oce_biogeo`.
9ce7d74115 Jeff*0024 
                0025 Key subroutines and parameters
                0026 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                0027 
                0028 | **INITIALIZATION**
                0029 | *DIC\_ABIOTIC.h* contains the common block for the parameters and
                0030   fields needed to calculate the air-sea flux of :math:`CO_2` and
                0031   :math:`O_2`. The fixed parameters are set in *dic\_abiotic\_param*
                0032   which is called from *gchem\_init\_fixed.F*. The parameters needed for
                0033   the biotic part of the calculations are initialized in
                0034   *dic\_biotic\_param* and are stored in *DIC\_BIOTIC.h*. The first
                0035   guess of pH is calculated in *dic\_surfforcing\_init.F*.
b02408d40c Bria*0036 |
9ce7d74115 Jeff*0037 | **LOADING FIELDS**
                0038 | The air-sea exchange of :math:`CO_2` and :math:`O_2` need wind,
                0039   atmospheric pressure (although the current version has this hardwired
                0040   to 1), and sea-ice coverage. The calculation of pH needs silica
                0041   fields. These fields are read in in *dic\_fields\_load.F*. These
                0042   fields are initialized to zero in *dic\_ini\_forcing.F*. The fields
                0043   for interpolating are in common block in *DIC\_LOAD.h*.
b02408d40c Bria*0044 |
9ce7d74115 Jeff*0045 | **FORCING**
                0046 | The tracers are advected-diffused in *ptracers\_integrate.F*. The
                0047   updated tracers are passed to *dic\_biotic\_forcing.F* where the
                0048   effects of the air-sea exchange and biological activity and
                0049   remineralization are calculated and the tracers are updated for a
                0050   second time. Below we discuss the subroutines called from
                0051   *dic\_biotic\_forcing.F*.
                0052 
                0053 | Air-sea exchange of :math:`CO_2` is calculated in *dic\_surfforcing*.
                0054   Air-Sea Exchange of :math:`CO_2` depends on T,S and pH. The
                0055   determination of pH is done in *carbon\_chem.F*. There are three
                0056   subroutines in this file: *carbon\_coeffs* which determines the
                0057   coefficients for the carbon chemistry equations; *calc\_pco2* which
                0058   calculates the pH using a Newton-Raphson method; and
                0059   *calc\_pco2\_approx* which uses the much more efficient method of
                0060   Follows et al. The latter is hard-wired into this package, the former is
                0061   kept here for completeness.
                0062 
                0063 | Biological productivity is determined following Dutkiewicz et al. (2005)
                0064   and is calculated in *bio\_export.F* The light in each latitude band is
                0065   calculate in *insol.F*, unless using one of the flags listed below. The
                0066   formation of hard tissue (carbonate) is linked to the biological
                0067   productivity and has an effect on the alkalinity - the flux of carbonate
                0068   is calculated in *car\_flux.F*, unless using the flag listed below for
                0069   the Friis et al (2006) scheme. The flux of phosphate to depth where it
                0070   instantly remineralized is calculated in *phos\_flux.F*.
                0071 
                0072 | The dilution or concentration of carbon and alkalinity by the addition
                0073   or subtraction of freshwater is important to their surface patterns.
                0074   These “virtual” fluxes can be calculated by the model in several ways.
                0075   The older scheme is done following OCMIP protocols (see more in
                0076   Dutkiewicz et al 2005), in the subroutines *dic\_surfforcing.F* and
                0077   *alk\_surfforcing.F*. To use this you need to set in
b02408d40c Bria*0078   GCHEM\_OPTIONS.h: #define ALLOW\_OLD\_VIRTUALFLUX. But this can also
9ce7d74115 Jeff*0079   be done by the ptracers pkg if this is undefined.
                0080   You will then need to set the concentration of the tracer in rainwater
                0081   and potentially a reference tracer value in data.ptracer
                0082   (PTRACERS_EvPrRn, and PTRACERS_ref respectively).
                0083 
                0084 | Oxygen air-sea exchange is calculated in *o2\_surfforcing.F*.
                0085 
                0086 | Iron chemistry (the amount of free iron) is taken care of in
                0087   *fe\_chem.F*.
b02408d40c Bria*0088 |
9ce7d74115 Jeff*0089 | **DIAGNOSTICS**
                0090 | Averages of air-sea exchanges, biological productivity, carbonate
                0091   activity and pH are calculated. These are initialized to zero in
                0092   *dic\_biotic\_init* and are stored in common block in *DIC\_BIOTIC.h*.
b02408d40c Bria*0093 |
9ce7d74115 Jeff*0094 | **COMPILE TIME FLAGS**
                0095 | These are set in GCHEM\_OPTIONS.h:
                0096 | DIC\_BIOTIC: needs to be set for dic to work properly (should be fixed
                0097   sometime).
                0098 | ALLOW\_O2: include the tracer oxygen.
                0099 | ALLOW\_FE: include the tracer iron. Note you will need an iron dust
                0100   file set in data.gchem in this case.
                0101 | MINFE: limit the iron, assuming precpitation of any excess free iron.
                0102 | CAR\_DISS: use the calcium carbonate scheme of Friis et al 2006.
                0103 | ALLOW\_OLD\_VIRTUALFLUX: use the old OCMIP style virtual flux for
                0104   alklinity adn carbon (rather than doing it through pkg/ptracers).
                0105 | READ\_PAR: read the light (photosynthetically available radiation)
                0106   from a file set in data.gchem.
                0107 | USE\_QSW: use the numbers from QSW to be the PAR. Note that a file for
                0108   Qsw must be supplied in data, or Qsw must be supplied by an
                0109   atmospheric model.
                0110 | If the above two flags are not set, the model calculates PAR in
                0111   insol.F as a function of latitude and year day.
                0112 | USE\_QSW\_UNDERICE: if using a sea ice model, or if the Qsw variable
                0113   has the seaice fraction already taken into account, this flag must be
                0114   set.
                0115 | AD\_SAFE: will use a tanh function instead of a max function - this is
                0116   better if using the adjoint
                0117 | DIC\_NO\_NEG: will include some failsafes in case any of the variables
                0118   become negative. (This is advicable). ALLOW\_DIC\_COST: was used for
                0119   calculating cost function (but hasn’t been updated or maintained, so
                0120   not sure if it works still)
b02408d40c Bria*0121 |
9ce7d74115 Jeff*0122 
                0123 Do’s and Don’ts
                0124 ~~~~~~~~~~~~~~~
                0125 
                0126 This package must be run with both ptracers and gchem enabled. It is set
                0127 up for at least 4 tracers, but there is the provision for oxygen and
                0128 iron. Note the flags above.
                0129 
                0130 Reference Material
                0131 ~~~~~~~~~~~~~~~~~~
                0132 
                0133 | Dutkiewicz. S., A. Sokolov, J. Scott and P. Stone, 2005: A
                0134   Three-Dimensional Ocean-Seaice-Carbon Cycle Model and its Coupling to
                0135   a Two-Dimensional Atmospheric Model: Uses in Climate Change Studies,
                0136   Report 122, Joint Program of the Science and Policy of Global Change,
                0137   M.I.T., Cambridge, MA.
b02408d40c Bria*0138 | Follows, M., T. Ito and S. Dutkiewicz, 2006: On the solution of the carbonate
                0139   chemistry system in ocean biogeochemistry models, *Ocean Modeling*, 12,
                0140   290-301, doi:10.1016/j.ocemod.2005.05.004
9ce7d74115 Jeff*0141 | Friis, K., R. Najjar, M.J. Follows, and S. Dutkiewicz, 2006: Possible
                0142   overestimation of shallow-depth calcium carbonate dissolution in the
                0143   ocean, *Global Biogeochemical Cycles*, 20, GB4019,
                0144   doi:10.1029/2006GB002727.
                0145 
                0146 Experiments and tutorials that use dic
                0147 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                0148 
                0149 -  Global Ocean tutorial, in tutorial\_global\_oce\_biogeo verification
c89c701cfc Jean*0150    directory, described in :numref:`sub_global_oce_biogeo`.