/[MITgcm]/manual/s_phys_pkgs/text/gchem.tex
ViewVC logotype

Diff of /manual/s_phys_pkgs/text/gchem.tex

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.2 by edhill, Tue Oct 12 18:16:03 2004 UTC revision 1.11 by stephd, Thu Jan 17 18:13:02 2008 UTC
# Line 1  Line 1 
1  \section {GCHEM Package}  \subsection {GCHEM Package}
2  \label{sec:pkg:gchem}  \label{sec:pkg:gchem}
3  \begin{rawhtml}  \begin{rawhtml}
4  <!-- CMIREDIR:package_gchem: -->  <!-- CMIREDIR:package_gchem: -->
5  \end{rawhtml}  \end{rawhtml}
6    
7  \subsection {Introduction}  \subsubsection {Introduction}
8  This package has been developed as interface to the PTRACERS package.  This package has been developed as interface to the PTRACERS package.
9  The purpose is to provide a structure where various (any)  The purpose is to provide a structure where various (any)
10  tracer experiments can be added to the code.  tracer experiments can be added to the code.
# Line 17  Note that the gchem package itself is on Line 17  Note that the gchem package itself is on
17  the subroutines used by specific biogeochemical experiments,  the subroutines used by specific biogeochemical experiments,
18  and does not "do" anything on its own.  and does not "do" anything on its own.
19    
20  There are two examples: cfc which looks at 2 tracers with a  There are two examples: {\bf cfc} which looks at 2 tracers with a
21  simple external forcing and dic with 5 tracers whose tendency terms  simple external forcing and {\bf dic} with 4,5 or 6 tracers
22    whose tendency terms
23  are related to one another. We will discuss these here only as  are related to one another. We will discuss these here only as
24  how they provide examples to use this package.  how they provide examples to use this package.
25    
26    
27  \subsection {Key subroutines and parameters}  \subsubsection {Key subroutines and parameters}
28    
29  \noindent  \noindent
30  {{\bf FRAMEWORK}} \\  {{\bf FRAMEWORK}} \\
31    The different biogeochemistry frameworks (e.g. cfc of dic)
32    are specified in the packages\_conf file.
33  {\it GCHEM\_OPTIONS.h} includes the compiler options to be used  {\it GCHEM\_OPTIONS.h} includes the compiler options to be used
34  in any experiment. For instance \#define ALLOW\_CFC allows  in any experiment.
35  the CFC code to be run. An important compiler option is  An important compiler option is
36   \#define PTRACERS\_SEPARATE\_FORCING which determined   \#define GCHEM\_SEPARATE\_FORCING which determined
37  how and when the tracer forcing is applied (see discussion  how and when the tracer forcing is applied (see discussion
38  on Forcing below).  on Forcing below). See section on dic for some additional
39    flags that can be set for that experiment.
40    \\
41    
42   There are further runtime parameters   There are further runtime parameters
43  set in {\it data.gchem} and kept in common block {\it GCHEM.h}.  set in {\it data.gchem} and kept in common block {\it GCHEM.h}.
44  These runtime options include:\\  These runtime options include:\\
45  $\bullet$ {\bf tIter0} which is the integer timestep when the tracer experiment  $\bullet$ Parameters to set the timing for periodic forcing files to
46   is initialized. If {\bf nIter0} $=$ {\bf tIter0} then the tracers  be loaded are: {\it gchem\_ForcingPeriod}, {\it gchem\_ForcingCycle}.
47   are initialized to zero or from initial files. If {\bf nIter0} $>$  The former is how often to load, the latter is how often to cycle
48   {\bf tIter0} then tracers (and previous timestep tendency terms)  through those fields (eg. period couple be monthly and cycle one year).
49    are read in from a the ptracers pickup file. Note that tracers  This is used in {\it dic} and {\it cfc}, with gchem\_ForcingPeriod=0
50    of zeros will be carried around if {\bf nIter0} $<$ {\bf tIter0}.  meaning no periodic forcing.
51  \\  \\
52  $\bullet$ {\bf nsubtime} is the integer number of extra timesteps  $\bullet$ {\bf nsubtime} is the integer number of extra timesteps
53   required by the tracer experiment. This will give a timestep   required by the tracer experiment. This will give a timestep
# Line 53  $\bullet$ File names - these are several Line 59  $\bullet$ File names - these are several
59   wind speed is needed in both DIC and CFC packages to calculate   wind speed is needed in both DIC and CFC packages to calculate
60   the air-sea exchange of gases. Not all file names will be used   the air-sea exchange of gases. Not all file names will be used
61   for every tracer experiment.   for every tracer experiment.
62    \\
63    $\bullet$ {\bf gchem\_int\_*} are variable names for run-time set integer numbers. (Currently 1 through 5).
64    \\
65    $\bullet$ {\bf gchem\_rl\_*} are variable names for run-time set real numbers. (Currently 1 through 5).
66    \\
67    $\bullet$ Note that the old {\bf tIter0} has been replaced by {\bf PTRACERS\_Iter0} which is
68    set in data.ptracers instead.
69    
70  \vspace{.5cm}  \vspace{.5cm}
71    
# Line 65  forcing files that will be needed by the Line 78  forcing files that will be needed by the
78    
79  There are two routine used to initialize parameters and fields  There are two routine used to initialize parameters and fields
80  needed by the experiment packages. These are  needed by the experiment packages. These are
81  {\it gchem\_init\_fixed.F} which is called from packages\_init\_fixed.F, and  {\it gchem\_init\_fixed.F} which is called from \textit{packages\_init\_fixed.F}, and
82  {\it gchem\_init\_vari.F} called from  {\it gchem\_init\_vari.F} called from
83  packages\_init\_variable.F. The first should  packages\_init\_variable.F. The first should
84  be used to call a subroutine specific to the tracer experiment  be used to call a subroutine specific to the tracer experiment
# Line 80  which sets (or initializes) time fields Line 93  which sets (or initializes) time fields
93  {{\bf LOADING FIELDS}}\\  {{\bf LOADING FIELDS}}\\
94  External forcing fields used by the tracer experiment are read  External forcing fields used by the tracer experiment are read
95  in by a subroutine (specific to the tracer experiment) called from  in by a subroutine (specific to the tracer experiment) called from
96  {\it gchem\_fields\_load.F}. This latter is called from forward\_step.F.  {\it gchem\_fields\_load.F}. This latter is called from \textit{forward\_step.F}.
97    
98  \vspace{.5cm}  \vspace{.5cm}
99    
# Line 93  between tracers) to these fields are tak Line 106  between tracers) to these fields are tak
106  interface. For tracers that are essentially passive (e.g. CFC's)  interface. For tracers that are essentially passive (e.g. CFC's)
107  but may have some surface boundary conditions  but may have some surface boundary conditions
108  this can easily be done within the regular tracer timestep. In this case  this can easily be done within the regular tracer timestep. In this case
109  {\it gchem\_forcing\_int.F} is called from ptracers\_integrate.F.  {\it gchem\_calc\_tendency.F} is called from {\it forward\_step.F}, where the
110    reactive (as opposed to the advective diffusive) tendencies are computed.
111    These tendencies, stored on the 3D field \textbf{gchemTendency}, are added to
112    the passive tracer tendencies \textbf{gPtr} in {\it gchem\_add\_tendency.F},
113    which is called from {\it ptracers\_forcing.F}.
114  For tracers with more complicated dependencies on each other,  For tracers with more complicated dependencies on each other,
115  and especially tracers which require a smaller timestep than  and especially tracers which require a smaller timestep than
116  deltaTtracer, it will be easier to use {\it gchem\_forcing\_sep.F}  deltaTtracer, it will be easier to use {\it gchem\_forcing\_sep.F}
117  which is called from forward\_step.F. There is a  which is called from forward\_step.F. There is a
118  compiler option set in {\it GCHEM\_OPTIONS.h} that determines  compiler option set in {\it GCHEM\_OPTIONS.h} that determines
119  which method is used: \#define PTRACERS\_SEPARATE\_FORCING  which method is used: \#define GCHEM\_SEPARATE\_FORCING
120  does the latter where tracers are forced separately from the  does the latter where tracers are forced separately from the
121  advection-diffusion code, and \#undef PTRACERS\_SEPARATE\_FORCING  advection-diffusion code, and \#undef GCHEM\_SEPARATE\_FORCING
122  includes the forcing in the regular timestepping.  includes the forcing in the regular timestepping.
123    
124  \vspace{.5cm}  \vspace{.5cm}
125    
126  \noindent  \noindent
127  {{\bf DIAGNOSTICS}}\\  {{\bf DIAGNOSTICS}}\\
128  This package also includes routines {\it gchem\_monitor.F} and  This package also also used the passive tracer routine {\it ptracers\_monitor.F}
129  {\it gchem\_mon\_print.F} which print out tracer statistics  which prints out tracer statistics
130  as often as the model dynamic statistic diagnostics (dynsys) are written.  as often as the model dynamic statistic diagnostics (dynsys) are written (or
131    as prescribed by the runtime flag \textbf{PTRACERS\_monitorFreq}, set in {\it data.ptracers}).
132  There is also a placeholder for any tracer experiment  There is also a placeholder for any tracer experiment
133  specific diagnostics to be calculated and printed to files.  specific diagnostics to be calculated and printed to files.
134  This is done in {\it gchem\_diags.F}. For instance the time average CO2  This is done in {\it gchem\_diags.F}. For instance the time average CO2
135  air-sea fluxes, and sea surface pH (among others) are written  air-sea fluxes, and sea surface pH (among others) are written
136  out by dic\_biotic\_diags.F which is called from gchem\_diags.F.  out by {\it dic\_biotic\_diags.F} which is called from {\it gchem\_diags.F}.
137    
138    \subsubsection{GCHEM Diagnostics}
139    \label{sec:pkg:gchem:diagnostics}
140    
141  \subsection{Do's and Don'ts}  These diagnostics are particularly for the {\bf dic} package.
142    
143  The pkg ptracer is required with use with this pkg.  {\footnotesize
144  By itself, gchem pkg will read in {\bf data.gchem} and will  \begin{verbatim}
145  write out ptracer diagnostics. It requires tracer experiment  
146    ------------------------------------------------------------------------
147    <-Name->|Levs|<-parsing code->|<--  Units   -->|<- Tile (max=80c)
148    ------------------------------------------------------------------------
149    DICBIOA | 15 |SM P    MR      |mol/m3/sec      |Biological Productivity (mol/m3/s)
150    DICCARB | 15 |SM P    MR      |mol eq/m3/sec   |Carbonate chg-biol prod and remin (mol eq/m3/s)
151    DICTFLX |  1 |SM P    L1      |mol/m3/sec      |Tendency of DIC due to air-sea exch (mol/m3/s)
152    DICOFLX |  1 |SM P    L1      |mol/m3/sec      |Tendency of O2 due to air-sea exch (mol/m3/s)
153    DICCFLX |  1 |SM P    L1      |mol/m2/sec      |Flux of CO2 - air-sea exch (mol/m2/s)
154    DICPCO2 |  1 |SM P    M1      |atm             |Partial Pressure of CO2 (atm)
155    DICPHAV |  1 |SM P    M1      |dimensionless   |pH (dimensionless)
156    \end{verbatim}
157    }
158    
159    \subsubsection{Do's and Don'ts}
160    
161    The pkg ptracer is required with use with this pkg. Also, as usual, the
162    runtime flag \textbf{useGCHEM} must be set to \textbf{.TRUE.} in \textbf{data.pkg}.
163    By itself, gchem pkg will read in \textbf{data.gchem} and will
164    write out gchem diagnostics. It requires tracer experiment
165  specific calls to do anything else (for instance the calls  specific calls to do anything else (for instance the calls
166  to dic and cfc pkgs).  to dic and cfc pkgs).
167    
168  \subsection{Reference Material}  \subsubsection{Reference Material}
169    
170    \subsubsection{Experiments and tutorials that use gchem}
171    \label{sec:pkg:gchem:experiments}
172    
173    \begin{itemize}
174    \item{Global Ocean biogeochemical tutorial, in tutorial\_global\_oce\_biogeo verification directory,  
175    described in section \ref{sect:eg-biogeochem_tutorial} uses gchem and dic }
176    
177    \item{Global Ocean cfc tutorial, in tutorial\_cfc\_offline verification directory,  
178    uses gchem and cfc (and offline) described in \ref{sect:eg-cfc_offline} }
179    
180    \item{Global Ocean online cfc example in cfc\_example verification directory,  
181    uses gchem and cfc}
182    
183    
184    
185    \end{itemize}
186    

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.11

  ViewVC Help
Powered by ViewVC 1.1.22