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