wiki:CarbonCycleUnits

Version 14 (modified by smoreira, 6 years ago) (diff)

--

Units and Scale Factors in the Carbon Cycle Model

Variables units in OCYCC. Six and Maier-Reimer, 1996.

The main variables in the OCYCC (Carbon Cycle Model in iLOVECLIM) are ODIC, OALK, OPO4, ONO3, OO2, ODOC, ODOCS, OC13, OC14, ODOC13, ODOCS13. Particles include CaCO3 (calcite) and TPP (Total Particle Production). Another two important secondary variables are phyto_m and zoo_m, i.e. phytoplankton and zooplankton, which are really important in the intermediate calculations of DIC and DOC, for example. All these variables must be checked in terms of units and consistency of equations, units and scale factors.

Six and Maier-Reimer (1996)

Six and Maier-Reimer (1996) describes some of the base equations of teh NPZD model used in OCYCC/iLOVECLIM. More precisely, most of the equations presented in this manuscript regarding phytoplankton and zooplankton dynamics can be found in mbiodyn.f.

Table 1 in Six and Maier-Reimer (1996) shows parameter values for the phytoplankton and zooplankton equations which mostly coincide with the parameter definitions present in initmbiopar.f (if not with the same value, a very similar one). For example, half-saturation constant for nutrient uptake is in both cases 0.016 µmolC×L-1 or minimum phytoplankton concentration, which is set in both cases, publication and OCYCC code to 0.01 µmol×L-1

A similar example can be tested in the case of zooplankton. Half-saturation constant for phytoplankton ingestion is in Six and Maier-Reimer (1996) equal to 4 µmol×L-1 and similar to the value used in OCYCC 3.5 µmol×L-1, which can be found in initmbiopar.f

Those parameters and many others related to phytoplankton and zooplankton dynamics prove that the same equations are used in both cases and, therefore, units of the main variables must be the same. This means that units for phytoplankton and zooplankton are µmol×L-1 or µmol×kg-1, assuming an averaged density value of 1 kg×L-1

Some of the variables used in the phytoplankton and zooplankton equations in Six and Maier-Reimer (1996), such as exudation or mortality of phytoplankton and excretion of zooplankton are also part for POC (Particulated Organic Carbon) or TPP (all particles that stem from natural senescence of feval pellet production within the euphotic layer summarized as Total Particle Production), as we can see, for example, in page 563.

This expression fully coincides with line 293 in file mbiodyn.f where variable TPP_diff is defined. Therefore, TPP_diff must be also expressed in µmol×kg-1. Some times the parameters in OCYCC code coincide with the values presented in Six and Maier-Reimer (1996) but divided by TDAY. This is due to the fact that mbiodyn and maphot subroutines are called in mbiota.f inside of a loop, because these calculations are performed in several iterations per day in the loop, do itime = 1, itimemax

Inorganic Carbon Equilibrium for Climber, subroutine incche

incche.f calculates the carbonate system equilibrium in the same way than in CLIMBER code. It takes temperature, salinity, DIC and alkalinity as input values and returns sCO2, xpCO2, xCO2, xHCO3, xCO3 as output, where xCO2, xHCO3 and xCO3 are the aqueous components of the carbonate system (carbonic acid, bicarbonate and carbonate), xpCO2 is the partial pressure of the CO2 gas in water according to Henry's Law and sCO2 is the solubility of CO2 in seawater.

This subroutine uses basically the equations described in: F. Millero, Geochimica et Cosmochimica Acta, 59, 661-677, 1995, using some original equations determined by Weiss 1974, Mar. Chem., 2, 203-215.

incche subroutine calls several other subroutines to calculate different specific constants and variables, such as total boric acid in seawater, first and second dissociation constants of carbonic acid in seawater, Henry's law constant for seawater to calculate solubility of CO2 and so on.

According to the equations and parameters used in the intermediate calculations, the units for these constants are mol×kg-1 or mol×kg-1×atm-1

Therefore, everything indicates that units of xCO2, xHCO3 and xCO3 in the output and DIC and alkalinity in the input must be mol×kg-1 too. These are the units provided to MEDUSA in mod_iloveclim_o2s.f in lines 416 to 419 and converted there to the units required by MEDUSA, mol×m-3, multiplying by 1.0e+03

In lines 258 to 260 of ocn_bio.f incche subroutine is called using directly variables TM, SM, ODIC, and OALK. Following the previous analysis, OALK and ODIC units must be mol×kg-1 or mol×L-1

Scale factors for unit conversion in OCYCC

There are three main scale factors used in some of the equations in mbiodyn.f, mbiota.f, maphot.f, eco2.f and out_cycc.f. Those factors are:

  • SCALE_M = 1.0e-18, conversion factor for total global carbon inventory.
  • SCALE_B = 1.0e-15, conversion factor for box volume (reduction of computational errors).
  • SCANU = 1.0e-06, conversion factor from DOC or PHYTO units (µmol×kg-1) to DIC units (mol×kg-1)

mbiodyn.f & maphot.f, scanu factor

Lines 410 to 425 show the calculations of the DIC, OC13 and OC14 dynamics. In line 421, we can observe how ODIC is calculated using variable vdic, which includes PHYTO_dif, ZOO_dif, TPP_dif, ODOC_dif and ODOCS_dif.
From the previous analysis of Six and Maier-Reimer (1996) and its equivalences in OCYCC, we have concluded that all those variables are expressed in µmol×kg-1, or equivalently in µmol×L-1. It is precisely in line 421, where ODIC is calculated, where variable vdic (µmol×kg-1) is multiplied by the SCANU factor equal to 1.0e-06. This is precisely the conversion factor, 1 µmol = 10-6 mol.

out_ocycc.f & eco2.f, scale_m factor

The output file C_reservoirs.txt contains some values related to total carbon content in the ocean, atmosphere and vegetation and looking into the values of OC_C around 39000 coincides with the accepted value of GtC ("gigatons of carbon") of total carbon in the ocean. Calues in this file are written in line 340 of out_cycc.f and they are calculated in file eco2.f.
In lines 96 and 230 of eco2.f, initial total carbon inthe ocean is calculated using the following expression:
ca_oc = ca_oc + (PHYTO_M(i,J,n) + ZOO_M(i,J,n) + ODOC(i,J,n) + OPOC(i,J,n) + ODOCS(i,J,n) + ODIC(i,J,n)*1e06) * fhypt(j) * DVOL(i,J,n) *12 * SCALE_M * 1.028

Here we can see that ODIC values are multiplied by 1.0e06, which confirms that phytoplankton, zooplankton and organic carbon are expressed in µmol×kg-1 and ODIC is expressed in mol×kg-1

Let's have a look more in detail to this equation. The first part of the equation, expressed in µmol×kg-1, is turned into µmol×L-1 when we multiply by a density value of 1.028 kg/L. Then, it is necessary to multply by 103 to convert the volume of the ocean layer from m3 to L. Next step is multiplying by a factor of 10-6 to convert µmol into mol before multiplying by the atomic weight of carbon, 12 g/mol to get the total mass in grams. The final step would be multiplying by a factor of 10-15 to convert from g to Gt of carbon.

This combination of 103x 10-6x 10-15 turns to be exactly the value of SCALE_M, 1.0e-018.

out_ocycc.f & eco2.f, scale_b factor

[IN PROGRESS...]