| Line |
Branch |
Exec |
Source |
| 1 |
|
|
|
| 2 |
|
|
! $Header$ |
| 3 |
|
|
|
| 4 |
|
8 |
SUBROUTINE suphel |
| 5 |
|
|
|
| 6 |
|
|
IMPLICIT NONE |
| 7 |
|
|
|
| 8 |
|
|
include "YOMCST.h" |
| 9 |
|
|
include "YOETHF.h" |
| 10 |
|
|
! IM cf. JLD |
| 11 |
|
|
LOGICAL firstcall |
| 12 |
|
|
SAVE firstcall |
| 13 |
|
|
!$OMP THREADPRIVATE(firstcall) |
| 14 |
|
|
DATA firstcall/.TRUE./ |
| 15 |
|
|
|
| 16 |
2/2
✓ Branch 0 taken 1 times.
✓ Branch 1 taken 1 times.
|
2 |
IF (firstcall) THEN |
| 17 |
|
1 |
PRINT *, 'suphel initialise les constantes du GCM' |
| 18 |
|
1 |
firstcall = .FALSE. |
| 19 |
|
|
ELSE |
| 20 |
|
1 |
PRINT *, 'suphel DEJA APPELE ' |
| 21 |
|
1 |
RETURN |
| 22 |
|
|
END IF |
| 23 |
|
|
! ----------------------------------------------------------------- |
| 24 |
|
|
|
| 25 |
|
|
! * 1. DEFINE FUNDAMENTAL CONSTANTS. |
| 26 |
|
|
! ----------------------------- |
| 27 |
|
|
|
| 28 |
|
1 |
WRITE (UNIT=6, FMT='(''0*** Constants of the ICM ***'')') |
| 29 |
|
1 |
rpi = 2.*asin(1.) |
| 30 |
|
1 |
rclum = 299792458. |
| 31 |
|
1 |
rhpla = 6.6260755E-34 |
| 32 |
|
1 |
rkbol = 1.380658E-23 |
| 33 |
|
1 |
rnavo = 6.0221367E+23 |
| 34 |
|
1 |
WRITE (UNIT=6, FMT='('' *** Fundamental constants ***'')') |
| 35 |
|
1 |
WRITE (UNIT=6, FMT='('' PI = '',E13.7,'' -'')') rpi |
| 36 |
|
1 |
WRITE (UNIT=6, FMT='('' c = '',E13.7,''m s-1'')') rclum |
| 37 |
|
1 |
WRITE (UNIT=6, FMT='('' h = '',E13.7,''J s'')') rhpla |
| 38 |
|
1 |
WRITE (UNIT=6, FMT='('' K = '',E13.7,''J K-1'')') rkbol |
| 39 |
|
1 |
WRITE (UNIT=6, FMT='('' N = '',E13.7,''mol-1'')') rnavo |
| 40 |
|
|
|
| 41 |
|
|
! ---------------------------------------------------------------- |
| 42 |
|
|
|
| 43 |
|
|
! * 2. DEFINE ASTRONOMICAL CONSTANTS. |
| 44 |
|
|
! ------------------------------ |
| 45 |
|
|
|
| 46 |
|
1 |
rday = 86400. |
| 47 |
|
1 |
rea = 149597870000. |
| 48 |
|
1 |
repsm = 0.409093 |
| 49 |
|
|
|
| 50 |
|
1 |
rsiyea = 365.25*rday*2.*rpi/6.283076 |
| 51 |
|
1 |
rsiday = rday/(1.+rday/rsiyea) |
| 52 |
|
1 |
romega = 2.*rpi/rsiday |
| 53 |
|
|
|
| 54 |
|
|
! exp1 R_ecc = 0.05 |
| 55 |
|
|
! exp1 R_peri = 102.04 |
| 56 |
|
|
! exp1 R_incl = 22.5 |
| 57 |
|
|
! exp1 print*, 'Parametres orbitaux modifies' |
| 58 |
|
|
! ref R_ecc = 0.016724 |
| 59 |
|
|
! ref R_peri = 102.04 |
| 60 |
|
|
! ref R_incl = 23.5 |
| 61 |
|
|
|
| 62 |
|
|
! IM 161002 : pour avoir les ctes AMIP II |
| 63 |
|
|
! IM 161002 R_ecc = 0.016724 |
| 64 |
|
|
! IM 161002 R_peri = 102.04 |
| 65 |
|
|
! IM 161002 R_incl = 23.5 |
| 66 |
|
|
! IM on mets R_ecc, R_peri, R_incl dans conf_phys.F90 |
| 67 |
|
|
! R_ecc = 0.016715 |
| 68 |
|
|
! R_peri = 102.7 |
| 69 |
|
|
! R_incl = 23.441 |
| 70 |
|
|
|
| 71 |
|
1 |
WRITE (UNIT=6, FMT='('' *** Astronomical constants ***'')') |
| 72 |
|
1 |
WRITE (UNIT=6, FMT='('' day = '',E13.7,'' s'')') rday |
| 73 |
|
1 |
WRITE (UNIT=6, FMT='('' half g. axis = '',E13.7,'' m'')') rea |
| 74 |
|
1 |
WRITE (UNIT=6, FMT='('' mean anomaly = '',E13.7,'' -'')') repsm |
| 75 |
|
1 |
WRITE (UNIT=6, FMT='('' sideral year = '',E13.7,'' s'')') rsiyea |
| 76 |
|
1 |
WRITE (UNIT=6, FMT='('' sideral day = '',E13.7,'' s'')') rsiday |
| 77 |
|
1 |
WRITE (UNIT=6, FMT='('' omega = '',E13.7,'' s-1'')') romega |
| 78 |
|
|
! write(unit=6,fmt='('' excentricite = '',e13.7,''-'')')R_ecc |
| 79 |
|
|
! write(unit=6,fmt='('' equinoxe = '',e13.7,''-'')')R_peri |
| 80 |
|
|
! write(unit=6,fmt='('' inclinaison = '',e13.7,''-'')')R_incl |
| 81 |
|
|
|
| 82 |
|
|
! ------------------------------------------------------------------ |
| 83 |
|
|
|
| 84 |
|
|
! * 3. DEFINE GEOIDE. |
| 85 |
|
|
! -------------- |
| 86 |
|
|
|
| 87 |
|
1 |
rg = 9.80665 |
| 88 |
|
1 |
ra = 6371229. |
| 89 |
|
1 |
r1sa = sngl(1.D0/dble(ra)) |
| 90 |
|
1 |
WRITE (UNIT=6, FMT='('' *** Geoide ***'')') |
| 91 |
|
1 |
WRITE (UNIT=6, FMT='('' Gravity = '',E13.7,'' m s-2'')') rg |
| 92 |
|
1 |
WRITE (UNIT=6, FMT='('' Earth radius = '',E13.7,'' m'')') ra |
| 93 |
|
1 |
WRITE (UNIT=6, FMT='('' Inverse E.R. = '',E13.7,'' m'')') r1sa |
| 94 |
|
|
|
| 95 |
|
|
! ----------------------------------------------------------------- |
| 96 |
|
|
|
| 97 |
|
|
! * 4. DEFINE RADIATION CONSTANTS. |
| 98 |
|
|
! --------------------------- |
| 99 |
|
|
|
| 100 |
|
|
! z.x.li RSIGMA=2. * RPI**5 * RKBOL**4 /(15.* RCLUM**2 * RHPLA**3) |
| 101 |
|
1 |
rsigma = 2.*rpi**5*(rkbol/rhpla)**3*rkbol/rclum/rclum/15. |
| 102 |
|
|
! IM init. dans conf_phys.F90 RI0=1365. |
| 103 |
|
1 |
WRITE (UNIT=6, FMT='('' *** Radiation ***'')') |
| 104 |
|
|
WRITE (UNIT=6, FMT='('' Stefan-Bol. = '',E13.7,'' W m-2 K-4'' & |
| 105 |
|
|
& & |
| 106 |
|
1 |
& )') rsigma |
| 107 |
|
|
! IM init. dans conf_phys.F90 WRITE(UNIT=6,FMT='('' Solar const. = |
| 108 |
|
|
! '',E13.7,'' W m-2'')') |
| 109 |
|
|
! IM init. dans conf_phys.F90 S RI0 |
| 110 |
|
|
|
| 111 |
|
|
! ----------------------------------------------------------------- |
| 112 |
|
|
|
| 113 |
|
|
! * 5. DEFINE THERMODYNAMIC CONSTANTS, GAS PHASE. |
| 114 |
|
|
! ------------------------------------------ |
| 115 |
|
|
|
| 116 |
|
1 |
r = rnavo*rkbol |
| 117 |
|
1 |
rmd = 28.9644 |
| 118 |
|
1 |
rmo3 = 47.9942 |
| 119 |
|
1 |
rmco2 = 44.011 |
| 120 |
|
1 |
rmch4 = 16.043 |
| 121 |
|
1 |
rmn2o = 44.013 |
| 122 |
|
1 |
rmcfc11 = 137.3686 |
| 123 |
|
1 |
rmcfc12 = 120.9140 |
| 124 |
|
1 |
rmc = 12.0107 |
| 125 |
|
1 |
rmv = 18.0153 |
| 126 |
|
1 |
rd = 1000.*r/rmd |
| 127 |
|
1 |
rv = 1000.*r/rmv |
| 128 |
|
1 |
rcpd = 3.5*rd |
| 129 |
|
1 |
rcvd = rcpd - rd |
| 130 |
|
1 |
rcpv = 4.*rv |
| 131 |
|
1 |
rcvv = rcpv - rv |
| 132 |
|
1 |
rkappa = rd/rcpd |
| 133 |
|
1 |
eps_w = rmv / rmd |
| 134 |
|
1 |
retv = rv/rd - 1. |
| 135 |
|
1 |
WRITE (UNIT=6, FMT='('' *** Thermodynamic, gas ***'')') |
| 136 |
|
1 |
WRITE (UNIT=6, FMT='('' Perfect gas = '',e13.7)') r |
| 137 |
|
1 |
WRITE (UNIT=6, FMT='('' Dry air mass = '',e13.7)') rmd |
| 138 |
|
1 |
WRITE (UNIT=6, FMT='('' Ozone mass = '',e13.7)') rmo3 |
| 139 |
|
1 |
WRITE (UNIT=6, FMT='('' CO2 mass = '',e13.7)') rmco2 |
| 140 |
|
1 |
WRITE (UNIT=6, FMT='('' C mass = '',e13.7)') rmc |
| 141 |
|
1 |
WRITE (UNIT=6, FMT='('' CH4 mass = '',e13.7)') rmch4 |
| 142 |
|
1 |
WRITE (UNIT=6, FMT='('' N2O mass = '',e13.7)') rmn2o |
| 143 |
|
1 |
WRITE (UNIT=6, FMT='('' CFC11 mass = '',e13.7)') rmcfc11 |
| 144 |
|
1 |
WRITE (UNIT=6, FMT='('' CFC12 mass = '',e13.7)') rmcfc12 |
| 145 |
|
1 |
WRITE (UNIT=6, FMT='('' Vapour mass = '',e13.7)') rmv |
| 146 |
|
1 |
WRITE (UNIT=6, FMT='('' Dry air cst. = '',e13.7)') rd |
| 147 |
|
1 |
WRITE (UNIT=6, FMT='('' Vapour cst. = '',e13.7)') rv |
| 148 |
|
1 |
WRITE (UNIT=6, FMT='('' Cpd = '',e13.7)') rcpd |
| 149 |
|
1 |
WRITE (UNIT=6, FMT='('' Cvd = '',e13.7)') rcvd |
| 150 |
|
1 |
WRITE (UNIT=6, FMT='('' Cpv = '',e13.7)') rcpv |
| 151 |
|
1 |
WRITE (UNIT=6, FMT='('' Cvv = '',e13.7)') rcvv |
| 152 |
|
1 |
WRITE (UNIT=6, FMT='('' Rd/Cpd = '',e13.7)') rkappa |
| 153 |
|
1 |
WRITE (UNIT=6, FMT='('' Rv/Rd-1 = '',e13.7)') retv |
| 154 |
|
|
|
| 155 |
|
|
! ---------------------------------------------------------------- |
| 156 |
|
|
|
| 157 |
|
|
! * 6. DEFINE THERMODYNAMIC CONSTANTS, LIQUID PHASE. |
| 158 |
|
|
! --------------------------------------------- |
| 159 |
|
|
|
| 160 |
|
1 |
rcw = rcpv |
| 161 |
|
1 |
WRITE (UNIT=6, FMT='('' *** Thermodynamic, liquid ***'')') |
| 162 |
|
1 |
WRITE (UNIT=6, FMT='('' Cw = '',E13.7)') rcw |
| 163 |
|
|
|
| 164 |
|
|
! ---------------------------------------------------------------- |
| 165 |
|
|
|
| 166 |
|
|
! * 7. DEFINE THERMODYNAMIC CONSTANTS, SOLID PHASE. |
| 167 |
|
|
! -------------------------------------------- |
| 168 |
|
|
|
| 169 |
|
1 |
rcs = rcpv |
| 170 |
|
1 |
WRITE (UNIT=6, FMT='('' *** thermodynamic, solid ***'')') |
| 171 |
|
1 |
WRITE (UNIT=6, FMT='('' Cs = '',E13.7)') rcs |
| 172 |
|
|
|
| 173 |
|
|
! ---------------------------------------------------------------- |
| 174 |
|
|
|
| 175 |
|
|
! * 8. DEFINE THERMODYNAMIC CONSTANTS, TRANSITION OF PHASE. |
| 176 |
|
|
! ---------------------------------------------------- |
| 177 |
|
|
|
| 178 |
|
1 |
rtt = 273.16 |
| 179 |
|
1 |
rlvtt = 2.5008E+6 |
| 180 |
|
1 |
rlstt = 2.8345E+6 |
| 181 |
|
1 |
rlmlt = rlstt - rlvtt |
| 182 |
|
1 |
ratm = 100000. |
| 183 |
|
1 |
WRITE (UNIT=6, FMT='('' *** Thermodynamic, trans. ***'')') |
| 184 |
|
1 |
WRITE (UNIT=6, FMT='('' Fusion point = '',E13.7)') rtt |
| 185 |
|
1 |
WRITE (UNIT=6, FMT='('' RLvTt = '',E13.7)') rlvtt |
| 186 |
|
1 |
WRITE (UNIT=6, FMT='('' RLsTt = '',E13.7)') rlstt |
| 187 |
|
1 |
WRITE (UNIT=6, FMT='('' RLMlt = '',E13.7)') rlmlt |
| 188 |
|
1 |
WRITE (UNIT=6, FMT='('' Normal press. = '',E13.7)') ratm |
| 189 |
|
1 |
WRITE (UNIT=6, FMT='('' Latent heat : '')') |
| 190 |
|
|
|
| 191 |
|
|
! ---------------------------------------------------------------- |
| 192 |
|
|
|
| 193 |
|
|
! * 9. SATURATED VAPOUR PRESSURE. |
| 194 |
|
|
! -------------------------- |
| 195 |
|
|
|
| 196 |
|
1 |
restt = 611.14 |
| 197 |
|
1 |
rgamw = (rcw-rcpv)/rv |
| 198 |
|
1 |
rbetw = rlvtt/rv + rgamw*rtt |
| 199 |
|
1 |
ralpw = log(restt) + rbetw/rtt + rgamw*log(rtt) |
| 200 |
|
1 |
rgams = (rcs-rcpv)/rv |
| 201 |
|
1 |
rbets = rlstt/rv + rgams*rtt |
| 202 |
|
1 |
ralps = log(restt) + rbets/rtt + rgams*log(rtt) |
| 203 |
|
1 |
rgamd = rgams - rgamw |
| 204 |
|
1 |
rbetd = rbets - rbetw |
| 205 |
|
1 |
ralpd = ralps - ralpw |
| 206 |
|
|
|
| 207 |
|
|
! ------------------------------------------------------------------ |
| 208 |
|
|
|
| 209 |
|
|
! * 10. CONSTANTS FOR THERMODYNAMICAL FUNCTIONS. |
| 210 |
|
|
! ---------------------------------------- |
| 211 |
|
|
|
| 212 |
|
1 |
rvtmp2 = rcpv/rcpd - 1. |
| 213 |
|
1 |
rhoh2o = ratm/100. |
| 214 |
|
1 |
r2es = restt*rd/rv |
| 215 |
|
1 |
r3les = 17.269 |
| 216 |
|
1 |
r3ies = 21.875 |
| 217 |
|
1 |
r4les = 35.86 |
| 218 |
|
1 |
r4ies = 7.66 |
| 219 |
|
1 |
r5les = r3les*(rtt-r4les) |
| 220 |
|
1 |
r5ies = r3ies*(rtt-r4ies) |
| 221 |
|
|
|
| 222 |
|
|
! ------------------------------------------------------------------ |
| 223 |
|
|
|
| 224 |
|
|
! * 10. CONSTANTS FOR METHANE OXIDATION AND PHOTOLYSIS. |
| 225 |
|
|
! ----------------------------------------------- |
| 226 |
|
|
|
| 227 |
|
1 |
CALL SUMETHOX() |
| 228 |
|
|
|
| 229 |
|
1 |
RETURN |
| 230 |
|
|
END SUBROUTINE suphel |
| 231 |
|
|
|