source: trunk/LMDZ.VENUS/libf/phyvenus/suphec.F @ 3884

Last change on this file since 3884 was 3884, checked in by ikovalenko, 4 months ago
File size: 5.2 KB
Line 
1      MODULE suphec_mod
2
3      USE YOMCST_mod
4     
5      IMPLICIT NONE
6     
7      CONTAINS
8     
9      SUBROUTINE suphec(cpp_)
10C
11C      include "YOMCST.h"
12cIM cf. JLD
13       REAL,INTENT(IN) :: cpp_   ! from dynamics
14
15       LOGICAL, SAVE :: firstcall=.true.
16!$OMP THREADPRIVATE(firstcall)
17
18       IF (firstcall) THEN
19         PRINT*, 'suphec initialize some physics constants'
20         firstcall = .FALSE.
21       ELSE
22         PRINT*, 'suphec HAS ALREADY BEEN CALLED '
23         RETURN
24       ENDIF
25C      -----------------------------------------------------------------
26C
27C*       1.    DEFINE FUNDAMENTAL CONSTANTS.
28C              -----------------------------
29C
30      WRITE(UNIT=6,FMT='(''0*** Constants of the ICM   ***'')')
31      RPI=2.*ASIN(1.)
32      RCLUM=299792458.
33      RHPLA=6.6260755E-34
34      RKBOL=1.380658E-23
35      RNAVO=6.0221367E+23
36      WRITE(UNIT=6,FMT='('' *** Fundamental constants ***'')')
37      WRITE(UNIT=6,FMT='(''           PI = '',E13.7,'' -'')')RPI
38      WRITE(UNIT=6,FMT='(''            c = '',E13.7,''m s-1'')')
39     S RCLUM
40      WRITE(UNIT=6,FMT='(''            h = '',E13.7,''J s'')')
41     S RHPLA
42      WRITE(UNIT=6,FMT='(''            K = '',E13.7,''J K-1'')')
43     S RKBOL
44      WRITE(UNIT=6,FMT='(''            N = '',E13.7,''mol-1'')')
45     S RNAVO
46C
47C     ----------------------------------------------------------------
48C
49C*       2.    DEFINE ASTRONOMICAL CONSTANTS.
50C              ------------------------------
51C
52c TERRE
53c     RDAY=86400.
54c     REA=149597870000.
55c     REPSM=0.409093
56C
57c     RSIYEA=365.25*RDAY*2.*RPI/6.283076
58c 1/(duree du jour) = 1/(periode rotation) - 1/(periode revolution)
59c     RSIDAY=RDAY/(1.+RDAY/RSIYEA)
60c     ROMEGA=2.*RPI/RSIDAY
61
62c VENUS
63      RSIDAY=20.9961e6   ! 243.01 j
64      RSIYEA=19.4141e6   ! 224.7 j
65      ROMEGA=2.*RPI/RSIDAY
66c 1/(duree du jour) = 1/(periode rotation) + 1/(periode revolution)
67      RDAY=RSIDAY/(1.+RSIDAY/RSIYEA) ! 116.748 j
68      REA=108.15e9
69      REPSM=0.  ! 0. veut dire qu'on commence au point vernal
70c
71cIM on mets R_ecc, R_peri, R_incl dans conf_phys.F90
72
73      WRITE(UNIT=6,FMT='('' *** Astronomical constants ***'')')
74      WRITE(UNIT=6,FMT='(''          day = '',E13.7,'' s'')')RDAY
75      WRITE(UNIT=6,FMT='('' half g. axis = '',E13.7,'' m'')')REA
76      WRITE(UNIT=6,FMT='('' mean anomaly = '',E13.7,'' -'')')REPSM
77      WRITE(UNIT=6,FMT='('' sideral year = '',E13.7,'' s'')')RSIYEA
78      WRITE(UNIT=6,FMT='(''  sideral day = '',E13.7,'' s'')')RSIDAY
79      WRITE(UNIT=6,FMT='(''        omega = '',E13.7,'' s-1'')')
80     S                  ROMEGA
81c     write(unit=6,fmt='('' excentricite = '',e13.7,''-'')')R_ecc
82c     write(unit=6,fmt='(''     equinoxe = '',e13.7,''-'')')R_peri
83c     write(unit=6,fmt='(''  inclinaison = '',e13.7,''-'')')R_incl
84C
85C     ------------------------------------------------------------------
86C
87C*       3.    DEFINE GEOIDE.
88C              --------------
89C
90c TERRE
91c     RG=9.80665
92c     RA=6371229.
93
94c VENUS
95      RG=8.87
96      RA=6051300.
97
98      R1SA=SNGL(1.D0/DBLE(RA))
99      WRITE(UNIT=6,FMT='('' ***         Geoide         ***'')')
100      WRITE(UNIT=6,FMT='(''       Gravity = '',E13.7,'' m s-2'')')
101     S      RG
102      WRITE(UNIT=6,FMT='('' Planet radius = '',E13.7,'' m'')')RA
103      WRITE(UNIT=6,FMT='(''  Inverse P.R. = '',E13.7,'' m-1'')')R1SA
104C
105C     -----------------------------------------------------------------
106C
107C*       4.    DEFINE RADIATION CONSTANTS.
108C              ---------------------------
109C
110c z.x.li      RSIGMA=2. * RPI**5 * RKBOL**4 /(15.* RCLUM**2 * RHPLA**3)
111      rsigma = 2.*rpi**5 * (rkbol/rhpla)**3 * rkbol/rclum/rclum/15.
112cIM init. dans conf_phys.F90   RI0=1365.
113      WRITE(UNIT=6,FMT='('' ***        Radiation       ***'')')
114      WRITE(UNIT=6,FMT='('' Stefan-Bol.  = '',E13.7,'' W m-2 K-4''
115     S )')  RSIGMA
116cIM init. dans conf_phys.F90   WRITE(UNIT=6,FMT='('' Solar const. = '',E13.7,'' W m-2'')')
117cIM init. dans conf_phys.F90  S      RI0
118C
119C     -----------------------------------------------------------------
120C
121C*       5.    DEFINE THERMODYNAMIC CONSTANTS, GAS PHASE.
122C              ------------------------------------------
123C
124      R=RNAVO*RKBOL
125c TERRE
126c     RMD=28.9644
127      RMV=18.0153
128
129c VENUS
130      RMD=43.44
131
132      RD=1000.*R/RMD
133      RV=1000.*R/RMV
134c TERRE
135c     RCPD=3.5*RD
136      RCPV=4. *RV
137c VENUS
138! ADAPTATION GCM POUR CP(T)
139! VENUS: Cp(T) = RCPD*(T/T0)^nu (RCPD phys = cpp dyn)
140! avec RCPD=1000., T0=460. et nu=0.35
141      RCPD=cpp_
142
143      RCVD=RCPD-RD
144      RCVV=RCPV-RV
145      RKAPPA=RD/RCPD
146      RETV=RV/RD-1.
147      WRITE(UNIT=6,FMT='('' *** Thermodynamic, gas     ***'')')
148      WRITE(UNIT=6,FMT='('' Perfect gas  = '',e13.7)') R
149      WRITE(UNIT=6,FMT='('' Dry air mass = '',e13.7)') RMD
150      WRITE(UNIT=6,FMT='('' Vapour  mass = '',e13.7)') RMV
151      WRITE(UNIT=6,FMT='('' Dry air cst. = '',e13.7)') RD
152      WRITE(UNIT=6,FMT='('' Vapour  cst. = '',e13.7)') RV
153      WRITE(UNIT=6,FMT='(''        Cpd0  = '',e13.7)') RCPD
154      WRITE(UNIT=6,FMT='(''         Cvd  = '',e13.7)') RCVD
155      WRITE(UNIT=6,FMT='(''         Cpv  = '',e13.7)') RCPV
156      WRITE(UNIT=6,FMT='(''         Cvv  = '',e13.7)') RCVV
157      WRITE(UNIT=6,FMT='(''     Rd/Cpd0  = '',e13.7)') RKAPPA
158      WRITE(UNIT=6,FMT='(''     Rv/Rd-1  = '',e13.7)') RETV
159C
160
161      END SUBROUTINE suphec
162
163      END MODULE suphec_mod
Note: See TracBrowser for help on using the repository browser.