/[MITgcm]/manual/s_phys_pkgs/text/exf.tex
ViewVC logotype

Diff of /manual/s_phys_pkgs/text/exf.tex

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

revision 1.1 by heimbach, Thu Jul 14 21:04:52 2005 UTC revision 1.10 by heimbach, Tue Jan 15 21:37:14 2008 UTC
# Line 1  Line 1 
1  \section{EXF: The external forcing package  \subsection{EXF: The external forcing package
2  \label{sec:pkg:exf}}  \label{sec:pkg:exf}}
3  \begin{rawhtml}  \begin{rawhtml}
4  <!-- CMIREDIR:sectionexf: -->  <!-- CMIREDIR:sectionexf: -->
5  \end{rawhtml}  \end{rawhtml}
6    
7    Authors: Patrick Heimbach and Dimitris Menemenlis
8    
9  \subsection{Introduction  \subsubsection{Introduction
10  \label{sec:pkg:exf:intro}}  \label{sec:pkg:exf:intro}}
11    
12  The external forcing package, in conjunction with the  The external forcing package, in conjunction with the
# Line 31  output is listed in Section \ref{sec:pkg Line 32  output is listed in Section \ref{sec:pkg
32    
33  %----------------------------------------------------------------------  %----------------------------------------------------------------------
34    
35  \subsection{EXF configuration \& compiling  \subsubsection{EXF configuration, compiling \& running}
36    
37    \paragraph{Compile-time options
38  \label{sec:pkg:exf:config}}  \label{sec:pkg:exf:config}}
39    ~
40    
41  As with all MITgcm packages, EXF can be turned on or off at compile time  As with all MITgcm packages, EXF can be turned on or off at compile time
42  using the \texttt{packages.conf} file or the \texttt{genmake2}  %
43  \texttt{-enable=exf} or \texttt{-disable=exf} switches.  \begin{itemize}
44    %
45    \item
46    using the \texttt{packages.conf} file by adding \texttt{exf} to it,
47    %
48    \item
49    or using \texttt{genmake2} adding
50    \texttt{-enable=exf} or \texttt{-disable=exf} switches
51    %
52    \item
53    \textit{required packages and CPP options}: \\
54    EXF requires the calendar package \texttt{cal} to be enabled;
55    no additional CPP options are required.
56    %
57    \end{itemize}
58    (see Section \ref{sect:buildingCode}).
59    
60  Parts of the exf code can be enabled or disabled at compile time  Parts of the EXF code can be enabled or disabled at compile time
61  via CPP preprocessor flags. These options are set in either  via CPP preprocessor flags. These options are set in either
62  \texttt{EXF\_OPTIONS.h} or in \texttt{ECCO\_CPPOPTIONS.h}.  \texttt{EXF\_OPTIONS.h} or in \texttt{ECCO\_CPPOPTIONS.h}.
63  Table \ref{tab:pkg:exf:cpp} summarizes these options.  Table \ref{tab:pkg:exf:cpp} summarizes these options.
64    
65  \begin{table}[b!]  \begin{table}[b!]
66    \centering
67    \label{tab:pkg:exf:cpp}    \label{tab:pkg:exf:cpp}
68    {\footnotesize    {\footnotesize
69      \begin{tabular}{|l|l|}      \begin{tabular}{|l|l|}
70        \hline        \hline
71        \textbf{CPP option}  &  \textbf{Description}  \\        \textbf{CPP option}  &  \textbf{Description}  \\
72        \hline        \hline \hline
73          \texttt{EXF\_VERBOSE} &          \texttt{EXF\_VERBOSE} &
74            verbose mode (recommended only for testing) \\            verbose mode (recommended only for testing) \\
75          \texttt{ALLOW\_ATM\_TEMP} &          \texttt{ALLOW\_ATM\_TEMP} &
# Line 57  Table \ref{tab:pkg:exf:cpp} summarizes t Line 77  Table \ref{tab:pkg:exf:cpp} summarizes t
77          \texttt{ALLOW\_ATM\_WIND} &          \texttt{ALLOW\_ATM\_WIND} &
78            compute wind stress from wind speed input\\            compute wind stress from wind speed input\\
79          \texttt{ALLOW\_BULKFORMULAE} &          \texttt{ALLOW\_BULKFORMULAE} &
80            is used if either ALLOW\_ATM\_TEMP or ALLOW\_ATM\_WIND is enabled \\            is used if \texttt{ALLOW\_ATM\_TEMP} or
81              \texttt{ALLOW\_ATM\_WIND} is enabled \\
82          \texttt{EXF\_READ\_EVAP} & read evaporation instead of computing it \\          \texttt{EXF\_READ\_EVAP} & read evaporation instead of computing it \\
83          \texttt{ALLOW\_RUNOFF} & read time-constant river/glacier run-off field \\          \texttt{ALLOW\_RUNOFF} & read time-constant river/glacier run-off field \\
84          \texttt{ALLOW\_DOWNWARD\_RADIATION} & compute net from downward or downward from net radiation \\          \texttt{ALLOW\_DOWNWARD\_RADIATION} & compute net from downward or downward from net radiation \\
85          \texttt{USE\_EXF\_INTERPOLATION} & enable on-the-fly bilinear or bicubic interpolation of input fields \\          \texttt{USE\_EXF\_INTERPOLATION} & enable on-the-fly bilinear or bicubic interpolation of input fields \\
86        \hline        \hline
87          \texttt{ALLOW\_CLIMTEMP\_RELAXATION} &           \multicolumn{2}{|c|}{\textit{used in conjunction with relaxation to prescribed (climatological) fields}} \\
88            relaxation to 3-D potential temperature field \\           \hline
         \texttt{ALLOW\_CLIMSALT\_RELAXATION} &  
           relaxation to 3-D salinity field \\  
89          \texttt{ALLOW\_CLIMSST\_RELAXATION} &          \texttt{ALLOW\_CLIMSST\_RELAXATION} &
90            relaxation to 2-D SST relaxation \\            relaxation to 2-D SST climatology \\
91          \texttt{ALLOW\_CLIMSSS\_RELAXATION} &          \texttt{ALLOW\_CLIMSSS\_RELAXATION} &
92            relaxation to 2-D SSS relaxation  \\            relaxation to 2-D SSS climatology  \\
93        \hline        \hline
94          \texttt{SHORTWAVE\_HEATING} & in \texttt{CPP\_OPTIONS.h}: enable shortwave radiation \\           \multicolumn{2}{|c|}{\textit{these are set outside of EXF in} \texttt{CPP\_OPTIONS.h}} \\
95          \texttt{ATMOSPHERIC\_LOADING} &  in \texttt{CPP\_OPTIONS.h}: enable surface pressure forcing \\           \hline
96            \texttt{SHORTWAVE\_HEATING} & enable shortwave radiation \\
97            \texttt{ATMOSPHERIC\_LOADING} & enable surface pressure forcing \\
98        \hline        \hline
99      \end{tabular}      \end{tabular}
100    }    }
# Line 83  Table \ref{tab:pkg:exf:cpp} summarizes t Line 104  Table \ref{tab:pkg:exf:cpp} summarizes t
104    
105  %----------------------------------------------------------------------  %----------------------------------------------------------------------
106    
107  \subsection{EXF runtime parameters  \subsubsection{Run-time parameters
108  \label{sec:pkg:exf:runtime}}  \label{sec:pkg:exf:runtime}}
109    
110    Run-time parameters are set in files
111    \texttt{data.pkg}, \texttt{data.exf}, and
112    \texttt{data.exf\_clim} (for relaxation/climatological fields)
113    which are read in \texttt{exf\_readparms.F}.
114    Run-time parameters may be broken into 3 categories:
115    (i) switching on/off the package at runtime,
116    (ii) general flags and parameters, and
117    (iii) attributes for each forcing and climatological field.
118    
119    \paragraph{Enabling the package}
120    ~ \\
121    %
122    A package is usually switched on/off at runtime by setting
123    (e.g. for EXF) \texttt{useEXF = .TRUE.} in \texttt{data.pkg}.
124    For EXF this flag is omitted, i.e. EXF is always ON if it is compiled.
125    
126    \paragraph{General flags and parameters}
127    ~ \\
128    %
129    \begin{table}[h!]
130    \centering
131      \label{tab:pkg:exf:runtime_flags}
132      {\footnotesize
133        \begin{tabular}{|l|c|l|}
134          \hline
135          \textbf{Flag/parameter} & \textbf{default} &  \textbf{Description}  \\
136          \hline \hline
137            useExfCheckRange & \texttt{.TRUE.} &
138               check range of input fields and stop if out of range \\
139            useExfYearlyFields & \texttt{.FALSE.} &
140               append current year postfix of form \texttt{\_YYYY} on filename \\
141            twoDigitYear & \texttt{.FALSE.} &
142               instead of appending \texttt{\_YYYY} append  \texttt{YY} \\
143            repeatPeriod & \texttt{0.0} & $ > 0 $ :
144               cycle through all input fields at the same period (in seconds) \\
145            ~            & ~            & $ = 0 $ :
146               use period assigned to each field \\
147            exf\_offset\_atemp & \texttt{0.0} & set to 273.16 to convert from deg. Kelvin (assumed input) to Celsius \\
148            windstressmax & \texttt{2.0} &
149               max. allowed wind stress $N/m^2$ \\
150            exf\_albedo & \texttt{0.1} &
151              surface albedo used to compute downward vs. net radiative fluxes \\
152            climtempfreeze & \texttt{-1.9} &
153              ??? \\
154            ocean\_emissivity & \texttt{} &
155              longwave ocean-surface emissivity \\
156            ice\_emissivity & \texttt{} &
157              longwave seaice emissivity \\
158            snow\_emissivity & \texttt{} &
159              longwave  snow  emissivity \\
160            exf\_iceCd & \texttt{1.63E-3} &
161              drag coefficient over sea-ice \\
162            exf\_iceCe & \texttt{1.63E-3} &
163              evaporation transfer coeff. over sea-ice \\
164            exf\_iceCh & \texttt{1.63E-3} &
165              sensible heat transfer coeff. over sea-ice \\
166            exf\_scal\_BulkCdn & \texttt{1.} &
167              overall scaling of neutral drag coeff. \\
168            useStabilityFct\_overIce  & \texttt{.FALSE.} &
169              compute turbulent transfer coeff. over sea-ice \\
170            readStressOnAgrid & \texttt{.FALSE.} &
171              read wind-streess located on model-grid, A-grid point \\
172            readStressOnCgrid & \texttt{.FALSE.} &
173              read wind-streess located on model-grid, C-grid point \\
174            useRelativeWind & \texttt{.FALSE.} &
175              subtract [U/V]VEL or [U/VICE from U/V]WIND before \\
176            ~ & ~ &  computing [U/V]STRESS \\
177            zref & \texttt{10.} &
178              reference height \\
179            hu & \texttt{10.} &
180              height of mean wind \\
181            ht & \texttt{2.} &
182              height of mean temperature and rel. humidity \\
183            umin & \texttt{0.5} &
184              minimum absolute wind speed for computing Cd \\
185            atmrho & \texttt{1.2} &
186              mean atmospheric density [kg/m\^3] \\
187            atmcp & \texttt{1005.} &
188              mean atmospheric specific heat [J/kg/K] \\
189            cdrag\_[n] & \texttt{???} &
190              n = 1,2,3; parameters for drag coeff. function \\
191            cstanton\_[n] & \texttt{???} &
192              n = 1,2; parameters for Stanton number function \\
193            cdalton & \texttt{???} &
194              parameter for Dalton number function \\
195            flamb & \texttt{2500000.} &
196              latent heat of evaporation [J/kg] \\
197            flami & \texttt{334000.} &
198              latent heat of melting of pure ice [J/kg] \\
199            zolmin & \texttt{-100.} &
200              minimum stability parameter \\
201            cvapor\_fac & \texttt{640380.} &
202              ~ \\
203            cvapor\_exp & \texttt{5107.4} &
204              ~ \\
205            cvapor\_fac\_ice & \texttt{11637800.} &
206              ~ \\
207            cvapor\_fac\_ice & \texttt{5897.8} &
208              ~ \\
209            humid\_fac & \texttt{0.606} &
210              parameter for virtual temperature calculation \\
211            gamma\_blk & \texttt{0.010} &
212              adiabatic lapse rate \\
213            saltsat & \texttt{0.980} &
214              reduction of saturation vapor pressure over salt-water \\          
215            psim\_fac & \texttt{5.} &
216              ~ \\          
217            exf\_monFreq & \texttt{monitorFreq} &
218              output frequency [s] \\
219            exf\_iprec  & \texttt{32} &
220              precision of input fields (32-bit or 64-bit) \\
221            exf\_yftype & \texttt{'RL'} &
222              precision of arrays ('RL' vs. 'RS') \\
223          \hline
224        \end{tabular}
225      }
226      \caption{~}
227    \end{table}
228    
229    
230    \paragraph{Field attributes}
231    ~ \\
232    %
233    All EXF fields are listed in Section \ref{sec:pkg:exf:fields_units}.
234    Each field has a number of attributes which can be customized.
235    They are summarized in
236    Table \ref{tab:pkg:exf:runtime_attributes}.
237    To obtain an attribute for a specific field, e.g. \texttt{uwind}
238    prepend the field name to the listed attribute, e.g. for attribute
239    \texttt{period} this yields \texttt{uwindperiod}:
240    %
241    \begin{eqnarray*}
242      \begin{array}{cccccc}
243        ~ & \texttt{field} & \& & \texttt{attribute} & \longrightarrow & \texttt{parameter} \\
244        \text{e.g.} & \text{uwind} & \& & \text{period} & \longrightarrow & \text{uwindperiod} \\
245      \end{array}
246    \end{eqnarray*}
247    %
248    
249    \begin{table}[h!]
250    \centering
251      \label{tab:pkg:exf:runtime_attributes}
252      {\footnotesize
253        \begin{tabular}{|l|c|l|}
254          \hline
255          \textbf{attribute} &  \textbf{Default} &  \textbf{Description}  \\
256          \hline \hline
257             \textit{field}\texttt{file} & ' ' &
258               filename; if left empty no file will be read; \texttt{const} will be used instead \\
259             \textit{field}\texttt{const} & 0. &
260               constant that will be used if no file is read  \\
261             \textit{field}\texttt{startdate1} & 0. &
262               format: \texttt{YYYYMMDD}; start year (YYYY), month (MM), day (YY) \\
263               ~&~& of field to determine record number \\
264             \textit{field}\texttt{startdate2} & 0. &
265               format: \texttt{HHMMSS}; start hour (HH), minute (MM), second(SS) \\
266               ~&~& of field to determine record number\\
267             \textit{field}\texttt{period} & 0. &
268               interval in seconds between two records \\
269             \texttt{exf\_inscal\_}\textit{field}& ~ &
270               optional rescaling of input fields to comply with EXF units \\
271             \texttt{exf\_outscal\_}\textit{field}& ~ &
272               optional rescaling of EXF fields when mapped onto MITgcm fields \\
273             \hline
274             \multicolumn{3}{|c|}{\textit{used in conjunction with}
275                                  \texttt{EXF\_USE\_INTERPOLATION}} \\
276             \hline
277             \textit{field}\texttt{\_lon0} & $thetaMin+delX/2$  &
278               starting longitude of input \\
279             \textit{field}\texttt{\_lon\_inc} & $delX$ &
280               increment in longitude of input \\
281             \textit{field}\texttt{\_lat0} &  $phiMin+delY/2$ &
282               starting latitude of input \\
283             \textit{field}\texttt{\_lat\_inc} & $delY$ &
284               increment in latitude of input \\
285             \textit{field}\texttt{\_nlon} & $Nx$ &
286               number of grid points in longitude of input \\
287             \textit{field}\texttt{\_nlat} & $Ny$ &
288               number of grid points in longitude of input \\
289          \hline
290        \end{tabular}
291       }
292       \caption{\newline
293                Note one exception for the default of
294                \texttt{atempconst} = celsius2K = 273.16}
295    \end{table}
296    
297    \paragraph{Example configuration} ~ \\
298    %
299    The following block is taken from the \texttt{data.exf} file
300    of the veification experiment \texttt{global\_with\_exf/}.
301    It defines attributes for the heat flux variable \texttt{hflux}:
302    
303    \begin{verbatim}
304     hfluxfile       = 'ncep_qnet.bin',
305     hfluxstartdate1 = 19920101,
306     hfluxstartdate2 = 000000,
307     hfluxperiod     = 2592000.0,
308     hflux_lon0      = 2
309     hflux_lon_inc   = 4
310     hflux_lat0      = -78
311     hflux_lat_inc   = 39*4
312     hflux_nlon      = 90
313     hflux_nlat      = 40
314    \end{verbatim}
315    
316    EXF will read a file of name 'ncep\_qnet.bin'.
317    Its first record represents January 1st, 1991 at 00:00 UTC.
318    Next record is 2592000 seconds (or 30 days) later.
319    Interpolation on-the-fly is used (in the present case trivially
320    on the same grid, but included nevertheless for illustration),
321    and input field grid starting coordinates and increments are
322    supplied as well.
323    
324  %----------------------------------------------------------------------  %----------------------------------------------------------------------
325    
326  \subsection{EXF fields and units  \subsubsection{EXF bulk formulae
327    \label{sec:pkg:exf:bulk_formulae}}
328    
329    T.B.D. (cross-ref. to parameter list table)
330    
331    %----------------------------------------------------------------------
332    
333    \subsubsection{EXF input fields and units
334  \label{sec:pkg:exf:fields_units}}  \label{sec:pkg:exf:fields_units}}
335    
336  The following list is taken from the header file \texttt{exf\_fields.h}.  The following list is taken from the header file \texttt{exf\_fields.h}.
337    It comprises all EXF input fields.
338    
339    Output fields which EXF provides to the MITgcm are fields
340    \textbf{fu}, \textbf{fv}, \textbf{Qnet}, \textbf{Qsw}, \textbf{EmPmR},
341    and \textbf{pload}. They are defined in \texttt{FFIELDS.h}.
342    
343  {\footnotesize  {\footnotesize
344  \begin{verbatim}  \begin{verbatim}
345    
346    c----------------------------------------------------------------------
347    c               |
348    c     field     :: Description
349    c               |
350    c----------------------------------------------------------------------
351  c     ustress   :: Zonal surface wind stress in N/m^2  c     ustress   :: Zonal surface wind stress in N/m^2
352  c                  > 0 for increase in uVel, which is west to  c               |  > 0 for increase in uVel, which is west to
353  c                      east for cartesian and spherical polar grids  c               |      east for cartesian and spherical polar grids
354  c                  Typical range: -0.5 < ustress < 0.5  c               |  Typical range: -0.5 < ustress < 0.5
355  c                  Southwest C-grid U point  c               |  Southwest C-grid U point
356  c                  Input field  c               |  Input field
357  c  c----------------------------------------------------------------------
358  c     vstress   :: Meridional surface wind stress in N/m^2  c     vstress   :: Meridional surface wind stress in N/m^2
359  c                  > 0 for increase in vVel, which is south to  c               |  > 0 for increase in vVel, which is south to
360  c                      north for cartesian and spherical polar grids  c               |      north for cartesian and spherical polar grids
361  c                  Typical range: -0.5 < vstress < 0.5  c               |  Typical range: -0.5 < vstress < 0.5
362  c                  Southwest C-grid V point  c               |  Southwest C-grid V point
363  c                  Input field  c               |  Input field
364  c  c----------------------------------------------------------------------
365    c     hs        :: sensible heat flux into ocean in W/m^2
366    c               |  > 0 for increase in theta (ocean warming)
367    c----------------------------------------------------------------------
368    c     hl        :: latent   heat flux into ocean in W/m^2
369    c               |  > 0 for increase in theta (ocean warming)
370    c----------------------------------------------------------------------
371  c     hflux     :: Net upward surface heat flux in W/m^2  c     hflux     :: Net upward surface heat flux in W/m^2
372  c                  excluding shortwave (on input)  c               |  excluding shortwave (on input)
373  c                  hflux = latent + sensible + lwflux  c               |  hflux = latent + sensible + lwflux
374  c                  > 0 for decrease in theta (ocean cooling)  c               |  > 0 for decrease in theta (ocean cooling)
375  c                  Typical range: -250 < hflux < 600  c               |  Typical range: -250 < hflux < 600
376  c                  Southwest C-grid tracer point  c               |  Southwest C-grid tracer point
377  c                  Input field  c               |  Input field
378  c  c----------------------------------------------------------------------
379  c     sflux     :: Net upward freshwater flux in m/s  c     sflux     :: Net upward freshwater flux in m/s
380  c                  sflux = evap - precip - runoff  c               |  sflux = evap - precip - runoff
381  c                  > 0 for increase in salt (ocean salinity)  c               |  > 0 for increase in salt (ocean salinity)
382  c                  Typical range: -1e-7 < sflux < 1e-7  c               |  Typical range: -1e-7 < sflux < 1e-7
383  c                  Southwest C-grid tracer point  c               |  Southwest C-grid tracer point
384  c                  Input field  c               |  Input field
385  c  c----------------------------------------------------------------------
386  c     swflux    :: Net upward shortwave radiation in W/m^2  c     swflux    :: Net upward shortwave radiation in W/m^2
387  c                  swflux = - ( swdown - ice and snow absorption - reflected )  c               |  swflux = - ( swdown - ice and snow absorption - reflected )
388  c                  > 0 for decrease in theta (ocean cooling)  c               |  > 0 for decrease in theta (ocean cooling)
389  c                  Typical range: -350 < swflux < 0  c               |  Typical range: -350 < swflux < 0
390  c                  Southwest C-grid tracer point  c               |  Southwest C-grid tracer point
391  c                  Input field  c               |  Input field
392  c  c----------------------------------------------------------------------
393  c     uwind     :: Surface (10-m) zonal wind velocity in m/s  c     uwind     :: Surface (10-m) zonal wind velocity in m/s
394  c                  > 0 for increase in uVel, which is west to  c               |  > 0 for increase in uVel, which is west to
395  c                      east for cartesian and spherical polar grids  c               |      east for cartesian and spherical polar grids
396  c                  Typical range: -10 < uwind < 10  c               |  Typical range: -10 < uwind < 10
397  c                  Southwest C-grid U point  c               |  Southwest C-grid U point
398  c                  Input or input/output field  c               |  Input or input/output field
399  c  c----------------------------------------------------------------------
400  c     vwind     :: Surface (10-m) meridional wind velocity in m/s  c     vwind     :: Surface (10-m) meridional wind velocity in m/s
401  c                  > 0 for increase in vVel, which is south to  c               |  > 0 for increase in vVel, which is south to
402  c                      north for cartesian and spherical polar grids  c               |      north for cartesian and spherical polar grids
403  c                  Typical range: -10 < vwind < 10  c               |  Typical range: -10 < vwind < 10
404  c                  Southwest C-grid V point  c               |  Southwest C-grid V point
405  c                  Input or input/output field  c               |  Input or input/output field
406  c  c----------------------------------------------------------------------
407    c     wspeed    :: Surface (10-m) wind speed in m/s
408    c               |  >= 0 sqrt(u^2+v^2)
409    c               |  Typical range: 0 < wspeed < 10
410    c               |  Input or input/output field
411    c----------------------------------------------------------------------
412  c     atemp     :: Surface (2-m) air temperature in deg K  c     atemp     :: Surface (2-m) air temperature in deg K
413  c                  Typical range: 200 < atemp < 300  c               |  Typical range: 200 < atemp < 300
414  c                  Southwest C-grid tracer point  c               |  Southwest C-grid tracer point
415  c                  Input or input/output field  c               |  Input or input/output field
416  c  c----------------------------------------------------------------------
417  c     aqh       :: Surface (2m) specific humidity in kg/kg  c     aqh       :: Surface (2m) specific humidity in kg/kg
418  c                  Typical range: 0 < aqh < 0.02  c               |  Typical range: 0 < aqh < 0.02
419  c                  Southwest C-grid tracer point  c               |  Southwest C-grid tracer point
420  c                  Input or input/output field  c               |  Input or input/output field
421  c  c----------------------------------------------------------------------
422  c     lwflux    :: Net upward longwave radiation in W/m^2  c     lwflux    :: Net upward longwave radiation in W/m^2
423  c                  lwflux = - ( lwdown - ice and snow absorption - emitted )  c               |  lwflux = - ( lwdown - ice and snow absorption - emitted )
424  c                  > 0 for decrease in theta (ocean cooling)  c               |  > 0 for decrease in theta (ocean cooling)
425  c                  Typical range: -20 < lwflux < 170  c               |  Typical range: -20 < lwflux < 170
426  c                  Southwest C-grid tracer point  c               |  Southwest C-grid tracer point
427  c                  Input field  c               |  Input field
428  c  c----------------------------------------------------------------------
429  c     evap      :: Evaporation in m/s  c     evap      :: Evaporation in m/s
430  c                  > 0 for increase in salt (ocean salinity)  c               |  > 0 for increase in salt (ocean salinity)
431  c                  Typical range: 0 < evap < 2.5e-7  c               |  Typical range: 0 < evap < 2.5e-7
432  c                  Southwest C-grid tracer point  c               |  Southwest C-grid tracer point
433  c                  Input, input/output, or output field  c               |  Input, input/output, or output field
434  c  c----------------------------------------------------------------------
435  c     precip    :: Precipitation in m/s  c     precip    :: Precipitation in m/s
436  c                  > 0 for decrease in salt (ocean salinity)  c               |  > 0 for decrease in salt (ocean salinity)
437  c                  Typical range: 0 < precip < 5e-7  c               |  Typical range: 0 < precip < 5e-7
438  c                  Southwest C-grid tracer point  c               |  Southwest C-grid tracer point
439  c                  Input or input/output field  c               |  Input or input/output field
440  c  c----------------------------------------------------------------------
441    c    snowprecip :: snow in m/s
442    c               |  > 0 for decrease in salt (ocean salinity)
443    c               |  Typical range: 0 < precip < 5e-7
444    c               |  Input or input/output field
445    c----------------------------------------------------------------------
446  c     runoff    :: River and glacier runoff in m/s  c     runoff    :: River and glacier runoff in m/s
447  c                  > 0 for decrease in salt (ocean salinity)  c               |  > 0 for decrease in salt (ocean salinity)
448  c                  Typical range: 0 < runoff < ????  c               |  Typical range: 0 < runoff < ????
449  c                  Southwest C-grid tracer point  c               |  Southwest C-grid tracer point
450  c                  Input or input/output field  c               |  Input or input/output field
451  c                  !!! WATCH OUT: Default exf_inscal_runoff !!!  c               |  !!! WATCH OUT: Default exf_inscal_runoff !!!
452  c                  !!! in exf_readparms.F is not 1.0        !!!  c               |  !!! in exf_readparms.F is not 1.0        !!!
453  c  c----------------------------------------------------------------------
454  c     swdown    :: Downward shortwave radiation in W/m^2  c     swdown    :: Downward shortwave radiation in W/m^2
455  c                  > 0 for increase in theta (ocean warming)  c               |  > 0 for increase in theta (ocean warming)
456  c                  Typical range: 0 < swdown < 450  c               |  Typical range: 0 < swdown < 450
457  c                  Southwest C-grid tracer point  c               |  Southwest C-grid tracer point
458  c                  Input/output field  c               |  Input/output field
459  c  c----------------------------------------------------------------------
460  c     lwdown    :: Downward longwave radiation in W/m^2  c     lwdown    :: Downward longwave radiation in W/m^2
461  c                  > 0 for increase in theta (ocean warming)  c               |  > 0 for increase in theta (ocean warming)
462  c                  Typical range: 50 < lwdown < 450  c               |  Typical range: 50 < lwdown < 450
463  c                  Southwest C-grid tracer point  c               |  Southwest C-grid tracer point
464  c                  Input/output field  c               |  Input/output field
465  c  c----------------------------------------------------------------------
466  c     apressure :: Atmospheric pressure field in N/m^2  c     apressure :: Atmospheric pressure field in N/m^2
467  c                  > 0 for ????  c               |  > 0 for ????
468  c                  Typical range: ???? < apressure < ????  c               |  Typical range: ???? < apressure < ????
469  c                  Southwest C-grid tracer point  c               |  Southwest C-grid tracer point
470  c                  Input field  c               |  Input field
471  C  c----------------------------------------------------------------------
472  C  
 c     NOTES:  
 c     ======  
 c  
 c     Input and output units and sign conventions can be customized  
 c     using variables exf_inscal_* and exf_outscal_*, which are set  
 c     by exf_readparms.F  
 c  
 c     Output fields fu, fv, Qnet, Qsw, and EmPmR are  
 c     defined in FFIELDS.h  
 c  
 c     #ifndef SHORTWAVE_HEATING, hflux includes shortwave,  
 c     that is, hflux = latent + sensible + lwflux +swflux  
 c  
 c     If (EXFwindOnBgrid .EQ. .TRUE.), uwind and vwind are  
 c     defined on northeast B-grid U and V points, respectively.  
 c  
 c     Arrays *0 and *1 below are used for temporal interpolation.  
473  \end{verbatim}  \end{verbatim}
474  }  }
475    
476  %----------------------------------------------------------------------  %----------------------------------------------------------------------
477    
478  \subsection{Key subroutines  \subsubsection{Key subroutines
479  \label{sec:pkg:exf:subroutines}}  \label{sec:pkg:exf:subroutines}}
480    
481    Top-level routine: \texttt{exf\_getforcing.F}
482    
483    {\footnotesize
484    \begin{verbatim}
485    
486    C     !CALLING SEQUENCE:
487    c ...
488    c  exf_getforcing (TOP LEVEL ROUTINE)
489    c  |
490    c  |-- exf_getclim (get climatological fields used e.g. for relax.)
491    c  |   |--- exf_set_climsst  (relax. to 2-D SST field)
492    c  |   |--- exf_set_climsss  (relax. to 2-D SSS field)
493    c  |   o
494    c  |
495    c  |-- exf_getffields <- this one does almost everything
496    c  |   |   1. reads in fields, either flux or atmos. state,
497    c  |   |      depending on CPP options (for each variable two fields
498    c  |   |      consecutive in time are read in and interpolated onto
499    c  |   |      current time step).
500    c  |   |   2. If forcing is atmos. state and control is atmos. state,
501    c  |   |      then the control variable anomalies are read here via ctrl_get_gen
502    c  |   |      (atemp, aqh, precip, swflux, swdown, uwind, vwind).
503    c  |   |      If forcing and control are fluxes, then
504    c  |   |      controls are added later.
505    c  |   o
506    c  |
507    c  |-- exf_radiation
508    c  |   |    Compute net or downwelling radiative fluxes via
509    c  |   |    Stefan-Boltzmann law in case only one is known.
510    c  |   o
511    c  |-- exf_wind
512    c  |   |   Computes wind speed and stresses, if required.
513    c  |   o
514    c  |
515    c  |-- exf_bulkformulae
516    c  |   |   Compute air-sea buoyancy fluxes from
517    c  |   |   atmospheric state following Large and Pond, JPO, 1981/82
518    c  |   o
519    c  |
520    c  |-- < hflux is sum of sensible, latent, longwave rad. >
521    c  |-- < sflux is sum of evap. minus precip. minus runoff  >
522    c  |
523    c  |-- exf_getsurfacefluxes
524    c  |   If forcing and control is flux, then the
525    c  |   control vector anomalies are read here via ctrl_get_gen
526    c  |   (hflux, sflux, ustress, vstress)
527    c  |
528    c  |-- < update tile edges here >
529    c  |
530    c  |-- exf_check_range
531    c  |   |   Check whether read fields are within assumed range
532    c  |   |   (may capture mismatches in units)
533    c  |   o
534    c  |
535    c  |-- < add shortwave to hflux for diagnostics >
536    c  |
537    c  |-- exf_diagnostics_fill
538    c  |   |   Do EXF-related diagnostics output here.
539    c  |   o
540    c  |
541    c  |-- exf_mapfields
542    c  |   |   Forcing fields from exf package are mapped onto
543    c  |   |   mitgcm forcing arrays.
544    c  |   |   Mapping enables a runtime rescaling of fields
545    c  |   o
546    C  o
547    \end{verbatim}
548    }
549    
550    Radiation calculation: \texttt{exf\_radiation.F}
551    
552    Wind speed and stress calculation: \texttt{exf\_wind.F}
553    
554    Bulk formula: \texttt{exf\_bulkformulae.F}
555    
556    Generic I/O: \texttt{exf\_set\_gen.F}
557    
558    Interpolation: \texttt{exf\_interp.F}
559    
560    Header routines
561    
562  %----------------------------------------------------------------------  %----------------------------------------------------------------------
563    
564  \subsection{EXF diagnostics  \subsubsection{EXF diagnostics
565  \label{sec:pkg:exf:diagnostics}}  \label{sec:pkg:exf:diagnostics}}
566    
567  Diagnostics output is available via the diagnostics package  Diagnostics output is available via the diagnostics package
# Line 239  Diagnostics output is available via the Line 569  Diagnostics output is available via the
569  Available output fields are summarized in  Available output fields are summarized in
570  Table \ref{tab:pkg:exf:diagnostics}.  Table \ref{tab:pkg:exf:diagnostics}.
571    
572  \begin{table}  \begin{table}[h!]
573    \centering
574  \label{tab:pkg:exf:diagnostics}  \label{tab:pkg:exf:diagnostics}
 \caption{~}  
