/[MITgcm]/MITgcm_contrib/arctic/cs_18km/code/EXF_OPTIONS.h
ViewVC logotype

Diff of /MITgcm_contrib/arctic/cs_18km/code/EXF_OPTIONS.h

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

revision 1.1 by atn, Tue Dec 24 00:08:45 2013 UTC revision 1.2 by dimitri, Mon Aug 10 18:54:21 2015 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 "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
31  C this package is currently configured by ECCO_CPPOPTIONS.h  
32  C which is directly included in CPP_OPTIONS.h  C   pkg/exf CPP options:
33    C   --------------------
34  #else /* ndef ALLOW_AUTODIFF_TAMC */  C
35    C   > ( EXF_VERBOSE ) < replaced with run-time, logical parameter "exf_verbose".
36  C CPP flags controlling which code is included in the files that  C
37  C will be compiled.  C   >>> ALLOW_ATM_WIND <<<
38  C  C       If defined, 10-m wind fields can be read-in from files.
39    C
40  c   pkg/exf CPP options:  C   >>> ALLOW_ATM_TEMP <<<
41  c   --------------------  C       If defined, atmospheric temperature and specific
42  c  C       humidity fields can be read-in from files.
43  c   >>> EXF_VERBOSE <<<  C
44  c       Do a bit more printout for the log file than usual.  C   >>> ALLOW_DOWNWARD_RADIATION <<<
45  c  C       If defined, downward long-wave and short-wave radiation
46  c   >>> ALLOW_ATM_WIND <<<  C       can be read-in form files or computed from lwflux and swflux.
47  c       If defined, 10-m wind fields can be read-in from files.  C
48  c                                          C   >>> ALLOW_ZENITHANGLE <<<
49  c   >>> ALLOW_ATM_TEMP <<<  C       If defined, ocean albedo varies with the zenith angle, and
50  c       If defined, atmospheric temperature and specific  C       incoming fluxes at the top of the atmosphere are computed
51  c       humidity fields can be read-in from files.  C
52  c                                          C   >>> ALLOW_BULKFORMULAE <<<
53  c   >>> ALLOW_DOWNWARD_RADIATION <<<  C       Allows the use of bulk formulae in order to estimate
54  c       If defined, downward long-wave and short-wave radiation  C       turbulent and radiative fluxes at the ocean surface.
55  c       can be read-in form files or computed from lwflux and swflux.  C
56  c  C   >>> EXF_READ_EVAP <<<
57  c   >>> ALLOW_BULKFORMULAE <<<  C       If defined, evaporation fields are read-in, rather than
58  c       Allows the use of bulk formulae in order to estimate  C       computed from atmospheric state.
59  c       turbulent and radiative fluxes at the ocean's surface.  C
60  c  C   >>> ALLOW_RUNOFF <<<
61  c   >>> EXF_READ_EVAP <<<  C       If defined, river and glacier runoff can be read-in from files.
62  c       If defined, evaporation fields are read-in, rather than  C
63  c       computed from atmospheric state.  C   >>> ALLOW_RUNOFTEMP <<<
64  c                                          C       If defined, river and glacier runoff temperature
65  c   >>> ALLOW_RUNOFF <<<  C       can be read-in from files.
66  c       If defined, river and glacier runoff can be read-in from files.  C
67  c  C   >>> ATMOSPHERIC_LOADING <<<
68  c   >>> ATMOSPHERIC_LOADING <<<  C       If defined, atmospheric pressure can be read-in from files.
69  c       If defined, atmospheric pressure can be read-in from files.  C   WARNING: this flag is set (define/undef) in CPP_OPTIONS.h
70  c   WARNING: this flag is set (define/undef) in CPP_OPTIONS.h  C            and cannot be changed here (in EXF_OPTIONS)
71  c            and cannot be changed here (in EXF_OPTIONS)  C
72  c  C   >>> EXF_SEAICE_FRACTION <<<
73  c   >>> ALLOW_CLIMSST_RELAXATION <<<  C       If defined, seaice fraction can be read-in from files (areaMaskFile)
74  c       Allow the relaxation to a monthly climatology of sea surface  C
75  c       temperature, e.g. the Reynolds climatology.  C   >>> ALLOW_CLIMSST_RELAXATION <<<
76  c  C       Allow the relaxation to a monthly climatology of sea surface
77  c   >>> ALLOW_CLIMSSS_RELAXATION <<<  C       temperature, e.g. the Reynolds climatology.
78  c       Allow the relaxation to a monthly climatology of sea surface  C
79  c       salinity, e.g. the Levitus climatology.  C   >>> ALLOW_CLIMSSS_RELAXATION <<<
80  c  C       Allow the relaxation to a monthly climatology of sea surface
81  c   >>> USE_EXF_INTERPOLATION <<<  C       salinity, e.g. the Levitus climatology.
82  c       Allows specification of arbitrary Cartesian input grids.  C
83  c  C   >>> USE_EXF_INTERPOLATION <<<
84  c   ====================================================================  C       Allows specification of arbitrary Cartesian input grids.
85  c  C
86  c       The following CPP options:  C   >>> EXF_CALC_ATMRHO
87  c  C       Calculate the local atm density as function of temp, humidity
88  c          ALLOW_ATM_WIND              (WIND)  C       and pressure
89  c          ALLOW_ATM_TEMP              (TEMP)  C
90  c          ALLOW_DOWNWARD_RADIATION    (DOWN)  C   ====================================================================
91  c          ALLOW_BULKFORMULAE          (BULK)  C
92  c          EXF_READ_EVAP               (EVAP)  C       The following CPP options:
93  c  C
94  c       permit the ocean-model forcing configurations listed in the  C          ALLOW_ATM_WIND              (WIND)
95  c       table below.  The first configuration is the default,  C          ALLOW_ATM_TEMP              (TEMP)
96  c       flux-forced, ocean model.  The next four are stand-alone  C          ALLOW_DOWNWARD_RADIATION    (DOWN)
97  c       configurations that use pkg/exf, open-water bulk formulae to  C          ALLOW_BULKFORMULAE          (BULK)
98  c       compute the missing surface fluxes from atmospheric variables.  C          EXF_READ_EVAP               (EVAP)
99  c       The last four configurations can be used in conjunction with  C
100  c       pkg/seaice to model ice-covered regions.  The forcing fields  C       permit the ocean-model forcing configurations listed in the
101  c       in the rightmost column are defined in exf_fields.  C       table below.  The first configuration is the default,
102  c  C       flux-forced, ocean model.  The next four are stand-alone
103  c  C       configurations that use pkg/exf, open-water bulk formulae to
104  c    WIND |TEMP |DOWN |BULK |EVAP |            actions  C       compute the missing surface fluxes from atmospheric variables.
105  c    -----|-----|-----|-----|-----|-------------------------------------  C       The last four configurations can be used in conjunction with
106  c         |     |     |     |     |  C       pkg/seaice to model ice-covered regions.  The forcing fields
107  c      -  |  -  |  -  |  -  |  -  | Read-in ustress, vstress, hflux,  C       in the rightmost column are defined in exf_fields.
108  c         |     |     |     |     | swflux, and sflux.  C
109  c         |     |     |     |     |  C
110  c     def | def | def | def |  -  | Read-in uwind, vwind, atemp, aqh,  C    WIND |TEMP |DOWN |BULK |EVAP |            actions
111  c         |     |     |     |     | swdown, lwdown, precip, and runoff.  C    -----|-----|-----|-----|-----|-------------------------------------
112  c         |     |     |     |     | Compute ustress, vstress, hflux,  C         |     |     |     |     |
113  c         |     |     |     |     | swflux, and sflux.  C      -  |  -  |  -  |  -  |  -  | Read-in ustress, vstress, hflux,
114  c         |     |     |     |     |  C         |     |     |     |     | swflux, and sflux.
115  c     def | def |  -  | def |  -  | Read-in uwind, vwind, atemp, aqh,  C         |     |     |     |     |
116  c         |     |     |     |     | swflux, lwflux, precip, and runoff.  C     def | def | def | def |  -  | Read-in uwind, vwind, atemp, aqh,
117  c         |     |     |     |     | Compute ustress, vstress, hflux,  C         |     |     |     |     | swdown, lwdown, precip, and runoff.
118  c         |     |     |     |     | and sflux.  C         |     |     |     |     | Compute ustress, vstress, hflux,
119  c         |     |     |     |     |  C         |     |     |     |     | swflux, and sflux.
120  c     def |  -  |  -  | def |  -  | Read-in uwind, vwind, hflux,  C         |     |     |     |     |
121  c         |     |     |     |     | swflux, and sflux.  C     def | def |  -  | def |  -  | Read-in uwind, vwind, atemp, aqh,
122  c         |     |     |     |     | Compute ustress and vstress.  C         |     |     |     |     | swflux, lwflux, precip, and runoff.
123  c         |     |     |     |     |  C         |     |     |     |     | Compute ustress, vstress, hflux,
124  c      -  | def |  -  | def |  -  | Read-in ustress, vstress, atemp,  C         |     |     |     |     | and sflux.
125  c         |     |     |     |     | aqh, swflux, lwflux, precip, and  C         |     |     |     |     |
126  c         |     |     |     |     | runoff.  Compute hflux and sflux.  C     def |  -  |  -  | def |  -  | Read-in uwind, vwind, hflux,
127  c         |     |     |     |     |  C         |     |     |     |     | swflux, and sflux.
128  c     def | def |  -  |  -  | def | Read-in uwind, vwind, atemp, aqh,  C         |     |     |     |     | Compute ustress and vstress.
129  c         |     |     |     |     | swflux, lwflux, precip, runoff,  C         |     |     |     |     |
130  c         |     |     |     |     | and evap.  C      -  | def |  -  | def |  -  | Read-in ustress, vstress, atemp,
131  c         |     |     |     |     |  C         |     |     |     |     | aqh, swflux, lwflux, precip, and
132  c     def | def |  -  | def |  -  | Read-in uwind, vwind, atemp, aqh,  C         |     |     |     |     | runoff.  Compute hflux and sflux.
133  c         |     |     |     |     | swflux, lwflux, precip, and runoff.  C         |     |     |     |     |
134  c         |     |     |     |     | Compute open-water ustress, vstress,  C     def | def |  -  |  -  | def | Read-in uwind, vwind, atemp, aqh,
135  c         |     |     |     |     | hflux, swflux, and evap.  C         |     |     |     |     | swflux, lwflux, precip, runoff,
136  c         |     |     |     |     |  C         |     |     |     |     | and evap.
137  c     def | def | def |  -  | def | Read-in uwind, vwind, atemp, aqh,  C         |     |     |     |     |
138  c         |     |     |     |     | swdown, lwdown, precip, runoff,  C     def | def |  -  | def |  -  | Read-in uwind, vwind, atemp, aqh,
139  c         |     |     |     |     | and evap.  C         |     |     |     |     | swflux, lwflux, precip, and runoff.
140  c         |     |     |     |     |  C         |     |     |     |     | Compute open-water ustress, vstress,
141  c     def | def | def | def |  -  | Read-in uwind, vwind, atemp, aqh,  C         |     |     |     |     | hflux, swflux, and evap.
142  c         |     |     |     |     | swdown, lwdown, precip, and runoff.  C         |     |     |     |     |
143  c         |     |     |     |     | Compute open-water ustress, vstress,  C     def | def | def |  -  | def | Read-in uwind, vwind, atemp, aqh,
144  c         |     |     |     |     | hflux, swflux, and evap.  C         |     |     |     |     | swdown, lwdown, precip, runoff,
145  c  C         |     |     |     |     | and evap.
146  c   ====================================================================  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    C# define EXF_LWDOWN_WITH_EMISSIVITY
177  #endif  #endif
178    
179  C   Relaxation to monthly climatologies.  C   Relaxation to monthly climatologies.
180  #undef ALLOW_CLIMSST_RELAXATION  #undef  ALLOW_CLIMSST_RELAXATION
181  #undef ALLOW_CLIMSSS_RELAXATION  #undef  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  #define USE_EXF_INTERPOLATION  #define USE_EXF_INTERPOLATION
189    C   for interpolated vector fields, rotate towards model-grid axis
190    C   using old rotation formulae (instead of grid-angles)
191    #undef EXF_USE_OLD_VEC_ROTATION
192    C   for interpolation around N & S pole, use the old formulation
193    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.1  
changed lines
  Added in v.1.2

  ViewVC Help
Powered by ViewVC 1.1.22