diff --git a/src/MNH/ini_posprofilern.f90 b/src/MNH/ini_posprofilern.f90 index f50249ebd192f9456a4108d68182393e37658509..4ce19c1558c9b1b90c8c30c16ab0631bd4037214 100644 --- a/src/MNH/ini_posprofilern.f90 +++ b/src/MNH/ini_posprofilern.f90 @@ -105,6 +105,9 @@ allocate( tprofilers_time%tpdates(istore) ) NUMBPROFILER_LOC = 0 IF (CFILE_PROF=="NO_INPUT_CSV") THEN + IF ( NNUMB_PROF > NNOCSVPROFILERMAX ) & + call Print_msg( NVERB_FATAL, 'IO', 'INI_POSPROFILER_n', 'number of profilers is limited to NNOCSVPROFILERMAX' ) + ! Treat namelist INUMBPROF = 0 IF ( NNUMB_PROF > 0 ) THEN diff --git a/src/MNH/ini_surfstationn.f90 b/src/MNH/ini_surfstationn.f90 index b371bbfa05555230e63e315eb722131b7b4a165c..c1eb1a20dab4975e5cb9021e1154403505ed7996 100644 --- a/src/MNH/ini_surfstationn.f90 +++ b/src/MNH/ini_surfstationn.f90 @@ -106,6 +106,9 @@ allocate( tstations_time%tpdates(istore) ) NUMBSTAT_LOC = 0 IF (CFILE_STAT=="NO_INPUT_CSV") THEN + IF ( NNUMB_STAT > NNOCSVSTATIONMAX ) & + call Print_msg( NVERB_FATAL, 'IO', 'INI_SURFSTATION_n', 'number of stations is limited to NNOCSVSTATIONMAX' ) + ! Treat namelist INUMBSTAT = 0 IF ( NNUMB_STAT > 0 ) THEN diff --git a/src/MNH/modd_allprofilern.f90 b/src/MNH/modd_allprofilern.f90 index e9fc522b7d3eff165c944e0e6e9237c660f16d03..cb9c527440c0a70e7949058d339a5b1c320ca6ce 100644 --- a/src/MNH/modd_allprofilern.f90 +++ b/src/MNH/modd_allprofilern.f90 @@ -48,14 +48,17 @@ PUBLIC :: CNAME_PROF, CFILE_PROF, LDIAG_SURFRAD_PROF PUBLIC :: ALLPROFILER_GOTO_MODEL + +INTEGER, PUBLIC, PARAMETER :: NNOCSVPROFILERMAX = 100 + TYPE ALLPROFILER_t ! !------------------------------------------------------------------------------------------- ! ! INTEGER :: NNUMB_PROF !Number of stations as defined in namelist - REAL, DIMENSION(100) :: XX_PROF, XY_PROF, XZ_PROF, XLAT_PROF, XLON_PROF - CHARACTER(LEN=NSENSORNAMELGTMAX), DIMENSION(100) :: CNAME_PROF + REAL, DIMENSION(NNOCSVPROFILERMAX) :: XX_PROF, XY_PROF, XZ_PROF, XLAT_PROF, XLON_PROF + CHARACTER(LEN=NSENSORNAMELGTMAX), DIMENSION(NNOCSVPROFILERMAX) :: CNAME_PROF CHARACTER(LEN=NFILENAMELGTMAX) :: CFILE_PROF REAL :: XSTEP_PROF LOGICAL :: LDIAG_SURFRAD_PROF diff --git a/src/MNH/modd_allstationn.f90 b/src/MNH/modd_allstationn.f90 index 4f2a6dafb6bd8fb2df8a5cd1f9dc0feb3fd79946..f36f760b251653dafeb767f994a759866cd7b338 100644 --- a/src/MNH/modd_allstationn.f90 +++ b/src/MNH/modd_allstationn.f90 @@ -47,14 +47,17 @@ PUBLIC :: CNAME_STAT, CFILE_STAT, LDIAG_SURFRAD_STAT PUBLIC :: ALLSTATION_GOTO_MODEL + +INTEGER, PUBLIC, PARAMETER :: NNOCSVSTATIONMAX = 100 + 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=NSENSORNAMELGTMAX), DIMENSION(100) :: CNAME_STAT + REAL, DIMENSION(NNOCSVSTATIONMAX) :: XX_STAT, XY_STAT, XZ_STAT, XLAT_STAT, XLON_STAT + CHARACTER(LEN=NSENSORNAMELGTMAX), DIMENSION(NNOCSVSTATIONMAX) :: CNAME_STAT CHARACTER(LEN=NFILENAMELGTMAX) :: CFILE_STAT REAL :: XSTEP_STAT LOGICAL :: LDIAG_SURFRAD_STAT diff --git a/src/MNH/modn_profilern.f90 b/src/MNH/modn_profilern.f90 index 8e66d80f8fa3b76276bb6f48e264d32635918361..319ef272da27d5191878d876eeadf8155555869c 100644 --- a/src/MNH/modn_profilern.f90 +++ b/src/MNH/modn_profilern.f90 @@ -27,6 +27,7 @@ !! IMPLICIT ARGUMENTS !! ------------------ USE MODD_ALLPROFILER_n, ONLY:& + NNOCSVPROFILERMAX ,& NNUMB_PROF_n =>NNUMB_PROF ,& XSTEP_PROF_n =>XSTEP_PROF ,& XX_PROF_n =>XX_PROF ,& @@ -48,9 +49,9 @@ IMPLICIT NONE INTEGER ,SAVE:: NNUMB_PROF REAL ,SAVE:: XSTEP_PROF -REAL, DIMENSION(100) ,SAVE:: XX_PROF, XY_PROF, XZ_PROF, XLAT_PROF, XLON_PROF -CHARACTER (LEN=NSENSORNAMELGTMAX), DIMENSION(100),SAVE:: CNAME_PROF -CHARACTER (LEN=NFILENAMELGTMAX), SAVE:: CFILE_PROF !filename +REAL, DIMENSION(NNOCSVPROFILERMAX),SAVE:: XX_PROF, XY_PROF, XZ_PROF, XLAT_PROF, XLON_PROF +CHARACTER (LEN=NSENSORNAMELGTMAX), DIMENSION(NNOCSVPROFILERMAX),SAVE:: CNAME_PROF +CHARACTER (LEN=NFILENAMELGTMAX) ,SAVE:: CFILE_PROF !filename LOGICAL ,SAVE:: LDIAG_SURFRAD NAMELIST /NAM_PROFILERn/ & diff --git a/src/MNH/modn_stationn.f90 b/src/MNH/modn_stationn.f90 index 3a716ffb89fe739a31b9b6d858e958a57f255696..762ed48e5de7cf4e0735b197d7d02288394c9e3c 100644 --- a/src/MNH/modn_stationn.f90 +++ b/src/MNH/modn_stationn.f90 @@ -26,6 +26,7 @@ !! IMPLICIT ARGUMENTS !! ------------------ USE MODD_ALLSTATION_n, ONLY:& + NNOCSVSTATIONMAX ,& NNUMB_STAT_n =>NNUMB_STAT ,& XSTEP_STAT_n =>XSTEP_STAT ,& XX_STAT_n =>XX_STAT ,& @@ -47,9 +48,9 @@ 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=NSENSORNAMELGTMAX), DIMENSION(100),SAVE:: CNAME_STAT -CHARACTER (LEN=NFILENAMELGTMAX), SAVE:: CFILE_STAT !filename +REAL, DIMENSION(NNOCSVSTATIONMAX),SAVE:: XX_STAT, XY_STAT, XZ_STAT, XLAT_STAT, XLON_STAT +CHARACTER (LEN=NSENSORNAMELGTMAX), DIMENSION(NNOCSVSTATIONMAX),SAVE:: CNAME_STAT +CHARACTER (LEN=NFILENAMELGTMAX) ,SAVE:: CFILE_STAT !filename LOGICAL ,SAVE:: LDIAG_SURFRAD NAMELIST /NAM_STATIONn/ &