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

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

Remove CRAY key (obsolete calls to functions that don't exist anymore, bugs in some implementations, irrelevant now)
Replace usage of CPP_XIOS key by using_xios logical
Remove always unused testcpu bits
Replace most uses of CPP_StratAer by the corresponding logical defined in lmdz_cppkeys_wrapper.F90 [this breaks iso compilation because phyiso doesn't define all aerosols - to be fixed later]
Replaces uses of include "yomcst.h" by the lmdz_yomcst.f90 module in .[fF]90 files

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
76!REAL(KIND=JPRB) :: ZHOOK_HANDLE
77
78!IF (LHOOK) CALL DR_HOOK('INI_CSTS',0,ZHOOK_HANDLE)
79
80XSURF_TINY    = 1.0e-80
81!#else
82XSURF_TINY    = 1.0e-80
83XSURF_TINY_12 = SQRT    (XSURF_TINY    )
84XSURF_EPSILON = EPSILON (XSURF_EPSILON ) * 10.0
85
86XPI         = 2.*ASIN(1.)
87XKARMAN     = 0.4
88XBOLTZ      = 1.380658E-23
89XLIGHTSPEED = 299792458.
90XPLANCK     = 6.6260755E-34
91XAVOGADRO   = 6.0221367E+23
92!
93!-------------------------------------------------------------------------------
94!
95!*       2.     ASTRONOMICAL CONSTANTS
96!               ----------------------
97!
98XDAY   = 86400.
99XSIYEA = 365.25*XDAY*2.*XPI/ 6.283076
100XSIDAY = XDAY/(1.+XDAY/XSIYEA)
101XOMEGA = 2.*XPI/XSIDAY
102NDAYSEC = 24*3600 ! Number of seconds in a day
103!
104!-------------------------------------------------------------------------------!
105!
106!
107!*       3.     TERRESTRIAL GEOIDE CONSTANTS
108!               ----------------------------
109!
110XRADIUS = 6371229.
111XG      = 9.80665
112!
113!-------------------------------------------------------------------------------
114!
115!*       4.     REFERENCE PRESSURE
116!               -------------------
117!
118XP00 = 1.E5
119XTH00 = 300.
120!-------------------------------------------------------------------------------
121!
122!*       5.     RADIATION CONSTANTS
123!               -------------------
124!
125!JUAN OVERFLOW XSTEFAN = 2.* XPI**5 * XBOLTZ**4 / (15.* XLIGHTSPEED**2 * XPLANCK**3)
126XSTEFAN = ( 2.* XPI**5 / 15. ) * ( (XBOLTZ / XPLANCK)* XBOLTZ ) * (XBOLTZ/(XLIGHTSPEED*XPLANCK))**2
127XI0     = 1370.
128!
129!-------------------------------------------------------------------------------
130!
131!*       6.     THERMODYNAMIC CONSTANTS
132!               -----------------------
133!
134XMD    = 28.9644E-3
135XMV    = 18.0153E-3
136XRD    = XAVOGADRO * XBOLTZ / XMD
137XRV    = XAVOGADRO * XBOLTZ / XMV
138XCPD   = 7.* XRD /2.
139XCPV   = 4.* XRV
140XRHOLW = 1000.
141XRHOLI = 917.
142XCONDI = 2.22
143XCL    = 4.218E+3
144XCI    = 2.106E+3
145XTT    = 273.16
146XTTSI  = XTT - 1.8
147XICEC  = 0.5
148XTTS   = XTT*(1-XICEC) + XTTSI*XICEC
149XLVTT  = 2.5008E+6
150XLSTT  = 2.8345E+6
151XLMTT  = XLSTT - XLVTT
152XESTT  = 611.14
153XGAMW  = (XCL - XCPV) / XRV
154XBETAW = (XLVTT/XRV) + (XGAMW * XTT)
155XALPW  = LOG(XESTT) + (XBETAW /XTT) + (XGAMW *LOG(XTT))
156XGAMI  = (XCI - XCPV) / XRV
157XBETAI = (XLSTT/XRV) + (XGAMI * XTT)
158XALPI  = LOG(XESTT) + (XBETAI /XTT) + (XGAMI *LOG(XTT))
159!
160!-------------------------------------------------------------------------------
161!
162!*       7.     TURBULENCE CONSTANTS
163!               --------------------
164!
165! CALL INI_CTURBS
166!-------------------------------------------------------------------------------
167!
168!*       8.     OCEAN CONSTANTS
169!               ---------------
170!
171! CALL INI_OCEAN_CSTS
172!
173!*       9.     SURFACE CONSTANTS
174!               -----------------
175!
176! CALL INI_SURF_CSTS
177!IF (LHOOK) CALL DR_HOOK('INI_CSTS',1,ZHOOK_HANDLE)
178!
179!-------------------------------------------------------------------------------
180!
181END SUBROUTINE INI_CSTS
Note: See TracBrowser for help on using the repository browser.