Ignore:
Timestamp:
Sep 7, 2023, 1:07:27 PM (9 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/trunk/libf/phylmd/phys_output_write_mod.F90

    r4619 r4677  
    228228         o_zxfluxt,o_zxfluxq
    229229
     230#ifdef CPP_ECRAD
     231    USE phys_output_ctrlout_mod, ONLY:  &
     232         o_soll0_s2,o_soll_s2,o_sols0_s2,o_sols_s2, &
     233         o_topl0_s2,o_topl_s2,o_tops0_s2,o_tops_s2   
     234#endif
     235
    230236#ifdef CPP_StratAer
    231237    USE phys_output_ctrlout_mod, ONLY:  &
     
    279285#endif
    280286         dt_ns, delta_sst, dter, dser
     287         
     288! AI 08 2023 pour ECRAD 3Deffect
     289#ifdef CPP_ECRAD
     290    USE phys_state_var_mod, ONLY: &
     291        sollw0_s2,sollw_s2,solsw0_s2,solsw_s2, &
     292        toplw0_s2,toplw_s2,topsw0_s2,topsw_s2
     293#endif
     294
    281295
    282296    USE phys_local_var_mod, ONLY: zxfluxlat, slp, ptstar, pt0, zxtsol, zt2m, &
     
    10511065       ENDIF
    10521066
     1067!AI 08 2023 Ecrad 3Deffect
     1068#ifdef CPP_ECRAD
     1069     if (ok_3Deffect) then
     1070        IF (vars_defined) THEN
     1071          zx_tmp_fi2d = solsw_s2*swradcorr
     1072       ENDIF
     1073       CALL histwrite_phy(o_sols_s2, zx_tmp_fi2d)
     1074       IF (vars_defined) THEN
     1075          zx_tmp_fi2d = solsw0_s2*swradcorr
     1076       ENDIF
     1077       CALL histwrite_phy(o_sols0_s2, zx_tmp_fi2d)
     1078       CALL histwrite_phy(o_soll_s2, sollw_s2)
     1079       CALL histwrite_phy(o_soll0_s2, sollw0_s2)
     1080       IF (vars_defined) THEN
     1081         zx_tmp_fi2d = topsw_s2*swradcorr
     1082       ENDIF
     1083       CALL histwrite_phy(o_tops_s2, zx_tmp_fi2d)
     1084
     1085       IF (vars_defined) THEN
     1086         zx_tmp_fi2d = topsw0_s2*swradcorr
     1087       ENDIF
     1088       CALL histwrite_phy(o_tops0_s2, zx_tmp_fi2d)
     1089
     1090       CALL histwrite_phy(o_topl_s2, toplw_s2)
     1091       CALL histwrite_phy(o_topl0_s2, toplw0_s2)
     1092     endif
     1093#endif       
     1094
    10531095       CALL histwrite_phy(o_bils, bils)
    10541096       CALL histwrite_phy(o_bils_diss, bils_diss)
Note: See TracChangeset for help on using the changeset viewer.