1 | !---------------------------------------------------------------------- |
---|
2 | ! NEMO system team, System and Interface for oceanic RElocable Nesting |
---|
3 | !---------------------------------------------------------------------- |
---|
4 | ! |
---|
5 | ! MODULE: phycst |
---|
6 | ! |
---|
7 | ! DESCRIPTION: |
---|
8 | !> @brief This module defines physical constant. |
---|
9 | ! |
---|
10 | !> @author |
---|
11 | !> J.paul |
---|
12 | ! REVISION HISTORY: |
---|
13 | !> @date November, 2013 - Initial Version |
---|
14 | !> @date September, 2015 |
---|
15 | !> - add physical constant to compute meshmask |
---|
16 | ! |
---|
17 | !> @note Software governed by the CeCILL licence (./LICENSE) |
---|
18 | !---------------------------------------------------------------------- |
---|
19 | MODULE phycst |
---|
20 | USE kind ! F90 kind parameter |
---|
21 | |
---|
22 | IMPLICIT NONE |
---|
23 | ! NOTE_avoid_public_variables_if_possible |
---|
24 | |
---|
25 | PUBLIC :: dp_pi !< pi |
---|
26 | PUBLIC :: dp_eps !< epsilon value |
---|
27 | PUBLIC :: dp_rearth !< earth radius [m] |
---|
28 | PUBLIC :: dp_deg2rad !< degree to radian ratio |
---|
29 | PUBLIC :: dp_rad2deg !< radian to degree ratio |
---|
30 | PUBLIC :: dp_delta !< |
---|
31 | PUBLIC :: dp_omega !< earth rotation parameter [s-1] |
---|
32 | PUBLIC :: dp_day !< day [s] |
---|
33 | PUBLIC :: dp_siyea !< sideral year [s] |
---|
34 | PUBLIC :: dp_siday !< sideral day [s] |
---|
35 | |
---|
36 | REAL(dp), PUBLIC :: rday = 24.*60.*60. !: day [s] |
---|
37 | REAL(dp), PUBLIC :: rsiyea !: sideral year [s] |
---|
38 | REAL(dp), PUBLIC :: rsiday !: sideral day [s] |
---|
39 | |
---|
40 | REAL(dp), PARAMETER :: dp_pi = 3.14159274101257_dp |
---|
41 | REAL(dp), PARAMETER :: dp_eps = 0.5 * EPSILON(1._dp) |
---|
42 | REAL(dp), PARAMETER :: dp_rearth = 6371229._dp |
---|
43 | REAL(dp), PARAMETER :: dp_deg2rad = dp_pi/180.0 |
---|
44 | REAL(dp), PARAMETER :: dp_rad2deg = 180.0/dp_pi |
---|
45 | |
---|
46 | REAL(dp), PARAMETER :: dp_day = 24.*60.*60. |
---|
47 | REAL(dp), PARAMETER :: dp_siyea = 365.25_dp * dp_day * & |
---|
48 | & 2._dp * dp_pi / 6.283076_dp |
---|
49 | REAL(dp), PARAMETER :: dp_siday = dp_day / ( 1._dp + dp_day / dp_siyea ) |
---|
50 | |
---|
51 | REAL(dp), PARAMETER :: dp_delta=1.e-5 |
---|
52 | REAL(dp), PARAMETER :: dp_omega= 2._dp * dp_pi / dp_siday |
---|
53 | END MODULE phycst |
---|
54 | |
---|