SURFEX v8.1
General documentation of Surfex
parkind1.F90
Go to the documentation of this file.
1 MODULE parkind1
2 !
3 ! *** Define usual kinds for strong typing ***
4 !
5 IMPLICIT NONE
6 SAVE
7 !
8 ! Integer Kinds
9 ! -------------
10 !
11 INTEGER, PARAMETER :: jpit = selected_int_kind(2)
12 INTEGER, PARAMETER :: jpis = selected_int_kind(4)
13 INTEGER, PARAMETER :: jpim = selected_int_kind(9)
14 INTEGER, PARAMETER :: jpib = selected_int_kind(12)
15 
16 !Special integer type to be used for sensative adress calculations
17 !should be *8 for a machine with 8byte adressing for optimum performance
18 #ifdef ADDRESS64
19 INTEGER, PARAMETER :: jpia = jpib
20 #else
21 INTEGER, PARAMETER :: jpia = jpim
22 #endif
23 
24 !
25 ! Real Kinds
26 ! ----------
27 !
28 INTEGER, PARAMETER :: jprt = selected_real_kind(2,1)
29 INTEGER, PARAMETER :: jprs = selected_real_kind(4,2)
30 INTEGER, PARAMETER :: jprm = selected_real_kind(6,37)
31 #ifdef PARKIND1_SINGLE
32 INTEGER, PARAMETER :: jprb = selected_real_kind(6,37)
33 #else
34 INTEGER, PARAMETER :: jprb = selected_real_kind(13,300)
35 #endif
36 
37 ! Double real for C code and special places requiring
38 ! higher precision.
39 INTEGER, PARAMETER :: jprd = selected_real_kind(13,300)
40 
41 
42 ! Logical Kinds for RTTOV....
43 
44 INTEGER, PARAMETER :: jplm = jpim !Standard logical type
45 
46 END MODULE parkind1
integer, parameter jpim
Definition: parkind1.F90:13
integer, parameter jprt
Definition: parkind1.F90:28
integer, parameter jprd
Definition: parkind1.F90:39
integer, parameter jpis
Definition: parkind1.F90:12
integer, parameter jpit
Definition: parkind1.F90:11
integer, parameter jprs
Definition: parkind1.F90:29
integer, parameter jprb
Definition: parkind1.F90:32
integer, parameter jprm
Definition: parkind1.F90:30
integer, parameter jpia
Definition: parkind1.F90:19
integer, parameter jplm
Definition: parkind1.F90:44
integer, parameter jpib
Definition: parkind1.F90:14