Ignore:
Timestamp:
Aug 7, 2023, 1:42:51 PM (14 months ago)
Author:
idelkadi
Message:

Implementation in the LMDZ code of the double call of the ECRAD radiative transfer code to estimate the 3D radiative effect of clouds.

  • This double call of Ecrad is controlled by the ok_3Deffect logic key.
  • If this key is enabled, 2 files of parameter configuration "namelists" for ECRAD are required at runtime: namelist_ecrad and namelist_ecrad_s2.
  • If this key is deactivated, the configuration and initialization part (reading namelist and netcdf files) is performed only once during simulation (1st call to ECRAD). Otherwise, configuration and initialization are performed each time Ecrad is called.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/LMDZ_ECRad/libf/phylmd/ecrad/radiation_scheme.F90

    r4646 r4647  
    99!             3. Configuration a partir de namelist
    1010!             4. frac_std = 0.75     
     11! Juillet 2023 :
     12!             
    1113! ============================================================================
    1214
     
    1416! Inputs
    1517     & (KIDIA, KFDIA, KLON, KLEV, KAEROSOL, NSW, &
    16      &  IDAY, TIME, &
     18     &  namelist_file, ok_3Deffect, IDAY, TIME, &
    1719     &  PSOLAR_IRRADIANCE, &
    1820     &  PMU0, PTEMPERATURE_SKIN, &
     
    9799USE mod_phys_lmdz_para
    98100USE setup_config_from_lmdz,   ONLY : driver_config_type
     101!USE RADIATION_SETUP, ONLY : config_type, driver_config_type
    99102
    100103IMPLICIT NONE
     
    220223! AI ATTENTION
    221224type(config_type),save         :: rad_config
     225!!$OMP THREADPRIVATE(rad_config)
    222226type(driver_config_type),save  :: driver_config
     227!!$OMP THREADPRIVATE(driver_config)
     228!type(config_type)        :: rad_config
     229!type(driver_config_type)  :: driver_config
    223230TYPE(single_level_type)   :: single_level
    224231TYPE(thermodynamics_type) :: thermodynamics
     
    261268
    262269! Name of file names specified on command line
    263 character(len=512) :: file_name
     270character(len=512) :: namelist_file
    264271
    265272logical :: loutput=.true.
     
    269276!$OMP THREADPRIVATE(debut_ecrad)
    270277integer, save :: itap_ecrad=1
     278logical :: ok_3Deffect
    271279
    272280IF (LHOOK) CALL DR_HOOK('RADIATION_SCHEME',0,ZHOOK_HANDLE)
    273 print*,'Entree dans radiation_scheme'
    274281
    275282! A.I juillet 2023 :
    276283! Initialisation dans radiation_setup au 1er passage dans Ecrad
    277284!$OMP MASTER
    278 if (debut_ecrad) then
    279 ! AI appel radiation_setup
    280  call SETUP_RADIATION_SCHEME(loutput,rad_config,driver_config)
    281  debut_ecrad=.false.
    282 endif
     285if (.not.ok_3Deffect) then
     286  if (debut_ecrad) then
     287   call SETUP_RADIATION_SCHEME(loutput,namelist_file,rad_config,driver_config)
     288   debut_ecrad=.false.
     289  endif
     290else
     291   call SETUP_RADIATION_SCHEME(loutput,namelist_file,rad_config,driver_config)
     292endif
    283293!$OMP END MASTER
    284294!$OMP BARRIER
     
    287297!AI juillet 2023 : verif des param de config :
    288298if (lprint_config) then
     299 IF (is_master) THEN       
    289300   print*,'Parametres de configuration de ecrad, etape ',itap_ecrad     
     301   print*,'Entree dans radiation_scheme'
     302   print*,'ok_3Deffect = ',ok_3Deffect
     303   print*,'Fichier namelist = ',namelist_file
     304
    290305   print*,'do_sw, do_lw, do_sw_direct, do_3d_effects = ', &
    291306           rad_config%do_sw, rad_config%do_lw, rad_config%do_sw_direct, rad_config%do_3d_effects
     
    362377
    363378           itap_ecrad=itap_ecrad+1
     379   ENDIF         
    364380endif           
    365381
Note: See TracChangeset for help on using the changeset viewer.