From 46766d3d35a54e33fe2315f2efba3e88799879dd Mon Sep 17 00:00:00 2001
From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr>
Date: Fri, 3 Jun 2022 15:04:39 +0200
Subject: [PATCH] Philippe 03/06/2022: flyers: small improvements

---
 src/MNH/ini_aircraft_balloon.f90   |  4 ---
 src/MNH/modd_aircraft_balloon.f90  |  2 +-
 src/MNH/write_aircraft_balloon.f90 | 41 +++++++-----------------------
 3 files changed, 10 insertions(+), 37 deletions(-)

diff --git a/src/MNH/ini_aircraft_balloon.f90 b/src/MNH/ini_aircraft_balloon.f90
index 1352e6577..64135ed5c 100644
--- a/src/MNH/ini_aircraft_balloon.f90
+++ b/src/MNH/ini_aircraft_balloon.f90
@@ -152,10 +152,6 @@ IF ( CPROGRAM == 'DIAG  ') THEN
 ENDIF
 !
 !
-IF ( IMI == 1 ) THEN
-  LFLYER=.FALSE.
-END IF
-!
 !----------------------------------------------------------------------------
 !
 !*      2.   Balloon initialization
diff --git a/src/MNH/modd_aircraft_balloon.f90 b/src/MNH/modd_aircraft_balloon.f90
index 7e3c2f6b4..a0e6e5070 100644
--- a/src/MNH/modd_aircraft_balloon.f90
+++ b/src/MNH/modd_aircraft_balloon.f90
@@ -51,7 +51,7 @@ save
 
 !-------------------------------------------------------------------------------------------
 !
-LOGICAL :: LFLYER    ! flag to use aircraft/balloons
+LOGICAL :: LFLYER = .FALSE. ! flag to use aircraft/balloons
 !
 TYPE :: TFLYERDATA
   !
diff --git a/src/MNH/write_aircraft_balloon.f90 b/src/MNH/write_aircraft_balloon.f90
index d1e239263..8c2132bf7 100644
--- a/src/MNH/write_aircraft_balloon.f90
+++ b/src/MNH/write_aircraft_balloon.f90
@@ -65,7 +65,6 @@ END MODULE MODI_WRITE_AIRCRAFT_BALLOON
 !  P. Wautelet: 05/2016-04/2018: new data structures and calls for I/O
 !  P. Wautelet 29/01/2019: bug: moved an instruction later (to prevent access to a not allocated array)
 !  P. Wautelet 13/09/2019: budget: simplify and modernize date/time management
-!  P. Wautelet 02/10/2020: bugfix: YGROUP/YGROUPZ were too small
 !  P. Wautelet 09/10/2020: bugfix: correction on IPROCZ when not LIMA (condition was wrong)
 !  P. Wautelet 09/10/2020: Write_diachro: use new datatype tpfields
 !  P. Wautelet 03/03/2021: budgets: add tbudiachrometadata type (useful to pass more information to Write_diachro)
@@ -141,23 +140,17 @@ CLASS(TFLYERDATA), INTENT(IN)       :: TPFLYER
 !*      0.2  declaration of local variables for diachro
 !
 REAL, DIMENSION(:,:,:,:,:,:), ALLOCATABLE :: ZWORK6 ! contains temporal serie
-REAL, DIMENSION(:,:,:,:,:,:), ALLOCATABLE :: ZW6    ! contains temporal serie to write
 REAL, DIMENSION(:,:,:,:,:,:), ALLOCATABLE :: ZWORKZ6! contains temporal serie
-REAL, DIMENSION(:,:,:,:,:,:), ALLOCATABLE :: ZWZ6   ! contains temporal serie
 REAL, DIMENSION(:,:,:,:),     ALLOCATABLE :: ZSV, ZN0, ZSIG, ZRG
 REAL, DIMENSION(:,:,:,:,:),   ALLOCATABLE :: ZPTOTA
 REAL, DIMENSION(:,:,:),       ALLOCATABLE :: ZRHO
 !
-INTEGER, DIMENSION(:),            ALLOCATABLE :: IGRID    ! grid indicator
-CHARACTER(LEN=:), ALLOCATABLE                 :: YGROUP   ! group title
 CHARACTER(LEN=100), DIMENSION(:), ALLOCATABLE :: YCOMMENT ! comment string
 CHARACTER(LEN=100), DIMENSION(:), ALLOCATABLE :: YTITLE   ! title
 CHARACTER(LEN=100), DIMENSION(:), ALLOCATABLE :: YUNIT    ! physical unit
 !
 INTEGER :: IPROC    ! number of variables records
 INTEGER :: JPROC    ! loop counter
-INTEGER, DIMENSION(:),            ALLOCATABLE :: IGRIDZ   ! grid indicator
-CHARACTER(LEN=:), ALLOCATABLE                 :: YGROUPZ  ! group title
 CHARACTER(LEN=100), DIMENSION(:), ALLOCATABLE :: YCOMMENTZ! comment string
 CHARACTER(LEN=100), DIMENSION(:), ALLOCATABLE :: YTITLEZ  ! title
 CHARACTER(LEN=100), DIMENSION(:), ALLOCATABLE :: YUNITZ   ! physical unit
@@ -201,17 +194,10 @@ ALLOCATE (ZWORK6(1,1,1,ISTORE,1,IPROC))
 ALLOCATE (YCOMMENT(IPROC))
 ALLOCATE (YTITLE  (IPROC))
 ALLOCATE (YUNIT   (IPROC))
