Changeset 2953


Ignore:
Timestamp:
Jul 14, 2017, 11:55:59 PM (7 years ago)
Author:
oboucher
Message:

Correcting an issue with the aerosol load diagnostics
that was introduced with revision 2823 in a failed attempt
to save a bit of memory... This is bit convergent with
previous version as it affects only diagnostics.

Location:
LMDZ5/trunk/libf/phylmd
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/trunk/libf/phylmd/phys_local_var_mod.F90

    r2945 r2953  
    219219      REAL, SAVE, ALLOCATABLE :: loadno3(:)
    220220      !$OMP THREADPRIVATE(loadno3)
    221       REAL, SAVE, ALLOCATABLE :: load_tmp1(:)
    222       !$OMP THREADPRIVATE(load_tmp1)
    223       REAL, SAVE, ALLOCATABLE :: load_tmp2(:)
    224       !$OMP THREADPRIVATE(load_tmp2)
    225       REAL, SAVE, ALLOCATABLE :: load_tmp3(:)
    226       !$OMP THREADPRIVATE(load_tmp3)
     221      REAL, SAVE, ALLOCATABLE :: load_tmp1(:), load_tmp2(:)
     222      !$OMP THREADPRIVATE(load_tmp1, load_tmp2)
     223      REAL, SAVE, ALLOCATABLE :: load_tmp3(:), load_tmp4(:)
     224      !$OMP THREADPRIVATE(load_tmp3, load_tmp4)
     225      REAL, SAVE, ALLOCATABLE :: load_tmp5(:), load_tmp6(:)
     226      !$OMP THREADPRIVATE(load_tmp5, load_tmp6)
     227      REAL, SAVE, ALLOCATABLE :: load_tmp7(:), load_tmp8(:)
     228      !$OMP THREADPRIVATE(load_tmp7, load_tmp8)
     229      REAL, SAVE, ALLOCATABLE :: load_tmp9(:), load_tmp10(:)
     230      !$OMP THREADPRIVATE(load_tmp9, load_tmp10)
    227231
    228232!IM ajout variables CFMIP2/CMIP5
     
    614618      ALLOCATE(load_tmp2(klon))
    615619      ALLOCATE(load_tmp3(klon))
     620      ALLOCATE(load_tmp4(klon))
     621      ALLOCATE(load_tmp5(klon))
     622      ALLOCATE(load_tmp6(klon))
     623      ALLOCATE(load_tmp7(klon))
     624      ALLOCATE(load_tmp8(klon))
     625      ALLOCATE(load_tmp9(klon))
     626      ALLOCATE(load_tmp10(klon))
    616627
    617628!IM ajout variables CFMIP2/CMIP5
     
    877888      DEALLOCATE(load_tmp2)
    878889      DEALLOCATE(load_tmp3)
     890      DEALLOCATE(load_tmp4)
     891      DEALLOCATE(load_tmp5)
     892      DEALLOCATE(load_tmp6)
     893      DEALLOCATE(load_tmp7)
     894      DEALLOCATE(load_tmp8)
     895      DEALLOCATE(load_tmp9)
     896      DEALLOCATE(load_tmp10)
    879897      DEALLOCATE(du_gwd_hines,dv_gwd_hines,d_t_hin)
    880898      DEALLOCATE(d_q_ch4)
  • LMDZ5/trunk/libf/phylmd/readaerosol_optic.F90

    r2823 r2953  
    1616  USE phys_local_var_mod, only: sconcso4,sconcno3,sconcoa,sconcbc,sconcss,sconcdust, &
    1717      concso4,concno3,concoa,concbc,concss,concdust,loadso4,loadoa,loadbc,loadss,loaddust, &
    18       load_tmp1,load_tmp2,load_tmp3
     18      load_tmp1,load_tmp2,load_tmp3,load_tmp4,load_tmp5,load_tmp6,load_tmp7
    1919  IMPLICIT NONE
    2020
     
    107107       flag_aerosol .EQ. 6 ) THEN
    108108
    109      CALL readaerosol_interp(id_ASPOMM_phy, itap, pdtphys, rjourvrai, debut, pplay, paprs, t_seri, pomsol, pomsol_pi, load_tmp1)
    110      CALL readaerosol_interp(id_AIPOMM_phy, itap, pdtphys, rjourvrai, debut, pplay, paprs, t_seri, pomins, pomins_pi, load_tmp2)
    111      loadoa(:)=load_tmp1(:)+load_tmp2(:)
     109     CALL readaerosol_interp(id_ASPOMM_phy, itap, pdtphys, rjourvrai, debut, pplay, paprs, t_seri, pomsol, pomsol_pi, load_tmp3)
     110     CALL readaerosol_interp(id_AIPOMM_phy, itap, pdtphys, rjourvrai, debut, pplay, paprs, t_seri, pomins, pomins_pi, load_tmp4)
     111     loadoa(:)=load_tmp3(:)+load_tmp4(:)
    112112  ELSE
    113113     pomsol(:,:) = 0. ; pomsol_pi(:,:) = 0.
     
    121121      flag_aerosol .EQ. 6 ) THEN
    122122
    123       CALL readaerosol_interp(id_SSSSM_phy ,itap, pdtphys, rjourvrai, debut, pplay, paprs, t_seri, sssupco, sssupco_pi,  load_tmp1)
    124       CALL readaerosol_interp(id_CSSSM_phy ,itap, pdtphys, rjourvrai, debut, pplay, paprs, t_seri, sscoarse,sscoarse_pi, load_tmp2)
    125       CALL readaerosol_interp(id_ASSSM_phy ,itap, pdtphys, rjourvrai, debut, pplay, paprs, t_seri, ssacu,   ssacu_pi,    load_tmp3)
    126       loadss(:)=load_tmp1(:)+load_tmp2(:)+load_tmp3(:)
     123      CALL readaerosol_interp(id_SSSSM_phy ,itap, pdtphys, rjourvrai, debut, pplay, paprs, t_seri, sssupco, sssupco_pi,  load_tmp5)
     124      CALL readaerosol_interp(id_CSSSM_phy ,itap, pdtphys, rjourvrai, debut, pplay, paprs, t_seri, sscoarse,sscoarse_pi, load_tmp6)
     125      CALL readaerosol_interp(id_ASSSM_phy ,itap, pdtphys, rjourvrai, debut, pplay, paprs, t_seri, ssacu,   ssacu_pi,    load_tmp7)
     126      loadss(:)=load_tmp5(:)+load_tmp6(:)+load_tmp7(:)
    127127  ELSE
    128128      sscoarse(:,:) = 0. ; sscoarse_pi(:,:) = 0.
  • LMDZ5/trunk/libf/phylmd/rrtm/readaerosol_optic_rrtm.F90

    r2862 r2953  
    1717  USE phys_local_var_mod, only: sconcso4,sconcno3,sconcoa,sconcbc,sconcss,sconcdust, &
    1818       concso4,concno3,concoa,concbc,concss,concdust,loadso4,loadoa,loadbc,loadss,loaddust, &
    19        loadno3, load_tmp1,load_tmp2,load_tmp3
     19       loadno3,load_tmp1,load_tmp2,load_tmp3,load_tmp4,load_tmp5,load_tmp6,load_tmp7, &
     20       load_tmp8,load_tmp9,load_tmp10
    2021
    2122  USE infotrac_phy
     
    196197     IF ( flag_aerosol .EQ. 3 .OR. flag_aerosol .EQ. 6 ) THEN
    197198
    198         CALL readaerosol_interp(id_ASPOMM_phy, itap, pdtphys, rjourvrai, debut, pplay, paprs, t_seri, pomsol, pomsol_pi, load_tmp1)
    199         CALL readaerosol_interp(id_AIPOMM_phy, itap, pdtphys, rjourvrai, debut, pplay, paprs, t_seri, pomins, pomins_pi, load_tmp2)
    200         loadoa(:)=load_tmp1(:)+load_tmp2(:)
     199        CALL readaerosol_interp(id_ASPOMM_phy, itap, pdtphys, rjourvrai, debut, pplay, paprs, t_seri, pomsol, pomsol_pi, load_tmp3)
     200        CALL readaerosol_interp(id_AIPOMM_phy, itap, pdtphys, rjourvrai, debut, pplay, paprs, t_seri, pomins, pomins_pi, load_tmp4)
     201        loadoa(:)=load_tmp3(:)+load_tmp4(:)
    201202     ELSE
    202203        pomsol(:,:) = 0. ; pomsol_pi(:,:) = 0.
     
    209210
    210211        CALL readaerosol_interp(id_SSSSM_phy ,itap, pdtphys,rjourvrai, &
    211         debut, pplay, paprs, t_seri, sssupco, sssupco_pi, load_tmp1)
     212        debut, pplay, paprs, t_seri, sssupco, sssupco_pi, load_tmp5)
    212213        CALL readaerosol_interp(id_CSSSM_phy ,itap, pdtphys,rjourvrai, &
    213         debut, pplay, paprs, t_seri, sscoarse,sscoarse_pi, load_tmp2)
     214        debut, pplay, paprs, t_seri, sscoarse,sscoarse_pi, load_tmp6)
    214215        CALL readaerosol_interp(id_ASSSM_phy ,itap, pdtphys,rjourvrai, &
    215         debut, pplay, paprs, t_seri, ssacu, ssacu_pi, load_tmp3)
    216         loadss(:)=load_tmp1(:)+load_tmp2(:)+load_tmp3(:)
     216        debut, pplay, paprs, t_seri, ssacu, ssacu_pi, load_tmp7)
     217        loadss(:)=load_tmp5(:)+load_tmp6(:)+load_tmp7(:)
    217218     ELSE
    218219        sscoarse(:,:) = 0. ; sscoarse_pi(:,:) = 0.
     
    236237
    237238        CALL readaerosol_interp(id_ASNO3M_phy, itap, pdtphys, rjourvrai, &
    238         debut, pplay, paprs, t_seri, nitracc, nitracc_pi, load_tmp1)
     239        debut, pplay, paprs, t_seri, nitracc, nitracc_pi, load_tmp8)
    239240        CALL readaerosol_interp(id_CSNO3M_phy, itap, pdtphys, rjourvrai, &
    240         debut, pplay, paprs, t_seri, nitrcoarse, nitrcoarse_pi, load_tmp2)
     241        debut, pplay, paprs, t_seri, nitrcoarse, nitrcoarse_pi, load_tmp9)
    241242        CALL readaerosol_interp(id_CINO3M_phy, itap, pdtphys, rjourvrai, &
    242         debut, pplay, paprs, t_seri, nitrinscoarse, nitrinscoarse_pi, load_tmp3)
    243         loadno3(:)=load_tmp1(:)+load_tmp2(:)+load_tmp3(:)
     243        debut, pplay, paprs, t_seri, nitrinscoarse, nitrinscoarse_pi, load_tmp10)
     244        loadno3(:)=load_tmp8(:)+load_tmp9(:)+load_tmp10(:)
    244245
    245246     ELSE
Note: See TracChangeset for help on using the changeset viewer.