1 |
|
|
! |
2 |
|
|
! $Id$ |
3 |
|
|
! |
4 |
|
|
SUBROUTINE conf_planete |
5 |
|
|
! |
6 |
|
|
#ifdef CPP_IOIPSL |
7 |
|
|
USE IOIPSL |
8 |
|
|
#else |
9 |
|
|
! if not using IOIPSL, we still need to use (a local version of) getin |
10 |
|
|
USE ioipsl_getincom |
11 |
|
|
#endif |
12 |
|
|
USE comconst_mod, ONLY: pi, g, molmass, kappa, cpp, omeg, rad, & |
13 |
|
|
year_day, daylen, daysec, ihf |
14 |
|
|
USE comvert_mod, ONLY: preff, pa |
15 |
|
|
IMPLICIT NONE |
16 |
|
|
! |
17 |
|
|
! |
18 |
|
|
! Declarations : |
19 |
|
|
! -------------- |
20 |
|
|
|
21 |
|
|
! |
22 |
|
|
! local: |
23 |
|
|
! ------ |
24 |
|
|
|
25 |
|
|
! --------------------------------------------- |
26 |
|
|
! Initialisations de constantes de la dynamique |
27 |
|
|
! --------------------------------------------- |
28 |
|
|
! Pi |
29 |
|
|
pi=2.*asin(1.) |
30 |
|
|
|
31 |
|
|
!Reference surface pressure (Pa) |
32 |
|
|
! 101080 : specific value for CMIP5 aqua/terra planets |
33 |
|
|
! "Specify the initial dry mass to be equivalent to |
34 |
|
|
! a global mean surface pressure (101325 minus 245) Pa." |
35 |
|
|
preff=101080. |
36 |
|
|
CALL getin('preff', preff) |
37 |
|
|
|
38 |
|
|
! Reference pressure at which hybrid coord. become purely pressure |
39 |
|
|
! pa=50000. |
40 |
|
|
pa=preff/2. |
41 |
|
|
CALL getin('pa', pa) |
42 |
|
|
|
43 |
|
|
! Gravity |
44 |
|
|
g=9.80665 |
45 |
|
|
|
46 |
|
|
CALL getin('g',g) |
47 |
|
|
! Molar mass of the atmosphere |
48 |
|
|
|
49 |
|
|
molmass = 28.9644 |
50 |
|
|
CALL getin('molmass',molmass) |
51 |
|
|
! kappa=R/Cp et Cp |
52 |
|
|
|
53 |
|
|
kappa = 2./7. |
54 |
|
|
CALL getin('kappa',kappa) |
55 |
|
|
|
56 |
|
|
cpp=8.3145/molmass/kappa*1000. |
57 |
|
|
CALL getin('cpp',cpp) |
58 |
|
|
! Radius of the planet |
59 |
|
|
|
60 |
|
|
rad = 6371229. |
61 |
|
|
CALL getin('radius',rad) |
62 |
|
|
|
63 |
|
|
! Length of a standard day (s) |
64 |
|
|
daysec=86400. |
65 |
|
|
CALL getin('daysec',daysec) |
66 |
|
|
|
67 |
|
|
! Rotation rate of the planet: |
68 |
|
|
! Length of a solar day, in standard days |
69 |
|
|
daylen = 1. |
70 |
|
|
|
71 |
|
|
CALL getin('daylen',daylen) |
72 |
|
|
! Number of days (standard) per year: |
73 |
|
|
|
74 |
|
|
year_day = 365.25 |
75 |
|
|
CALL getin('year_day',year_day) |
76 |
|
|
! Omega |
77 |
|
|
! omeg=2.*pi/86400. |
78 |
|
|
|
79 |
|
|
omeg=2.*pi/daysec*(1./daylen+1./year_day) |
80 |
|
|
CALL getin('omeg',omeg) |
81 |
|
|
|
82 |
|
|
! Intrinsic heat flux (default: none) (only used if planet_type="giant") |
83 |
|
|
ihf = 0. |
84 |
|
|
call getin('ihf',ihf) |
85 |
|
|
|
86 |
|
|
END SUBROUTINE conf_planete |