46 |
C by default, this part of the code is not compiled. |
C by default, this part of the code is not compiled. |
47 |
#undef GAD_ALLOW_SOM_ADVECT |
#undef GAD_ALLOW_SOM_ADVECT |
48 |
|
|
49 |
|
C Hack to make Redi positive by restricting the outgoing flux for each cell |
50 |
|
C to be no more than the amount of tracer in the cell (see Smolarkiewicz |
51 |
|
C MWR 1989 and Bott MWR 1989). This affects all contributions to the |
52 |
|
C tracer equation calculated in gad_calc_rhs, i.e., diffusion, GMRedi and |
53 |
|
C the non-local part of KPP, but advection only if |
54 |
|
C multiDimAdvection=.FALSE. and vertical diffusion (including the |
55 |
|
C diagonal contribution from GMRedi) only if implicitDiffusion=.FALSE. |
56 |
|
C GM is affected only if GMREDI_AdvForm=.FALSE. |
57 |
|
C The parameter SmolarkiewiczMaxFrac (set in gad_init_fixed) can be used to |
58 |
|
C restrict the fraction of tracer that can leave a cell to be less than 1. |
59 |
|
C This will be necessary to make the tracer strictly positive. |
60 |
|
C This hack applies to all tracers except temperature! |
61 |
|
#undef GAD_SMOLARKIEWICZ_HACK |
62 |
|
|
63 |
#else |
#else |
64 |
|
|
65 |
C If GAD is disabled then so is multi-dimensional advection |
C If GAD is disabled then so is multi-dimensional advection |