diff --git a/src/MNH/ini_budget.f90 b/src/MNH/ini_budget.f90
index d16443626cb67a93351f0ba18be1f269e33db194..d2776c6a8f8ce9a56d25af00c7827a9d5a8d6339 100644
--- a/src/MNH/ini_budget.f90
+++ b/src/MNH/ini_budget.f90
@@ -167,6 +167,7 @@ END MODULE MODI_INI_BUDGET
 !  P. Wautelet 30/06/2020: add NNETURSV, NNEADVSV and NNECONSV variables
 !  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
 !-------------------------------------------------------------------------------
 !
 !*       0.    DECLARATIONS
@@ -189,6 +190,7 @@ USE MODD_PARAM_LIMA, ONLY : OWARM=>LWARM, OCOLD=>LCOLD, OSEDI=>LSEDI,   &
                             ODEPOC=>LDEPOC, OPTSPLIT=>LPTSPLIT,          &
                             NMOD_CCN
 USE MODD_PARAM_n,    only: CELEC
+USE MODD_VISCOSITY,  only: LVISC
 !
 USE MODE_ll
 USE MODE_IO_ll
@@ -488,6 +490,8 @@ IF (LBU_RU) THEN
   IPROC=IPROC+1
   IF ( HSCONV == 'EDKF' ) IPROACTV(1,IPROC) = NMAFLU
   IPROC=IPROC+1
+  IF ( LVISC ) IPROACTV(1,IPROC) = NVISCU
+  IPROC=IPROC+1
   IPROACTV(1,IPROC) = NADVU
   IPROC=IPROC+1
   IPROACTV(1,IPROC) = NPRESU 
@@ -590,7 +594,9 @@ IF (LBU_RV) THEN
   END IF 
   IPROC=IPROC+1 
   IF ( HSCONV == 'EDKF' ) IPROACTV(2,IPROC) = NMAFLV
-  IPROC=IPROC+1 
+  IPROC=IPROC+1
+  IF ( LVISC ) IPROACTV(1,IPROC) = NVISCV
+  IPROC=IPROC+1
   IPROACTV(2,IPROC) = NADVV 
   IPROC=IPROC+1
   IPROACTV(2,IPROC) = NPRESV 
@@ -690,6 +696,8 @@ IF (LBU_RW) THEN
     END IF
   END IF 
   IPROC=IPROC+1
+  IF ( LVISC ) IPROACTV(1,IPROC) = NVISCW
+  IPROC=IPROC+1
   IPROACTV(3,IPROC) = NGRAVW
   IPROC=IPROC+1
   IPROACTV(3,IPROC) = NADVW 
@@ -1180,7 +1188,9 @@ IF (LBU_RRV) THEN
    IPROACTV(6,IPROC) = NNETURRV
   IPROC=IPROC+1 
   IF ( HSCONV == 'EDKF' ) IPROACTV(6,IPROC) = NMAFLRV
-  IPROC=IPROC+1 
+  IPROC=IPROC+1
+  IF ( LVISC ) IPROACTV(1,IPROC) = NVISCRV
+  IPROC=IPROC+1
   IPROACTV(6,IPROC) = NADVRV
   IPROC=IPROC+1   
   IF (      HCLOUD == 'KESS' .OR. HCLOUD == 'KHKO' .OR. HCLOUD == 'C2R2'   &
@@ -1374,6 +1384,8 @@ IF (LBU_RRC) THEN
                                .OR. HCLOUD == 'ICE3' .OR. HCLOUD == 'ICE4' .OR. HCLOUD == 'LIMA' ) ) &
     IPROACTV(7,IPROC) = NNETURRC
   IPROC=IPROC+1
