Ignore:
Timestamp:
Oct 30, 2016, 4:35:25 PM (8 years ago)
Author:
oboucher
Message:

Adding a module for stratospheric aerosols with a bin scheme.
The module gets activated with -strataer true compiling option.
May not quite work yet, more testing needed, but should not affect
the rest of LMDz as everything is under a CPP_StratAer key.

File:
1 edited

Legend:

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

    r2670 r2690  
    2929      REAL, SAVE, ALLOCATABLE :: d_u_dyn(:,:), d_v_dyn(:,:)
    3030      !$OMP THREADPRIVATE(d_u_dyn, d_v_dyn)
    31 !!!!
    3231      REAL, SAVE, ALLOCATABLE :: d_tr_dyn(:,:,:)
    3332      !$OMP THREADPRIVATE(d_tr_dyn)
    34 !!!!
    3533      REAL, SAVE, ALLOCATABLE :: d_t_con(:,:),d_q_con(:,:)
    3634      !$OMP THREADPRIVATE(d_t_con,d_q_con)
     
    420418!$OMP THREADPRIVATE(sissnow,runoff,albsol3_lic)
    421419
     420#ifdef CPP_StratAer
     421! variables for strat. aerosol CK
     422      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: R2SO4
     423!$OMP THREADPRIVATE(R2SO4)
     424      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: DENSO4
     425!$OMP THREADPRIVATE(DENSO4)
     426      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: f_r_wet
     427!$OMP THREADPRIVATE(f_r_wet)
     428      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: sfluxaer
     429!$OMP THREADPRIVATE(sfluxaer)
     430      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: decfluxaer
     431!$OMP THREADPRIVATE(decfluxaer)
     432      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: mdw
     433!$OMP THREADPRIVATE(mdw)
     434      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: sulf_convert
     435!$OMP THREADPRIVATE(sulf_convert)
     436      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: sulf_nucl
     437!$OMP THREADPRIVATE(sulf_nucl)
     438      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: sulf_cond_evap
     439!$OMP THREADPRIVATE(sulf_cond_evap)
     440      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: ocs_convert
     441!$OMP THREADPRIVATE(ocs_convert)
     442      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: SO2_backgr_tend
     443!$OMP THREADPRIVATE(SO2_backgr_tend)
     444      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: OCS_backgr_tend
     445!$OMP THREADPRIVATE(OCS_backgr_tend)
     446      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: OCS_lifetime
     447!$OMP THREADPRIVATE(OCS_lifetime)
     448      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: SO2_lifetime
     449!$OMP THREADPRIVATE(SO2_lifetime)
     450      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: alpha_bin
     451!$OMP THREADPRIVATE(alpha_bin)
     452      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: piz_bin
     453!$OMP THREADPRIVATE(piz_bin)
     454      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: cg_bin
     455!$OMP THREADPRIVATE(cg_bin)
     456      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: tau_strat_550
     457!$OMP THREADPRIVATE(tau_strat_550)
     458      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: tau_strat_550_lay
     459!$OMP THREADPRIVATE(tau_strat_550_lay)
     460      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: tau_strat_1020
     461!$OMP THREADPRIVATE(tau_strat_1020)
     462      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: tausum_strat
     463!$OMP THREADPRIVATE(tausum_strat)
     464      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: sulf_dep_dry
     465!$OMP THREADPRIVATE(sulf_dep_dry)
     466      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: sulf_dep_wet
     467!$OMP THREADPRIVATE(sulf_dep_wet)
     468      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: surf_PM25_sulf
     469!$OMP THREADPRIVATE(surf_PM25_sulf)
     470      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: p_tropopause
     471!$OMP THREADPRIVATE(p_tropopause)
     472      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: vsed_aer
     473!$OMP THREADPRIVATE(vsed_aer)
     474#endif
     475
    422476CONTAINS
    423477
     
    659713      ALLOCATE (sissnow(klon),runoff(klon),albsol3_lic(klon))
    660714
    661 
     715#ifdef CPP_StratAer
     716      ALLOCATE (R2SO4(klon,klev))
     717      ALLOCATE (DENSO4(klon,klev))
     718      ALLOCATE (f_r_wet(klon,klev))
     719      ALLOCATE (sfluxaer(klon))
     720      ALLOCATE (decfluxaer(klon,nbtr))
     721      ALLOCATE (mdw(nbtr))
     722      ALLOCATE (sulf_convert(klon,klev))
     723      ALLOCATE (sulf_nucl(klon,klev))
     724      ALLOCATE (sulf_cond_evap(klon,klev))
     725      ALLOCATE (ocs_convert(klon,klev))
     726      ALLOCATE (SO2_backgr_tend(klon,klev))
     727      ALLOCATE (OCS_backgr_tend(klon,klev))
     728      ALLOCATE (OCS_lifetime(klon,klev))
     729      ALLOCATE (SO2_lifetime(klon,klev))
     730      ALLOCATE (alpha_bin(nbands_sw_rrtm+nbands_lw_rrtm+nwave+nwave_lw,nbtr))
     731      ALLOCATE (piz_bin(nbands_sw_rrtm+nbands_lw_rrtm+nwave+nwave_lw,nbtr))
     732      ALLOCATE (cg_bin(nbands_sw_rrtm+nbands_lw_rrtm+nwave+nwave_lw,nbtr))
     733      ALLOCATE (tau_strat_550(klon,klev))
     734      ALLOCATE (tau_strat_550_lay(klon,klev))
     735      ALLOCATE (tau_strat_1020(klon,klev))
     736      ALLOCATE (tausum_strat(klon,3))
     737      ALLOCATE (sulf_dep_dry(klon))
     738      ALLOCATE (sulf_dep_wet(klon))
     739      ALLOCATE (surf_PM25_sulf(klon))
     740      ALLOCATE (p_tropopause(klon))
     741      ALLOCATE (vsed_aer(klon,klev))
     742#endif
    662743
    663744END SUBROUTINE phys_local_var_init
     
    876957      DEALLOCATE (zxsnow,snowhgt,qsnow,to_ice,sissnow,runoff,albsol3_lic)
    877958
     959#ifdef CPP_StratAer
     960! variables for strat. aerosol CK
     961      DEALLOCATE (R2SO4)
     962      DEALLOCATE (DENSO4)
     963      DEALLOCATE (f_r_wet)
     964      DEALLOCATE (sfluxaer)
     965      DEALLOCATE (decfluxaer)
     966      DEALLOCATE (mdw)
     967      DEALLOCATE (sulf_convert)
     968      DEALLOCATE (sulf_nucl)
     969      DEALLOCATE (sulf_cond_evap)
     970      DEALLOCATE (ocs_convert)
     971      DEALLOCATE (SO2_backgr_tend)
     972      DEALLOCATE (OCS_backgr_tend)
     973      DEALLOCATE (SO2_lifetime)
     974      DEALLOCATE (OCS_lifetime)
     975      DEALLOCATE (alpha_bin)
     976      DEALLOCATE (piz_bin)
     977      DEALLOCATE (cg_bin)
     978      DEALLOCATE (tau_strat_550)
     979      DEALLOCATE (tau_strat_550_lay)
     980      DEALLOCATE (tau_strat_1020)
     981      DEALLOCATE (tausum_strat)
     982      DEALLOCATE (sulf_dep_dry)
     983      DEALLOCATE (sulf_dep_wet)
     984      DEALLOCATE (surf_PM25_sulf)
     985      DEALLOCATE (p_tropopause)
     986      DEALLOCATE (vsed_aer)
     987#endif
     988
    878989END SUBROUTINE phys_local_var_end
    879990
Note: See TracChangeset for help on using the changeset viewer.