Ignore:
Timestamp:
Oct 30, 2023, 5:37:00 PM (7 months ago)
Author:
Laurent Fairhead
Message:

Merge of ACC branch with 4740 revision from trunk

Location:
LMDZ6/branches/Portage_acc
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/Portage_acc

  • LMDZ6/branches/Portage_acc/libf/phylmd/phys_state_var_mod.F90

    r4584 r4743  
    102102      REAL, ALLOCATABLE, SAVE :: rneb_ancien(:,:)
    103103!$OMP THREADPRIVATE(rneb_ancien)
    104       REAL, ALLOCATABLE, SAVE :: qtc_cv(:,:),sigt_cv(:,:)
    105 !$OMP THREADPRIVATE(qtc_cv,sigt_cv)
     104      REAL, ALLOCATABLE, SAVE :: qtc_cv(:,:),sigt_cv(:,:),detrain_cv(:,:),fm_cv(:,:)
     105!$OMP THREADPRIVATE(qtc_cv,sigt_cv,detrain_cv,fm_cv)
    106106      REAL, ALLOCATABLE, SAVE :: ratqs(:,:)
    107107!$OMP THREADPRIVATE(ratqs)
     
    229229!$OMP THREADPRIVATE(ftd)
    230230! fqd : convective moistening due to unsaturated downdraughts
    231       REAL,ALLOCATABLE,SAVE :: fqd(:,:)     
    232 !$OMP THREADPRIVATE(fqd)
     231      REAL,ALLOCATABLE,SAVE :: fqd(:,:),fqcomp(:,:)     
     232!$OMP THREADPRIVATE(fqd,fqcomp)
    233233#ifdef ISO
    234234      REAL, ALLOCATABLE, SAVE :: fxtd(:,:,:)
     
    401401!$OMP THREADPRIVATE(swdnc0p, swdn0p, swdnp, swupc0p, swup0p, swupp)
    402402
     403!AI ajout variables double appel Ecrad (3Deffect)
     404      REAL,ALLOCATABLE,SAVE :: heat_s2(:,:), cool_s2(:,:)
     405!$OMP THREADPRIVATE(heat_s2, cool_s2)
     406      REAL,ALLOCATABLE,SAVE :: heat0_s2(:,:), cool0_s2(:,:)
     407!$OMP THREADPRIVATE(heat0_s2, cool0_s2)
     408      REAL,ALLOCATABLE,SAVE :: radsol_s2(:), topsw_s2(:), toplw_s2(:)
     409!$OMP THREADPRIVATE(radsol_s2, topsw_s2, toplw_s2)
     410      REAL,ALLOCATABLE,SAVE :: albpla_s2(:)
     411!$OMP THREADPRIVATE(albpla_s2)
     412      REAL,ALLOCATABLE,SAVE :: solsw_s2(:), solswfdiff_s2(:), sollw_s2(:)
     413!$OMP THREADPRIVATE(solsw_s2, solswfdiff_s2, sollw_s2)
     414      REAL,ALLOCATABLE,SAVE :: sollwdown_s2(:)
     415!$OMP THREADPRIVATE(sollwdown_s2)
     416      REAL,ALLOCATABLE,SAVE :: topsw0_s2(:),toplw0_s2(:)
     417      REAL,ALLOCATABLE,SAVE :: solsw0_s2(:),sollw0_s2(:)
     418!$OMP THREADPRIVATE(topsw0_s2,toplw0_s2,solsw0_s2,sollw0_s2)
     419      REAL,ALLOCATABLE,SAVE :: lwdnc0_s2(:,:), lwdn0_s2(:,:), lwdn_s2(:,:)
     420      REAL,ALLOCATABLE,SAVE :: lwupc0_s2(:,:), lwup0_s2(:,:), lwup_s2(:,:)
     421!$OMP THREADPRIVATE(lwdnc0_s2,lwdn0_s2,lwdn_s2,lwupc0_s2,lwup0_s2,lwup_s2)       
     422      REAL,ALLOCATABLE,SAVE :: swdnc0_s2(:,:), swdn0_s2(:,:), swdn_s2(:,:)
     423      REAL,ALLOCATABLE,SAVE :: swupc0_s2(:,:), swup0_s2(:,:), swup_s2(:,:)
     424!$OMP THREADPRIVATE(swdnc0_s2, swdn0_s2, swdn_s2, swupc0_s2, swup0_s2, swup_s2)
     425
    403426! pbase : cloud base pressure
    404427! bbase : cloud base buoyancy
     
    456479!$OMP THREADPRIVATE(ale_bl_trig)
    457480
    458       REAL,SAVE,ALLOCATABLE :: ratqs_inter(:,:)
    459 !$OMP THREADPRIVATE(ratqs_inter)
     481      REAL,SAVE,ALLOCATABLE :: ratqs_inter_(:,:)
     482!$OMP THREADPRIVATE(ratqs_inter_)
    460483
    461484#ifdef ISO
     
    569592      ALLOCATE(clwcon(klon,klev),rnebcon(klon,klev))
    570593      ALLOCATE(rneb_ancien(klon,klev))
    571       ALLOCATE(qtc_cv(klon,klev),sigt_cv(klon,klev))
     594      ALLOCATE(qtc_cv(klon,klev),sigt_cv(klon,klev),detrain_cv(klon,klev),fm_cv(klon,klev))
    572595      ALLOCATE(ratqs(klon,klev))
    573596      ALLOCATE(pbl_tke(klon,klev+1,nbsrf+1))
     
    640663      ALLOCATE(sigd(klon))
    641664      ALLOCATE(cin(klon), ALE(klon), ALP(klon))
    642       ALLOCATE(ftd(klon,klev), fqd(klon,klev))
     665      ALLOCATE(ftd(klon,klev), fqd(klon,klev),fqcomp(klon,klev))
    643666      ALLOCATE(Ale_bl(klon))
    644667      ALLOCATE(ale_wake(klon))
     
    700723      ALLOCATE(swupc0p(klon,klevp1), swup0p(klon,klevp1), swupp(klon,klevp1))
    701724
     725!AI Ajout pour Ecrad (3Deffect)       
     726      ALLOCATE(heat_s2(klon,klev), cool_s2(klon,klev))
     727      ALLOCATE(heat0_s2(klon,klev), cool0_s2(klon,klev))
     728      ALLOCATE(radsol_s2(klon), topsw_s2(klon), toplw_s2(klon))
     729      ALLOCATE(albpla_s2(klon))
     730      ALLOCATE(solsw_s2(klon), solswfdiff_s2(klon), sollw_s2(klon))
     731      ALLOCATE(sollwdown_s2(klon))
     732      ALLOCATE(topsw0_s2(klon),toplw0_s2(klon))
     733      ALLOCATE(solsw0_s2(klon),sollw0_s2(klon))
     734      ALLOCATE(lwdnc0_s2(klon,klevp1), lwdn0_s2(klon,klevp1), lwdn_s2(klon,klevp1))
     735      ALLOCATE(lwupc0_s2(klon,klevp1), lwup0_s2(klon,klevp1), lwup_s2(klon,klevp1))
     736      ALLOCATE(swdnc0_s2(klon,klevp1), swdn0_s2(klon,klevp1), swdn_s2(klon,klevp1))
     737      ALLOCATE(swupc0_s2(klon,klevp1), swup0_s2(klon,klevp1), swup_s2(klon,klevp1))
     738
    702739      ALLOCATE(cape(klon))
    703740      ALLOCATE(pbase(klon),bbase(klon))
     
    735772
    736773      ALLOCATE(ale_bl_trig(klon))
    737       ALLOCATE(ratqs_inter(klon,klev))
     774      ALLOCATE(ratqs_inter_(klon,klev))
    738775      IF (ok_gwd_rando) THEN
    739776        ALLOCATE(du_gwd_rando(klon, klev))
     
    775812      DEALLOCATE(qs_ancien, ql_ancien, qbs_ancien, rneb_ancien)
    776813      DEALLOCATE(prw_ancien, prlw_ancien, prsw_ancien, prbsw_ancien)
    777       DEALLOCATE(qtc_cv,sigt_cv)
     814      DEALLOCATE(qtc_cv,sigt_cv,detrain_cv,fm_cv)
    778815      DEALLOCATE(u_ancien, v_ancien)
    779816      DEALLOCATE(tr_ancien)                           !RomP
     
    823860      DEALLOCATE(wd, sigd)
    824861      DEALLOCATE(cin, ALE, ALP)
    825       DEALLOCATE(ftd, fqd)
     862      DEALLOCATE(ftd, fqd, fqcomp)
    826863      DEALLOCATE(Ale_bl, Alp_bl)
    827864      DEALLOCATE(ale_wake)
     
    858895      DEALLOCATE(topsw0,toplw0,solsw0,sollw0)
    859896      DEALLOCATE(albpla)
     897
     898!AI Ajout pour Ecrad (3Deffect)
     899      DEALLOCATE(heat_s2, cool_s2)
     900      DEALLOCATE(heat0_s2, cool0_s2)
     901      DEALLOCATE(radsol_s2, topsw_s2, toplw_s2)
     902      DEALLOCATE(albpla_s2)
     903      DEALLOCATE(solsw_s2, solswfdiff_s2, sollw_s2)
     904      DEALLOCATE(sollwdown_s2)
     905      DEALLOCATE(topsw0_s2,toplw0_s2)
     906      DEALLOCATE(solsw0_s2,sollw0_s2)
     907      DEALLOCATE(lwdnc0_s2, lwdn0_s2, lwdn_s2)
     908      DEALLOCATE(lwupc0_s2, lwup0_s2, lwup_s2)
     909      DEALLOCATE(swdnc0_s2, swdn0_s2, swdn_s2)
     910      DEALLOCATE(swupc0_s2, swup0_s2, swup_s2)
     911
    860912!IM ajout variables CFMIP2/CMIP5
    861913      DEALLOCATE(heatp, coolp)
     
    888940      if (.not. ok_hines .and. ok_gwd_rando) DEALLOCATE(du_gwd_front)
    889941      DEALLOCATE(ale_bl_trig)
    890       DEALLOCATE(ratqs_inter)
     942      DEALLOCATE(ratqs_inter_)
    891943
    892944      if (activate_ocean_skin >= 1) then
Note: See TracChangeset for help on using the changeset viewer.