source: LMDZ4/trunk/libf/phylmd/suphec.F @ 644

Last change on this file since 644 was 524, checked in by lmdzadmin, 21 years ago

Initial revision

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 7.0 KB
Line 
1!
2! $Header$
3!
4      SUBROUTINE suphec
5C
6#include "YOMCST.h"
7#include "YOETHF.h"
8cIM cf. JLD
9       LOGICAL firstcall
10       SAVE firstcall
11       DATA firstcall /.TRUE./
12       IF (firstcall) THEN
13         PRINT*, 'suphec initialise les constantes du GCM'
14         firstcall = .FALSE.
15       ELSE
16         PRINT*, 'suphec DEJA APPELE '
17         RETURN
18       ENDIF
19C      -----------------------------------------------------------------
20C
21C*       1.    DEFINE FUNDAMENTAL CONSTANTS.
22C              -----------------------------
23C
24      WRITE(UNIT=6,FMT='(''0*** Constants of the ICM   ***'')')
25      RPI=2.*ASIN(1.)
26      RCLUM=299792458.
27      RHPLA=6.6260755E-34
28      RKBOL=1.380658E-23
29      RNAVO=6.0221367E+23
30      WRITE(UNIT=6,FMT='('' *** Fundamental constants ***'')')
31      WRITE(UNIT=6,FMT='(''           PI = '',E13.7,'' -'')')RPI
32      WRITE(UNIT=6,FMT='(''            c = '',E13.7,''m s-1'')')
33     S RCLUM
34      WRITE(UNIT=6,FMT='(''            h = '',E13.7,''J s'')')
35     S RHPLA
36      WRITE(UNIT=6,FMT='(''            K = '',E13.7,''J K-1'')')
37     S RKBOL
38      WRITE(UNIT=6,FMT='(''            N = '',E13.7,''mol-1'')')
39     S RNAVO
40C
41C     ----------------------------------------------------------------
42C
43C*       2.    DEFINE ASTRONOMICAL CONSTANTS.
44C              ------------------------------
45C
46      RDAY=86400.
47      REA=149597870000.
48      REPSM=0.409093
49C
50      RSIYEA=365.25*RDAY*2.*RPI/6.283076
51      RSIDAY=RDAY/(1.+RDAY/RSIYEA)
52      ROMEGA=2.*RPI/RSIDAY
53c
54c exp1      R_ecc = 0.05
55c exp1      R_peri = 102.04
56c exp1      R_incl = 22.5
57c exp1      print*, 'Parametres orbitaux modifies'
58c ref      R_ecc = 0.016724
59c ref      R_peri = 102.04
60c ref      R_incl = 23.5
61c
62cIM 161002 : pour avoir les ctes AMIP II
63cIM 161002   R_ecc = 0.016724
64cIM 161002   R_peri = 102.04
65cIM 161002   R_incl = 23.5
66cIM on mets R_ecc, R_peri, R_incl dans conf_phys.F90
67c     R_ecc = 0.016715
68c     R_peri = 102.7
69c     R_incl = 23.441
70c
71      WRITE(UNIT=6,FMT='('' *** Astronomical constants ***'')')
72      WRITE(UNIT=6,FMT='(''          day = '',E13.7,'' s'')')RDAY
73      WRITE(UNIT=6,FMT='('' half g. axis = '',E13.7,'' m'')')REA
74      WRITE(UNIT=6,FMT='('' mean anomaly = '',E13.7,'' -'')')REPSM
75      WRITE(UNIT=6,FMT='('' sideral year = '',E13.7,'' s'')')RSIYEA
76      WRITE(UNIT=6,FMT='(''  sideral day = '',E13.7,'' s'')')RSIDAY
77      WRITE(UNIT=6,FMT='(''        omega = '',E13.7,'' s-1'')')
78     S                  ROMEGA
79c     write(unit=6,fmt='('' excentricite = '',e13.7,''-'')')R_ecc
80c     write(unit=6,fmt='(''     equinoxe = '',e13.7,''-'')')R_peri
81c     write(unit=6,fmt='(''  inclinaison = '',e13.7,''-'')')R_incl
82C
83C     ------------------------------------------------------------------
84C
85C*       3.    DEFINE GEOIDE.
86C              --------------
87C
88      RG=9.80665
89      RA=6371229.
90      R1SA=SNGL(1.D0/DBLE(RA))
91      WRITE(UNIT=6,FMT='('' ***         Geoide         ***'')')
92      WRITE(UNIT=6,FMT='(''      Gravity = '',E13.7,'' m s-2'')')
93     S      RG
94      WRITE(UNIT=6,FMT='('' Earth radius = '',E13.7,'' m'')')RA
95      WRITE(UNIT=6,FMT='('' Inverse E.R. = '',E13.7,'' m'')')R1SA
96C
97C     -----------------------------------------------------------------
98C
99C*       4.    DEFINE RADIATION CONSTANTS.
100C              ---------------------------
101C
102c z.x.li      RSIGMA=2. * RPI**5 * RKBOL**4 /(15.* RCLUM**2 * RHPLA**3)
103      rsigma = 2.*rpi**5 * (rkbol/rhpla)**3 * rkbol/rclum/rclum/15.
104cIM init. dans conf_phys.F90   RI0=1365.
105      WRITE(UNIT=6,FMT='('' ***        Radiation       ***'')')
106      WRITE(UNIT=6,FMT='('' Stefan-Bol.  = '',E13.7,'' W m-2 K-4''
107     S )')  RSIGMA
108cIM init. dans conf_phys.F90   WRITE(UNIT=6,FMT='('' Solar const. = '',E13.7,'' W m-2'')')
109cIM init. dans conf_phys.F90  S      RI0
110C
111C     -----------------------------------------------------------------
112C
113C*       5.    DEFINE THERMODYNAMIC CONSTANTS, GAS PHASE.
114C              ------------------------------------------
115C
116      R=RNAVO*RKBOL
117      RMD=28.9644
118      RMV=18.0153
119      RD=1000.*R/RMD
120      RV=1000.*R/RMV
121      RCPD=3.5*RD
122      RCVD=RCPD-RD
123      RCPV=4. *RV
124      RCVV=RCPV-RV
125      RKAPPA=RD/RCPD
126      RETV=RV/RD-1.
127      WRITE(UNIT=6,FMT='('' *** Thermodynamic, gas     ***'')')
128      WRITE(UNIT=6,FMT='('' Perfect gas  = '',e13.7)') R
129      WRITE(UNIT=6,FMT='('' Dry air mass = '',e13.7)') RMD
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
139C
140C     ----------------------------------------------------------------
141C
142C*       6.    DEFINE THERMODYNAMIC CONSTANTS, LIQUID PHASE.
143C              ---------------------------------------------
144C
145      RCW=RCPV
146      WRITE(UNIT=6,FMT='('' *** Thermodynamic, liquid  ***'')')
147      WRITE(UNIT=6,FMT='(''         Cw   = '',E13.7)') RCW
148C
149C     ----------------------------------------------------------------
150C
151C*       7.    DEFINE THERMODYNAMIC CONSTANTS, SOLID PHASE.
152C              --------------------------------------------
153C
154      RCS=RCPV
155      WRITE(UNIT=6,FMT='('' *** thermodynamic, solid   ***'')')
156      WRITE(UNIT=6,FMT='(''         Cs   = '',E13.7)') RCS
157C
158C     ----------------------------------------------------------------
159C
160C*       8.    DEFINE THERMODYNAMIC CONSTANTS, TRANSITION OF PHASE.
161C              ----------------------------------------------------
162C
163      RTT=273.16
164      RLVTT=2.5008E+6
165      RLSTT=2.8345E+6
166      RLMLT=RLSTT-RLVTT
167      RATM=100000.
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 :  '')')
175C
176C     ----------------------------------------------------------------
177C
178C*       9.    SATURATED VAPOUR PRESSURE.
179C              --------------------------
180C
181      RESTT=611.14
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
191C
192C     ------------------------------------------------------------------
193c
194c calculer les constantes pour les fonctions thermodynamiques
195c
196      RVTMP2=RCPV/RCPD-1.
197      RHOH2O=RATM/100.
198      R2ES=RESTT*RD/RV
199      R3LES=17.269
200      R3IES=21.875
201      R4LES=35.86
202      R4IES=7.66
203      R5LES=R3LES*(RTT-R4LES)
204      R5IES=R3IES*(RTT-R4IES)
205C
206      RETURN
207      END
Note: See TracBrowser for help on using the repository browser.