Changeset 6161


Ignore:
Timestamp:
Apr 7, 2026, 10:45:03 AM (8 hours ago)
Author:
idelkadi
Message:

Rewriting and simplifying the interface between the LMDZ code and the radiative transfer codes (continued)

Location:
LMDZ6/trunk/libf/phylmd
Files:
2 edited
1 moved

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phylmd/ecrad/lmdz/lmdz_ecrad_interface_m.F90

    r6160 r6161  
    1010!             3. Configuration a partir de namelist
    1111!             4. frac_std = 0.75     
    12 ! Juillet 2023 :
     12!
     13! Avril 2026 :
     14! Module et routines renommees :
     15! lmdz_ecrad_interface_m
     16!            lmdz_ecrad_interface / lmdz_ecrad_interface_2call
    1317!             
    1418! ============================================================================
    15 module interface_lmdz_ecrad
     19MODULE lmdz_ecrad_interface_m
    1620
    1721IMPLICIT NONE       
     
    1923contains
    2024
    21 SUBROUTINE RADIATION_SCHEME &
     25SUBROUTINE lmdz_ecrad_interface &
    2226! Inputs
    2327     & (KIDIA, KFDIA, KLON, KLEV, KAEROSOL, NSW, &
     
    676680debut_ecrad=.false.
    677681
    678 END SUBROUTINE RADIATION_SCHEME
    679 
    680 SUBROUTINE RADIATION_SCHEME_S2 &
     682END SUBROUTINE lmdz_ecrad_interface
     683
     684SUBROUTINE lmdz_ecrad_interface_2call &
    681685! Inputs
    682686     & (KIDIA, KFDIA, KLON, KLEV, KAEROSOL, NSW, &
     
    13821386IF (LHOOK) CALL DR_HOOK('RADIATION_SCHEME',1,ZHOOK_HANDLE)
    13831387
    1384 END SUBROUTINE RADIATION_SCHEME_S2
    1385 
    1386 end module interface_lmdz_ecrad
     1388END SUBROUTINE lmdz_ecrad_interface_2call
     1389end module lmdz_ecrad_interface_m
  • LMDZ6/trunk/libf/phylmd/lmdz_call_ecrad_m.F90

    r6159 r6161  
    5050    USE time_phylmdz_mod, only: current_time
    5151    USE phys_cal_mod, only: day_cur
    52     USE interface_lmdz_ecrad
     52    USE lmdz_ecrad_interface_m
    5353#endif
    5454    USE yomcst_mod_h
     
    540540             print*,' 1er apell Ecrad : ok_2xcall_ecrad, namelist_ecrad_file = ', &
    541541                  ok_2xcall_ecrad, namelist_ecrad_file   
    542              CALL RADIATION_SCHEME &
     542             CALL lmdz_ecrad_interface &
    543543                                ! inputs
    544544                  & (ist, iend, klon, klev, naero_spc, NSW, &
     
    569569             print*,' 2e apell Ecrad : ok_2xcall_ecrad, namelist_ecrad_file = ', &
    570570                  ok_2xcall_ecrad, namelist_ecrad_file       
    571              CALL RADIATION_SCHEME_S2 &
     571             CALL lmdz_ecrad_interface_2call &
    572572                  & (ist, iend, klon, klev, naero_grp, NSW, &
    573573                  & namelist_ecrad_file, ok_2xcall_ecrad, &
     
    596596
    597597
    598           print *,'========= RADLWSW: apres RADIATION_SCHEME ==================== '
     598          print *,'========= CALL_ECRAD apres RADIATION_SCHEME ==================== '
    599599
    600600          if (lldebug_for_offline) then
  • LMDZ6/trunk/libf/phylmd/radlwsw_m.F90

    r6159 r6161  
    5252    ! Structure de chaque interface (rad=oldrad/rrtm/ecrad) => lmdz_call_$rad_m.F90
    5353    !                   -> - Declarations
    54     !                      - CALL lmdz_call_radinit
     54    !                      - CALL lmdz_call_rad_ini
    5555    !                      - CALL $rad
    56     !                      - CALL lmdz_call_radoutput
     56    !                      - CALL lmdz_call_rad_out
    5757    !                   -> A FAIRE
    5858    !                           * Nettoyer les déclarations, warnings, ...
     
    254254                                 ZFLUX_DIR_INTO_SUN(klon)
    255255
    256    ! Local var
     256! -------- Local var ------------------------------------------------------
    257257   REAL(KIND=8) ZFSUP0(KDLON,KFLEV+1)
    258258   REAL(KIND=8) ZFSDN0(KDLON,KFLEV+1)
     
    329329        PRINT*,'Traitement cas iflag_rrtm = ',iflag_rrtm
    330330#ifdef CPP_ECRAD
    331         IF (namelist_ecrad_file.EQ.'namelist_ecrad') THEN
    332              PRINT*,' 1er apell Ecrad : ok_2xcall_ecrad, namelist_ecrad_file = ', &
    333                   ok_2xcall_ecrad, namelist_ecrad_file   
    334 
    335331          CALL lmdz_call_ecrad( &
    336332                                debut, dist, rmu0, fract, &
     
    355351                                ZFLUX_DIR, ZFLUX_DIR_CLEAR, ZFLUX_DIR_INTO_SUN, &
    356352                                cloud_cover_sw)
    357         ELSE
    358              PRINT*,' 2e apell Ecrad : ok_2xcall_ecrad, namelist_ecrad_file = ', &
    359                      ok_2xcall_ecrad, namelist_ecrad_file
    360           CALL lmdz_call_ecrad( &
    361                                 debut, dist, rmu0, fract, &
    362                                 paprs, pplay,tsol,SFRWL,alb_dir, alb_dif, &
    363                                 t,q,wo,cldfra, cldemi, cldtaupd,&
    364                                 tau_aero, piz_aero, cg_aero,&
    365                                 tau_aero_sw_rrtm, piz_aero_sw_rrtm, cg_aero_sw_rrtm,& ! rajoute par OB RRTM
    366                                 cldtaupi, m_allaer, qsat, flwc, fiwc, &
    367                                 ref_liq, ref_ice, &
    368                                 namelist_ecrad_file, &
    369                                 heat,heat0,cool,cool0,albpla,heat_volc, cool_volc,&
    370                                 topsw,toplw,solsw,solswfdiff,sollw,sollwdown,&
    371                                 topsw0,toplw0,solsw0,sollw0,&
    372                                 lwdnc0, lwdn0, lwdn, lwupc0, lwup0, lwup,&
    373                                 swdnc0, swdn0, swdn, swupc0, swup0, swup,&
    374                                 topswad_aero, solswad_aero,topswai_aero, solswai_aero, &
    375                                 topswad0_aero, solswad0_aero, topsw_aero, topsw0_aero,&
    376                                 solsw_aero, solsw0_aero, topswcf_aero, solswcf_aero,&
    377                                 toplwad_aero, sollwad_aero, toplwai_aero, sollwai_aero, &
    378                                 toplwad0_aero, sollwad0_aero, &
    379                                 ZLWFT0_i, ZFLDN0, ZFLUP0, ZSWFT0_i, ZFSDN0, ZFSUP0, &
    380                                 ZFLUX_DIR, ZFLUX_DIR_CLEAR, ZFLUX_DIR_INTO_SUN, &
    381                                 cloud_cover_sw)
    382      
    383         ENDIF
    384353#else
    385354          abort_message="You should compile with -rrtm if running with iflag_rrtm=2"
Note: See TracChangeset for help on using the changeset viewer.