source: LMDZ6/branches/IPSLCM6.0.13/libf/phylmd/rrtm/yomrcoef.F90 @ 3040

Last change on this file since 3040 was 2010, checked in by Laurent Fairhead, 11 years ago

Modifications pour OpenMP


OpenMP modifications

  • Property copyright set to
    Name of program: LMDZ
    Creation date: 1984
    Version: LMDZ5
    License: CeCILL version 2
    Holder: Laboratoire de m\'et\'eorologie dynamique, CNRS, UMR 8539
    See the license file in the root directory
File size: 3.0 KB
Line 
1MODULE YOMRCOEF
2
3USE PARKIND1  ,ONLY : JPIM     ,JPRB
4
5IMPLICIT NONE
6
7SAVE
8
9!   -----------------------------------------------------------------
10
11!*   Logical switches for writing and reading the radiation coefficients
12!    in file or in core
13
14!    LRCOEF                       : switch for write out and read
15!                                   the radiation coefficients in file
16
17!*   Logical switch connected with the simplified radiation
18
19!    LTLADDIA    : switch for using diabatic adjoint and then reading
20!                  rad.coef. at each time step when LRAYSP
21!    LGLOBRAD    : switch to compute the global mean for the thermal
22!                  radiation matrix
23
24!*   Number of arrays for radiation coefficients
25
26!    NG3SR                        : number of 3D fields (NFLEVG)
27!    NGMTR                        : number of matrices (0:NFLEVG,0:NFLEVG)
28!    NLATWR                       : number of latitude to be written
29!    NLATRD                       : number of latitude to be read
30
31!*   Packing factors and mio package files
32
33!    NPCKFSR                      : packing factor for 3D fields
34!    NPCKFTHR                     : packing factor for matrices
35!    NEXPBSR                      : number of bits used for exponent when
36!                                   packing
37!    NEXPBTHR                     : number of bits used for exponent when
38!                                   packing
39
40!*   Buffer for radiation coefficients
41
42!    NLENGSRB                       : length of buffer for 3D solar radiation
43!                                     coefficients and correction for thermal
44!                                     radiation
45!    NLENGTRB                       : length of buffer for matrix of thermal
46!                                     radiation coefficients
47!    SOLRAD(NLENGSRB)               : buffer for 3D fields
48!    THERRAD(NSLBR/NGPBLKS/1,NLENGTRB): buffer for matrix
49!                                     for 3D fields
50
51!*   Buffer for simplified thermal radiation
52
53!    TRWEIGHT(NFLEVG+1,NFLEVG+1) : buffer for sum of mean weights
54!                                  for the whole domain
55!    TRMATSUM(NFLEVG+1,NFLEVG+1) : buffer for sum of thermal radiation
56!                                  matrices for the whole domain
57
58LOGICAL :: LRCOEF
59LOGICAL :: LTLADDIA
60LOGICAL :: LGLOBRAD
61
62INTEGER(KIND=JPIM) :: NG3SR
63INTEGER(KIND=JPIM) :: NGMTR
64INTEGER(KIND=JPIM) :: NLATWR
65INTEGER(KIND=JPIM) :: NLATRD
66
67INTEGER(KIND=JPIM) :: NPCKFSR
68INTEGER(KIND=JPIM) :: NPCKFTHR
69INTEGER(KIND=JPIM) :: NEXPBSR
70INTEGER(KIND=JPIM) :: NEXPBTHR
71
72INTEGER(KIND=JPIM) :: NLENGSRB
73INTEGER(KIND=JPIM) :: NLENGTRB
74
75REAL(KIND=JPRB),ALLOCATABLE:: SOLRAD(:)
76REAL(KIND=JPRB),ALLOCATABLE:: THERRAD(:,:)
77
78REAL(KIND=JPRB),ALLOCATABLE:: TRWEIGHT(:,:)
79REAL(KIND=JPRB),ALLOCATABLE:: TRMATSUM(:,:)
80
81!   ----------------------------------------------------------------
82!$OMP THREADPRIVATE(lglobrad,lrcoef,ltladdia,nexpbsr,nexpbthr,ng3sr,ngmtr,nlatrd,nlatwr,nlengsrb)
83!$OMP THREADPRIVATE(nlengtrb,npckfsr,npckfthr)
84!$OMP THREADPRIVATE(solrad,therrad,trmatsum,trweight)
85END MODULE YOMRCOEF
Note: See TracBrowser for help on using the repository browser.