4 |
|
|
5 |
! A1.0 Fundamental constants |
! A1.0 Fundamental constants |
6 |
REAL RPI |
REAL RPI |
7 |
real, parameter:: RCLUM=299792458. |
real, parameter:: RCLUM = 299792458. |
8 |
real, parameter:: RHPLA=6.6260755E-34 |
real, parameter:: RHPLA = 6.6260755E-34 |
9 |
real, parameter:: RKBOL=1.380658E-23 |
real, parameter:: RKBOL = 1.380658E-23 |
10 |
real, parameter:: RNAVO=6.0221367E+23 |
real, parameter:: RNAVO = 6.0221367E+23 |
11 |
|
|
12 |
! A1.1 Astronomical constants |
! A1.1 Astronomical constants |
13 |
REAL RSIYEA,RSIDAY,ROMEGA |
REAL RSIYEA, RSIDAY, ROMEGA |
14 |
real, parameter:: RDAY=86400. |
real, parameter:: RDAY = 86400. |
15 |
real, parameter:: REA=149597870000. |
real, parameter:: REA = 149597870000. |
16 |
real, parameter:: REPSM=0.409093 |
real, parameter:: REPSM = 0.409093 |
17 |
|
|
18 |
! A1.2 Geoide |
! A1.2 Geoide |
19 |
REAL R1SA |
real, parameter:: RG = 9.80665 |
20 |
real, parameter:: RG=9.80665 |
real, parameter:: RA = 6371229. |
|
real, parameter:: RA=6371229. |
|
21 |
|
|
22 |
! A1.3 Radiation |
! A1.3 Radiation |
23 |
REAL RSIGMA |
REAL RSIGMA |
24 |
|
|
25 |
! A1.4 Thermodynamic gas phase |
! A1.4 Thermodynamic gas phase |
26 |
REAL R,RD,RV,RCPD,RCPV,RCVD,RCVV |
REAL R, RD, RV, RCPD, RCPV, RCVD, RCVV |
27 |
real, parameter:: RMD=28.9644 |
real, parameter:: RMD = 28.9644 |
28 |
real, parameter:: RMO3=47.9942 |
real, parameter:: RMO3 = 47.9942 |
29 |
real, parameter:: RMV=18.0153 |
real, parameter:: RMV = 18.0153 |
30 |
REAL RKAPPA,RETV |
REAL RKAPPA, RETV |
31 |
|
|
32 |
! A1.5,6 Thermodynamic liquid,solid phases |
! A1.5, 6 Thermodynamic liquid, solid phases |
33 |
REAL RCW,RCS |
REAL RCW, RCS |
34 |
|
|
35 |
! A1.7 Thermodynamic transition of phase |
! A1.7 Thermodynamic transition of phase |
36 |
REAL RLMLT |
REAL RLMLT |
37 |
real, parameter:: RTT=273.16 |
real, parameter:: RTT = 273.16 |
38 |
real, parameter:: RLVTT=2.5008E+6 |
real, parameter:: RLVTT = 2.5008E+6 |
39 |
real, parameter:: RLSTT=2.8345E+6 |
real, parameter:: RLSTT = 2.8345E+6 |
40 |
real, parameter:: RATM=100000. |
real, parameter:: RATM = 100000. |
41 |
|
|
42 |
! A1.8 Curve of saturation |
! A1.8 Curve of saturation |
43 |
REAL RALPW,RBETW,RGAMW,RALPS,RBETS,RGAMS |
REAL RALPW, RBETW, RGAMW, RALPS, RBETS, RGAMS |
44 |
real, parameter:: RESTT=611.14 |
real, parameter:: RESTT = 611.14 |
45 |
REAL RALPD,RBETD,RGAMD |
REAL RALPD, RBETD, RGAMD |
46 |
|
|
47 |
save |
save |
48 |
|
|
50 |
|
|
51 |
SUBROUTINE suphec |
SUBROUTINE suphec |
52 |
|
|
53 |
! From phylmd/suphec.F,v 1.2 2005/06/06 13:16:33 |
! From phylmd/suphec.F, v 1.2 2005/06/06 13:16:33 |
54 |
! Initialise certaines constantes et parametres physiques. |
! Initialise certaines constantes et parametres physiques. |
55 |
|
|
56 |
!------------------------------------------ |
!------------------------------------------ |
60 |
! 1. DEFINE FUNDAMENTAL CONSTANTS |
! 1. DEFINE FUNDAMENTAL CONSTANTS |
61 |
|
|
62 |
print *, 'Constants of the ICM' |
print *, 'Constants of the ICM' |
63 |
RPI=2.*ASIN(1.) |
RPI = 2.*ASIN(1.) |
64 |
print *, 'Fundamental constants ' |
print *, 'Fundamental constants ' |
65 |
print '('' PI = '',E13.7,'' -'')', RPI |
print '('' PI = '', E13.7, '' -'')', RPI |
66 |
print '('' c = '',E13.7,''m s-1'')', RCLUM |
print '('' c = '', E13.7, ''m s-1'')', RCLUM |
67 |
print '('' h = '',E13.7,''J s'')', RHPLA |
print '('' h = '', E13.7, ''J s'')', RHPLA |
68 |
print '('' K = '',E13.7,''J K-1'')', RKBOL |
print '('' K = '', E13.7, ''J K-1'')', RKBOL |
69 |
print '('' N = '',E13.7,''mol-1'')', RNAVO |
print '('' N = '', E13.7, ''mol-1'')', RNAVO |
70 |
|
|
71 |
! 2. DEFINE ASTRONOMICAL CONSTANTS |
! 2. DEFINE ASTRONOMICAL CONSTANTS |
72 |
|
|
73 |
RSIYEA=365.25*RDAY*2.*RPI/6.283076 |
RSIYEA = 365.25*RDAY*2.*RPI/6.283076 |
74 |
RSIDAY=RDAY/(1.+RDAY/RSIYEA) |
RSIDAY = RDAY/(1.+RDAY/RSIYEA) |
75 |
ROMEGA=2.*RPI/RSIDAY |
ROMEGA = 2.*RPI/RSIDAY |
76 |
|
|
77 |
print *, 'Astronomical constants ' |
print *, 'Astronomical constants ' |
78 |
print '('' day = '',E13.7,'' s'')', RDAY |
print '('' day = '', E13.7, '' s'')', RDAY |
79 |
print '('' half g. axis = '',E13.7,'' m'')', REA |
print '('' half g. axis = '', E13.7, '' m'')', REA |
80 |
print '('' mean anomaly = '',E13.7,'' -'')', REPSM |
print '('' mean anomaly = '', E13.7, '' -'')', REPSM |
81 |
print '('' sideral year = '',E13.7,'' s'')', RSIYEA |
print '('' sideral year = '', E13.7, '' s'')', RSIYEA |
82 |
print '('' sideral day = '',E13.7,'' s'')', RSIDAY |
print '('' sideral day = '', E13.7, '' s'')', RSIDAY |
83 |
print '('' omega = '',E13.7,'' s-1'')', ROMEGA |
print '('' omega = '', E13.7, '' s-1'')', ROMEGA |
84 |
|
|
85 |
! 3. DEFINE GEOIDE. |
! 3. DEFINE GEOIDE. |
86 |
|
|
87 |
R1SA=SNGL(1.D0/DBLE(RA)) |
print *, ' Geoide ' |
88 |
print *, ' Geoide ' |
print '('' Gravity = '', E13.7, '' m s-2'')', RG |
89 |
print '('' Gravity = '',E13.7,'' m s-2'')', RG |
print '('' Earth radius = '', E13.7, '' m'')', RA |
|
print '('' Earth radius = '',E13.7,'' m'')', RA |
|
|
print '('' Inverse E.R. = '',E13.7,'' m'')', R1SA |
|
90 |
|
|
91 |
! 4. DEFINE RADIATION CONSTANTS. |
! 4. DEFINE RADIATION CONSTANTS. |
92 |
|
|
93 |
rsigma = 2.*rpi**5 * (rkbol/rhpla)**3 * rkbol/rclum/rclum/15. |
rsigma = 2.*rpi**5 * (rkbol/rhpla)**3 * rkbol/rclum/rclum/15. |
94 |
print *, ' Radiation ' |
print *, ' Radiation ' |
95 |
print '('' Stefan-Bol. = '',E13.7,'' W m-2 K-4'')', RSIGMA |
print '('' Stefan-Bol. = '', E13.7, '' W m-2 K-4'')', RSIGMA |
96 |
|
|
97 |
! 5. DEFINE THERMODYNAMIC CONSTANTS, GAS PHASE. |
! 5. DEFINE THERMODYNAMIC CONSTANTS, GAS PHASE. |
98 |
|
|
99 |
R=RNAVO*RKBOL |
R = RNAVO * RKBOL |
100 |
RD=1000.*R/RMD |
RD = 1000. * R / RMD |
101 |
RV=1000.*R/RMV |
RV = 1000.*R/RMV |
102 |
RCPD=3.5*RD |
RCPD = 3.5*RD |
103 |
RCVD=RCPD-RD |
RCVD = RCPD-RD |
104 |
RCPV=4. *RV |
RCPV = 4. *RV |
105 |
RCVV=RCPV-RV |
RCVV = RCPV-RV |
106 |
RKAPPA=RD/RCPD |
RKAPPA = RD/RCPD |
107 |
RETV=RV/RD-1. |
RETV = RV/RD-1. |
108 |
print *, 'Thermodynamic, gas ' |
print *, 'Thermodynamic, gas ' |
109 |
print '('' Perfect gas = '',e13.7)', R |
print '('' Perfect gas = '', e13.7)', R |
110 |
print '('' Dry air mass = '',e13.7)', RMD |
print '('' Dry air mass = '', e13.7)', RMD |
111 |
print '('' Ozone mass = '',e13.7)', RMO3 |
print '('' Ozone mass = '', e13.7)', RMO3 |
112 |
print '('' Vapour mass = '',e13.7)', RMV |
print '('' Vapour mass = '', e13.7)', RMV |
113 |
print '('' Dry air cst. = '',e13.7)', RD |
print '('' Dry air constant = '', e13.7)', RD |
114 |
print '('' Vapour cst. = '',e13.7)', RV |
print '('' Vapour constant = '', e13.7)', RV |
115 |
print '('' Cpd = '',e13.7)', RCPD |
print '('' Cpd = '', e13.7)', RCPD |
116 |
print '('' Cvd = '',e13.7)', RCVD |
print '('' Cvd = '', e13.7)', RCVD |
117 |
print '('' Cpv = '',e13.7)', RCPV |
print '('' Cpv = '', e13.7)', RCPV |
118 |
print '('' Cvv = '',e13.7)', RCVV |
print '('' Cvv = '', e13.7)', RCVV |
119 |
print '('' Rd/Cpd = '',e13.7)', RKAPPA |
print '('' Rd/Cpd = '', e13.7)', RKAPPA |
120 |
print '('' Rv/Rd-1 = '',e13.7)', RETV |
print '('' Rv/Rd-1 = '', e13.7)', RETV |
121 |
|
|
122 |
! 6. DEFINE THERMODYNAMIC CONSTANTS, LIQUID PHASE. |
! 6. DEFINE THERMODYNAMIC CONSTANTS, LIQUID PHASE. |
123 |
|
|
124 |
RCW=RCPV |
RCW = RCPV |
125 |
print *, 'Thermodynamic, liquid ' |
print *, 'Thermodynamic, liquid ' |
126 |
print '('' Cw = '',E13.7)', RCW |
print '('' Cw = '', E13.7)', RCW |
127 |
|
|
128 |
! 7. DEFINE THERMODYNAMIC CONSTANTS, SOLID PHASE. |
! 7. DEFINE THERMODYNAMIC CONSTANTS, SOLID PHASE. |
129 |
|
|
130 |
RCS=RCPV |
RCS = RCPV |
131 |
print *, 'thermodynamic, solid' |
print *, 'thermodynamic, solid' |
132 |
print '('' Cs = '',E13.7)', RCS |
print '('' Cs = '', E13.7)', RCS |
133 |
|
|
134 |
! 8. DEFINE THERMODYNAMIC CONSTANTS, TRANSITION OF PHASE. |
! 8. DEFINE THERMODYNAMIC CONSTANTS, TRANSITION OF PHASE. |
135 |
|
|
136 |
RLMLT=RLSTT-RLVTT |
RLMLT = RLSTT-RLVTT |
137 |
print *, 'Thermodynamic, trans. ' |
print *, 'Thermodynamic, trans. ' |
138 |
print '('' Fusion point = '',E13.7)', RTT |
print '('' Fusion point = '', E13.7)', RTT |
139 |
print '('' RLvTt = '',E13.7)', RLVTT |
print '('' RLvTt = '', E13.7)', RLVTT |
140 |
print '('' RLsTt = '',E13.7)', RLSTT |
print '('' RLsTt = '', E13.7)', RLSTT |
141 |
print '('' RLMlt = '',E13.7)', RLMLT |
print '('' RLMlt = '', E13.7)', RLMLT |
142 |
print '('' Normal press. = '',E13.7)', RATM |
print '('' Normal press. = '', E13.7)', RATM |
143 |
|
|
144 |
! 9. SATURATED VAPOUR PRESSURE. |
! 9. SATURATED VAPOUR PRESSURE. |
145 |
|
|
146 |
RGAMW=(RCW-RCPV)/RV |
RGAMW = (RCW-RCPV)/RV |
147 |
RBETW=RLVTT/RV+RGAMW*RTT |
RBETW = RLVTT/RV+RGAMW*RTT |
148 |
RALPW=LOG(RESTT)+RBETW/RTT+RGAMW*LOG(RTT) |
RALPW = LOG(RESTT)+RBETW/RTT+RGAMW*LOG(RTT) |
149 |
RGAMS=(RCS-RCPV)/RV |
RGAMS = (RCS-RCPV)/RV |
150 |
RBETS=RLSTT/RV+RGAMS*RTT |
RBETS = RLSTT/RV+RGAMS*RTT |
151 |
RALPS=LOG(RESTT)+RBETS/RTT+RGAMS*LOG(RTT) |
RALPS = LOG(RESTT)+RBETS/RTT+RGAMS*LOG(RTT) |
152 |
RGAMD=RGAMS-RGAMW |
RGAMD = RGAMS-RGAMW |
153 |
RBETD=RBETS-RBETW |
RBETD = RBETS-RBETW |
154 |
RALPD=RALPS-RALPW |
RALPD = RALPS-RALPW |
155 |
|
|
156 |
END SUBROUTINE suphec |
END SUBROUTINE suphec |
157 |
|
|