From 417fbfbbb2e8741d6d9cbbd0e466b486e3f6a56e Mon Sep 17 00:00:00 2001
From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr>
Date: Fri, 8 Apr 2022 11:57:42 +0200
Subject: [PATCH] Philippe 08/04/2022: remove modd_sub_stationn

---
 src/MNH/goto_model_wrapper.f90 |   4 +-
 src/MNH/modd_sub_stationn.f90  | 108 ---------------------------------
 src/MNH/stationn.f90           | 100 ------------------------------
 3 files changed, 1 insertion(+), 211 deletions(-)
 delete mode 100644 src/MNH/modd_sub_stationn.f90

diff --git a/src/MNH/goto_model_wrapper.f90 b/src/MNH/goto_model_wrapper.f90
index 831cb2028..da4f0e5c7 100644
--- a/src/MNH/goto_model_wrapper.f90
+++ b/src/MNH/goto_model_wrapper.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1994-2021 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2022 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -108,7 +108,6 @@ USE MODD_SUB_MODEL_n
 USE MODD_SUB_PASPOL_n
 USE MODD_SUB_PHYS_PARAM_n
 USE MODD_SUB_PROFILER_n
-USE MODD_SUB_STATION_n
 USE MODD_TIMEZ
 USE MODD_TURB_n
 !
@@ -204,7 +203,6 @@ CALL SUB_CH_MONITOR_GOTO_MODEL(KFROM, KTO)
 CALL SUB_MODEL_GOTO_MODEL(KFROM, KTO)
 CALL SUB_PHYS_PARAM_GOTO_MODEL(KFROM, KTO)
 CALL SUB_PROFILER_GOTO_MODEL(KFROM, KTO)
-CALL SUB_STATION_GOTO_MODEL(KFROM, KTO)
 CALL SUB_PASPOL_GOTO_MODEL(KFROM, KTO)
 CALL SUB_ELEC_GOTO_MODEL(KFROM, KTO)
 !CALL TIME_GOTO_MODEL(KFROM, KTO)
