[3810] | 1 | MODULE earth_const |
---|
| 2 | USE prec |
---|
| 3 | USE math_const |
---|
| 4 | |
---|
| 5 | REAL(rstd),SAVE :: radius=6.37122E6 |
---|
| 6 | REAL(rstd),SAVE :: g=9.80616 |
---|
| 7 | REAL(rstd),PARAMETER :: daysec=86400 |
---|
| 8 | REAL(rstd),SAVE :: omega=7.292E-5 |
---|
| 9 | REAL(rstd),SAVE :: kappa=0.2857143 |
---|
| 10 | REAL(rstd),SAVE :: cpp=1004.70885 |
---|
| 11 | REAL(rstd),SAVE :: preff=101325. |
---|
| 12 | REAL(rstd),SAVE :: pa=50000. |
---|
| 13 | REAL(rstd),SAVE :: scale_height=8000. ! atmospheric scale height (m) |
---|
| 14 | REAL(rstd),SAVE :: scale_factor=1. |
---|
| 15 | REAL(rstd),SAVE :: gas_constant = 8.3144621 |
---|
| 16 | REAL(rstd),SAVE :: mu ! molar mass of the atmosphere |
---|
| 17 | |
---|
| 18 | LOGICAL, SAVE :: boussinesq |
---|
| 19 | |
---|
| 20 | CONTAINS |
---|
| 21 | |
---|
| 22 | SUBROUTINE init_earth_const |
---|
| 23 | USE getin_mod |
---|
| 24 | IMPLICIT NONE |
---|
| 25 | REAL(rstd) :: X=1 |
---|
| 26 | |
---|
| 27 | CALL getin("radius",radius) |
---|
| 28 | CALL getin("g",g) |
---|
| 29 | CALL getin("scale_factor",scale_factor) |
---|
| 30 | CALL getin("omega",omega) |
---|
| 31 | CALL getin("kappa",kappa) |
---|
| 32 | CALL getin("cpp",cpp) |
---|
| 33 | CALL getin("preff",preff) |
---|
| 34 | CALL getin("scale_height",scale_height) |
---|
| 35 | |
---|
| 36 | mu=kappa/cpp |
---|
| 37 | boussinesq=.FALSE. |
---|
| 38 | CALL getin("boussinesq",boussinesq) |
---|
| 39 | |
---|
| 40 | radius=radius/scale_factor |
---|
| 41 | omega=omega*scale_factor |
---|
| 42 | |
---|
| 43 | END SUBROUTINE init_earth_const |
---|
| 44 | |
---|
| 45 | |
---|
| 46 | END MODULE earth_const |
---|
| 47 | |
---|