From 9e835a3e815e34dabe989994ed01e1c972d13c12 Mon Sep 17 00:00:00 2001
From: Quentin Rodier <quentin.rodier@meteo.fr>
Date: Mon, 16 May 2022 18:14:51 +0200
Subject: [PATCH] Quentin 16/05/2022: PSEA allocation not done with
 aircraft_balloon with CSURF=EXTE

---
 src/MNH/aircraft_balloon.f90      |  2 +-
 src/MNH/aircraft_balloon_evol.f90 |  2 +-
 src/MNH/modeln.f90                | 17 ++++++++++++++---
 3 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/src/MNH/aircraft_balloon.f90 b/src/MNH/aircraft_balloon.f90
index 153d76fe6..ef6648cd6 100644
--- a/src/MNH/aircraft_balloon.f90
+++ b/src/MNH/aircraft_balloon.f90
@@ -34,7 +34,7 @@ REAL, DIMENSION(:,:),     INTENT(IN)     :: PTS    ! surface temperature
 ! ++ OC
 REAL, DIMENSION(:,:,:),   INTENT(IN)     :: PRHODREF ! dry air density of the reference state
 REAL, DIMENSION(:,:,:),   INTENT(IN)     :: PCIT     ! pristine ice concentration
-REAL, DIMENSION(:,:),INTENT(IN) :: PSEA
+REAL, DIMENSION(:,:),OPTIONAL,INTENT(IN) :: PSEA
 ! -- OC
 !
 !-------------------------------------------------------------------------------
diff --git a/src/MNH/aircraft_balloon_evol.f90 b/src/MNH/aircraft_balloon_evol.f90
index 9642bcc4e..930b6e37e 100644
--- a/src/MNH/aircraft_balloon_evol.f90
+++ b/src/MNH/aircraft_balloon_evol.f90
@@ -37,7 +37,7 @@ REAL, DIMENSION(:,:,:),   INTENT(IN)     :: PRHODREF ! dry air density of the re
 REAL, DIMENSION(:,:,:),   INTENT(IN)     :: PCIT     ! pristine ice concentration
 !
 TYPE(FLYER),              INTENT(INOUT)  :: TPFLYER! balloon/aircraft
-REAL, DIMENSION(:,:),     INTENT(IN)     :: PSEA
+REAL, DIMENSION(:,:),OPTIONAL,INTENT(IN)     :: PSEA
 !
 !-------------------------------------------------------------------------------
 !
diff --git a/src/MNH/modeln.f90 b/src/MNH/modeln.f90
index cd4f41917..9fd9da5c0 100644
--- a/src/MNH/modeln.f90
+++ b/src/MNH/modeln.f90
@@ -2106,12 +2106,23 @@ XT_STEP_SWA = XT_STEP_SWA + ZTIME2 - ZTIME1 - XTIME_BU_PROCESS
 !
 ZTIME1 = ZTIME2
 !
-IF (LFLYER)                                                                   &
-  CALL AIRCRAFT_BALLOON(XTSTEP,                                               &
+IF (LFLYER) THEN
+  IF (CSURF=='EXTE') THEN
+    ALLOCATE(ZSEA(IIU,IJU))
+    ZSEA(:,:) = 0.
+    CALL MNHGET_SURF_PARAM_n (PSEA=ZSEA(:,:))
+    CALL AIRCRAFT_BALLOON(XTSTEP,                                             &
                       XXHAT, XYHAT, XZZ, XMAP, XLONORI, XLATORI,              &
                       XUT, XVT, XWT, XPABST, XTHT, XRT, XSVT, XTKET, XTSRAD,  &
                       XRHODREF,XCIT,PSEA=ZSEA(:,:))
-
+    DEALLOCATE(ZSEA)
+  ELSE
+    CALL AIRCRAFT_BALLOON(XTSTEP,                                             &
+                      XXHAT, XYHAT, XZZ, XMAP, XLONORI, XLATORI,              &
+                      XUT, XVT, XWT, XPABST, XTHT, XRT, XSVT, XTKET, XTSRAD,  &
+                      XRHODREF,XCIT)
+  END IF
+END IF
 
 !-------------------------------------------------------------------------------
 !
-- 
GitLab