/[MITgcm]/MITgcm_contrib/MPMice/beaufort/code/EXF_OPTIONS.h
ViewVC logotype

Diff of /MITgcm_contrib/MPMice/beaufort/code/EXF_OPTIONS.h

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

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

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

  ViewVC Help
Powered by ViewVC 1.1.22