/[lmdze]/trunk/phylmd/suphec.f90
ViewVC logotype

Diff of /trunk/phylmd/suphec.f90

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

trunk/libf/phylmd/suphec.f90 revision 53 by guez, Fri Oct 7 13:11:58 2011 UTC trunk/phylmd/suphec.f90 revision 328 by guez, Thu Jun 13 14:40:06 2019 UTC
# Line 1  Line 1 
1  module suphec_m  module suphec_m
2    
3      use nr_util, only: pi, twoPI
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
10    real, parameter:: RHPLA = 6.6260755E-34    real, parameter:: KBOL = 1.380658E-23 ! Boltzmann constant, in J K-1
11    real, parameter:: RKBOL = 1.380658E-23 ! Boltzmann constant, in J K-1    real, parameter:: NAVO = 6.0221367E23 ! Avogadro number, in mol-1
   real, parameter:: RNAVO = 6.0221367E+23 ! Avogadro number, in mol-1  
12    
13    ! A1.1 Astronomical constants    ! A1.1 Astronomical constants
14    REAL RSIYEA, RSIDAY, ROMEGA  
15    real, parameter:: RDAY = 86400.    real, parameter:: RDAY = 86400.
16    real, parameter:: REA = 149597870000.  
17    real, parameter:: REPSM = 0.409093    REAL, parameter:: RSIYEA = 365.25 * RDAY * 2. * PI / 6.283076
18      ! sideral year, in s
19    
20      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
25    real, parameter:: RA = 6371229.    real, parameter:: RA = 6371229.
26    
27    ! A1.3 Radiation    ! A1.3 Radiation
28    REAL RSIGMA    REAL, parameter:: rsigma = 2. * pi**5 * (kbol / rhpla)**3 * kbol / rclum**2 &
29           / 15.
30    
31    ! A1.4 Thermodynamic gas phase    ! A1.4 Thermodynamic gas phase
32    REAL, parameter:: R = RNAVO * RKBOL ! ideal gas constant, in J K-1 mol-1    REAL, parameter:: R = NAVO * KBOL ! ideal gas constant, in J K-1 mol-1
33    real RV, RCPV, RCVD, RCVV    real, parameter:: MV = 18.0153 ! molar mass of water, in g mol-1
34    real, parameter:: RMD = 28.9644 ! molar mass of dry air, in g mol-1  
35      real, parameter:: RV = 1e3 * R / MV
36      ! specific ideal gas constant for water vapor, in J K-1 kg-1
37      ! (factor 1e3: conversion from g to kg)
38    
39    real, parameter:: RD = 1000. * R / RMD    real, parameter:: MD = 28.9644 ! molar mass of dry air, in g mol-1
40    
41      real, parameter:: RD = 1e3 * R / MD
42    ! 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
43    ! (factor 1000: conversion from g to kg)    ! (factor 1e3: conversion from g to kg)
44    
45      real, parameter:: RCPV = 4. * RV
46      ! specific heat capacity at constant pressure of water vapor, in J K-1 kg-1
47    
48      real, parameter:: RCVV = RCPV - RV
49      ! 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 for 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
   real, parameter:: RMV = 18.0153  
58    REAL, parameter:: RKAPPA = RD/RCPD    REAL, parameter:: RKAPPA = RD/RCPD
59    real RETV    real, parameter:: RETV = RV / RD - 1.
60    
61    ! A1.5, 6 Thermodynamic liquid, solid phases    ! A1.5, 6 Thermodynamic liquid, solid phases
62    REAL RCW, RCS  
63      REAL, parameter:: RCW = RCPV ! LIQUID PHASE Cw
64      real, save:: RCS
65    
66    ! A1.7 Thermodynamic transition of phase    ! A1.7 Thermodynamic transition of phase
67    REAL RLMLT    REAL, save:: RLMLT
68    real, parameter:: RTT = 273.16    real, parameter:: RTT = 273.16
69    real, parameter:: RLVTT = 2.5008E+6  
70      real, parameter:: RLVTT = 2.5008E+6
71      ! specific latent heat of vaporization of water at triple point, in J kg-1
72    
73    real, parameter:: RLSTT = 2.8345E+6    real, parameter:: RLSTT = 2.8345E+6
74    real, parameter:: RATM = 100000.    real, parameter:: RATM = 1e5
75    
76    ! A1.8 Curve of saturation    ! A1.8 Curve of saturation
77    REAL RALPW, RBETW, RGAMW, RALPS, RBETS, RGAMS    REAL, save:: RALPW, RBETW, RGAMW, RALPS, RBETS, RGAMS
78    real, parameter:: RESTT = 611.14    real, parameter:: RESTT = 611.14
79    REAL RALPD, RBETD, RGAMD    REAL, save:: RALPD, RBETD, RGAMD
80    
81    save    private pi
82    
83  contains  contains
84    
# Line 67  contains Line 91  contains
91    
92      PRINT *, 'Call sequence information: suphec'      PRINT *, 'Call sequence information: suphec'
93    
     ! 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  
     print '('' K = '', E13.7, ''J K-1'')', RKBOL  
     print '('' N = '', E13.7, ''mol-1'')', RNAVO  
   
     ! 2. DEFINE ASTRONOMICAL CONSTANTS  
   
     RSIYEA = 365.25*RDAY*2.*RPI/6.283076  
     RSIDAY = RDAY/(1.+RDAY/RSIYEA)  
     ROMEGA = 2.*RPI/RSIDAY  
   
