Ignore:
Timestamp:
Aug 5, 2009, 4:38:34 PM (15 years ago)
Author:
lguez
Message:

-- Replaced "integer*4" declarations by "integer", "real*8" by

"real(kind=8)" and "real*4" by "real". Note that these are the only
modifications in the files "radiation_AR4.F" and "sw_aeroAR4.F90".

-- Corrected the kind of arguments to "max" and "min".

-- Replaced "nH" edit descriptors, which is a deleted feature in

Fortran 95, by character strings.

-- "regr_lat_time_climoz" now allows the pressure coordinate in the

input file to be in descending order.

-- Replaced call to not standard function "float" by call to intrinsic

function "real".

-- Included file "radepsi.h" in "physiq" was not used. Removed it.

The following set of modifications is related to the management of time.

-- In "gcm", "leapfrog" and "sortvarc0", "day_ini" was defined as 1

plus number of days between the reference date "(annee_ref,
day_ref)" and the first day of the current simulation. Changed
definition: "(annee_ref, day_ini)" is the first day of the current
simulation. There is an accompanying modification for "day_end".

-- Corrected bug in call to "ioconf_startdate" in "gcm".

-- Added call to "ioconf_calendar" in "create_etat0_limit".

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ4/branches/LMDZ4-dev/libf/phylmd/radiation_AR4.F

    r1215 r1220  
    5454C* ARGUMENTS:
    5555C
    56       REAL*8 PSCT  ! constante solaire (valeur conseillee: 1370)
    57 cIM ctes ds clesphys.h   REAL*8 RCO2  ! concentration CO2 (IPCC: 353.E-06*44.011/28.97)
     56      REAL(KIND=8) PSCT  ! constante solaire (valeur conseillee: 1370)
     57cIM ctes ds clesphys.h   REAL(KIND=8) RCO2  ! concentration CO2 (IPCC: 353.E-06*44.011/28.97)
    5858#include "clesphys.h"
    5959C
    60       REAL*8 PPSOL(KDLON)        ! SURFACE PRESSURE (PA)
    61       REAL*8 PDP(KDLON,KFLEV)    ! LAYER THICKNESS (PA)
    62       REAL*8 PPMB(KDLON,KFLEV+1) ! HALF-LEVEL PRESSURE (MB)
    63 C
    64       REAL*8 PRMU0(KDLON)  ! COSINE OF ZENITHAL ANGLE
    65       REAL*8 PFRAC(KDLON)  ! fraction de la journee
    66 C
    67       REAL*8 PTAVE(KDLON,KFLEV)  ! LAYER TEMPERATURE (K)
    68       REAL*8 PWV(KDLON,KFLEV)    ! SPECIFIC HUMIDITY (KG/KG)
    69       REAL*8 PQS(KDLON,KFLEV)    ! SATURATED WATER VAPOUR (KG/KG)
    70       REAL*8 POZON(KDLON,KFLEV)  ! OZONE CONCENTRATION (KG/KG)
    71       REAL*8 PAER(KDLON,KFLEV,5) ! AEROSOLS' OPTICAL THICKNESS
    72 C
    73       REAL*8 PALBD(KDLON,2)  ! albedo du sol (lumiere diffuse)
    74       REAL*8 PALBP(KDLON,2)  ! albedo du sol (lumiere parallele)
    75 C
    76       REAL*8 PCLDSW(KDLON,KFLEV)    ! CLOUD FRACTION
    77       REAL*8 PTAU(KDLON,2,KFLEV)    ! CLOUD OPTICAL THICKNESS
    78       REAL*8 PCG(KDLON,2,KFLEV)     ! ASYMETRY FACTOR
    79       REAL*8 POMEGA(KDLON,2,KFLEV)  ! SINGLE SCATTERING ALBEDO
    80 C
    81       REAL*8 PHEAT(KDLON,KFLEV) ! SHORTWAVE HEATING (K/DAY)
    82       REAL*8 PHEAT0(KDLON,KFLEV)! SHORTWAVE HEATING (K/DAY) clear-sky
    83       REAL*8 PALBPLA(KDLON)     ! PLANETARY ALBEDO
    84       REAL*8 PTOPSW(KDLON)      ! SHORTWAVE FLUX AT T.O.A.
    85       REAL*8 PSOLSW(KDLON)      ! SHORTWAVE FLUX AT SURFACE
    86       REAL*8 PTOPSW0(KDLON)     ! SHORTWAVE FLUX AT T.O.A. (CLEAR-SKY)
    87       REAL*8 PSOLSW0(KDLON)     ! SHORTWAVE FLUX AT SURFACE (CLEAR-SKY)
     60      REAL(KIND=8) PPSOL(KDLON)        ! SURFACE PRESSURE (PA)
     61      REAL(KIND=8) PDP(KDLON,KFLEV)    ! LAYER THICKNESS (PA)
     62      REAL(KIND=8) PPMB(KDLON,KFLEV+1) ! HALF-LEVEL PRESSURE (MB)
     63C
     64      REAL(KIND=8) PRMU0(KDLON)  ! COSINE OF ZENITHAL ANGLE
     65      REAL(KIND=8) PFRAC(KDLON)  ! fraction de la journee
     66C
     67      REAL(KIND=8) PTAVE(KDLON,KFLEV)  ! LAYER TEMPERATURE (K)
     68      REAL(KIND=8) PWV(KDLON,KFLEV)    ! SPECIFIC HUMIDITY (KG/KG)
     69      REAL(KIND=8) PQS(KDLON,KFLEV)    ! SATURATED WATER VAPOUR (KG/KG)
     70      REAL(KIND=8) POZON(KDLON,KFLEV)  ! OZONE CONCENTRATION (KG/KG)
     71      REAL(KIND=8) PAER(KDLON,KFLEV,5) ! AEROSOLS' OPTICAL THICKNESS
     72C
     73      REAL(KIND=8) PALBD(KDLON,2)  ! albedo du sol (lumiere diffuse)
     74      REAL(KIND=8) PALBP(KDLON,2)  ! albedo du sol (lumiere parallele)
     75C
     76      REAL(KIND=8) PCLDSW(KDLON,KFLEV)    ! CLOUD FRACTION
     77      REAL(KIND=8) PTAU(KDLON,2,KFLEV)    ! CLOUD OPTICAL THICKNESS
     78      REAL(KIND=8) PCG(KDLON,2,KFLEV)     ! ASYMETRY FACTOR
     79      REAL(KIND=8) POMEGA(KDLON,2,KFLEV)  ! SINGLE SCATTERING ALBEDO
     80C
     81      REAL(KIND=8) PHEAT(KDLON,KFLEV) ! SHORTWAVE HEATING (K/DAY)
     82      REAL(KIND=8) PHEAT0(KDLON,KFLEV)! SHORTWAVE HEATING (K/DAY) clear-sky
     83      REAL(KIND=8) PALBPLA(KDLON)     ! PLANETARY ALBEDO
     84      REAL(KIND=8) PTOPSW(KDLON)      ! SHORTWAVE FLUX AT T.O.A.
     85      REAL(KIND=8) PSOLSW(KDLON)      ! SHORTWAVE FLUX AT SURFACE
     86      REAL(KIND=8) PTOPSW0(KDLON)     ! SHORTWAVE FLUX AT T.O.A. (CLEAR-SKY)
     87      REAL(KIND=8) PSOLSW0(KDLON)     ! SHORTWAVE FLUX AT SURFACE (CLEAR-SKY)
    8888C
    8989C* LOCAL VARIABLES:
     
    9191      real, parameter:: dobson_u = 2.1415e-05 ! Dobson unit, in kg m-2
    9292
    93       REAL(kind=8) ZOZ(KDLON,KFLEV)
     93      REAL(KIND=8) ZOZ(KDLON,KFLEV)
    9494!     column-density of ozone in layer, in kilo-Dobsons
    9595
    96       REAL*8 ZAKI(KDLON,2)     
    97       REAL*8 ZCLD(KDLON,KFLEV)
    98       REAL*8 ZCLEAR(KDLON)
    99       REAL*8 ZDSIG(KDLON,KFLEV)
    100       REAL*8 ZFACT(KDLON)
    101       REAL*8 ZFD(KDLON,KFLEV+1)
    102       REAL*8 ZFDOWN(KDLON,KFLEV+1)
    103       REAL*8 ZFU(KDLON,KFLEV+1)
    104       REAL*8 ZFUP(KDLON,KFLEV+1)
    105       REAL*8 ZRMU(KDLON)
    106       REAL*8 ZSEC(KDLON)
    107       REAL*8 ZUD(KDLON,5,KFLEV+1)
    108       REAL*8 ZCLDSW0(KDLON,KFLEV)
     96      REAL(KIND=8) ZAKI(KDLON,2)     
     97      REAL(KIND=8) ZCLD(KDLON,KFLEV)
     98      REAL(KIND=8) ZCLEAR(KDLON)
     99      REAL(KIND=8) ZDSIG(KDLON,KFLEV)
     100      REAL(KIND=8) ZFACT(KDLON)
     101      REAL(KIND=8) ZFD(KDLON,KFLEV+1)
     102      REAL(KIND=8) ZFDOWN(KDLON,KFLEV+1)
     103      REAL(KIND=8) ZFU(KDLON,KFLEV+1)
     104      REAL(KIND=8) ZFUP(KDLON,KFLEV+1)
     105      REAL(KIND=8) ZRMU(KDLON)
     106      REAL(KIND=8) ZSEC(KDLON)
     107      REAL(KIND=8) ZUD(KDLON,5,KFLEV+1)
     108      REAL(KIND=8) ZCLDSW0(KDLON,KFLEV)
    109109c
    110       REAL*8 ZFSUP(KDLON,KFLEV+1)
    111       REAL*8 ZFSDN(KDLON,KFLEV+1)
    112       REAL*8 ZFSUP0(KDLON,KFLEV+1)
    113       REAL*8 ZFSDN0(KDLON,KFLEV+1)
     110      REAL(KIND=8) ZFSUP(KDLON,KFLEV+1)
     111      REAL(KIND=8) ZFSDN(KDLON,KFLEV+1)
     112      REAL(KIND=8) ZFSUP0(KDLON,KFLEV+1)
     113      REAL(KIND=8) ZFSDN0(KDLON,KFLEV+1)
    114114C
    115115      INTEGER inu, jl, jk, i, k, kpl1
     
    126126c$OMP THREADPRIVATE(itapsw)
    127127cjq-Introduced for aerosol forcings
    128       real*8 flag_aer
     128      real(kind=8) flag_aer
    129129      logical ok_ade, ok_aie    ! use aerosol forcings or not?
    130       real*8 tauae(kdlon,kflev,2)  ! aerosol optical properties
    131       real*8 pizae(kdlon,kflev,2)  ! (see aeropt.F)
    132       real*8 cgae(kdlon,kflev,2)   ! -"-
    133       REAL*8 PTAUA(KDLON,2,KFLEV)    ! CLOUD OPTICAL THICKNESS (pre-industrial value)
    134       REAL*8 POMEGAA(KDLON,2,KFLEV)  ! SINGLE SCATTERING ALBEDO
    135       REAL*8 PTOPSWAD(KDLON)     ! SHORTWAVE FLUX AT T.O.A.(+AEROSOL DIR)
    136       REAL*8 PSOLSWAD(KDLON)     ! SHORTWAVE FLUX AT SURFACE(+AEROSOL DIR)
    137       REAL*8 PTOPSWAI(KDLON)     ! SHORTWAVE FLUX AT T.O.A.(+AEROSOL IND)
    138       REAL*8 PSOLSWAI(KDLON)     ! SHORTWAVE FLUX AT SURFACE(+AEROSOL IND)
     130      real(kind=8) tauae(kdlon,kflev,2)  ! aerosol optical properties
     131      real(kind=8) pizae(kdlon,kflev,2)  ! (see aeropt.F)
     132      real(kind=8) cgae(kdlon,kflev,2)   ! -"-
     133      REAL(KIND=8) PTAUA(KDLON,2,KFLEV)    ! CLOUD OPTICAL THICKNESS (pre-industrial value)
     134      REAL(KIND=8) POMEGAA(KDLON,2,KFLEV)  ! SINGLE SCATTERING ALBEDO
     135      REAL(KIND=8) PTOPSWAD(KDLON)     ! SHORTWAVE FLUX AT T.O.A.(+AEROSOL DIR)
     136      REAL(KIND=8) PSOLSWAD(KDLON)     ! SHORTWAVE FLUX AT SURFACE(+AEROSOL DIR)
     137      REAL(KIND=8) PTOPSWAI(KDLON)     ! SHORTWAVE FLUX AT T.O.A.(+AEROSOL IND)
     138      REAL(KIND=8) PSOLSWAI(KDLON)     ! SHORTWAVE FLUX AT SURFACE(+AEROSOL IND)
    139139cjq - Fluxes including aerosol effects
    140       REAL*8,allocatable,save :: ZFSUPAD(:,:)
     140      REAL(KIND=8),allocatable,save :: ZFSUPAD(:,:)
    141141c$OMP THREADPRIVATE(ZFSUPAD)
    142       REAL*8,allocatable,save :: ZFSDNAD(:,:)
     142      REAL(KIND=8),allocatable,save :: ZFSDNAD(:,:)
    143143c$OMP THREADPRIVATE(ZFSDNAD)
    144       REAL*8,allocatable,save :: ZFSUPAI(:,:)
     144      REAL(KIND=8),allocatable,save :: ZFSUPAI(:,:)
    145145c$OMP THREADPRIVATE(ZFSUPAI)
    146       REAL*8,allocatable,save :: ZFSDNAI(:,:)
     146      REAL(KIND=8),allocatable,save :: ZFSDNAI(:,:)
    147147c$OMP THREADPRIVATE(ZFSDNAI)
    148148      logical initialized
     
    353353C* ARGUMENTS:
    354354C
    355       REAL*8 PSCT
    356 cIM ctes ds clesphys.h   REAL*8 RCO2
     355      REAL(KIND=8) PSCT
     356cIM ctes ds clesphys.h   REAL(KIND=8) RCO2
    357357#include "clesphys.h"
    358       REAL*8 PCLDSW(KDLON,KFLEV)
    359       REAL*8 PPMB(KDLON,KFLEV+1)
    360       REAL*8 PPSOL(KDLON)
    361       REAL*8 PRMU0(KDLON)
    362       REAL*8 PFRAC(KDLON)
    363       REAL*8 PTAVE(KDLON,KFLEV)
    364       REAL*8 PWV(KDLON,KFLEV)
    365 C
    366       REAL*8 PAKI(KDLON,2)
    367       REAL*8 PCLD(KDLON,KFLEV)
    368       REAL*8 PCLEAR(KDLON)
    369       REAL*8 PDSIG(KDLON,KFLEV)
    370       REAL*8 PFACT(KDLON)
    371       REAL*8 PRMU(KDLON)
    372       REAL*8 PSEC(KDLON)
    373       REAL*8 PUD(KDLON,5,KFLEV+1)
     358      REAL(KIND=8) PCLDSW(KDLON,KFLEV)
     359      REAL(KIND=8) PPMB(KDLON,KFLEV+1)
     360      REAL(KIND=8) PPSOL(KDLON)
     361      REAL(KIND=8) PRMU0(KDLON)
     362      REAL(KIND=8) PFRAC(KDLON)
     363      REAL(KIND=8) PTAVE(KDLON,KFLEV)
     364      REAL(KIND=8) PWV(KDLON,KFLEV)
     365C
     366      REAL(KIND=8) PAKI(KDLON,2)
     367      REAL(KIND=8) PCLD(KDLON,KFLEV)
     368      REAL(KIND=8) PCLEAR(KDLON)
     369      REAL(KIND=8) PDSIG(KDLON,KFLEV)
     370      REAL(KIND=8) PFACT(KDLON)
     371      REAL(KIND=8) PRMU(KDLON)
     372      REAL(KIND=8) PSEC(KDLON)
     373      REAL(KIND=8) PUD(KDLON,5,KFLEV+1)
    374374C
    375375C* LOCAL VARIABLES:
    376376C
    377377      INTEGER IIND(2)
    378       REAL*8 ZC1J(KDLON,KFLEV+1)
    379       REAL*8 ZCLEAR(KDLON)
    380       REAL*8 ZCLOUD(KDLON)
    381       REAL*8 ZN175(KDLON)
    382       REAL*8 ZN190(KDLON)
    383       REAL*8 ZO175(KDLON)
    384       REAL*8 ZO190(KDLON)
    385       REAL*8 ZSIGN(KDLON)
    386       REAL*8 ZR(KDLON,2)
    387       REAL*8 ZSIGO(KDLON)
    388       REAL*8 ZUD(KDLON,2)
    389       REAL*8 ZRTH, ZRTU, ZWH2O, ZDSCO2, ZDSH2O, ZFPPW
     378      REAL(KIND=8) ZC1J(KDLON,KFLEV+1)
     379      REAL(KIND=8) ZCLEAR(KDLON)
     380      REAL(KIND=8) ZCLOUD(KDLON)
     381      REAL(KIND=8) ZN175(KDLON)
     382      REAL(KIND=8) ZN190(KDLON)
     383      REAL(KIND=8) ZO175(KDLON)
     384      REAL(KIND=8) ZO190(KDLON)
     385      REAL(KIND=8) ZSIGN(KDLON)
     386      REAL(KIND=8) ZR(KDLON,2)
     387      REAL(KIND=8) ZSIGO(KDLON)
     388      REAL(KIND=8) ZUD(KDLON,2)
     389      REAL(KIND=8) ZRTH, ZRTU, ZWH2O, ZDSCO2, ZDSH2O, ZFPPW
    390390      INTEGER jl, jk, jkp1, jkl, jklp1, ja
    391391C
    392392C* Prescribed Data:
    393393c
    394       REAL*8 ZPDH2O,ZPDUMG
     394      REAL(KIND=8) ZPDH2O,ZPDUMG
    395395      SAVE ZPDH2O,ZPDUMG
    396396c$OMP THREADPRIVATE(ZPDH2O,ZPDUMG)
    397       REAL*8 ZPRH2O,ZPRUMG
     397      REAL(KIND=8) ZPRH2O,ZPRUMG
    398398      SAVE ZPRH2O,ZPRUMG
    399399c$OMP THREADPRIVATE(ZPRH2O,ZPRUMG)
    400       REAL*8 RTDH2O,RTDUMG
     400      REAL(KIND=8) RTDH2O,RTDUMG
    401401      SAVE RTDH2O,RTDUMG
    402402c$OMP THREADPRIVATE(RTDH2O,RTDUMG)
    403       REAL*8 RTH2O ,RTUMG
     403      REAL(KIND=8) RTH2O ,RTUMG
    404404      SAVE RTH2O ,RTUMG
    405405c$OMP THREADPRIVATE(RTH2O ,RTUMG)
     
    577577      INTEGER KNU
    578578c-OB
    579       real*8 flag_aer
    580       real*8 tauae(kdlon,kflev,2)
    581       real*8 pizae(kdlon,kflev,2)
    582       real*8 cgae(kdlon,kflev,2)
    583       REAL*8 PAER(KDLON,KFLEV,5)
    584       REAL*8 PALBD(KDLON,2)
    585       REAL*8 PALBP(KDLON,2)
    586       REAL*8 PCG(KDLON,2,KFLEV) 
    587       REAL*8 PCLD(KDLON,KFLEV)
    588       REAL*8 PCLDSW(KDLON,KFLEV)
    589       REAL*8 PCLEAR(KDLON)
    590       REAL*8 PDSIG(KDLON,KFLEV)
    591       REAL*8 POMEGA(KDLON,2,KFLEV)
    592       REAL*8 POZ(KDLON,KFLEV)
    593       REAL*8 PRMU(KDLON)
    594       REAL*8 PSEC(KDLON)
    595       REAL*8 PTAU(KDLON,2,KFLEV)
    596       REAL*8 PUD(KDLON,5,KFLEV+1)
    597 C
    598       REAL*8 PFD(KDLON,KFLEV+1)
    599       REAL*8 PFU(KDLON,KFLEV+1)
     579      real(kind=8) flag_aer
     580      real(kind=8) tauae(kdlon,kflev,2)
     581      real(kind=8) pizae(kdlon,kflev,2)
     582      real(kind=8) cgae(kdlon,kflev,2)
     583      REAL(KIND=8) PAER(KDLON,KFLEV,5)
     584      REAL(KIND=8) PALBD(KDLON,2)
     585      REAL(KIND=8) PALBP(KDLON,2)
     586      REAL(KIND=8) PCG(KDLON,2,KFLEV) 
     587      REAL(KIND=8) PCLD(KDLON,KFLEV)
     588      REAL(KIND=8) PCLDSW(KDLON,KFLEV)
     589      REAL(KIND=8) PCLEAR(KDLON)
     590      REAL(KIND=8) PDSIG(KDLON,KFLEV)
     591      REAL(KIND=8) POMEGA(KDLON,2,KFLEV)
     592      REAL(KIND=8) POZ(KDLON,KFLEV)
     593      REAL(KIND=8) PRMU(KDLON)
     594      REAL(KIND=8) PSEC(KDLON)
     595      REAL(KIND=8) PTAU(KDLON,2,KFLEV)
     596      REAL(KIND=8) PUD(KDLON,5,KFLEV+1)
     597C
     598      REAL(KIND=8) PFD(KDLON,KFLEV+1)
     599      REAL(KIND=8) PFU(KDLON,KFLEV+1)
    600600C
    601601C* LOCAL VARIABLES:
     
    603603      INTEGER IIND(4)
    604604C     
    605       REAL*8 ZCGAZ(KDLON,KFLEV)
    606       REAL*8 ZDIFF(KDLON)
    607       REAL*8 ZDIRF(KDLON)       
    608       REAL*8 ZPIZAZ(KDLON,KFLEV)
    609       REAL*8 ZRAYL(KDLON)
    610       REAL*8 ZRAY1(KDLON,KFLEV+1)
    611       REAL*8 ZRAY2(KDLON,KFLEV+1)
    612       REAL*8 ZREFZ(KDLON,2,KFLEV+1)
    613       REAL*8 ZRJ(KDLON,6,KFLEV+1)
    614       REAL*8 ZRJ0(KDLON,6,KFLEV+1)
    615       REAL*8 ZRK(KDLON,6,KFLEV+1)
    616       REAL*8 ZRK0(KDLON,6,KFLEV+1)
    617       REAL*8 ZRMUE(KDLON,KFLEV+1)
    618       REAL*8 ZRMU0(KDLON,KFLEV+1)
    619       REAL*8 ZR(KDLON,4)
    620       REAL*8 ZTAUAZ(KDLON,KFLEV)
    621       REAL*8 ZTRA1(KDLON,KFLEV+1)
    622       REAL*8 ZTRA2(KDLON,KFLEV+1)
    623       REAL*8 ZW(KDLON,4)
     605      REAL(KIND=8) ZCGAZ(KDLON,KFLEV)
     606      REAL(KIND=8) ZDIFF(KDLON)
     607      REAL(KIND=8) ZDIRF(KDLON)       
     608      REAL(KIND=8) ZPIZAZ(KDLON,KFLEV)
     609      REAL(KIND=8) ZRAYL(KDLON)
     610      REAL(KIND=8) ZRAY1(KDLON,KFLEV+1)
     611      REAL(KIND=8) ZRAY2(KDLON,KFLEV+1)
     612      REAL(KIND=8) ZREFZ(KDLON,2,KFLEV+1)
     613      REAL(KIND=8) ZRJ(KDLON,6,KFLEV+1)
     614      REAL(KIND=8) ZRJ0(KDLON,6,KFLEV+1)
     615      REAL(KIND=8) ZRK(KDLON,6,KFLEV+1)
     616      REAL(KIND=8) ZRK0(KDLON,6,KFLEV+1)
     617      REAL(KIND=8) ZRMUE(KDLON,KFLEV+1)
     618      REAL(KIND=8) ZRMU0(KDLON,KFLEV+1)
     619      REAL(KIND=8) ZR(KDLON,4)
     620      REAL(KIND=8) ZTAUAZ(KDLON,KFLEV)
     621      REAL(KIND=8) ZTRA1(KDLON,KFLEV+1)
     622      REAL(KIND=8) ZTRA2(KDLON,KFLEV+1)
     623      REAL(KIND=8) ZW(KDLON,4)
    624624C
    625625      INTEGER jl, jk, k, jaj, ikm1, ikl
     
    627627c Prescribed Data:
    628628c
    629       REAL*8 RSUN(2)
     629      REAL(KIND=8) RSUN(2)
    630630      SAVE RSUN
    631631c$OMP THREADPRIVATE(RSUN)
    632       REAL*8 RRAY(2,6)
     632      REAL(KIND=8) RRAY(2,6)
    633633      SAVE RRAY
    634634c$OMP THREADPRIVATE(RRAY)
     
    825825      INTEGER KNU
    826826c-OB
    827       real*8 flag_aer
    828       real*8 tauae(kdlon,kflev,2)
    829       real*8 pizae(kdlon,kflev,2)
    830       real*8 cgae(kdlon,kflev,2)
    831       REAL*8 PAER(KDLON,KFLEV,5)
    832       REAL*8 PAKI(KDLON,2)
    833       REAL*8 PALBD(KDLON,2)
    834       REAL*8 PALBP(KDLON,2)
    835       REAL*8 PCG(KDLON,2,KFLEV)
    836       REAL*8 PCLD(KDLON,KFLEV)
    837       REAL*8 PCLDSW(KDLON,KFLEV)
    838       REAL*8 PCLEAR(KDLON)
    839       REAL*8 PDSIG(KDLON,KFLEV)
    840       REAL*8 POMEGA(KDLON,2,KFLEV)
    841       REAL*8 POZ(KDLON,KFLEV)
    842       REAL*8 PQS(KDLON,KFLEV)
    843       REAL*8 PRMU(KDLON)
    844       REAL*8 PSEC(KDLON)
    845       REAL*8 PTAU(KDLON,2,KFLEV)
    846       REAL*8 PUD(KDLON,5,KFLEV+1)
    847       REAL*8 PWV(KDLON,KFLEV)
    848 C
    849       REAL*8 PFDOWN(KDLON,KFLEV+1)
    850       REAL*8 PFUP(KDLON,KFLEV+1)
     827      real(kind=8) flag_aer
     828      real(kind=8) tauae(kdlon,kflev,2)
     829      real(kind=8) pizae(kdlon,kflev,2)
     830      real(kind=8) cgae(kdlon,kflev,2)
     831      REAL(KIND=8) PAER(KDLON,KFLEV,5)
     832      REAL(KIND=8) PAKI(KDLON,2)
     833      REAL(KIND=8) PALBD(KDLON,2)
     834      REAL(KIND=8) PALBP(KDLON,2)
     835      REAL(KIND=8) PCG(KDLON,2,KFLEV)
     836      REAL(KIND=8) PCLD(KDLON,KFLEV)
     837      REAL(KIND=8) PCLDSW(KDLON,KFLEV)
     838      REAL(KIND=8) PCLEAR(KDLON)
     839      REAL(KIND=8) PDSIG(KDLON,KFLEV)
     840      REAL(KIND=8) POMEGA(KDLON,2,KFLEV)
     841      REAL(KIND=8) POZ(KDLON,KFLEV)
     842      REAL(KIND=8) PQS(KDLON,KFLEV)
     843      REAL(KIND=8) PRMU(KDLON)
     844      REAL(KIND=8) PSEC(KDLON)
     845      REAL(KIND=8) PTAU(KDLON,2,KFLEV)
     846      REAL(KIND=8) PUD(KDLON,5,KFLEV+1)
     847      REAL(KIND=8) PWV(KDLON,KFLEV)
     848C
     849      REAL(KIND=8) PFDOWN(KDLON,KFLEV+1)
     850      REAL(KIND=8) PFUP(KDLON,KFLEV+1)
    851851C
    852852C* LOCAL VARIABLES:
    853853C
    854854      INTEGER IIND2(2), IIND3(3)
    855       REAL*8 ZCGAZ(KDLON,KFLEV)
    856       REAL*8 ZFD(KDLON,KFLEV+1)
    857       REAL*8 ZFU(KDLON,KFLEV+1)
    858       REAL*8 ZG(KDLON)
    859       REAL*8 ZGG(KDLON)
    860       REAL*8 ZPIZAZ(KDLON,KFLEV)
    861       REAL*8 ZRAYL(KDLON)
    862       REAL*8 ZRAY1(KDLON,KFLEV+1)
    863       REAL*8 ZRAY2(KDLON,KFLEV+1)
    864       REAL*8 ZREF(KDLON)
    865       REAL*8 ZREFZ(KDLON,2,KFLEV+1)
    866       REAL*8 ZRE1(KDLON)
    867       REAL*8 ZRE2(KDLON)
    868       REAL*8 ZRJ(KDLON,6,KFLEV+1)
    869       REAL*8 ZRJ0(KDLON,6,KFLEV+1)
    870       REAL*8 ZRK(KDLON,6,KFLEV+1)
    871       REAL*8 ZRK0(KDLON,6,KFLEV+1)
    872       REAL*8 ZRL(KDLON,8)
    873       REAL*8 ZRMUE(KDLON,KFLEV+1)
    874       REAL*8 ZRMU0(KDLON,KFLEV+1)
    875       REAL*8 ZRMUZ(KDLON)
    876       REAL*8 ZRNEB(KDLON)
    877       REAL*8 ZRUEF(KDLON,8)
    878       REAL*8 ZR1(KDLON)
    879       REAL*8 ZR2(KDLON,2)
    880       REAL*8 ZR3(KDLON,3)
    881       REAL*8 ZR4(KDLON)
    882       REAL*8 ZR21(KDLON)
    883       REAL*8 ZR22(KDLON)
    884       REAL*8 ZS(KDLON)
    885       REAL*8 ZTAUAZ(KDLON,KFLEV)
    886       REAL*8 ZTO1(KDLON)
    887       REAL*8 ZTR(KDLON,2,KFLEV+1)
    888       REAL*8 ZTRA1(KDLON,KFLEV+1)
    889       REAL*8 ZTRA2(KDLON,KFLEV+1)
    890       REAL*8 ZTR1(KDLON)
    891       REAL*8 ZTR2(KDLON)
    892       REAL*8 ZW(KDLON)   
    893       REAL*8 ZW1(KDLON)
    894       REAL*8 ZW2(KDLON,2)
    895       REAL*8 ZW3(KDLON,3)
    896       REAL*8 ZW4(KDLON)
    897       REAL*8 ZW5(KDLON)
     855      REAL(KIND=8) ZCGAZ(KDLON,KFLEV)
     856      REAL(KIND=8) ZFD(KDLON,KFLEV+1)
     857      REAL(KIND=8) ZFU(KDLON,KFLEV+1)
     858      REAL(KIND=8) ZG(KDLON)
     859      REAL(KIND=8) ZGG(KDLON)
     860      REAL(KIND=8) ZPIZAZ(KDLON,KFLEV)
     861      REAL(KIND=8) ZRAYL(KDLON)
     862      REAL(KIND=8) ZRAY1(KDLON,KFLEV+1)
     863      REAL(KIND=8) ZRAY2(KDLON,KFLEV+1)
     864      REAL(KIND=8) ZREF(KDLON)
     865      REAL(KIND=8) ZREFZ(KDLON,2,KFLEV+1)
     866      REAL(KIND=8) ZRE1(KDLON)
     867      REAL(KIND=8) ZRE2(KDLON)
     868      REAL(KIND=8) ZRJ(KDLON,6,KFLEV+1)
     869      REAL(KIND=8) ZRJ0(KDLON,6,KFLEV+1)
     870      REAL(KIND=8) ZRK(KDLON,6,KFLEV+1)
     871      REAL(KIND=8) ZRK0(KDLON,6,KFLEV+1)
     872      REAL(KIND=8) ZRL(KDLON,8)
     873      REAL(KIND=8) ZRMUE(KDLON,KFLEV+1)
     874      REAL(KIND=8) ZRMU0(KDLON,KFLEV+1)
     875      REAL(KIND=8) ZRMUZ(KDLON)
     876      REAL(KIND=8) ZRNEB(KDLON)
     877      REAL(KIND=8) ZRUEF(KDLON,8)
     878      REAL(KIND=8) ZR1(KDLON)
     879      REAL(KIND=8) ZR2(KDLON,2)
     880      REAL(KIND=8) ZR3(KDLON,3)
     881      REAL(KIND=8) ZR4(KDLON)
     882      REAL(KIND=8) ZR21(KDLON)
     883      REAL(KIND=8) ZR22(KDLON)
     884      REAL(KIND=8) ZS(KDLON)
     885      REAL(KIND=8) ZTAUAZ(KDLON,KFLEV)
     886      REAL(KIND=8) ZTO1(KDLON)
     887      REAL(KIND=8) ZTR(KDLON,2,KFLEV+1)
     888      REAL(KIND=8) ZTRA1(KDLON,KFLEV+1)
     889      REAL(KIND=8) ZTRA2(KDLON,KFLEV+1)
     890      REAL(KIND=8) ZTR1(KDLON)
     891      REAL(KIND=8) ZTR2(KDLON)
     892      REAL(KIND=8) ZW(KDLON)   
     893      REAL(KIND=8) ZW1(KDLON)
     894      REAL(KIND=8) ZW2(KDLON,2)
     895      REAL(KIND=8) ZW3(KDLON,3)
     896      REAL(KIND=8) ZW4(KDLON)
     897      REAL(KIND=8) ZW5(KDLON)
    898898C
    899899      INTEGER jl, jk, k, jaj, ikm1, ikl, jn, jabs, jkm1
    900900      INTEGER jref, jkl, jklp1, jajp, jkki, jkkp4, jn2j, iabs
    901       REAL*8 ZRMUM1, ZWH2O, ZCNEB, ZAA, ZBB, ZRKI, ZRE11
     901      REAL(KIND=8) ZRMUM1, ZWH2O, ZCNEB, ZAA, ZBB, ZRKI, ZRE11
    902902C
    903903C* Prescribed Data:
    904904C
    905       REAL*8 RSUN(2)
     905      REAL(KIND=8) RSUN(2)
    906906      SAVE RSUN
    907907c$OMP THREADPRIVATE(RSUN)
    908       REAL*8 RRAY(2,6)
     908      REAL(KIND=8) RRAY(2,6)
    909909      SAVE RRAY
    910910c$OMP THREADPRIVATE(RRAY)
     
    13611361      INTEGER KNU
    13621362c-OB
    1363       real*8 flag_aer
    1364       real*8 tauae(kdlon,kflev,2)
    1365       real*8 pizae(kdlon,kflev,2)
    1366       real*8 cgae(kdlon,kflev,2)
    1367       REAL*8 PAER(KDLON,KFLEV,5)
    1368       REAL*8 PALBP(KDLON,2)
    1369       REAL*8 PDSIG(KDLON,KFLEV)
    1370       REAL*8 PRAYL(KDLON)
    1371       REAL*8 PSEC(KDLON)
    1372 C
    1373       REAL*8 PCGAZ(KDLON,KFLEV)     
    1374       REAL*8 PPIZAZ(KDLON,KFLEV)
    1375       REAL*8 PRAY1(KDLON,KFLEV+1)
    1376       REAL*8 PRAY2(KDLON,KFLEV+1)
    1377       REAL*8 PREFZ(KDLON,2,KFLEV+1)
    1378       REAL*8 PRJ(KDLON,6,KFLEV+1)
    1379       REAL*8 PRK(KDLON,6,KFLEV+1)
    1380       REAL*8 PRMU0(KDLON,KFLEV+1)
    1381       REAL*8 PTAUAZ(KDLON,KFLEV)
    1382       REAL*8 PTRA1(KDLON,KFLEV+1)
    1383       REAL*8 PTRA2(KDLON,KFLEV+1)
     1363      real(kind=8) flag_aer
     1364      real(kind=8) tauae(kdlon,kflev,2)
     1365      real(kind=8) pizae(kdlon,kflev,2)
     1366      real(kind=8) cgae(kdlon,kflev,2)
     1367      REAL(KIND=8) PAER(KDLON,KFLEV,5)
     1368      REAL(KIND=8) PALBP(KDLON,2)
     1369      REAL(KIND=8) PDSIG(KDLON,KFLEV)
     1370      REAL(KIND=8) PRAYL(KDLON)
     1371      REAL(KIND=8) PSEC(KDLON)
     1372C
     1373      REAL(KIND=8) PCGAZ(KDLON,KFLEV)     
     1374      REAL(KIND=8) PPIZAZ(KDLON,KFLEV)
     1375      REAL(KIND=8) PRAY1(KDLON,KFLEV+1)
     1376      REAL(KIND=8) PRAY2(KDLON,KFLEV+1)
     1377      REAL(KIND=8) PREFZ(KDLON,2,KFLEV+1)
     1378      REAL(KIND=8) PRJ(KDLON,6,KFLEV+1)
     1379      REAL(KIND=8) PRK(KDLON,6,KFLEV+1)
     1380      REAL(KIND=8) PRMU0(KDLON,KFLEV+1)
     1381      REAL(KIND=8) PTAUAZ(KDLON,KFLEV)
     1382      REAL(KIND=8) PTRA1(KDLON,KFLEV+1)
     1383      REAL(KIND=8) PTRA2(KDLON,KFLEV+1)
    13841384C
    13851385C* LOCAL VARIABLES:
    13861386C
    1387       REAL*8 ZC0I(KDLON,KFLEV+1)       
    1388       REAL*8 ZCLE0(KDLON,KFLEV)
    1389       REAL*8 ZCLEAR(KDLON)
    1390       REAL*8 ZR21(KDLON)
    1391       REAL*8 ZR23(KDLON)
    1392       REAL*8 ZSS0(KDLON)
    1393       REAL*8 ZSCAT(KDLON)
    1394       REAL*8 ZTR(KDLON,2,KFLEV+1)
     1387      REAL(KIND=8) ZC0I(KDLON,KFLEV+1)       
     1388      REAL(KIND=8) ZCLE0(KDLON,KFLEV)
     1389      REAL(KIND=8) ZCLEAR(KDLON)
     1390      REAL(KIND=8) ZR21(KDLON)
     1391      REAL(KIND=8) ZR23(KDLON)
     1392      REAL(KIND=8) ZSS0(KDLON)
     1393      REAL(KIND=8) ZSCAT(KDLON)
     1394      REAL(KIND=8) ZTR(KDLON,2,KFLEV+1)
    13951395C
    13961396      INTEGER jl, jk, ja, jae, jkl, jklp1, jaj, jkm1, in
    1397       REAL*8 ZTRAY, ZGAR, ZRATIO, ZFF, ZFACOA, ZCORAE
    1398       REAL*8 ZMUE, ZGAP, ZWW, ZTO, ZDEN, ZMU1, ZDEN1
    1399       REAL*8 ZBMU0, ZBMU1, ZRE11
     1397      REAL(KIND=8) ZTRAY, ZGAR, ZRATIO, ZFF, ZFACOA, ZCORAE
     1398      REAL(KIND=8) ZMUE, ZGAP, ZWW, ZTO, ZDEN, ZMU1, ZDEN1
     1399      REAL(KIND=8) ZBMU0, ZBMU1, ZRE11
    14001400C
    14011401C* Prescribed Data for Aerosols:
    14021402C
    1403       REAL*8 TAUA(2,5), RPIZA(2,5), RCGA(2,5)
     1403      REAL(KIND=8) TAUA(2,5), RPIZA(2,5), RCGA(2,5)
    14041404      SAVE TAUA, RPIZA, RCGA
    14051405c$OMP THREADPRIVATE(TAUA, RPIZA, RCGA)
     
    17281728C
    17291729      INTEGER KNU
    1730       REAL*8 PALBD(KDLON,2)
    1731       REAL*8 PCG(KDLON,2,KFLEV)
    1732       REAL*8 PCLD(KDLON,KFLEV)
    1733       REAL*8 PDSIG(KDLON,KFLEV)
    1734       REAL*8 POMEGA(KDLON,2,KFLEV)
    1735       REAL*8 PRAYL(KDLON)
    1736       REAL*8 PSEC(KDLON)
    1737       REAL*8 PTAU(KDLON,2,KFLEV)
    1738 C
    1739       REAL*8 PRAY1(KDLON,KFLEV+1)
    1740       REAL*8 PRAY2(KDLON,KFLEV+1)
    1741       REAL*8 PREFZ(KDLON,2,KFLEV+1)
    1742       REAL*8 PRJ(KDLON,6,KFLEV+1)
    1743       REAL*8 PRK(KDLON,6,KFLEV+1)
    1744       REAL*8 PRMUE(KDLON,KFLEV+1)
    1745       REAL*8 PCGAZ(KDLON,KFLEV)
    1746       REAL*8 PPIZAZ(KDLON,KFLEV)
    1747       REAL*8 PTAUAZ(KDLON,KFLEV)
    1748       REAL*8 PTRA1(KDLON,KFLEV+1)
    1749       REAL*8 PTRA2(KDLON,KFLEV+1)
     1730      REAL(KIND=8) PALBD(KDLON,2)
     1731      REAL(KIND=8) PCG(KDLON,2,KFLEV)
     1732      REAL(KIND=8) PCLD(KDLON,KFLEV)
     1733      REAL(KIND=8) PDSIG(KDLON,KFLEV)
     1734      REAL(KIND=8) POMEGA(KDLON,2,KFLEV)
     1735      REAL(KIND=8) PRAYL(KDLON)
     1736      REAL(KIND=8) PSEC(KDLON)
     1737      REAL(KIND=8) PTAU(KDLON,2,KFLEV)
     1738C
     1739      REAL(KIND=8) PRAY1(KDLON,KFLEV+1)
     1740      REAL(KIND=8) PRAY2(KDLON,KFLEV+1)
     1741      REAL(KIND=8) PREFZ(KDLON,2,KFLEV+1)
     1742      REAL(KIND=8) PRJ(KDLON,6,KFLEV+1)
     1743      REAL(KIND=8) PRK(KDLON,6,KFLEV+1)
     1744      REAL(KIND=8) PRMUE(KDLON,KFLEV+1)
     1745      REAL(KIND=8) PCGAZ(KDLON,KFLEV)
     1746      REAL(KIND=8) PPIZAZ(KDLON,KFLEV)
     1747      REAL(KIND=8) PTAUAZ(KDLON,KFLEV)
     1748      REAL(KIND=8) PTRA1(KDLON,KFLEV+1)
     1749      REAL(KIND=8) PTRA2(KDLON,KFLEV+1)
    17501750C
    17511751C* LOCAL VARIABLES:
    17521752C
    1753       REAL*8 ZC1I(KDLON,KFLEV+1)
    1754       REAL*8 ZCLEQ(KDLON,KFLEV)
    1755       REAL*8 ZCLEAR(KDLON)
    1756       REAL*8 ZCLOUD(KDLON)
    1757       REAL*8 ZGG(KDLON)
    1758       REAL*8 ZREF(KDLON)
    1759       REAL*8 ZRE1(KDLON)
    1760       REAL*8 ZRE2(KDLON)
    1761       REAL*8 ZRMUZ(KDLON)
    1762       REAL*8 ZRNEB(KDLON)
    1763       REAL*8 ZR21(KDLON)
    1764       REAL*8 ZR22(KDLON)
    1765       REAL*8 ZR23(KDLON)
    1766       REAL*8 ZSS1(KDLON)
    1767       REAL*8 ZTO1(KDLON)
    1768       REAL*8 ZTR(KDLON,2,KFLEV+1)
    1769       REAL*8 ZTR1(KDLON)
    1770       REAL*8 ZTR2(KDLON)
    1771       REAL*8 ZW(KDLON)
     1753      REAL(KIND=8) ZC1I(KDLON,KFLEV+1)
     1754      REAL(KIND=8) ZCLEQ(KDLON,KFLEV)
     1755      REAL(KIND=8) ZCLEAR(KDLON)
     1756      REAL(KIND=8) ZCLOUD(KDLON)
     1757      REAL(KIND=8) ZGG(KDLON)
     1758      REAL(KIND=8) ZREF(KDLON)
     1759      REAL(KIND=8) ZRE1(KDLON)
     1760      REAL(KIND=8) ZRE2(KDLON)
     1761      REAL(KIND=8) ZRMUZ(KDLON)
     1762      REAL(KIND=8) ZRNEB(KDLON)
     1763      REAL(KIND=8) ZR21(KDLON)
     1764      REAL(KIND=8) ZR22(KDLON)
     1765      REAL(KIND=8) ZR23(KDLON)
     1766      REAL(KIND=8) ZSS1(KDLON)
     1767      REAL(KIND=8) ZTO1(KDLON)
     1768      REAL(KIND=8) ZTR(KDLON,2,KFLEV+1)
     1769      REAL(KIND=8) ZTR1(KDLON)
     1770      REAL(KIND=8) ZTR2(KDLON)
     1771      REAL(KIND=8) ZW(KDLON)
    17721772C
    17731773      INTEGER jk, jl, ja, jkl, jklp1, jkm1, jaj
    1774       REAL*8 ZFACOA, ZFACOC, ZCORAE, ZCORCD
    1775       REAL*8 ZMUE, ZGAP, ZWW, ZTO, ZDEN, ZDEN1
    1776       REAL*8 ZMU1, ZRE11, ZBMU0, ZBMU1
     1774      REAL(KIND=8) ZFACOA, ZFACOC, ZCORAE, ZCORCD
     1775      REAL(KIND=8) ZMUE, ZGAP, ZWW, ZTO, ZDEN, ZDEN1
     1776      REAL(KIND=8) ZMU1, ZRE11, ZBMU0, ZBMU1
    17771777C
    17781778C     ------------------------------------------------------------------
     
    20812081C* ARGUMENTS:
    20822082C
    2083       REAL*8 PGG(KDLON)   ! ASSYMETRY FACTOR
    2084       REAL*8 PREF(KDLON)  ! REFLECTIVITY OF THE UNDERLYING LAYER
    2085       REAL*8 PRMUZ(KDLON) ! COSINE OF SOLAR ZENITH ANGLE
    2086       REAL*8 PTO1(KDLON)  ! OPTICAL THICKNESS
    2087       REAL*8 PW(KDLON)    ! SINGLE SCATTERING ALBEDO
    2088       REAL*8 PRE1(KDLON)  ! LAYER REFLECTIVITY (NO UNDERLYING-LAYER REFLECTION)
    2089       REAL*8 PRE2(KDLON)  ! LAYER REFLECTIVITY
    2090       REAL*8 PTR1(KDLON)  ! LAYER TRANSMISSIVITY (NO UNDERLYING-LAYER REFLECTION)
    2091       REAL*8 PTR2(KDLON)  ! LAYER TRANSMISSIVITY
     2083      REAL(KIND=8) PGG(KDLON)   ! ASSYMETRY FACTOR
     2084      REAL(KIND=8) PREF(KDLON)  ! REFLECTIVITY OF THE UNDERLYING LAYER
     2085      REAL(KIND=8) PRMUZ(KDLON) ! COSINE OF SOLAR ZENITH ANGLE
     2086      REAL(KIND=8) PTO1(KDLON)  ! OPTICAL THICKNESS
     2087      REAL(KIND=8) PW(KDLON)    ! SINGLE SCATTERING ALBEDO
     2088      REAL(KIND=8) PRE1(KDLON)  ! LAYER REFLECTIVITY (NO UNDERLYING-LAYER REFLECTION)
     2089      REAL(KIND=8) PRE2(KDLON)  ! LAYER REFLECTIVITY
     2090      REAL(KIND=8) PTR1(KDLON)  ! LAYER TRANSMISSIVITY (NO UNDERLYING-LAYER REFLECTION)
     2091      REAL(KIND=8) PTR2(KDLON)  ! LAYER TRANSMISSIVITY
    20922092C
    20932093C* LOCAL VARIABLES:
    20942094C
    20952095      INTEGER jl
    2096       REAL*8 ZFF, ZGP, ZTOP, ZWCP, ZDT, ZX1, ZWM
    2097       REAL*8 ZRM2, ZRK, ZX2, ZRP, ZALPHA, ZBETA, ZARG
    2098       REAL*8 ZEXMU0, ZARG2, ZEXKP, ZEXKM, ZXP2P, ZXM2P, ZAP2B, ZAM2B
    2099       REAL*8 ZA11, ZA12, ZA13, ZA21, ZA22, ZA23
    2100       REAL*8 ZDENA, ZC1A, ZC2A, ZRI0A, ZRI1A
    2101       REAL*8 ZRI0B, ZRI1B
    2102       REAL*8 ZB21, ZB22, ZB23, ZDENB, ZC1B, ZC2B
    2103       REAL*8 ZRI0C, ZRI1C, ZRI0D, ZRI1D
     2096      REAL(KIND=8) ZFF, ZGP, ZTOP, ZWCP, ZDT, ZX1, ZWM
     2097      REAL(KIND=8) ZRM2, ZRK, ZX2, ZRP, ZALPHA, ZBETA, ZARG
     2098      REAL(KIND=8) ZEXMU0, ZARG2, ZEXKP, ZEXKM, ZXP2P, ZXM2P, ZAP2B,
     2099     $     ZAM2B
     2100      REAL(KIND=8) ZA11, ZA12, ZA13, ZA21, ZA22, ZA23
     2101      REAL(KIND=8) ZDENA, ZC1A, ZC2A, ZRI0A, ZRI1A
     2102      REAL(KIND=8) ZRI0B, ZRI1B
     2103      REAL(KIND=8) ZB21, ZB22, ZB23, ZDENB, ZC1B, ZC2B
     2104      REAL(KIND=8) ZRI0C, ZRI1C, ZRI0D, ZRI1D
    21042105C     ------------------------------------------------------------------
    21052106C
     
    22162217      INTEGER KNU     ! INDEX OF THE SPECTRAL INTERVAL
    22172218      INTEGER KA      ! INDEX OF THE ABSORBER
    2218       REAL*8 PU(KDLON)  ! ABSORBER AMOUNT
    2219 C
    2220       REAL*8 PTR(KDLON) ! TRANSMISSION FUNCTION
     2219      REAL(KIND=8) PU(KDLON)  ! ABSORBER AMOUNT
     2220C
     2221      REAL(KIND=8) PTR(KDLON) ! TRANSMISSION FUNCTION
    22212222C
    22222223C* LOCAL VARIABLES:
    22232224C
    2224       REAL*8 ZR1(KDLON), ZR2(KDLON)
     2225      REAL(KIND=8) ZR1(KDLON), ZR2(KDLON)
    22252226      INTEGER jl, i,j
    22262227C
    22272228C* Prescribed Data:
    22282229C
    2229       REAL*8 APAD(2,3,7), BPAD(2,3,7), D(2,3)
     2230      REAL(KIND=8) APAD(2,3,7), BPAD(2,3,7), D(2,3)
    22302231      SAVE APAD, BPAD, D
    22312232c$OMP THREADPRIVATE(APAD, BPAD, D)
     
    23342335      INTEGER KABS         ! NUMBER OF ABSORBERS
    23352336      INTEGER KIND(KABS)   ! INDICES OF THE ABSORBERS
    2336       REAL*8 PU(KDLON,KABS)  ! ABSORBER AMOUNT
    2337 C
    2338       REAL*8 PTR(KDLON,KABS) ! TRANSMISSION FUNCTION
     2337      REAL(KIND=8) PU(KDLON,KABS)  ! ABSORBER AMOUNT
     2338C
     2339      REAL(KIND=8) PTR(KDLON,KABS) ! TRANSMISSION FUNCTION
    23392340C
    23402341C* LOCAL VARIABLES:
    23412342C
    2342       REAL*8 ZR1(KDLON)
    2343       REAL*8 ZR2(KDLON)
    2344       REAL*8 ZU(KDLON)
     2343      REAL(KIND=8) ZR1(KDLON)
     2344      REAL(KIND=8) ZR2(KDLON)
     2345      REAL(KIND=8) ZU(KDLON)
    23452346      INTEGER jl, ja, i, j, ia
    23462347C
    23472348C* Prescribed Data:
    23482349C
    2349       REAL*8 APAD(2,3,7), BPAD(2,3,7), D(2,3)
     2350      REAL(KIND=8) APAD(2,3,7), BPAD(2,3,7), D(2,3)
    23502351      SAVE APAD, BPAD, D
    23512352c$OMP THREADPRIVATE(APAD, BPAD, D)
     
    24682469C-----------------------------------------------------------------------
    24692470cIM ctes ds clesphys.h
    2470 c     REAL*8 RCO2   ! CO2 CONCENTRATION (IPCC:353.E-06* 44.011/28.97)
    2471 c     REAL*8 RCH4   ! CH4 CONCENTRATION (IPCC: 1.72E-06* 16.043/28.97)
    2472 c     REAL*8 RN2O   ! N2O CONCENTRATION (IPCC: 310.E-09* 44.013/28.97)
    2473 c     REAL*8 RCFC11 ! CFC11 CONCENTRATION (IPCC: 280.E-12* 137.3686/28.97)
    2474 c     REAL*8 RCFC12 ! CFC12 CONCENTRATION (IPCC: 484.E-12* 120.9140/28.97)
     2471c     REAL(KIND=8) RCO2   ! CO2 CONCENTRATION (IPCC:353.E-06* 44.011/28.97)
     2472c     REAL(KIND=8) RCH4   ! CH4 CONCENTRATION (IPCC: 1.72E-06* 16.043/28.97)
     2473c     REAL(KIND=8) RN2O   ! N2O CONCENTRATION (IPCC: 310.E-09* 44.013/28.97)
     2474c     REAL(KIND=8) RCFC11 ! CFC11 CONCENTRATION (IPCC: 280.E-12* 137.3686/28.97)
     2475c     REAL(KIND=8) RCFC12 ! CFC12 CONCENTRATION (IPCC: 484.E-12* 120.9140/28.97)
    24752476#include "clesphys.h"
    2476       REAL*8 PCLDLD(KDLON,KFLEV)  ! DOWNWARD EFFECTIVE CLOUD COVER
    2477       REAL*8 PCLDLU(KDLON,KFLEV)  ! UPWARD EFFECTIVE CLOUD COVER
    2478       REAL*8 PDP(KDLON,KFLEV)     ! LAYER PRESSURE THICKNESS (Pa)
    2479       REAL*8 PDT0(KDLON)          ! SURFACE TEMPERATURE DISCONTINUITY (K)
    2480       REAL*8 PEMIS(KDLON)         ! SURFACE EMISSIVITY
    2481       REAL*8 PPMB(KDLON,KFLEV+1)  ! HALF LEVEL PRESSURE (mb)
    2482       REAL*8 PPSOL(KDLON)         ! SURFACE PRESSURE (Pa)
    2483       REAL(kind=8) POZON(KDLON,KFLEV)   ! O3 mass fraction
    2484       REAL*8 PTL(KDLON,KFLEV+1)   ! HALF LEVEL TEMPERATURE (K)
    2485       REAL*8 PAER(KDLON,KFLEV,5)  ! OPTICAL THICKNESS OF THE AEROSOLS
    2486       REAL*8 PTAVE(KDLON,KFLEV)   ! LAYER TEMPERATURE (K)
    2487       REAL*8 PVIEW(KDLON)         ! COSECANT OF VIEWING ANGLE
    2488       REAL*8 PWV(KDLON,KFLEV)     ! SPECIFIC HUMIDITY (kg/kg)
    2489 C
    2490       REAL*8 PCOLR(KDLON,KFLEV)   ! LONG-WAVE TENDENCY (K/day)
    2491       REAL*8 PCOLR0(KDLON,KFLEV)  ! LONG-WAVE TENDENCY (K/day) clear-sky
    2492       REAL*8 PTOPLW(KDLON)        ! LONGWAVE FLUX AT T.O.A.
    2493       REAL*8 PSOLLW(KDLON)        ! LONGWAVE FLUX AT SURFACE
    2494       REAL*8 PTOPLW0(KDLON)       ! LONGWAVE FLUX AT T.O.A. (CLEAR-SKY)
    2495       REAL*8 PSOLLW0(KDLON)       ! LONGWAVE FLUX AT SURFACE (CLEAR-SKY)
     2477      REAL(KIND=8) PCLDLD(KDLON,KFLEV)  ! DOWNWARD EFFECTIVE CLOUD COVER
     2478      REAL(KIND=8) PCLDLU(KDLON,KFLEV)  ! UPWARD EFFECTIVE CLOUD COVER
     2479      REAL(KIND=8) PDP(KDLON,KFLEV)     ! LAYER PRESSURE THICKNESS (Pa)
     2480      REAL(KIND=8) PDT0(KDLON)          ! SURFACE TEMPERATURE DISCONTINUITY (K)
     2481      REAL(KIND=8) PEMIS(KDLON)         ! SURFACE EMISSIVITY
     2482      REAL(KIND=8) PPMB(KDLON,KFLEV+1)  ! HALF LEVEL PRESSURE (mb)
     2483      REAL(KIND=8) PPSOL(KDLON)         ! SURFACE PRESSURE (Pa)
     2484      REAL(KIND=8) POZON(KDLON,KFLEV)   ! O3 mass fraction
     2485      REAL(KIND=8) PTL(KDLON,KFLEV+1)   ! HALF LEVEL TEMPERATURE (K)
     2486      REAL(KIND=8) PAER(KDLON,KFLEV,5)  ! OPTICAL THICKNESS OF THE AEROSOLS
     2487      REAL(KIND=8) PTAVE(KDLON,KFLEV)   ! LAYER TEMPERATURE (K)
     2488      REAL(KIND=8) PVIEW(KDLON)         ! COSECANT OF VIEWING ANGLE
     2489      REAL(KIND=8) PWV(KDLON,KFLEV)     ! SPECIFIC HUMIDITY (kg/kg)
     2490C
     2491      REAL(KIND=8) PCOLR(KDLON,KFLEV)   ! LONG-WAVE TENDENCY (K/day)
     2492      REAL(KIND=8) PCOLR0(KDLON,KFLEV)  ! LONG-WAVE TENDENCY (K/day) clear-sky
     2493      REAL(KIND=8) PTOPLW(KDLON)        ! LONGWAVE FLUX AT T.O.A.
     2494      REAL(KIND=8) PSOLLW(KDLON)        ! LONGWAVE FLUX AT SURFACE
     2495      REAL(KIND=8) PTOPLW0(KDLON)       ! LONGWAVE FLUX AT T.O.A. (CLEAR-SKY)
     2496      REAL(KIND=8) PSOLLW0(KDLON)       ! LONGWAVE FLUX AT SURFACE (CLEAR-SKY)
    24962497c Rajout LF
    2497       real*8 psollwdown(kdlon)    ! LONGWAVE downwards flux at surface
     2498      real(kind=8) psollwdown(kdlon)    ! LONGWAVE downwards flux at surface
    24982499c Rajout IM
    2499 cIM   real*8 psollwdownclr(kdlon) ! LONGWAVE CS downwards flux at surface
    2500 cIM   real*8 ptoplwdown(kdlon)    ! LONGWAVE downwards flux at T.O.A.
    2501 cIM   real*8 ptoplwdownclr(kdlon) ! LONGWAVE CS downwards flux at T.O.A.
     2500cIM   real(kind=8) psollwdownclr(kdlon) ! LONGWAVE CS downwards flux at surface
     2501cIM   real(kind=8) ptoplwdown(kdlon)    ! LONGWAVE downwards flux at T.O.A.
     2502cIM   real(kind=8) ptoplwdownclr(kdlon) ! LONGWAVE CS downwards flux at T.O.A.
    25022503cIM
    2503       REAL*8 plwup(KDLON,KFLEV+1)  ! LW up total sky
    2504       REAL*8 plwup0(KDLON,KFLEV+1) ! LW up clear sky
    2505       REAL*8 plwdn(KDLON,KFLEV+1)  ! LW down total sky
    2506       REAL*8 plwdn0(KDLON,KFLEV+1) ! LW down clear sky
     2504      REAL(KIND=8) plwup(KDLON,KFLEV+1)  ! LW up total sky
     2505      REAL(KIND=8) plwup0(KDLON,KFLEV+1) ! LW up clear sky
     2506      REAL(KIND=8) plwdn(KDLON,KFLEV+1)  ! LW down total sky
     2507      REAL(KIND=8) plwdn0(KDLON,KFLEV+1) ! LW down clear sky
    25072508C-------------------------------------------------------------------------
    2508       REAL*8 ZABCU(KDLON,NUA,3*KFLEV+1)
     2509      REAL(KIND=8) ZABCU(KDLON,NUA,3*KFLEV+1)
    25092510
    2510       REAL(kind=8) ZOZ(KDLON,KFLEV)
     2511      REAL(KIND=8) ZOZ(KDLON,KFLEV)
    25112512!     equivalent pressure of ozone in a layer, in Pa
    25122513
    2513 cym      REAL*8 ZFLUX(KDLON,2,KFLEV+1) ! RADIATIVE FLUXES (1:up; 2:down)
    2514 cym      REAL*8 ZFLUC(KDLON,2,KFLEV+1) ! CLEAR-SKY RADIATIVE FLUXES
    2515 cym      REAL*8 ZBINT(KDLON,KFLEV+1)            ! Intermediate variable
    2516 cym      REAL*8 ZBSUI(KDLON)                    ! Intermediate variable
    2517 cym      REAL*8,ZCTS(KDLON,KFLEV)               ! Intermediate variable
    2518 cym      REAL*8 ZCNTRB(KDLON,KFLEV+1,KFLEV+1)   ! Intermediate variable
     2514cym      REAL(KIND=8) ZFLUX(KDLON,2,KFLEV+1) ! RADIATIVE FLUXES (1:up; 2:down)
     2515cym      REAL(KIND=8) ZFLUC(KDLON,2,KFLEV+1) ! CLEAR-SKY RADIATIVE FLUXES
     2516cym      REAL(KIND=8) ZBINT(KDLON,KFLEV+1)            ! Intermediate variable
     2517cym      REAL(KIND=8) ZBSUI(KDLON)                    ! Intermediate variable
     2518cym      REAL(KIND=8) ZCTS(KDLON,KFLEV)               ! Intermediate variable
     2519cym      REAL(KIND=8) ZCNTRB(KDLON,KFLEV+1,KFLEV+1)   ! Intermediate variable
    25192520cym      SAVE ZFLUX, ZFLUC, ZBINT, ZBSUI, ZCTS, ZCNTRB
    2520       REAL*8,allocatable,save :: ZFLUX(:,:,:) ! RADIATIVE FLUXES (1:up; 2:down)
    2521       REAL*8,allocatable,save :: ZFLUC(:,:,:) ! CLEAR-SKY RADIATIVE FLUXES
    2522       REAL*8,allocatable,save :: ZBINT(:,:)            ! Intermediate variable
    2523       REAL*8,allocatable,save :: ZBSUI(:)                    ! Intermediate variable
    2524       REAL*8,allocatable,save :: ZCTS(:,:)               ! Intermediate variable
    2525       REAL*8,allocatable,save :: ZCNTRB(:,:,:)   ! Intermediate variable
     2521      REAL(KIND=8),allocatable,save :: ZFLUX(:,:,:) ! RADIATIVE FLUXES (1:up; 2:down)
     2522      REAL(KIND=8),allocatable,save :: ZFLUC(:,:,:) ! CLEAR-SKY RADIATIVE FLUXES
     2523      REAL(KIND=8),allocatable,save :: ZBINT(:,:)            ! Intermediate variable
     2524      REAL(KIND=8),allocatable,save :: ZBSUI(:)                    ! Intermediate variable
     2525      REAL(KIND=8),allocatable,save :: ZCTS(:,:)               ! Intermediate variable
     2526      REAL(KIND=8),allocatable,save :: ZCNTRB(:,:,:)   ! Intermediate variable
    25262527c$OMP THREADPRIVATE(ZFLUX, ZFLUC, ZBINT, ZBSUI, ZCTS, ZCNTRB)
    25272528c
     
    26522653C* ARGUMENTS:
    26532654cIM ctes ds clesphys.h
    2654 c     REAL*8 RCO2
    2655 c     REAL*8 RCH4, RN2O, RCFC11, RCFC12
     2655c     REAL(KIND=8) RCO2
     2656c     REAL(KIND=8) RCH4, RN2O, RCFC11, RCFC12
    26562657#include "clesphys.h"
    2657       REAL*8 PAER(KDLON,KFLEV,5)
    2658       REAL*8 PDP(KDLON,KFLEV)
    2659       REAL*8 PPMB(KDLON,KFLEV+1)
    2660       REAL*8 PPSOL(KDLON)
    2661       REAL*8 POZ(KDLON,KFLEV)
    2662       REAL*8 PTAVE(KDLON,KFLEV)
    2663       REAL*8 PVIEW(KDLON)
    2664       REAL*8 PWV(KDLON,KFLEV)
    2665 C
    2666       REAL*8 PABCU(KDLON,NUA,3*KFLEV+1) ! EFFECTIVE ABSORBER AMOUNTS
     2658      REAL(KIND=8) PAER(KDLON,KFLEV,5)
     2659      REAL(KIND=8) PDP(KDLON,KFLEV)
     2660      REAL(KIND=8) PPMB(KDLON,KFLEV+1)
     2661      REAL(KIND=8) PPSOL(KDLON)
     2662      REAL(KIND=8) POZ(KDLON,KFLEV)
     2663      REAL(KIND=8) PTAVE(KDLON,KFLEV)
     2664      REAL(KIND=8) PVIEW(KDLON)
     2665      REAL(KIND=8) PWV(KDLON,KFLEV)
     2666C
     2667      REAL(KIND=8) PABCU(KDLON,NUA,3*KFLEV+1) ! EFFECTIVE ABSORBER AMOUNTS
    26672668C
    26682669C-----------------------------------------------------------------------
    26692670C* LOCAL VARIABLES:
    2670       REAL*8 ZABLY(KDLON,NUA,3*KFLEV+1)
    2671       REAL*8 ZDUC(KDLON,3*KFLEV+1)
    2672       REAL*8 ZPHIO(KDLON)
    2673       REAL*8 ZPSC2(KDLON)
    2674       REAL*8 ZPSC3(KDLON)
    2675       REAL*8 ZPSH1(KDLON)
    2676       REAL*8 ZPSH2(KDLON)
    2677       REAL*8 ZPSH3(KDLON)
    2678       REAL*8 ZPSH4(KDLON)
    2679       REAL*8 ZPSH5(KDLON)
    2680       REAL*8 ZPSH6(KDLON)
    2681       REAL*8 ZPSIO(KDLON)
    2682       REAL*8 ZTCON(KDLON)
    2683       REAL*8 ZPHM6(KDLON)
    2684       REAL*8 ZPSM6(KDLON)
    2685       REAL*8 ZPHN6(KDLON)
    2686       REAL*8 ZPSN6(KDLON)
    2687       REAL*8 ZSSIG(KDLON,3*KFLEV+1)
    2688       REAL*8 ZTAVI(KDLON)
    2689       REAL*8 ZUAER(KDLON,Ninter)
    2690       REAL*8 ZXOZ(KDLON)
    2691       REAL*8 ZXWV(KDLON)
     2671      REAL(KIND=8) ZABLY(KDLON,NUA,3*KFLEV+1)
     2672      REAL(KIND=8) ZDUC(KDLON,3*KFLEV+1)
     2673      REAL(KIND=8) ZPHIO(KDLON)
     2674      REAL(KIND=8) ZPSC2(KDLON)
     2675      REAL(KIND=8) ZPSC3(KDLON)
     2676      REAL(KIND=8) ZPSH1(KDLON)
     2677      REAL(KIND=8) ZPSH2(KDLON)
     2678      REAL(KIND=8) ZPSH3(KDLON)
     2679      REAL(KIND=8) ZPSH4(KDLON)
     2680      REAL(KIND=8) ZPSH5(KDLON)
     2681      REAL(KIND=8) ZPSH6(KDLON)
     2682      REAL(KIND=8) ZPSIO(KDLON)
     2683      REAL(KIND=8) ZTCON(KDLON)
     2684      REAL(KIND=8) ZPHM6(KDLON)
     2685      REAL(KIND=8) ZPSM6(KDLON)
     2686      REAL(KIND=8) ZPHN6(KDLON)
     2687      REAL(KIND=8) ZPSN6(KDLON)
     2688      REAL(KIND=8) ZSSIG(KDLON,3*KFLEV+1)
     2689      REAL(KIND=8) ZTAVI(KDLON)
     2690      REAL(KIND=8) ZUAER(KDLON,Ninter)
     2691      REAL(KIND=8) ZXOZ(KDLON)
     2692      REAL(KIND=8) ZXWV(KDLON)
    26922693C
    26932694      INTEGER jl, jk, jkj, jkjr, jkjp, ig1
     
    26962697      INTEGER jae1, jae2, jae3, jae, jjpn
    26972698      INTEGER ir, jc, jcp1
    2698       REAL*8 zdpm, zupm, zupmh2o, zupmco2, zupmo3, zu6, zup
    2699       REAL*8 zfppw, ztx, ztx2, zzably
    2700       REAL*8 zcah1, zcbh1, zcah2, zcbh2, zcah3, zcbh3
    2701       REAL*8 zcah4, zcbh4, zcah5, zcbh5, zcah6, zcbh6
    2702       REAL*8 zcac8, zcbc8
    2703       REAL*8 zalup, zdiff
     2699      REAL(KIND=8) zdpm, zupm, zupmh2o, zupmco2, zupmo3, zu6, zup
     2700      REAL(KIND=8) zfppw, ztx, ztx2, zzably
     2701      REAL(KIND=8) zcah1, zcbh1, zcah2, zcbh2, zcah3, zcbh3
     2702      REAL(KIND=8) zcah4, zcbh4, zcah5, zcbh5, zcah6, zcbh6
     2703      REAL(KIND=8) zcac8, zcbc8
     2704      REAL(KIND=8) zalup, zdiff
    27042705c
    2705       REAL*8 PVGCO2, PVGH2O, PVGO3
    2706 C
    2707       REAL*8 R10E  ! DECIMAL/NATURAL LOG.FACTOR
     2706      REAL(KIND=8) PVGCO2, PVGH2O, PVGO3
     2707C
     2708      REAL(KIND=8) R10E  ! DECIMAL/NATURAL LOG.FACTOR
    27082709      PARAMETER (R10E=0.4342945)
    27092710c
    27102711c Used Data Block:
    27112712c
    2712       REAL*8 TREF
     2713      REAL(KIND=8) TREF
    27132714      SAVE TREF
    27142715c$OMP THREADPRIVATE(TREF)
    2715       REAL*8 RT1(2)
     2716      REAL(KIND=8) RT1(2)
    27162717      SAVE RT1
    27172718c$OMP THREADPRIVATE(RT1)
    2718       REAL*8 RAER(5,5)
     2719      REAL(KIND=8) RAER(5,5)
    27192720      SAVE RAER
    27202721c$OMP THREADPRIVATE(RAER)
    2721       REAL*8 AT(8,3), BT(8,3)
     2722      REAL(KIND=8) AT(8,3), BT(8,3)
    27222723      SAVE AT, BT
    27232724c$OMP THREADPRIVATE(AT, BT)
    2724       REAL*8 OCT(4)
     2725      REAL(KIND=8) OCT(4)
    27252726      SAVE OCT
    27262727c$OMP THREADPRIVATE(OCT)
     
    30533054      INTEGER KLIM
    30543055C
    3055       REAL*8 PDP(KDLON,KFLEV)
    3056       REAL*8 PDT0(KDLON)
    3057       REAL*8 PEMIS(KDLON)
    3058       REAL*8 PPMB(KDLON,KFLEV+1)
    3059       REAL*8 PTL(KDLON,KFLEV+1)
    3060       REAL*8 PTAVE(KDLON,KFLEV)
    3061 C
    3062       REAL*8 PFLUC(KDLON,2,KFLEV+1)
     3056      REAL(KIND=8) PDP(KDLON,KFLEV)
     3057      REAL(KIND=8) PDT0(KDLON)
     3058      REAL(KIND=8) PEMIS(KDLON)
     3059      REAL(KIND=8) PPMB(KDLON,KFLEV+1)
     3060      REAL(KIND=8) PTL(KDLON,KFLEV+1)
     3061      REAL(KIND=8) PTAVE(KDLON,KFLEV)
     3062C
     3063      REAL(KIND=8) PFLUC(KDLON,2,KFLEV+1)
    30633064C     
    3064       REAL*8 PABCU(KDLON,NUA,3*KFLEV+1)
    3065       REAL*8 PBINT(KDLON,KFLEV+1)
    3066       REAL*8 PBSUI(KDLON)
    3067       REAL*8 PCTS(KDLON,KFLEV)
    3068       REAL*8 PCNTRB(KDLON,KFLEV+1,KFLEV+1)
     3065      REAL(KIND=8) PABCU(KDLON,NUA,3*KFLEV+1)
     3066      REAL(KIND=8) PBINT(KDLON,KFLEV+1)
     3067      REAL(KIND=8) PBSUI(KDLON)
     3068      REAL(KIND=8) PCTS(KDLON,KFLEV)
     3069      REAL(KIND=8) PCNTRB(KDLON,KFLEV+1,KFLEV+1)
    30693070C
    30703071C-------------------------------------------------------------------------
    30713072C
    30723073C* LOCAL VARIABLES:
    3073       REAL*8 ZB(KDLON,Ninter,KFLEV+1)
    3074       REAL*8 ZBSUR(KDLON,Ninter)
    3075       REAL*8 ZBTOP(KDLON,Ninter)
    3076       REAL*8 ZDBSL(KDLON,Ninter,KFLEV*2)
    3077       REAL*8 ZGA(KDLON,8,2,KFLEV)
    3078       REAL*8 ZGB(KDLON,8,2,KFLEV)
    3079       REAL*8 ZGASUR(KDLON,8,2)
    3080       REAL*8 ZGBSUR(KDLON,8,2)
    3081       REAL*8 ZGATOP(KDLON,8,2)
    3082       REAL*8 ZGBTOP(KDLON,8,2)
     3074      REAL(KIND=8) ZB(KDLON,Ninter,KFLEV+1)
     3075      REAL(KIND=8) ZBSUR(KDLON,Ninter)
     3076      REAL(KIND=8) ZBTOP(KDLON,Ninter)
     3077      REAL(KIND=8) ZDBSL(KDLON,Ninter,KFLEV*2)
     3078      REAL(KIND=8) ZGA(KDLON,8,2,KFLEV)
     3079      REAL(KIND=8) ZGB(KDLON,8,2,KFLEV)
     3080      REAL(KIND=8) ZGASUR(KDLON,8,2)
     3081      REAL(KIND=8) ZGBSUR(KDLON,8,2)
     3082      REAL(KIND=8) ZGATOP(KDLON,8,2)
     3083      REAL(KIND=8) ZGBTOP(KDLON,8,2)
    30833084C
    30843085      INTEGER nuaer, ntraer
     
    31563157C* ARGUMENTS:
    31573158      INTEGER klim
    3158       REAL*8 PFLUC(KDLON,2,KFLEV+1) ! CLEAR-SKY RADIATIVE FLUXES
    3159       REAL*8 PBINT(KDLON,KFLEV+1)   ! HALF LEVEL PLANCK FUNCTION
    3160       REAL*8 PBSUIN(KDLON)          ! SURFACE PLANCK FUNCTION
    3161       REAL*8 PCNTRB(KDLON,KFLEV+1,KFLEV+1) !CLEAR-SKY ENERGY EXCHANGE
    3162       REAL*8 PCTS(KDLON,KFLEV)      ! CLEAR-SKY LAYER COOLING-TO-SPACE
     3159      REAL(KIND=8) PFLUC(KDLON,2,KFLEV+1) ! CLEAR-SKY RADIATIVE FLUXES
     3160      REAL(KIND=8) PBINT(KDLON,KFLEV+1)   ! HALF LEVEL PLANCK FUNCTION
     3161      REAL(KIND=8) PBSUIN(KDLON)          ! SURFACE PLANCK FUNCTION
     3162      REAL(KIND=8) PCNTRB(KDLON,KFLEV+1,KFLEV+1) !CLEAR-SKY ENERGY EXCHANGE
     3163      REAL(KIND=8) PCTS(KDLON,KFLEV)      ! CLEAR-SKY LAYER COOLING-TO-SPACE
    31633164c
    3164       REAL*8 PCLDLD(KDLON,KFLEV)
    3165       REAL*8 PCLDLU(KDLON,KFLEV)
    3166       REAL*8 PEMIS(KDLON)
    3167 C
    3168       REAL*8 PFLUX(KDLON,2,KFLEV+1)
     3165      REAL(KIND=8) PCLDLD(KDLON,KFLEV)
     3166      REAL(KIND=8) PCLDLU(KDLON,KFLEV)
     3167      REAL(KIND=8) PEMIS(KDLON)
     3168C
     3169      REAL(KIND=8) PFLUX(KDLON,2,KFLEV+1)
    31693170C-----------------------------------------------------------------------
    31703171C* LOCAL VARIABLES:
    31713172      INTEGER IMX(KDLON), IMXP(KDLON)
    31723173C
    3173       REAL*8 ZCLEAR(KDLON),ZCLOUD(KDLON),ZDNF(KDLON,KFLEV+1,KFLEV+1)
     3174      REAL(KIND=8) ZCLEAR(KDLON),ZCLOUD(KDLON),
     3175     $     ZDNF(KDLON,KFLEV+1,KFLEV+1)
    31743176     S  , ZFD(KDLON), ZFN10(KDLON), ZFU(KDLON)
    31753177     S  , ZUPF(KDLON,KFLEV+1,KFLEV+1)
    3176       REAL*8 ZCLM(KDLON,KFLEV+1,KFLEV+1)
     3178      REAL(KIND=8) ZCLM(KDLON,KFLEV+1,KFLEV+1)
    31773179C
    31783180      INTEGER jk, jl, imaxc, imx1, imx2, jkj, jkp1, jkm1
    31793181      INTEGER jk1, jk2, jkc, jkcp1, jcloud
    31803182      INTEGER imxm1, imxp1
    3181       REAL*8 zcfrac
     3183      REAL(KIND=8) zcfrac
    31823184C     ------------------------------------------------------------------
    31833185C
     
    35653567C ARGUMENTS:
    35663568C
    3567       REAL*8 PDT0(KDLON)
    3568       REAL*8 PTAVE(KDLON,KFLEV)
    3569       REAL*8 PTL(KDLON,KFLEV+1)
    3570 C
    3571       REAL*8 PB(KDLON,Ninter,KFLEV+1) ! SPECTRAL HALF LEVEL PLANCK FUNCTION
    3572       REAL*8 PBINT(KDLON,KFLEV+1) ! HALF LEVEL PLANCK FUNCTION
    3573       REAL*8 PBSUIN(KDLON) ! SURFACE PLANCK FUNCTION
    3574       REAL*8 PBSUR(KDLON,Ninter) ! SURFACE SPECTRAL PLANCK FUNCTION
    3575       REAL*8 PBTOP(KDLON,Ninter) ! TOP SPECTRAL PLANCK FUNCTION
    3576       REAL*8 PDBSL(KDLON,Ninter,KFLEV*2) ! SUB-LAYER PLANCK FUNCTION GRADIENT
    3577       REAL*8 PGA(KDLON,8,2,KFLEV) ! dB/dT-weighted LAYER PADE APPROXIMANTS
    3578       REAL*8 PGB(KDLON,8,2,KFLEV) ! dB/dT-weighted LAYER PADE APPROXIMANTS
    3579       REAL*8 PGASUR(KDLON,8,2) ! SURFACE PADE APPROXIMANTS
    3580       REAL*8 PGBSUR(KDLON,8,2) ! SURFACE PADE APPROXIMANTS
    3581       REAL*8 PGATOP(KDLON,8,2) ! T.O.A. PADE APPROXIMANTS
    3582       REAL*8 PGBTOP(KDLON,8,2) ! T.O.A. PADE APPROXIMANTS
     3569      REAL(KIND=8) PDT0(KDLON)
     3570      REAL(KIND=8) PTAVE(KDLON,KFLEV)
     3571      REAL(KIND=8) PTL(KDLON,KFLEV+1)
     3572C
     3573      REAL(KIND=8) PB(KDLON,Ninter,KFLEV+1) ! SPECTRAL HALF LEVEL PLANCK FUNCTION
     3574      REAL(KIND=8) PBINT(KDLON,KFLEV+1) ! HALF LEVEL PLANCK FUNCTION
     3575      REAL(KIND=8) PBSUIN(KDLON) ! SURFACE PLANCK FUNCTION
     3576      REAL(KIND=8) PBSUR(KDLON,Ninter) ! SURFACE SPECTRAL PLANCK FUNCTION
     3577      REAL(KIND=8) PBTOP(KDLON,Ninter) ! TOP SPECTRAL PLANCK FUNCTION
     3578      REAL(KIND=8) PDBSL(KDLON,Ninter,KFLEV*2) ! SUB-LAYER PLANCK FUNCTION GRADIENT
     3579      REAL(KIND=8) PGA(KDLON,8,2,KFLEV) ! dB/dT-weighted LAYER PADE APPROXIMANTS
     3580      REAL(KIND=8) PGB(KDLON,8,2,KFLEV) ! dB/dT-weighted LAYER PADE APPROXIMANTS
     3581      REAL(KIND=8) PGASUR(KDLON,8,2) ! SURFACE PADE APPROXIMANTS
     3582      REAL(KIND=8) PGBSUR(KDLON,8,2) ! SURFACE PADE APPROXIMANTS
     3583      REAL(KIND=8) PGATOP(KDLON,8,2) ! T.O.A. PADE APPROXIMANTS
     3584      REAL(KIND=8) PGBTOP(KDLON,8,2) ! T.O.A. PADE APPROXIMANTS
    35833585C
    35843586C-------------------------------------------------------------------------
    35853587C*  LOCAL VARIABLES:
    35863588      INTEGER INDB(KDLON),INDS(KDLON)
    3587       REAL*8 ZBLAY(KDLON,KFLEV),ZBLEV(KDLON,KFLEV+1)
    3588       REAL*8 ZRES(KDLON),ZRES2(KDLON),ZTI(KDLON),ZTI2(KDLON)
     3589      REAL(KIND=8) ZBLAY(KDLON,KFLEV),ZBLEV(KDLON,KFLEV+1)
     3590      REAL(KIND=8) ZRES(KDLON),ZRES2(KDLON),ZTI(KDLON),ZTI2(KDLON)
    35893591c
    35903592      INTEGER jk, jl, ic, jnu, jf, jg
     
    35923594      INTEGER k, j, ixtox, indto, ixtx, indt
    35933595      INTEGER indsu, indtp
    3594       REAL*8 zdsto1, zdstox, zdst1, zdstx
     3596      REAL(KIND=8) zdsto1, zdstox, zdst1, zdstx
    35953597c
    35963598C* Quelques parametres:
    3597       REAL*8 TSTAND
     3599      REAL(KIND=8) TSTAND
    35983600      PARAMETER (TSTAND=250.0)
    3599       REAL*8 TSTP
     3601      REAL(KIND=8) TSTP
    36003602      PARAMETER (TSTP=12.5)
    36013603      INTEGER MXIXT
     
    36033605C
    36043606C* Used Data Block:
    3605       REAL*8 TINTP(11)
     3607      REAL(KIND=8) TINTP(11)
    36063608      SAVE TINTP
    36073609c$OMP THREADPRIVATE(TINTP)
    3608       REAL*8 GA(11,16,3), GB(11,16,3)
     3610      REAL(KIND=8) GA(11,16,3), GB(11,16,3)
    36093611      SAVE GA, GB
    36103612c$OMP THREADPRIVATE(GA, GB)
    3611       REAL*8 XP(6,6)
     3613      REAL(KIND=8) XP(6,6)
    36123614      SAVE XP
    36133615c$OMP THREADPRIVATE(XP)
     
    49644966      INTEGER KUAER,KTRAER, KLIM
    49654967C
    4966       REAL*8 PABCU(KDLON,NUA,3*KFLEV+1) ! EFFECTIVE ABSORBER AMOUNTS
    4967       REAL*8 PB(KDLON,Ninter,KFLEV+1) ! SPECTRAL HALF-LEVEL PLANCK FUNCTIONS
    4968       REAL*8 PBINT(KDLON,KFLEV+1) ! HALF-LEVEL PLANCK FUNCTIONS
    4969       REAL*8 PBSUR(KDLON,Ninter) ! SURFACE SPECTRAL PLANCK FUNCTION
    4970       REAL*8 PBSUIN(KDLON) ! SURFACE PLANCK FUNCTION
    4971       REAL*8 PBTOP(KDLON,Ninter) ! T.O.A. SPECTRAL PLANCK FUNCTION
    4972       REAL*8 PDBSL(KDLON,Ninter,KFLEV*2) ! SUB-LAYER PLANCK FUNCTION GRADIENT
    4973       REAL*8 PEMIS(KDLON) ! SURFACE EMISSIVITY
    4974       REAL*8 PPMB(KDLON,KFLEV+1) ! HALF-LEVEL PRESSURE (MB)
    4975       REAL*8 PTAVE(KDLON,KFLEV) ! TEMPERATURE
    4976       REAL*8 PGA(KDLON,8,2,KFLEV) ! PADE APPROXIMANTS
    4977       REAL*8 PGB(KDLON,8,2,KFLEV) ! PADE APPROXIMANTS
    4978       REAL*8 PGASUR(KDLON,8,2) ! PADE APPROXIMANTS
    4979       REAL*8 PGBSUR(KDLON,8,2) ! PADE APPROXIMANTS
    4980       REAL*8 PGATOP(KDLON,8,2) ! PADE APPROXIMANTS
    4981       REAL*8 PGBTOP(KDLON,8,2) ! PADE APPROXIMANTS
    4982 C
    4983       REAL*8 PCNTRB(KDLON,KFLEV+1,KFLEV+1) ! CLEAR-SKY ENERGY EXCHANGE MATRIX
    4984       REAL*8 PCTS(KDLON,KFLEV) ! COOLING-TO-SPACE TERM
    4985       REAL*8 PFLUC(KDLON,2,KFLEV+1) ! CLEAR-SKY RADIATIVE FLUXES
     4968      REAL(KIND=8) PABCU(KDLON,NUA,3*KFLEV+1) ! EFFECTIVE ABSORBER AMOUNTS
     4969      REAL(KIND=8) PB(KDLON,Ninter,KFLEV+1) ! SPECTRAL HALF-LEVEL PLANCK FUNCTIONS
     4970      REAL(KIND=8) PBINT(KDLON,KFLEV+1) ! HALF-LEVEL PLANCK FUNCTIONS
     4971      REAL(KIND=8) PBSUR(KDLON,Ninter) ! SURFACE SPECTRAL PLANCK FUNCTION
     4972      REAL(KIND=8) PBSUIN(KDLON) ! SURFACE PLANCK FUNCTION
     4973      REAL(KIND=8) PBTOP(KDLON,Ninter) ! T.O.A. SPECTRAL PLANCK FUNCTION
     4974      REAL(KIND=8) PDBSL(KDLON,Ninter,KFLEV*2) ! SUB-LAYER PLANCK FUNCTION GRADIENT
     4975      REAL(KIND=8) PEMIS(KDLON) ! SURFACE EMISSIVITY
     4976      REAL(KIND=8) PPMB(KDLON,KFLEV+1) ! HALF-LEVEL PRESSURE (MB)
     4977      REAL(KIND=8) PTAVE(KDLON,KFLEV) ! TEMPERATURE
     4978      REAL(KIND=8) PGA(KDLON,8,2,KFLEV) ! PADE APPROXIMANTS
     4979      REAL(KIND=8) PGB(KDLON,8,2,KFLEV) ! PADE APPROXIMANTS
     4980      REAL(KIND=8) PGASUR(KDLON,8,2) ! PADE APPROXIMANTS
     4981      REAL(KIND=8) PGBSUR(KDLON,8,2) ! PADE APPROXIMANTS
     4982      REAL(KIND=8) PGATOP(KDLON,8,2) ! PADE APPROXIMANTS
     4983      REAL(KIND=8) PGBTOP(KDLON,8,2) ! PADE APPROXIMANTS
     4984C
     4985      REAL(KIND=8) PCNTRB(KDLON,KFLEV+1,KFLEV+1) ! CLEAR-SKY ENERGY EXCHANGE MATRIX
     4986      REAL(KIND=8) PCTS(KDLON,KFLEV) ! COOLING-TO-SPACE TERM
     4987      REAL(KIND=8) PFLUC(KDLON,2,KFLEV+1) ! CLEAR-SKY RADIATIVE FLUXES
    49864988C-----------------------------------------------------------------------
    49874989C LOCAL VARIABLES:
    4988       REAL*8 ZADJD(KDLON,KFLEV+1)
    4989       REAL*8 ZADJU(KDLON,KFLEV+1)
    4990       REAL*8 ZDBDT(KDLON,Ninter,KFLEV)
    4991       REAL*8 ZDISD(KDLON,KFLEV+1)
    4992       REAL*8 ZDISU(KDLON,KFLEV+1)
     4990      REAL(KIND=8) ZADJD(KDLON,KFLEV+1)
     4991      REAL(KIND=8) ZADJU(KDLON,KFLEV+1)
     4992      REAL(KIND=8) ZDBDT(KDLON,Ninter,KFLEV)
     4993      REAL(KIND=8) ZDISD(KDLON,KFLEV+1)
     4994      REAL(KIND=8) ZDISU(KDLON,KFLEV+1)
    49934995C
    49944996      INTEGER jk, jl
     
    50815083      INTEGER KUAER,KTRAER, KLIM
    50825084C
    5083       REAL*8 PABCU(KDLON,NUA,3*KFLEV+1) ! ABSORBER AMOUNTS
    5084       REAL*8 PADJD(KDLON,KFLEV+1) ! CONTRIBUTION BY ADJACENT LAYERS
    5085       REAL*8 PADJU(KDLON,KFLEV+1) ! CONTRIBUTION BY ADJACENT LAYERS
    5086       REAL*8 PB(KDLON,Ninter,KFLEV+1) ! SPECTRAL HALF-LEVEL PLANCK FUNCTIONS
    5087       REAL*8 PBINT(KDLON,KFLEV+1) ! HALF-LEVEL PLANCK FUNCTIONS
    5088       REAL*8 PBSUR(KDLON,Ninter) ! SPECTRAL SURFACE PLANCK FUNCTION
    5089       REAL*8 PBSUI(KDLON) ! SURFACE PLANCK FUNCTION
    5090       REAL*8 PBTOP(KDLON,Ninter) ! SPECTRAL T.O.A. PLANCK FUNCTION
    5091       REAL*8 PDISD(KDLON,KFLEV+1) ! CONTRIBUTION BY DISTANT LAYERS
    5092       REAL*8 PDISU(KDLON,KFLEV+1) ! CONTRIBUTION BY DISTANT LAYERS
    5093       REAL*8 PEMIS(KDLON) ! SURFACE EMISSIVITY
    5094       REAL*8 PPMB(KDLON,KFLEV+1) ! PRESSURE MB
    5095       REAL*8 PGA(KDLON,8,2,KFLEV) ! PADE APPROXIMANTS
    5096       REAL*8 PGB(KDLON,8,2,KFLEV) ! PADE APPROXIMANTS
    5097       REAL*8 PGASUR(KDLON,8,2) ! SURFACE PADE APPROXIMANTS
    5098       REAL*8 PGBSUR(KDLON,8,2) ! SURFACE PADE APPROXIMANTS
    5099       REAL*8 PGATOP(KDLON,8,2) ! T.O.A. PADE APPROXIMANTS
    5100       REAL*8 PGBTOP(KDLON,8,2) ! T.O.A. PADE APPROXIMANTS
    5101 C
    5102       REAL*8 PFLUC(KDLON,2,KFLEV+1) ! CLEAR-SKY RADIATIVE FLUXES
    5103       REAL*8 PCTS(KDLON,KFLEV) ! COOLING-TO-SPACE TERM
     5085      REAL(KIND=8) PABCU(KDLON,NUA,3*KFLEV+1) ! ABSORBER AMOUNTS
     5086      REAL(KIND=8) PADJD(KDLON,KFLEV+1) ! CONTRIBUTION BY ADJACENT LAYERS
     5087      REAL(KIND=8) PADJU(KDLON,KFLEV+1) ! CONTRIBUTION BY ADJACENT LAYERS
     5088      REAL(KIND=8) PB(KDLON,Ninter,KFLEV+1) ! SPECTRAL HALF-LEVEL PLANCK FUNCTIONS
     5089      REAL(KIND=8) PBINT(KDLON,KFLEV+1) ! HALF-LEVEL PLANCK FUNCTIONS
     5090      REAL(KIND=8) PBSUR(KDLON,Ninter) ! SPECTRAL SURFACE PLANCK FUNCTION
     5091      REAL(KIND=8) PBSUI(KDLON) ! SURFACE PLANCK FUNCTION
     5092      REAL(KIND=8) PBTOP(KDLON,Ninter) ! SPECTRAL T.O.A. PLANCK FUNCTION
     5093      REAL(KIND=8) PDISD(KDLON,KFLEV+1) ! CONTRIBUTION BY DISTANT LAYERS
     5094      REAL(KIND=8) PDISU(KDLON,KFLEV+1) ! CONTRIBUTION BY DISTANT LAYERS
     5095      REAL(KIND=8) PEMIS(KDLON) ! SURFACE EMISSIVITY
     5096      REAL(KIND=8) PPMB(KDLON,KFLEV+1) ! PRESSURE MB
     5097      REAL(KIND=8) PGA(KDLON,8,2,KFLEV) ! PADE APPROXIMANTS
     5098      REAL(KIND=8) PGB(KDLON,8,2,KFLEV) ! PADE APPROXIMANTS
     5099      REAL(KIND=8) PGASUR(KDLON,8,2) ! SURFACE PADE APPROXIMANTS
     5100      REAL(KIND=8) PGBSUR(KDLON,8,2) ! SURFACE PADE APPROXIMANTS
     5101      REAL(KIND=8) PGATOP(KDLON,8,2) ! T.O.A. PADE APPROXIMANTS
     5102      REAL(KIND=8) PGBTOP(KDLON,8,2) ! T.O.A. PADE APPROXIMANTS
     5103C
     5104      REAL(KIND=8) PFLUC(KDLON,2,KFLEV+1) ! CLEAR-SKY RADIATIVE FLUXES
     5105      REAL(KIND=8) PCTS(KDLON,KFLEV) ! COOLING-TO-SPACE TERM
    51045106C
    51055107C* LOCAL VARIABLES:
    51065108C
    5107       REAL*8 ZBGND(KDLON)
    5108       REAL*8 ZFD(KDLON)
    5109       REAL*8  ZFN10(KDLON)
    5110       REAL*8 ZFU(KDLON)
    5111       REAL*8  ZTT(KDLON,NTRA)
    5112       REAL*8 ZTT1(KDLON,NTRA)
    5113       REAL*8 ZTT2(KDLON,NTRA)
    5114       REAL*8  ZUU(KDLON,NUA)
    5115       REAL*8 ZCNSOL(KDLON)
    5116       REAL*8 ZCNTOP(KDLON)
     5109      REAL(KIND=8) ZBGND(KDLON)
     5110      REAL(KIND=8) ZFD(KDLON)
     5111      REAL(KIND=8)  ZFN10(KDLON)
     5112      REAL(KIND=8) ZFU(KDLON)
     5113      REAL(KIND=8)  ZTT(KDLON,NTRA)
     5114      REAL(KIND=8) ZTT1(KDLON,NTRA)
     5115      REAL(KIND=8) ZTT2(KDLON,NTRA)
     5116      REAL(KIND=8)  ZUU(KDLON,NUA)
     5117      REAL(KIND=8) ZCNSOL(KDLON)
     5118      REAL(KIND=8) ZCNTOP(KDLON)
    51175119C
    51185120      INTEGER jk, jl, ja
    51195121      INTEGER jstra, jstru
    51205122      INTEGER ind1, ind2, ind3, ind4, in, jlim
    5121       REAL*8 zctstr
     5123      REAL(KIND=8) zctstr
    51225124C-----------------------------------------------------------------------
    51235125C
     
    54065408      INTEGER KUAER,KTRAER
    54075409C
    5408       REAL*8 PABCU(KDLON,NUA,3*KFLEV+1) ! ABSORBER AMOUNTS
    5409       REAL*8 PDBDT(KDLON,Ninter,KFLEV) ! LAYER PLANCK FUNCTION GRADIENT
    5410       REAL*8 PGA(KDLON,8,2,KFLEV) ! PADE APPROXIMANTS
    5411       REAL*8 PGB(KDLON,8,2,KFLEV) ! PADE APPROXIMANTS
    5412 C
    5413       REAL*8 PCNTRB(KDLON,KFLEV+1,KFLEV+1) ! ENERGY EXCHANGE MATRIX
    5414       REAL*8 PDISD(KDLON,KFLEV+1) !  CONTRIBUTION BY DISTANT LAYERS
    5415       REAL*8 PDISU(KDLON,KFLEV+1) !  CONTRIBUTION BY DISTANT LAYERS
     5410      REAL(KIND=8) PABCU(KDLON,NUA,3*KFLEV+1) ! ABSORBER AMOUNTS
     5411      REAL(KIND=8) PDBDT(KDLON,Ninter,KFLEV) ! LAYER PLANCK FUNCTION GRADIENT
     5412      REAL(KIND=8) PGA(KDLON,8,2,KFLEV) ! PADE APPROXIMANTS
     5413      REAL(KIND=8) PGB(KDLON,8,2,KFLEV) ! PADE APPROXIMANTS
     5414C
     5415      REAL(KIND=8) PCNTRB(KDLON,KFLEV+1,KFLEV+1) ! ENERGY EXCHANGE MATRIX
     5416      REAL(KIND=8) PDISD(KDLON,KFLEV+1) !  CONTRIBUTION BY DISTANT LAYERS
     5417      REAL(KIND=8) PDISU(KDLON,KFLEV+1) !  CONTRIBUTION BY DISTANT LAYERS
    54165418C
    54175419C* LOCAL VARIABLES:
    54185420C
    5419       REAL*8 ZGLAYD(KDLON)
    5420       REAL*8 ZGLAYU(KDLON)
    5421       REAL*8 ZTT(KDLON,NTRA)
    5422       REAL*8 ZTT1(KDLON,NTRA)
    5423       REAL*8 ZTT2(KDLON,NTRA)
     5421      REAL(KIND=8) ZGLAYD(KDLON)
     5422      REAL(KIND=8) ZGLAYU(KDLON)
     5423      REAL(KIND=8) ZTT(KDLON,NTRA)
     5424      REAL(KIND=8) ZTT1(KDLON,NTRA)
     5425      REAL(KIND=8) ZTT2(KDLON,NTRA)
    54245426C
    54255427      INTEGER jl, jk, ja, ikp1, ikn, ikd1, jkj, ikd2
    54265428      INTEGER ikjp1, ikm1, ikj, jlk, iku1, ijkl, iku2
    54275429      INTEGER ind1, ind2, ind3, ind4, itt
    5428       REAL*8 zww, zdzxdg, zdzxmg
     5430      REAL(KIND=8) zww, zdzxdg, zdzxmg
    54295431C
    54305432C*         1.    INITIALIZATION
     
    56615663      INTEGER KUAER,KTRAER
    56625664C
    5663       REAL*8 PABCU(KDLON,NUA,3*KFLEV+1) ! ABSORBER AMOUNTS
    5664       REAL*8 PDBSL(KDLON,Ninter,KFLEV*2) ! SUB-LAYER PLANCK FUNCTION GRADIENT
    5665       REAL*8 PGA(KDLON,8,2,KFLEV) ! PADE APPROXIMANTS
    5666       REAL*8 PGB(KDLON,8,2,KFLEV) ! PADE APPROXIMANTS
    5667 C
    5668       REAL*8 PADJD(KDLON,KFLEV+1) ! CONTRIBUTION OF ADJACENT LAYERS
    5669       REAL*8 PADJU(KDLON,KFLEV+1) ! CONTRIBUTION OF ADJACENT LAYERS
    5670       REAL*8 PCNTRB(KDLON,KFLEV+1,KFLEV+1) ! CLEAR-SKY ENERGY EXCHANGE MATRIX
    5671       REAL*8 PDBDT(KDLON,Ninter,KFLEV) !  LAYER PLANCK FUNCTION GRADIENT
     5665      REAL(KIND=8) PABCU(KDLON,NUA,3*KFLEV+1) ! ABSORBER AMOUNTS
     5666      REAL(KIND=8) PDBSL(KDLON,Ninter,KFLEV*2) ! SUB-LAYER PLANCK FUNCTION GRADIENT
     5667      REAL(KIND=8) PGA(KDLON,8,2,KFLEV) ! PADE APPROXIMANTS
     5668      REAL(KIND=8) PGB(KDLON,8,2,KFLEV) ! PADE APPROXIMANTS
     5669C
     5670      REAL(KIND=8) PADJD(KDLON,KFLEV+1) ! CONTRIBUTION OF ADJACENT LAYERS
     5671      REAL(KIND=8) PADJU(KDLON,KFLEV+1) ! CONTRIBUTION OF ADJACENT LAYERS
     5672      REAL(KIND=8) PCNTRB(KDLON,KFLEV+1,KFLEV+1) ! CLEAR-SKY ENERGY EXCHANGE MATRIX
     5673      REAL(KIND=8) PDBDT(KDLON,Ninter,KFLEV) !  LAYER PLANCK FUNCTION GRADIENT
    56725674C
    56735675C* LOCAL ARRAYS:
    56745676C
    5675       REAL*8 ZGLAYD(KDLON)
    5676       REAL*8 ZGLAYU(KDLON)
    5677       REAL*8 ZTT(KDLON,NTRA)
    5678       REAL*8 ZTT1(KDLON,NTRA)
    5679       REAL*8 ZTT2(KDLON,NTRA)
    5680       REAL*8 ZUU(KDLON,NUA)
     5677      REAL(KIND=8) ZGLAYD(KDLON)
     5678      REAL(KIND=8) ZGLAYU(KDLON)
     5679      REAL(KIND=8) ZTT(KDLON,NTRA)
     5680      REAL(KIND=8) ZTT1(KDLON,NTRA)
     5681      REAL(KIND=8) ZTT2(KDLON,NTRA)
     5682      REAL(KIND=8) ZUU(KDLON,NUA)
    56815683C
    56825684      INTEGER jk, jl, ja, im12, ind, inu, ixu, jg
    56835685      INTEGER ixd, ibs, idd, imu, jk1, jk2, jnu
    5684       REAL*8 zwtr
     5686      REAL(KIND=8) zwtr
    56855687c
    56865688C* Data Block:
    56875689c
    5688       REAL*8 WG1(2)
     5690      REAL(KIND=8) WG1(2)
    56895691      SAVE WG1
    56905692c$OMP THREADPRIVATE(WG1)
     
    58705872C
    58715873C-----------------------------------------------------------------------
    5872       REAL*8 O1H, O2H
     5874      REAL(KIND=8) O1H, O2H
    58735875      PARAMETER (O1H=2230.)
    58745876      PARAMETER (O2H=100.)
    5875       REAL*8 RPIALF0
     5877      REAL(KIND=8) RPIALF0
    58765878      PARAMETER (RPIALF0=2.0)
    58775879C
    58785880C* ARGUMENTS:
    58795881C
    5880       REAL*8 PUU(KDLON,NUA)
    5881       REAL*8 PTT(KDLON,NTRA)
    5882       REAL*8 PGA(KDLON,8,2)
    5883       REAL*8 PGB(KDLON,8,2)
     5882      REAL(KIND=8) PUU(KDLON,NUA)
     5883      REAL(KIND=8) PTT(KDLON,NTRA)
     5884      REAL(KIND=8) PGA(KDLON,8,2)
     5885      REAL(KIND=8) PGB(KDLON,8,2)
    58845886C
    58855887C* LOCAL VARIABLES:
    58865888C
    5887       REAL*8 zz, zxd, zxn
    5888       REAL*8 zpu, zpu10, zpu11, zpu12, zpu13
    5889       REAL*8 zeu, zeu10, zeu11, zeu12, zeu13
    5890       REAL*8 zx, zy, zsq1, zsq2, zvxy, zuxy
    5891       REAL*8 zaercn, zto1, zto2, zxch4, zych4, zxn2o, zyn2o
    5892       REAL*8 zsqn21, zodn21, zsqh42, zodh42
    5893       REAL*8 zsqh41, zodh41, zsqn22, zodn22, zttf11, zttf12
    5894       REAL*8 zuu11, zuu12, za11, za12
     5889      REAL(KIND=8) zz, zxd, zxn
     5890      REAL(KIND=8) zpu, zpu10, zpu11, zpu12, zpu13
     5891      REAL(KIND=8) zeu, zeu10, zeu11, zeu12, zeu13
     5892      REAL(KIND=8) zx, zy, zsq1, zsq2, zvxy, zuxy
     5893      REAL(KIND=8) zaercn, zto1, zto2, zxch4, zych4, zxn2o, zyn2o
     5894      REAL(KIND=8) zsqn21, zodn21, zsqh42, zodh42
     5895      REAL(KIND=8) zsqh41, zodh41, zsqn22, zodn22, zttf11, zttf12
     5896      REAL(KIND=8) zuu11, zuu12, za11, za12
    58955897      INTEGER jl, ja
    58965898C     ------------------------------------------------------------------
     
    60466048C
    60476049C-----------------------------------------------------------------------
    6048       REAL*8 O1H, O2H
     6050      REAL(KIND=8) O1H, O2H
    60496051      PARAMETER (O1H=2230.)
    60506052      PARAMETER (O2H=100.)
    6051       REAL*8 RPIALF0
     6053      REAL(KIND=8) RPIALF0
    60526054      PARAMETER (RPIALF0=2.0)
    60536055C
    60546056C* ARGUMENTS:
    60556057C
    6056       REAL*8 PGA(KDLON,8,2) ! PADE APPROXIMANTS
    6057       REAL*8 PGB(KDLON,8,2) ! PADE APPROXIMANTS
    6058       REAL*8 PUU1(KDLON,NUA) ! ABSORBER AMOUNTS FROM TOP TO LEVEL 1
    6059       REAL*8 PUU2(KDLON,NUA) ! ABSORBER AMOUNTS FROM TOP TO LEVEL 2
    6060       REAL*8 PTT(KDLON,NTRA) ! TRANSMISSION FUNCTIONS
     6058      REAL(KIND=8) PGA(KDLON,8,2) ! PADE APPROXIMANTS
     6059      REAL(KIND=8) PGB(KDLON,8,2) ! PADE APPROXIMANTS
     6060      REAL(KIND=8) PUU1(KDLON,NUA) ! ABSORBER AMOUNTS FROM TOP TO LEVEL 1
     6061      REAL(KIND=8) PUU2(KDLON,NUA) ! ABSORBER AMOUNTS FROM TOP TO LEVEL 2
     6062      REAL(KIND=8) PTT(KDLON,NTRA) ! TRANSMISSION FUNCTIONS
    60616063C
    60626064C* LOCAL VARIABLES:
    60636065C
    60646066      INTEGER ja, jl
    6065       REAL*8 zz, zxd, zxn
    6066       REAL*8 zpu, zpu10, zpu11, zpu12, zpu13
    6067       REAL*8 zeu, zeu10, zeu11, zeu12, zeu13
    6068       REAL*8 zx, zy, zuxy, zsq1, zsq2, zvxy, zaercn, zto1, zto2
    6069       REAL*8 zxch4, zych4, zsqh41, zodh41
    6070       REAL*8 zxn2o, zyn2o, zsqn21, zodn21, zsqh42, zodh42
    6071       REAL*8 zsqn22, zodn22, za11, zttf11, za12, zttf12
    6072       REAL*8 zuu11, zuu12
     6067      REAL(KIND=8) zz, zxd, zxn
     6068      REAL(KIND=8) zpu, zpu10, zpu11, zpu12, zpu13
     6069      REAL(KIND=8) zeu, zeu10, zeu11, zeu12, zeu13
     6070      REAL(KIND=8) zx, zy, zuxy, zsq1, zsq2, zvxy, zaercn, zto1, zto2
     6071      REAL(KIND=8) zxch4, zych4, zsqh41, zodh41
     6072      REAL(KIND=8) zxn2o, zyn2o, zsqn21, zodn21, zsqh42, zodh42
     6073      REAL(KIND=8) zsqn22, zodn22, za11, zttf11, za12, zttf12
     6074      REAL(KIND=8) zuu11, zuu12
    60736075C     ------------------------------------------------------------------
    60746076C
Note: See TracChangeset for help on using the changeset viewer.