diff --git a/src/MNH/modd_sub_stationn.f90 b/src/MNH/modd_sub_stationn.f90
deleted file mode 100644
index d9fffb3ec..000000000
--- a/src/MNH/modd_sub_stationn.f90
+++ /dev/null
@@ -1,108 +0,0 @@
-!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
-!MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
-!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt  
-!MNH_LIC for details. version 1.
-!-----------------------------------------------------------------
-!--------------- special set of characters for RCS information
-!-----------------------------------------------------------------
-! $Source$ $Revision$
-! MASDEV4_7 modd 2006/06/27 12:28:56
-!-----------------------------------------------------------------
-!     ############################
-      MODULE MODD_SUB_STATION_n
-!     ############################
-!
-!!****  *MODD_STATION* - declaration of stations
-!!
-!!    PURPOSE
-!!    -------
-!       The purpose of this declarative module is to define
-!      the different stations types.
-!
-!!
-!!**  IMPLICIT ARGUMENTS
-!!    ------------------
-!!      NONE 
-!!
-!!    REFERENCE
-!!    --------- 
-!!       
-!!    AUTHOR
-!!    ------
-!!	P. Tulet   *Meteo France*
-!!
-!!    MODIFICATIONS
-!!    -------------
-!!      Original    15/01/02
-!-------------------------------------------------------------------------------
-!
-!*       0.   DECLARATIONS
-!             ------------
-!
-!
-USE MODD_PARAMETERS, ONLY: JPMODELMAX
-IMPLICIT NONE
-
-TYPE SUB_STATION_t
-!
-  LOGICAL :: GSTATFIRSTCALL  = .TRUE.     ! 
-!
-  INTEGER,DIMENSION(:), POINTER :: II=>NULL()       ! mass station position (x index)
-  INTEGER,DIMENSION(:), POINTER :: IJ=>NULL()       ! mass station position (y index)
-  INTEGER,DIMENSION(:), POINTER :: IU=>NULL()       ! U flux point station position (x index)
-  INTEGER,DIMENSION(:), POINTER :: IV=>NULL()       ! V flux point station position (y index)
-!
-  REAL, DIMENSION(:), POINTER  :: ZTHIS_PROCS=>NULL()     ! 
-!
-  REAL,DIMENSION(:), POINTER :: ZXCOEF=>NULL()      ! X direction interpolation coefficient
-  REAL,DIMENSION(:), POINTER :: ZUCOEF=>NULL()      ! X direction interpolation coefficient (for U)
-  REAL,DIMENSION(:), POINTER :: ZYCOEF=>NULL()      ! Y direction interpolation coefficient
-  REAL,DIMENSION(:), POINTER :: ZVCOEF=>NULL()      ! Y direction interpolation coefficient (for V)
-!
-
-END TYPE SUB_STATION_t
-
-TYPE(SUB_STATION_t), DIMENSION(JPMODELMAX), TARGET, SAVE :: SUB_STATION_MODEL
-
-LOGICAL, POINTER :: GSTATFIRSTCALL=>NULL()
-INTEGER,DIMENSION(:), POINTER :: II=>NULL()
-INTEGER,DIMENSION(:), POINTER :: IJ=>NULL()
-INTEGER,DIMENSION(:), POINTER :: IU=>NULL()
-INTEGER,DIMENSION(:), POINTER :: IV=>NULL()
-REAL, DIMENSION(:), POINTER  :: ZTHIS_PROCS=>NULL()
-REAL,DIMENSION(:), POINTER :: ZXCOEF=>NULL()
-REAL,DIMENSION(:), POINTER :: ZUCOEF=>NULL()
-REAL,DIMENSION(:), POINTER :: ZYCOEF=>NULL()
-REAL,DIMENSION(:), POINTER :: ZVCOEF=>NULL()
-
-CONTAINS
-
-SUBROUTINE SUB_STATION_GOTO_MODEL(KFROM, KTO)
-INTEGER, INTENT(IN) :: KFROM, KTO
-!
-! Save current state for allocated arrays
-SUB_STATION_MODEL(KFROM)%II=>II
-SUB_STATION_MODEL(KFROM)%IJ=>IJ
-SUB_STATION_MODEL(KFROM)%IU=>IU
-SUB_STATION_MODEL(KFROM)%IV=>IV
-SUB_STATION_MODEL(KFROM)%ZTHIS_PROCS=>ZTHIS_PROCS
-SUB_STATION_MODEL(KFROM)%ZXCOEF=>ZXCOEF
-SUB_STATION_MODEL(KFROM)%ZUCOEF=>ZUCOEF
-SUB_STATION_MODEL(KFROM)%ZYCOEF=>ZYCOEF
-SUB_STATION_MODEL(KFROM)%ZVCOEF=>ZVCOEF
-!
-! Current model is set to model KTO
-GSTATFIRSTCALL=>SUB_STATION_MODEL(KTO)%GSTATFIRSTCALL
-II=>SUB_STATION_MODEL(KTO)%II
-IJ=>SUB_STATION_MODEL(KTO)%IJ
-IU=>SUB_STATION_MODEL(KTO)%IU
-IV=>SUB_STATION_MODEL(KTO)%IV
-ZTHIS_PROCS=>SUB_STATION_MODEL(KTO)%ZTHIS_PROCS
-ZXCOEF=>SUB_STATION_MODEL(KTO)%ZXCOEF
-ZUCOEF=>SUB_STATION_MODEL(KTO)%ZUCOEF
-ZYCOEF=>SUB_STATION_MODEL(KTO)%ZYCOEF
-ZVCOEF=>SUB_STATION_MODEL(KTO)%ZVCOEF
-
-END SUBROUTINE SUB_STATION_GOTO_MODEL
-
-END MODULE MODD_SUB_STATION_n
diff --git a/src/MNH/stationn.f90 b/src/MNH/stationn.f90
index d59477e66..dcb38f6d3 100644
--- a/src/MNH/stationn.f90
+++ b/src/MNH/stationn.f90
@@ -95,7 +95,6 @@ USE MODD_PARAMETERS
 USE MODD_PARAM_n,       ONLY: CRAD
 USE MODD_STATION_n
 USE MODD_ALLSTATION_n,  ONLY: LDIAG_SURFRAD
-USE MODD_SUB_STATION_n
 USE MODD_TIME,          ONLY: tdtexp
 USE MODD_TIME_n,        ONLY: tdtcur
 !
@@ -212,105 +211,6 @@ END IF
 !
 !----------------------------------------------------------------------------
 !
