!! Copyright (C) Stichting Deltares, 2005-2020. !! !! This file is part of iMOD. !! !! This program is free software: you can redistribute it and/or modify !! it under the terms of the GNU General Public License as published by !! the Free Software Foundation, either version 3 of the License, or !! (at your option) any later version. !! !! This program is distributed in the hope that it will be useful, !! but WITHOUT ANY WARRANTY; without even the implied warranty of !! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the !! GNU General Public License for more details. !! !! You should have received a copy of the GNU General Public License !! along with this program. If not, see . !! !! Contact: imod.support@deltares.nl !! Stichting Deltares !! P.O. Box 177 !! 2600 MH Delft, The Netherlands. !! MODULE MOD_MSPINSPECTOR_PAR USE IMODVAR, ONLY : DP_KIND,SP_KIND USE MOD_IDF_PAR USE RESOURCE TYPE DATADXCTYPE INTEGER :: ILAY,IROW,ICOL,MFID END TYPE DATADXCTYPE TYPE DXCTYPE TYPE(DATADXCTYPE),POINTER,DIMENSION(:) :: INFO ! file content CHARACTER(LEN=35),POINTER,DIMENSION(:) :: LABEL ! name label for each variable CHARACTER(LEN=10),POINTER,DIMENSION(:) :: UNIT ! unit of variable CHARACTER(LEN=15),POINTER,DIMENSION(:) :: INSPVAL ! Value for each parameter at mouse location INTEGER,POINTER,DIMENSION(:) :: IACT ! pointer: user settings for (not) displaying a variable INTEGER,POINTER,DIMENSION(:) :: DXCIREC ! records of Modflow ID's under mouse (1: first svat 2: optional irrigation svat) INTEGER :: MXID ! maximum number of ID's END TYPE DXCTYPE TYPE(DXCTYPE) :: DXC TYPE DATAMODSVATTYPE INTEGER :: MFID,SVATID,LY END TYPE DATAMODSVATTYPE TYPE MODSVATTYPE TYPE(DATAMODSVATTYPE),POINTER,DIMENSION(:) :: INFO CHARACTER(LEN=24),POINTER,DIMENSION(:) :: LABEL CHARACTER(LEN=10),POINTER,DIMENSION(:) :: UNIT CHARACTER(LEN=15),POINTER,DIMENSION(:) :: INSPVAL INTEGER,POINTER,DIMENSION(:) :: IACT INTEGER :: MXID END TYPE MODSVATTYPE TYPE(MODSVATTYPE) :: MODSVAT TYPE DATAIDFSVATTYPE INTEGER :: SVAT,ROW,COL REAL(KIND=DP_KIND) :: X_CORD,Y_CORD INTEGER :: MFID_RURBAN,MFID_IRR ! corresponding Modflow ID, found in Mod2Svat.inp, needed to get location data from .dxc file END TYPE DATAIDFSVATTYPE TYPE IDFSVATTYPE TYPE(DATAIDFSVATTYPE),POINTER,DIMENSION(:) :: INFO CHARACTER(LEN=35),POINTER,DIMENSION(:) :: LABEL CHARACTER(LEN=10),POINTER,DIMENSION(:) :: UNIT CHARACTER(LEN=15),POINTER,DIMENSION(:) :: INSPVAL INTEGER,POINTER,DIMENSION(:) :: IACT INTEGER :: MXID END TYPE IDFSVATTYPE TYPE(IDFSVATTYPE) :: IDFSVAT TYPE DATAAREASVATTYPE INTEGER :: LUSE,SOIL,METE,NUND !,SVAT,SLK,LUK,NM REAL(KIND=DP_KIND) :: ARK,RZ,SURF,TEMP,LCFPREP,LCFPOT INTEGER :: REC_IDFSVAT,REC_SCAPSVAT ! Additional parameters : irec of SVAT in IDFSVAT and SCAPSVAT END TYPE DATAAREASVATTYPE TYPE AREASVATTYPE TYPE(DATAAREASVATTYPE),POINTER,DIMENSION(:) :: INFO CHARACTER(LEN=50),POINTER,DIMENSION(:) :: LABEL CHARACTER(LEN=10),POINTER,DIMENSION(:) :: UNIT CHARACTER(LEN=15),POINTER,DIMENSION(:) :: INSPVAL INTEGER,POINTER,DIMENSION(:) :: IACT INTEGER :: MXID END TYPE AREASVATTYPE TYPE(AREASVATTYPE) :: AREASVAT TYPE DATAINFISVATTYPE INTEGER :: NUND REAL(KIND=DP_KIND) :: QINBASIC,CTOP_DOWN,CTOP_UP,CBOT,SC2 END TYPE DATAINFISVATTYPE TYPE INFISVATTYPE TYPE(DATAINFISVATTYPE),POINTER,DIMENSION(:) :: INFO CHARACTER(LEN=50),POINTER,DIMENSION(:) :: LABEL CHARACTER(LEN=10),POINTER,DIMENSION(:) :: UNIT CHARACTER(LEN=15),POINTER,DIMENSION(:) :: INSPVAL INTEGER,POINTER,DIMENSION(:) :: IACT INTEGER :: MXID END TYPE INFISVATTYPE TYPE(INFISVATTYPE) :: INFISVAT TYPE DATASCAPSVATTYPE INTEGER :: SVAT,SVATAB,LYAB,SWNRAB REAL(KIND=DP_KIND) :: FMMXABGW,FMMXABSW,FXABGW,FXABSW END TYPE DATASCAPSVATTYPE TYPE SCAPSVATTYPE TYPE(DATASCAPSVATTYPE),POINTER,DIMENSION(:) :: INFO CHARACTER(LEN=50),POINTER,DIMENSION(:) :: LABEL CHARACTER(LEN=10),POINTER,DIMENSION(:) :: UNIT CHARACTER(LEN=15),POINTER,DIMENSION(:) :: INSPVAL INTEGER,POINTER,DIMENSION(:) :: IACT INTEGER :: MXID END TYPE SCAPSVATTYPE TYPE(SCAPSVATTYPE) :: SCAPSVAT TYPE DATALUSESVATTYPE INTEGER :: LU,VGLU REAL(KIND=DP_KIND) :: ALPHACRIT,P1FD,P2FD,P3HFD,P3LFD,P4FD,T3HFD,T3LFD,PBGSPLU,FREVSPLU,& GISPLU,TIGISPLU,RPSPLU,TDBGSPLU,TDEDSPLU,FECMNLU,ALBEDOLU,RSCDRYLU,& RSCWETLU,KDIF,KDIR,ECMAXLU,ECSLOPLU CHARACTER(LEN=19) :: LUNA END TYPE DATALUSESVATTYPE TYPE LUSESVATTYPE TYPE(DATALUSESVATTYPE),POINTER,DIMENSION(:) :: INFO CHARACTER(LEN=50),POINTER,DIMENSION(:) :: LABEL CHARACTER(LEN=10),POINTER,DIMENSION(:) :: UNIT CHARACTER(LEN=15),POINTER,DIMENSION(:) :: INSPVAL INTEGER,POINTER,DIMENSION(:) :: IACT INTEGER :: MXID END TYPE LUSESVATTYPE TYPE(LUSESVATTYPE) :: LUSESVAT TYPE DATAMETEGRIDTYPE INTEGER :: IY INTEGER :: JD !## julian data of precipitation/evaporation REAL(KIND=DP_KIND) :: TD CHARACTER(LEN=256) :: PRECGRID,ETREFGRID END TYPE DATAMETEGRIDTYPE TYPE METEGRIDTYPE TYPE(DATAMETEGRIDTYPE),POINTER,DIMENSION(:) :: INFO CHARACTER(LEN=30),POINTER,DIMENSION(:) :: LABEL CHARACTER(LEN=10),POINTER,DIMENSION(:) :: UNIT CHARACTER(LEN=15),POINTER,DIMENSION(:) :: INSPVAL INTEGER,POINTER,DIMENSION(:) :: IACT INTEGER,POINTER,DIMENSION(:) :: GRAPH INTEGER :: MXID END TYPE METEGRIDTYPE TYPE(METEGRIDTYPE) :: METEGRID TYPE DATASVATPRECTYPE INTEGER :: SVAT, ROW, COLUMN END TYPE DATASVATPRECTYPE TYPE SVATPRECTYPE TYPE(DATASVATPRECTYPE),POINTER,DIMENSION(:) :: INFO CHARACTER(LEN=35),POINTER,DIMENSION(:) :: LABEL CHARACTER(LEN=10),POINTER,DIMENSION(:) :: UNIT CHARACTER(LEN=15),POINTER,DIMENSION(:) :: INSPVAL INTEGER,POINTER,DIMENSION(:) :: IACT INTEGER :: MXID END TYPE SVATPRECTYPE TYPE(SVATPRECTYPE) :: SVATPREC TYPE DATASVATETREFTYPE INTEGER :: SVAT, ROW, COLUMN END TYPE DATASVATETREFTYPE TYPE SVATETREFTYPE TYPE(DATASVATETREFTYPE),POINTER,DIMENSION(:) :: INFO CHARACTER(LEN=35),POINTER,DIMENSION(:) :: LABEL CHARACTER(LEN=10),POINTER,DIMENSION(:) :: UNIT CHARACTER(LEN=15),POINTER,DIMENSION(:) :: INSPVAL INTEGER,POINTER,DIMENSION(:) :: IACT INTEGER :: MXID END TYPE SVATETREFTYPE TYPE(SVATETREFTYPE) :: SVATETREF TYPE DATAFACTSVATTYPE INTEGER :: VG,DY REAL(KIND=DP_KIND) :: CSVG,LAIVG,VXICVG,FAEVVG,FAEIVG,FAEBSVG,FAEPDVG,CHVG,DRPZVG END TYPE DATAFACTSVATTYPE TYPE FACTSVATTYPE TYPE(DATAFACTSVATTYPE),POINTER,DIMENSION(:) :: INFO CHARACTER(LEN=50),POINTER,DIMENSION(:) :: LABEL CHARACTER(LEN=10),POINTER,DIMENSION(:) :: UNIT CHARACTER(LEN=15),POINTER,DIMENSION(:) :: INSPVAL INTEGER,POINTER,DIMENSION(:) :: IACT INTEGER,POINTER,DIMENSION(:) :: GRAPH INTEGER :: MXID END TYPE FACTSVATTYPE TYPE(FACTSVATTYPE) :: FACTSVAT TYPE DATATIOPSIMTYPE INTEGER :: IY,IO,IP REAL(KIND=DP_KIND) :: TD END TYPE DATATIOPSIMTYPE TYPE TIOPSIMTYPE TYPE(DATATIOPSIMTYPE),POINTER,DIMENSION(:) :: INFO CHARACTER(LEN=24),POINTER,DIMENSION(:) :: LABEL CHARACTER(LEN=10),POINTER,DIMENSION(:) :: UNIT INTEGER,POINTER,DIMENSION(:) :: IACT INTEGER :: MXID END TYPE TIOPSIMTYPE TYPE(TIOPSIMTYPE) :: TIOPSIM TYPE DATASVAT2SWNRROFFTYPE INTEGER :: SVAT,SWNR REAL(KIND=DP_KIND) :: VXMU,CRUNOFF,CRUNON,SLPCN END TYPE DATASVAT2SWNRROFFTYPE TYPE SVAT2SWNRROFFTYPE TYPE(DATASVAT2SWNRROFFTYPE),POINTER,DIMENSION(:) :: INFO CHARACTER(LEN=50),POINTER,DIMENSION(:) :: LABEL CHARACTER(LEN=10),POINTER,DIMENSION(:) :: UNIT CHARACTER(LEN=15),POINTER,DIMENSION(:) :: INSPVAL INTEGER,POINTER,DIMENSION(:) :: IACT INTEGER :: MXID END TYPE SVAT2SWNRROFFTYPE TYPE(SVAT2SWNRROFFTYPE) :: SVAT2SWNRROFF INTEGER,PARAMETER :: MXMSFILES=12 CHARACTER(LEN=15),DIMENSION(MXMSFILES) :: MSFILES = & (/'DXC', 'MOD2SVAT','IDF_SVAT','AREA_SVAT','LUSE_SVAT','FACT_SVAT','INFI_SVAT','SCAP_SVAT','METE_GRID','SVATPREC','SVATETREF','SVAT2SWNRROFF'/) !## INP files not needed: PARASIM, TIOPSIM INTEGER,DIMENSION(MXMSFILES) :: MSFILES_IACT CHARACTER(LEN=512) :: ROOT,LINE,FNAME CHARACTER(LEN=128) :: MNAME,MFNAME TYPE(IDFOBJ) :: MSPIDF ! variable use e.g. pointer of selected irrigatied cells TYPE(IDFOBJ) :: SCAPSVAT_LYAB ! layer of irrigation source TYPE(IDFOBJ) :: SVATRU,SVATUR,SVATIR,SVATIRS ! GRID position of SVAT for rural, urban, irrigation and irrigationsource TYPE(IDFOBJ) :: METEO INTEGER :: IYBG,TDBG !PARA_SIM: starting time of calculations [d] / year number of starting time INTEGER :: MSPSDATE,MSPEDATE INTEGER :: TAB3GRIDSIZE INTEGER :: MOUSECOL,MOUSEROW !position of the mouse in the grid. Defined to remove cell rectangle !## iMODBATCH INTEGER :: MSPRCH_FYR,MSPRCH_TYR INTEGER :: MSPRCH_NYEAR,SCOPT INTEGER,DIMENSION(:),POINTER :: MSPRCH_IYEAR CHARACTER(LEN=256) :: SOURCEDIR,RESDIR,STOAVG TYPE(IDFOBJ) :: HEAD1,HEAD2,SC1,QMODF,NETRCH END MODULE MOD_MSPINSPECTOR_PAR