575  {\footnotesize  {\footnotesize
576  \begin{verbatim}  \begin{verbatim}
577  ------------------------------------------------------  ------------------------------------------------------
578   <-Name->|Levs|grid|<--  Units   -->|<- Tile (max=80c)   <-Name->|Levs|grid|<--  Units   -->|<- Tile (max=80c)
579  ------------------------------------------------------  ------------------------------------------------------
580   EXFlwdn |  1 | SM |W/m^2           |Downward longwave radiation, >0 increases theta   EXFhs   |  1 | SM | W/m^2          | Sensible heat flux into ocean, >0 increases theta
581   EXFswdn |  1 | SM |W/m^2           |Downward shortwave radiation, >0 increases theta   EXFhl   |  1 | SM | W/m^2          | Latent heat flux into ocean, >0 increases theta
582   EXFqnet |  1 | SM |W/m^2           |Net upward heat flux (turb+rad), >0 decreases theta   EXFlwnet|  1 | SM | W/m^2          | Net upward longwave radiation, >0 decreases theta
583   EXFtaux |  1 | SU |N/m^2           |zonal surface wind stress, >0 increases uVel   EXFswnet|  1 | SM | W/m^2          | Net upward shortwave radiation, >0 decreases theta
584   EXFtauy |  1 | SV |N/m^2           |meridional surface wind stress, >0 increases vVel   EXFlwdn |  1 | SM | W/m^2          | Downward longwave radiation, >0 increases theta
585   EXFuwind|  1 | SM |m/s             |zonal 10-m wind speed, >0 increases uVel   EXFswdn |  1 | SM | W/m^2          | Downward shortwave radiation, >0 increases theta
586   EXFvwind|  1 | SM |m/s             |meridional 10-m wind speed, >0 increases uVel   EXFqnet |  1 | SM | W/m^2          | Net upward heat flux (turb+rad), >0 decreases theta
587   EXFatemp|  1 | SM |degK            |surface (2-m) air temperature   EXFtaux |  1 | SU | N/m^2          | zonal surface wind stress, >0 increases uVel
588   EXFaqh  |  1 | SM |kg/kg           |surface (2-m) specific humidity   EXFtauy |  1 | SV | N/m^2          | meridional surface wind stress, >0 increases vVel
589   EXFevap |  1 | SM |m/s             |evaporation, > 0 increases salinity   EXFuwind|  1 | SM | m/s            | zonal 10-m wind speed, >0 increases uVel
590   EXFpreci|  1 | SM |m/s             |evaporation, > 0 decreases salinity   EXFvwind|  1 | SM | m/s            | meridional 10-m wind speed, >0 increases uVel
591   EXFempmr|  1 | SM |m/s             |net upward freshwater flux, > 0 increases salinity   EXFwspee|  1 | SM | m/s            | 10-m wind speed modulus ( >= 0 )
592   EXFpress|  1 | SM |N/m^2           |atmospheric pressure field   EXFatemp|  1 | SM | degK           | surface (2-m) air temperature
593     EXFaqh  |  1 | SM | kg/kg          | surface (2-m) specific humidity
594     EXFevap |  1 | SM | m/s            | evaporation, > 0 increases salinity
595     EXFpreci|  1 | SM | m/s            | evaporation, > 0 decreases salinity
596     EXFsnow |  1 | SM | m/s            | snow precipitation, > 0 decreases salinity
597     EXFempmr|  1 | SM | m/s            | net upward freshwater flux, > 0 increases salinity
598     EXFpress|  1 | SM | N/m^2          | atmospheric pressure field
599  \end{verbatim}  \end{verbatim}
600  }  }
601    \caption{~}
602  \end{table}  \end{table}
603    
604  %----------------------------------------------------------------------  %----------------------------------------------------------------------
605    
606  \subsection{Reference experiments}  \subsubsection{Experiments and tutorials that use exf}
607    \label{sec:pkg:exf:experiments}
608    
609    \begin{itemize}
610    \item{Global Ocean experiment, in global\_with\_exf verification directory }
611    \item{Labrador Sea experiment, in lab\_sea verification directory }
612    \end{itemize}
613    
614  %----------------------------------------------------------------------  %----------------------------------------------------------------------
615    
616  \subsection{References}  \subsubsection{References}

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.10

  ViewVC Help
Powered by ViewVC 1.1.22