+  IF ( LVISC ) IPROACTV(1,IPROC) = NVISCRC
+  IPROC=IPROC+1
   IPROACTV(7,IPROC) = NADVRC
   IPROC=IPROC+1
   IF (      HCLOUD == 'KESS' .OR. HCLOUD == 'KHKO' .OR. HCLOUD == 'C2R2'   &
@@ -1647,6 +1659,8 @@ IF (LBU_RRR) THEN
   IF ( HTURB /= 'NONE' .AND. ( HCLOUD == 'KHKO' .OR. HCLOUD == 'C2R2' .OR. HCLOUD == 'LIMA' ) ) &
     IPROACTV(8,IPROC) = NNETURRR
   IPROC=IPROC+1
+  IF ( LVISC ) IPROACTV(1,IPROC) = NVISCRR
+  IPROC=IPROC+1
   IPROACTV(8,IPROC) = NADVRR
   IPROC=IPROC+1
   IF (      HCLOUD == 'KESS' .OR. HCLOUD == 'KHKO' .OR. HCLOUD == 'C2R2'   &
@@ -1902,6 +1916,8 @@ IF (LBU_RRI) THEN
   IF ( HTURB /= 'NONE' .AND. ( HCLOUD == 'ICE3' .OR. HCLOUD == 'ICE4' .OR. HCLOUD == 'LIMA' ) ) &
     IPROACTV(9,IPROC) = NNETURRI
   IPROC=IPROC+1
+  IF ( LVISC ) IPROACTV(1,IPROC) = NVISCRI
+  IPROC=IPROC+1
   IPROACTV(9,IPROC) = NADVRI
   IPROC=IPROC+1
   IF (      HCLOUD == 'KESS' .OR. HCLOUD == 'KHKO' .OR. HCLOUD == 'C2R2'   &
@@ -2128,6 +2144,8 @@ IF (LBU_RRS) THEN
 !   IF (HTURB /= 'NONE' .AND. ( (HCLOUD == 'KHKO') .OR. (HCLOUD == 'C2R2') &
 !        .OR. (HCLOUD == 'ICE3') .OR. (HCLOUD == 'ICE4') .OR. (HCLOUD == 'LIMA') )) &
 !           IPROACTV(10,IPROC) = NNETURRS
+  IPROC=IPROC+1
+  IF ( LVISC ) IPROACTV(1,IPROC) = NVISCRS
   IPROC=  IPROC+1
   IPROACTV(10,IPROC) = NADVRS
   IPROC=IPROC+1
@@ -2316,6 +2334,8 @@ IF (LBU_RRG) THEN
 !   IF (HTURB /= 'NONE' .AND. ( (HCLOUD == 'KHKO') .OR. (HCLOUD == 'C2R2') &
 !        .OR. (HCLOUD == 'ICE3') .OR. (HCLOUD == 'ICE4') .OR. (HCLOUD == 'LIMA') )) &
 !           IPROACTV(11,IPROC) = NNETURRG
+  IPROC=IPROC+1
+  IF ( LVISC ) IPROACTV(1,IPROC) = NVISCRG
   IPROC=IPROC+1
   IPROACTV(11,IPROC) = NADVRG
   IPROC=IPROC+1
@@ -2527,6 +2547,8 @@ IF (LBU_RRH) THEN
 !   IF (HTURB /= 'NONE' .AND. ( (HCLOUD == 'KHKO') .OR. (HCLOUD == 'C2R2') &
 !        .OR. (HCLOUD == 'ICE3') .OR. (HCLOUD == 'ICE4') .OR. (HCLOUD == 'LIMA') )) &
 !           IPROACTV(12,IPROC) = NNETURRH
+  IPROC=IPROC+1
+  IF ( LVISC ) IPROACTV(1,IPROC) = NVISCRH
   IPROC=IPROC+1
   IPROACTV(12,IPROC) = NADVRH
   IPROC=IPROC+1
@@ -2982,6 +3004,9 @@ USE MODD_PARAM_LIMA, ONLY : NMOD_CCN, NMOD_IFN, NMOD_IMM
     YWORK2(12+JSV,ILAST_PROC_NBR)= 'MAFL_'
     IF ( HSCONV == 'EDKF' ) IPROACTV(12+JSV,ILAST_PROC_NBR) = NMAFLSV
     ILAST_PROC_NBR = ILAST_PROC_NBR + 1
+    YWORK2(12+JSV,ILAST_PROC_NBR)= 'VISC_'
+    IPROACTV(12+JSV,ILAST_PROC_NBR) = NVISCSV
+    ILAST_PROC_NBR = ILAST_PROC_NBR + 1
     YWORK2(12+JSV,ILAST_PROC_NBR)= 'ADV_'
     IPROACTV(12+JSV,ILAST_PROC_NBR) = NADVSV
 !   SELECT CASE(JSV)
@@ -3012,6 +3037,9 @@ USE MODD_PARAM_LIMA, ONLY : NMOD_CCN, NMOD_IFN, NMOD_IMM
       YWORK2(12+JSV,ILAST_PROC_NBR)= 'MAFL_'
       IF ( HSCONV == 'EDKF' ) IPROACTV(12+JSV,ILAST_PROC_NBR) = NMAFLSV
       ILAST_PROC_NBR = ILAST_PROC_NBR + 1
+      YWORK2(12+JSV,ILAST_PROC_NBR)= 'VISC_'
+      IPROACTV(12+JSV,ILAST_PROC_NBR) = NVISCSV
+      ILAST_PROC_NBR = ILAST_PROC_NBR + 1
       YWORK2(12+JSV,ILAST_PROC_NBR)= 'ADV_'
       IPROACTV(12+JSV,ILAST_PROC_NBR) = NADVSV
       ILAST_PROC_NBR = ILAST_PROC_NBR + 1
@@ -3039,6 +3067,9 @@ USE MODD_PARAM_LIMA, ONLY : NMOD_CCN, NMOD_IFN, NMOD_IMM
       YWORK2(12+JSV,ILAST_PROC_NBR)= 'MAFL_'
       IF ( HSCONV == 'EDKF' ) IPROACTV(12+JSV,ILAST_PROC_NBR) = NMAFLSV
       ILAST_PROC_NBR = ILAST_PROC_NBR + 1
+      YWORK2(12+JSV,ILAST_PROC_NBR)= 'VISC_'
+      IPROACTV(12+JSV,ILAST_PROC_NBR) = NVISCSV
+      ILAST_PROC_NBR = ILAST_PROC_NBR + 1
       YWORK2(12+JSV,ILAST_PROC_NBR)= 'ADV_'
       IPROACTV(12+JSV,ILAST_PROC_NBR) = NADVSV
       ILAST_PROC_NBR = ILAST_PROC_NBR + 1
@@ -3082,6 +3113,9 @@ USE MODD_PARAM_LIMA, ONLY : NMOD_CCN, NMOD_IFN, NMOD_IMM
       YWORK2(12+JSV,ILAST_PROC_NBR)= 'MAFL_'
       IF ( HSCONV == 'EDKF' ) IPROACTV(12+JSV,ILAST_PROC_NBR) = NMAFLSV
       ILAST_PROC_NBR = ILAST_PROC_NBR + 1
+      YWORK2(12+JSV,ILAST_PROC_NBR)= 'VISC_'
+      IPROACTV(12+JSV,ILAST_PROC_NBR) = NVISCSV
+      ILAST_PROC_NBR = ILAST_PROC_NBR + 1
       YWORK2(12+JSV,ILAST_PROC_NBR)= 'ADV_'
       IPROACTV(12+JSV,ILAST_PROC_NBR) = NADVSV
       ILAST_PROC_NBR = ILAST_PROC_NBR + 1
@@ -3123,6 +3157,9 @@ ELSEIF (JSV >= NSV_LIMA_BEG .AND. JSV <= NSV_LIMA_END) THEN
       YWORK2(12+JSV,ILAST_PROC_NBR)= 'MAFL_'
       IF ( HSCONV == 'EDKF' ) IPROACTV(12+JSV,ILAST_PROC_NBR)= NMAFLSV
       ILAST_PROC_NBR = ILAST_PROC_NBR + 1
+      YWORK2(12+JSV,ILAST_PROC_NBR)= 'VISC_'
+      IPROACTV(12+JSV,ILAST_PROC_NBR) = NVISCSV
+      ILAST_PROC_NBR = ILAST_PROC_NBR + 1
       YWORK2(12+JSV,ILAST_PROC_NBR)= 'ADV_'
       IPROACTV(12+JSV,ILAST_PROC_NBR) = NADVSV
       ILAST_PROC_NBR = ILAST_PROC_NBR + 1
@@ -3237,6 +3274,9 @@ ELSEIF (JSV >= NSV_LIMA_BEG .AND. JSV <= NSV_LIMA_END) THEN
       YWORK2(12+JSV,ILAST_PROC_NBR)= 'MAFL_'
       IF ( HSCONV == 'EDKF' ) IPROACTV(12+JSV,ILAST_PROC_NBR) = NMAFLSV
       ILAST_PROC_NBR = ILAST_PROC_NBR + 1
+      YWORK2(12+JSV,ILAST_PROC_NBR)= 'VISC_'
+      IPROACTV(12+JSV,ILAST_PROC_NBR) = NVISCSV
+      ILAST_PROC_NBR = ILAST_PROC_NBR + 1
       YWORK2(12+JSV,ILAST_PROC_NBR)= 'ADV_'
       IPROACTV(12+JSV,ILAST_PROC_NBR) = NADVSV
       ILAST_PROC_NBR = ILAST_PROC_NBR + 1
@@ -3338,6 +3378,9 @@ ELSEIF (JSV >= NSV_LIMA_BEG .AND. JSV <= NSV_LIMA_END) THEN
       YWORK2(12+JSV,ILAST_PROC_NBR)= 'MAFL_'
       IF ( HSCONV == 'EDKF' ) IPROACTV(12+JSV,ILAST_PROC_NBR) = NMAFLSV
       ILAST_PROC_NBR = ILAST_PROC_NBR + 1
+      YWORK2(12+JSV,ILAST_PROC_NBR)= 'VISC_'
+      IPROACTV(12+JSV,ILAST_PROC_NBR) = NVISCSV
+      ILAST_PROC_NBR = ILAST_PROC_NBR + 1
       YWORK2(12+JSV,ILAST_PROC_NBR)= 'ADV_'
       IPROACTV(12+JSV,ILAST_PROC_NBR) = NADVSV
       ILAST_PROC_NBR = ILAST_PROC_NBR + 1
@@ -3377,6 +3420,9 @@ ELSEIF (JSV >= NSV_LIMA_BEG .AND. JSV <= NSV_LIMA_END) THEN
       YWORK2(12+JSV,ILAST_PROC_NBR)= 'MAFL_'
       IF ( HSCONV == 'EDKF' ) IPROACTV(12+JSV,ILAST_PROC_NBR) = NMAFLSV
       ILAST_PROC_NBR = ILAST_PROC_NBR + 1
+      YWORK2(12+JSV,ILAST_PROC_NBR)= 'VISC_'
+      IPROACTV(12+JSV,ILAST_PROC_NBR) = NVISCSV
+      ILAST_PROC_NBR = ILAST_PROC_NBR + 1
       YWORK2(12+JSV,ILAST_PROC_NBR)= 'ADV_'
       IPROACTV(12+JSV,ILAST_PROC_NBR) = NADVSV
       ILAST_PROC_NBR = ILAST_PROC_NBR + 1
@@ -3397,6 +3443,9 @@ ELSEIF (JSV >= NSV_LIMA_BEG .AND. JSV <= NSV_LIMA_END) THEN
       YWORK2(12+JSV,ILAST_PROC_NBR)= 'MAFL_'
       IF ( HSCONV == 'EDKF' ) IPROACTV(12+JSV,ILAST_PROC_NBR) = NMAFLSV
       ILAST_PROC_NBR = ILAST_PROC_NBR + 1
+      YWORK2(12+JSV,ILAST_PROC_NBR)= 'VISC_'
+      IPROACTV(12+JSV,ILAST_PROC_NBR) = NVISCSV
+      ILAST_PROC_NBR = ILAST_PROC_NBR + 1
       YWORK2(12+JSV,ILAST_PROC_NBR)= 'ADV_'
       IPROACTV(12+JSV,ILAST_PROC_NBR) = NADVSV
       ILAST_PROC_NBR = ILAST_PROC_NBR + 1
@@ -3418,6 +3467,9 @@ ELSEIF (JSV >= NSV_LIMA_BEG .AND. JSV <= NSV_LIMA_END) THEN
       YWORK2(12+JSV,ILAST_PROC_NBR)= 'MAFL_'
       IF ( HSCONV == 'EDKF' ) IPROACTV(12+JSV,ILAST_PROC_NBR) = NMAFLSV
       ILAST_PROC_NBR = ILAST_PROC_NBR + 1
+      YWORK2(12+JSV,ILAST_PROC_NBR)= 'VISC_'
+      IPROACTV(12+JSV,ILAST_PROC_NBR) = NVISCSV
+      ILAST_PROC_NBR = ILAST_PROC_NBR + 1
       YWORK2(12+JSV,ILAST_PROC_NBR)= 'ADV_'
       IPROACTV(12+JSV,ILAST_PROC_NBR) = NADVSV
       ILAST_PROC_NBR = ILAST_PROC_NBR + 1
@@ -3522,6 +3574,9 @@ ELSEIF (JSV >= NSV_LIMA_BEG .AND. JSV <= NSV_LIMA_END) THEN
       YWORK2(12+JSV,ILAST_PROC_NBR)= 'MAFL_'
       IF ( HSCONV == 'EDKF' ) IPROACTV(12+JSV,ILAST_PROC_NBR) = NMAFLSV
       ILAST_PROC_NBR = ILAST_PROC_NBR + 1
+      YWORK2(12+JSV,ILAST_PROC_NBR)= 'VISC_'
+      IPROACTV(12+JSV,ILAST_PROC_NBR) = NVISCSV
+      ILAST_PROC_NBR = ILAST_PROC_NBR + 1
       YWORK2(12+JSV,ILAST_PROC_NBR)= 'ADV_'
       IPROACTV(12+JSV,ILAST_PROC_NBR) = NADVSV
       ILAST_PROC_NBR = ILAST_PROC_NBR + 1
@@ -3556,6 +3611,9 @@ ELSEIF (JSV >= NSV_LIMA_BEG .AND. JSV <= NSV_LIMA_END) THEN
       YWORK2(12+JSV,ILAST_PROC_NBR)= 'MAFL_'
       IF ( HSCONV == 'EDKF' ) IPROACTV(12+JSV,ILAST_PROC_NBR) = NMAFLSV
       ILAST_PROC_NBR = ILAST_PROC_NBR + 1
+      YWORK2(12+JSV,ILAST_PROC_NBR)= 'VISC_'
+      IPROACTV(12+JSV,ILAST_PROC_NBR) = NVISCSV
+      ILAST_PROC_NBR = ILAST_PROC_NBR + 1
       YWORK2(12+JSV,ILAST_PROC_NBR)= 'ADV_'
       IPROACTV(12+JSV,ILAST_PROC_NBR) = NADVSV
       ILAST_PROC_NBR = ILAST_PROC_NBR + 1
@@ -3577,6 +3635,9 @@ ELSEIF (JSV >= NSV_LIMA_BEG .AND. JSV <= NSV_LIMA_END) THEN
       YWORK2(12+JSV,ILAST_PROC_NBR)= 'MAFL_'
       IF ( HSCONV == 'EDKF' ) IPROACTV(12+JSV,ILAST_PROC_NBR) = NMAFLSV
       ILAST_PROC_NBR = ILAST_PROC_NBR + 1
+      YWORK2(12+JSV,ILAST_PROC_NBR)= 'VISC_'
+      IPROACTV(12+JSV,ILAST_PROC_NBR) = NVISCSV
+      ILAST_PROC_NBR = ILAST_PROC_NBR + 1
       YWORK2(12+JSV,ILAST_PROC_NBR)= 'ADV_'
       IPROACTV(12+JSV,ILAST_PROC_NBR) = NADVSV
       ILAST_PROC_NBR = ILAST_PROC_NBR + 1
@@ -3598,6 +3659,9 @@ ELSEIF (JSV >= NSV_LIMA_BEG .AND. JSV <= NSV_LIMA_END) THEN
       YWORK2(12+JSV,ILAST_PROC_NBR)= 'MAFL_'
       IF ( HSCONV == 'EDKF' ) IPROACTV(12+JSV,ILAST_PROC_NBR) = NMAFLSV
       ILAST_PROC_NBR = ILAST_PROC_NBR + 1
+      YWORK2(12+JSV,ILAST_PROC_NBR)= 'VISC_'
+      IPROACTV(12+JSV,ILAST_PROC_NBR) = NVISCSV
+      ILAST_PROC_NBR = ILAST_PROC_NBR + 1
       YWORK2(12+JSV,ILAST_PROC_NBR)= 'ADV_'
       IPROACTV(12+JSV,ILAST_PROC_NBR) = NADVSV
       ILAST_PROC_NBR = ILAST_PROC_NBR + 1
@@ -3624,6 +3688,9 @@ ELSEIF (JSV >= NSV_ELECBEG .AND. JSV <= NSV_ELECEND) THEN
    ILAST_PROC_NBR = ILAST_PROC_NBR + 1
    YWORK2(12+JSV,ILAST_PROC_NBR)= 'MAFL_'
    IF ( HSCONV == 'EDKF' ) IPROACTV(12+JSV,ILAST_PROC_NBR)= NMAFLSV
+      ILAST_PROC_NBR = ILAST_PROC_NBR + 1
+      YWORK2(12+JSV,ILAST_PROC_NBR)= 'VISC_'
+      IPROACTV(12+JSV,ILAST_PROC_NBR) = NVISCSV
    ILAST_PROC_NBR = ILAST_PROC_NBR + 1
    YWORK2(12+JSV,ILAST_PROC_NBR)= 'ADV_'
    IPROACTV(12+JSV,ILAST_PROC_NBR) = NADVSV
@@ -3846,6 +3913,9 @@ ELSE IF (JSV >= NSV_CHEMBEG .AND. JSV <= NSV_CHEMEND) THEN
       YWORK2(12+JSV,ILAST_PROC_NBR)= 'MAFL_'
       IF ( HSCONV == 'EDKF' ) IPROACTV(12+JSV,ILAST_PROC_NBR)= NMAFLSV
       ILAST_PROC_NBR = ILAST_PROC_NBR + 1
+      YWORK2(12+JSV,ILAST_PROC_NBR)= 'VISC_'
+      IPROACTV(12+JSV,ILAST_PROC_NBR) = NVISCSV
+      ILAST_PROC_NBR = ILAST_PROC_NBR + 1
       YWORK2(12+JSV,ILAST_PROC_NBR)= 'ADV_'
       IPROACTV(12+JSV,ILAST_PROC_NBR) = NADVSV
       ILAST_PROC_NBR = ILAST_PROC_NBR + 1
@@ -3860,6 +3930,9 @@ ELSE IF (JSV >= NSV_AERBEG .AND. JSV <= NSV_AEREND) THEN
       YWORK2(12+JSV,ILAST_PROC_NBR)= 'MAFL_'
       IF ( HSCONV == 'EDKF' ) IPROACTV(12+JSV,ILAST_PROC_NBR)= NMAFLSV
       ILAST_PROC_NBR = ILAST_PROC_NBR + 1
+      YWORK2(12+JSV,ILAST_PROC_NBR)= 'VISC_'
+      IPROACTV(12+JSV,ILAST_PROC_NBR) = NVISCSV
+      ILAST_PROC_NBR = ILAST_PROC_NBR + 1
       YWORK2(12+JSV,ILAST_PROC_NBR)= 'ADV_'
       IPROACTV(12+JSV,ILAST_PROC_NBR) = NADVSV
       ILAST_PROC_NBR = ILAST_PROC_NBR + 1
@@ -3872,6 +3945,9 @@ ELSE IF (JSV >= NSV_AERBEG .AND. JSV <= NSV_AEREND) THEN
     YWORK2(12+JSV,ILAST_PROC_NBR)= 'MAFL_'
     IF ( HSCONV == 'EDKF' ) IPROACTV(12+JSV,ILAST_PROC_NBR)= NMAFLSV
     ILAST_PROC_NBR = ILAST_PROC_NBR + 1
+    YWORK2(12+JSV,ILAST_PROC_NBR)= 'VISC_'
+    IPROACTV(12+JSV,ILAST_PROC_NBR) = NVISCSV
+    ILAST_PROC_NBR = ILAST_PROC_NBR + 1
     YWORK2(12+JSV,ILAST_PROC_NBR)= 'ADV_'
     IPROACTV(12+JSV,ILAST_PROC_NBR) = NADVSV
   END IF
diff --git a/src/MNH/modd_budget.f90 b/src/MNH/modd_budget.f90
index 40cb7c46c644a954bea2c4235d0cacfab014f9df..15d0bf3938f7e08bdcaad5669a6bf752c6b5bc68 100644
--- a/src/MNH/modd_budget.f90
+++ b/src/MNH/modd_budget.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1995-2020 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1995-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.
@@ -45,6 +45,7 @@
 !  P. Wautelet 05/2016-04/2018: new data structures and calls for I/O
 !  B. Vié      03/02/2020: LIMA negativity checks after turbulence, advection and microphysics budgets
 !  P. Wautelet 30/06/2020: add NNETURSV, NNEADVSV and NNECONSV variables
+!  P. Wautelet 01/02/2021: add missing source: VISC
 !-------------------------------------------------------------------------------
 !
 !*       0.   DECLARATIONS
@@ -181,7 +182,8 @@ LOGICAL, SAVE :: LBU_RU     ! True when the budget of RU is performed
 !                         
 INTEGER, SAVE :: NASSEU     ! time filter
 INTEGER, SAVE :: NNESTU     ! Efffect of 2way nesting on U
-INTEGER, SAVE :: NADVU      ! advection 
+INTEGER, SAVE :: NVISCU     ! viscosity
+INTEGER, SAVE :: NADVU      ! advection
 INTEGER, SAVE :: NFRCU      ! forcing
 INTEGER, SAVE :: NNUDU      ! nudging
 INTEGER, SAVE :: NCURVU     ! curvature
@@ -202,7 +204,8 @@ LOGICAL, SAVE :: LBU_RV     ! True when the budget of RV is performed
 !
 INTEGER, SAVE :: NASSEV     ! time filter
 INTEGER, SAVE :: NNESTV     ! Efffect of 2way nesting on V
-INTEGER, SAVE :: NADVV      ! advection 
+INTEGER, SAVE :: NVISCV     ! viscosity
+INTEGER, SAVE :: NADVV      ! advection
 INTEGER, SAVE :: NFRCV      ! forcing
 INTEGER, SAVE :: NNUDV      ! nudging
 INTEGER, SAVE :: NCURVV     ! curvature
@@ -223,6 +226,7 @@ LOGICAL, SAVE :: LBU_RW     ! True when the budget of RW is performed
 !                                                  
 INTEGER, SAVE :: NASSEW     ! time filter
 INTEGER, SAVE :: NNESTW     ! Efffect of 2way nesting on W
+INTEGER, SAVE :: NVISCW     ! viscosity
 INTEGER, SAVE :: NADVW      ! advection
 INTEGER, SAVE :: NFRCW      ! forcing
 INTEGER, SAVE :: NNUDW      ! nudging
@@ -243,6 +247,7 @@ LOGICAL, SAVE :: LBU_RTH    ! True when the budget of RTH is performed
 !
 INTEGER, SAVE :: NASSETH    ! time filter
 INTEGER, SAVE :: NNESTTH    ! Efffect of 2way nesting on Th
+INTEGER, SAVE :: NVISCTH    ! viscosity
 INTEGER, SAVE :: NADVTH     ! Total advection for PPM
 INTEGER, SAVE :: NFRCTH     ! forcing
 INTEGER, SAVE :: N2DADVTH   ! 2d advecting forcing
@@ -317,6 +322,7 @@ LOGICAL, SAVE :: LBU_RRV   ! true when the budget of RRV is performed
 !
 INTEGER, SAVE :: NASSERV   ! time filter
 INTEGER, SAVE :: NNESTRV   ! Effect of 2way nesting on Rv
+INTEGER, SAVE :: NVISCRV   ! viscosity
 INTEGER, SAVE :: NADVRV    ! Total advection for PPM
 INTEGER, SAVE :: NFRCRV    ! forcing
 INTEGER, SAVE :: N2DADVRV  ! 2d advecting forcing
@@ -352,6 +358,7 @@ LOGICAL, SAVE :: LBU_RRC    ! True when the budget of RRC is performed
 !
 INTEGER, SAVE :: NASSERC    ! time filter
 INTEGER, SAVE :: NNESTRC    ! Efffect of 2way nesting on Rc
+INTEGER, SAVE :: NVISCRC    ! viscosity
 INTEGER, SAVE :: NADVRC     ! Total advection for PPM
 INTEGER, SAVE :: NFRCRC     ! forcing
 INTEGER, SAVE :: NDIFRC     ! numerical diffusion
@@ -397,6 +404,7 @@ LOGICAL, SAVE :: LBU_RRR    ! True when the budget of RRR is performed
 !
 INTEGER, SAVE :: NASSERR    ! time filter
 INTEGER, SAVE :: NNESTRR    ! Efffect of 2way nesting on Rr
+INTEGER, SAVE :: NVISCRR    ! viscosity
 INTEGER, SAVE :: NADVRR     ! Total advection for PPM
 INTEGER, SAVE :: NFRCRR     ! forcing
 INTEGER, SAVE :: NDIFRR     ! numerical diffusion
@@ -432,6 +440,7 @@ LOGICAL, SAVE :: LBU_RRI    ! True when the budget of RRI is performed
 !
 INTEGER, SAVE :: NASSERI    ! time filter
 INTEGER, SAVE :: NNESTRI    ! Efffect of 2way nesting on Ri
+INTEGER, SAVE :: NVISCRI    ! viscosity
 INTEGER, SAVE :: NADVRI     ! Total advection for PPM
 INTEGER, SAVE :: NFRCRI     ! forcing
 INTEGER, SAVE :: NDIFRI     ! numerical diffusion
@@ -476,6 +485,7 @@ LOGICAL, SAVE :: LBU_RRS    ! True when the budget of RRS is performed
 !
 INTEGER, SAVE :: NASSERS    ! time filter
 INTEGER, SAVE :: NNESTRS    ! Efffect of 2way nesting on Rs
+INTEGER, SAVE :: NVISCRS    ! viscosity
 INTEGER, SAVE :: NADVRS     ! Total advection for PPM
 INTEGER, SAVE :: NFRCRS     ! forcing
 INTEGER, SAVE :: NDIFRS     ! numerical diffusion
@@ -508,6 +518,7 @@ LOGICAL, SAVE :: LBU_RRG    ! True when the budget of RRG is performed
 !
 INTEGER, SAVE :: NASSERG    ! time filter
 INTEGER, SAVE :: NNESTRG    ! Efffect of 2way nesting on Rg
+INTEGER, SAVE :: NVISCRG    ! viscosity
 INTEGER, SAVE :: NADVRG     ! Total advection for PPM
 INTEGER, SAVE :: NFRCRG     ! forcing
 INTEGER, SAVE :: NDIFRG     ! numerical diffusion
@@ -543,6 +554,7 @@ LOGICAL, SAVE :: LBU_RRH    ! True when the budget of RRH is performed
 !
 INTEGER, SAVE :: NASSERH    ! time filter
 INTEGER, SAVE :: NNESTRH    ! Efffect of 2way nesting on Rh
+INTEGER, SAVE :: NVISCRH    ! viscosity
 INTEGER, SAVE :: NADVRH     ! Total advection for PPM
 INTEGER, SAVE :: NFRCRH     ! forcing
 INTEGER, SAVE :: NDIFRH     ! numerical diffusion
@@ -567,6 +579,7 @@ LOGICAL, SAVE :: LBU_RSV    ! True when the budget of RSVx is performed
 !
 INTEGER, SAVE :: NASSESV    ! Asselin-Robert time filter
 INTEGER, SAVE :: NNESTSV    ! Efffect of 2way nesting on Sv
+INTEGER, SAVE :: NVISCSV    ! viscosity
 INTEGER, SAVE :: NADVSV     ! Total advection for PPM
 INTEGER, SAVE :: NFRCSV     ! forcing
 INTEGER, SAVE :: NDIFSV     ! numerical diffusion
diff --git a/src/MNH/modn_budget.f90 b/src/MNH/modn_budget.f90
index 52bc31721e72572a8efae724e3159f561ae41a17..81df8dd20fde37e75f754b257f02b1fb42222ddd 100644
--- a/src/MNH/modn_budget.f90
+++ b/src/MNH/modn_budget.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1995-2020 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1995-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.
@@ -227,6 +227,7 @@
 !!      S. Riette   11/2016 New budgets for ICE3/ICE4
 !  B. Vié      03/02/2020: LIMA negativity checks after turbulence, advection and microphysics budgets
 !  P. Wautelet 30/06/2020: add NNETURSV, NNEADVSV and NNECONSV variables
+!  P. Wautelet 01/02/2021: add missing source: VISC
 !-------------------------------------------------------------------------------
 !
 !*       0.   DECLARATIONS
@@ -239,16 +240,16 @@ IMPLICIT NONE
 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, &
+NAMELIST/NAM_BU_RU/LBU_RU, NASSEU, NNESTU, NVISCU, NADVU, NFRCU, NNUDU, &
                    NCURVU, NCORU, NDIFU, NRELU, NDRAGU, NHTURBU, NVTURBU, NMAFLU, NPRESU  
 !
-NAMELIST/NAM_BU_RV/LBU_RV, NASSEV, NNESTV, NADVV, NFRCV, NNUDV, &
+NAMELIST/NAM_BU_RV/LBU_RV, NASSEV, NNESTV, NVISCV, NADVV, NFRCV, NNUDV, &
                    NCURVV, NCORV, NDIFV, NRELV, NDRAGV, NHTURBV, NVTURBV, NMAFLV, NPRESV  
 
-NAMELIST/NAM_BU_RW/LBU_RW, NASSEW, NNESTW, NADVW, NFRCW, NNUDW, &
+NAMELIST/NAM_BU_RW/LBU_RW, NASSEW, NNESTW, NVISCW, NADVW, NFRCW, NNUDW, &
                    NCURVW, NCORW, NGRAVW, NDIFW, NRELW, NHTURBW, NVTURBW, NPRESW
 !
-NAMELIST/NAM_BU_RTH/LBU_RTH, NASSETH, NNESTTH, NADVTH, NFRCTH, &
+NAMELIST/NAM_BU_RTH/LBU_RTH, NASSETH, NNESTTH, NVISCTH, NADVTH, NFRCTH, &
                    NNUDTH, NPREFTH, NDIFTH, NRELTH, NRADTH, NDCONVTH, NHTURBTH, &
                    NVTURBTH, NDISSHTH, NNEGATH, NREVATH, NCONDTH, NHENUTH, NHONTH, &
                    NSFRTH, NDEPSTH, NDEPGTH,NRIMTH, NACCTH, NCFRZTH, NWETGTH, &
@@ -260,12 +261,12 @@ NAMELIST/NAM_BU_RTKE/LBU_RTKE, NASSETKE, NADVTKE,    &
                      NFRCTKE, NDIFTKE, NRELTKE, NDRAGTKE,                           &
                      NDPTKE, NTPTKE, NDISSTKE, NTRTKE
 !
-NAMELIST/NAM_BU_RRV/LBU_RRV, NASSERV, NNESTRV, NADVRV, NFRCRV, &
+NAMELIST/NAM_BU_RRV/LBU_RRV, NASSERV, NNESTRV, NVISCRV, NADVRV, NFRCRV, &
                     NNUDRV, NDIFRV, NRELRV, NDCONVRV, NHTURBRV, NVTURBRV, NNEGARV, &
                     NREVARV, NCONDRV, NHENURV, NDEPSRV, NDEPGRV, NCDEPIRV, NMAFLRV, &
                     NNETURRV, NNEADVRV,NNECONRV, NADJURV, NCORRRV, NHINDRV, NHONHRV, NCEDSRV
 ! 
-NAMELIST/NAM_BU_RRC/LBU_RRC, NASSERC, NNESTRC, NADVRC, NFRCRC, &
+NAMELIST/NAM_BU_RRC/LBU_RRC, NASSERC, NNESTRC, NVISCRC, NADVRC, NFRCRC, &
                     NDIFRC, NRELRC, NDCONVRC, NHTURBRC, NVTURBRC, NNEGARC, NACCRRC, &
                     NAUTORC, NCONDRC, NHONRC, NRIMRC, NWETGRC, NDRYGRC, NIMLTRC,   &
                     NBERFIRC, NCDEPIRC, NHENURC, NSEDIRC, NWETHRC, NNETURRC, &
@@ -273,13 +274,13 @@ NAMELIST/NAM_BU_RRC/LBU_RRC, NASSERC, NNESTRC, NADVRC, NFRCRC, &
                     NHINCRC, NHONCRC, NCEDSRC, NREVARC, NDEPORC,NDEPOTRRC, &
                     NCORRRC, NR2C1RC, NCVRCRC
 ! 
-NAMELIST/NAM_BU_RRR/LBU_RRR, NASSERR, NNESTRR, NADVRR, NFRCRR, &
+NAMELIST/NAM_BU_RRR/LBU_RRR, NASSERR, NNESTRR, NVISCRR, NADVRR, NFRCRR, &
                     NDIFRR, NRELRR, NNEGARR, NACCRRR, NAUTORR, NREVARR, NSEDIRR,    &
                     NSFRRR, NACCRR, NCFRZRR, NWETGRR, NDRYGRR, NGMLTRR, NWETHRR,    &
                     NHMLTRR, NDRYHRR, NCORRRR, NCMELRR,NHONRRR, NCORRRR, NR2C1RR, NCVRCRR, &
                     NNETURRR, NNEADVRR, NNECONRR
 ! 
-NAMELIST/NAM_BU_RRI/LBU_RRI, NASSERI, NNESTRI, NADVRI, NFRCRI, &
+NAMELIST/NAM_BU_RRI/LBU_RRI, NASSERI, NNESTRI, NVISCRI, NADVRI, NFRCRI, &
                     NDIFRI, NRELRI, NDCONVRI, NHTURBRI, NVTURBRI, NNEGARI, NSEDIRI, &
                     NHENURI, NHONRI, NAGGSRI, NAUTSRI, NCFRZRI, NWETGRI, NDRYGRI,   &
                     NIMLTRI, NBERFIRI, NCDEPIRI, NWETHRI, NDRYHRI, NADJURI, NCORRRI, &
@@ -287,24 +288,24 @@ NAMELIST/NAM_BU_RRI/LBU_RRI, NASSERI, NNESTRI, NADVRI, NFRCRI, &
                     NHMSRI, NHMGRI, NCEDSRI, NCORRRI, &
                     NNETURRI, NNEADVRI, NNECONRI
 ! 
-NAMELIST/NAM_BU_RRS/LBU_RRS, NASSERS, NNESTRS, NADVRS, NFRCRS, &
+NAMELIST/NAM_BU_RRS/LBU_RRS, NASSERS, NNESTRS, NVISCRS, NADVRS, NFRCRS, &
                     NDIFRS, NRELRS, NNEGARS, NSEDIRS, NDEPSRS, NAGGSRS, NAUTSRS,    &
                     NRIMRS, NACCRS, NCMELRS, NWETGRS, NDRYGRS, NWETHRS, NDRYHRS,    &
                     NCORRRS, NCNVIRS, NCNVSRS, NHMSRS, NCORRRS, &
                     NNETURRS, NNEADVRS, NNECONRS
 ! 
-NAMELIST/NAM_BU_RRG/LBU_RRG, NASSERG, NNESTRG, NADVRG, NFRCRG, &
+NAMELIST/NAM_BU_RRG/LBU_RRG, NASSERG, NNESTRG, NVISCRG, NADVRG, NFRCRG, &
                     NDIFRG, NRELRG, NNEGARG, NSEDIRG, NSFRRG, NDEPGRG, NRIMRG, NACCRG,    &
                     NCMELRG, NCFRZRG, NWETGRG, NDRYGRG, NGMLTRG, NWETHRG, &
                     NDRYHRG, NCORRRG, NHGCVRG, NGHCVRG,NHONRRG, NHMGRG, NCOHGRG, &
                     NNETURRG, NNEADVRG, NNECONRG 
 ! 
-NAMELIST/NAM_BU_RRH/LBU_RRH, NASSERH, NNESTRH, NADVRH, NFRCRH, &
+NAMELIST/NAM_BU_RRH/LBU_RRH, NASSERH, NNESTRH, NVISCRH, NADVRH, NFRCRH, &
                     NDIFRH, NRELRH, NNEGARH, NSEDIRH, NWETGRH, NWETHRH, NDRYHRH, NHMLTRH, &
                     NCORRRH, NHGCVRH, NGHCVRH, NCOHGRH, NHMLTRH, &
                     NNETURRH, NNEADVRH, NNECONRH
 ! 
-NAMELIST/NAM_BU_RSV/ LBU_RSV, NASSESV, NNESTSV, NADVSV, NFRCSV, &
+NAMELIST/NAM_BU_RSV/ LBU_RSV, NASSESV, NNESTSV, NVISCSV, NADVSV, NFRCSV, &
                      NDIFSV, NRELSV, NDCONVSV, NVTURBSV, NHTURBSV, NCHEMSV, NMAFLSV,       &
                      NNEGASV, NNETURSV, NNEADVSV, NNECONSV,                                &
                      NDEPSQV, NDEPGQV, NREVAQV, NCDEPIQV, NNEUTQV,                         &