From 848dc7c9c10e8bdefb0892a5e8cec6857d626add Mon Sep 17 00:00:00 2001
From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr>
Date: Thu, 28 Mar 2024 11:47:10 +0100
Subject: [PATCH] Philippe 28/03/2024: move IO_Bakout_struct_prepare from
 SET_GRID to the end of INI_MODEL_n

---
 src/MNH/ini_modeln.f90   |  7 +++++--
 src/MNH/ini_spectren.f90 |  3 +--
 src/MNH/set_grid.f90     | 16 +---------------
 3 files changed, 7 insertions(+), 19 deletions(-)

diff --git a/src/MNH/ini_modeln.f90 b/src/MNH/ini_modeln.f90
index fffa848fc..24650fdae 100644
--- a/src/MNH/ini_modeln.f90
+++ b/src/MNH/ini_modeln.f90
@@ -419,7 +419,7 @@ USE MODE_INI_TURB,          ONLY: INI_TURB
 USE MODE_IO
 USE MODE_IO_FIELD_READ,     only: IO_Field_read
 USE MODE_IO_FILE,           only: IO_File_open
-USE MODE_IO_MANAGE_STRUCT,  only: IO_File_add2list
+USE MODE_IO_MANAGE_STRUCT,  only: IO_Bakout_struct_prepare, IO_File_add2list
 USE MODE_ll
 USE MODE_MODELN_HANDLER
 USE MODE_MPPDB
@@ -1936,7 +1936,7 @@ CALL SET_GRID( KMI, TPINIFILE, IKU, NIMAX_ll, NJMAX_ll,      &
                XHAT_BOUND, XHATM_BOUND,                      &
                XMAP, XZS, XZZ, XZHAT, XZHATM, XZTOP, LSLEVE, &
                XLEN1, XLEN2, XZSMT, ZJ,                      &
-               TDTMOD, TDTCUR, NSTOP, NBAK_NUMB, NOUT_NUMB   )
+               TDTMOD, TDTCUR, NSTOP                         )
 !
 CALL METRICS(XMAP,XDXHAT,XDYHAT,XZZ,XDXX,XDYY,XDZX,XDZY,XDZZ)
 !
@@ -2990,4 +2990,7 @@ ELSE
  ALLOCATE(XSSRFL_C(0,0,0))
 END IF
 !
+! The output/backups times have been read only by model 1
+IF ( CPROGRAM == 'MESONH' .AND. KMI == 1 ) CALL IO_Bakout_struct_prepare( 1, XSEGLEN )
+
 END SUBROUTINE INI_MODEL_n
diff --git a/src/MNH/ini_spectren.f90 b/src/MNH/ini_spectren.f90
index d6a0a8246..28380073c 100644
--- a/src/MNH/ini_spectren.f90
+++ b/src/MNH/ini_spectren.f90
@@ -79,7 +79,6 @@ USE MODD_MEAN_FIELD_n
 USE MODD_METRICS_n
 USE MODD_NESTING,       only: NDAD, NDT_2_WAY, NDXRATIO_ALL, NDYRATIO_ALL
 USE MODD_NSV
-USE MODD_OUT_n,         ONLY: NBAK_NUMB, NOUT_NUMB
 USE MODD_PARAMETERS
 USE MODD_PARAM_KAFR_n
 USE MODD_PARAM_MFSHALL_n
@@ -693,7 +692,7 @@ CALL SET_GRID( KMI, TPINIFILE, IKU, NIMAX_ll, NJMAX_ll,      &
                XHAT_BOUND, XHATM_BOUND,                      &
                XMAP, XZS, XZZ, XZHAT, XZHATM, XZTOP, LSLEVE, &
                XLEN1, XLEN2, XZSMT, ZJ,                      &
-               TDTMOD, TDTCUR, NSTOP, NBAK_NUMB, NOUT_NUMB   )
+               TDTMOD, TDTCUR, NSTOP                         )
 !
 CALL METRICS(XMAP,XDXHAT,XDYHAT,XZZ,XDXX,XDYY,XDZX,XDZY,XDZZ)
 !
diff --git a/src/MNH/set_grid.f90 b/src/MNH/set_grid.f90
index 6485a15e7..016c72cdb 100644
--- a/src/MNH/set_grid.f90
+++ b/src/MNH/set_grid.f90
@@ -34,8 +34,7 @@ CONTAINS
                            PHAT_BOUND, PHATM_BOUND,                       &
                            PMAP, PZS, PZZ, PZHAT, PZHATM, PZTOP, OSLEVE,  &
                            PLEN1, PLEN2, PZSMT, PJ,                       &
-                           TPDTMOD, TPDTCUR, KSTOP,                       &
-                           KBAK_NUMB, KOUT_NUMB                           )
+                           TPDTMOD, TPDTCUR, KSTOP                        )
 !     #####################################################################
 !
 !!****  *SET_GRID* - routine to set grid variables
@@ -165,7 +164,6 @@ use modd_field,            only: tfieldmetadata, tfieldlist
 USE MODD_GRID
 USE MODD_IO,      ONLY: TFILEDATA
 USE MODD_LUNIT_n, ONLY: TLUOUT
-USE MODD_OUT_n,   ONLY: OUT_MODEL
 USE MODD_PARAMETERS
 USE MODD_NESTING
 !
@@ -174,7 +172,6 @@ USE MODE_GATHER_ll
 USE MODE_GRIDCART
 USE MODE_GRIDPROJ
 USE MODE_IO_FIELD_READ,    only: IO_Field_read
-USE MODE_IO_MANAGE_STRUCT, only: IO_Bakout_struct_prepare
 USE MODE_ll
 USE MODE_TIME
 !
@@ -232,8 +229,6 @@ TYPE (DATE_TIME),       INTENT(OUT) :: TPDTMOD   ! date and time of the model
 TYPE (DATE_TIME),       INTENT(OUT) :: TPDTCUR   ! Current date and time
 INTEGER,                INTENT(OUT) :: KSTOP     ! number of time steps for
                                                  ! current segment
-INTEGER,POINTER,        INTENT(OUT) :: KBAK_NUMB ! number of backups
-INTEGER,POINTER,        INTENT(OUT) :: KOUT_NUMB ! number of outputs
 !
 REAL, DIMENSION(:,:,:), INTENT(OUT) :: PJ        ! Jacobian
 !
@@ -378,15 +373,6 @@ IF ( KMI == 1) PSEGLEN = PSEGLEN + PTSTEP*ISUP ! needed for the gridnesting case
                                                ! the same PSEGLEN for all nested models
 KSTOP = NINT(PSEGLEN/PTSTEP)
 !
-!
-!*       2.3    Temporal grid - outputs managment
-!
-! The output/backups times have been read only by model 1
-IF ( CPROGRAM == 'MESONH' .AND. KMI == 1 ) CALL IO_Bakout_struct_prepare( ISUP, PSEGLEN )
-!
-KBAK_NUMB => OUT_MODEL(KMI)%NBAK_NUMB
-KOUT_NUMB => OUT_MODEL(KMI)%NOUT_NUMB
-!
 !-------------------------------------------------------------------------------
 !
 !*       3.    PRINT ON OUTPUT-LISTING
-- 
GitLab