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

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

  ViewVC Help
Powered by ViewVC 1.1.22