From 5b8b53cfd67598698985bdca88aa52ec2fe0f154 Mon Sep 17 00:00:00 2001
From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr>
Date: Thu, 15 Apr 2021 14:11:10 +0200
Subject: [PATCH] Philippe 15/04/2021: bugfix: allocate CBULIST_R* to zero size
 in write_desfmn if not allocated

(cherry picked from commit 842b8cb9d957576117e086ab198714ea51aa1ce0)
---
 src/MNH/write_desfmn.f90 | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/src/MNH/write_desfmn.f90 b/src/MNH/write_desfmn.f90
index fc96071c8..f91e26529 100644
--- a/src/MNH/write_desfmn.f90
+++ b/src/MNH/write_desfmn.f90
@@ -506,42 +506,55 @@ IF (NVERB >= 5) THEN
     WRITE(UNIT=ILUOUT,FMT="('************ BUDGET ***************************')")
     WRITE(UNIT=ILUOUT,NML=NAM_BUDGET)
 !    
+    IF ( .NOT. ALLOCATED( CBULIST_RU ) ) ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RU(0) )
     WRITE(UNIT=ILUOUT,FMT="('************ U BUDGET *************************')")
     WRITE(UNIT=ILUOUT,NML=NAM_BU_RU)
-!    
+!
+    IF ( .NOT. ALLOCATED( CBULIST_RV ) ) ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RV(0) )
     WRITE(UNIT=ILUOUT,FMT="('************ V BUDGET *************************')")
     WRITE(UNIT=ILUOUT,NML=NAM_BU_RV)
 !    
+    IF ( .NOT. ALLOCATED( CBULIST_RW ) ) ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RW(0) )
     WRITE(UNIT=ILUOUT,FMT="('************ W BUDGET *************************')")
     WRITE(UNIT=ILUOUT,NML=NAM_BU_RW)
 !    
+    IF ( .NOT. ALLOCATED( CBULIST_RTH ) ) ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RTH(0) )
     WRITE(UNIT=ILUOUT,FMT="('************ TH BUDGET ************************')")
     WRITE(UNIT=ILUOUT,NML=NAM_BU_RTH)
 !    
+    IF ( .NOT. ALLOCATED( CBULIST_RTKE ) ) ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RTKE(0) )
     WRITE(UNIT=ILUOUT,FMT="('************ TKE BUDGET ***********************')")
     WRITE(UNIT=ILUOUT,NML=NAM_BU_RTKE)
 !    
+    IF ( .NOT. ALLOCATED( CBULIST_RRV ) ) ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RRV(0) )
     WRITE(UNIT=ILUOUT,FMT="('************ RV BUDGET ************************')")
     WRITE(UNIT=ILUOUT,NML=NAM_BU_RRV)
 !    
+    IF ( .NOT. ALLOCATED( CBULIST_RRC ) ) ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RRC(0) )
     WRITE(UNIT=ILUOUT,FMT="('************ RC BUDGET ************************')")
     WRITE(UNIT=ILUOUT,NML=NAM_BU_RRC)
 !    
+    IF ( .NOT. ALLOCATED( CBULIST_RRR ) ) ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RRR(0) )
     WRITE(UNIT=ILUOUT,FMT="('************ RR BUDGET ************************')")
     WRITE(UNIT=ILUOUT,NML=NAM_BU_RRR)
 !    
+    IF ( .NOT. ALLOCATED( CBULIST_RRI ) ) ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RRI(0) )
     WRITE(UNIT=ILUOUT,FMT="('************ RI BUDGET ************************')")
     WRITE(UNIT=ILUOUT,NML=NAM_BU_RRI)
 !    
+    IF ( .NOT. ALLOCATED( CBULIST_RRS ) ) ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RRS(0) )
     WRITE(UNIT=ILUOUT,FMT="('************ RS BUDGET ************************')")
     WRITE(UNIT=ILUOUT,NML=NAM_BU_RRS)
 !    
+    IF ( .NOT. ALLOCATED( CBULIST_RRG ) ) ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RRG(0) )
     WRITE(UNIT=ILUOUT,FMT="('************ RG BUDGET ************************')")
     WRITE(UNIT=ILUOUT,NML=NAM_BU_RRG)
 !    
+    IF ( .NOT. ALLOCATED( CBULIST_RRH ) ) ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RRH(0) )
     WRITE(UNIT=ILUOUT,FMT="('************ RH BUDGET ************************')")
     WRITE(UNIT=ILUOUT,NML=NAM_BU_RRH)
 !
+    IF ( .NOT. ALLOCATED( CBULIST_RSV ) ) ALLOCATE( CHARACTER(LEN=NBULISTMAXLEN) :: CBULIST_RSV(0) )
     WRITE(UNIT=ILUOUT,FMT="('************ SVx BUDGET ***********************')")
     WRITE(UNIT=ILUOUT,NML=NAM_BU_RSV)
 !    
-- 
GitLab