source: LMDZ6/branches/Amaury_dev/libf/phylmd/ini_csts.F90 @ 5218

Last change on this file since 5218 was 5117, checked in by abarral, 5 months ago

rename modules properly lmdz_*
move some unused files to obsolete/
(lint) uppercase fortran keywords

File size: 4.8 KB
RevLine 
[4661]1!SFX_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
2!SFX_LIC This is part of the SURFEX software governed by the CeCILL-C licence
3!SFX_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt 
4!SFX_LIC for details. version 1.
5!     #########
6      SUBROUTINE INI_CSTS
7!     ##################
[5099]8
[4661]9!!****  *INI_CSTS * - routine to initialize the module MODD_CST
10!!
11!!    PURPOSE
12!!    -------
13!       The purpose of this routine is to initialize  the physical constants
14!     stored in  module MODD_CST.
[5099]15
16
[4661]17!!**  METHOD
18!!    ------
19!!      The physical constants are set to their numerical values
20!!     
21!!
22!!    EXTERNAL
23!!    --------
[5117]24!!      FMLOOK : to retrieve LOGICAL unit number associated to a file
[4661]25!!
26!!    IMPLICIT ARGUMENTS
27!!    ------------------
28!!      Module MODD_CST     : contains physical constants
29!!
30!!    REFERENCE
31!!    ---------
32!!      Book2 of the documentation (module MODD_CST, routine INI_CSTS)
33!!     
34!!
35!!    AUTHOR
36!!    ------
37!!      V. Ducrocq       * Meteo France *
38!!
39!!    MODIFICATIONS
40!!    -------------
41!!      Original    18/05/94
42!!      J. Stein    02/01/95  add the volumic mass of liquid water
43!!      J.-P. Pinty 13/12/95  add the water vapor pressure over solid ice
44!!      J. Stein    29/06/97  add XTH00
45!!      V. Masson   05/10/98  add XRHOLI
46!!      C. Mari     31/10/00  add NDAYSEC
47!!      V. Masson   01/03/03  add XCONDI
48!!      A. Voldoire 01/12/09  add XTTSI, XICEC, XTTS for ESM
49!!      J. Escobar  28/03/2014 for pb with emissivity/aerosol reset XSURF_TINY=1.0e-80 in real8 case
50!!
51!-------------------------------------------------------------------------------
[5099]52
[4661]53!*       0.    DECLARATIONS
54!              ------------
[5099]55
[4661]56USE MODD_CSTS
[5099]57
58
[5101]59!USE YOMHOOK   ,ONLY: LHOOK,   DR_HOOK
60!USE PARKIND1  ,ONLY: JPRB
[5099]61
[4661]62!USE MODI_INI_CTURBS
[5099]63
[4661]64!USE MODI_INI_OCEAN_CSTS
[5099]65
[4661]66!USE MODI_INI_SURF_CSTS
[5099]67
[4661]68IMPLICIT NONE
[5099]69
[4661]70!-------------------------------------------------------------------------------
[5099]71
[4661]72!*       1.     FUNDAMENTAL CONSTANTS
73!               ---------------------
74
75!REAL(KIND=JPRB) :: ZHOOK_HANDLE
76
77!IF (LHOOK) CALL DR_HOOK('INI_CSTS',0,ZHOOK_HANDLE)
78
79XSURF_TINY    = 1.0e-80
80!#else
81XSURF_TINY    = 1.0e-80
82XSURF_TINY_12 = SQRT    (XSURF_TINY    )
83XSURF_EPSILON = EPSILON (XSURF_EPSILON ) * 10.0
84
85XPI         = 2.*ASIN(1.)
86XKARMAN     = 0.4
87XBOLTZ      = 1.380658E-23
88XLIGHTSPEED = 299792458.
89XPLANCK     = 6.6260755E-34
90XAVOGADRO   = 6.0221367E+23
[5099]91
[4661]92!-------------------------------------------------------------------------------
[5099]93
[4661]94!*       2.     ASTRONOMICAL CONSTANTS
95!               ----------------------
[5099]96
[4661]97XDAY   = 86400.
98XSIYEA = 365.25*XDAY*2.*XPI/ 6.283076
99XSIDAY = XDAY/(1.+XDAY/XSIYEA)
100XOMEGA = 2.*XPI/XSIDAY
101NDAYSEC = 24*3600 ! Number of seconds in a day
[5099]102
[4661]103!-------------------------------------------------------------------------------!
[5099]104
105
[4661]106!*       3.     TERRESTRIAL GEOIDE CONSTANTS
107!               ----------------------------
[5099]108
[4661]109XRADIUS = 6371229.
110XG      = 9.80665
[5099]111
[4661]112!-------------------------------------------------------------------------------
[5099]113
[4661]114!*       4.     REFERENCE PRESSURE
115!               -------------------
[5099]116
[4661]117XP00 = 1.E5
118XTH00 = 300.
119!-------------------------------------------------------------------------------
[5099]120
[4661]121!*       5.     RADIATION CONSTANTS
122!               -------------------
[5099]123
[4661]124!JUAN OVERFLOW XSTEFAN = 2.* XPI**5 * XBOLTZ**4 / (15.* XLIGHTSPEED**2 * XPLANCK**3)
125XSTEFAN = ( 2.* XPI**5 / 15. ) * ( (XBOLTZ / XPLANCK)* XBOLTZ ) * (XBOLTZ/(XLIGHTSPEED*XPLANCK))**2
126XI0     = 1370.
[5099]127
[4661]128!-------------------------------------------------------------------------------
[5099]129
[4661]130!*       6.     THERMODYNAMIC CONSTANTS
131!               -----------------------
[5099]132
[4661]133XMD    = 28.9644E-3
134XMV    = 18.0153E-3
135XRD    = XAVOGADRO * XBOLTZ / XMD
136XRV    = XAVOGADRO * XBOLTZ / XMV
137XCPD   = 7.* XRD /2.
138XCPV   = 4.* XRV
139XRHOLW = 1000.
140XRHOLI = 917.
141XCONDI = 2.22
142XCL    = 4.218E+3
143XCI    = 2.106E+3
144XTT    = 273.16
145XTTSI  = XTT - 1.8
146XICEC  = 0.5
147XTTS   = XTT*(1-XICEC) + XTTSI*XICEC
148XLVTT  = 2.5008E+6
149XLSTT  = 2.8345E+6
150XLMTT  = XLSTT - XLVTT
151XESTT  = 611.14
152XGAMW  = (XCL - XCPV) / XRV
153XBETAW = (XLVTT/XRV) + (XGAMW * XTT)
154XALPW  = LOG(XESTT) + (XBETAW /XTT) + (XGAMW *LOG(XTT))
155XGAMI  = (XCI - XCPV) / XRV
156XBETAI = (XLSTT/XRV) + (XGAMI * XTT)
157XALPI  = LOG(XESTT) + (XBETAI /XTT) + (XGAMI *LOG(XTT))
[5099]158
[4661]159!-------------------------------------------------------------------------------
[5099]160
[4661]161!*       7.     TURBULENCE CONSTANTS
162!               --------------------
[5099]163
[4661]164! CALL INI_CTURBS
165!-------------------------------------------------------------------------------
[5099]166
[4661]167!*       8.     OCEAN CONSTANTS
168!               ---------------
[5099]169
[4661]170! CALL INI_OCEAN_CSTS
[5099]171
[4661]172!*       9.     SURFACE CONSTANTS
173!               -----------------
[5099]174
[4661]175! CALL INI_SURF_CSTS
176!IF (LHOOK) CALL DR_HOOK('INI_CSTS',1,ZHOOK_HANDLE)
[5099]177
[4661]178!-------------------------------------------------------------------------------
[5099]179
[4661]180END SUBROUTINE INI_CSTS
Note: See TracBrowser for help on using the repository browser.