Ignore:
Timestamp:
Mar 31, 2023, 8:42:57 PM (18 months ago)
Author:
lguez
Message:

Merge LMDZ_ECRad branch back into trunk!

Location:
LMDZ6/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk

  • LMDZ6/trunk/libf/phylmd/ecrad/radiation_scheme.F90

    r4115 r4489  
    1313SUBROUTINE RADIATION_SCHEME &
    1414! Inputs
    15      & (KIDIA, KFDIA, KLON, KLEV, KAEROLMDZ, NSW, &
     15     & (KIDIA, KFDIA, KLON, KLEV, KAEROSOL, NSW, &
    1616     &  IDAY, TIME, &
    1717     &  PSOLAR_IRRADIANCE, &
    18      &  PMU0, PTEMPERATURE_SKIN, PALBEDO_DIF, PALBEDO_DIR, &
     18     &  PMU0, PTEMPERATURE_SKIN, &
     19     &  PALBEDO_DIF, PALBEDO_DIR, &
    1920     &  PEMIS, PEMIS_WINDOW, &
    20      &  PCCN_LAND, PCCN_SEA, &
    21      &  PGELAM, PGEMU, PLAND_SEA_MASK, &
    22      &  PPRESSURE, PTEMPERATURE, &
     21     &  PGELAM, PGEMU, &
    2322     &  PPRESSURE_H, PTEMPERATURE_H, PQ, PQSAT, &
    2423     &  PCO2, PCH4, PN2O, PNO2, PCFC11, PCFC12, PHCFC22, &
    2524     &  PCCL4, PO3, PO2, &
    26      &  PCLOUD_FRAC, PQ_LIQUID, PQ_ICE, PQ_RAIN, PQ_SNOW, &
     25     &  PCLOUD_FRAC, PQ_LIQUID, PQ_ICE, PQ_SNOW, &
    2726     &  ZRE_LIQUID_UM, ZRE_ICE_UM, &
    2827     &  PAEROSOL_OLD, PAEROSOL, &
     
    117116INTEGER(KIND=JPIM),INTENT(IN) :: KLEV     ! Number of levels
    118117!INTEGER, INTENT(IN) :: KLON, KLEV
    119 INTEGER(KIND=JPIM),INTENT(IN) :: KAEROLMDZ ! Number of aerosol types
     118!INTEGER(KIND=JPIM),INTENT(IN) :: KAEROLMDZ ! Number of aerosol types
     119INTEGER(KIND=JPIM),INTENT(IN) :: KAEROSOL
    120120INTEGER(KIND=JPIM),INTENT(IN) :: NSW ! Numbe of bands
    121121
    122122! AI ATTENTION
    123 INTEGER, PARAMETER :: KAEROSOL = 12
     123!INTEGER, PARAMETER :: KAEROSOL = 12
    124124
    125125! *** Single-level fields
     
    139139REAL(KIND=JPRB),   INTENT(IN) :: PGEMU(KLON)
    140140! Land-sea mask
    141 REAL(KIND=JPRB),   INTENT(IN) :: PLAND_SEA_MASK(KLON)
     141!REAL(KIND=JPRB),   INTENT(IN) :: PLAND_SEA_MASK(KLON)
    142142
    143143! *** Variables on full levels
    144 REAL(KIND=JPRB),   INTENT(IN) :: PPRESSURE(KLON,KLEV)    ! (Pa)
    145 REAL(KIND=JPRB),   INTENT(IN) :: PTEMPERATURE(KLON,KLEV) ! (K)
     144!REAL(KIND=JPRB),   INTENT(IN) :: PPRESSURE(KLON,KLEV)    ! (Pa)
     145!REAL(KIND=JPRB),   INTENT(IN) :: PTEMPERATURE(KLON,KLEV) ! (K)
    146146! *** Variables on half levels
    147147REAL(KIND=JPRB),   INTENT(IN) :: PPRESSURE_H(KLON,KLEV+1)    ! (Pa)
     
    167167REAL(KIND=JPRB),   INTENT(IN) :: PQ_LIQUID(KLON,KLEV)
    168168REAL(KIND=JPRB),   INTENT(IN) :: PQ_ICE(KLON,KLEV)
    169 REAL(KIND=JPRB),   INTENT(IN) :: PQ_RAIN(KLON,KLEV)
     169!REAL(KIND=JPRB),   INTENT(IN) :: PQ_RAIN(KLON,KLEV)
    170170REAL(KIND=JPRB),   INTENT(IN) :: PQ_SNOW(KLON,KLEV)
    171171
     
    174174REAL(KIND=JPRB),   INTENT(IN) :: PAEROSOL(KLON,KLEV,KAEROSOL)
    175175
    176 REAL(KIND=JPRB),   INTENT(IN) :: PCCN_LAND(KLON)
    177 REAL(KIND=JPRB),   INTENT(IN) :: PCCN_SEA(KLON)
     176!REAL(KIND=JPRB),   INTENT(IN) :: PCCN_LAND(KLON)
     177!REAL(KIND=JPRB),   INTENT(IN) :: PCCN_SEA(KLON)
    178178
    179179!AI mars 2021
     
    313313if (lprint_input) then
    314314  print*,'********** Verification des entrees *************'
    315   print*,'KIDIA, KFDIA, KLON, KLEV, KAEROLMDZ, NSW =', &
    316         KIDIA, KFDIA, KLON, KLEV, KAEROLMDZ, NSW
     315  print*,'KIDIA, KFDIA, KLON, KLEV, KAEROSOL, NSW =', &
     316        KIDIA, KFDIA, KLON, KLEV, KAEROSOL, NSW
    317317  print*,'IDAY, TIME =', IDAY, TIME
    318318  print*,'PSOLAR_IRRADIANCE =', PSOLAR_IRRADIANCE
     
    320320  print*,'PTEMPERATURE_SKIN =',PTEMPERATURE_SKIN
    321321  print*,'PEMIS, PEMIS_WINDOW =', PEMIS, PEMIS_WINDOW
    322   print*,'PCCN_LAND, PCCN_SEA =', PCCN_LAND, PCCN_SEA
    323322  print*,'PGELAM, PGEMU =', PGELAM, PGEMU
    324   print*,'PPRESSURE =', PPRESSURE
    325   print*,'PTEMPERATURE =', PTEMPERATURE
    326323  print*,'PPRESSURE_H =', PPRESSURE_H
    327324  print*,'PTEMPERATURE_H =', PTEMPERATURE_H
     
    331328        PCO2, PCH4, PN2O, PNO2, PCFC11, PCFC12, PHCFC22, PCCL4
    332329  print*,'PO3 =',PO3
    333   print*,'PCLOUD_FRAC, PQ_LIQUID, PQ_ICE, PQ_RAIN, PQ_SNOW =', &
    334         PCLOUD_FRAC, PQ_LIQUID, PQ_ICE, PQ_RAIN, PQ_SNOW
     330  print*,'PCLOUD_FRAC, PQ_LIQUID, PQ_ICE, PQ_SNOW =', &
     331        PCLOUD_FRAC, PQ_LIQUID, PQ_ICE, PQ_SNOW
    335332  print*,'ZRE_LIQUID_UM, ZRE_ICE_UM =', &
    336333        ZRE_LIQUID_UM, ZRE_ICE_UM
     
    407404! Alternative approximate version using temperature and pressure from
    408405! the thermodynamics structure
    409 CALL thermodynamics%calc_saturation_wrt_liquid(KIDIA, KFDIA)
     406!CALL thermodynamics%calc_saturation_wrt_liquid(KIDIA, KFDIA)
     407!AI ATTENTION
     408thermodynamics%h2o_sat_liq = PQSAT
    410409
    411410print*,'********** SINGLE LEVEL VARS **********************************'
    412411!AI ATTENTION
    413 !thermodynamics%h2o_sat_liq = PQSAT
    414412! Set single-level fileds
    415413single_level%solar_irradiance              = PSOLAR_IRRADIANCE
     
    510508
    511509print*,'******** AEROSOLS (allocate + input) **************************************'
    512 IF (NAERMACC > 0) THEN
     510!IF (NAERMACC > 0) THEN
    513511  CALL aerosol%allocate(KLON, 1, KLEV, KAEROSOL) ! MACC climatology
    514 ELSE
    515   CALL aerosol%allocate(KLON, 1, KLEV, 6) ! Tegen climatology
    516 ENDIF
     512!ELSE
     513!  CALL aerosol%allocate(KLON, 1, KLEV, 6) ! Tegen climatology
     514!ENDIF
    517515! Compute the dry mass of each layer neglecting humidity effects, in
    518516! kg m-2, needed to scale some of the aerosol inputs
     
    644642
    645643! Compute UV fluxes as weighted sum of appropriate shortwave bands
     644!AI ATTENTION
     645if (0.eq.1) then
    646646PFLUX_UV       (KIDIA:KFDIA) = 0.0_JPRB
    647647DO JBAND = 1,NWEIGHT_UV
     
    660660       &  * flux%sw_dn_surf_clear_band(IBAND_PAR(JBAND),KIDIA:KFDIA)
    661661ENDDO
    662 
     662endif
    663663! Compute effective broadband emissivity
    664664ZBLACK_BODY_NET_LW = flux%lw_dn(KIDIA:KFDIA,KLEV+1) &
     
    679679!AI ATTENTION
    680680!IF (YRERAD%LAPPROXSWUPDATE) THEN
     681if (0.eq.1) then
    681682IF (rad_config%do_surface_sw_spectral_flux) THEN
    682683  PSWDIFFUSEBAND(KIDIA:KFDIA,:) = 0.0_JPRB
     
    693694  ENDDO
    694695ENDIF
    695 
     696endif
    696697CALL single_level%deallocate
    697698CALL thermodynamics%deallocate
Note: See TracChangeset for help on using the changeset viewer.