From e8aba83695f75f5cc11e155b2464e753c0e83365 Mon Sep 17 00:00:00 2001
From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr>
Date: Tue, 28 Jan 2020 10:28:33 +0100
Subject: [PATCH] Philippe 28/01/2020: budget: add missing budget variables for
 viscosity

---
 src/MNH/modd_budget.f90 | 15 ++++++++++++++-
 src/MNH/modn_budget.f90 | 35 ++++++++++++++++-------------------
 2 files changed, 30 insertions(+), 20 deletions(-)

diff --git a/src/MNH/modd_budget.f90 b/src/MNH/modd_budget.f90
index 2ebb8c405..bddb712a6 100644
--- a/src/MNH/modd_budget.f90
+++ b/src/MNH/modd_budget.f90
@@ -47,6 +47,7 @@
 !  P. Wautelet 15/11/2019: remove unused CBURECORD variable
 !  P. Wautelet 17/01/2020: add new budget data types
 !  P. Wautelet 27/01/2020: use the tfield_metadata_base abstract datatype
+!  P. Wautelet 28/01/2020: add missing budgets for viscosity
 !-------------------------------------------------------------------------------
 !
 !*       0.   DECLARATIONS
@@ -249,7 +250,8 @@ INTEGER, SAVE :: NVTURBU    ! vertical turbulence
 INTEGER, SAVE :: NDRAGU     ! vegetation drag        
 INTEGER, SAVE :: NMAFLU     ! mass flux            
 INTEGER, SAVE :: NPRESU     ! pressure term
-!     
+INTEGER, SAVE :: NVISCU     ! viscosity
+!
 !      Allowed processes for the budget of RV (wind component along y)
 !                                                  
 ! Courant namelist: NAM_BURV
@@ -270,6 +272,7 @@ INTEGER, SAVE :: NVTURBV    ! vertical turbulence
 INTEGER, SAVE :: NDRAGV     ! vegetation drag         
 INTEGER, SAVE :: NMAFLV     ! mass flux            
 INTEGER, SAVE :: NPRESV     ! pressure term
+INTEGER, SAVE :: NVISCV     ! viscosity
 !
 !      Allowed processes for the budget of RW (wind vertical component)
 !                                                  
@@ -290,6 +293,7 @@ INTEGER, SAVE :: NRELW      ! relaxation
 INTEGER, SAVE :: NHTURBW    ! horizontal turbulence 
 INTEGER, SAVE :: NVTURBW    ! vertical turbulence 
 INTEGER, SAVE :: NPRESW     ! pressure term
+INTEGER, SAVE :: NVISCW     ! viscosity
 !
 !      Allowed processes for the budget of RTH (potential temperature)
 !                                                  
@@ -346,6 +350,7 @@ INTEGER, SAVE :: NHONCTH    ! droplet homogeneous nucleation         LIMA
 INTEGER, SAVE :: NHONRTH    ! drop homogeneous nucleation            LIMA
 INTEGER, SAVE :: NCEDSTH    ! adjustment
 INTEGER, SAVE :: NSEDITH    ! Temperature transport by hydrometeors sedimentation
+INTEGER, SAVE :: NVISCTH    ! viscosity
 !
 !      Allowed processes for the budget of RTKE (kinetic energy)
 !                                                  
@@ -399,6 +404,7 @@ INTEGER, SAVE :: NCORRRV    ! tendencies correction after ICE3
 INTEGER, SAVE :: NHINDRV   ! Heterogeneous Nucleation by Deposition LIMA
 INTEGER, SAVE :: NHONHRV   ! Haze Homogeneous Nucleation            LIMA
 INTEGER, SAVE :: NCEDSRV   ! adjustement 
+INTEGER, SAVE :: NVISCRV   ! viscosity
 !
 !      Allowed processes for the budget of moist variable RRC (cloud water)
 !                                                  
@@ -444,6 +450,7 @@ INTEGER, SAVE :: NREVARC    ! evaporation of rain drops
 INTEGER, SAVE :: NCORRRC    ! rain <-> cloud transfer at the beginning of LIMA
 INTEGER, SAVE :: NR2C1RC    ! rain -> cloud change after sedimentation in LIMA
 INTEGER, SAVE :: NCVRCRC    ! rain -> cloud change after other microphysical processes in LIMA
+INTEGER, SAVE :: NVISCRC    ! viscosity
 !
 !      Allowed processes for the budget of moist variable RRR (rain water)
 !
@@ -476,6 +483,7 @@ INTEGER, SAVE :: NCORRRR    ! tendencies correction after ICE3
 INTEGER, SAVE :: NHONRRR    ! drop homogeneous nucleation LIMA
 INTEGER, SAVE :: NR2C1RR    ! rain -> cloud change after sedimentation in LIMA
 INTEGER, SAVE :: NCVRCRR    ! rain -> cloud change after other microphysical processes in LIMA
