/[MITgcm]/MITgcm/pkg/exf/EXF_OPTIONS.h
ViewVC logotype

Diff of /MITgcm/pkg/exf/EXF_OPTIONS.h

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

revision 1.14 by mlosch, Mon Feb 16 09:10:18 2009 UTC revision 1.30 by jmc, Fri May 2 22:14:52 2014 UTC
# Line 1  Line 1 
1  C $Header$  C $Header$
2  C $Name$  C $Name$
3    
4    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  #ifndef EXF_OPTIONS_H  #ifndef EXF_OPTIONS_H
17  #define EXF_OPTIONS_H  #define EXF_OPTIONS_H
18  #include "PACKAGES_CONFIG.h"  #include "PACKAGES_CONFIG.h"
19  #include "AD_CONFIG.h"  #include "CPP_OPTIONS.h"
20    
21  #ifdef ALLOW_EXF  #ifdef ALLOW_EXF
22    #ifdef ECCO_CPPOPTIONS_H
23    
24  #include "CPP_OPTIONS.h"  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  #ifdef ALLOW_AUTODIFF_TAMC  #else /* ndef ECCO_CPPOPTIONS_H */
29    
30  C When compile for AD mode,  C-- Package-specific Options & Macros go here
 C this package is currently configured by ECCO_CPPOPTIONS.h  
 C which is directly included in CPP_OPTIONS.h  
   
 #else /* ndef ALLOW_AUTODIFF_TAMC */  
   
 C CPP flags controlling which code is included in the files that  
 C will be compiled.  
 C  
   
 c   pkg/exf CPP options:  
 c   --------------------  
 c  
 c   >>> EXF_VERBOSE <<<  
 c       Do a bit more printout for the log file than usual.  
 c  
 c   >>> ALLOW_ATM_WIND <<<  
 c       If defined, 10-m wind fields can be read-in from files.  
 c                                          
 c   >>> ALLOW_ATM_TEMP <<<  
 c       If defined, atmospheric temperature and specific  
 c       humidity fields can be read-in from files.  
 c                                          
 c   >>> ALLOW_DOWNWARD_RADIATION <<<  
 c       If defined, downward long-wave and short-wave radiation  
 c       can be read-in form files or computed from lwflux and swflux.  
 c  
 c   >>> ALLOW_BULKFORMULAE <<<  
 c       Allows the use of bulk formulae in order to estimate  
 c       turbulent and radiative fluxes at the ocean's surface.  
 c  
 c   >>> EXF_READ_EVAP <<<  
 c       If defined, evaporation fields are read-in, rather than  
 c       computed from atmospheric state.  
 c                                          
 c   >>> ALLOW_RUNOFF <<<  
 c       If defined, river and glacier runoff can be read-in from files.  
 c  
 c   >>> ATMOSPHERIC_LOADING <<<  
 c       If defined, atmospheric pressure can be read-in from files.  
 c   WARNING: this flag is set (define/undef) in CPP_OPTIONS.h  
 c            and cannot be changed here (in EXF_OPTIONS)  
 c  
 c   >>> ICE_AREAMASK <<<  
 c       If defined, fractional ice-covered area MASK can be read-in from files.  
 c  
 c   >>> ALLOW_CLIMSST_RELAXATION <<<  
 c       Allow the relaxation to a monthly climatology of sea surface  
 c       temperature, e.g. the Reynolds climatology.  
 c  
 c   >>> ALLOW_CLIMSSS_RELAXATION <<<  
 c       Allow the relaxation to a monthly climatology of sea surface  
 c       salinity, e.g. the Levitus climatology.  
 c  
 c   >>> USE_EXF_INTERPOLATION <<<  
 c       Allows specification of arbitrary Cartesian input grids.  
 c  
 c   ====================================================================  
 c  
 c       The following CPP options:  
 c  
 c          ALLOW_ATM_WIND              (WIND)  
 c          ALLOW_ATM_TEMP              (TEMP)  
 c          ALLOW_DOWNWARD_RADIATION    (DOWN)  
 c          ALLOW_BULKFORMULAE          (BULK)  
 c          EXF_READ_EVAP               (EVAP)  
 c  
 c       permit the ocean-model forcing configurations listed in the  
 c       table below.  The first configuration is the default,  
 c       flux-forced, ocean model.  The next four are stand-alone  
 c       configurations that use pkg/exf, open-water bulk formulae to  
 c       compute the missing surface fluxes from atmospheric variables.  
 c       The last four configurations can be used in conjunction with  
 c       pkg/seaice to model ice-covered regions.  The forcing fields  
 c       in the rightmost column are defined in exf_fields.  
 c  
 c  
 c    WIND |TEMP |DOWN |BULK |EVAP |            actions  
 c    -----|-----|-----|-----|-----|-------------------------------------  
 c         |     |     |     |     |  
 c      -  |  -  |  -  |  -  |  -  | Read-in ustress, vstress, hflux,  
 c         |     |     |     |     | swflux, and sflux.  
 c         |     |     |     |     |  
 c     def | def | def | def |  -  | Read-in uwind, vwind, atemp, aqh,  
 c         |     |     |     |     | swdown, lwdown, precip, and runoff.  
 c         |     |     |     |     | Compute ustress, vstress, hflux,  
 c         |     |     |     |     | swflux, and sflux.  
 c         |     |     |     |     |  
 c     def | def |  -  | def |  -  | Read-in uwind, vwind, atemp, aqh,  
 c         |     |     |     |     | swflux, lwflux, precip, and runoff.  
 c         |     |     |     |     | Compute ustress, vstress, hflux,  
 c         |     |     |     |     | and sflux.  
 c         |     |     |     |     |  
 c     def |  -  |  -  | def |  -  | Read-in uwind, vwind, hflux,  
 c         |     |     |     |     | swflux, and sflux.  
 c         |     |     |     |     | Compute ustress and vstress.  
 c         |     |     |     |     |  
 c      -  | def |  -  | def |  -  | Read-in ustress, vstress, atemp,  
 c         |     |     |     |     | aqh, swflux, lwflux, precip, and  
 c         |     |     |     |     | runoff.  Compute hflux and sflux.  
 c         |     |     |     |     |  
 c     def | def |  -  |  -  | def | Read-in uwind, vwind, atemp, aqh,  
 c         |     |     |     |     | swflux, lwflux, precip, runoff,  
 c         |     |     |     |     | and evap.  
 c         |     |     |     |     |  
 c     def | def |  -  | def |  -  | Read-in uwind, vwind, atemp, aqh,  
 c         |     |     |     |     | swflux, lwflux, precip, and runoff.  
 c         |     |     |     |     | Compute open-water ustress, vstress,  
 c         |     |     |     |     | hflux, swflux, and evap.  
 c         |     |     |     |     |  
 c     def | def | def |  -  | def | Read-in uwind, vwind, atemp, aqh,  
 c         |     |     |     |     | swdown, lwdown, precip, runoff,  
 c         |     |     |     |     | and evap.  
 c         |     |     |     |     |  
 c     def | def | def | def |  -  | Read-in uwind, vwind, atemp, aqh,  
 c         |     |     |     |     | swdown, lwdown, precip, and runoff.  
 c         |     |     |     |     | Compute open-water ustress, vstress,  
 c         |     |     |     |     | hflux, swflux, and evap.  
 c  
 c   ====================================================================  
