Back to home page

darwin3

 
 

    


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.
                

** Warning **

Wide character in print at /usr/local/share/lxr/source line 1030, <$git> line 75.

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

** Warning **

Wide character in print at /usr/local/share/lxr/source line 1030, <$git> line 120.

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

** Warning **

Wide character in print at /usr/local/share/lxr/source line 1030, <$git> line 124.

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`.