|
SURFEX v7.3
General documentation of Surfex
|
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
1.8.0