/[MITgcm]/MITgcm/verification/advect_xz/code/GAD_OPTIONS.h
ViewVC logotype

Diff of /MITgcm/verification/advect_xz/code/GAD_OPTIONS.h

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

revision 1.1 by jmc, Tue Jan 16 04:42:39 2007 UTC revision 1.4 by jmc, Mon Mar 4 18:41:16 2013 UTC
# Line 5  CBOP Line 5  CBOP
5  C !ROUTINE: GAD_OPTIONS.h  C !ROUTINE: GAD_OPTIONS.h
6    
7  C !INTERFACE:  C !INTERFACE:
8  C #include "GAD_OPTIONS.h"  C #include "GAD_OPTIONS.h"
9    
10  C !DESCRIPTION:  C !DESCRIPTION:
11  C Contains CPP macros/flags for controlling optional features of package.  C Contains CPP macros/flags for controlling optional features of package.
12  CEOP  CEOP
13    
14  C CPP options file for GAD (Generic Advection Diffusion) package  C CPP options file for GAD (Generic Advection Diffusion) package
 C  
15  C Use this file for selecting options within the GAD package  C Use this file for selecting options within the GAD package
16    
17  #ifndef GAD_OPTIONS_H  #ifndef GAD_OPTIONS_H
18  #define GAD_OPTIONS_H  #define GAD_OPTIONS_H
19  #include "PACKAGES_CONFIG.h"  #include "PACKAGES_CONFIG.h"
 #ifdef ALLOW_GENERIC_ADVDIFF  
   
20  #include "CPP_OPTIONS.h"  #include "CPP_OPTIONS.h"
21    
22    #ifdef ALLOW_GENERIC_ADVDIFF
23    C     Package-specific Options & Macros go here
24    
25  C This flag selects the form of COSINE(lat) scaling of bi-harmonic term.  C This flag selects the form of COSINE(lat) scaling of bi-harmonic term.
26  C *only for use on a lat-lon grid*  C *only for use on a lat-lon grid*
27  C Setting this flag here only affects the bi-harmonic tracer terms; to  C Setting this flag here only affects the bi-harmonic tracer terms; to
# Line 31  C use COSINEMETH_III in the momentum equ Line 31  C use COSINEMETH_III in the momentum equ
31  C This selects isotropic scaling of harmonic and bi-harmonic term when  C This selects isotropic scaling of harmonic and bi-harmonic term when
32  C using the COSINE(lat) scaling.  C using the COSINE(lat) scaling.
33  C Setting this flag here only affects the tracer diffusion terms; to  C Setting this flag here only affects the tracer diffusion terms; to
34  C use ISOTROPIC_COS_SCALING of the horizontal viscosity terms in the  C use ISOTROPIC_COS_SCALING of the horizontal viscosity terms in the
35  C momentum equations set it CPP_OPTIONS.h; the following line  C momentum equations set it CPP_OPTIONS.h; the following line
36  C even overrides setting the flag in CPP_OPTIONS.h  C even overrides setting the flag in CPP_OPTIONS.h
37  #undef ISOTROPIC_COS_SCALING  #undef ISOTROPIC_COS_SCALING
# Line 41  C introduces excessive recomputation/sto Line 41  C introduces excessive recomputation/sto
41  C We can disable it here using CPP because run-time flags are insufficient.  C We can disable it here using CPP because run-time flags are insufficient.
42  #undef DISABLE_MULTIDIM_ADVECTION  #undef DISABLE_MULTIDIM_ADVECTION
43    
44  C This enable the use of 2nd-Order Moment advection scheme (Prather, 1986)  C Use compressible flow method for multi-dim advection instead of old, less
45  C due to large memory space (10 times more / tracer) requirement,  C accurate jmc method. Note: option has no effect on SOM advection which
46  C by default, this part of the code is not compiled.  C always use compressible flow method.
47  #define GAD_ALLOW_SOM_ADVECT  #undef GAD_MULTIDIM_COMPRESSIBLE
48    
49    C This enable the use of 2nd-Order Moment advection scheme (Prather, 1986) for
50    C Temperature and Salinity ; due to large memory space (10 times more / tracer)
51    C requirement, by default, this part of the code is not compiled.
52    #define GAD_ALLOW_TS_SOM_ADV
53    
54    C Hack to get rid of negatives caused by Redi.  Works by restricting the
55    C outgoing flux (only contributions computed in gad_calc_rhs) for each cell
56    C to be no more than the amount of tracer in the cell (see Smolarkiewicz
57    C MWR 1989 and Bott MWR 1989).
58    C The flux contributions computed in gad_calc_rhs which are affected by
59    C this hack are:
60    C - explicit diffusion, Redi and the non-local part of KPP
61    C - advection is affected only if multiDimAdvection=.FALSE.
62    C - vertical diffusion (including the diagonal contribution from GMRedi)
63    C   only if implicitDiffusion=.FALSE.
64    C - GM is affected only if GMREDI_AdvForm=.FALSE.
65    C
66    C The parameter SmolarkiewiczMaxFrac (defined in gad_init_fixed.F)
67    C specifies the maximal fraction of tracer that can leave a cell.
68    C By default it is 1.  This will prevent the tracer from going negative
69    C due to contributions from gad_calc_rhs alone.  In the presence of other
70    C contributions (or roundoff errors), it may be necessary to reduce this
71    C value to achieve strict positivity.
72    C
73    C This hack applies to all tracers except temperature and salinity!
74    C Do not use with Adams-Bashforth (for ptracers)!
75    C Do not use with OBCS!
76    #undef  GAD_SMOLARKIEWICZ_HACK
77    
78  #else  #else
79    

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.4

  ViewVC Help
Powered by ViewVC 1.1.22