source: LMDZ4/tags/LMDZ4_V2/libf/phylmd/suphec.F @ 1717

Last change on this file since 1717 was 741, checked in by (none), 18 years ago

This commit was manufactured by cvs2svn to create tag 'LMDZ4_V2'.

  • 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      RMO3=47.9942
119      RMV=18.0153
120      RD=1000.*R/RMD
121      RV=1000.*R/RMV
122      RCPD=3.5*RD
123      RCVD=RCPD-RD
124      RCPV=4. *RV
125      RCVV=RCPV-RV
126      RKAPPA=RD/RCPD
127      RETV=RV/RD-1.
128      WRITE(UNIT=6,FMT='('' *** Thermodynamic, gas     ***'')')
129      WRITE(UNIT=6,FMT='('' Perfect gas  = '',e13.7)') R
130      WRITE(UNIT=6,FMT='('' Dry air mass = '',e13.7)') RMD
131      WRITE(UNIT=6,FMT='('' Ozone   mass = '',e13.7)') RMO3
132      WRITE(UNIT=6,FMT='('' Vapour  mass = '',e13.7)') RMV
133      WRITE(UNIT=6,FMT='('' Dry air cst. = '',e13.7)') RD
134      WRITE(UNIT=6,FMT='('' Vapour  cst. = '',e13.7)') RV
135      WRITE(UNIT=6,FMT='(''         Cpd  = '',e13.7)') RCPD
136      WRITE(UNIT=6,FMT='(''         Cvd  = '',e13.7)') RCVD
137      WRITE(UNIT=6,FMT='(''         Cpv  = '',e13.7)') RCPV
138      WRITE(UNIT=6,FMT='(''         Cvv  = '',e13.7)') RCVV
139      WRITE(UNIT=6,FMT='(''      Rd/Cpd  = '',e13.7)') RKAPPA
140      WRITE(UNIT=6,FMT='(''     Rv/Rd-1  = '',e13.7)') RETV
141C
142C     ----------------------------------------------------------------
143C
144C*       6.    DEFINE THERMODYNAMIC CONSTANTS, LIQUID PHASE.
145C              ---------------------------------------------
146C
147      RCW=RCPV
148      WRITE(UNIT=6,FMT='('' *** Thermodynamic, liquid  ***'')')
149      WRITE(UNIT=6,FMT='(''         Cw   = '',E13.7)') RCW
150C
151C     ----------------------------------------------------------------
152C
153C*       7.    DEFINE THERMODYNAMIC CONSTANTS, SOLID PHASE.
154C              --------------------------------------------
155C
156      RCS=RCPV
157      WRITE(UNIT=6,FMT='('' *** thermodynamic, solid   ***'')')
158      WRITE(UNIT=6,FMT='(''         Cs   = '',E13.7)') RCS
159C
160C     ----------------------------------------------------------------
161C
162C*       8.    DEFINE THERMODYNAMIC CONSTANTS, TRANSITION OF PHASE.
163C              ----------------------------------------------------
164C
165      RTT=273.16
166      RLVTT=2.5008E+6
167      RLSTT=2.8345E+6
168      RLMLT=RLSTT-RLVTT
169      RATM=100000.
170      WRITE(UNIT=6,FMT='('' *** Thermodynamic, trans.  ***'')')
171      WRITE(UNIT=6,FMT='('' Fusion point  = '',E13.7)') RTT
172      WRITE(UNIT=6,FMT='(''        RLvTt  = '',E13.7)') RLVTT
173      WRITE(UNIT=6,FMT='(''        RLsTt  = '',E13.7)') RLSTT
174      WRITE(UNIT=6,FMT='(''        RLMlt  = '',E13.7)') RLMLT
175      WRITE(UNIT=6,FMT='('' Normal press. = '',E13.7)') RATM
176      WRITE(UNIT=6,FMT='('' Latent heat :  '')')
177C
178C     ----------------------------------------------------------------
179C
180C*       9.    SATURATED VAPOUR PRESSURE.
181C              --------------------------
182C
183      RESTT=611.14
184      RGAMW=(RCW-RCPV)/RV
185      RBETW=RLVTT/RV+RGAMW*RTT
186      RALPW=LOG(RESTT)+RBETW/RTT+RGAMW*LOG(RTT)
187      RGAMS=(RCS-RCPV)/RV
188      RBETS=RLSTT/RV+RGAMS*RTT
189      RALPS=LOG(RESTT)+RBETS/RTT+RGAMS*LOG(RTT)
190      RGAMD=RGAMS-RGAMW
191      RBETD=RBETS-RBETW
192      RALPD=RALPS-RALPW
193C
194C     ------------------------------------------------------------------
195c
196c calculer les constantes pour les fonctions thermodynamiques
197c
198      RVTMP2=RCPV/RCPD-1.
199      RHOH2O=RATM/100.
200      R2ES=RESTT*RD/RV
201      R3LES=17.269
202      R3IES=21.875
203      R4LES=35.86
204      R4IES=7.66
205      R5LES=R3LES*(RTT-R4LES)
206      R5IES=R3IES*(RTT-R4IES)
207C
208      RETURN
209      END
Note: See TracBrowser for help on using the repository browser.