94      print *, 'Astronomical constants '      print *, 'Astronomical constants '
     print '('' day = '', E13.7, '' s'')', RDAY  
     print '('' half g. axis = '', E13.7, '' m'')', REA  
     print '('' mean anomaly = '', E13.7, '' -'')', REPSM  
     print '('' sideral year = '', E13.7, '' s'')', RSIYEA  
     print '('' sideral day = '', E13.7, '' s'')', RSIDAY  
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:'
   
     rsigma = 2.*rpi**5 * (rkbol/rhpla)**3 * rkbol/rclum/rclum/15.  
     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:'
105        print *, "rd = ", RD, "J K-1 kg-1"
106      RV = 1000.*R/RMV      print *, "rv = ", RV, "J K-1 kg-1"
     RCVD = RCPD-RD  
     RCPV = 4. *RV  
     RCVV = RCPV-RV  
     RETV = RV/RD-1.  
     print *, 'Thermodynamic, gas '  
     print '('' Perfect gas = '', e13.7)', R  
     print '('' Ozone mass = '', e13.7)', RMO3  
     print '('' Vapour mass = '', e13.7)', RMV  
     print '('' Dry air constant = '', e13.7)', RD  
     print '('' Vapour constant = '', e13.7)', RV  
107      print '('' Cpd = '', e13.7)', RCPD      print '('' Cpd = '', e13.7)', RCPD
108      print '('' Cvd = '', e13.7)', RCVD      print '('' Cvd = '', e13.7)', RCVD
     print '('' Cpv = '', e13.7)', RCPV  
109      print '('' Cvv = '', e13.7)', RCVV      print '('' Cvv = '', e13.7)', RCVV
110      print '('' Rd/Cpd = '', e13.7)', RKAPPA      print '('' Rd/Cpd = '', e13.7)', RKAPPA
111      print '('' Rv/Rd-1 = '', e13.7)', RETV      print '('' Rv / Rd - 1 = '', e13.7)', RETV
   
     ! 6. DEFINE THERMODYNAMIC CONSTANTS, LIQUID PHASE.  
   
     RCW = RCPV  
     print *, 'Thermodynamic, liquid '  
     print '('' Cw = '', E13.7)', RCW  
112    
113      ! 7. DEFINE THERMODYNAMIC CONSTANTS, SOLID PHASE.      ! 7. DEFINE THERMODYNAMIC CONSTANTS, SOLID PHASE.
114    
# Line 139  contains Line 119  contains
119      ! 8. DEFINE THERMODYNAMIC CONSTANTS, TRANSITION OF PHASE.      ! 8. DEFINE THERMODYNAMIC CONSTANTS, TRANSITION OF PHASE.
120    
121      RLMLT = RLSTT-RLVTT      RLMLT = RLSTT-RLVTT
122      print *, 'Thermodynamic, trans. '      print *, 'Thermodynamic, transition of phase:'
123      print '('' Fusion point = '', E13.7)', RTT      print '('' Fusion point = '', E13.7)', RTT
     print '('' RLvTt = '', E13.7)', RLVTT  
124      print '('' RLsTt = '', E13.7)', RLSTT      print '('' RLsTt = '', E13.7)', RLSTT
125      print '('' RLMlt = '', E13.7)', RLMLT      print '('' RLMlt = '', E13.7)', RLMLT
126      print '('' Normal press. = '', E13.7)', RATM      print '('' Normal pressure = '', E13.7)', RATM
127    
128      ! 9. SATURATED VAPOUR PRESSURE.      ! 9. SATURATED VAPOUR PRESSURE.
129    

Legend:
Removed from v.53  
changed lines
  Added in v.328

  ViewVC Help
Powered by ViewVC 1.1.21