+INTEGER, SAVE :: NVISCRR    ! viscosity
 !
 !      Allowed processes for the budget of moist variable RRI (ice)
 !
@@ -517,6 +525,7 @@ INTEGER, SAVE :: NHMSRI  ! Hallett-Mossop ice multiplication process due to snow
 INTEGER, SAVE :: NHMGRI  ! Hallett-Mossop ice multiplication process due to graupel riming LIMA
 INTEGER, SAVE :: NCEDSRI ! adjustement LIMA
 INTEGER, SAVE :: NCORRRI    ! ice <-> snow transfer at the beginning of LIMA
+INTEGER, SAVE :: NVISCRI    ! viscosity
 !
 !      Allowed processes for the budget of moist variable RRS (snow)
 !
@@ -546,6 +555,7 @@ INTEGER, SAVE :: NCNVIRS   ! Conversion of snow to r_i         LIMA
 INTEGER, SAVE :: NCNVSRS   ! Conversion of pristine ice to r_s LIMA
 INTEGER, SAVE :: NHMSRS    ! Hallett-Mossop ice multiplication process due to snow riming LIMA
 INTEGER, SAVE :: NCORRRS    ! ice <-> snow transfer at the beginning of LIMA
+INTEGER, SAVE :: NVISCRS    ! viscosity
 !
 !      Allowed processes for the budget of moist variable RRG (graupel)
 !
@@ -578,6 +588,7 @@ INTEGER, SAVE :: NGHCVRG    ! Graupel to Hail ConVersion ICE4
 INTEGER, SAVE :: NHONRRG    ! drop homogeneous nucleation LIMA
 INTEGER, SAVE :: NHMGRG     ! Hallett-Mossop ice multiplication process due to graupel riming
 INTEGER, SAVE :: NCOHGRG    ! conversion of hail to graupel
+INTEGER, SAVE :: NVISCRG    ! viscosity
 !
 !      Allowed processes for the budget of moist variable RRH (hail)
 !
@@ -601,6 +612,7 @@ INTEGER, SAVE :: NHMLTRH    ! melting
 INTEGER, SAVE :: NCORRRH    ! tendencies correction after ICE3
 INTEGER, SAVE :: NHGCVRH    ! Hail to Graupel ConVersion ICE4
 INTEGER, SAVE :: NGHCVRH    ! Graupel to Hail ConVersion ICE4
+INTEGER, SAVE :: NVISCRH    ! viscosity
 !
 ! Courant namelist: NAM_BURSV
 !
@@ -618,6 +630,7 @@ INTEGER, SAVE :: NDEPOTRSV  ! deposition on tree
 INTEGER, SAVE :: NHTURBSV   ! horizontal turbulence
 INTEGER, SAVE :: NVTURBSV   ! vertical turbulence
 INTEGER, SAVE :: NCHEMSV    ! chemistry activity
+INTEGER, SAVE :: NVISCSV    ! viscosity
 !
 INTEGER, SAVE :: NNEGASV
 !
diff --git a/src/MNH/modn_budget.f90 b/src/MNH/modn_budget.f90
index 8d8376559..e35f1eff8 100644
--- a/src/MNH/modn_budget.f90
+++ b/src/MNH/modn_budget.f90
@@ -1,12 +1,8 @@
-!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1995-2020 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 version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
-!--------------- special set of characters for RCS information
-!-----------------------------------------------------------------
-! $Source: /srv/cvsroot/MNH-VX-Y-Z/src/MNH/modn_budget.f90,v $ $Revision: 1.2.2.1.2.1.2.1.10.1.2.3 $ $Date: 2014/01/09 15:01:56 $
-!-----------------------------------------------------------------
 !     ##################
       MODULE MODN_BUDGET
 !     ##################
@@ -219,7 +215,7 @@
 !!
 !!    MODIFICATIONS
 !!    -------------
-!!      Original    01/03/95                      
+!!      Original    01/03/95
 !!      J. Stein    29/06/95  new processes' list
 !!      J.-P. Pinty 11/01/97  add several SVx
 !!      J.-P. Pinty 18/02/97  add forcing and ice
@@ -229,6 +225,7 @@
 !!      C. Barthe        /16  add budget terms for LIMA
 !!      C.Lac        10/2016  Add droplet deposition
 !!      S. Riette   11/2016 New budgets for ICE3/ICE4
+!  P. Wautelet 28/01/2020: add missing budgets for viscosity
 !-------------------------------------------------------------------------------
 !
 !*       0.   DECLARATIONS
