ROMS
Loading...
Searching...
No Matches
mod_kinds.F
Go to the documentation of this file.
1#include "cppdefs.h"
2 MODULE mod_kinds
3!
4!git $Id$
5!================================================== Hernan G. Arango ===
6! Copyright (c) 2002-2025 The ROMS Group !
7! Licensed under a MIT/X style license !
8! See License_ROMS.md !
9!=======================================================================
10!
11#ifdef ESMF_LIB
12 USE esmf
13!
14#endif
15 implicit none
16!
17#ifdef ESMF_LIB
18!! integer, parameter :: i1b= ESMF_KIND_I1 ! 8-bit
19 integer, parameter :: i1b= selected_int_kind(1) ! 8-bit
20!! integer, parameter :: i2b= ESMF_KIND_I2 ! 8-bit
21 integer, parameter :: i2b= selected_int_kind(2) ! 8-bit
22 integer, parameter :: i4b= esmf_kind_i4 ! 16-bit
23 integer, parameter :: i8b= esmf_kind_i8 ! 32-bit
24 integer, parameter :: c8 = selected_real_kind(6,30) ! 32-bit
25 integer, parameter :: dp = esmf_kind_r8 ! 64-bit
26 integer, parameter :: r4 = esmf_kind_r4 ! 32-bit
27# ifdef SINGLE_PRECISION
28 integer, parameter :: r8 = esmf_kind_r4 ! 32-bit
29# else
30 integer, parameter :: r8 = esmf_kind_r8 ! 64-bit
31# endif
32#else
33 integer, parameter :: i1b= selected_int_kind(1) ! 8-bit
34 integer, parameter :: i2b= selected_int_kind(2) ! 8-bit
35 integer, parameter :: i4b= selected_int_kind(4) ! 16-bit
36 integer, parameter :: i8b= selected_int_kind(8) ! 32-bit
37 integer, parameter :: c8 = selected_real_kind(6,30) ! 32-bit
38 integer, parameter :: dp = selected_real_kind(12,300) ! 64-bit
39 integer, parameter :: r4 = selected_real_kind(6,30) ! 32-bit
40# ifdef SINGLE_PRECISION
41 integer, parameter :: r8 = selected_real_kind(6,30) ! 32-bit
42# else
43 integer, parameter :: r8 = selected_real_kind(12,300) ! 64-bit
44# endif
45#endif
46#if defined SUN || defined AIX || defined NEC || defined SGI || \
47 defined crayx1 || defined dec
48 integer, parameter :: r16 = selected_real_kind(24,270) !128-bit
49#else
50 integer, parameter :: r16 = selected_real_kind(15,300) !128-bit
51#endif
52
53 END MODULE mod_kinds
integer, parameter c8
Definition mod_kinds.F:24
integer, parameter r4
Definition mod_kinds.F:26
integer, parameter r8
Definition mod_kinds.F:28
integer, parameter r16
Definition mod_kinds.F:50
integer, parameter i8b
Definition mod_kinds.F:23
integer, parameter dp
Definition mod_kinds.F:25
integer, parameter i1b
Definition mod_kinds.F:19
integer, parameter i4b
Definition mod_kinds.F:22
integer, parameter i2b
Definition mod_kinds.F:21