From 1dc9f84bcad0431b01a0b0bddb3a953186b76b9d Mon Sep 17 00:00:00 2001
From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr>
Date: Thu, 6 Jun 2024 10:47:48 +0200
Subject: [PATCH] Philippe 06/06/2024: TINIFILEPGD was not set correctly in
 case after a spawning

---
 src/MNH/ini_modeln.f90 | 10 +++++-----
 src/MNH/modeln.f90     |  2 +-
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/MNH/ini_modeln.f90 b/src/MNH/ini_modeln.f90
index 73260de51..82dedf9c5 100644
--- a/src/MNH/ini_modeln.f90
+++ b/src/MNH/ini_modeln.f90
@@ -13,8 +13,8 @@ INTERFACE
 !
 USE MODD_IO, ONLY: TFILEDATA
 !
-INTEGER,          INTENT(IN)   :: KMI       ! Model Index
-TYPE(TFILEDATA),  INTENT(IN)   :: TPINIFILE ! Initial file
+INTEGER,                  INTENT(IN)   :: KMI       ! Model Index
+TYPE(TFILEDATA), POINTER, INTENT(IN)   :: TPINIFILE ! Initial file
 !
 END SUBROUTINE INI_MODEL_n
 !
@@ -494,8 +494,8 @@ IMPLICIT NONE
 !*       0.1   declarations of arguments
 !
 !
-INTEGER,          INTENT(IN)   :: KMI       ! Model Index
-TYPE(TFILEDATA),  INTENT(IN)   :: TPINIFILE ! Initial file
+INTEGER,                  INTENT(IN)   :: KMI       ! Model Index
+TYPE(TFILEDATA), POINTER, INTENT(IN)   :: TPINIFILE ! Initial file
 !
 !*       0.2   declarations of local variables
 !
@@ -2649,7 +2649,7 @@ IF (CSURF=='EXTE' .AND. (CPROGRAM=='MESONH' .OR. CPROGRAM=='DIAG  ')) THEN
     ENDIF
   ELSE
   ! case after a spawning
-    CINIFILEPGD = TPINIFILE%CNAME
+    TINIFILEPGD => TPINIFILE
   END IF
   !
   CALL GOTO_SURFEX(KMI)
diff --git a/src/MNH/modeln.f90 b/src/MNH/modeln.f90
index 4286492f0..51df4aaed 100644
--- a/src/MNH/modeln.f90
+++ b/src/MNH/modeln.f90
@@ -2356,7 +2356,7 @@ IF (OEXIT) THEN
   END IF
   !
   CALL IO_File_close(TINIFILE)
-  IF (CSURF=="EXTE") CALL IO_File_close(TINIFILEPGD)
+  IF ( CSURF == "EXTE" .AND. .NOT.ASSOCIATED( TINIFILE, TINIFILEPGD ) ) CALL IO_File_close( TINIFILEPGD )
 !
 !*       28.1   print statistics!
 !
-- 
GitLab