1 |
module suphec_m |
module suphec_m |
2 |
|
|
3 |
|
use nr_util, only: pi |
4 |
|
|
5 |
implicit none |
implicit none |
6 |
|
|
7 |
! A1.0 Fundamental constants |
! A1.0 Fundamental constants |
8 |
REAL RPI |
real, parameter:: RCLUM = 299792458. ! speed of light, m s-1 |
9 |
real, parameter:: RCLUM = 299792458. |
real, parameter:: RHPLA = 6.6260755E-34 ! Planck constant, J s |
|
real, parameter:: RHPLA = 6.6260755E-34 |
|
10 |
real, parameter:: KBOL = 1.380658E-23 ! Boltzmann constant, in J K-1 |
real, parameter:: KBOL = 1.380658E-23 ! Boltzmann constant, in J K-1 |
11 |
real, parameter:: NAVO = 6.0221367E23 ! Avogadro number, in mol-1 |
real, parameter:: NAVO = 6.0221367E23 ! Avogadro number, in mol-1 |
12 |
|
|
21 |
real, parameter:: RA = 6371229. |
real, parameter:: RA = 6371229. |
22 |
|
|
23 |
! A1.3 Radiation |
! A1.3 Radiation |
24 |
REAL RSIGMA |
REAL, parameter:: rsigma = 2. * pi**5 * (kbol / rhpla)**3 * kbol / rclum**2 & |
25 |
|
/ 15. |
26 |
|
|
27 |
! A1.4 Thermodynamic gas phase |
! A1.4 Thermodynamic gas phase |
28 |
REAL, parameter:: R = NAVO * KBOL ! ideal gas constant, in J K-1 mol-1 |
REAL, parameter:: R = NAVO * KBOL ! ideal gas constant, in J K-1 mol-1 |
38 |
! specific ideal gas constant for dry air, in J K-1 kg-1 |
! specific ideal gas constant for dry air, in J K-1 kg-1 |
39 |
! (factor 1e3: conversion from g to kg) |
! (factor 1e3: conversion from g to kg) |
40 |
|
|
41 |
real RCPV, RCVD, RCVV |
real, save:: RCPV, RCVD, RCVV |
42 |
|
|
43 |
real, parameter:: RCPD = 7. / 2 * RD |
real, parameter:: RCPD = 7. / 2 * RD |
44 |
! specific heat capacity for dry air, in J K-1 kg-1 |
! specific heat capacity for dry air, in J K-1 kg-1 |
45 |
|
|
46 |
real, parameter:: RMO3 = 47.9942 |
real, parameter:: RMO3 = 47.9942 |
47 |
REAL, parameter:: RKAPPA = RD/RCPD |
REAL, parameter:: RKAPPA = RD/RCPD |
48 |
real RETV |
real, save:: RETV |
49 |
|
|
50 |
! A1.5, 6 Thermodynamic liquid, solid phases |
! A1.5, 6 Thermodynamic liquid, solid phases |
51 |
REAL RCW, RCS |
REAL, save:: RCW, RCS |
52 |
|
|
53 |
! A1.7 Thermodynamic transition of phase |
! A1.7 Thermodynamic transition of phase |
54 |
REAL RLMLT |
REAL, save:: RLMLT |
55 |
real, parameter:: RTT = 273.16 |
real, parameter:: RTT = 273.16 |
56 |
real, parameter:: RLVTT = 2.5008E+6 |
real, parameter:: RLVTT = 2.5008E+6 |
57 |
real, parameter:: RLSTT = 2.8345E+6 |
real, parameter:: RLSTT = 2.8345E+6 |
58 |
real, parameter:: RATM = 100000. |
real, parameter:: RATM = 1e5 |
59 |
|
|
60 |
! A1.8 Curve of saturation |
! A1.8 Curve of saturation |
61 |
REAL RALPW, RBETW, RGAMW, RALPS, RBETS, RGAMS |
REAL, save:: RALPW, RBETW, RGAMW, RALPS, RBETS, RGAMS |
62 |
real, parameter:: RESTT = 611.14 |
real, parameter:: RESTT = 611.14 |
63 |
REAL RALPD, RBETD, RGAMD |
REAL, save:: RALPD, RBETD, RGAMD |
64 |
|
|
65 |
save |
private pi |
66 |
|
|
67 |
contains |
contains |
68 |
|
|
75 |
|
|
76 |
PRINT *, 'Call sequence information: suphec' |
PRINT *, 'Call sequence information: suphec' |
77 |
|
|
|
! 1. DEFINE FUNDAMENTAL CONSTANTS |
|
|
|
|
|
print *, 'Constants of the ICM' |
|
|
RPI = 2.*ASIN(1.) |
|
|
print *, 'Fundamental constants ' |
|
|
print '('' PI = '', E13.7, '' -'')', RPI |
|
|
print '('' c = '', E13.7, ''m s-1'')', RCLUM |
|
|
print '('' h = '', E13.7, ''J s'')', RHPLA |
|
|
|
|
78 |
! 2. DEFINE ASTRONOMICAL CONSTANTS |
! 2. DEFINE ASTRONOMICAL CONSTANTS |
79 |
|
|
80 |
RSIYEA = 365.25*RDAY*2.*RPI/6.283076 |
RSIYEA = 365.25*RDAY*2.*PI/6.283076 |
81 |
RSIDAY = RDAY/(1.+RDAY/RSIYEA) |
RSIDAY = RDAY/(1.+RDAY/RSIYEA) |
82 |
ROMEGA = 2.*RPI/RSIDAY |
ROMEGA = 2.*PI/RSIDAY |
83 |
|
|
84 |
print *, 'Astronomical constants ' |
print *, 'Astronomical constants ' |
85 |
print '('' day = '', E13.7, '' s'')', RDAY |
print '('' day = '', E13.7, '' s'')', RDAY |
97 |
|
|
98 |
! 4. DEFINE RADIATION CONSTANTS. |
! 4. DEFINE RADIATION CONSTANTS. |
99 |
|
|
|
rsigma = 2.*rpi**5 * (kbol/rhpla)**3 * kbol/rclum/rclum/15. |
|
100 |
print *, ' Radiation ' |
print *, ' Radiation ' |
101 |
print '('' Stefan-Bol. = '', E13.7, '' W m-2 K-4'')', RSIGMA |
print '('' Stefan-Bol. = '', E13.7, '' W m-2 K-4'')', RSIGMA |
102 |
|
|
132 |
! 8. DEFINE THERMODYNAMIC CONSTANTS, TRANSITION OF PHASE. |
! 8. DEFINE THERMODYNAMIC CONSTANTS, TRANSITION OF PHASE. |
133 |
|
|
134 |
RLMLT = RLSTT-RLVTT |
RLMLT = RLSTT-RLVTT |
135 |
print *, 'Thermodynamic, trans. ' |
print *, 'Thermodynamic, transition of phase:' |
136 |
print '('' Fusion point = '', E13.7)', RTT |
print '('' Fusion point = '', E13.7)', RTT |
137 |
print '('' RLvTt = '', E13.7)', RLVTT |
print '('' RLvTt = '', E13.7)', RLVTT |
138 |
print '('' RLsTt = '', E13.7)', RLSTT |
print '('' RLsTt = '', E13.7)', RLSTT |
139 |
print '('' RLMlt = '', E13.7)', RLMLT |
print '('' RLMlt = '', E13.7)', RLMLT |
140 |
print '('' Normal press. = '', E13.7)', RATM |
print '('' Normal pressure = '', E13.7)', RATM |
141 |
|
|
142 |
! 9. SATURATED VAPOUR PRESSURE. |
! 9. SATURATED VAPOUR PRESSURE. |
143 |
|
|