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_local_var_mod.F90

    r4639 r4677  
    272272!$OMP THREADPRIVATE(toplwad0_aerop, sollwad0_aerop)
    273273
     274!AI 08 2023 ajout pour Ecrad
     275      REAL,ALLOCATABLE,SAVE :: topswad_aero_s2(:), solswad_aero_s2(:)
     276!$OMP THREADPRIVATE(topswad_aero_s2, solswad_aero_s2)
     277      REAL,ALLOCATABLE,SAVE :: topswai_aero_s2(:), solswai_aero_s2(:)
     278!$OMP THREADPRIVATE(topswai_aero_s2, solswai_aero_s2)
     279      REAL,ALLOCATABLE,SAVE :: topswad0_aero_s2(:), solswad0_aero_s2(:)
     280!$OMP THREADPRIVATE(topswad0_aero_s2, solswad0_aero_s2)
     281      REAL,ALLOCATABLE,SAVE :: topsw_aero_s2(:,:), topsw0_aero_s2(:,:)
     282!$OMP THREADPRIVATE(topsw_aero_s2, topsw0_aero_s2)
     283      REAL,ALLOCATABLE,SAVE :: solsw_aero_s2(:,:), solsw0_aero_s2(:,:)
     284!$OMP THREADPRIVATE(solsw_aero_s2, solsw0_aero_s2)
     285      REAL,ALLOCATABLE,SAVE :: topswcf_aero_s2(:,:), solswcf_aero_s2(:,:)
     286!$OMP THREADPRIVATE(topswcf_aero_s2, solswcf_aero_s2)
     287! additional LW variables CK
     288      REAL,ALLOCATABLE,SAVE :: toplwad_aero_s2(:), sollwad_aero_s2(:)
     289!$OMP THREADPRIVATE(toplwad_aero_s2, sollwad_aero_s2)
     290      REAL,ALLOCATABLE,SAVE :: toplwai_aero_s2(:), sollwai_aero_s2(:)
     291!$OMP THREADPRIVATE(toplwai_aero_s2, sollwai_aero_s2)
     292      REAL,ALLOCATABLE,SAVE :: toplwad0_aero_s2(:), sollwad0_aero_s2(:)
     293!$OMP THREADPRIVATE(toplwad0_aero_s2, sollwad0_aero_s2)
     294
    274295!Ajout de celles n??cessaires au phys_output_write_mod
    275296      REAL, SAVE, ALLOCATABLE :: tal1(:), pal1(:), pab1(:), pab2(:)
     
    538559      !$OMP THREADPRIVATE(distcltop)
    539560      REAL, SAVE, ALLOCATABLE :: temp_cltop(:,:)
    540       !$OMP THREADPRIVATE(temp_cltop)     
     561      !$OMP THREADPRIVATE(temp_cltop)
    541562
    542563
     
    617638      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_sed_part
    618639!$OMP THREADPRIVATE(budg_sed_part)
    619 #endif
    620 #ifdef REPROBUS
    621       REAL,SAVE,ALLOCATABLE    :: d_q_emiss(:,:)
    622 !$OMP THREADPRIVATE(d_q_emiss)
    623640#endif
    624641
     
    774791      ALLOCATE(toplwad0_aerop(klon), sollwad0_aerop(klon))
    775792
     793!AI Ajout Ecrad (3Deffect)
     794      ALLOCATE(topswad_aero_s2(klon), solswad_aero_s2(klon))
     795      ALLOCATE(topswai_aero_s2(klon), solswai_aero_s2(klon))
     796      ALLOCATE(topswad0_aero_s2(klon), solswad0_aero_s2(klon))
     797      ALLOCATE(topsw_aero_s2(klon,naero_grp), topsw0_aero_s2(klon,naero_grp))
     798      ALLOCATE(solsw_aero_s2(klon,naero_grp), solsw0_aero_s2(klon,naero_grp))
     799      ALLOCATE(topswcf_aero_s2(klon,naero_grp), solswcf_aero_s2(klon,naero_grp))
     800! additional LW variables CK
     801      ALLOCATE(toplwad_aero_s2(klon), sollwad_aero_s2(klon))
     802      ALLOCATE(toplwai_aero_s2(klon), sollwai_aero_s2(klon))
     803      ALLOCATE(toplwad0_aero_s2(klon), sollwad0_aero_s2(klon))
     804
     805
    776806! FH Ajout de celles necessaires au phys_output_write_mod
    777807
     
    911941      ALLOCATE(distcltop(klon,klev))
    912942      ALLOCATE(temp_cltop(klon,klev))
     943
    913944
    914945      ALLOCATE (zxsnow(klon),snowhgt(klon),qsnow(klon),to_ice(klon))
     
    11041135      DEALLOCATE(toplwad0_aerop, sollwad0_aerop)
    11051136
     1137!AI Ajout pour Ecrad (3Deffect)
     1138      DEALLOCATE(topswad_aero_s2, solswad_aero_s2)
     1139      DEALLOCATE(topswai_aero_s2, solswai_aero_s2)
     1140      DEALLOCATE(topswad0_aero_s2, solswad0_aero_s2)
     1141      DEALLOCATE(topsw_aero_s2, topsw0_aero_s2)
     1142      DEALLOCATE(solsw_aero_s2, solsw0_aero_s2)
     1143      DEALLOCATE(topswcf_aero_s2, solswcf_aero_s2)
     1144!CK LW diagnostics
     1145      DEALLOCATE(toplwad_aero_s2, sollwad_aero_s2)
     1146      DEALLOCATE(toplwai_aero_s2, sollwai_aero_s2)
     1147      DEALLOCATE(toplwad0_aero_s2, sollwad0_aero_s2)     
     1148
    11061149! FH Ajout de celles necessaires au phys_output_write_mod
    11071150      DEALLOCATE(tal1, pal1, pab1, pab2)
Note: See TracChangeset for help on using the changeset viewer.