1 | !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
---|
2 | ! NASA/GSFC, Data Assimilation Office, Code 910.3, GEOS/DAS ! |
---|
3 | !----------------------------------------------------------------------- |
---|
4 | ! CVS $Id$ |
---|
5 | ! CVS $Name$ |
---|
6 | !----------------------------------------------------------------------- |
---|
7 | !BOP |
---|
8 | ! |
---|
9 | ! !MODULE: m_realkinds - real KIND definitions |
---|
10 | ! |
---|
11 | ! !DESCRIPTION: |
---|
12 | ! |
---|
13 | ! !INTERFACE: |
---|
14 | |
---|
15 | module m_realkinds |
---|
16 | implicit none |
---|
17 | private ! except |
---|
18 | |
---|
19 | public :: kind_r4 ! real*4 |
---|
20 | public :: kind_r8 ! real*8 |
---|
21 | public :: kind_r ! default real |
---|
22 | public :: SP ! default REAL |
---|
23 | public :: DP ! default DOUBLE_PRECISION |
---|
24 | public :: FP ! general floating point precision |
---|
25 | |
---|
26 | real*4,parameter :: mpeuR4=1. |
---|
27 | real*8,parameter :: mpeuR8=1. |
---|
28 | real, parameter :: mpeuR =1. |
---|
29 | |
---|
30 | #ifdef SELECTEDREALKIND |
---|
31 | integer,parameter :: SP = selected_real_kind( 6) ! 32-bit real, on most platforms |
---|
32 | integer,parameter :: DP = selected_real_kind(12) ! 64-bit real, on most platforms |
---|
33 | #else |
---|
34 | integer,parameter :: SP = kind(1. ) |
---|
35 | integer,parameter :: DP = kind(1.D0) |
---|
36 | #endif |
---|
37 | |
---|
38 | ! Set the current default floating point precision |
---|
39 | integer,parameter :: FP = DP |
---|
40 | |
---|
41 | integer,parameter :: kind_r4=kind(mpeuR4) |
---|
42 | integer,parameter :: kind_r8=kind(mpeuR8) |
---|
43 | integer,parameter :: kind_r =kind(mpeuR ) |
---|
44 | |
---|
45 | ! !REVISION HISTORY: |
---|
46 | ! 19Feb98 - Jing Guo <guo@thunder> - initial prototype/prolog/code |
---|
47 | ! 23Jan03 - R. Jacob <jacob@mcs.anl.gov> - add FP |
---|
48 | !EOP |
---|
49 | !_______________________________________________________________________ |
---|
50 | character(len=*),parameter :: myname='MCT(MPEU)::m_realkinds' |
---|
51 | |
---|
52 | end module m_realkinds |
---|