CCPP SciDoc v7.0.0  v7.0.0
Common Community Physics Package Developed at DTC
 
Loading...
Searching...
No Matches
machine.F
1
3 module machine
4
5 implicit none
6
7 integer, parameter :: kind_sngl_prec = 4 &
8 &, kind_dbl_prec = 8 &
9# ifdef __pgi
10 &, kind_qdt_prec = 8 &
11# else
12 &, kind_qdt_prec = 16 &
13# endif
14 &, kind_integer = 4 &
15 &, kind_logical = 4
16 &, kind_io4 = kind_sngl_prec &
17 &, kind_ior = kind_dbl_prec &
18 &, kind_grid = kind_dbl_prec
19
20! Physics single precision flag
21#ifndef SINGLE_PREC
22 integer, parameter :: kind_phys = kind_dbl_prec
23#else
24 integer, parameter :: kind_phys = kind_sngl_prec
25#endif
26
27 integer, parameter :: kind_io8 = kind_phys &! Note kind_io8 is not always 8 bytes
28
29! Dynamics single precision flag
30#ifdef OVERLOAD_R4
31 integer, parameter :: kind_dyn = kind_sngl_prec
32#else
33 integer, parameter :: kind_dyn = kind_dbl_prec
34#endif
35
36!
37 real(kind=kind_phys), parameter :: mprec = 1.e-12 ! machine precision to restrict dep
38 real(kind=kind_phys), parameter :: grib_undef = 9.99e20 ! grib undefine value
39!
40 end module machine