Skip to content
Snippets Groups Projects
Commit c9181a12 authored by WAUTELET Philippe's avatar WAUTELET Philippe
Browse files

Philippe 20/04/2022: stations: use parameters for character strings

parent 488baaf1
No related branches found
No related tags found
No related merge requests found
......@@ -36,7 +36,7 @@
! ------------
!
!
USE MODD_PARAMETERS, ONLY: JPMODELMAX
USE MODD_PARAMETERS, ONLY: JPMODELMAX, NFILENAMELGTMAX, NSTATIONNAMELGTMAX
IMPLICIT NONE
......@@ -54,8 +54,8 @@ TYPE ALLSTATION_t
!
INTEGER :: NNUMB_STAT !Number of stations as defined in namelist
REAL, DIMENSION(100) :: XX_STAT, XY_STAT, XZ_STAT, XLAT_STAT, XLON_STAT
CHARACTER(LEN=7), DIMENSION(100) :: CNAME_STAT
CHARACTER(LEN=20) :: CFILE_STAT
CHARACTER(LEN=NSTATIONNAMELGTMAX), DIMENSION(100) :: CNAME_STAT
CHARACTER(LEN=NFILENAMELGTMAX) :: CFILE_STAT
REAL :: XSTEP_STAT
LOGICAL :: LDIAG_SURFRAD
!
......@@ -71,8 +71,8 @@ REAL, DIMENSION(:), POINTER :: XY_STAT=>NULL()
REAL, DIMENSION(:), POINTER :: XLAT_STAT=>NULL()
REAL, DIMENSION(:), POINTER :: XLON_STAT=>NULL()
REAL, DIMENSION(:), POINTER :: XZ_STAT=>NULL()
CHARACTER (LEN=7),DIMENSION(:), POINTER :: CNAME_STAT=>NULL()
CHARACTER (LEN=20),POINTER :: CFILE_STAT=>NULL()
CHARACTER (LEN=NSTATIONNAMELGTMAX),DIMENSION(:), POINTER :: CNAME_STAT=>NULL()
CHARACTER (LEN=NFILENAMELGTMAX),POINTER :: CFILE_STAT=>NULL()
LOGICAL, POINTER :: LDIAG_SURFRAD=>NULL()
CONTAINS
......
!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.
......@@ -44,6 +44,7 @@
! P. Wautelet 17/01/2020: add NBUNAMELGTMAX and NCOMMENTLGTMAX parameters
! P. Wautelet 13/03/2020: remove JPBUMAX and JPBUPROMAX
! P. Wautelet 24/09/2021: add NLONGNAMELGTMAX and NUNITLGTMAX parameters
! P. Wautelet 20/04/2022: add NSTATIONNAMELGTMAX parameter
!-------------------------------------------------------------------------------
!
!* 0. DECLARATIONS
......@@ -86,6 +87,8 @@ INTEGER, PARAMETER :: NSTDNAMELGTMAX = 64 ! Maximum length of the standard nam
INTEGER, PARAMETER :: NLONGNAMELGTMAX = 32 ! Maximum length of the long name of a variable (CF convention)
INTEGER, PARAMETER :: NUNITLGTMAX = 40 ! Maximum length of the canonical units of a variable (CF convention)
!
INTEGER, PARAMETER :: NSTATIONNAMELGTMAX = 8 ! Maximum length for the name of a station
INTEGER, PARAMETER :: NDIRNAMELGTMAX = 512 ! Maximum length of a directory name
INTEGER, PARAMETER :: NFILENAMELGTMAX = 32 ! Maximum length of a file name (must be at least NFILENAMELGTMAXLFI)
INTEGER, PARAMETER :: NFILENAMELGTMAXLFI = 28 ! Maximum length of a file name in LFI file (this is necessary
......
......@@ -37,7 +37,7 @@
! ------------
!
use modd_type_date, only: date_time
use modd_parameters, only: NNEGUNDEF, XUNDEF
use modd_parameters, only: NNEGUNDEF, NSTATIONNAMELGTMAX, XUNDEF
implicit none
......@@ -55,7 +55,7 @@ END TYPE TSTATIONTIME
TYPE TSTATIONDATA
! Type to store all the data of 1 station
CHARACTER(LEN=8) :: CNAME = '' ! station name
CHARACTER(LEN=NSTATIONNAMELGTMAX) :: CNAME = '' ! station name
INTEGER :: NID = 0 ! Global identification number of the station (from 1 to total number of stations of the model)
......
......@@ -25,7 +25,6 @@
!!
!! IMPLICIT ARGUMENTS
!! ------------------
USE MODD_STATION_n
USE MODD_ALLSTATION_n, ONLY:&
NNUMB_STAT_n =>NNUMB_STAT ,&
XSTEP_STAT_n =>XSTEP_STAT ,&
......@@ -36,18 +35,22 @@ USE MODD_ALLSTATION_n, ONLY:&
XZ_STAT_n =>XZ_STAT ,&
CNAME_STAT_n =>CNAME_STAT ,&
CFILE_STAT_n =>CFILE_STAT ,&
LDIAG_SURFRAD_n =>LDIAG_SURFRAD
!!
LDIAG_SURFRAD_n =>LDIAG_SURFRAD
USE MODD_PARAMETERS, ONLY: NFILENAMELGTMAX, NSTATIONNAMELGTMAX
USE MODD_STATION_n
!
!-----------------------------------------------------------------------------
!
!* 0. DECLARATIONS
! -----------------
IMPLICIT NONE
INTEGER ,SAVE:: NNUMB_STAT
REAL ,SAVE:: XSTEP_STAT
REAL, DIMENSION(100) ,SAVE:: XX_STAT, XY_STAT, XZ_STAT, XLAT_STAT, XLON_STAT
CHARACTER (LEN=7), DIMENSION(100),SAVE:: CNAME_STAT
CHARACTER (LEN=20) ,SAVE:: CFILE_STAT !filename
CHARACTER (LEN=NSTATIONNAMELGTMAX), DIMENSION(100),SAVE:: CNAME_STAT
CHARACTER (LEN=NFILENAMELGTMAX), SAVE:: CFILE_STAT !filename
LOGICAL ,SAVE:: LDIAG_SURFRAD
NAMELIST /NAM_STATIONn/ &
......
......@@ -82,11 +82,7 @@ USE MODD_PRECISION, ONLY: MNHINT_MPI, MNHREAL_MPI
USE MODD_STATION_n, only: NUMBSTAT_LOC, TSTATIONS, tstations_time
USE MODD_TYPE_STATION, ONLY: TSTATIONDATA
!
USE MODE_AERO_PSD
USE MODE_DUST_PSD
USE MODE_SALT_PSD
USE MODE_STATION_TOOLS, ONLY: STATION_ALLOCATE
use MODE_WRITE_DIACHRO, ONLY: Write_diachro
!
IMPLICIT NONE
!
......@@ -307,9 +303,15 @@ SUBROUTINE STATION_DIACHRO_n( TPSTATION )
use modd_budget, only: NLVL_CATEGORY, NLVL_SUBCATEGORY, NLVL_GROUP, NLVL_SHAPE, NLVL_TIMEAVG, NLVL_NORM, NLVL_MASK
use modd_field, only: NMNHDIM_STATION_TIME, NMNHDIM_STATION_PROC, NMNHDIM_UNUSED, &
tfieldmetadata_base, TYPEREAL
use modd_parameters, only: NCOMMENTLGTMAX, NMNHNAMELGTMAX, NSTATIONNAMELGTMAX, NUNITLGTMAX
use modd_station_n, only: tstations_time
use modd_type_station, only: tstationdata
USE MODE_AERO_PSD
USE MODE_DUST_PSD
USE MODE_SALT_PSD
use MODE_WRITE_DIACHRO, ONLY: Write_diachro
TYPE(TSTATIONDATA), INTENT(IN) :: TPSTATION
!
!* 0.2 declaration of local variables for diachro
......@@ -321,10 +323,10 @@ REAL, DIMENSION(:,:,:,:,:), ALLOCATABLE :: ZPTOTA
REAL, DIMENSION(:,:,:), ALLOCATABLE :: ZRHO
!
INTEGER, DIMENSION(:), ALLOCATABLE :: IGRID ! grid indicator
CHARACTER(LEN= 8) :: YGROUP ! group title
CHARACTER(LEN=100), DIMENSION(:), ALLOCATABLE :: YCOMMENT ! comment string
CHARACTER(LEN=100), DIMENSION(:), ALLOCATABLE :: YTITLE ! title
CHARACTER(LEN=100), DIMENSION(:), ALLOCATABLE :: YUNIT ! physical unit
CHARACTER(LEN=NSTATIONNAMELGTMAX) :: YGROUP ! group title
CHARACTER(LEN=NCOMMENTLGTMAX), DIMENSION(:), ALLOCATABLE :: YCOMMENT ! comment string
CHARACTER(LEN=NMNHNAMELGTMAX), DIMENSION(:), ALLOCATABLE :: YTITLE ! title
CHARACTER(LEN=NUNITLGTMAX), DIMENSION(:), ALLOCATABLE :: YUNIT ! physical unit
!
!!! do not forget to increment the IPROC value if you add diagnostic !!!
INTEGER :: IPROC ! number of variables records
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment