| 1 | 
\subsection {DIC Package}  | 
| 2 | 
\label{sec:pkg:dic} | 
| 3 | 
\begin{rawhtml} | 
| 4 | 
<!-- CMIREDIR:package_dic: --> | 
| 5 | 
\end{rawhtml} | 
| 6 | 
 | 
| 7 | 
\subsubsection {Introduction} | 
| 8 | 
This is one of the biogeochemical packages handled from the | 
| 9 | 
pkg gchem. The main purpose of this package is to consider | 
| 10 | 
the cycling of carbon in the ocean. It also looks at the | 
| 11 | 
cycling of phosphorous and potentially oxygen and iron.  | 
| 12 | 
There are four standard tracers | 
| 13 | 
$DIC$, $ALK$, $PO4$, $DOP$ and also possibly $O2$ and $Fe$.  | 
| 14 | 
The air-sea exchange | 
| 15 | 
of CO$_2$ and O$_2$ are handled as in the OCMIP experiments | 
| 16 | 
(reference). The export of biological matter is computed | 
| 17 | 
as a function of available light and PO$_4$ (and Fe). This export is | 
| 18 | 
remineralized at depth according to a Martin curve (again, | 
| 19 | 
this is the same as in the OCMIP experiments). There is | 
| 20 | 
also a representation of the carbonate flux handled as in | 
| 21 | 
the OCMIP experiments. The air-sea exchange on CO$_2$ | 
| 22 | 
is affected by temperature, salinity and the pH of the | 
| 23 | 
surface waters. The pH is determined following the | 
| 24 | 
method of Follows et al.  | 
| 25 | 
For more details of the equations see section  | 
| 26 | 
\ref{sec:eg-biogeochem_tutorial}. | 
| 27 | 
 | 
| 28 | 
\subsubsection {Key subroutines and parameters} | 
| 29 | 
 | 
| 30 | 
\noindent | 
| 31 | 
{{\bf INITIALIZATION}} \\ | 
| 32 | 
{\it DIC\_ABIOTIC.h} contains the common block for the  | 
| 33 | 
parameters and fields needed to calculate the air-sea | 
| 34 | 
flux of $CO_2$ and $O_2$. The fixed parameters are set in | 
| 35 | 
{\it dic\_abiotic\_param} which is called from {\it gchem\_init\_fixed.F}. | 
| 36 | 
The parameters needed for the biotic part of the calculations | 
| 37 | 
are initialized in {\it dic\_biotic\_param} and are stored | 
| 38 | 
in {\it DIC\_BIOTIC.h}. The first guess of pH is calculated | 
| 39 | 
in {\it dic\_surfforcing\_init.F}. | 
| 40 | 
 | 
| 41 | 
\vspace{.5cm} | 
| 42 | 
 | 
| 43 | 
\noindent | 
| 44 | 
{{\bf LOADING FIELDS}}\\ | 
| 45 | 
The air-sea exchange of $CO_2$ and $O_2$ need wind, atmospheric | 
| 46 | 
pressure (although the current version has this hardwired to 1), | 
| 47 | 
and sea-ice coverage. The calculation of pH needs silica fields. | 
| 48 | 
These fields are read in in {\it dic\_fields\_load.F}. These | 
| 49 | 
fields are initialized to zero in {\it dic\_ini\_forcing.F}. | 
| 50 | 
The fields for interpolating are in common block in  | 
| 51 | 
{\it DIC\_LOAD.h}. | 
| 52 | 
 | 
| 53 | 
\vspace{.5cm} | 
| 54 | 
 | 
| 55 | 
\noindent | 
| 56 | 
{{\bf FORCING}}\\ | 
| 57 | 
The tracers are advected-diffused in {\it ptracers\_integrate.F}. | 
| 58 | 
The updated tracers are passed to {\it dic\_biotic\_forcing.F} | 
| 59 | 
where the effects of the air-sea exchange and biological | 
| 60 | 
activity and remineralization are calculated and the tracers | 
| 61 | 
are updated for a second time. Below we discuss the  | 
| 62 | 
subroutines called from {\it dic\_biotic\_forcing.F}. | 
| 63 | 
 | 
