1 |
module suphec_m |
module suphec_m |
2 |
|
|
3 |
use nr_util, only: pi |
use nr_util, only: pi, twoPI |
4 |
|
|
5 |
implicit none |
implicit none |
6 |
|
|
12 |
|
|
13 |
! A1.1 Astronomical constants |
! A1.1 Astronomical constants |
14 |
|
|
|
REAL ROMEGA |
|
15 |
real, parameter:: RDAY = 86400. |
real, parameter:: RDAY = 86400. |
16 |
|
|
17 |
REAL, parameter:: RSIYEA = 365.25 * RDAY * 2. * PI / 6.283076 |
REAL, parameter:: RSIYEA = 365.25 * RDAY * 2. * PI / 6.283076 |
18 |
! sideral year, in s |
! sideral year, in s |
19 |
|
|
20 |
REAL, parameter:: RSIDAY = RDAY / (1. + RDAY / RSIYEA) ! sideral day, in s |
REAL, parameter:: RSIDAY = RDAY / (1. + RDAY / RSIYEA) ! sideral day, in s |
21 |
|
REAL, parameter:: ROMEGA = twoPI / RSIDAY |
22 |
|
|
23 |
! A1.2 Geoide |
! A1.2 Geoide |
24 |
real, parameter:: RG = 9.80665 ! acceleration of gravity, in m s-2 |
real, parameter:: RG = 9.80665 ! acceleration of gravity, in m s-2 |
45 |
real, parameter:: RCPV = 4. * RV |
real, parameter:: RCPV = 4. * RV |
46 |
! specific heat capacity at constant pressure of water vapor, in J K-1 kg-1 |
! specific heat capacity at constant pressure of water vapor, in J K-1 kg-1 |
47 |
|
|
48 |
real, save:: RCVD |
real, parameter:: RCVV = RCPV - RV |
49 |
real, save:: RCVV |
! specific heat capacity at constant volume of water vapor, in J K-1 kg-1 |
50 |
|
|
51 |
real, parameter:: RCPD = 7. / 2 * RD |
real, parameter:: RCPD = 7. / 2 * RD |
52 |
! specific heat capacity at constant pressure of dry air, in J K-1 kg-1 |
! specific heat capacity at constant pressure of dry air, in J K-1 kg-1 |
53 |
|
|
54 |
|
real, parameter:: RCVD = RCPD - RD |
55 |
|
! specific heat capacity at constant volume of dry air, in J K-1 kg-1 |
56 |
|
|
57 |
real, parameter:: RMO3 = 47.9942 |
real, parameter:: RMO3 = 47.9942 |
58 |
REAL, parameter:: RKAPPA = RD/RCPD |
REAL, parameter:: RKAPPA = RD/RCPD |
59 |
real, parameter:: RETV = RV / RD - 1. |
real, parameter:: RETV = RV / RD - 1. |
91 |
|
|
92 |
PRINT *, 'Call sequence information: suphec' |
PRINT *, 'Call sequence information: suphec' |
93 |
|
|
|
! 2. DEFINE ASTRONOMICAL CONSTANTS |
|
|
|
|
|
ROMEGA = 2.*PI/RSIDAY |
|
|
|
|
94 |
print *, 'Astronomical constants ' |
print *, 'Astronomical constants ' |
95 |
print '('' omega = '', E13.7, '' s-1'')', ROMEGA |
print '('' omega = '', E13.7, '' s-1'')', ROMEGA |
96 |
|
|
97 |
! 3. DEFINE GEOIDE. |
print *, 'Geoid:' |
|
|
|
|
print *, ' Geoide ' |
|
98 |
print '('' Gravity = '', E13.7, '' m s-2'')', RG |
print '('' Gravity = '', E13.7, '' m s-2'')', RG |
99 |
print '('' Earth radius = '', E13.7, '' m'')', RA |
print '('' Earth radius = '', E13.7, '' m'')', RA |
100 |
|
|
101 |
! 4. DEFINE RADIATION CONSTANTS. |
print *, 'Radiation constants:' |
|
|
|
|
print *, ' Radiation ' |
|
102 |
print '('' Stefan-Bol. = '', E13.7, '' W m-2 K-4'')', RSIGMA |
print '('' Stefan-Bol. = '', E13.7, '' W m-2 K-4'')', RSIGMA |
103 |
|
|
104 |
! 5. DEFINE THERMODYNAMIC CONSTANTS, GAS PHASE. |
print *, 'Thermodynamical constants, gas phase:' |
|
|
|
|
RCVD = RCPD-RD |
|
|
RCVV = RCPV-RV |
|
|
print *, 'Thermodynamics, gas' |
|
105 |
print *, "rd = ", RD, "J K-1 kg-1" |
print *, "rd = ", RD, "J K-1 kg-1" |
106 |
print *, "rv = ", RV, "J K-1 kg-1" |
print *, "rv = ", RV, "J K-1 kg-1" |
107 |
print '('' Cpd = '', e13.7)', RCPD |
print '('' Cpd = '', e13.7)', RCPD |