File indexing completed on 2018-03-02 18:37:38 UTC
view on githubraw file Latest commit 672ec4d5 on 2016-12-01 17:05:48 UTC
672ec4d5cf Jean*0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029 <html>
0030 <head>
0031 <META http-equiv="Content-Type" content="text/html; charset=EUC-JP">
0032 <title>Module constants_mod</title>
0033 <link type="text/css" href="http://www.gfdl.noaa.gov/~fms/style/doc.css" rel="stylesheet">
0034 <STYLE TYPE="text/css">
0035 .fixed {
0036 font-size:medium;
0037 font-family:monospace;
0038 border-style:none;
0039 border-width:0.1em;
0040 padding:0.1em;
0041 color:#663366;
0042 }
0043 </STYLE>
0044 </head>
0045 <body>
0046 <a name="TOP"></a><font class="header" size="1"><a href="#PUBLIC INTERFACE">PUBLIC INTERFACE </a>~
0047 <a href="#PUBLIC DATA">PUBLIC DATA </a>~
0048 <a href="#PUBLIC ROUTINES">PUBLIC ROUTINES </a>~
0049 <a href="#NAMELIST">NAMELIST </a>~
0050 <a href="#DIAGNOSTIC FIELDS">DIAGNOSTIC FIELDS </a>~
0051 <a href="#ERROR MESSAGES">ERROR MESSAGES </a>~
0052 <a href="#REFERENCES">REFERENCES </a>~
0053 <a href="#NOTES">NOTES</a></font>
0054 <hr>
0055 <h2>Module constants_mod</h2>
0056 <a name="HEADER"></a>
0057
0058 <div>
0059 <b>Contact: </b><a href="mailto:Bruce.Wyman@noaa.gov"> Bruce Wyman </a>
0060 <br>
0061 <b>Reviewers: </b>
0062 <br>
0063 <b>Change History: </b><a href="http://www.gfdl.noaa.gov/fms-cgi-bin/cvsweb.cgi/FMS/shared/constants">WebCVS Log</a>
0064 <br>
0065 <br>
0066 </div>
0067
0068 <a name="OVERVIEW"></a>
0069 <hr>
0070 <h4>OVERVIEW</h4>
0071
0072 <p class="text"> Defines useful constants for Earth. </p>
0073
0074 <a name="DESCRIPTION"></a>
0075
0076 <div> Constants are defined as real parameters,
0077 except for PI and RADIAN, which are calculated in constants_init to promote
0078 consistency and accuracy among various compilers.
0079 <br>
0080 <br>
0081 Constants are accessed through the "use" statement. </div>
0082 <br>
0083
0084 <a name="OTHER MODULES USED"></a>
0085 <hr>
0086 <h4>OTHER MODULES USED</h4>
0087
0088 <div>
0089 <pre>fms_mod</pre>
0090 </div>
0091
0092
0093 <a name="PUBLIC INTERFACE"></a>
0094 <hr>
0095 <h4>PUBLIC INTERFACE</h4>
0096 <div>
0097 <dl>
0098 <dt>
0099 <a href="#constants_init">constants_init</a>:</dt>
0100 <dd> Initialization routine. The purpose of this routine
0101 is initialize the value of PI and RADIAN, and to write the
0102 version and tag name information to the log file. </dd>
0103 </dl>
0104 </div>
0105 <br>
0106
0107 <a name="PUBLIC DATA"></a>
0108 <hr>
0109 <h4>PUBLIC DATA</h4>
0110
0111 <div>
0112 <table align="center" cellspacing="2" CELLPADDING="2" BORDER="2">
0113 <tr>
0114 <th> Name </th><th> Type </th><th> Value </th><th> Units </th><th> Description </th>
0115 </tr>
0116 <tr>
0117 <td> RADIUS </td><td> real </td><td> 6371.e3 </td><td> m </td><td> radius of the earth </td>
0118 </tr>
0119 <tr>
0120 <td> OMEGA </td><td> real </td><td> 7.292e-5 </td><td> 1/s </td><td> rotation rate of the planet (earth) </td>
0121 </tr>
0122 <tr>
0123 <td> GRAV </td><td> real </td><td> 9.80 </td><td> m/s^2 </td><td> acceleration due to gravity </td>
0124 </tr>
0125 <tr>
0126 <td> RDGAS </td><td> real </td><td> 287.04 </td><td> J/kg/deg </td><td> gas constant for dry air </td>
0127 </tr>
0128 <tr>
0129 <td> KAPPA </td><td> real </td><td> 2./7. </td><td> --- </td><td> RDGAS / CP_AIR </td>
0130 </tr>
0131 <tr>
0132 <td> CP_AIR </td><td> real </td><td> RDGAS/KAPPA </td><td> J/kg/deg </td><td> specific heat capacity of dry air at constant pressure </td>
0133 </tr>
0134 <tr>
0135 <td> CP_OCEAN </td><td> real </td><td> 3989.24495292815 </td><td> J/kg/deg </td><td> specific heat capacity taken from McDougall (2002) "Potential Enthalpy ..." </td>
0136 </tr>
0137 <tr>
0138 <td> RHO0 </td><td> real </td><td> 1.035e3 </td><td> kg/m^3 </td><td> average density of sea water </td>
0139 </tr>
0140 <tr>
0141 <td> RHO0R </td><td> real </td><td> 1.0/RHO0 </td><td> m^3/kg </td><td> reciprocal of average density of sea water </td>
0142 </tr>
0143 <tr>
0144 <td> RHO_CP </td><td> real </td><td> RHO0*CP_OCEAN </td><td> J/m^3/deg </td><td> (kg/m^3)*(cal/kg/deg C)(joules/cal) = (joules/m^3/deg C) </td>
0145 </tr>
0146 <tr>
0147 <td> RVGAS </td><td> real </td><td> 461.50 </td><td> J/kg/deg </td><td> gas constant for water vapor </td>
0148 </tr>
0149 <tr>
0150 <td> DENS_H2O </td><td> real </td><td> 1000. </td><td> kg/m^3 </td><td> density of liquid water </td>
0151 </tr>
0152 <tr>
0153 <td> HLV </td><td> real </td><td> 2.500e6 </td><td> J/kg </td><td> latent heat of evaporation </td>
0154 </tr>
0155 <tr>
0156 <td> HLF </td><td> real </td><td> 3.34e5 </td><td> J/kg </td><td> latent heat of fusion </td>
0157 </tr>
0158 <tr>
0159 <td> HLS </td><td> real </td><td> 2.834e6 </td><td> J/kg </td><td> latent heat of sublimation </td>
0160 </tr>
0161 <tr>
0162 <td> TFREEZE </td><td> real </td><td> 273.16 </td><td> degK </td><td> temp where fresh water freezes </td>
0163 </tr>
0164 <tr>
0165 <td> WTMAIR </td><td> real </td><td> 2.896440E+01 </td><td> AMU </td><td> molecular weight of air </td>
0166 </tr>
0167 <tr>
0168 <td> WTMH2O </td><td> real </td><td> 1.801534E+01 </td><td> AMU </td><td> molecular weight of water </td>
0169 </tr>
0170 <tr>
0171 <td> WTMO3 </td><td> real </td><td> 47.99820E+01 </td><td> AMU </td><td> molecular weight of ozone </td>
0172 </tr>
0173 <tr>
0174 <td> DIFFAC </td><td> real </td><td> 1.660000E+00 </td><td> --- </td><td> diffusivity factor </td>
0175 </tr>
0176 <tr>
0177 <td> SECONDS_PER_DAY </td><td> real </td><td> 8.640000E+04 </td><td> seconds </td><td> seconds in a day </td>
0178 </tr>
0179 <tr>
0180 <td> AVOGNO </td><td> real </td><td> 6.023000E+23 </td><td> atoms/mole </td><td> Avogadro's number </td>
0181 </tr>
0182 <tr>
0183 <td> PSTD </td><td> real </td><td> 1.013250E+06 </td><td> dynes/cm^2 </td><td> mean sea level pressure </td>
0184 </tr>
0185 <tr>
0186 <td> PSTD_MKS </td><td> real </td><td> 101325.0 </td><td> Newtons/m^2 </td><td> mean sea level pressure </td>
0187 </tr>
0188 <tr>
0189 <td> REARTH </td><td> real </td><td> 6.356766E+08 </td><td> cm </td><td> radius of the earth </td>
0190 </tr>
0191 <tr>
0192 <td> RADCON </td><td> real </td><td> ((1.0E+02*GRAV)/(1.0E+04*CP_AIR))*SECONDS_PER_DAY </td><td> deg sec/(cm day) </td><td> factor used to convert flux divergence to heating rate in degrees per day </td>
0193 </tr>
0194 <tr>
0195 <td> RADCON_MKS </td><td> real </td><td> (GRAV/CP_AIR)*SECONDS_PER_DAY </td><td> deg sec/(m day) </td><td> factor used to convert flux divergence to heating rate in degrees per day </td>
0196 </tr>
0197 <tr>
0198 <td> O2MIXRAT </td><td> real </td><td> 2.0953E-01 </td><td> --- </td><td> mixing ratio of molecular oxygen in air </td>
0199 </tr>
0200 <tr>
0201 <td> RHOAIR </td><td> real </td><td> 1.292269 </td><td> kg/m^3 </td><td> reference atmospheric density </td>
0202 </tr>
0203 <tr>
0204 <td> ALOGMIN </td><td> real </td><td> -50.0 </td><td> --- </td><td> minimum value allowed as argument to log function </td>
0205 </tr>
0206 <tr>
0207 <td> FREZDK </td><td> real </td><td> 273.16 </td><td> deg K </td><td> melting point of water </td>
0208 </tr>
0209 <tr>
0210 <td> STEFAN </td><td> real </td><td> 5.6734e-8 </td><td> W/m^2/deg^4 </td><td> Stefan-Boltzmann constant </td>
0211 </tr>
0212 <tr>
0213 <td> VONKARM </td><td> real </td><td> 0.40 </td><td> --- </td><td> Von Karman constant </td>
0214 </tr>
0215 <tr>
0216 <td> PI </td><td> real </td><td> 4.0*ATAN(1.0) </td><td> --- </td><td> ratio of circle circumference to diameter </td>
0217 </tr>
0218 <tr>
0219 <td> RADIAN </td><td> real </td><td> 180.0/PI </td><td> --- </td><td> degrees per radian </td>
0220 </tr>
0221 <tr>
0222 <td> C2DBARS </td><td> real </td><td> 1.e-4 </td><td> dbars </td><td> converts rho*g*z (in mks) to dbars: 1dbar = 10^4 (kg/m^3)(m/s^2)m </td>
0223 </tr>
0224 <tr>
0225 <td> KELVIN </td><td> real </td><td> 273.15 </td><td> --- </td><td> degrees Kelvin at zero Celsius </td>
0226 </tr>
0227 <tr>
0228 <td> EPSLN </td><td> real </td><td> 1.0e-40 </td><td> --- </td><td> a small number to prevent divide by zero exceptions </td>
0229 </tr>
0230 </table>
0231 <br>
0232 </div>
0233 <!-- END PUBLIC DATA -->
0234 <a name="PUBLIC ROUTINES"></a>
0235 <hr>
0236 <h4>PUBLIC ROUTINES</h4>
0237 <!-- BEGIN PUBLIC ROUTINES -->
0238 <ol type="a">
0239 <li>
0240 <a name="constants_init"></a>
0241 <h4>constants_init</h4>
0242 <pre>
0243 <b>call constants_init </b>
0244 </pre>
0245 <dl>
0246 <dt>
0247 <b>DESCRIPTION</b>
0248 </dt>
0249 <dd> If this routine is called more than once or called
0250 from other than the root PE it will return silently.
0251 There are no arguments. </dd>
0252 <br>
0253 <br>
0254 </dl>
0255 </li>
0256 </ol>
0257 <!-- END PUBLIC ROUTINES -->
0258 <a name="PUBLIC TYPES"></a>
0259 <!-- BEGIN PUBLIC TYPES -->
0260 <!-- END PUBLIC TYPES --><a name="NAMELIST"></a>
0261 <!-- BEGIN NAMELIST -->
0262 <!-- END NAMELIST --><a name="DIAGNOSTIC FIELDS"></a>
0263 <!-- BEGIN DIAGNOSTIC FIELDS -->
0264 <!-- END DIAGNOSTIC FIELDS --><a name="DATA SETS"></a>
0265 <!-- BEGIN DATA SETS -->
0266 <hr>
0267 <h4>DATA SETS</h4>
0268 <div>None.<br>
0269 <br>
0270 </div>
0271 <!-- END DATA SETS -->
0272 <a name="PUBLIC CODE"></a>
0273 <!-- BEGIN PUBLIC CODE -->
0274 <!-- END PUBLIC CODE --><a name="ERROR MESSAGES"></a>
0275 <!-- BEGIN ERROR MESSAGES -->
0276 <hr>
0277 <h4>ERROR MESSAGES</h4>
0278 <div>None.<br>
0279 <br>
0280 </div>
0281 <!-- END ERROR MESSAGES -->
0282 <a name="REFERENCES"></a>
0283 <hr>
0284 <h4>REFERENCES</h4>
0285 <!-- BEGIN REFERENCES -->
0286 <div>
0287 None.
0288 </div>
0289 <br>
0290 <!-- END REFERENCES -->
0291 <a name="COMPILER SPECIFICS"></a>
0292 <hr>
0293 <h4>COMPILER SPECIFICS</h4>
0294 <!-- BEGIN COMPILER SPECIFICS -->
0295 <div>
0296 None.
0297 </div>
0298 <br>
0299 <!-- END COMPILER SPECIFICS -->
0300 <a name="PRECOMPILER OPTIONS"></a>
0301 <hr>
0302 <h4>PRECOMPILER OPTIONS</h4>
0303 <!-- BEGIN PRECOMPILER OPTIONS -->
0304 <div>
0305 None.
0306 </div>
0307 <br>
0308 <!-- END PRECOMPILER OPTIONS -->
0309 <a name="LOADER OPTIONS"></a>
0310 <hr>
0311 <h4>LOADER OPTIONS</h4>
0312 <!-- BEGIN LOADER -->
0313 <div>None.<br>
0314 <br>
0315 </div>
0316 <!-- END LOADER OPTIONS -->
0317 <a name="TEST PROGRAM"></a>
0318 <hr>
0319 <h4>TEST PROGRAM</h4>
0320 <!-- BEGIN TEST PROGRAM -->
0321 <div>None.<br>
0322 </div>
0323 <br>
0324 <!-- END TEST PROGRAM -->
0325 <a name="KNOWN BUGS"></a>
0326 <hr>
0327 <h4>KNOWN BUGS</h4>
0328 <!-- BEGIN KNOWN BUGS -->
0329 <div>
0330 None.
0331 </div>
0332 <br>
0333 <!-- END KNOWN BUGS -->
0334 <a name="NOTES"></a>
0335 <hr>
0336 <h4>NOTES</h4>
0337 <!-- BEGIN NOTES -->
0338 <div> Constants have been declared as type REAL, PARAMETER.
0339 <br>
0340 <br>
0341 The value a constant can not be changed in a users program.
0342 New constants can be defined in terms of values from the
0343 constants module using a parameter statement.<br><br>
0344 <br>
0345 <br>
0346 The name given to a particular constant may be changed.<br><br>
0347 <br>
0348 <br>
0349 Constants can be used on the right side on an assignment statement
0350 (their value can not be reassigned).
0351 <br>
0352 <br>
0353 As PI is calculated, it cannot be a parameter variable.
0354 Do not assign a new value to PI.
0355 <br>
0356 <br>
0357 <dl>
0358 <dt>EXAMPLE</dt>
0359 <dd>
0360 <pre> use constants_mod, only: TFREEZE, grav_new => GRAV
0361 real, parameter :: grav_inv = 1.0 / grav_new
0362 tempc(:,:,:) = tempk(:,:,:) - TFREEZE
0363 geopotential(:,:) = height(:,:) * grav_new</pre>
0364 </dd>
0365 </dl>
0366 </div>
0367 <br>
0368 <!-- END NOTES -->
0369 <a name="FUTURE PLANS"></a>
0370 <hr>
0371 <h4>FUTURE PLANS</h4>
0372 <!-- BEGIN FUTURE PLANS -->
0373 <div>
0374 <p> 1. Renaming of constants. </p>
0375 <p> 2. Additional constants. </p>
0376 </div>
0377 <br>
0378 <!-- END FUTURE PLANS -->
0379 <hr>
0380 <div align="right">
0381 <font size="-1"><a href="#TOP">top</a></font>
0382 </div>
0383 </body>
0384 </html>