source: LMDZ6/trunk/libf/phylmd/ecrad/mpl_module.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 MPL_MODULE
11
12USE PARKIND1, ONLY : JPRB
13
14IMPLICIT NONE
15
16PRIVATE
17
18INTERFACE MPL_BROADCAST
19
20  MODULE PROCEDURE MPL_BROADCAST_REAL81, MPL_BROADCAST_REAL82, &
21       &           MPL_BROADCAST_REAL83, MPL_BROADCAST_REAL84
22
23END INTERFACE MPL_BROADCAST
24
25PUBLIC MPL_BROADCAST
26
27CONTAINS
28
29SUBROUTINE MPL_BROADCAST_REAL81(KBUF,KTAG,KROOT,CDSTRING)
30REAL(JPRB)                  :: KBUF(:)
31INTEGER,INTENT(IN)          :: KTAG
32INTEGER,INTENT(IN),OPTIONAL :: KROOT
33CHARACTER*(*),INTENT(IN)    :: CDSTRING
34END SUBROUTINE MPL_BROADCAST_REAL81
35
36SUBROUTINE MPL_BROADCAST_REAL82(KBUF,KTAG,KROOT,CDSTRING)
37REAL(JPRB)                  :: KBUF(:,:)
38INTEGER,INTENT(IN)          :: KTAG
39INTEGER,INTENT(IN),OPTIONAL :: KROOT
40CHARACTER*(*),INTENT(IN)    :: CDSTRING
41END SUBROUTINE MPL_BROADCAST_REAL82
42
43SUBROUTINE MPL_BROADCAST_REAL83(KBUF,KTAG,KROOT,CDSTRING)
44REAL(JPRB)                  :: KBUF(:,:,:)
45INTEGER,INTENT(IN)          :: KTAG
46INTEGER,INTENT(IN),OPTIONAL :: KROOT
47CHARACTER*(*),INTENT(IN)    :: CDSTRING
48END SUBROUTINE MPL_BROADCAST_REAL83
49
50SUBROUTINE MPL_BROADCAST_REAL84(KBUF,KTAG,KROOT,CDSTRING)
51REAL(JPRB)                  :: KBUF(:,:,:,:)
52INTEGER,INTENT(IN)          :: KTAG
53INTEGER,INTENT(IN),OPTIONAL :: KROOT
54CHARACTER*(*),INTENT(IN)    :: CDSTRING
55END SUBROUTINE MPL_BROADCAST_REAL84
56
57END MODULE MPL_MODULE
Note: See TracBrowser for help on using the repository browser.