From dc52e32e0bef9ec78b15a55e5356d4d621fb8cd1 Mon Sep 17 00:00:00 2001 From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr> Date: Mon, 1 Feb 2021 13:34:08 +0100 Subject: [PATCH] Philippe 01/02/2021: bugfix: add missing CEDS source terms for SV budgets (cherry picked from commit f8464d61a3d7c1159af55aba278167274948773f) --- src/MNH/ini_budget.f90 | 17 +++++++++++++++++ src/MNH/lima_adjust.f90 | 11 ++++++++++- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/src/MNH/ini_budget.f90 b/src/MNH/ini_budget.f90 index d2776c6a8..345745dfe 100644 --- a/src/MNH/ini_budget.f90 +++ b/src/MNH/ini_budget.f90 @@ -168,6 +168,7 @@ END MODULE MODI_INI_BUDGET ! P. Wautelet 06/07/2020: bugfix: add condition on HTURB for NETUR sources for SV budgets ! P. Wautelet 01/02/2021: bugfix: manage correctly MAFL and ADV source for SV budgets ! P. Wautelet 01/02/2021: add missing source: VISC +! P. Wautelet 01/02/2021: bugfix: add missing CEDS source terms for SV budgets !------------------------------------------------------------------------------- ! !* 0. DECLARATIONS @@ -3432,6 +3433,9 @@ ELSEIF (JSV >= NSV_LIMA_BEG .AND. JSV <= NSV_LIMA_END) THEN YWORK2(12+JSV,ILAST_PROC_NBR)= 'NEGA_' IPROACTV(12+JSV,ILAST_PROC_NBR) = NNEGASV ILAST_PROC_NBR = ILAST_PROC_NBR + 1 + YWORK2(12+JSV,ILAST_PROC_NBR)= 'CEDS_' + IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + ILAST_PROC_NBR = ILAST_PROC_NBR + 1 YWORK2(12+JSV,ILAST_PROC_NBR)= 'NECON_' IPROACTV(12+JSV,ILAST_PROC_NBR) = NNECONSV @@ -3454,6 +3458,11 @@ ELSEIF (JSV >= NSV_LIMA_BEG .AND. JSV <= NSV_LIMA_END) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 YWORK2(12+JSV,ILAST_PROC_NBR)= 'NEGA_' IPROACTV(12+JSV,ILAST_PROC_NBR) = NNEGASV + IF ( OSCAV .AND. OAERO_MASS ) THEN + ILAST_PROC_NBR = ILAST_PROC_NBR + 1 + YWORK2(12+JSV,ILAST_PROC_NBR)= 'CEDS_' + IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + END IF ILAST_PROC_NBR = ILAST_PROC_NBR + 1 YWORK2(12+JSV,ILAST_PROC_NBR)= 'NECON_' IPROACTV(12+JSV,ILAST_PROC_NBR) = NNECONSV @@ -3623,6 +3632,9 @@ ELSEIF (JSV >= NSV_LIMA_BEG .AND. JSV <= NSV_LIMA_END) THEN YWORK2(12+JSV,ILAST_PROC_NBR)= 'NEGA_' IPROACTV(12+JSV,ILAST_PROC_NBR) = NNEGASV ILAST_PROC_NBR = ILAST_PROC_NBR + 1 + YWORK2(12+JSV,ILAST_PROC_NBR)= 'CEDS_' + IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + ILAST_PROC_NBR = ILAST_PROC_NBR + 1 YWORK2(12+JSV,ILAST_PROC_NBR)= 'NECON_' IPROACTV(12+JSV,ILAST_PROC_NBR) = NNECONSV @@ -3646,6 +3658,11 @@ ELSEIF (JSV >= NSV_LIMA_BEG .AND. JSV <= NSV_LIMA_END) THEN ILAST_PROC_NBR = ILAST_PROC_NBR + 1 YWORK2(12+JSV,ILAST_PROC_NBR)= 'NEGA_' IPROACTV(12+JSV,ILAST_PROC_NBR) = NNEGASV + IF ( OCOLD ) THEN + ILAST_PROC_NBR = ILAST_PROC_NBR + 1 + YWORK2(12+JSV,ILAST_PROC_NBR)= 'CEDS_' + IPROACTV(12+JSV,ILAST_PROC_NBR) = 1 + END IF ILAST_PROC_NBR = ILAST_PROC_NBR + 1 YWORK2(12+JSV,ILAST_PROC_NBR)= 'NECON_' IPROACTV(12+JSV,ILAST_PROC_NBR) = NNECONSV diff --git a/src/MNH/lima_adjust.f90 b/src/MNH/lima_adjust.f90 index 68bffde7f..5c0e09f62 100644 --- a/src/MNH/lima_adjust.f90 +++ b/src/MNH/lima_adjust.f90 @@ -1,4 +1,4 @@ -!MNH_LIC Copyright 2013-2020 CNRS, Meteo-France and Universite Paul Sabatier +!MNH_LIC Copyright 2013-2021 CNRS, Meteo-France and Universite Paul Sabatier !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC for details. version 1. @@ -137,6 +137,7 @@ END MODULE MODI_LIMA_ADJUST !! JP Chaboureau *LA* March 2014 fix the calculation of icy cloud fraction ! P. Wautelet 05/2016-04/2018: new data structures and calls for I/O ! P. Wautelet 28/05/2020: bugfix: correct array start for PSVT and PSVS +! P. Wautelet 01/02/2021: bugfix: add missing CEDS source terms for SV budgets !------------------------------------------------------------------------------- ! !* 0. DECLARATIONS @@ -1205,14 +1206,22 @@ IF (NBUMOD==KMI .AND. LBU_ENABLE) THEN IF (LBUDGET_SV) THEN CALL BUDGET (PCCS(:,:,:) * PRHODJ(:,:,:),12+NSV_LIMA_NC,'CEDS_BU_RSV') ! RCC CALL BUDGET (PCIS(:,:,:) * PRHODJ(:,:,:),12+NSV_LIMA_NI,'CEDS_BU_RSV') ! RCI + IF ( LSCAV .AND. LAERO_MASS ) CALL BUDGET (PMAS(:,:,:) * PRHODJ(:,:,:),12+NSV_LIMA_SCAVMASS,'CEDS_BU_RSV') IF (NMOD_CCN .GE. 1) THEN DO JL = 1, NMOD_CCN CALL BUDGET (PNFS(:,:,:,JL)*PRHODJ(:,:,:),12+NSV_LIMA_CCN_FREE+JL-1,'CEDS_BU_RSV') ! RCC + CALL BUDGET (PNAS(:,:,:,JL)*PRHODJ(:,:,:),12+NSV_LIMA_CCN_ACTI+JL-1,'CEDS_BU_RSV') END DO END IF IF (NMOD_IFN .GE. 1) THEN DO JL = 1, NMOD_IFN CALL BUDGET (PIFS(:,:,:,JL)*PRHODJ(:,:,:),12+NSV_LIMA_IFN_FREE+JL-1,'CEDS_BU_RSV') ! RCC + CALL BUDGET (PINS(:,:,:,JL)*PRHODJ(:,:,:),12+NSV_LIMA_IFN_NUCL+JL-1,'CEDS_BU_RSV') + END DO + END IF + IF ( LCOLD .AND. NMOD_IMM .GE. 1 ) THEN + DO JL = 1, NMOD_IMM + CALL BUDGET (PNIS(:,:,:,JL)*PRHODJ(:,:,:),12+NSV_LIMA_IMM_NUCL+JL-1,'CEDS_BU_RSV') ! RCC END DO END IF END IF -- GitLab