/[MITgcm]/MITgcm_contrib/verification_other/global_oce_llc90/code/EXF_OPTIONS.h
ViewVC logotype

Annotation of /MITgcm_contrib/verification_other/global_oce_llc90/code/EXF_OPTIONS.h

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


Revision 1.4 - (hide annotations) (download)
Thu Feb 16 17:39:48 2017 UTC (8 years, 5 months ago) by gforget
Branch: MAIN
CVS Tags: checkpoint66g, checkpoint66f, checkpoint66e, checkpoint66o, checkpoint66n, checkpoint66m, checkpoint66l, checkpoint66k, checkpoint66j, checkpoint66i, checkpoint66h, checkpoint67a, checkpoint67b, checkpoint67d, HEAD
Changes since 1.3: +116 -94 lines
File MIME type: text/plain
- bring up to date

1 gforget 1.4 C $Header: /u/gcmpack/MITgcm_contrib/verification_other/global_oce_cs32/code/EXF_OPTIONS.h,v 1.4 2017/01/18 22:13:03 gforget Exp $
2 gforget 1.1 C $Name: $
3    
4 gforget 1.2 CBOP
5     C !ROUTINE: EXF_OPTIONS.h
6     C !INTERFACE:
7     C #include "EXF_OPTIONS.h"
8    
9     C !DESCRIPTION:
10     C *==================================================================*
11     C | CPP options file for EXternal Forcing (EXF) package:
12     C | Control which optional features to compile in this package code.
13     C *==================================================================*
14     CEOP
15    
16 gforget 1.1 #ifndef EXF_OPTIONS_H
17     #define EXF_OPTIONS_H
18     #include "PACKAGES_CONFIG.h"
19     #include "CPP_OPTIONS.h"
20    
21     #ifdef ALLOW_EXF
22 gforget 1.2 #ifdef ECCO_CPPOPTIONS_H
23    
24     C-- When multi-package option-file ECCO_CPPOPTIONS.h is used (directly included
25     C in CPP_OPTIONS.h), this option file is left empty since all options that
26     C are specific to this package are assumed to be set in ECCO_CPPOPTIONS.h
27    
28     #else /* ndef ECCO_CPPOPTIONS_H */
29 gforget 1.1
30 gforget 1.2 C-- Package-specific Options & Macros go here
31 gforget 1.1
32 gforget 1.3 C pkg/exf CPP options:
33 gforget 1.4 C (see also table below on how to combine options)
34    
35     C > ( EXF_VERBOSE ) < replaced with run-time integer parameter "exf_debugLev"
36 gforget 1.3 C
37     C >>> ALLOW_ATM_WIND <<<
38 gforget 1.4 C If defined, set default value of run-time param. "useAtmWind" to True.
39     C If useAtmWind=True, read-in and use wind vector (uwind/vwind)
40     C to compute surface wind stress.
41 gforget 1.3 C
42     C >>> ALLOW_ATM_TEMP <<<
43 gforget 1.4 C This is the main EXF option controlling air-sea buoyancy fluxes:
44     C If undefined, net heat flux (Qnet) and net fresh water flux
45     C (EmP or EmPmR) are set according to hfluxfile & sfluxfile setting.
46     C If defined, net heat flux and net fresh water flux are computed
47     C from sum of various components (radiative SW,LW + turbulent heat
48     C fluxes SH,LH ; Evap, Precip and optionally RunOff) thus ignoring
49     C hfluxfile & sfluxfile.
50     C In addition, it allows to read-in from files atmospheric temperature
51     C and specific humidity, net radiative fluxes, and precip.
52     C Also enable to read-in Evap (if EXF_READ_EVAP is defined) or
53     C turbulent heat fluxes (if ALLOW_READ_TURBFLUXES is defined).
54 gforget 1.3 C
55     C >>> ALLOW_DOWNWARD_RADIATION <<<
56     C If defined, downward long-wave and short-wave radiation
57 gforget 1.4 C can be read-in form files to compute net lwflux and swflux.
58 gforget 1.3 C
59     C >>> ALLOW_ZENITHANGLE <<<
60     C If defined, ocean albedo varies with the zenith angle, and
61     C incoming fluxes at the top of the atmosphere are computed
62     C
63     C >>> ALLOW_BULKFORMULAE <<<
64     C Allows the use of bulk formulae in order to estimate
65 gforget 1.4 C turbulent fluxes (Sensible,Latent,Evap) at the ocean surface.
66     C
67     C >>> EXF_CALC_ATMRHO
68     C Calculate the local air density as function of temp, humidity
69     C and pressure
70 gforget 1.3 C
71     C >>> EXF_READ_EVAP <<<
72 gforget 1.4 C If defined, evaporation field is read-in from file;
73     C Note: if ALLOW_BULKFORMULAE is defined, evap that is computed from
74     C atmospheric state will be replaced by read-in evap but computed
75     C latent heat flux will be kept.
76     C
77     C >>> ALLOW_READ_TURBFLUXES <<<
78     C If defined, turbulent heat fluxes (sensible and latent) can be read-in
79     C from files (but overwritten if ALLOW_BULKFORMULAE is defined).
80 gforget 1.3 C
81     C >>> ALLOW_RUNOFF <<<
82     C If defined, river and glacier runoff can be read-in from files.
83     C
84     C >>> ALLOW_SALTFLX <<<
85     C If defined, upward salt flux can be read-in from files.
86     C
87     C >>> ALLOW_RUNOFTEMP <<<
88     C If defined, river and glacier runoff temperature
89     C can be read-in from files.
90     C
91     C >>> ATMOSPHERIC_LOADING <<<
92     C If defined, atmospheric pressure can be read-in from files.
93     C WARNING: this flag is set (define/undef) in CPP_OPTIONS.h
94 gforget 1.4 C and cannot be changed here (in EXF_OPTIONS.h)
95 gforget 1.3 C
96     C >>> EXF_SEAICE_FRACTION <<<
97     C If defined, seaice fraction can be read-in from files (areaMaskFile)
98     C
99     C >>> ALLOW_CLIMSST_RELAXATION <<<
100     C Allow the relaxation to a monthly climatology of sea surface
101     C temperature, e.g. the Reynolds climatology.
102     C
103     C >>> ALLOW_CLIMSSS_RELAXATION <<<
104     C Allow the relaxation to a monthly climatology of sea surface
105     C salinity, e.g. the Levitus climatology.
106     C
107     C >>> USE_EXF_INTERPOLATION <<<
108 gforget 1.4 C Allows to provide input field on arbitrary Lat-Lon input grid
109     C (as specified in EXF_NML_04) and to interpolate to model grid.
110     C Note: default is to interpolate unless {FLD}_interpMethod is set to 0
111 gforget 1.3 C
112     C ====================================================================
113     C
114 gforget 1.4 C The following CPP options:
115     C ALLOW_ATM_WIND / useAtmWind (useWind)
116     C ALLOW_ATM_TEMP (TEMP)
117     C ALLOW_DOWNWARD_RADIATION (DOWN)
118     C ALLOW_BULKFORMULAE (BULK)
119     C EXF_READ_EVAP (EVAP)
120     C ALLOW_READ_TURBFLUXES (TURB)
121     C
122     C permit all ocean-model forcing configurations listed in the 2 tables below.
123     C The first configuration (A1,B1) is the flux-forced, ocean model.
124     C Configurations A2,B3 and A2,B4 use pkg/exf open-water bulk formulae
125     C to compute, from atmospheric variables, the missing surface fluxes.
126     C The forcing fields in the rightmost column are defined in EXF_FIELDS.h
127     C (ocean-model surface forcing field are defined in model/inc/FFIELDS.h)
128     C
129     C (A) Surface momentum flux: [model: fu,fv ; exf: ustress,vstress]
130     C
131     C # |useWind| actions
132     C ---|-------|-------------------------------------------------------------
133     C (1)| False | Read-in ustress,vstress (if needed in B, compute wind-speed)
134     C | |
135     C (2)| True | Read-in uwind,vwind ; compute wind stress ustress,vstress.
136     C ---|-------|-------------------------------------------------------------
137     C
138     C (B) Surface buoyancy flux:
139     C [ net heat flux: Qnet (exf: hflux), net short-wave: Qsw (exf: swflux)
140     C fresh-water flux: EmPmR (exf: sflux) and saltFlux (exf: saltflx) ]
141     C
142     C # |TEMP |DOWN |BULK |EVAP |TURB | actions
143     C ---|-----|-----|-----|-----|-----|-------------------------------------
144     C (1)| - | - | - | - | - | Read-in hflux, swflux and sflux.
145     C | | | | | |
146     C (2)| - | def | - | - | - | Read-in hflux, swdown and sflux.
147     C | | | | | | Compute swflux.
148     C | | | | | |
149     C (3)| def | def | def | - | - | Read-in atemp, aqh, swdown, lwdown,
150     C | | | | | | precip, and runoff.
151     C | | | | | | Compute hflux, swflux and sflux.
152     C | | | | | |
153     C (4)| def | - | def | - | - | Read-in atemp, aqh, swflux, lwflux,
154     C | | | | | | precip, and runoff.
155     C | | | | | | Compute hflux and sflux.
156     C | | | | | |
157     C (5)| def | def | - | def | def | Read-in hs, hl, swdown, lwdown,
158     C | | | | | | evap, precip and runoff.
159     C | | | | | | Compute hflux, swflux and sflux.
160     C | | | | | |
161     C (6)| def | - | - | def | def | Read-in hs, hl, swflux, lwflux,
162     C | | | | | | evap, precip and runoff.
163     C | | | | | | Compute hflux and sflux.
164     C
165     C =======================================================================
166    
167     C- Bulk formulae related flags.
168     #define ALLOW_ATM_TEMP
169     #define ALLOW_ATM_WIND
170     #define ALLOW_DOWNWARD_RADIATION
171     #ifdef ALLOW_ATM_TEMP
172     C Note: To use ALLOW_BULKFORMULAE or EXF_READ_EVAP, needs #define ALLOW_ATM_TEMP
173 gforget 1.1 # define ALLOW_BULKFORMULAE
174     # define ALLOW_BULK_LARGEYEAGER04
175 gforget 1.4 # undef EXF_READ_EVAP
176     # ifndef ALLOW_BULKFORMULAE
177     C Note: To use ALLOW_READ_TURBFLUXES, ALLOW_ATM_TEMP needs to
178     C be defined but ALLOW_BULKFORMULAE needs to be undef
179     # define ALLOW_READ_TURBFLUXES
180     # endif
181 gforget 1.1 #endif
182 gforget 1.4
183     C- Other forcing fields
184     #define ALLOW_RUNOFF
185     #undef ALLOW_RUNOFTEMP
186     #define ALLOW_SALTFLX
187    
188     #if (defined (ALLOW_BULKFORMULAE) && defined (ATMOSPHERIC_LOADING))
189     C Note: To use EXF_CALC_ATMRHO, both ALLOW_BULKFORMULAE
190     C and ATMOSPHERIC_LOADING need to be defined
191     # undef EXF_CALC_ATMRHO
192 gforget 1.3 #endif
193 gforget 1.1
194 gforget 1.4 C- Zenith Angle/Albedo related flags.
195 gforget 1.1 #ifdef ALLOW_DOWNWARD_RADIATION
196     # define ALLOW_ZENITHANGLE
197 gforget 1.3 # undef ALLOW_ZENITHANGLE_BOUNDSWDOWN
198 gforget 1.1 #endif
199    
200 gforget 1.4 C- Use ocean_emissivity*lwdown in lwFlux. This flag should be defined
201 gforget 1.1 C unless to reproduce old results (obtained with inconsistent old code)
202     #ifdef ALLOW_DOWNWARD_RADIATION
203     # define EXF_LWDOWN_WITH_EMISSIVITY
204     #endif
205    
206 gforget 1.4 C- Relaxation to monthly climatologies.
207 gforget 1.1 #define ALLOW_CLIMSST_RELAXATION
208     #define ALLOW_CLIMSSS_RELAXATION
209    
210 gforget 1.4 C- Allows to read-in seaice fraction from files (areaMaskFile)
211 gforget 1.3 #undef EXF_SEAICE_FRACTION
212    
213 gforget 1.4 C- Use spatial interpolation to interpolate
214 gforget 1.1 C forcing files from input grid to model grid.
215     #define USE_EXF_INTERPOLATION
216     C for interpolated vector fields, rotate towards model-grid axis
217     C using old rotation formulae (instead of grid-angles)
218     #undef EXF_USE_OLD_VEC_ROTATION
219     C for interpolation around N & S pole, use the old formulation
220     C (no pole symmetry, single vector-comp interp, reset to 0 zonal-comp @ N.pole)
221     #undef EXF_USE_OLD_INTERP_POLE
222    
223     #define EXF_INTERP_USE_DYNALLOC
224     #if ( defined (EXF_INTERP_USE_DYNALLOC) && defined (USING_THREADS) )
225     # define EXF_IREAD_USE_GLOBAL_POINTER
226     #endif
227    
228 gforget 1.2 #endif /* ndef ECCO_CPPOPTIONS_H */
229 gforget 1.1 #endif /* ALLOW_EXF */
230     #endif /* EXF_OPTIONS_H */

  ViewVC Help
Powered by ViewVC 1.1.22