31    
32  C   Do more printout for the protocol file than usual.  C   pkg/exf CPP options:
33  #undef EXF_VERBOSE  C   --------------------
34    C
35    C   > ( EXF_VERBOSE ) < replaced with run-time, logical parameter "exf_verbose".
36    C
37    C   >>> ALLOW_ATM_WIND <<<
38    C       If defined, 10-m wind fields can be read-in from files.
39    C
40    C   >>> ALLOW_ATM_TEMP <<<
41    C       If defined, atmospheric temperature and specific
42    C       humidity fields can be read-in from files.
43    C
44    C   >>> ALLOW_DOWNWARD_RADIATION <<<
45    C       If defined, downward long-wave and short-wave radiation
46    C       can be read-in form files or computed from lwflux and swflux.
47    C
48    C   >>> ALLOW_ZENITHANGLE <<<
49    C       If defined, ocean albedo varies with the zenith angle, and
50    C       incoming fluxes at the top of the atmosphere are computed
51    C
52    C   >>> ALLOW_BULKFORMULAE <<<
53    C       Allows the use of bulk formulae in order to estimate
54    C       turbulent and radiative fluxes at the ocean surface.
55    C
56    C   >>> EXF_READ_EVAP <<<
57    C       If defined, evaporation fields are read-in, rather than
58    C       computed from atmospheric state.
59    C
60    C   >>> ALLOW_RUNOFF <<<
61    C       If defined, river and glacier runoff can be read-in from files.
62    C
63    C   >>> ALLOW_RUNOFTEMP <<<
64    C       If defined, river and glacier runoff temperature
65    C       can be read-in from files.
66    C
67    C   >>> ATMOSPHERIC_LOADING <<<
68    C       If defined, atmospheric pressure can be read-in from files.
69    C   WARNING: this flag is set (define/undef) in CPP_OPTIONS.h
70    C            and cannot be changed here (in EXF_OPTIONS)
71    C
72    C   >>> EXF_SEAICE_FRACTION <<<
73    C       If defined, seaice fraction can be read-in from files (areaMaskFile)
74    C
75    C   >>> ALLOW_CLIMSST_RELAXATION <<<
76    C       Allow the relaxation to a monthly climatology of sea surface
77    C       temperature, e.g. the Reynolds climatology.
78    C
79    C   >>> ALLOW_CLIMSSS_RELAXATION <<<
80    C       Allow the relaxation to a monthly climatology of sea surface
81    C       salinity, e.g. the Levitus climatology.
82    C
83    C   >>> USE_EXF_INTERPOLATION <<<
84    C       Allows specification of arbitrary Cartesian input grids.
85    C
86    C   >>> EXF_CALC_ATMRHO
87    C       Calculate the local atm density as function of temp, humidity
88    C       and pressure
89    C
90    C   ====================================================================
91    C
92    C       The following CPP options:
93    C
94    C          ALLOW_ATM_WIND              (WIND)
95    C          ALLOW_ATM_TEMP              (TEMP)
96    C          ALLOW_DOWNWARD_RADIATION    (DOWN)
97    C          ALLOW_BULKFORMULAE          (BULK)
98    C          EXF_READ_EVAP               (EVAP)
99    C
100    C       permit the ocean-model forcing configurations listed in the
101    C       table below.  The first configuration is the default,
102    C       flux-forced, ocean model.  The next four are stand-alone
103    C       configurations that use pkg/exf, open-water bulk formulae to
104    C       compute the missing surface fluxes from atmospheric variables.
105    C       The last four configurations can be used in conjunction with
106    C       pkg/seaice to model ice-covered regions.  The forcing fields
107    C       in the rightmost column are defined in exf_fields.
108    C
109    C
110    C    WIND |TEMP |DOWN |BULK |EVAP |            actions
111    C    -----|-----|-----|-----|-----|-------------------------------------
112    C         |     |     |     |     |
113    C      -  |  -  |  -  |  -  |  -  | Read-in ustress, vstress, hflux,
114    C         |     |     |     |     | swflux, and sflux.
115    C         |     |     |     |     |
116    C     def | def | def | def |  -  | Read-in uwind, vwind, atemp, aqh,
117    C         |     |     |     |     | swdown, lwdown, precip, and runoff.
118    C         |     |     |     |     | Compute ustress, vstress, hflux,
119    C         |     |     |     |     | swflux, and sflux.
120    C         |     |     |     |     |
121    C     def | def |  -  | def |  -  | Read-in uwind, vwind, atemp, aqh,
122    C         |     |     |     |     | swflux, lwflux, precip, and runoff.
123    C         |     |     |     |     | Compute ustress, vstress, hflux,
124    C         |     |     |     |     | and sflux.
125    C         |     |     |     |     |
126    C     def |  -  |  -  | def |  -  | Read-in uwind, vwind, hflux,
127    C         |     |     |     |     | swflux, and sflux.
128    C         |     |     |     |     | Compute ustress and vstress.
129    C         |     |     |     |     |
130    C      -  | def |  -  | def |  -  | Read-in ustress, vstress, atemp,
131    C         |     |     |     |     | aqh, swflux, lwflux, precip, and
132    C         |     |     |     |     | runoff.  Compute hflux and sflux.
133    C         |     |     |     |     |
134    C     def | def |  -  |  -  | def | Read-in uwind, vwind, atemp, aqh,
135    C         |     |     |     |     | swflux, lwflux, precip, runoff,
136    C         |     |     |     |     | and evap.
137    C         |     |     |     |     |
138    C     def | def |  -  | def |  -  | Read-in uwind, vwind, atemp, aqh,
139    C         |     |     |     |     | swflux, lwflux, precip, and runoff.
140    C         |     |     |     |     | Compute open-water ustress, vstress,
141    C         |     |     |     |     | hflux, swflux, and evap.
142    C         |     |     |     |     |
143    C     def | def | def |  -  | def | Read-in uwind, vwind, atemp, aqh,
144    C         |     |     |     |     | swdown, lwdown, precip, runoff,
145    C         |     |     |     |     | and evap.
146    C         |     |     |     |     |
147    C     def | def | def | def |  -  | Read-in uwind, vwind, atemp, aqh,
148    C         |     |     |     |     | swdown, lwdown, precip, and runoff.
149    C         |     |     |     |     | Compute open-water ustress, vstress,
150    C         |     |     |     |     | hflux, swflux, and evap.
151    C
152    C   ====================================================================
153    
154  C   Bulk formulae related flags.  C   Bulk formulae related flags.
155  #define  ALLOW_ATM_TEMP  #define  ALLOW_ATM_TEMP
156  #define  ALLOW_ATM_WIND  #define  ALLOW_ATM_WIND
157  #define  ALLOW_DOWNWARD_RADIATION  #define  ALLOW_DOWNWARD_RADIATION
158  #define  ALLOW_RUNOFF  #define  ALLOW_RUNOFF
159  #if (defined (ALLOW_ATM_TEMP) || \  #undef   ALLOW_RUNOFTEMP
160       defined (ALLOW_ATM_WIND))  #if (defined (ALLOW_ATM_TEMP) || defined (ALLOW_ATM_WIND))
161  # define ALLOW_BULKFORMULAE  # define ALLOW_BULKFORMULAE
162  # undef ALLOW_BULK_LARGEYEAGER04  # undef  ALLOW_BULK_LARGEYEAGER04
163    #endif
164    #if (defined (ALLOW_ATM_TEMP) && defined (ATMOSPHERIC_LOADING))
165    # undef  EXF_CALC_ATMRHO
166    #endif
167    
168    C   Zenith Angle/Albedo related flags.
169    #ifdef ALLOW_DOWNWARD_RADIATION
170    # undef ALLOW_ZENITHANGLE
171    #endif
172    
173    C   Use ocean_emissivity*lwdown in lwFlux. This flag should be defined
174    C   unless to reproduce old results (obtained with inconsistent old code)
175    #ifdef ALLOW_DOWNWARD_RADIATION
176    # define EXF_LWDOWN_WITH_EMISSIVITY
177  #endif  #endif
178    
179  C   Relaxation to monthly climatologies.  C   Relaxation to monthly climatologies.
180  #define ALLOW_CLIMSST_RELAXATION  #define ALLOW_CLIMSST_RELAXATION
181  #define ALLOW_CLIMSSS_RELAXATION  #define ALLOW_CLIMSSS_RELAXATION
182    
183    C   Allows to read-in seaice fraction from files (areaMaskFile)
184    #undef EXF_SEAICE_FRACTION
185    
186  C   Use spatial interpolation to interpolate  C   Use spatial interpolation to interpolate
187  C   forcing files from input grid to model grid.  C   forcing files from input grid to model grid.
188  #undef USE_EXF_INTERPOLATION  #undef USE_EXF_INTERPOLATION
189  C   runoff is a special case for which one might want to bypass  C   for interpolated vector fields, rotate towards model-grid axis
190  C   interpolation from an input grid  C   using old rotation formulae (instead of grid-angles)
191  #ifdef USE_EXF_INTERPOLATION  #undef EXF_USE_OLD_VEC_ROTATION
192  # undef USE_NO_INTERP_RUNOFF  C   for interpolation around N & S pole, use the old formulation
193  #endif  C   (no pole symmetry, single vector-comp interp, reset to 0 zonal-comp @ N.pole)
194    #undef EXF_USE_OLD_INTERP_POLE
195    
196  #define EXF_INTERP_USE_DYNALLOC  #define EXF_INTERP_USE_DYNALLOC
197  #if ( defined (EXF_INTERP_USE_DYNALLOC) & defined (USING_THREADS) )  #if ( defined (EXF_INTERP_USE_DYNALLOC) && defined (USING_THREADS) )
198  # define EXF_IREAD_USE_GLOBAL_POINTER  # define EXF_IREAD_USE_GLOBAL_POINTER
199  #endif  #endif
200    
201  #endif /* ndef ALLOW_AUTODIFF_TAMC */  #endif /* ndef ECCO_CPPOPTIONS_H */
202  #endif /* ALLOW_EXF */  #endif /* ALLOW_EXF */
203  #endif /* EXF_OPTIONS_H */  #endif /* EXF_OPTIONS_H */

Legend:
Removed from v.1.14  
changed lines
  Added in v.1.30

  ViewVC Help
Powered by ViewVC 1.1.22