From 46d2f5a43f149d2d27111642e2a49042eba41ea7 Mon Sep 17 00:00:00 2001
From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr>
Date: Thu, 15 Apr 2021 08:58:14 +0200
Subject: [PATCH] Philippe 15/04/2021: allocate budget lists to zero size when
 not needed + comment unused module

---
 src/MNH/read_exsegn.f90 | 28 +++++++++++++++++++++++++++-
 1 file changed, 27 insertions(+), 1 deletion(-)

diff --git a/src/MNH/read_exsegn.f90 b/src/MNH/read_exsegn.f90
index b8a424d6b..cd9d6ea12 100644
--- a/src/MNH/read_exsegn.f90
+++ b/src/MNH/read_exsegn.f90
@@ -310,7 +310,7 @@ USE MODD_CONDSAMP
 USE MODD_CONF
 USE MODD_CONF_n,  ONLY: CSTORAGE_TYPE
 USE MODD_CONFZ
-USE MODD_DRAG_n
+! USE MODD_DRAG_n
 USE MODD_DUST
 USE MODD_DYN
 USE MODD_DYN_n, ONLY : LHORELAX_SVLIMA
@@ -605,6 +605,8 @@ IF (KMI == 1) THEN
     ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RU(NBULISTMAXLINES) )
     CBULIST_RU(:) = ''
     READ(UNIT=ILUSEG,NML=NAM_BU_RU)
+  ELSE
+    ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RU(0) )
   END IF
 
   CALL POSNAM(ILUSEG,'NAM_BU_RV',GFOUND,ILUOUT)
@@ -616,6 +618,8 @@ IF (KMI == 1) THEN
     ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RV(NBULISTMAXLINES) )
     CBULIST_RV(:) = ''
     READ(UNIT=ILUSEG,NML=NAM_BU_RV)
+  ELSE
+    ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RV(0) )
   END IF
 
   CALL POSNAM(ILUSEG,'NAM_BU_RW',GFOUND,ILUOUT)
@@ -627,6 +631,8 @@ IF (KMI == 1) THEN
     ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RW(NBULISTMAXLINES) )
     CBULIST_RW(:) = ''
     READ(UNIT=ILUSEG,NML=NAM_BU_RW)
+  ELSE
+    ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RW(0) )
   END IF
 
   CALL POSNAM(ILUSEG,'NAM_BU_RTH',GFOUND,ILUOUT)
@@ -638,6 +644,8 @@ IF (KMI == 1) THEN
     ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RTH(NBULISTMAXLINES) )
     CBULIST_RTH(:) = ''
     READ(UNIT=ILUSEG,NML=NAM_BU_RTH)
+  ELSE
+    ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RTH(0) )
   END IF
 
   CALL POSNAM(ILUSEG,'NAM_BU_RTKE',GFOUND,ILUOUT)
@@ -649,6 +657,8 @@ IF (KMI == 1) THEN
     ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RTKE(NBULISTMAXLINES) )
     CBULIST_RTKE(:) = ''
     READ(UNIT=ILUSEG,NML=NAM_BU_RTKE)
+  ELSE
+    ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RTKE(0) )
   END IF
 
   CALL POSNAM(ILUSEG,'NAM_BU_RRV',GFOUND,ILUOUT)
@@ -660,6 +670,8 @@ IF (KMI == 1) THEN
     ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RRV(NBULISTMAXLINES) )
     CBULIST_RRV(:) = ''
     READ(UNIT=ILUSEG,NML=NAM_BU_RRV)
+  ELSE
+    ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RRV(0) )
   END IF
 
   CALL POSNAM(ILUSEG,'NAM_BU_RRC',GFOUND,ILUOUT)
@@ -671,6 +683,8 @@ IF (KMI == 1) THEN
     ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RRC(NBULISTMAXLINES) )
     CBULIST_RRC(:) = ''
     READ(UNIT=ILUSEG,NML=NAM_BU_RRC)
+  ELSE
+    ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RRC(0) )
   END IF
 
   CALL POSNAM(ILUSEG,'NAM_BU_RRR',GFOUND,ILUOUT)
@@ -682,6 +696,8 @@ IF (KMI == 1) THEN
     ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RRR(NBULISTMAXLINES) )
     CBULIST_RRR(:) = ''
     READ(UNIT=ILUSEG,NML=NAM_BU_RRR)
+  ELSE
+    ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RRR(0) )
   END IF
 
   CALL POSNAM(ILUSEG,'NAM_BU_RRI',GFOUND,ILUOUT)
@@ -693,6 +709,8 @@ IF (KMI == 1) THEN
     ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RRI(NBULISTMAXLINES) )
     CBULIST_RRI(:) = ''
     READ(UNIT=ILUSEG,NML=NAM_BU_RRI)
+  ELSE
+    ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RRI(0) )
   END IF
 
   CALL POSNAM(ILUSEG,'NAM_BU_RRS',GFOUND,ILUOUT)
@@ -704,6 +722,8 @@ IF (KMI == 1) THEN
     ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RRS(NBULISTMAXLINES) )
     CBULIST_RRS(:) = ''
     READ(UNIT=ILUSEG,NML=NAM_BU_RRS)
+  ELSE
+    ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RRS(0) )
   END IF
 
   CALL POSNAM(ILUSEG,'NAM_BU_RRG',GFOUND,ILUOUT)
@@ -715,6 +735,8 @@ IF (KMI == 1) THEN
     ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RRG(NBULISTMAXLINES) )
     CBULIST_RRG(:) = ''
     READ(UNIT=ILUSEG,NML=NAM_BU_RRG)
+  ELSE
+    ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RRG(0) )
   END IF
 
   CALL POSNAM(ILUSEG,'NAM_BU_RRH',GFOUND,ILUOUT)
@@ -726,6 +748,8 @@ IF (KMI == 1) THEN
     ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RRH(NBULISTMAXLINES) )
     CBULIST_RRH(:) = ''
     READ(UNIT=ILUSEG,NML=NAM_BU_RRH)
+  ELSE
+    ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RRH(0) )
   END IF
 
   CALL POSNAM(ILUSEG,'NAM_BU_RSV',GFOUND,ILUOUT)
@@ -737,6 +761,8 @@ IF (KMI == 1) THEN
     ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RSV(NBULISTMAXLINES) )
     CBULIST_RSV(:) = ''
     READ(UNIT=ILUSEG,NML=NAM_BU_RSV)
+  ELSE
+    ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RSV(0) )
   END IF
 
   CALL POSNAM(ILUSEG,'NAM_LES',GFOUND,ILUOUT)
-- 
GitLab