MODULE output_lmdz_NOmodule ! Module to define that variables which are not included in any module as SAVE variables IMPLICIT NONE REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: agesno ! nbsrf !$OMP THREADPRIVATE(agesno) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: ale_wake ! 1D !$OMP THREADPRIVATE(ale_wake) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: alp_wake ! 1D !$OMP THREADPRIVATE(alp_wake) REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: beta_prec !$OMP THREADPRIVATE(beta_prec) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: bils ! 1D !$OMP THREADPRIVATE(bils) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: cdragh ! 1D !$OMP THREADPRIVATE(cdragh) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: cdragm ! 1D !$OMP THREADPRIVATE(cdragm) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: cldh ! 1D !$OMP THREADPRIVATE(cldh) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: cldl ! 1D !$OMP THREADPRIVATE(cldl) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: cldm ! 1D !$OMP THREADPRIVATE(cldm) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: cldq ! 1D !$OMP THREADPRIVATE(cldq) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: cldt ! 1D !$OMP THREADPRIVATE(cldt) REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: cldemi !$OMP THREADPRIVATE(cldemi) REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: cldfra !$OMP THREADPRIVATE(cldfra) REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: cldtau !$OMP THREADPRIVATE(cldtau) REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: dnwd !$OMP THREADPRIVATE(dnwd) REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: dnwd0 !$OMP THREADPRIVATE(dnwd0) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: dthmin ! 1D !$OMP THREADPRIVATE(dthmin) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: evap ! 1D !$OMP THREADPRIVATE(evap) REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: evap_pot ! nbsrf !$OMP THREADPRIVATE(evap_pot) REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: evap_srf ! nbsrf !$OMP THREADPRIVATE(evap_srf) REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: evappot_srf ! nbsrf !$OMP THREADPRIVATE(evappot_srf) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: fder ! 1D !$OMP THREADPRIVATE(fder) REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: fevap ! nbsrf !$OMP THREADPRIVATE(fevap) REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: fiwc !$OMP THREADPRIVATE(fiwc) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: fiwp ! 1D !$OMP THREADPRIVATE(fiwp) REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: fl !$OMP THREADPRIVATE(fl) REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: fluxlat ! nbsrf !$OMP THREADPRIVATE(fluxlat) REAL, ALLOCATABLE, DIMENSION(:,:,:), SAVE :: fluxt ! 3D nbsrf !$OMP THREADPRIVATE(fluxt) REAL, ALLOCATABLE, DIMENSION(:,:,:), SAVE :: fluxu ! 3D nbsrf !$OMP THREADPRIVATE(fluxu) REAL, ALLOCATABLE, DIMENSION(:,:,:), SAVE :: fluxv ! 3D nbsrf !$OMP THREADPRIVATE(fluxv) REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: flwc !$OMP THREADPRIVATE(flwc) REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: fraca ! z-stagg !$OMP THREADPRIVATE(fraca) REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: frugs ! nbsrf !$OMP THREADPRIVATE(frugs) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: flwp ! 1D !$OMP THREADPRIVATE(flwp) REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: fsollw ! nbsrf !$OMP THREADPRIVATE(fsollw) REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: fsolsw ! nbsrf !$OMP THREADPRIVATE(fsolsw) REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: fsolw ! nbsrf !$OMP THREADPRIVATE(fsolw) INTEGER, ALLOCATABLE, DIMENSION(:,:), SAVE :: lambda_th !$OMP THREADPRIVATE(lambda_th) INTEGER, ALLOCATABLE, DIMENSION(:), SAVE :: lmax_th ! 1D !$OMP THREADPRIVATE(lmax_th) INTEGER, ALLOCATABLE, DIMENSION(:,:), SAVE :: mc !$OMP THREADPRIVATE(mc) REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: omega !$OMP THREADPRIVATE(omega) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: plcl ! 1D !$OMP THREADPRIVATE(plcl) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: plfc ! 1D !$OMP THREADPRIVATE(plfc) REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: pmfd !$OMP THREADPRIVATE(pmfd) REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: pmflxr ! stag !$OMP THREADPRIVATE(pmflxr) REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: pmflxs ! stag !$OMP THREADPRIVATE(pmflxs) REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: pmfu !$OMP THREADPRIVATE(pmfu) REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: prfl ! stag !$OMP THREADPRIVATE(prfl) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: prw ! 1D !$OMP THREADPRIVATE(prw) REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: psfl !$OMP THREADPRIVATE(psfl) LOGICAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: ptconv !$OMP THREADPRIVATE(ptconv) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: qsat2m ! 1D !$OMP THREADPRIVATE(qsat2m) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: qsol !$OMP THREADPRIVATE(qsol) REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: qsol_d !$OMP THREADPRIVATE(qsol_d) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: rain_lsc ! 1D !$OMP THREADPRIVATE(rain_lsc) REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: re !$OMP THREADPRIVATE(re) REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: ref_ice !$OMP THREADPRIVATE(ref_ice) REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: ref_liq !$OMP THREADPRIVATE(ref_liq) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: rh2m ! 1D !$OMP THREADPRIVATE(rh2m) REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: rneb !$OMP THREADPRIVATE(rneb) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: s_lcl ! 1D !$OMP THREADPRIVATE(s_lcl) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: s_pblh ! 1D !$OMP THREADPRIVATE(s_pblh) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: s_pblt ! 1D !$OMP THREADPRIVATE(s_pblt) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: s_therm ! 1D !$OMP THREADPRIVATE(s_therm) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: sens ! 1D !$OMP THREADPRIVATE(sens) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: slp ! 1D !$OMP THREADPRIVATE(slp) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: snow_lsc ! 1D !$OMP THREADPRIVATE(snow_lsc) REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: t2m ! nbsrf !$OMP THREADPRIVATE(t2m) REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: theta !$OMP THREADPRIVATE(theta) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: tpot ! 1D !$OMP THREADPRIVATE(tpot) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: tpote ! 1D !$OMP THREADPRIVATE(tpote) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: ue ! 1D !$OMP THREADPRIVATE(ue) REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: upwd !$OMP THREADPRIVATE(upwd) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: uq ! 1D !$OMP THREADPRIVATE(uq) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: ve ! 1D !$OMP THREADPRIVATE(ve) REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: Vprecip ! stag !$OMP THREADPRIVATE(Vprecip) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: vq ! 1D !$OMP THREADPRIVATE(vq) REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: wake_omg !$OMP THREADPRIVATE(wake_omg) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: wake_h ! 1D !$OMP THREADPRIVATE(wake_h) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: weak_inversion ! 1D !$OMP THREADPRIVATE(weak_inversion) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: wbeff ! 1D !$OMP THREADPRIVATE(wbeff) REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: wdtrainA !$OMP THREADPRIVATE(wdtrainA) REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: wdtrainM !$OMP THREADPRIVATE(wdtrainM) REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: wfbilo ! nbsrf !$OMP THREADPRIVATE(wfbilo) REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: wfbils ! nbsrf !$OMP THREADPRIVATE(wfbils) REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: zmasse !$OMP THREADPRIVATE(zmasse) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: zmax_th ! 1D !$OMP THREADPRIVATE(zmax_th) REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: zphi !$OMP THREADPRIVATE(zphi) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: zq2m ! 1D !$OMP THREADPRIVATE(zq2m) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: zt2m ! 1D !$OMP THREADPRIVATE(zt2m) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: zu10m ! 1D !$OMP THREADPRIVATE(zu10m) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: zustar ! 1D !$OMP THREADPRIVATE(zustar) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: zv10m ! 1D !$OMP THREADPRIVATE(zv10m) REAL, ALLOCATABLE, DIMENSION(:,:), SAVE :: zx_rh !$OMP THREADPRIVATE(zx_rh) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: zxffonte ! 1D !$OMP THREADPRIVATE(zxffonte) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: zxfluxlat ! 1D !$OMP THREADPRIVATE(zxfluxlat) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: zxfqcalving ! 1D !$OMP THREADPRIVATE(zxfqcalving) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: zxfqfonte ! 1D !$OMP THREADPRIVATE(zxfqfonte) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: zxqsurf ! 1D !$OMP THREADPRIVATE(zxqsurf) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: zxrugs ! 1D !$OMP THREADPRIVATE(zxrugs) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: zxsnow ! 1D !$OMP THREADPRIVATE(zxsnow) REAL, ALLOCATABLE, DIMENSION(:), SAVE :: zxtsol ! 1D !$OMP THREADPRIVATE(zxtsol) CONTAINS SUBROUTINE init_ovars_lmdz_NOmodule(klon,klev,nbsrf) ! Subroutine to activate all the output variables without module !! cat output_lmdz_NOmodule.F90 | grep SAVE | awk '{print " IF (ALLOCATED("$6")) DEALLOCATE("$6")\n ALLOCATE("$6"(klon,klev))\n"}'>> output_lmdz_NOmodule.F90 IMPLICIT NONE INTEGER, INTENT(IN) :: klon, klev, nbsrf IF (ALLOCATED(agesno)) DEALLOCATE(agesno) ALLOCATE(agesno(klon,nbsrf)) IF (ALLOCATED(ale_wake)) DEALLOCATE(ale_wake) ALLOCATE(ale_wake(klon)) IF (ALLOCATED(alp_wake)) DEALLOCATE(alp_wake) ALLOCATE(alp_wake(klon)) IF (ALLOCATED(beta_prec)) DEALLOCATE(beta_prec) ALLOCATE(beta_prec(klon,klev)) IF (ALLOCATED(bils)) DEALLOCATE(bils) ALLOCATE(bils(klon)) IF (ALLOCATED(cdragh)) DEALLOCATE(cdragh) ALLOCATE(cdragh(klon)) IF (ALLOCATED(cdragm)) DEALLOCATE(cdragm) ALLOCATE(cdragm(klon)) IF (ALLOCATED(cldh)) DEALLOCATE(cldh) ALLOCATE(cldh(klon)) IF (ALLOCATED(cldl)) DEALLOCATE(cldl) ALLOCATE(cldl(klon)) IF (ALLOCATED(cldm)) DEALLOCATE(cldm) ALLOCATE(cldm(klon)) IF (ALLOCATED(cldq)) DEALLOCATE(cldq) ALLOCATE(cldq(klon)) IF (ALLOCATED(cldt)) DEALLOCATE(cldt) ALLOCATE(cldt(klon)) IF (ALLOCATED(cldemi)) DEALLOCATE(cldemi) ALLOCATE(cldemi(klon,klev)) IF (ALLOCATED(cldfra)) DEALLOCATE(cldfra) ALLOCATE(cldfra(klon,klev)) IF (ALLOCATED(cldtau)) DEALLOCATE(cldtau) ALLOCATE(cldtau(klon,klev)) IF (ALLOCATED(dnwd)) DEALLOCATE(dnwd) ALLOCATE(dnwd(klon,klev)) IF (ALLOCATED(dnwd0)) DEALLOCATE(dnwd0) ALLOCATE(dnwd0(klon,klev)) IF (ALLOCATED(dthmin)) DEALLOCATE(dthmin) ALLOCATE(dthmin(klon)) IF (ALLOCATED(evap)) DEALLOCATE(evap) ALLOCATE(evap(klon)) IF (ALLOCATED(evap_pot)) DEALLOCATE(evap_pot) ALLOCATE(evap_pot(klon,nbsrf)) IF (ALLOCATED(evap_srf)) DEALLOCATE(evap_srf) ALLOCATE(evap_srf(klon,nbsrf)) IF (ALLOCATED(evappot_srf)) DEALLOCATE(evappot_srf) ALLOCATE(evappot_srf(klon,nbsrf)) IF (ALLOCATED(fder)) DEALLOCATE(fder) ALLOCATE(fder(klon)) IF (ALLOCATED(fevap)) DEALLOCATE(fevap) ALLOCATE(fevap(klon,nbsrf)) IF (ALLOCATED(fiwc)) DEALLOCATE(fiwc) ALLOCATE(fiwc(klon,klev)) IF (ALLOCATED(fiwp)) DEALLOCATE(fiwp) ALLOCATE(fiwp(klon)) IF (ALLOCATED(fl)) DEALLOCATE(fl) ALLOCATE(fl(klon,klev)) IF (ALLOCATED(fluxlat)) DEALLOCATE(fluxlat) ALLOCATE(fluxlat(klon,nbsrf)) IF (ALLOCATED(fluxt)) DEALLOCATE(fluxt) ALLOCATE(fluxt(klon,klev,nbsrf)) IF (ALLOCATED(fluxu)) DEALLOCATE(fluxu) ALLOCATE(fluxu(klon,klev,nbsrf)) IF (ALLOCATED(fluxv)) DEALLOCATE(fluxv) ALLOCATE(fluxv(klon,klev,nbsrf)) IF (ALLOCATED(flwp)) DEALLOCATE(flwp) ALLOCATE(flwp(klon)) IF (ALLOCATED(flwc)) DEALLOCATE(flwc) ALLOCATE(flwc(klon,klev)) IF (ALLOCATED(fraca)) DEALLOCATE(fraca) ALLOCATE(fraca(klon,klev+1)) IF (ALLOCATED(frugs)) DEALLOCATE(frugs) ALLOCATE(frugs(klon,nbsrf)) IF (ALLOCATED(fsollw)) DEALLOCATE(fsollw) ALLOCATE(fsollw(klon,nbsrf)) IF (ALLOCATED(fsolsw)) DEALLOCATE(fsolsw) ALLOCATE(fsolsw(klon,nbsrf)) IF (ALLOCATED(fsolw)) DEALLOCATE(fsolw) ALLOCATE(fsolw(klon,nbsrf)) IF (ALLOCATED(lambda_th)) DEALLOCATE(lambda_th) ALLOCATE(lambda_th(klon,klev)) IF (ALLOCATED(lmax_th)) DEALLOCATE(lmax_th) ALLOCATE(lmax_th(klon)) IF (ALLOCATED(mc)) DEALLOCATE(mc) ALLOCATE(mc(klon,klev)) IF (ALLOCATED(omega)) DEALLOCATE(omega) ALLOCATE(omega(klon,klev)) IF (ALLOCATED(plcl)) DEALLOCATE(plcl) ALLOCATE(plcl(klon)) IF (ALLOCATED(plfc)) DEALLOCATE(plfc) ALLOCATE(plfc(klon)) IF (ALLOCATED(pmfd)) DEALLOCATE(pmfd) ALLOCATE(pmfd(klon,klev)) IF (ALLOCATED(pmflxr)) DEALLOCATE(pmflxr) ALLOCATE(pmflxr(klon,klev+1)) IF (ALLOCATED(pmflxs)) DEALLOCATE(pmflxs) ALLOCATE(pmflxs(klon,klev+1)) IF (ALLOCATED(pmfu)) DEALLOCATE(pmfu) ALLOCATE(pmfu(klon,klev)) IF (ALLOCATED(prfl)) DEALLOCATE(prfl) ALLOCATE(prfl(klon,klev+1)) IF (ALLOCATED(prw)) DEALLOCATE(prw) ALLOCATE(prw(klon)) IF (ALLOCATED(psfl)) DEALLOCATE(psfl) ALLOCATE(psfl(klon,klev+1)) IF (ALLOCATED(ptconv)) DEALLOCATE(ptconv) ALLOCATE(ptconv(klon,klev)) IF (ALLOCATED(qsat2m)) DEALLOCATE(qsat2m) ALLOCATE(qsat2m(klon)) IF (ALLOCATED(qsol)) DEALLOCATE(qsol) ALLOCATE(qsol(klon)) IF (ALLOCATED(qsol_d)) DEALLOCATE(qsol_d) ALLOCATE(qsol_d(klon,nbsrf)) IF (ALLOCATED(rain_lsc)) DEALLOCATE(rain_lsc) ALLOCATE(rain_lsc(klon)) IF (ALLOCATED(re)) DEALLOCATE(re) ALLOCATE(re(klon,klev)) IF (ALLOCATED(ref_ice)) DEALLOCATE(ref_ice) ALLOCATE(ref_ice(klon,klev)) IF (ALLOCATED(ref_liq)) DEALLOCATE(ref_liq) ALLOCATE(ref_liq(klon,klev)) IF (ALLOCATED(rh2m)) DEALLOCATE(rh2m) ALLOCATE(rh2m(klon)) IF (ALLOCATED(rneb)) DEALLOCATE(rneb) ALLOCATE(rneb(klon,klev)) IF (ALLOCATED(s_lcl)) DEALLOCATE(s_lcl) ALLOCATE(s_lcl(klon)) IF (ALLOCATED(s_pblh)) DEALLOCATE(s_pblh) ALLOCATE(s_pblh(klon)) IF (ALLOCATED(s_pblt)) DEALLOCATE(s_pblt) ALLOCATE(s_pblt(klon)) IF (ALLOCATED(s_therm)) DEALLOCATE(s_therm) ALLOCATE(s_therm(klon)) IF (ALLOCATED(sens)) DEALLOCATE(sens) ALLOCATE(sens(klon)) IF (ALLOCATED(slp)) DEALLOCATE(slp) ALLOCATE(slp(klon)) IF (ALLOCATED(snow_lsc)) DEALLOCATE(snow_lsc) ALLOCATE(snow_lsc(klon)) IF (ALLOCATED(t2m)) DEALLOCATE(t2m) ALLOCATE(t2m(klon,nbsrf)) IF (ALLOCATED(theta)) DEALLOCATE(theta) ALLOCATE(theta(klon,klev)) IF (ALLOCATED(tpot)) DEALLOCATE(tpot) ALLOCATE(tpot(klon)) IF (ALLOCATED(tpote)) DEALLOCATE(tpote) ALLOCATE(tpote(klon)) IF (ALLOCATED(ue)) DEALLOCATE(ue) ALLOCATE(ue(klon)) IF (ALLOCATED(upwd)) DEALLOCATE(upwd) ALLOCATE(upwd(klon,klev)) IF (ALLOCATED(uq)) DEALLOCATE(uq) ALLOCATE(uq(klon)) IF (ALLOCATED(ve)) DEALLOCATE(ve) ALLOCATE(ve(klon)) IF (ALLOCATED(Vprecip)) DEALLOCATE(Vprecip) ALLOCATE(Vprecip(klon,klev+1)) IF (ALLOCATED(vq)) DEALLOCATE(vq) ALLOCATE(vq(klon)) IF (ALLOCATED(wake_omg)) DEALLOCATE(wake_omg) ALLOCATE(wake_omg(klon,klev)) IF (ALLOCATED(wake_h)) DEALLOCATE(wake_h) ALLOCATE(wake_h(klon)) IF (ALLOCATED(weak_inversion)) DEALLOCATE(weak_inversion) ALLOCATE(weak_inversion(klon)) IF (ALLOCATED(wbeff)) DEALLOCATE(wbeff) ALLOCATE(wbeff(klon)) IF (ALLOCATED(wdtrainA)) DEALLOCATE(wdtrainA) ALLOCATE(wdtrainA(klon,klev)) IF (ALLOCATED(wdtrainM)) DEALLOCATE(wdtrainM) ALLOCATE(wdtrainM(klon,klev)) IF (ALLOCATED(wfbilo)) DEALLOCATE(wfbilo) ALLOCATE(wfbilo(klon,nbsrf)) IF (ALLOCATED(wfbils)) DEALLOCATE(wfbils) ALLOCATE(wfbils(klon,nbsrf)) IF (ALLOCATED(zmasse)) DEALLOCATE(zmasse) ALLOCATE(zmasse(klon,klev)) IF (ALLOCATED(zmax_th)) DEALLOCATE(zmax_th) ALLOCATE(zmax_th(klon)) IF (ALLOCATED(zphi)) DEALLOCATE(zphi) ALLOCATE(zphi(klon,klev)) IF (ALLOCATED(zq2m)) DEALLOCATE(zq2m) ALLOCATE(zq2m(klon)) IF (ALLOCATED(zt2m)) DEALLOCATE(zt2m) ALLOCATE(zt2m(klon)) IF (ALLOCATED(zu10m)) DEALLOCATE(zu10m) ALLOCATE(zu10m(klon)) IF (ALLOCATED(zustar)) DEALLOCATE(zustar) ALLOCATE(zustar(klon)) IF (ALLOCATED(zv10m)) DEALLOCATE(zv10m) ALLOCATE(zv10m(klon)) IF (ALLOCATED(zx_rh)) DEALLOCATE(zx_rh) ALLOCATE(zx_rh(klon,klev)) IF (ALLOCATED(zxffonte)) DEALLOCATE(zxffonte) ALLOCATE(zxffonte(klon)) IF (ALLOCATED(zxfluxlat)) DEALLOCATE(zxfluxlat) ALLOCATE(zxfluxlat(klon)) IF (ALLOCATED(zxfqcalving)) DEALLOCATE(zxfqcalving) ALLOCATE(zxfqcalving(klon)) IF (ALLOCATED(zxfqfonte)) DEALLOCATE(zxfqfonte) ALLOCATE(zxfqfonte(klon)) IF (ALLOCATED(zxqsurf)) DEALLOCATE(zxqsurf) ALLOCATE(zxqsurf(klon)) IF (ALLOCATED(zxrugs)) DEALLOCATE(zxrugs) ALLOCATE(zxrugs(klon)) IF (ALLOCATED(zxsnow)) DEALLOCATE(zxsnow) ALLOCATE(zxsnow(klon)) IF (ALLOCATED(zxtsol)) DEALLOCATE(zxtsol) ALLOCATE(zxtsol(klon)) END SUBROUTINE init_ovars_lmdz_NOmodule SUBROUTINE end_ovars_lmdz_NOmodule() ! Subroutine to de-activate all the output variables without module IMPLICIT NONE IF (ALLOCATED(agesno)) DEALLOCATE(agesno) IF (ALLOCATED(ale_wake)) DEALLOCATE(ale_wake) IF (ALLOCATED(alp_wake)) DEALLOCATE(alp_wake) IF (ALLOCATED(beta_prec)) DEALLOCATE(beta_prec) IF (ALLOCATED(bils)) DEALLOCATE(bils) IF (ALLOCATED(cdragh)) DEALLOCATE(cdragh) IF (ALLOCATED(cdragm)) DEALLOCATE(cdragm) IF (ALLOCATED(cldh)) DEALLOCATE(cldh) IF (ALLOCATED(cldl)) DEALLOCATE(cldl) IF (ALLOCATED(cldm)) DEALLOCATE(cldm) IF (ALLOCATED(cldq)) DEALLOCATE(cldq) IF (ALLOCATED(cldt)) DEALLOCATE(cldt) IF (ALLOCATED(cldemi)) DEALLOCATE(cldemi) IF (ALLOCATED(cldfra)) DEALLOCATE(cldfra) IF (ALLOCATED(cldtau)) DEALLOCATE(cldtau) IF (ALLOCATED(dnwd)) DEALLOCATE(dnwd) IF (ALLOCATED(dnwd0)) DEALLOCATE(dnwd0) IF (ALLOCATED(dthmin)) DEALLOCATE(dthmin) IF (ALLOCATED(evap)) DEALLOCATE(evap) IF (ALLOCATED(evap_pot)) DEALLOCATE(evap_pot) IF (ALLOCATED(evap_srf)) DEALLOCATE(evap_srf) IF (ALLOCATED(evappot_srf)) DEALLOCATE(evappot_srf) IF (ALLOCATED(fder)) DEALLOCATE(fder) IF (ALLOCATED(fevap)) DEALLOCATE(fevap) IF (ALLOCATED(fiwc)) DEALLOCATE(fiwc) IF (ALLOCATED(fiwp)) DEALLOCATE(fiwp) IF (ALLOCATED(fl)) DEALLOCATE(fl) IF (ALLOCATED(fluxlat)) DEALLOCATE(fluxlat) IF (ALLOCATED(fluxt)) DEALLOCATE(fluxt) IF (ALLOCATED(fluxu)) DEALLOCATE(fluxu) IF (ALLOCATED(fluxv)) DEALLOCATE(fluxv) IF (ALLOCATED(flwp)) DEALLOCATE(flwp) IF (ALLOCATED(flwc)) DEALLOCATE(flwc) IF (ALLOCATED(fraca)) DEALLOCATE(fraca) IF (ALLOCATED(frugs)) DEALLOCATE(frugs) IF (ALLOCATED(fsollw)) DEALLOCATE(fsollw) IF (ALLOCATED(fsolsw)) DEALLOCATE(fsolsw) IF (ALLOCATED(fsolw)) DEALLOCATE(fsolw) IF (ALLOCATED(lambda_th)) DEALLOCATE(lambda_th) IF (ALLOCATED(lmax_th)) DEALLOCATE(lmax_th) IF (ALLOCATED(mc)) DEALLOCATE(mc) IF (ALLOCATED(omega)) DEALLOCATE(omega) IF (ALLOCATED(plcl)) DEALLOCATE(plcl) IF (ALLOCATED(plfc)) DEALLOCATE(plfc) IF (ALLOCATED(pmfd)) DEALLOCATE(pmfd) IF (ALLOCATED(pmflxr)) DEALLOCATE(pmflxr) IF (ALLOCATED(pmflxs)) DEALLOCATE(pmflxs) IF (ALLOCATED(pmfu)) DEALLOCATE(pmfu) IF (ALLOCATED(prfl)) DEALLOCATE(prfl) IF (ALLOCATED(prw)) DEALLOCATE(prw) IF (ALLOCATED(psfl)) DEALLOCATE(psfl) IF (ALLOCATED(ptconv)) DEALLOCATE(ptconv) IF (ALLOCATED(qsat2m)) DEALLOCATE(qsat2m) IF (ALLOCATED(qsol)) DEALLOCATE(qsol) IF (ALLOCATED(qsol_d)) DEALLOCATE(qsol_d) IF (ALLOCATED(rain_lsc)) DEALLOCATE(rain_lsc) IF (ALLOCATED(re)) DEALLOCATE(re) IF (ALLOCATED(ref_ice)) DEALLOCATE(ref_ice) IF (ALLOCATED(ref_liq)) DEALLOCATE(ref_liq) IF (ALLOCATED(rh2m)) DEALLOCATE(rh2m) IF (ALLOCATED(rneb)) DEALLOCATE(rneb) IF (ALLOCATED(s_lcl)) DEALLOCATE(s_lcl) IF (ALLOCATED(s_pblh)) DEALLOCATE(s_pblh) IF (ALLOCATED(s_pblt)) DEALLOCATE(s_pblt) IF (ALLOCATED(s_therm)) DEALLOCATE(s_therm) IF (ALLOCATED(sens)) DEALLOCATE(sens) IF (ALLOCATED(slp)) DEALLOCATE(slp) IF (ALLOCATED(snow_lsc)) DEALLOCATE(snow_lsc) IF (ALLOCATED(t2m)) DEALLOCATE(t2m) IF (ALLOCATED(theta)) DEALLOCATE(theta) IF (ALLOCATED(tpot)) DEALLOCATE(tpot) IF (ALLOCATED(tpote)) DEALLOCATE(tpote) IF (ALLOCATED(ue)) DEALLOCATE(ue) IF (ALLOCATED(upwd)) DEALLOCATE(upwd) IF (ALLOCATED(uq)) DEALLOCATE(uq) IF (ALLOCATED(ve)) DEALLOCATE(ve) IF (ALLOCATED(Vprecip)) DEALLOCATE(Vprecip) IF (ALLOCATED(vq)) DEALLOCATE(vq) IF (ALLOCATED(wake_omg)) DEALLOCATE(wake_omg) IF (ALLOCATED(wake_h)) DEALLOCATE(wake_h) IF (ALLOCATED(weak_inversion)) DEALLOCATE(weak_inversion) IF (ALLOCATED(wbeff)) DEALLOCATE(wbeff) IF (ALLOCATED(wdtrainA)) DEALLOCATE(wdtrainA) IF (ALLOCATED(wdtrainM)) DEALLOCATE(wdtrainM) IF (ALLOCATED(wfbilo)) DEALLOCATE(wfbilo) IF (ALLOCATED(wfbils)) DEALLOCATE(wfbils) IF (ALLOCATED(zmasse)) DEALLOCATE(zmasse) IF (ALLOCATED(zmax_th)) DEALLOCATE(zmax_th) IF (ALLOCATED(zphi)) DEALLOCATE(zphi) IF (ALLOCATED(zq2m)) DEALLOCATE(zq2m) IF (ALLOCATED(zt2m)) DEALLOCATE(zt2m) IF (ALLOCATED(zu10m)) DEALLOCATE(zu10m) IF (ALLOCATED(zustar)) DEALLOCATE(zustar) IF (ALLOCATED(zv10m)) DEALLOCATE(zv10m) IF (ALLOCATED(zx_rh)) DEALLOCATE(zx_rh) IF (ALLOCATED(zxffonte)) DEALLOCATE(zxffonte) IF (ALLOCATED(zxfluxlat)) DEALLOCATE(zxfluxlat) IF (ALLOCATED(zxfqcalving)) DEALLOCATE(zxfqcalving) IF (ALLOCATED(zxfqfonte)) DEALLOCATE(zxfqfonte) IF (ALLOCATED(zxqsurf)) DEALLOCATE(zxqsurf) IF (ALLOCATED(zxrugs)) DEALLOCATE(zxrugs) IF (ALLOCATED(zxsnow)) DEALLOCATE(zxsnow) IF (ALLOCATED(zxtsol)) DEALLOCATE(zxtsol) END SUBROUTINE end_ovars_lmdz_NOmodule END MODULE output_lmdz_NOmodule