@@ -242,13 +239,13 @@ NAMELIST/NAM_BUDGET/CBUTYPE, NBUMOD, XBULEN, NBUKL, NBUKH, LBU_KCP, XBUWRI, &
                     NBUIL, NBUIH, NBUJL, NBUJH, LBU_ICP, LBU_JCP, NBUMASK 
 !
 NAMELIST/NAM_BU_RU/LBU_RU, NASSEU, NNESTU, NADVU, NFRCU, NNUDU, &
-                   NCURVU, NCORU, NDIFU, NRELU, NDRAGU, NHTURBU, NVTURBU, NMAFLU, NPRESU  
+                   NCURVU, NCORU, NDIFU, NRELU, NDRAGU, NHTURBU, NVTURBU, NMAFLU, NPRESU, NVISCU
 !
 NAMELIST/NAM_BU_RV/LBU_RV, NASSEV, NNESTV, NADVV, NFRCV, NNUDV, &
-                   NCURVV, NCORV, NDIFV, NRELV, NDRAGV, NHTURBV, NVTURBV, NMAFLV, NPRESV  
+                   NCURVV, NCORV, NDIFV, NRELV, NDRAGV, NHTURBV, NVTURBV, NMAFLV, NPRESV, NVISCV
 
 NAMELIST/NAM_BU_RW/LBU_RW, NASSEW, NNESTW, NADVW, NFRCW, NNUDW, &
-                   NCURVW, NCORW, NGRAVW, NDIFW, NRELW, NHTURBW, NVTURBW, NPRESW
+                   NCURVW, NCORW, NGRAVW, NDIFW, NRELW, NHTURBW, NVTURBW, NPRESW, NVISCW
 !
 NAMELIST/NAM_BU_RTH/LBU_RTH, NASSETH, NNESTTH, NADVTH, NFRCTH, &
                    NNUDTH, NPREFTH, NDIFTH, NRELTH, NRADTH, NDCONVTH, NHTURBTH, &
@@ -256,7 +253,7 @@ NAMELIST/NAM_BU_RTH/LBU_RTH, NASSETH, NNESTTH, NADVTH, NFRCTH, &
                    NSFRTH, NDEPSTH, NDEPGTH,NRIMTH, NACCTH, NCFRZTH, NWETGTH, &
                    NDRYGTH, NGMLTTH, NIMLTTH, NBERFITH, NCDEPITH, NWETHTH, NHMLTTH, &
                    NMAFLTH, NNETURTH, NNEADVTH,NNECONTH, NDRYHTH, NADJUTH, NCORRTH, &
-                   NHINDTH, NHINCTH, NHONHTH, NHONCTH, NHONRTH, NCEDSTH, NSEDITH
+                   NHINDTH, NHINCTH, NHONHTH, NHONCTH, NHONRTH, NCEDSTH, NSEDITH, NVISCTH
 !
 NAMELIST/NAM_BU_RTKE/LBU_RTKE, NASSETKE, NADVTKE,    &
                      NFRCTKE, NDIFTKE, NRELTKE, NDRAGTKE,                           &
@@ -265,7 +262,7 @@ NAMELIST/NAM_BU_RTKE/LBU_RTKE, NASSETKE, NADVTKE,    &
 NAMELIST/NAM_BU_RRV/LBU_RRV, NASSERV, NNESTRV, NADVRV, NFRCRV, &
                     NNUDRV, NDIFRV, NRELRV, NDCONVRV, NHTURBRV, NVTURBRV, NNEGARV, &
                     NREVARV, NCONDRV, NHENURV, NDEPSRV, NDEPGRV, NCDEPIRV, NMAFLRV, &
-                    NNETURRV, NNEADVRV,NNECONRV, NADJURV, NCORRRV, NHINDRV, NHONHRV, NCEDSRV
+                    NNETURRV, NNEADVRV,NNECONRV, NADJURV, NCORRRV, NHINDRV, NHONHRV, NCEDSRV, NVISCRV
 ! 
 NAMELIST/NAM_BU_RRC/LBU_RRC, NASSERC, NNESTRC, NADVRC, NFRCRC, &
                     NDIFRC, NRELRC, NDCONVRC, NHTURBRC, NVTURBRC, NNEGARC, NACCRRC, &
@@ -273,37 +270,37 @@ NAMELIST/NAM_BU_RRC/LBU_RRC, NASSERC, NNESTRC, NADVRC, NFRCRC, &
                     NBERFIRC, NCDEPIRC, NHENURC, NSEDIRC, NWETHRC, NNETURRC, &
                     NNEADVRC,NNECONRC, NDRYHRC, NADJURC, NCORRRC, NCMELRC, &
                     NHINCRC, NHONCRC, NCEDSRC, NREVARC, NDEPORC,NDEPOTRRC, &
