Skip to content

Commit 5783b3a

Browse files
authored
Merge pull request #28 from GEOS-ESM/develop
Sync main with develop
2 parents cb09e7d + e7ed6a4 commit 5783b3a

27 files changed

Lines changed: 1336 additions & 1875 deletions

MIT_GEOS5PlugMod/MIT_GEOS5PlugMod.F90

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1272,6 +1272,9 @@ subroutine Finalize ( gc, import, export, clock, rc )
12721272
call MAPL_GenericFinalize( GC, IMPORT, EXPORT, CLOCK, RC=status )
12731273
VERIFY_(STATUS)
12741274

1275+
call MAPL_TimerOff(MAPL,"FINALIZE")
1276+
call MAPL_TimerOff(MAPL,"TOTAL" )
1277+
12751278
! All Done
12761279
!---------
12771280

MIT_GEOS5PlugMod/configs/c12_cs32_01/code/CPP_EEOPTIONS.h

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
#ifndef _CPP_EEOPTIONS_H_
2+
#define _CPP_EEOPTIONS_H_
3+
14
CBOP
25
C !ROUTINE: CPP_EEOPTIONS.h
36
C !INTERFACE:
@@ -28,9 +31,6 @@ C | options set at compile time. |
2831
C *==========================================================*
2932
CEOP
3033

31-
#ifndef _CPP_EEOPTIONS_H_
32-
#define _CPP_EEOPTIONS_H_
33-
3434
C In general the following convention applies:
3535
C ALLOW - indicates an feature will be included but it may
3636
C CAN have a run-time flag to allow it to be switched
@@ -62,9 +62,6 @@ C-- Control use of "double" precision constants.
6262
C Use D0 where it means REAL*8 but not where it means REAL*16
6363
#define D0 d0
6464

65-
C-- Enable some old macro conventions for backward compatibility
66-
#undef USE_OLD_MACROS_R4R8toRSRL
67-
6865
C=== IO related options ===
6966
C-- Flag used to indicate whether Fortran formatted write
7067
C and read are threadsafe. On SGI the routines can be thread
@@ -108,7 +105,6 @@ CXXX #undef ALLOW_USE_MPI
108105

109106
C-- Control use of communication that might overlap computation.
110107
C Under MPI selects/deselects "non-blocking" sends and receives.
111-
#define ALLOW_ASYNC_COMMUNICATION
112108
#undef ALLOW_ASYNC_COMMUNICATION
113109
#undef ALWAYS_USE_ASYNC_COMMUNICATION
114110
C-- Control use of communication that is atomic to computation.
@@ -154,7 +150,7 @@ C allow to import and export from/to Coupler interface.
154150
C-- Activate some pieces of code for coupling to GEOS AGCM
155151
#define HACK_FOR_GMAO_CPL
156152

157-
#endif /* _CPP_EEOPTIONS_H_ */
158-
153+
C=== And define Macros ===
159154
#include "CPP_EEMACROS.h"
160155

156+
#endif /* _CPP_EEOPTIONS_H_ */

MIT_GEOS5PlugMod/configs/c12_cs32_01/code/CPP_OPTIONS.h

Lines changed: 33 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,10 @@ C o Include pressure loading code
3535
#undef ATMOSPHERIC_LOADING
3636

3737
C o Include/exclude balancing surface forcing fluxes code
38-
#define ALLOW_BALANCE_FLUXES
38+
#undef ALLOW_BALANCE_FLUXES
3939

4040
C o Include/exclude balancing surface forcing relaxation code
41-
#define ALLOW_BALANCE_RELAX
41+
#undef ALLOW_BALANCE_RELAX
4242

4343
C o Include/exclude checking for negative salinity
4444
#undef CHECK_SALINITY_FOR_NEGATIVE_VALUES
@@ -49,15 +49,27 @@ C o Exclude/allow external forcing-fields load
4949
C this allows to read & do simple linear time interpolation of oceanic
5050
C forcing fields, if no specific pkg (e.g., EXF) is used to compute them.
5151
#undef EXCLUDE_FFIELDS_LOAD
52+
C If defined, use same method (with pkg/autodiff compiled or not) for checking
53+
C when to load new reccord ; by default, use simpler method with pkg/autodiff.
54+
#undef STORE_LOADEDREC_TEST
5255

5356
C o Include/exclude phi_hyd calculation code
5457
#define INCLUDE_PHIHYD_CALCULATION_CODE
5558

59+
C o Include/exclude sound speed calculation code
60+
C o (Note that this is a diagnostic from Del Grasso algorithm, not derived
61+
C from EOS)
62+
#undef INCLUDE_SOUNDSPEED_CALC_CODE
63+
5664
C-- Vertical mixing code options:
5765

58-
C o Include/exclude call to S/R CONVECT
66+
C o Include/exclude calling S/R CONVECTIVE_ADJUSTMENT
5967
#define INCLUDE_CONVECT_CALL
6068

69+
C o Include/exclude calling S/R CONVECTIVE_ADJUSTMENT_INI, turned off by
70+
C default because it is an unpopular historical left-over
71+
#undef INCLUDE_CONVECT_INI_CALL
72+
6173
C o Include/exclude call to S/R CALC_DIFFUSIVITY
6274
#define INCLUDE_CALC_DIFFUSIVITY_CALL
6375

@@ -73,17 +85,24 @@ C either from grid-spacing reduction effect or as artificially enhanced mixing
7385
C near surface & bottom for too thin grid-cell
7486
#undef EXCLUDE_PCELL_MIX_CODE
7587

