Ignore:
Timestamp:
Jul 28, 2025, 7:23:15 PM (6 days ago)
Author:
aborella
Message:

Merge with trunk r5789

Location:
LMDZ6/branches/contrails
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/contrails

  • LMDZ6/branches/contrails/libf/phylmd/ecrad/lmdz/radiation_scheme_mod.f90

    r5268 r5791  
    6565
    6666USE mod_phys_lmdz_para
     67use geometry_mod, only: longitude_deg, latitude_deg
    6768
    6869IMPLICIT NONE
     
    160161
    161162! Direct component of surface flux into horizontal plane
    162 REAL(KIND=JPRB),  INTENT(OUT) :: PFLUX_DIR(KLON)
    163 REAL(KIND=JPRB),  INTENT(OUT) :: PFLUX_DIR_CLEAR(KLON)
     163REAL(KIND=JPRB),  INTENT(OUT) :: PFLUX_DIR(KLON,KLEV+1)
     164REAL(KIND=JPRB),  INTENT(OUT) :: PFLUX_DIR_CLEAR(KLON,KLEV+1)
    164165! As PFLUX_DIR but into a plane perpendicular to the sun
    165166REAL(KIND=JPRB),  INTENT(OUT) :: PFLUX_DIR_INTO_SUN(KLON)
     
    260261  if (debut_ecrad) then
    261262   call SETUP_RADIATION_SCHEME(loutput,namelist_file,rad_config,driver_config)
    262    debut_ecrad=.false.
    263263  endif
    264264!$OMP END MASTER
     
    541541!    endif
    542542!   endif
     543if (debut_ecrad .and. driver_config%do_save_inputs) &
     544     call save_inputs('inputs.nc', rad_config, single_level, thermodynamics, &
     545     gas, cloud, aerosol, lat = latitude_deg, lon = longitude_deg)
     546
    543547CALL radiation(KLON, KLEV, KIDIA, KFDIA, rad_config, &
    544548     &  single_level, thermodynamics, gas, cloud, aerosol, flux)
     
    585589!PFLUX_SW_UP_CLEAR_SURF(KIDIA:KFDIA) = flux%sw_up_clear(KIDIA:KFDIA,KLEV+1)
    586590!PFLUX_LW_UP_CLEAR_SURF(KIDIA:KFDIA) = flux%lw_up_clear(KIDIA:KFDIA,KLEV+1)
    587 PFLUX_DIR(KIDIA:KFDIA) = flux%sw_dn_direct(KIDIA:KFDIA,KLEV+1)
    588 PFLUX_DIR_CLEAR(KIDIA:KFDIA) = flux%sw_dn_direct_clear(KIDIA:KFDIA,KLEV+1)
     591! Direct component of flux into horizontal plane
     592PFLUX_DIR(KIDIA:KFDIA,:) = flux%sw_dn_direct(KIDIA:KFDIA,:)
     593PFLUX_DIR_CLEAR(KIDIA:KFDIA,:) = flux%sw_dn_direct_clear(KIDIA:KFDIA,:)
    589594PFLUX_DIR_INTO_SUN(KIDIA:KFDIA) = 0.0_JPRB
    590595WHERE (PMU0(KIDIA:KFDIA) > EPSILON(1.0_JPRB))
    591   PFLUX_DIR_INTO_SUN(KIDIA:KFDIA) = PFLUX_DIR(KIDIA:KFDIA) / PMU0(KIDIA:KFDIA)
     596! Direct Surface component of flux into a plane perpendicular to the sun       
     597  PFLUX_DIR_INTO_SUN(KIDIA:KFDIA) = PFLUX_DIR(KIDIA:KFDIA,KLEV+1) / PMU0(KIDIA:KFDIA)
    592598END WHERE
    593599! Top-of-atmosphere downwelling flux
     
    656662
    657663IF (LHOOK) CALL DR_HOOK('RADIATION_SCHEME',1,ZHOOK_HANDLE)
     664debut_ecrad=.false.
    658665
    659666END SUBROUTINE RADIATION_SCHEME
     
    849856
    850857! Direct component of surface flux into horizontal plane
    851 REAL(KIND=JPRB),  INTENT(OUT) :: PFLUX_DIR(KLON)
    852 REAL(KIND=JPRB),  INTENT(OUT) :: PFLUX_DIR_CLEAR(KLON)
     858REAL(KIND=JPRB),  INTENT(OUT) :: PFLUX_DIR(KLON,KLEV+1)
     859REAL(KIND=JPRB),  INTENT(OUT) :: PFLUX_DIR_CLEAR(KLON,KLEV+1)
    853860! As PFLUX_DIR but into a plane perpendicular to the sun
    854861REAL(KIND=JPRB),  INTENT(OUT) :: PFLUX_DIR_INTO_SUN(KLON)
     
    12831290!PFLUX_SW_UP_CLEAR_SURF(KIDIA:KFDIA) = flux%sw_up_clear(KIDIA:KFDIA,KLEV+1)
    12841291!PFLUX_LW_UP_CLEAR_SURF(KIDIA:KFDIA) = flux%lw_up_clear(KIDIA:KFDIA,KLEV+1)
    1285 PFLUX_DIR(KIDIA:KFDIA) = flux%sw_dn_direct(KIDIA:KFDIA,KLEV+1)
    1286 PFLUX_DIR_CLEAR(KIDIA:KFDIA) = flux%sw_dn_direct_clear(KIDIA:KFDIA,KLEV+1)
     1292PFLUX_DIR(KIDIA:KFDIA,:) = flux%sw_dn_direct(KIDIA:KFDIA,:)
     1293PFLUX_DIR_CLEAR(KIDIA:KFDIA,:) = flux%sw_dn_direct_clear(KIDIA:KFDIA,:)
    12871294PFLUX_DIR_INTO_SUN(KIDIA:KFDIA) = 0.0_JPRB
    12881295WHERE (PMU0(KIDIA:KFDIA) > EPSILON(1.0_JPRB))
    1289   PFLUX_DIR_INTO_SUN(KIDIA:KFDIA) = PFLUX_DIR(KIDIA:KFDIA) / PMU0(KIDIA:KFDIA)
     1296  PFLUX_DIR_INTO_SUN(KIDIA:KFDIA) = PFLUX_DIR(KIDIA:KFDIA,KLEV+1) / PMU0(KIDIA:KFDIA)
    12901297END WHERE
    12911298! Top-of-atmosphere downwelling flux
Note: See TracChangeset for help on using the changeset viewer.