-!*      4.   STATION POSITION
-!            --------------
-!
-!*      4.0  initialization of processor test
-!            --------------------------------
-IF (GSTATFIRSTCALL) THEN
- GSTATFIRSTCALL=.FALSE.
-!
- IF (.NOT.(ASSOCIATED(ZTHIS_PROCS))) ALLOCATE(ZTHIS_PROCS(NUMBSTAT))
-!
- IF (.NOT.(ASSOCIATED(II)))     ALLOCATE(II(NUMBSTAT))
- IF (.NOT.(ASSOCIATED(IJ)))     ALLOCATE(IJ(NUMBSTAT))
- IF (.NOT.(ASSOCIATED(IV)))     ALLOCATE(IV(NUMBSTAT))
- IF (.NOT.(ASSOCIATED(IU)))     ALLOCATE(IU(NUMBSTAT))
- IF (.NOT.(ASSOCIATED(ZXCOEF))) ALLOCATE(ZXCOEF(NUMBSTAT))
- IF (.NOT.(ASSOCIATED(ZUCOEF))) ALLOCATE(ZUCOEF(NUMBSTAT))
- IF (.NOT.(ASSOCIATED(ZYCOEF))) ALLOCATE(ZYCOEF(NUMBSTAT))
- IF (.NOT.(ASSOCIATED(ZVCOEF))) ALLOCATE(ZVCOEF(NUMBSTAT))
-
- ZXCOEF(:)  =XUNDEF
- ZUCOEF(:)  =XUNDEF
- ZYCOEF(:)  =XUNDEF
- ZVCOEF(:)  =XUNDEF
-
- DO I=1,NUMBSTAT
-!
-  ZTHIS_PROCS(I)=0.
-!
-!*      4.1  X position
-!            ----------
-!
-  IU(I)=COUNT( PXHAT (:)<=TSTATIONS(I)%XX )
-  II(I)=COUNT( ZXHATM(:)<=TSTATIONS(I)%XX )
-!
-  IF (II(I)<=IIB-1   .AND. LWEST_ll() .AND. .NOT. L1D) TSTATIONS(I)%LERROR=.TRUE.
-  IF (II(I)>=IIE     .AND. LEAST_ll() .AND. .NOT. L1D) TSTATIONS(I)%LERROR=.TRUE.
-!
-!
-!*      4.2  Y position
-!            ----------
-!
-  IV(I)=COUNT( PYHAT (:)<=TSTATIONS(I)%XY )
-  IJ(I)=COUNT( ZYHATM(:)<=TSTATIONS(I)%XY )
-!
-  IF (IJ(I)<=IJB-1   .AND. LSOUTH_ll() .AND. .NOT. L1D) TSTATIONS(I)%LERROR=.TRUE.
-  IF (IJ(I)>=IJE     .AND. LNORTH_ll() .AND. .NOT. L1D) TSTATIONS(I)%LERROR=.TRUE.
-!
-!
-!*      4.3  Position of station according to processors
-!            -------------------------------------------
-!
-  IF (IU(I)>=IIB .AND. IU(I)<=IIE .AND. IV(I)>=IJB .AND. IV(I)<=IJE) ZTHIS_PROCS(I)=1.
-  IF (L1D) ZTHIS_PROCS(I)=1.
-!
-!
-!*      4.4  Computations only on correct processor
-!            --------------------------------------
-    ZXCOEF(I) = 0.
-    ZYCOEF(I) = 0.
-    ZUCOEF(I) = 0.
-    ZVCOEF(I) = 0.
-    IF (ZTHIS_PROCS(I) >0. .AND. .NOT. L1D) THEN
-!----------------------------------------------------------------------------
-!
-!*      6.1  Interpolation coefficient for X
-!            -------------------------------
-!
-       ZXCOEF(I) = (TSTATIONS(I)%XX - ZXHATM(II(I))) / (ZXHATM(II(I)+1) - ZXHATM(II(I)))
-!
-!
-!
-!*      6.2  Interpolation coefficient for y
-!            -------------------------------
-!
-       ZYCOEF(I) = (TSTATIONS(I)%XY - ZYHATM(IJ(I))) / (ZYHATM(IJ(I)+1) - ZYHATM(IJ(I)))
-!
-!-------------------------------------------------------------------
-!
-!*      7.   INITIALIZATIONS FOR INTERPOLATIONS OF U AND V
-!            ---------------------------------------------
-!
-!*      7.1  Interpolation coefficient for X (for U)
-!            -------------------------------
-!
-       ZUCOEF(I) = (TSTATIONS(I)%XX - PXHAT(IU(I))) / (PXHAT(IU(I)+1) - PXHAT(IU(I)))
-!
-!
-!*      7.2  Interpolation coefficient for y (for V)
-!            -------------------------------
-!
-       ZVCOEF(I) = (TSTATIONS(I)%XY - PYHAT(IV(I))) / (PYHAT(IV(I)+1) - PYHAT(IV(I)))
-!
-!
-
-    END IF
- ENDDO
-END IF
-!----------------------------------------------------------------------------
-!
 !*      8.   DATA RECORDING
 !            --------------
 !
-- 
GitLab