| 64 | 
 | 
| 65 | 
Air-sea exchange of $CO_2$ is calculated in {\it dic\_surfforcing}. | 
| 66 | 
Air-Sea Exchange of $CO_2$ depends on T,S and pH. The determination | 
| 67 | 
of pH is done in {\it carbon\_chem.F}. There are three subroutines | 
| 68 | 
in this file: {\it carbon\_coeffs} which determines the coefficients | 
| 69 | 
for the carbon chemistry equations; {\it calc\_pco2} which calculates | 
| 70 | 
the pH using a Newton-Raphson method; and {\it calc\_pco2\_approx} | 
| 71 | 
which uses the much more efficient method of Follows et al. | 
| 72 | 
The latter is hard-wired into this package, the former is kept | 
| 73 | 
here for completeness. | 
| 74 | 
 | 
| 75 | 
Biological productivity is determined following | 
| 76 | 
Dutkiewicz et al. (2005) and is calculated in {\it bio\_export.F} | 
| 77 | 
The light in each latitude band is calculate in {\it insol.F}, | 
| 78 | 
unless using one of the flags listed below. | 
| 79 | 
The formation of hard tissue (carbonate) is linked to | 
| 80 | 
the biological productivity and has an effect on the | 
| 81 | 
alkalinity - the flux of carbonate is calculated in | 
| 82 | 
{\it car\_flux.F}, unless using the flag listed below | 
| 83 | 
for the Friis et al (2006) scheme. The flux of phosphate to depth where | 
| 84 | 
it instantly remineralized is calculated in {\it phos\_flux.F}. | 
| 85 | 
 | 
| 86 | 
The dilution or concentration of  carbon and alkalinity by | 
| 87 | 
the addition  or subtraction of freshwater is important to  | 
| 88 | 
their surface patterns. These "virtual" fluxes can be calculated  | 
| 89 | 
by the model in several ways. | 
| 90 | 
The older scheme is done following OCMIP protocols (see | 
| 91 | 
more in Dutkiewicz et al 2005), in the subroutines | 
| 92 | 
{\it dic\_surfforcing.F} and {\it alk\_surfforcing.F}. | 
| 93 | 
To use this you need to set in GCHEM\_OPTIONS.h:\\ | 
| 94 | 
\#define ALLOW\_OLD\_VIRTUALFLUX\\ | 
| 95 | 
But this can also be done by the ptracers pkg if this | 
| 96 | 
is undefined. You will then need to set the concentration | 
| 97 | 
of the tracer in rainwater and potentially a reference | 
| 98 | 
tracer value in data.ptracer | 
| 99 | 
(PTRACERS\_EvPrRn, and PTRACERS\_ref respectively). | 
| 100 | 
 | 
| 101 | 
Oxygen air-sea exchange is calculated in {\it o2\_surfforcing.F}. | 
| 102 | 
 | 
| 103 | 
Iron chemistry (the amount of free iron) is taken care of in | 
| 104 | 
{\it fe\_chem.F}. | 
| 105 | 
  | 
| 106 | 
\vspace{.5cm} | 
| 107 | 
 | 
| 108 | 
\noindent | 
| 109 | 
{{\bf DIAGNOSTICS}}\\ | 
| 110 | 
Averages of air-sea exchanges, biological productivity, | 
| 111 | 
carbonate activity and pH are calculated. These are | 
| 112 | 
initialized to zero in {\it dic\_biotic\_init} and | 
| 113 | 
are stored in common block in {\it DIC\_BIOTIC.h}. | 
| 114 | 
 | 
| 115 | 
\vspace{.5cm} | 
| 116 | 
 | 
| 117 | 
\noindent | 
| 118 | 
{{\bf COMPILE TIME FLAGS}}\\ | 
| 119 | 
These are set in GCHEM\_OPTIONS.h: \\ | 
| 120 | 
 | 
