From eef6f528414fbdb147fe195c55b6468b9459a330 Mon Sep 17 00:00:00 2001 From: Gaelle TANGUY <gaelle.tanguy@meteo.fr> Date: Tue, 15 Nov 2016 10:53:42 +0100 Subject: [PATCH] C.Lac 15/11/2016 : Correction on the flag for Strang splitting to isure reproducibility between START and RESTART + Add OSPLIT_WENO + New KHKO output fields + Add droplet deposition --- src/MNH/modeln.f90 | 33 ++++++++++++++++++++++++--------- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/src/MNH/modeln.f90 b/src/MNH/modeln.f90 index 02d98d93b..b0323f1c0 100644 --- a/src/MNH/modeln.f90 +++ b/src/MNH/modeln.f90 @@ -241,6 +241,11 @@ END MODULE MODI_MODEL_n !! 06/2016 (G.Delautier) phasage surfex 8 !! M.Leriche : 03/2016 Move computation of accumulated chem. in rain to ch_monitor !! 09/2016 Add filter on negative values on AERDEP SV before relaxation +!! 10/2016 (C.Lac) _ Correction on the flag for Strang splitting +!! to insure reproducibility between START and RESTA +!! _ Add OSPLIT_WENO +!! _ Add droplet deposition +!! 10/2016 (M.Mazoyer) New KHKO output fields !!------------------------------------------------------------------------------- ! !* 0. DECLARATIONS @@ -260,12 +265,12 @@ USE MODD_NESTING USE MODD_FMOUT USE MODD_BUDGET USE MODD_PARAMETERS -USE MODD_PARAM_ICE, ONLY : LWARM,LSEDIC,LCONVHG +USE MODD_PARAM_ICE, ONLY : LWARM,LSEDIC,LCONVHG,LDEPOSC USE MODD_FRC USE MODD_AIRCRAFT_BALLOON USE MODD_STATION_n USE MODD_PROFILER_n -USE MODD_PARAM_C2R2, ONLY : NSEDC => LSEDC, NRAIN => LRAIN, NACTIT => LACTIT +USE MODD_PARAM_C2R2, ONLY : NSEDC => LSEDC, NRAIN => LRAIN, NACTIT => LACTIT,LACTTKE,LDEPOC USE MODD_PARAM_C1R3, ONLY : NSEDI => LSEDI, NHHONI => LHHONI USE MODD_LES USE MODD_LES_BUDGET @@ -1514,7 +1519,7 @@ CALL MPPDB_CHECK3DM("before ADVEC_METSV:XU/V/W/TH/TKE/T,XRHODJ",PRECISION,& CALL ADVECTION_METSV ( CLUOUT, YFMFILE, GCLOSE_OUT,CUVW_ADV_SCHEME, & CMET_ADV_SCHEME, CSV_ADV_SCHEME, CCLOUD, NSPLIT, & LSPLIT_CFL, XSPLIT_CFL, LCFL_WRIT, & - CLBCX, CLBCY, NRR, NSV, KTCOUNT, XTSTEP, & + CLBCX, CLBCY, NRR, NSV, TDTCUR, XTSTEP, & XUT, XVT, XWT, XTHT, XRT, XTKET, XSVT, XPABST, & XTHVREF, XRHODJ, XDXX, XDYY, XDZZ, XDZX, XDZY, & XRTHS, XRRS, XRTKES, XRSVS, & @@ -1553,7 +1558,7 @@ XTIME_LES_BU_PROCESS = 0. !MPPDB_CHECK_LB=.TRUE. CALL MPPDB_CHECK3DM("before ADVEC_UVW:XU/V/W/TH/TKE/T,XRHODJ,XRU/V/Ws",PRECISION,& & XUT, XVT, XWT, XTHT, XTKET,XRHODJ,XRUS,XRVS,XRWS) -IF (CUVW_ADV_SCHEME(1:3)=='CEN') THEN +IF ((CUVW_ADV_SCHEME(1:3)=='CEN') .AND. (CTEMP_SCHEME == 'LEFR')) THEN IF (CUVW_ADV_SCHEME=='CEN4TH') THEN NULLIFY(TZFIELDC_ll) NULLIFY(TZHALO2C_ll) @@ -1581,7 +1586,7 @@ IF (CUVW_ADV_SCHEME(1:3)=='CEN') THEN ELSE CALL ADVECTION_UVW(CUVW_ADV_SCHEME, CTEMP_SCHEME, & - NWENO_ORDER, NSPLIT, & + NWENO_ORDER, LSPLIT_WENO, & CLBCX, CLBCY, XTSTEP, & XUT, XVT, XWT, & XRHODJ, XDXX, XDYY, XDZZ, XDZX, XDZY, & @@ -1690,7 +1695,11 @@ IF (CCLOUD /= 'NONE' .AND. CELEC == 'NONE') THEN ZWT_ACT_NUC(:,:,:) = XWT(:,:,:) END IF IF (CTURB /= 'NONE' ) THEN - ZWT_ACT_NUC(:,:,:) = ZWT_ACT_NUC(:,:,:) + (2./3. * XTKET(:,:,:))**0.5 + IF (LACTTKE) THEN + ZWT_ACT_NUC(:,:,:) = ZWT_ACT_NUC(:,:,:) + (2./3. * XTKET(:,:,:))**0.5 + ELSE + ZWT_ACT_NUC(:,:,:) = ZWT_ACT_NUC(:,:,:) + ENDIF ENDIF ELSE ZWT_ACT_NUC(:,:,:) = 0. @@ -1721,6 +1730,7 @@ IF (CCLOUD /= 'NONE' .AND. CELEC == 'NONE') THEN LCONVHG, XCF_MF,XRC_MF, XRI_MF, & XINPRC,XINPRR, XINPRR3D, XEVAP3D, & XINPRS, XINPRG, XINPRH, XSOLORG , XMI, & + XINDEP, XSUPSAT, XNACT, XNPRO,XSSPRO, & ZSEA, ZTOWN ) DEF_NC=.TRUE. #else @@ -1737,6 +1747,7 @@ IF (CCLOUD /= 'NONE' .AND. CELEC == 'NONE') THEN LCONVHG, XCF_MF,XRC_MF, XRI_MF, & XINPRC,XINPRR, XINPRR3D, XEVAP3D, & XINPRS, XINPRG, XINPRH, XSOLORG , XMI, & + XINDEP, XSUPSAT, XNACT, XNPRO,XSSPRO, & ZSEA, ZTOWN ) #endif DEALLOCATE(ZTOWN) @@ -1757,7 +1768,8 @@ IF (CCLOUD /= 'NONE' .AND. CELEC == 'NONE') THEN LCONVHG, XCF_MF,XRC_MF, XRI_MF, & XINPRC,XINPRR, XINPRR3D, XEVAP3D, & XINPRS,XINPRG,XINPRH & - XSOLORG, XMI) + XSOLORG, XMI, & + XINDEP, XSUPSAT, XNACT, XNPRO,XSSPRO ) DEF_NC=.TRUE. #else CALL RESOLVED_CLOUD ( CCLOUD, CACTCCN, CSCONV, CMF_CLOUD, NRR, NSPLITR, & @@ -1773,7 +1785,8 @@ IF (CCLOUD /= 'NONE' .AND. CELEC == 'NONE') THEN LCONVHG, XCF_MF,XRC_MF, XRI_MF, & XINPRC,XINPRR, XINPRR3D, XEVAP3D, & XINPRS,XINPRG, XINPRH, & - XSOLORG, XMI ) + XSOLORG, XMI,& + XINDEP, XSUPSAT, XNACT, XNPRO,XSSPRO ) #endif END IF XRTHS_CLD = XRTHS - XRTHS_CLD @@ -1784,8 +1797,10 @@ IF (CCLOUD /= 'NONE' .AND. CELEC == 'NONE') THEN XACPRR = XACPRR + XINPRR * XTSTEP IF ( (CCLOUD(1:3) == 'ICE' .AND. LSEDIC ) .OR. & ((CCLOUD == 'C2R2' .OR. CCLOUD == 'C3R5' .OR. CCLOUD == 'KHKO' & - .OR. CCLOUD == 'LIMA' ) .AND. KSEDC ) ) & + .OR. CCLOUD == 'LIMA' ) .AND. KSEDC ) ) THEN XACPRC = XACPRC + XINPRC * XTSTEP + IF (LDEPOSC .OR. LDEPOC) XACDEP = XACDEP + XINDEP * XTSTEP + END IF IF (CCLOUD(1:3) == 'ICE' .OR. CCLOUD == 'C3R5' .OR. & (CCLOUD == 'LIMA' .AND. LCOLD ) ) THEN XACPRS = XACPRS + XINPRS * XTSTEP -- GitLab