Ignore:
Timestamp:
Oct 22, 2024, 2:09:45 PM (2 months ago)
Author:
abarral
Message:

Wrap uses of cpp key REPROBUS and CPP_STRATAER
Add REPROBUS wrapper

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phylmd/rrtm/lwu.F90

    r4389 r5252  
    66 & PAER , PCCO2, PDP , PPMB, PQOF , PTAVE, PVIEW, PWV,&
    77 & PABCU &
    8  & ) 
     8 & )
    99
    1010!**** *LWU* - LONGWAVE EFFECTIVE ABSORBER AMOUNTS
     
    7171USE YOELW    , ONLY : NSIL     ,NUA      ,NG1      ,NG1P1    ,&
    7272 & ALWT     ,BLWT     ,RO3T     ,RT1      ,TREF     ,&
    73  & RVGCO2   ,RVGH2O   ,RVGO3 
     73 & RVGCO2   ,RVGH2O   ,RVGO3
    7474!USE YOERDI   , ONLY : RCH4     ,RN2O     ,RCFC11   ,RCFC12
    7575USE YOERDU   , ONLY : R10E     ,REPSCO   ,REPSCQ
    76 #ifdef REPROBUS
    77 USE chem_rep, ONLY: rch42d, rn2o2d, rcfc112d, rcfc122d, ok_rtime2d
     76USE lmdz_reprobus_wrappers, ONLY: rch42d, rn2o2d, rcfc112d, rcfc122d, ok_rtime2d
    7877USE infotrac_phy, ONLY : type_trac
    79 #endif
    80 
     78USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_REPROBUS
    8179
    8280IMPLICIT NONE
    8381
    84 INTEGER(KIND=JPIM),INTENT(IN)    :: KLON 
    85 INTEGER(KIND=JPIM),INTENT(IN)    :: KLEV 
    86 INTEGER(KIND=JPIM),INTENT(IN)    :: KIDIA 
    87 INTEGER(KIND=JPIM),INTENT(IN)    :: KFDIA 
    88 REAL(KIND=JPRB)   ,INTENT(IN)    :: PAER(KLON,6,KLEV) 
    89 REAL(KIND=JPRB)   ,INTENT(IN)    :: PCCO2 
    90 REAL(KIND=JPRB)   ,INTENT(IN)    :: PDP(KLON,KLEV) 
    91 REAL(KIND=JPRB)   ,INTENT(IN)    :: PPMB(KLON,KLEV+1) 
    92 REAL(KIND=JPRB)   ,INTENT(IN)    :: PQOF(KLON,KLEV) 
    93 REAL(KIND=JPRB)   ,INTENT(IN)    :: PTAVE(KLON,KLEV) 
    94 REAL(KIND=JPRB)   ,INTENT(IN)    :: PVIEW(KLON) 
    95 REAL(KIND=JPRB)   ,INTENT(IN)    :: PWV(KLON,KLEV) 
    96 REAL(KIND=JPRB)   ,INTENT(OUT)   :: PABCU(KLON,NUA,3*KLEV+1) 
     82INTEGER(KIND=JPIM),INTENT(IN)    :: KLON
     83INTEGER(KIND=JPIM),INTENT(IN)    :: KLEV
     84INTEGER(KIND=JPIM),INTENT(IN)    :: KIDIA
     85INTEGER(KIND=JPIM),INTENT(IN)    :: KFDIA
     86REAL(KIND=JPRB)   ,INTENT(IN)    :: PAER(KLON,6,KLEV)
     87REAL(KIND=JPRB)   ,INTENT(IN)    :: PCCO2
     88REAL(KIND=JPRB)   ,INTENT(IN)    :: PDP(KLON,KLEV)
     89REAL(KIND=JPRB)   ,INTENT(IN)    :: PPMB(KLON,KLEV+1)
     90REAL(KIND=JPRB)   ,INTENT(IN)    :: PQOF(KLON,KLEV)
     91REAL(KIND=JPRB)   ,INTENT(IN)    :: PTAVE(KLON,KLEV)
     92REAL(KIND=JPRB)   ,INTENT(IN)    :: PVIEW(KLON)
     93REAL(KIND=JPRB)   ,INTENT(IN)    :: PWV(KLON,KLEV)
     94REAL(KIND=JPRB)   ,INTENT(OUT)   :: PABCU(KLON,NUA,3*KLEV+1)
    9795
    9896#include "clesphys.h"
     
    107105REAL(KIND=JPRB) :: ZABLY(KLON,7,3*KLEV+1)  , ZDPM(KLON,3*KLEV)&
    108106 & ,  ZDUC(KLON, 3*KLEV+1)    , ZFACT(KLON)&
    109  & ,  ZUPM(KLON,3*KLEV) 
     107 & ,  ZUPM(KLON,3*KLEV)
    110108REAL(KIND=JPRB) :: ZPHIO(KLON),ZPSC2(KLON) , ZPSC3(KLON), ZPSH1(KLON)&
    111109 & ,  ZPSH2(KLON),ZPSH3(KLON) , ZPSH4(KLON), ZPSH5(KLON)&
    112110 & ,  ZPSH6(KLON),ZPSIO(KLON) , ZTCON(KLON)&
    113  & ,  ZPHM6(KLON),ZPSM6(KLON) , ZPHN6(KLON), ZPSN6(KLON) 
     111 & ,  ZPHM6(KLON),ZPSM6(KLON) , ZPHN6(KLON), ZPSN6(KLON)
    114112REAL(KIND=JPRB) :: ZSSIG(KLON,3*KLEV+1)    , ZTAVI(KLON)&
    115  & ,  ZUAER(KLON,NSIL)        , ZXOZ(KLON) , ZXWV(KLON) 
     113 & ,  ZUAER(KLON,NSIL)        , ZXOZ(KLON) , ZXWV(KLON)
    116114
    117115INTEGER(KIND=JPIM) :: IAE1, IAE2, IAE3, IC, ICP1, IG1, IJ, IJPN,&
    118116 & IKIP1, IKJ, IKJP, IKJPN, IKJR, IKL, JA, JAE, &
    119  & JK, JKI, JKK, JL 
     117 & JK, JKI, JKK, JL
    120118
    121119REAL(KIND=JPRB) :: ZALUP, ZCAC8, ZCAH1, ZCAH2, ZCAH3, ZCAH4,&
     
    123121 & ZCBH4, ZCBH5, ZCBH6, ZDIFF, ZDPMG, ZDPMP0, &
    124122 & ZFPPW, ZTX, ZTX2, ZU6, ZUP, ZUPMCO2, ZUPMG, &
    125  & ZUPMH2O, ZUPMO3, ZZABLY 
     123 & ZUPMH2O, ZUPMO3, ZZABLY
    126124REAL(KIND=JPRB) :: ZHOOK_HANDLE
    127125
     
    153151    DO JL = KIDIA,KFDIA
    154152      ZSSIG(JL,IKJ)= (ZSSIG(JL,IKJR) + ZSSIG(JL,IKJP)) * 0.5_JPRB &
    155        & + RT1(IG1) * (ZSSIG(JL,IKJP) - ZSSIG(JL,IKJR)) * 0.5_JPRB 
     153       & + RT1(IG1) * (ZSSIG(JL,IKJP) - ZSSIG(JL,IKJR)) * 0.5_JPRB
    156154    ENDDO
    157155  ENDDO
     
    237235       & +RAER(JAE,3)*PAER(JL,3,JK)+RAER(JAE,4)*PAER(JL,4,JK)&
    238236       & +RAER(JAE,5)*PAER(JL,5,JK)+RAER(JAE,6)*PAER(JL,6,JK))&
    239        & /(ZDUC(JL,IAE1)+ZDUC(JL,IAE2)+ZDUC(JL,IAE3)) 
     237       & /(ZDUC(JL,IAE1)+ZDUC(JL,IAE2)+ZDUC(JL,IAE3))
    240238    ENDDO
    241239  ENDDO
     
    297295    DO JL = KIDIA,KFDIA
    298296      ZDIFF = PVIEW(JL)
    299 !- H2O continuum     
     297!- H2O continuum
    300298      PABCU(JL,10,IC)=PABCU(JL,10,ICP1)+ ZABLY(JL,4,IC)          *ZDIFF
    301299      PABCU(JL,11,IC)=PABCU(JL,11,ICP1)+ ZABLY(JL,5,IC)*ZTCON(JL)*ZDIFF
    302 !- O3     
     300!- O3
    303301      PABCU(JL,12,IC)=PABCU(JL,12,ICP1)+ ZABLY(JL,6,IC)*ZPHIO(JL)*ZDIFF
    304302      PABCU(JL,13,IC)=PABCU(JL,13,ICP1)+ ZABLY(JL,7,IC)*ZPSIO(JL)*ZDIFF
     
    320318      PABCU(JL,17,IC)=PABCU(JL,17,ICP1)+ ZUAER(JL,4)    *ZDUC(JL,IC)*ZDIFF
    321319      PABCU(JL,18,IC)=PABCU(JL,18,ICP1)+ ZUAER(JL,5)    *ZDUC(JL,IC)*ZDIFF
    322 #ifdef REPROBUS
    323         IF (type_trac=='repr'.and. ok_rtime2d) THEN
     320        IF (CPPKEY_REPROBUS .AND. type_trac=='repr'.AND. ok_rtime2d) THEN
    324321!- CH4
    325322      PABCU(JL,19,IC)=PABCU(JL,19,ICP1)&
     
    340337
    341338         ELSE
    342 #endif
    343339!- CH4
    344340      PABCU(JL,19,IC)=PABCU(JL,19,ICP1)&
    345        & + ZABLY(JL,2,IC)*RCH4/PCCO2*ZPHM6(JL)*ZDIFF 
     341       & + ZABLY(JL,2,IC)*RCH4/PCCO2*ZPHM6(JL)*ZDIFF
    346342      PABCU(JL,20,IC)=PABCU(JL,20,ICP1)&
    347        & + ZABLY(JL,3,IC)*RCH4/PCCO2*ZPSM6(JL)*ZDIFF 
     343       & + ZABLY(JL,3,IC)*RCH4/PCCO2*ZPSM6(JL)*ZDIFF
    348344!- N2O
    349345      PABCU(JL,21,IC)=PABCU(JL,21,ICP1)&
    350        & + ZABLY(JL,2,IC)*RN2O/PCCO2*ZPHN6(JL)*ZDIFF 
     346       & + ZABLY(JL,2,IC)*RN2O/PCCO2*ZPHN6(JL)*ZDIFF
    351347      PABCU(JL,22,IC)=PABCU(JL,22,ICP1)&
    352        & + ZABLY(JL,3,IC)*RN2O/PCCO2*ZPSN6(JL)*ZDIFF 
     348       & + ZABLY(JL,3,IC)*RN2O/PCCO2*ZPSN6(JL)*ZDIFF
    353349!- CFC11
    354350      PABCU(JL,23,IC)=PABCU(JL,23,ICP1)&
    355        & + ZABLY(JL,2,IC)*RCFC11/PCCO2        *ZDIFF 
     351       & + ZABLY(JL,2,IC)*RCFC11/PCCO2        *ZDIFF
    356352!- CFC12
    357353      PABCU(JL,24,IC)=PABCU(JL,24,ICP1)&
    358        & + ZABLY(JL,2,IC)*RCFC12/PCCO2        *ZDIFF 
    359 #ifdef REPROBUS
     354       & + ZABLY(JL,2,IC)*RCFC12/PCCO2        *ZDIFF
    360355        END IF
    361 #endif
    362356    ENDDO
    363357  ENDDO
Note: See TracChangeset for help on using the changeset viewer.