-ALLOCATE (IGRID   (IPROC))
 ALLOCATE (ZWORKZ6(1,1,IKU,ISTORE,1,IPROCZ))
 ALLOCATE (YCOMMENTZ(IPROCZ))
 ALLOCATE (YTITLEZ (IPROCZ))
 ALLOCATE (YUNITZ  (IPROCZ))
-ALLOCATE (IGRIDZ  (IPROCZ))
-!
-IGRID  = 1
-YGROUP = TPFLYER%CTITLE
-IGRIDZ = 1
-YGROUPZ = TPFLYER%CTITLE
 !
 !----------------------------------------------------------------------------
 JPROC = 0
@@ -706,14 +692,7 @@ DO IK=1, IKU
   ZWORKZ6 (1,1,IK,:,1,JPROCZ) = TPFLYER%XZZ(:,IK)
 END DO
 !----------------------------------------------------------------------------
-!
-ALLOCATE (ZW6(1,1,1,ISTORE,1,JPROC))
-ZW6  = ZWORK6(:,:,:,:,:,:JPROC)
-DEALLOCATE(ZWORK6)
-ALLOCATE (ZWZ6(1,1,IKU,ISTORE,1,JPROCZ))
-ZWZ6 = ZWORKZ6(:,:,:,:,:,:JPROCZ)
-DEALLOCATE(ZWORKZ6)
-!
+
 allocate( tzfields( jproc ) )
 
 tzfields(:)%cmnhname  = ytitle(1 : jproc)
@@ -740,7 +719,7 @@ call Aircraft_balloon_longtype_get( tpflyer, tzbudiachro%clevels(NLVL_SUBCATEGOR
 tzbudiachro%ccomments(NLVL_SUBCATEGORY) = 'Level for the flyers of type: ' // Trim( tzbudiachro%clevels(NLVL_SUBCATEGORY) )
 
 tzbudiachro%lleveluse(NLVL_GROUP)       = .true.
-tzbudiachro%clevels  (NLVL_GROUP)       = Trim( ygroup )
+tzbudiachro%clevels  (NLVL_GROUP)       = Trim( tpflyer%ctitle )
 tzbudiachro%ccomments(NLVL_GROUP)       = 'Values for flyer ' // Trim( tpflyer%ctitle )
 
 tzbudiachro%lleveluse(NLVL_SHAPE)       = .true.
@@ -776,8 +755,8 @@ tzbudiachro%lnorm      = .false.
 ! tzbudiachro%nkl        = NOT SET (default values)
 ! tzbudiachro%nkh        = NOT SET (default values)
 
-call Write_diachro( tpdiafile, tzbudiachro, tzfields, tpflyer%tflyer_time%tpdates, zw6, &
-                    tpflyer = tpflyer                                                   )
+call Write_diachro( tpdiafile, tzbudiachro, tzfields, tpflyer%tflyer_time%tpdates, zwork6(:,:,:,:,:,:jproc), &
+                    tpflyer = tpflyer                                                                        )
 
 deallocate( tzfields )
 
@@ -807,7 +786,7 @@ call Aircraft_balloon_longtype_get( tpflyer, tzbudiachro%clevels(NLVL_SUBCATEGOR
 tzbudiachro%ccomments(NLVL_SUBCATEGORY) = 'Level for the flyers of type: ' // Trim( tzbudiachro%clevels(NLVL_SUBCATEGORY) )
 
 tzbudiachro%lleveluse(NLVL_GROUP)       = .true.
-tzbudiachro%clevels  (NLVL_GROUP)       = Trim( ygroupz )
+tzbudiachro%clevels  (NLVL_GROUP)       = Trim( tpflyer%ctitle )
 tzbudiachro%ccomments(NLVL_GROUP)       = 'Values for flyer ' // Trim( tpflyer%ctitle )
 
 tzbudiachro%lleveluse(NLVL_SHAPE)       = .true.
@@ -848,21 +827,19 @@ tzbudiachro%njh        = 1
 tzbudiachro%nkl        = 1
 tzbudiachro%nkh        = iku
 
-call Write_diachro( tpdiafile, tzbudiachro, tzfields, tpflyer%tflyer_time%tpdates, zwz6, &
-                    tpflyer = tpflyer                                                    )
+call Write_diachro( tpdiafile, tzbudiachro, tzfields, tpflyer%tflyer_time%tpdates, zworkz6(:,:,:,:,:,:jprocz), &
+                    tpflyer = tpflyer                                                                          )
 
 deallocate( tzfields )
 
-DEALLOCATE (ZW6)
+DEALLOCATE (ZWORK6)
 DEALLOCATE (YCOMMENT)
 DEALLOCATE (YTITLE  )
 DEALLOCATE (YUNIT   )
-DEALLOCATE (IGRID   )
-DEALLOCATE (ZWZ6)
+DEALLOCATE (ZWORKZ6)
 DEALLOCATE (YCOMMENTZ)
 DEALLOCATE (YTITLEZ )
 DEALLOCATE (YUNITZ  )
-DEALLOCATE (IGRIDZ  )
 !----------------------------------------------------------------------------
 END SUBROUTINE FLYER_DIACHRO
 !----------------------------------------------------------------------------
-- 
GitLab