SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/ini_csts.F90
Go to the documentation of this file.
00001 !     #########
00002       SUBROUTINE INI_CSTS 
00003 !     ##################
00004 !
00005 !!****  *INI_CSTS * - routine to initialize the module MODD_CST
00006 !!
00007 !!    PURPOSE
00008 !!    -------
00009 !       The purpose of this routine is to initialize  the physical constants
00010 !     stored in  module MODD_CST.
00011 !      
00012 !
00013 !!**  METHOD
00014 !!    ------
00015 !!      The physical constants are set to their numerical values 
00016 !!     
00017 !!
00018 !!    EXTERNAL
00019 !!    --------
00020 !!      FMLOOK : to retrieve logical unit number associated to a file
00021 !!
00022 !!    IMPLICIT ARGUMENTS
00023 !!    ------------------
00024 !!      Module MODD_CST     : contains physical constants
00025 !!
00026 !!    REFERENCE
00027 !!    ---------
00028 !!      Book2 of the documentation (module MODD_CST, routine INI_CSTS)
00029 !!      
00030 !!
00031 !!    AUTHOR
00032 !!    ------
00033 !!      V. Ducrocq       * Meteo France *
00034 !!
00035 !!    MODIFICATIONS
00036 !!    -------------
00037 !!      Original    18/05/94 
00038 !!      J. Stein    02/01/95  add the volumic mass of liquid water
00039 !!      J.-P. Pinty 13/12/95  add the water vapor pressure over solid ice
00040 !!      J. Stein    29/06/97  add XTH00
00041 !!      V. Masson   05/10/98  add XRHOLI
00042 !!      C. Mari     31/10/00  add NDAYSEC
00043 !!      V. Masson   01/03/03  add XCONDI
00044 !!      A. Voldoire 01/12/09  add XTTSI, XICEC, XTTS for ESM
00045 !!
00046 !-------------------------------------------------------------------------------
00047 !
00048 !*       0.    DECLARATIONS
00049 !              ------------
00050 !
00051 USE MODD_CSTS
00052 !
00053 !
00054 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00055 USE PARKIND1  ,ONLY : JPRB
00056 !
00057 USE MODI_INI_CTURBS
00058 !
00059 USE MODI_INI_OCEAN_CSTS
00060 !
00061 USE MODI_INI_SURF_CSTS
00062 !
00063 IMPLICIT NONE
00064 !  
00065 !-------------------------------------------------------------------------------
00066 !
00067 !*       1.     FUNDAMENTAL CONSTANTS
00068 !               ---------------------
00069 !
00070 
00071 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00072 
00073 IF (LHOOK) CALL DR_HOOK('INI_CSTS',0,ZHOOK_HANDLE)
00074 XPI         = 2.*ASIN(1.)
00075 XKARMAN     = 0.4
00076 XBOLTZ      = 1.380658E-23
00077 XLIGHTSPEED = 299792458.
00078 XPLANCK     = 6.6260755E-34
00079 XAVOGADRO   = 6.0221367E+23
00080 !
00081 !-------------------------------------------------------------------------------
00082 !
00083 !*       2.     ASTRONOMICAL CONSTANTS
00084 !               ----------------------
00085 !
00086 XDAY   = 86400.
00087 XSIYEA = 365.25*XDAY*2.*XPI/ 6.283076
00088 XSIDAY = XDAY/(1.+XDAY/XSIYEA)
00089 XOMEGA = 2.*XPI/XSIDAY
00090 NDAYSEC = 24*3600 ! Number of seconds in a day
00091 !
00092 !-------------------------------------------------------------------------------!
00093 !
00094 !
00095 !*       3.     TERRESTRIAL GEOIDE CONSTANTS
00096 !               ----------------------------
00097 !
00098 XRADIUS = 6371229.
00099 XG      = 9.80665
00100 !
00101 !-------------------------------------------------------------------------------
00102 !
00103 !*       4.     REFERENCE PRESSURE
00104 !               -------------------
00105 !
00106 XP00 = 1.E5
00107 XTH00 = 300.
00108 !-------------------------------------------------------------------------------
00109 !
00110 !*       5.     RADIATION CONSTANTS
00111 !               -------------------
00112 !
00113 XSTEFAN = 2.* XPI**5 * XBOLTZ**4 / (15.* XLIGHTSPEED**2 * XPLANCK**3)
00114 XI0     = 1370.
00115 !
00116 !-------------------------------------------------------------------------------
00117 !
00118 !*       6.     THERMODYNAMIC CONSTANTS
00119 !               -----------------------
00120 !
00121 XMD    = 28.9644E-3
00122 XMV    = 18.0153E-3
00123 XRD    = XAVOGADRO * XBOLTZ / XMD
00124 XRV    = XAVOGADRO * XBOLTZ / XMV
00125 XCPD   = 7.* XRD /2.
00126 XCPV   = 4.* XRV
00127 XRHOLW = 1000.
00128 XRHOLI = 917.
00129 XCONDI = 2.22
00130 XCL    = 4.218E+3
00131 XCI    = 2.106E+3
00132 XTT    = 273.16
00133 XTTSI  = XTT - 1.8
00134 XICEC  = 0.5
00135 XTTS   = XTT*(1-XICEC) + XTTSI*XICEC
00136 XLVTT  = 2.5008E+6
00137 XLSTT  = 2.8345E+6
00138 XLMTT  = XLSTT - XLVTT
00139 XESTT  = 611.14
00140 XGAMW  = (XCL - XCPV) / XRV
00141 XBETAW = (XLVTT/XRV) + (XGAMW * XTT)
00142 XALPW  = LOG(XESTT) + (XBETAW /XTT) + (XGAMW *LOG(XTT))
00143 XGAMI  = (XCI - XCPV) / XRV
00144 XBETAI = (XLSTT/XRV) + (XGAMI * XTT)
00145 XALPI  = LOG(XESTT) + (XBETAI /XTT) + (XGAMI *LOG(XTT))
00146 !
00147 !-------------------------------------------------------------------------------
00148 !
00149 !*       7.     TURBULENCE CONSTANTS
00150 !               --------------------
00151 !
00152  CALL INI_CTURBS
00153 !-------------------------------------------------------------------------------
00154 !
00155 !*       8.     OCEAN CONSTANTS
00156 !               ---------------
00157 !
00158  CALL INI_OCEAN_CSTS
00159 !
00160 !*       9.     SURFACE CONSTANTS
00161 !               -----------------
00162 !
00163  CALL INI_SURF_CSTS
00164 IF (LHOOK) CALL DR_HOOK('INI_CSTS',1,ZHOOK_HANDLE)
00165 !
00166 !-------------------------------------------------------------------------------
00167 !
00168 END SUBROUTINE INI_CSTS