/[MITgcm]/MITgcm/pkg/generic_advdiff/GAD_OPTIONS.h
ViewVC logotype

Annotation of /MITgcm/pkg/generic_advdiff/GAD_OPTIONS.h

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


Revision 1.14 - (hide annotations) (download)
Tue Mar 16 00:14:47 2010 UTC (14 years, 3 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint62v, checkpoint62u, checkpoint62t, checkpoint62s, checkpoint62r, checkpoint62q, checkpoint62p, checkpoint62g, checkpoint62f, checkpoint62e, checkpoint62d, checkpoint62k, checkpoint62j, checkpoint62i, checkpoint62h, checkpoint62o, checkpoint62n, checkpoint62m, checkpoint62l, checkpoint62w, checkpoint62z, checkpoint62y, checkpoint62x, checkpoint63g, checkpoint63, checkpoint63d, checkpoint63e, checkpoint63f, checkpoint63a, checkpoint63b, checkpoint63c
Changes since 1.13: +3 -3 lines
File MIME type: text/plain
avoid unbalanced quote (single or double) in commented line

1 jmc 1.14 C $Header: /u/gcmpack/MITgcm/pkg/generic_advdiff/GAD_OPTIONS.h,v 1.13 2008/05/09 21:43:16 jmc Exp $
2 adcroft 1.2 C $Name: $
3    
4     CBOP
5     C !ROUTINE: GAD_OPTIONS.h
6    
7     C !INTERFACE:
8 jmc 1.13 C #include "GAD_OPTIONS.h"
9 adcroft 1.2
10     C !DESCRIPTION:
11     C Contains CPP macros/flags for controlling optional features of package.
12     CEOP
13 adcroft 1.1
14     C CPP options file for GAD (Generic Advection Diffusion) package
15     C
16     C Use this file for selecting options within the GAD package
17 edhill 1.5
18     #ifndef GAD_OPTIONS_H
19     #define GAD_OPTIONS_H
20     #include "PACKAGES_CONFIG.h"
21 jmc 1.7 #ifdef ALLOW_GENERIC_ADVDIFF
22 adcroft 1.1
23     #include "CPP_OPTIONS.h"
24    
25 mlosch 1.6 C This flag selects the form of COSINE(lat) scaling of bi-harmonic term.
26 adcroft 1.1 C *only for use on a lat-lon grid*
27 mlosch 1.6 C Setting this flag here only affects the bi-harmonic tracer terms; to
28     C use COSINEMETH_III in the momentum equations set it CPP_OPTIONS.h
29 adcroft 1.1 #define COSINEMETH_III
30    
31 mlosch 1.6 C This selects isotropic scaling of harmonic and bi-harmonic term when
32 adcroft 1.1 C using the COSINE(lat) scaling.
33 mlosch 1.6 C Setting this flag here only affects the tracer diffusion terms; to
34 jmc 1.13 C use ISOTROPIC_COS_SCALING of the horizontal viscosity terms in the
35 mlosch 1.6 C momentum equations set it CPP_OPTIONS.h; the following line
36     C even overrides setting the flag in CPP_OPTIONS.h
37     #undef ISOTROPIC_COS_SCALING
38 adcroft 1.1
39 adcroft 1.3 C As of checkpoint41, the inclusion of multi-dimensional advection
40     C introduces excessive recomputation/storage for the adjoint.
41 adcroft 1.4 C We can disable it here using CPP because run-time flags are insufficient.
42 jmc 1.7 #undef DISABLE_MULTIDIM_ADVECTION
43    
44 jmc 1.13 C This enable the use of 2nd-Order Moment advection scheme (Prather, 1986) for
45     C Temperature and Salinity ; due to large memory space (10 times more / tracer)
46     C requirement, by default, this part of the code is not compiled.
47     #undef GAD_ALLOW_TS_SOM_ADV
48 adcroft 1.3
49 jahn 1.12 C Hack to get rid of negatives caused by Redi. Works by restricting the
50 jmc 1.13 C outgoing flux (only contributions computed in gad_calc_rhs) for each cell
51 jahn 1.12 C to be no more than the amount of tracer in the cell (see Smolarkiewicz
52     C MWR 1989 and Bott MWR 1989).
53     C The flux contributions computed in gad_calc_rhs which are affected by
54     C this hack are:
55     C - explicit diffusion, Redi and the non-local part of KPP
56     C - advection is affected only if multiDimAdvection=.FALSE.
57     C - vertical diffusion (including the diagonal contribution from GMRedi)
58     C only if implicitDiffusion=.FALSE.
59     C - GM is affected only if GMREDI_AdvForm=.FALSE.
60     C
61     C The parameter SmolarkiewiczMaxFrac (defined in gad_init_fixed.F)
62     C specifies the maximal fraction of tracer that can leave a cell.
63     C By default it is 1. This will prevent the tracer from going negative
64     C due to contributions from gad_calc_rhs alone. In the presence of other
65     C contributions (or roundoff errors), it may be necessary to reduce this
66     C value to achieve strict positivity.
67     C
68 jmc 1.13 C This hack applies to all tracers except temperature and salinity!
69 jmc 1.14 C Do not use with Adams-Bashforth (for ptracers)!
70     C Do not use with OBCS!
71 jahn 1.10 #undef GAD_SMOLARKIEWICZ_HACK
72    
73 adcroft 1.3 #else
74    
75     C If GAD is disabled then so is multi-dimensional advection
76     #define DISABLE_MULTIDIM_ADVECTION
77    
78 jmc 1.7 #endif /* ALLOW_GENERIC_ADVDIFF */
79 edhill 1.5 #endif /* GAD_OPTIONS_H */

  ViewVC Help
Powered by ViewVC 1.1.22