| 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 |
|---|