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

Last change on this file was 5117, checked in by abarral, 4 months ago

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

File size: 4.8 KB
Line 
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!     ##################
8
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.
15
16
17!!**  METHOD
18!!    ------
19!!      The physical constants are set to their numerical values
20!!     
21!!
22!!    EXTERNAL
23!!    --------
24!!      FMLOOK : to retrieve LOGICAL unit number associated to a file
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!-------------------------------------------------------------------------------
52
53!*       0.    DECLARATIONS
54!              ------------
55
56USE MODD_CSTS
57
58
59!USE YOMHOOK   ,ONLY: LHOOK,   DR_HOOK
60!USE PARKIND1  ,ONLY: JPRB
61
62!USE MODI_INI_CTURBS
63
64!USE MODI_INI_OCEAN_CSTS
65
66!USE MODI_INI_SURF_CSTS
67
68IMPLICIT NONE
69
70!-------------------------------------------------------------------------------
71
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
91
92!-------------------------------------------------------------------------------
93
94!*       2.     ASTRONOMICAL CONSTANTS
95!               ----------------------
96
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
102
103!-------------------------------------------------------------------------------!
104
105
106!*       3.     TERRESTRIAL GEOIDE CONSTANTS
107!               ----------------------------
108
109XRADIUS = 6371229.
110XG      = 9.80665
111
112!-------------------------------------------------------------------------------
113
114!*       4.     REFERENCE PRESSURE
115!               -------------------
116
117XP00 = 1.E5
118XTH00 = 300.
119!-------------------------------------------------------------------------------
120
121!*       5.     RADIATION CONSTANTS
122!               -------------------
123
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.
127
128!-------------------------------------------------------------------------------
129
130!*       6.     THERMODYNAMIC CONSTANTS
131!               -----------------------
132
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))
158
159!-------------------------------------------------------------------------------
160
161!*       7.     TURBULENCE CONSTANTS
162!               --------------------
163
164! CALL INI_CTURBS
165!-------------------------------------------------------------------------------
166
167!*       8.     OCEAN CONSTANTS
168!               ---------------
169
170! CALL INI_OCEAN_CSTS
171
172!*       9.     SURFACE CONSTANTS
173!               -----------------
174
175! CALL INI_SURF_CSTS
176!IF (LHOOK) CALL DR_HOOK('INI_CSTS',1,ZHOOK_HANDLE)
177
178!-------------------------------------------------------------------------------
179
180END SUBROUTINE INI_CSTS
Note: See TracBrowser for help on using the repository browser.