12 DATA firstcall/.
true./
15 print *,
'suphel initialise les constantes du GCM'
18 print *,
'suphel DEJA APPELE '
26 WRITE (
unit=6, fmt=
'(''0*** Constants of the ICM ***'')')
32 WRITE (
unit=6, fmt=
'('' *** Fundamental constants ***'')')
33 WRITE (
unit=6, fmt=
'('' PI = '',E13.7,'' -'')') rpi
34 WRITE (
unit=6, fmt=
'('' c = '',E13.7,''m s-1'')') rclum
35 WRITE (
unit=6, fmt=
'('' h = '',E13.7,''J s'')') rhpla
36 WRITE (
unit=6, fmt=
'('' K = '',E13.7,''J K-1'')') rkbol
37 WRITE (
unit=6, fmt=
'('' N = '',E13.7,''mol-1'')') rnavo
48 rsiyea = 365.25*rday*2.*rpi/6.283076
49 rsiday = rday/(1.+rday/rsiyea)
50 romega = 2.*rpi/rsiday
69 WRITE (
unit=6, fmt=
'('' *** Astronomical constants ***'')')
70 WRITE (
unit=6, fmt=
'('' day = '',E13.7,'' s'')') rday
71 WRITE (
unit=6, fmt=
'('' half g. axis = '',E13.7,'' m'')') rea
72 WRITE (
unit=6, fmt=
'('' mean anomaly = '',E13.7,'' -'')') repsm
73 WRITE (
unit=6, fmt=
'('' sideral year = '',E13.7,'' s'')') rsiyea
74 WRITE (
unit=6, fmt=
'('' sideral day = '',E13.7,'' s'')') rsiday
75 WRITE (
unit=6, fmt=
'('' omega = '',E13.7,'' s-1'')') romega
87 r1sa = sngl(1.d0/dble(ra))
88 WRITE (
unit=6, fmt=
'('' *** Geoide ***'')')
89 WRITE (
unit=6, fmt=
'('' Gravity = '',E13.7,'' m s-2'')')
rg
90 WRITE (
unit=6, fmt=
'('' Earth radius = '',E13.7,'' m'')') ra
91 WRITE (
unit=6, fmt=
'('' Inverse E.R. = '',E13.7,'' m'')') r1sa
99 rsigma = 2.*rpi**5*(rkbol/rhpla)**3*rkbol/rclum/rclum/15.
101 WRITE (
unit=6, fmt=
'('' *** Radiation ***'')')
102 WRITE (
unit=6, fmt=
'('' Stefan-Bol. = '',E13.7,'' W m-2 K-4'' &
126 WRITE (
unit=6, fmt=
'('' *** Thermodynamic, gas ***'')')
127 WRITE (
unit=6, fmt=
'('' Perfect gas = '',e13.7)')
r
128 WRITE (
unit=6, fmt=
'('' Dry air mass = '',e13.7)') rmd
129 WRITE (
unit=6, fmt=
'('' Ozone mass = '',e13.7)') rmo3
130 WRITE (
unit=6, fmt=
'('' Vapour mass = '',e13.7)') rmv
131 WRITE (
unit=6, fmt=
'('' Dry air cst. = '',e13.7)') rd
132 WRITE (
unit=6, fmt=
'('' Vapour cst. = '',e13.7)') rv
133 WRITE (
unit=6, fmt=
'('' Cpd = '',e13.7)') rcpd
134 WRITE (
unit=6, fmt=
'('' Cvd = '',e13.7)') rcvd
135 WRITE (
unit=6, fmt=
'('' Cpv = '',e13.7)') rcpv
136 WRITE (
unit=6, fmt=
'('' Cvv = '',e13.7)') rcvv
137 WRITE (
unit=6, fmt=
'('' Rd/Cpd = '',e13.7)') rkappa
138 WRITE (
unit=6, fmt=
'('' Rv/Rd-1 = '',e13.7)') retv
146 WRITE (
unit=6, fmt=
'('' *** Thermodynamic, liquid ***'')')
147 WRITE (
unit=6, fmt=
'('' Cw = '',E13.7)') rcw
155 WRITE (
unit=6, fmt=
'('' *** thermodynamic, solid ***'')')
156 WRITE (
unit=6, fmt=
'('' Cs = '',E13.7)') rcs
166 rlmlt = rlstt - rlvtt
168 WRITE (
unit=6, fmt=
'('' *** Thermodynamic, trans. ***'')')
169 WRITE (
unit=6, fmt=
'('' Fusion point = '',E13.7)') rtt
170 WRITE (
unit=6, fmt=
'('' RLvTt = '',E13.7)') rlvtt
171 WRITE (
unit=6, fmt=
'('' RLsTt = '',E13.7)') rlstt
172 WRITE (
unit=6, fmt=
'('' RLMlt = '',E13.7)') rlmlt
173 WRITE (
unit=6, fmt=
'('' Normal press. = '',E13.7)') ratm
174 WRITE (
unit=6, fmt=
'('' Latent heat : '')')
182 rgamw = (rcw-rcpv)/rv
183 rbetw = rlvtt/rv + rgamw*rtt
184 ralpw = log(restt) + rbetw/rtt + rgamw*log(rtt)
185 rgams = (rcs-rcpv)/rv
186 rbets = rlstt/rv + rgams*rtt
187 ralps = log(restt) + rbets/rtt + rgams*log(rtt)
188 rgamd = rgams - rgamw
189 rbetd = rbets - rbetw
190 ralpd = ralps - ralpw
197 rvtmp2 = rcpv/rcpd - 1.
204 r5les = r3les*(rtt-r4les)
205 r5ies = r3ies*(rtt-r4ies)
!$Id mode_top_bound COMMON comconstr r
!$Id itapm1 ENDIF!IM on interpole les champs sur les niveaux STD de pression!IM a chaque pas de temps de la physique c!positionnement de l argument logique a false c!pour ne pas recalculer deux fois la meme chose!c!a cet effet un appel a plevel_new a ete deplace c!a la fin de la serie d appels c!la boucle DO nlevSTD a ete internalisee c!dans d ou la creation de cette routine c c!CALL false
!$Id itapm1 ENDIF!IM on interpole les champs sur les niveaux STD de pression!IM a chaque pas de temps de la physique c!positionnement de l argument logique a false c!pour ne pas recalculer deux fois la meme chose!c!a cet effet un appel a plevel_new a ete deplace c!a la fin de la serie d appels c!la boucle DO nlevSTD a ete internalisee c!dans d ou la creation de cette routine c c!CALL ulevSTD CALL &zphi philevSTD CALL &zx_rh rhlevSTD!DO klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon du jour ou toutes les read_climoz CALL true
!$Header!integer nvarmx s s unit