source: LMDZ6/trunk/libf/phylmd/ecrad/parkind1.F90 @ 3981

Last change on this file since 3981 was 3908, checked in by idelkadi, 3 years ago

Online implementation of the radiative transfer code ECRAD in the LMDZ model.

  • Inclusion of the ecrad directory containing the sources of the ECRAD code
    • interface routine : radiation_scheme.F90
  • Adaptation of compilation scripts :
    • compilation under CPP key CPP_ECRAD
    • compilation with option "-rad ecard" or "-ecard true"
    • The "-rad old/rtm/ecran" build option will need to replace the "-rrtm true" and "-ecrad true" options in the future.
  • Runing LMDZ simulations with ecrad, you need :
    • logical key iflag_rrtm = 2 in physiq.def
    • namelist_ecrad (DefLists?)
    • the directory "data" containing the configuration files is temporarily placed in ../libfphylmd/ecrad/
  • Compilation and execution are tested in the 1D case. The repository under svn would allow to continue the implementation work: tests, verification of the results, ...
File size: 1.6 KB
Line 
1! (C) Copyright 2014- ECMWF.
2!
3! This software is licensed under the terms of the Apache Licence Version 2.0
4! which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
5!
6! In applying this licence, ECMWF does not waive the privileges and immunities
7! granted to it by virtue of its status as an intergovernmental organisation
8! nor does it submit to any jurisdiction.
9
10MODULE PARKIND1
11!
12!     *** Define usual kinds for strong typing ***
13!
14IMPLICIT NONE
15PUBLIC
16SAVE
17!
18!     Integer Kinds
19!     -------------
20!
21INTEGER, PARAMETER :: JPIT = SELECTED_INT_KIND(2)
22INTEGER, PARAMETER :: JPIS = SELECTED_INT_KIND(4)
23INTEGER, PARAMETER :: JPIM = SELECTED_INT_KIND(9)
24INTEGER, PARAMETER :: JPIB = SELECTED_INT_KIND(12)
25
26!Special integer type to be used for sensative adress calculations
27!should be *8 for a machine with 8byte adressing for optimum performance
28#ifdef ADDRESS64
29INTEGER, PARAMETER :: JPIA = JPIB
30#else
31INTEGER, PARAMETER :: JPIA = JPIM
32#endif
33
34!
35!     Real Kinds
36!     ----------
37!
38INTEGER, PARAMETER :: JPRT = SELECTED_REAL_KIND(2,1)
39INTEGER, PARAMETER :: JPRS = SELECTED_REAL_KIND(4,2)
40INTEGER, PARAMETER :: JPRM = SELECTED_REAL_KIND(6,37)
41! This parameter should always be double precision as a few parts of
42! the radiation code require it
43INTEGER, PARAMETER :: JPRD = SELECTED_REAL_KIND(13,300)
44
45! This parameter governs the precision of most of the code
46#ifdef SINGLE_PRECISION
47INTEGER, PARAMETER :: JPRB = JPRM
48#else
49INTEGER, PARAMETER :: JPRB = JPRD
50#endif
51!
52
53! Logical Kinds for RTTOV....
54
55INTEGER, PARAMETER :: JPLM = JPIM   !Standard logical type
56
57END MODULE PARKIND1
Note: See TracBrowser for help on using the repository browser.