-                    NCORRRC, NR2C1RC, NCVRCRC
+                    NCORRRC, NR2C1RC, NCVRCRC, NVISCRC
 ! 
 NAMELIST/NAM_BU_RRR/LBU_RRR, NASSERR, NNESTRR, NADVRR, NFRCRR, &
                     NDIFRR, NRELRR, NNEGARR, NACCRRR, NAUTORR, NREVARR, NSEDIRR,    &
                     NSFRRR, NACCRR, NCFRZRR, NWETGRR, NDRYGRR, NGMLTRR, NWETHRR,    &
-                    NHMLTRR, NDRYHRR, NCORRRR, NCMELRR,NHONRRR, NCORRRR, NR2C1RR, NCVRCRR
+                    NHMLTRR, NDRYHRR, NCORRRR, NCMELRR,NHONRRR, NCORRRR, NR2C1RR, NCVRCRR, NVISCRR
 ! 
 NAMELIST/NAM_BU_RRI/LBU_RRI, NASSERI, NNESTRI, NADVRI, NFRCRI, &
                     NDIFRI, NRELRI, NDCONVRI, NHTURBRI, NVTURBRI, NNEGARI, NSEDIRI, &
                     NHENURI, NHONRI, NAGGSRI, NAUTSRI, NCFRZRI, NWETGRI, NDRYGRI,   &
                     NIMLTRI, NBERFIRI, NCDEPIRI, NWETHRI, NDRYHRI, NADJURI, NCORRRI, &
                     NHINDRI, NHINCRI, NHONHRI, NHONCRI, NCNVIRI, NCNVSRI, &
-                    NHMSRI, NHMGRI, NCEDSRI, NCORRRI
+                    NHMSRI, NHMGRI, NCEDSRI, NCORRRI, NVISCRI
 ! 
 NAMELIST/NAM_BU_RRS/LBU_RRS, NASSERS, NNESTRS, NADVRS, NFRCRS, &
                     NDIFRS, NRELRS, NNEGARS, NSEDIRS, NDEPSRS, NAGGSRS, NAUTSRS,    &
                     NRIMRS, NACCRS, NCMELRS, NWETGRS, NDRYGRS, NWETHRS, NDRYHRS,    &
-                    NCORRRS, NCNVIRS, NCNVSRS, NHMSRS, NCORRRS
+                    NCORRRS, NCNVIRS, NCNVSRS, NHMSRS, NCORRRS, NVISCRS
 ! 
 NAMELIST/NAM_BU_RRG/LBU_RRG, NASSERG, NNESTRG, NADVRG, NFRCRG, &
                     NDIFRG, NRELRG, NNEGARG, NSEDIRG, NSFRRG, NDEPGRG, NRIMRG, NACCRG,    &
                     NCMELRG, NCFRZRG, NWETGRG, NDRYGRG, NGMLTRG, NWETHRG, &
-                    NDRYHRG, NCORRRG, NHGCVRG, NGHCVRG,NHONRRG, NHMGRG, NCOHGRG 
+                    NDRYHRG, NCORRRG, NHGCVRG, NGHCVRG,NHONRRG, NHMGRG, NCOHGRG, NVISCRG
 ! 
 NAMELIST/NAM_BU_RRH/LBU_RRH, NASSERH, NNESTRH, NADVRH, NFRCRH, &
                     NDIFRH, NRELRH, NNEGARH, NSEDIRH, NWETGRH, NWETHRH, NDRYHRH, NHMLTRH, &
-                    NCORRRH, NHGCVRH, NGHCVRH, NCOHGRH, NHMLTRH
+                    NCORRRH, NHGCVRH, NGHCVRH, NCOHGRH, NHMLTRH, NVISCRH
 ! 
 NAMELIST/NAM_BU_RSV/ LBU_RSV, NASSESV, NNESTSV, NADVSV, NFRCSV, &
                      NDIFSV, NRELSV, NDCONVSV, NVTURBSV, NHTURBSV, NCHEMSV, NMAFLSV,       &
-                     NNEGASV,                                                              & 
+                     NVISCSV, NNEGASV,                                                     &
                      NAUTOQC, NACCRQC, NRIMQC, NWETGQC, NDRYGQC, NIMLTQC, NBERFIQC,        &
                      NDEPIQC, NINDQC, NSEDIQC, NNEUTQC,                                    &
                      NAUTOQR, NACCRQR, NREVAQR, NACCQR, NCFRZQR, NWETGQR, NDRYGQR,         &
-- 
GitLab