/[MITgcm]/manual/s_examples/tracer_adjsens/co2sens.tex
ViewVC logotype

Contents of /manual/s_examples/tracer_adjsens/co2sens.tex

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


Revision 1.7 - (show annotations) (download) (as text)
Thu May 16 15:54:37 2002 UTC (23 years, 2 months ago) by adcroft
Branch: MAIN
Changes since 1.6: +16 -1 lines
File MIME type: application/x-tex
Added \label{www:tutorials} to every section/subsection/subsubsection for
pages that need to appear in the Tutorials sectio of the web-site.

1 % $Header: /u/gcmpack/mitgcmdoc/part3/case_studies/carbon_outgassing_sensitivity/co2sens.tex,v 1.6 2002/02/28 19:32:19 cnh Exp $
2 % $Name: $
3
4 \section{Centennial Time Scale Tracer Injection}
5 \label{www:tutorials}
6 \label{sect:eg-simple-tracer}
7
8 \bodytext{bgcolor="#FFFFFFFF"}
9
10 %\begin{center}
11 %{\Large \bf Using MITgcm to Look at Centennial Time Scale
12 %Sensitivities}
13 %
14 %\vspace*{4mm}
15 %
16 %\vspace*{3mm}
17 %{\large May 2001}
18 %\end{center}
19
20 \subsection{Introduction}
21 \label{www:tutorials}
22
23 This document describes the fourth example MITgcm experiment.
24 This example illustrates the use of
25 the MITgcm to perform sensitivity analysis in a
26 large scale ocean circulation simulation.
27
28 \subsection{Overview}
29 \label{www:tutorials}
30
31 This example experiment demonstrates using the MITgcm to simulate
32 the planetary ocean circulation. The simulation is configured
33 with realistic geography and bathymetry on a
34 $4^{\circ} \times 4^{\circ}$ spherical polar grid.
35 Twenty vertical layers are used in the vertical, ranging in thickness
36 from $50\,{\rm m}$ at the surface to $815\,{\rm m}$ at depth,
37 giving a maximum model depth of $6\,{\rm km}$.
38 At this resolution, the configuration
39 can be integrated forward for thousands of years on a single
40 processor desktop computer.
41 \\
42
43 The model is forced with climatological wind stress data and surface
44 flux data from Da Silva \cite{DaSilva94}. Climatological data
45 from Levitus \cite{Levitus94} is used to initialize the model hydrography.
46 Levitus data is also used throughout the calculation
47 to derive air-sea fluxes of heat at the ocean surface.
48 These fluxes are combined with climatological estimates of
49 surface heat flux and fresh water, resulting in a mixed boundary
50 condition of the style described in Haney \cite{Haney}.
51 Altogether, this yields the following forcing applied
52 in the model surface layer.
53
54 \begin{eqnarray}
55 \label{EQ:eg-simple-tracer-global_forcing}
56 \label{EQ:eg-simple-tracer-global_forcing_fu}
57 {\cal F}_{u} & = & \frac{\tau_{x}}{\rho_{0} \Delta z_{s}}
58 \\
59 \label{EQ:eg-simple-tracer-global_forcing_fv}
60 {\cal F}_{v} & = & \frac{\tau_{y}}{\rho_{0} \Delta z_{s}}
61 \\
62 \label{EQ:eg-simple-tracer-global_forcing_ft}
63 {\cal F}_{\theta} & = & - \lambda_{\theta} ( \theta - \theta^{\ast} )
64 - \frac{1}{C_{p} \rho_{0} \Delta z_{s}}{\cal Q}
65 \\
66 \label{EQ:eg-simple-tracer-global_forcing_fs}
67 {\cal F}_{s} & = & - \lambda_{s} ( S - S^{\ast} )
68 + \frac{S_{0}}{\Delta z_{s}}({\cal E} - {\cal P} - {\cal R})
69 \end{eqnarray}
70
71 \noindent where ${\cal F}_{u}$, ${\cal F}_{v}$, ${\cal F}_{\theta}$,
72 ${\cal F}_{s}$ are the forcing terms in the zonal and meridional
73 momentum and in the potential temperature and salinity
74 equations respectively.
75 The term $\Delta z_{s}$ represents the top ocean layer thickness.
76 It is used in conjunction with the reference density, $\rho_{0}$
77 (here set to $999.8\,{\rm kg\,m^{-3}}$), the
78 reference salinity, $S_{0}$ (here set to 35ppt),
79 and a specific heat capacity $C_{p}$ to convert
80 wind-stress fluxes given in ${\rm N}\,m^{-2}$,
81 \\
82
83
84 The configuration is illustrated in figure \ref{simulation_config}.
85
86
87 \subsection{Discrete Numerical Configuration}
88 \label{www:tutorials}
89
90
91 The model is configured in hydrostatic form. The domain is discretised with
92 a uniform grid spacing in latitude and longitude of
93 $\Delta x=\Delta y=4^{\circ}$, so
94 that there are ninety grid cells in the $x$ and forty in the
95 $y$ direction (Arctic polar regions are not
96 included in this experiment). Vertically the
97 model is configured with twenty layers with the following thicknesses
98 $\Delta z_{1} = 50\,{\rm m},\,
99 \Delta z_{2} = 50\,{\rm m},\,
100 \Delta z_{3} = 55\,{\rm m},\,
101 \Delta z_{4} = 60\,{\rm m},\,
102 \Delta z_{5} = 65\,{\rm m},\,
103 $
104 $
105 \Delta z_{6}~=~70\,{\rm m},\,
106 \Delta z_{7}~=~80\,{\rm m},\,
107 \Delta z_{8}~=95\,{\rm m},\,
108 \Delta z_{9}=120\,{\rm m},\,
109 \Delta z_{10}=155\,{\rm m},\,
110 $
111 $
112 \Delta z_{11}=200\,{\rm m},\,
113 \Delta z_{12}=260\,{\rm m},\,
114 \Delta z_{13}=320\,{\rm m},\,
115 \Delta z_{14}=400\,{\rm m},\,
116 \Delta z_{15}=480\,{\rm m},\,
117 $
118 $
119 \Delta z_{16}=570\,{\rm m},\,
120 \Delta z_{17}=655\,{\rm m},\,
121 \Delta z_{18}=725\,{\rm m},\,
122 \Delta z_{19}=775\,{\rm m},\,
123 \Delta z_{20}=815\,{\rm m}
124 $ (here the numeric subscript indicates the model level index number, ${\tt k}$).
125 The implicit free surface form of the pressure equation described in Marshall et. al
126 \cite{marshall:97a} is employed. A Laplacian operator, $\nabla^2$, provides viscous
127 dissipation. Thermal and haline diffusion is also represented by a Laplacian operator.
128 \\
129
130 Wind-stress momentum inputs are added to the momentum equations for both
131 the zonal flow, $u$ and the meridional flow $v$, according to equations
132 (\ref{EQ:eg-simple-tracer-global_forcing_fu}) and (\ref{EQ:eg-simple-tracer-global_forcing_fv}).
133 Thermodynamic forcing inputs are added to the equations for
134 potential temperature, $\theta$, and salinity, $S$, according to equations
135 (\ref{EQ:eg-simple-tracer-global_forcing_ft}) and (\ref{EQ:eg-simple-tracer-global_forcing_fs}).
136 This produces a set of equations solved in this configuration as follows:
137 % {\fracktur}
138
139
140 \begin{eqnarray}
141 \label{EQ:eg-simple-tracer-model_equations}
142 \frac{Du}{Dt} - fv +
143 \frac{1}{\rho}\frac{\partial p^{'}}{\partial x} -
144 A_{h}\nabla_{h}^2u - A_{z}\frac{\partial^{2}u}{\partial z^{2}}
145 & = &
146 {\cal F}_{u}
147 \\
148 \frac{Dv}{Dt} + fu +
149 \frac{1}{\rho}\frac{\partial p^{'}}{\partial y} -
150 A_{h}\nabla_{h}^2v - A_{z}\frac{\partial^{2}v}{\partial z^{2}}
151 & = &
152 {\cal F}_{v}
153 \\
154 \frac{\partial \eta}{\partial t} + \nabla_{h}\cdot \vec{u}
155 &=&
156 0
157 \\
158 \frac{D\theta}{Dt} -
159 K_{h}\nabla_{h}^2\theta - \Gamma(K_{z})\frac{\partial^{2}\theta}{\partial z^{2}}
160 & = &
161 {\cal F}_{\theta}
162 \\
163 \frac{D s}{Dt} -
164 K_{h}\nabla_{h}^2 s - \Gamma(K_{z})\frac{\partial^{2} s}{\partial z^{2}}
165 & = &
166 {\cal F}_{s}
167 \\
168 g\rho_{0} \eta + \int^{0}_{-z}\rho^{'} dz & = & p^{'}
169 \\
170 \end{eqnarray}
171
172 \noindent where $u$ and $v$ are the $x$ and $y$ components of the
173 flow vector $\vec{u}$. The suffices ${s},{i}$ indicate surface and
174 interior model levels respectively. As described in
175 MITgcm Numerical Solution Procedure \ref{chap:discretization}, the time
176 evolution of potential temperature, $\theta$, equation is solved prognostically.
177 The total pressure, $p$, is diagnosed by summing pressure due to surface
178 elevation $\eta$ and the hydrostatic pressure.
179 \\
180
181 \subsubsection{Numerical Stability Criteria}
182 \label{www:tutorials}
183
184 The Laplacian dissipation coefficient, $A_{h}$, is set to $400 m s^{-1}$.
185 This value is chosen to yield a Munk layer width \cite{adcroft:95},
186
187 \begin{eqnarray}
188 \label{EQ:eg-simple-tracer-munk_layer}
189 M_{w} = \pi ( \frac { A_{h} }{ \beta } )^{\frac{1}{3}}
190 \end{eqnarray}
191
192 \noindent of $\approx 100$km. This is greater than the model
193 resolution in mid-latitudes $\Delta x$, ensuring that the frictional
194 boundary layer is well resolved.
195 \\
196
197 \noindent The model is stepped forward with a
198 time step $\delta t=1200$secs. With this time step the stability
199 parameter to the horizontal Laplacian friction \cite{adcroft:95}
200
201 \begin{eqnarray}
202 \label{EQ:eg-simple-tracer-laplacian_stability}
203 S_{l} = 4 \frac{A_{h} \delta t}{{\Delta x}^2}
204 \end{eqnarray}
205
206 \noindent evaluates to 0.012, which is well below the 0.3 upper limit
207 for stability.
208 \\
209
210 \noindent The vertical dissipation coefficient, $A_{z}$, is set to
211 $1\times10^{-2} {\rm m}^2{\rm s}^{-1}$. The associated stability limit
212
213 \begin{eqnarray}
214 \label{EQ:eg-simple-tracer-laplacian_stability_z}
215 S_{l} = 4 \frac{A_{z} \delta t}{{\Delta z}^2}
216 \end{eqnarray}
217
218 \noindent evaluates to $4.8 \times 10^{-5}$ which is again well below
219 the upper limit.
220 The values of $A_{h}$ and $A_{z}$ are also used for the horizontal ($K_{h}$)
221 and vertical ($K_{z}$) diffusion coefficients for temperature respectively.
222 \\
223
224 \noindent The numerical stability for inertial oscillations
225 \cite{adcroft:95}
226
227 \begin{eqnarray}
228 \label{EQ:eg-simple-tracer-inertial_stability}
229 S_{i} = f^{2} {\delta t}^2
230 \end{eqnarray}
231
232 \noindent evaluates to $0.0144$, which is well below the $0.5$ upper
233 limit for stability.
234 \\
235
236 \noindent The advective CFL \cite{adcroft:95} for a extreme maximum
237 horizontal flow
238 speed of $ | \vec{u} | = 2 ms^{-1}$
239
240 \begin{eqnarray}
241 \label{EQ:eg-simple-tracer-cfl_stability}
242 S_{a} = \frac{| \vec{u} | \delta t}{ \Delta x}
243 \end{eqnarray}
244
245 \noindent evaluates to $5 \times 10^{-2}$. This is well below the stability
246 limit of 0.5.
247 \\
248
249 \noindent The stability parameter for internal gravity waves
250 \cite{adcroft:95}
251
252 \begin{eqnarray}
253 \label{EQ:eg-simple-tracer-igw_stability}
254 S_{c} = \frac{c_{g} \delta t}{ \Delta x}
255 \end{eqnarray}
256
257 \noindent evaluates to $5 \times 10^{-2}$. This is well below the linear
258 stability limit of 0.25.
259
260 \subsection{Code Configuration}
261 \label{www:tutorials}
262 \label{SEC:code_config}
263
264 The model configuration for this experiment resides under the
265 directory {\it verification/exp1/}. The experiment files
266 \begin{itemize}
267 \item {\it input/data}
268 \item {\it input/data.pkg}
269 \item {\it input/eedata},
270 \item {\it input/windx.sin\_y},
271 \item {\it input/topog.box},
272 \item {\it code/CPP\_EEOPTIONS.h}
273 \item {\it code/CPP\_OPTIONS.h},
274 \item {\it code/SIZE.h}.
275 \end{itemize}
276 contain the code customizations and parameter settings for this
277 experiments. Below we describe the customizations
278 to these files associated with this experiment.
279
280 \subsubsection{File {\it input/data}}
281 \label{www:tutorials}
282
283 This file, reproduced completely below, specifies the main parameters
284 for the experiment. The parameters that are significant for this configuration
285 are
286
287 \begin{itemize}
288
289 \item Line 4,
290 \begin{verbatim} tRef=20.,10.,8.,6., \end{verbatim}
291 this line sets
292 the initial and reference values of potential temperature at each model
293 level in units of $^{\circ}$C.
294 The entries are ordered from surface to depth. For each
295 depth level the initial and reference profiles will be uniform in
296 $x$ and $y$.
297
298 \fbox{
299 \begin{minipage}{5.0in}
300 {\it S/R INI\_THETA}({\it ini\_theta.F})
301 \end{minipage}
302 }
303
304
305 \item Line 6,
306 \begin{verbatim} viscAz=1.E-2, \end{verbatim}
307 this line sets the vertical Laplacian dissipation coefficient to
308 $1 \times 10^{-2} {\rm m^{2}s^{-1}}$. Boundary conditions
309 for this operator are specified later. This variable is copied into
310 model general vertical coordinate variable {\bf viscAr}.
311
312 \fbox{
313 \begin{minipage}{5.0in}
314 {\it S/R CALC\_DIFFUSIVITY}({\it calc\_diffusivity.F})
315 \end{minipage}
316 }
317
318 \item Line 7,
319 \begin{verbatim}
320 viscAh=4.E2,
321 \end{verbatim}
322 this line sets the horizontal Laplacian frictional dissipation coefficient to
323 $1 \times 10^{-2} {\rm m^{2}s^{-1}}$. Boundary conditions
324 for this operator are specified later.
325
326 \item Lines 8,
327 \begin{verbatim}
328 no_slip_sides=.FALSE.
329 \end{verbatim}
330 this line selects a free-slip lateral boundary condition for
331 the horizontal Laplacian friction operator
332 e.g. $\frac{\partial u}{\partial y}$=0 along boundaries in $y$ and
333 $\frac{\partial v}{\partial x}$=0 along boundaries in $x$.
334
335 \item Lines 9,
336 \begin{verbatim}
337 no_slip_bottom=.TRUE.
338 \end{verbatim}
339 this line selects a no-slip boundary condition for bottom
340 boundary condition in the vertical Laplacian friction operator
341 e.g. $u=v=0$ at $z=-H$, where $H$ is the local depth of the domain.
342
343 \item Line 10,
344 \begin{verbatim}
345 diffKhT=4.E2,
346 \end{verbatim}
347 this line sets the horizontal diffusion coefficient for temperature
348 to $400\,{\rm m^{2}s^{-1}}$. The boundary condition on this
349 operator is $\frac{\partial}{\partial x}=\frac{\partial}{\partial y}=0$ at
350 all boundaries.
351
352 \item Line 11,
353 \begin{verbatim}
354 diffKzT=1.E-2,
355 \end{verbatim}
356 this line sets the vertical diffusion coefficient for temperature
357 to $10^{-2}\,{\rm m^{2}s^{-1}}$. The boundary condition on this
358 operator is $\frac{\partial}{\partial z}$ = 0 on all boundaries.
359
360 \item Line 13,
361 \begin{verbatim}
362 tAlpha=2.E-4,
363 \end{verbatim}
364 This line sets the thermal expansion coefficient for the fluid
365 to $2 \times 10^{-4}\,{\rm degrees}^{-1}$
366
367 \fbox{
368 \begin{minipage}{5.0in}
369 {\it S/R FIND\_RHO}({\it find\_rho.F})
370 \end{minipage}
371 }
372
373 \item Line 18,
374 \begin{verbatim}
375 eosType='LINEAR'
376 \end{verbatim}
377 This line selects the linear form of the equation of state.
378
379 \fbox{
380 \begin{minipage}{5.0in}
381 {\it S/R FIND\_RHO}({\it find\_rho.F})
382 \end{minipage}
383 }
384
385
386
387 \item Line 40,
388 \begin{verbatim}
389 usingSphericalPolarGrid=.TRUE.,
390 \end{verbatim}
391 This line requests that the simulation be performed in a
392 spherical polar coordinate system. It affects the interpretation of
393 grid input parameters, for example {\bf delX} and {\bf delY} and
394 causes the grid generation routines to initialize an internal grid based
395 on spherical polar geometry.
396
397 \fbox{
398 \begin{minipage}{5.0in}
399 {\it S/R INI\_SPEHRICAL\_POLAR\_GRID}({\it ini\_spherical\_polar\_grid.F})
400 \end{minipage}
401 }
402
403 \item Line 41,
404 \begin{verbatim}
405 phiMin=0.,
406 \end{verbatim}
407 This line sets the southern boundary of the modeled
408 domain to $0^{\circ}$ latitude. This value affects both the
409 generation of the locally orthogonal grid that the model
410 uses internally and affects the initialization of the coriolis force.
411 Note - it is not required to set
412 a longitude boundary, since the absolute longitude does
413 not alter the kernel equation discretisation.
414
415 \item Line 42,
416 \begin{verbatim}
417 delX=60*1.,
418 \end{verbatim}
419 This line sets the horizontal grid spacing between each y-coordinate line
420 in the discrete grid to $1^{\circ}$ in longitude.
421
422 \item Line 43,
423 \begin{verbatim}
424 delY=60*1.,
425 \end{verbatim}
426 This line sets the horizontal grid spacing between each y-coordinate line
427 in the discrete grid to $1^{\circ}$ in latitude.
428
429 \item Line 44,
430 \begin{verbatim}
431 delZ=500.,500.,500.,500.,
432 \end{verbatim}
433 This line sets the vertical grid spacing between each z-coordinate line
434 in the discrete grid to $500\,{\rm m}$, so that the total model depth
435 is $2\,{\rm km}$. The variable {\bf delZ} is copied into the internal
436 model coordinate variable {\bf delR}
437
438 \fbox{
439 \begin{minipage}{5.0in}
440 {\it S/R INI\_VERTICAL\_GRID}({\it ini\_vertical\_grid.F})
441 \end{minipage}
442 }
443
444 \item Line 47,
445 \begin{verbatim}
446 bathyFile='topog.box'
447 \end{verbatim}
448 This line specifies the name of the file from which the domain
449 bathymetry is read. This file is a two-dimensional ($x,y$) map of
450 depths. This file is assumed to contain 64-bit binary numbers
451 giving the depth of the model at each grid cell, ordered with the x
452 coordinate varying fastest. The points are ordered from low coordinate
453 to high coordinate for both axes. The units and orientation of the
454 depths in this file are the same as used in the MITgcm code. In this
455 experiment, a depth of $0m$ indicates a solid wall and a depth
456 of $-2000m$ indicates open ocean. The matlab program
457 {\it input/gendata.m} shows an example of how to generate a
458 bathymetry file.
459
460
461 \item Line 50,
462 \begin{verbatim}
463 zonalWindFile='windx.sin_y'
464 \end{verbatim}
465 This line specifies the name of the file from which the x-direction
466 surface wind stress is read. This file is also a two-dimensional
467 ($x,y$) map and is enumerated and formatted in the same manner as the
468 bathymetry file. The matlab program {\it input/gendata.m} includes example
469 code to generate a valid
470 {\bf zonalWindFile}
471 file.
472
473 \end{itemize}
474
475 \noindent other lines in the file {\it input/data} are standard values
476 that are described in the MITgcm Getting Started and MITgcm Parameters
477 notes.
478
479 \begin{small}
480 % \input{part3/case_studies/carbon_outgassing_sensitivity/input/data}
481 \end{small}
482
483 \subsubsection{File {\it input/data.pkg}}
484 \label{www:tutorials}
485
486 This file uses standard default values and does not contain
487 customizations for this experiment.
488
489 \subsubsection{File {\it input/eedata}}
490 \label{www:tutorials}
491
492 This file uses standard default values and does not contain
493 customizations for this experiment.
494
495 \subsubsection{File {\it input/windx.sin\_y}}
496 \label{www:tutorials}
497
498 The {\it input/windx.sin\_y} file specifies a two-dimensional ($x,y$)
499 map of wind stress ,$\tau_{x}$, values. The units used are $Nm^{-2}$.
500 Although $\tau_{x}$ is only a function of $y$n in this experiment
501 this file must still define a complete two-dimensional map in order
502 to be compatible with the standard code for loading forcing fields
503 in MITgcm. The included matlab program {\it input/gendata.m} gives a complete
504 code for creating the {\it input/windx.sin\_y} file.
505
506 \subsubsection{File {\it input/topog.box}}
507 \label{www:tutorials}
508
509
510 The {\it input/topog.box} file specifies a two-dimensional ($x,y$)
511 map of depth values. For this experiment values are either
512 $0m$ or $-2000\,{\rm m}$, corresponding respectively to a wall or to deep
513 ocean. The file contains a raw binary stream of data that is enumerated
514 in the same way as standard MITgcm two-dimensional, horizontal arrays.
515 The included matlab program {\it input/gendata.m} gives a complete
516 code for creating the {\it input/topog.box} file.
517
518 \subsubsection{File {\it code/SIZE.h}}
519 \label{www:tutorials}
520
521 Two lines are customized in this file for the current experiment
522
523 \begin{itemize}
524
525 \item Line 39,
526 \begin{verbatim} sNx=60, \end{verbatim} this line sets
527 the lateral domain extent in grid points for the
528 axis aligned with the x-coordinate.
529
530 \item Line 40,
531 \begin{verbatim} sNy=60, \end{verbatim} this line sets
532 the lateral domain extent in grid points for the
533 axis aligned with the y-coordinate.
534
535 \item Line 49,
536 \begin{verbatim} Nr=4, \end{verbatim} this line sets
537 the vertical domain extent in grid points.
538
539 \end{itemize}
540
541 \begin{small}
542 % \include{code/SIZE.h}
543 \end{small}
544
545 \subsubsection{File {\it code/CPP\_OPTIONS.h}}
546 \label{www:tutorials}
547
548 This file uses standard default values and does not contain
549 customizations for this experiment.
550
551
552 \subsubsection{File {\it code/CPP\_EEOPTIONS.h}}
553 \label{www:tutorials}
554
555 This file uses standard default values and does not contain
556 customizations for this experiment.
557
558 \subsubsection{Other Files }
559 \label{www:tutorials}
560
561 Other files relevant to this experiment are
562 \begin{itemize}
563 \item {\it model/src/ini\_cori.F}. This file initializes the model
564 coriolis variables {\bf fCorU}.
565 \item {\it model/src/ini\_spherical\_polar\_grid.F}
566 \item {\it model/src/ini\_parms.F},
567 \item {\it input/windx.sin\_y},
568 \end{itemize}
569 contain the code customizations and parameter settings for this
570 experiments. Below we describe the customizations
571 to these files associated with this experiment.

  ViewVC Help
Powered by ViewVC 1.1.22