/[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.9 by molod, Wed Jun 28 15:35:07 2006 UTC revision 1.16 by jmc, Fri Dec 9 21:41:30 2016 UTC
# Line 22  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}.
29  Input fields, units and sign conventions are summarized in  Input fields, units and sign conventions are summarized in
30  Section \ref{sec:pkg:exf:fields_units}, and available diagnostics  Section \ref{sec:pkg:exf:fields_units}, and available diagnostics
31  output is listed in Section \ref{sec:pkg:exf:fields_diagnostics}.  output is listed in Section \ref{sec:pkg:exf:diagnostics}.
32    
33  %----------------------------------------------------------------------  %----------------------------------------------------------------------
34    
# Line 55  EXF requires the calendar package \textt Line 55  EXF requires the calendar package \textt
55  no additional CPP options are required.  no additional CPP options are required.
56  %  %
57  \end{itemize}  \end{itemize}
58  (see Section \ref{sect:buildingCode}).  (see Section \ref{sec: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
# Line 63  via CPP preprocessor flags. These option Line 63  via CPP preprocessor flags. These option
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    \centering
   \label{tab:pkg:exf:cpp}  
67    {\footnotesize    {\footnotesize
68      \begin{tabular}{|l|l|}      \begin{tabular}{|l|l|}
69        \hline        \hline
70        \textbf{CPP option}  &  \textbf{Description}  \\        \textbf{CPP option}  &  \textbf{Description}  \\
71        \hline \hline        \hline \hline
72          \texttt{EXF\_VERBOSE} &          \texttt{EXF\_VERBOSE} &
73            verbose mode (recommended only for testing) \\            verbose mode (recommended only for testing) \\
74          \texttt{ALLOW\_ATM\_TEMP} &          \texttt{ALLOW\_ATM\_TEMP} &
75            compute heat/freshwater fluxes from atmos. state input \\            compute heat/freshwater fluxes from atmos. state input \\
76          \texttt{ALLOW\_ATM\_WIND} &          \texttt{ALLOW\_ATM\_WIND} &
77            compute wind stress from wind speed input\\            compute wind stress from wind speed input\\
78          \texttt{ALLOW\_BULKFORMULAE} &          \texttt{ALLOW\_BULKFORMULAE} &
79            is used if \texttt{ALLOW\_ATM\_TEMP} or            is used if \texttt{ALLOW\_ATM\_TEMP} or
80            \texttt{ALLOW\_ATM\_WIND} is enabled \\            \texttt{ALLOW\_ATM\_WIND} is enabled \\
81          \texttt{EXF\_READ\_EVAP} & read evaporation instead of computing it \\          \texttt{EXF\_READ\_EVAP} & read evaporation instead of computing it \\
82          \texttt{ALLOW\_RUNOFF} & read time-constant river/glacier run-off field \\          \texttt{ALLOW\_RUNOFF} & read time-constant river/glacier run-off field \\
# Line 99  Table \ref{tab:pkg:exf:cpp} summarizes t Line 98  Table \ref{tab:pkg:exf:cpp} summarizes t
98      \end{tabular}      \end{tabular}
99    }    }
100    \caption{~}    \caption{~}
101      \label{tab:pkg:exf:cpp}
102  \end{table}  \end{table}
103    
   
104  %----------------------------------------------------------------------  %----------------------------------------------------------------------
105    
106  \subsubsection{Run-time parameters  \subsubsection{Run-time parameters
107  \label{sec:pkg:exf:runtime}}  \label{sec:pkg:exf:runtime}}
108    
109  Run-time parameters are set in files  Run-time parameters are set in files
110  \texttt{data.pkg}, \texttt{data.exf}, and  \texttt{data.pkg} and \texttt{data.exf}
111  \texttt{data.exf\_clim} (for relaxation/climatological fields)  %\texttt{data.exf\_clim} (for relaxation/climatological fields)
112  which are read in \texttt{exf\_readparms.F}.  which is read in \texttt{exf\_readparms.F}.
113  Run-time parameters may be broken into 3 categories:  Run-time parameters may be broken into 3 categories:
114  (i) switching on/off the package at runtime,  (i) switching on/off the package at runtime,
115  (ii) general flags and parameters, and  (ii) general flags and parameters, and
# Line 119  Run-time parameters may be broken into 3 Line 118  Run-time parameters may be broken into 3
118  \paragraph{Enabling the package}  \paragraph{Enabling the package}
119  ~ \\  ~ \\
120  %  %
121  A package is usually switched on/off at runtime by setting  A package is switched on/off at runtime by setting
122  (e.g. for EXF) \texttt{useEXF = .TRUE.} in \texttt{data.pkg}.  (e.g. for EXF) \texttt{useEXF = .TRUE.} in \texttt{data.pkg}.
 For EXF this flag is omitted, i.e. EXF is always ON if it is compiled.  
123    
124  \paragraph{General flags and parameters}  \paragraph{General flags and parameters}
125  ~ \\  ~ \\
126  %  %
127  \begin{table}[h!]  \begin{table}[!ht]
128  \centering    \centering
   \label{tab:pkg:exf:runtime_flags}  
129    {\footnotesize    {\footnotesize
130      \begin{tabular}{|l|c|l|}      \begin{tabular}{|l|c|l|}
131        \hline        \hline
132        \textbf{Flag/parameter} & \textbf{default} &  \textbf{Description}  \\        \textbf{Flag/parameter} & \textbf{default} &  \textbf{Description}  \\
133        \hline \hline        \hline \hline
134          useExfCheckRange & \texttt{.TRUE.} &          useExfCheckRange & \texttt{.TRUE.} &
135             check range of input fields and stop if out of range \\             check range of input fields and stop if out of range \\
136          useExfYearlyFields & \texttt{.FALSE.} &          useExfYearlyFields & \texttt{.FALSE.} &
137             append current year postfix of form \texttt{\_YYYY} on filename \\             append current year postfix of form \texttt{\_YYYY} on filename \\
138          twoDigitYear & \texttt{.FALSE.} &          twoDigitYear & \texttt{.FALSE.} &
139             instead of appending \texttt{\_YYYY} append  \texttt{YY} \\             instead of appending \texttt{\_YYYY} append  \texttt{YY} \\
140          repeatPeriod & \texttt{0.0} & $ > 0 $ :          repeatPeriod & \texttt{0.0} & $ > 0 $ :
141             cycle through all input fields at the same period (in seconds) \\             cycle through all input fields at the same period (in seconds) \\
142          ~            & ~            & $ = 0 $ :          ~            & ~            & $ = 0 $ :
143             use period assigned to each field \\             use period assigned to each field \\
144          exf\_offset\_atemp & \texttt{0.0} & set to 273.16 to convert from deg. Kelvin (assumed input) to Celsius \\          exf\_offset\_atemp & \texttt{0.0} & set to 273.16 to convert from deg. Kelvin (assumed input) to Celsius \\
145          windstressmax & \texttt{2.0} &          windstressmax & \texttt{2.0} &
146             max. allowed wind stress $N/m^2$ \\             max. allowed wind stress $N/m^2$ \\
147          exf\_albedo & \texttt{0.1} &          exf\_albedo & \texttt{0.1} &
148            surface albedo used to compute downward vs. net radiative fluxes \\            surface albedo used to compute downward vs. net radiative fluxes \\
149          exf\_iprec  & \texttt{32} &          climtempfreeze & \texttt{-1.9} &
150              ??? \\
151            ocean\_emissivity & \texttt{} &
152              longwave ocean-surface emissivity \\
153            ice\_emissivity & \texttt{} &
154              longwave seaice emissivity \\
155            snow\_emissivity & \texttt{} &
156              longwave  snow  emissivity \\
157            exf\_iceCd & \texttt{1.63E-3} &
158              drag coefficient over sea-ice \\
159            exf\_iceCe & \texttt{1.63E-3} &
160              evaporation transfer coeff. over sea-ice \\
161            exf\_iceCh & \texttt{1.63E-3} &
162              sensible heat transfer coeff. over sea-ice \\
163            exf\_scal\_BulkCdn & \texttt{1.} &
164              overall scaling of neutral drag coeff. \\
165            useStabilityFct\_overIce  & \texttt{.FALSE.} &
166              compute turbulent transfer coeff. over sea-ice \\
167            readStressOnAgrid & \texttt{.FALSE.} &
168              read wind-streess located on model-grid, A-grid point \\
169            readStressOnCgrid & \texttt{.FALSE.} &
170              read wind-streess located on model-grid, C-grid point \\
171            useRelativeWind & \texttt{.FALSE.} &
172              subtract [U/V]VEL or [U/VICE from U/V]WIND before \\
173            ~ & ~ &  computing [U/V]STRESS \\
174            zref & \texttt{10.} &
175              reference height \\
176            hu & \texttt{10.} &
177              height of mean wind \\
178            ht & \texttt{2.} &
179              height of mean temperature and rel. humidity \\
180            umin & \texttt{0.5} &
181              minimum absolute wind speed for computing Cd \\
182            atmrho & \texttt{1.2} &
183              mean atmospheric density [kg/m\^3] \\
184            atmcp & \texttt{1005.} &
185              mean atmospheric specific heat [J/kg/K] \\
186            cdrag\_[n] & \texttt{???} &
187              n = 1,2,3; parameters for drag coeff. function \\
188            cstanton\_[n] & \texttt{???} &
189              n = 1,2; parameters for Stanton number function \\
190            cdalton & \texttt{???} &
191              parameter for Dalton number function \\
192            flamb & \texttt{2500000.} &
193              latent heat of evaporation [J/kg] \\
194            flami & \texttt{334000.} &
195              latent heat of melting of pure ice [J/kg] \\
196            zolmin & \texttt{-100.} &
197              minimum stability parameter \\
198            cvapor\_fac & \texttt{640380.} &
199              ~ \\
200            cvapor\_exp & \texttt{5107.4} &
201              ~ \\
202            cvapor\_fac\_ice & \texttt{11637800.} &
203              ~ \\
204            cvapor\_fac\_ice & \texttt{5897.8} &
205              ~ \\
206            humid\_fac & \texttt{0.606} &
207              parameter for virtual temperature calculation \\
208            gamma\_blk & \texttt{0.010} &
209              adiabatic lapse rate \\
210            saltsat & \texttt{0.980} &
211              reduction of saturation vapor pressure over salt-water \\
212            psim\_fac & \texttt{5.} &
213              ~ \\
214            exf\_monFreq & \texttt{monitorFreq} &
215              output frequency [s] \\
216            exf\_iprec  & \texttt{32} &
217            precision of input fields (32-bit or 64-bit) \\            precision of input fields (32-bit or 64-bit) \\
218          exf\_yftype & \texttt{'RL'} &          exf\_yftype & \texttt{'RL'} &
219            precision of arrays ('RL' vs. 'RS') \\            precision of arrays ('RL' vs. 'RS') \\
220        \hline        \hline
221      \end{tabular}      \end{tabular}
222    }    }
223    \caption{~}    \caption{~}
224      \label{tab:pkg:exf:runtime_flags}
225  \end{table}  \end{table}
226    
227    \paragraph{Field attributes}
 \paragraph{Field attributes}  
228  ~ \\  ~ \\
229  %  %
230  All EXF fields are listed in Section \ref{sec:pkg:exf:fields_units}.  All EXF fields are listed in Section \ref{sec:pkg:exf:fields_units}.
# Line 179  prepend the field name to the listed att Line 243  prepend the field name to the listed att
243  \end{eqnarray*}  \end{eqnarray*}
244  %  %
245    
246  \begin{table}[h!]  \begin{table}[!ht]
247  \centering    \centering
   \label{tab:pkg:exf:runtime_attributes}  
248    {\footnotesize    {\footnotesize
249      \begin{tabular}{|l|c|l|}      \begin{tabular}{|l|c|l|}
250        \hline        \hline
251        \textbf{attribute} &  \textbf{Default} &  \textbf{Description}  \\        \textbf{attribute} &  \textbf{Default} &  \textbf{Description}  \\
252        \hline \hline        \hline \hline
253           \textit{field}\texttt{file} & ' ' &           \textit{field}\texttt{file} & ' ' &
254             filename; if left empty no file will be read; \texttt{const} will be used instead \\             filename; if left empty no file will be read; \texttt{const} will be used instead \\
255           \textit{field}\texttt{const} & 0. &           \textit{field}\texttt{const} & 0. &
256             constant that will be used if no file is read  \\             constant that will be used if no file is read  \\
257           \textit{field}\texttt{startdate1} & 0. &           \textit{field}\texttt{startdate1} & 0. &
258             format: \texttt{YYYYMMDD}; start year (YYYY), month (MM), day (YY) \\             format: \texttt{YYYYMMDD}; start year (YYYY), month (MM), day (YY) \\
259             ~&~& of field to determine record number \\             ~&~& of field to determine record number \\
260           \textit{field}\texttt{startdate2} & 0. &           \textit{field}\texttt{startdate2} & 0. &
# Line 199  prepend the field name to the listed att Line 262  prepend the field name to the listed att
262             ~&~& of field to determine record number\\             ~&~& of field to determine record number\\
263           \textit{field}\texttt{period} & 0. &           \textit{field}\texttt{period} & 0. &
264             interval in seconds between two records \\             interval in seconds between two records \\
265           \texttt{exf\_inscal\_}\textit{field}& ~ &           \texttt{exf\_inscal\_}\textit{field}& ~ &
266             optional rescaling of input fields to comply with EXF units \\             optional rescaling of input fields to comply with EXF units \\
267           \texttt{exf\_outscal\_}\textit{field}& ~ &           \texttt{exf\_outscal\_}\textit{field}& ~ &
268             optional rescaling of EXF fields when mapped onto MITgcm fields \\             optional rescaling of EXF fields when mapped onto MITgcm fields \\
269           \hline           \hline
270           \multicolumn{3}{|c|}{\textit{used in conjunction with}           \multicolumn{3}{|c|}{\textit{used in conjunction with}
271                                \texttt{EXF\_USE\_INTERPOLATION}} \\                                \texttt{EXF\_USE\_INTERPOLATION}} \\
272           \hline           \hline
273           \textit{field}\texttt{\_lon0} & $thetaMin+delX/2$  &           \textit{field}\texttt{\_lon0} & $xgOrigin+delX/2$  &
274             starting longitude of input \\             starting longitude of input \\
275           \textit{field}\texttt{\_lon\_inc} & $delX$ &           \textit{field}\texttt{\_lon\_inc} & $delX$ &
276             increment in longitude of input \\             increment in longitude of input \\
277           \textit{field}\texttt{\_lat0} &  $phiMin+delY/2$ &           \textit{field}\texttt{\_lat0} &  $ygOrigin+delY/2$ &
278             starting latitude of input \\             starting latitude of input \\
279           \textit{field}\texttt{\_lat\_inc} & $delY$ &           \textit{field}\texttt{\_lat\_inc} & $delY$ &
280             increment in latitude of input \\             increment in latitude of input \\
# Line 222  prepend the field name to the listed att Line 285  prepend the field name to the listed att
285        \hline        \hline
286      \end{tabular}      \end{tabular}
287     }     }
288     \caption{\newline    \caption{\newline
289              Note one exception for the default of             Note one exception for the default of
290              \texttt{atempconst} = celsius2K = 273.16}             \texttt{atempconst} = celsius2K = 273.16}
291      \label{tab:pkg:exf:runtime_attributes}
292  \end{table}  \end{table}
293    
294  \paragraph{Example configuration} ~ \\  \paragraph{Example configuration} ~ \\
295  %  %
296  The following block is taken from the \texttt{data.exf} file  The following block is taken from the \texttt{data.exf} file
297  of the veification experiment \texttt{global\_with\_exf/}.  of the verification experiment \texttt{global\_with\_exf/}.
298  It defines attributes for the heat flux variable \texttt{hflux}:  It defines attributes for the heat flux variable \texttt{hflux}:
299    
300  \begin{verbatim}  \begin{verbatim}
# Line 247  It defines attributes for the heat flux Line 311  It defines attributes for the heat flux
311  \end{verbatim}  \end{verbatim}
312    
313  EXF will read a file of name 'ncep\_qnet.bin'.  EXF will read a file of name 'ncep\_qnet.bin'.
314  Its first record represents January 1st, 1991 at 00:00 UTC.  Its first record represents January 1st, 1992 at 00:00 UTC.
315  Next record is 2592000 seconds (or 30 days) later.  Next record is 2592000 seconds (or 30 days) later.
316    Note that the first record read and used by the EXF package corresponds to the
317    value 'startDate1' set in data.cal.  Therefore if you want to start the EXF
318    forcing from later in the 'ncep\_qnet.bin' file, it suffices to specify
319    startDate1 in data.cal as a date later than 19920101 (for example, startDate1
320    = 19940101, for starting January 1st, 1994).  For this to work,
321    'ncep\_qnet.bin' must have at least 2 years of data because in this
322    configuration EXF will read 2 years into the file to find the 1994 starting
323    value.
324  Interpolation on-the-fly is used (in the present case trivially  Interpolation on-the-fly is used (in the present case trivially
325  on the same grid, but included nevertheless for illustration),  on the same grid, but included nevertheless for illustration),
326  and input field grid starting coordinates and increments are  and input field grid starting coordinates and increments are
327  supplied as well.  supplied as well.
328    
329  %----------------------------------------------------------------------  %----------------------------------------------------------------------
330    
331    \subsubsection{EXF bulk formulae
332    \label{sec:pkg:exf:bulk_formulae}}
333    
334    T.B.D. (cross-ref. to parameter list table)
335    
336    %----------------------------------------------------------------------
337    
338  \subsubsection{EXF input fields and units  \subsubsection{EXF input fields and units
339  \label{sec:pkg:exf:fields_units}}  \label{sec:pkg:exf:fields_units}}
340    
341  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}.
342  It comprises all EXF input fields.  It comprises all EXF input fields.
343    
344  Output fields which EXF provides to the MITgcm are fields  Output fields which EXF provides to the MITgcm are fields
# Line 294  c--------------------------------------- Line 373  c---------------------------------------
373  c     hl        :: latent   heat flux into ocean in W/m^2  c     hl        :: latent   heat flux into ocean in W/m^2
374  c               |  > 0 for increase in theta (ocean warming)  c               |  > 0 for increase in theta (ocean warming)
375  c----------------------------------------------------------------------  c----------------------------------------------------------------------
376  c     hflux     :: Net upward surface heat flux in W/m^2  c     hflux     :: Net upward surface heat flux in W/m^2
377  c               |  excluding shortwave (on input)  c               |  (including shortwave)
378  c               |  hflux = latent + sensible + lwflux  c               |  hflux = latent + sensible + lwflux + swflux
379  c               |  > 0 for decrease in theta (ocean cooling)  c               |  > 0 for decrease in theta (ocean cooling)
380  c               |  Typical range: -250 < hflux < 600  c               |  Typical range: -250 < hflux < 600
381  c               |  Southwest C-grid tracer point  c               |  Southwest C-grid tracer point
# Line 492  Header routines Line 571  Header routines
571    
572  Diagnostics output is available via the diagnostics package  Diagnostics output is available via the diagnostics package
573  (see Section \ref{sec:pkg:diagnostics}).  (see Section \ref{sec:pkg:diagnostics}).
574  Available output fields are summarized in  Available output fields are summarized in
575  Table \ref{tab:pkg:exf:diagnostics}.  Table \ref{tab:pkg:exf:diagnostics}.
576    
577  \begin{table}[h!]  \begin{table}[!ht]
578  \centering  \centering
 \label{tab:pkg:exf:diagnostics}  
579  {\footnotesize  {\footnotesize
580  \begin{verbatim}  \begin{verbatim}
581  ------------------------------------------------------  ---------+----+----+----------------+-----------------
582   <-Name->|Levs|grid|<--  Units   -->|<- Tile (max=80c)   <-Name->|Levs|grid|<--  Units   -->|<- Tile (max=80c)
583  ------------------------------------------------------  ---------+----+----+----------------+-----------------
584   EXFhs   |  1 | SM | W/m^2          | Sensible heat flux into ocean, >0 increases theta   EXFhs   |  1 | SM | W/m^2          | Sensible heat flux into ocean, >0 increases theta
585   EXFhl   |  1 | SM | W/m^2          | Latent heat flux into ocean, >0 increases theta   EXFhl   |  1 | SM | W/m^2          | Latent heat flux into ocean, >0 increases theta
586   EXFlwnet|  1 | SM | W/m^2          | Net upward longwave radiation, >0 decreases theta   EXFlwnet|  1 | SM | W/m^2          | Net upward longwave radiation, >0 decreases theta
# Line 525  Table \ref{tab:pkg:exf:diagnostics}. Line 603  Table \ref{tab:pkg:exf:diagnostics}.
603  \end{verbatim}  \end{verbatim}
604  }  }
605  \caption{~}  \caption{~}
606    \label{tab:pkg:exf:diagnostics}
607  \end{table}  \end{table}
608    
609  %----------------------------------------------------------------------  %----------------------------------------------------------------------

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.16

  ViewVC Help
Powered by ViewVC 1.1.22