88+
C o Exclude/allow to use isotropic 3-D Smagorinsky viscosity as diffusivity
89+
C for tracers (after scaling by constant Prandtl number)
90+
#undef ALLOW_SMAG_3D_DIFFUSIVITY
91+
7692
C-- Time-stepping code options:
7793

7894
C o Include/exclude combined Surf.Pressure and Drag Implicit solver code
79-
#define ALLOW_SOLVE4_PS_AND_DRAG
95+
#undef ALLOW_SOLVE4_PS_AND_DRAG
8096

8197
C o Include/exclude Implicit vertical advection code
8298
#define INCLUDE_IMPLVERTADV_CODE
8399

84100
C o Include/exclude AdamsBashforth-3rd-Order code
85101
#undef ALLOW_ADAMSBASHFORTH_3
86102

103+
C o Include/exclude Quasi-Hydrostatic Stagger Time-step AdamsBashforth code
104+
#undef ALLOW_QHYD_STAGGER_TS
105+
87106
C-- Model formulation options:
88107

89108
C o Allow/exclude "Exact Convervation" of fluid in Free-Surface formulation
@@ -93,6 +112,9 @@ C that ensures that d/dt(eta) is exactly equal to - Div.Transport
93112
C o Allow the use of Non-Linear Free-Surface formulation
94113
C this implies that grid-cell thickness (hFactors) varies with time
95114
#define NONLIN_FRSURF
115+
C o Disable code for rStar coordinate and/or code for Sigma coordinate
116+
c#define DISABLE_RSTAR_CODE
117+
#define DISABLE_SIGMA_CODE
96118

97119
C o Include/exclude nonHydrostatic code
98120
#undef ALLOW_NONHYDROSTATIC
@@ -102,18 +124,21 @@ C o Include/exclude GM-like eddy stress in momentum code
102124

103125
C-- Algorithm options:
104126

105-
C o Use Non Self-Adjoint (NSA) conjugate-gradient solver
127+
C o Include/exclude code for Non Self-Adjoint (NSA) conjugate-gradient solver
106128
#undef ALLOW_CG2D_NSA
107129

108130
C o Include/exclude code for single reduction Conjugate-Gradient solver
109-
#define ALLOW_SRCG
131+
#undef ALLOW_SRCG
110132

111133
C o Choices for implicit solver routines solve_*diagonal.F
112134
C The following has low memory footprint, but not suitable for AD
113135
#undef SOLVE_DIAGONAL_LOWMEMORY
114136
C The following one suitable for AD but does not vectorize
115137
#undef SOLVE_DIAGONAL_KINNER
116138

139+
C Implementation alternative (might be faster on some platforms ?)
140+
#undef USE_MASK_AND_NO_IF
141+
117142
C-- Retired code options:
118143

119144
C o ALLOW isotropic scaling of harmonic and bi-harmonic terms when
@@ -127,7 +152,7 @@ C The preferred method is specifying a value for viscAhGrid or viscA4Grid
127152
C in data which is then automatically scaled by the grid size;
128153
C the old method of specifying viscAh/viscA4 and this flag is provided
129154
C for completeness only (and for use with the adjoint).
130-
C#define ISOTROPIC_COS_SCALING
155+
c#define ISOTROPIC_COS_SCALING
131156

132157
C o This flag selects the form of COSINE(lat) scaling of bi-harmonic term.
133158
C *only for use on a lat-lon grid*
@@ -137,7 +162,7 @@ C Setting this flag here affects both momentum and tracer equation unless
137162
C it is set/unset again in other header fields (e.g., GAD_OPTIONS.h).
138163
C The definition of the flag is commented to avoid interference with
139164
C such other header files.
140-
C#define COSINEMETH_III
165+
c#define COSINEMETH_III
141166

142167
C o Use "OLD" UV discretisation near boundaries (*not* recommended)
143168
C Note - only works with pkg/mom_fluxform and "no_slip_sides=.FALSE."
@@ -149,10 +174,6 @@ C Default is to use "new" grid files (OLD_GRID_IO undef) but OLD_GRID_IO
149174
C is still useful with, e.g., single-domain curvilinear configurations.
150175
#undef OLD_GRID_IO
151176

152-
C o Use thsice+seaice (old) call sequence: ice-Dyn,ice-Advect,ice-Thermo(thsice)
153-
C as opposed to new sequence: ice-Thermo(thsice),ice-Dyn,ice-Advect
154-
#undef OLD_THSICE_CALL_SEQUENCE
155-
156177
C o Use old EXTERNAL_FORCING_U,V,T,S subroutines (for backward compatibility)
157178
#undef USE_OLD_EXTERNAL_FORCING
158179

MIT_GEOS5PlugMod/configs/c12_cs32_01/code/SEAICE_LAYERS.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,13 @@ C oceWeight :: grid-cell ocean fraction from GEOS [0-1]
7272
_RL oceWeight(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
7373
COMMON /DIAGS_GMAO_CPL/
7474
& oceWeight
75+
76+
C SI_FRZMLT :: available heat (W/m^2) to freeze (>0) or melt (<0) sea ice
77+
C so that surface level ocean reaches freezing temperature
78+
_RL SI_FRZMLT(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
79+
COMMON /SEAICE_FRZMLT/
80+
& SI_FRZMLT
81+
7582
#endif /* HACK_FOR_GMAO_CPL */
7683

7784
CEH3 ;;; Local Variables: ***

0 commit comments

Comments
 (0)