| 121 | 
DIC\_BIOTIC: needs to be set for dic to work properly | 
| 122 | 
(should be fixed sometime).\\ | 
| 123 | 
ALLOW\_O2: include the tracer oxygen.\\ | 
| 124 | 
ALLOW\_FE: include the tracer iron. Note you will need an | 
| 125 | 
iron dust file set in data.gchem in this case.\\ | 
| 126 | 
MINFE: limit the iron, assuming precpitation of any | 
| 127 | 
excess free iron.\\ | 
| 128 | 
CAR\_DISS: use the calcium carbonate scheme of Friis et al 2006.\\ | 
| 129 | 
ALLOW\_OLD\_VIRTUALFLUX: use the old OCMIP style virtual flux | 
| 130 | 
for alklinity adn carbon (rather than doing it through pkg/ptracers). | 
| 131 | 
\\ | 
| 132 | 
READ\_PAR: read the light (photosynthetically available | 
| 133 | 
radiation) from a file set in data.gchem.\\ | 
| 134 | 
USE\_QSW: use the numbers from QSW to be the PAR. Note that | 
| 135 | 
a file for Qsw must be supplied in data, or Qsw must be | 
| 136 | 
supplied by an atmospheric model.\\ | 
| 137 | 
If the above two flags are not set, the model calculates | 
| 138 | 
PAR in insol.F as a function of latitude and year day.\\ | 
| 139 | 
USE\_QSW\_UNDERICE: if using a sea ice model, or if the | 
| 140 | 
Qsw variable has the seaice fraction already taken into | 
| 141 | 
account, this flag must be set.\\ | 
| 142 | 
\\ | 
| 143 | 
AD\_SAFE: will use a tanh function instead of a | 
| 144 | 
max function - this is better if using the adjoint\\ | 
| 145 | 
DIC\_NO\_NEG: will include some failsafes in case any | 
| 146 | 
of the variables become negative. (This is advicable). | 
| 147 | 
ALLOW\_DIC\_COST: was used for calculating cost function  | 
| 148 | 
(but hasn't been updated or maintained, so not sure if it works still) | 
| 149 | 
 | 
| 150 | 
 | 
| 151 | 
 | 
| 152 | 
\subsubsection{Do's and Don'ts} | 
| 153 | 
 | 
| 154 | 
This package must be run with both ptracers and gchem enabled. | 
| 155 | 
It is set up for at least 4 tracers, but there is the provision for | 
| 156 | 
oxygen and iron. Note the flags above. | 
| 157 | 
 | 
| 158 | 
\subsubsection{Reference Material} | 
| 159 | 
 | 
| 160 | 
Dutkiewicz. S., A. Sokolov, J. Scott and P. Stone, 2005: | 
| 161 | 
A Three-Dimensional Ocean-Seaice-Carbon Cycle Model and its Coupling | 
| 162 | 
to a Two-Dimensional Atmospheric Model: Uses in Climate Change Studies, | 
| 163 | 
Report 122, Joint Program of the Science and Policy of Global Change, | 
| 164 | 
M.I.T., Cambridge, MA. | 
| 165 | 
\\ | 
| 166 | 
 | 
| 167 | 
Follows, M., T. Ito and S. Dutkiewicz, 2006: | 
| 168 | 
A Compact and Accurate Carbonate Chemistry Solver for Ocean | 
| 169 | 
Biogeochemistry Models. {\it Ocean Modeling}, 12, 290-301. | 
| 170 | 
\\ | 
| 171 | 
 | 
| 172 | 
Friis, K.,  R. Najjar, M.J. Follows, and S. Dutkiewicz, 2006: | 
| 173 | 
Possible overestimation of shallow-depth calcium carbonate | 
| 174 | 
dissolution in the ocean, | 
| 175 | 
{\it Global Biogeochemical Cycles}, 20, GB4019, doi:10.1029/2006GB002727. | 
| 176 | 
\\ | 
| 177 | 
 | 
| 178 | 
 | 
| 179 | 
\subsubsection{Experiments and tutorials that use dic} | 
| 180 | 
\label{sec:pkg:dic:experiments} | 
| 181 | 
 | 
| 182 | 
\begin{itemize} | 
| 183 | 
\item{Global Ocean tutorial, in tutorial\_global\_oce\_biogeo verification directory,  | 
| 184 | 
described in section \ref{sec:eg-biogeochem_tutorial} } | 
| 185 | 
\end{itemize} | 
| 186 | 
 |