SlideShare a Scribd company logo
1 of 9
Download to read offline
Tuesday June 16, 2014
iMOD – OSS
PTM Vermeulen1
I had a dream
1 Deltares Unit Subsurface and Groundwater Systems, Groundwater Management, the Netherlands
iMOD-Structure
17 juni 2014
Main Program
FORTRAN 90
*.F90
Dialogs
WINTERACTER
*.RC / *.BMP / *.CUR
VISUAL STUDIO /
INTEL FORTRAN
COMPILER
X32 / X64
WINTERACTER
DELFTIO / NETCDF
externe libraries
iMOD Structure
Winteracter Resource Editor:
- Opbouw invoerschermen;
- Opbouw bitmaps;
17 juni 2014
Dialogs
WINTERACTER
*.RC / *.BMP / *.CUR
iMOD-Structure
17 juni 2014
Main Program
FORTRAN 90
*.F90
IMOD_PRG.F90
MODEL1MAIN(ITYPE,MESSAGE)
GET ACTION
MODEL1RUN()
DO ACTION
IMOD_MODEL.F90
Check messages
ITYPE: welk type
MESSAGE: specifieke informatie
iMOD-Structure
17 juni 2014
!###======================================================================
PROGRAM IMODPRG
!###======================================================================
USE WINTERACTER
USE RESOURCE
USE MOD_MODEL, ONLY : MODEL1MAIN
DO
CALL WMESSAGE(ITYPE,MESSAGE)
SELECT CASE(MESSAGE%WIN)
CASE (ID_DMODEL,ID_DMODELTAB1,ID_DMODELTAB2)
CALL MODEL1MAIN(ITYPE,MESSAGE)
END SELECT
ENDDO
STOP
END PROGRAM
SUBROUTINE IN
MODULE MOD_MODEL
IDENTIFIERS IN
RESOURCE.RC
iMOD-Structure
17 juni 2014
MODULE MOD_MODEL
USE MOD_MODEL_PAR
CONTAINS
!###======================================================================
SUBROUTINE MODEL1MAIN(ITYPE,MESSAGE)
!###======================================================================
IMPLICIT NONE
INTEGER,INTENT(IN) :: ITYPE
TYPE(WIN_MESSAGE),INTENT(IN) :: MESSAGE
SELECT CASE (ITYPE)
CASE (PUSHBUTTON)
SELECT CASE (MESSAGE%VALUE1)
CASE (IDOK)
CALL MODEL1RUN()
END SELECT
END SELECT
END SUBROUTINE MODEL1MAIN
END MODULE MOD_MODEL
GLOBAL VARIABLES
IMOD Inlezen IDF bestanden
17 juni 2014
MODULE MOD_READMYIDF
USE MOD_READMYIDF_PAR
CONTAINS
!## process messages
SUBROUTINE READMYIDF1MAIN(ITYPE,MESSAGE)
END SUBROUTINE READMYIDF1MAIN
!## read idf and calc
SUBROUTINE READMYIDF1CALC()
END SUBROUTINE READMYIDF1CALC
!## save idf and plot
SUBROUTINE READMYIDF1SAVEIT()
END SUBROUTINE WRITEMYIDF1SAVEIT
END MODULE MOD_READMYIDF
MODULE MOD_READMYIDF_PAR
USE MOD_IDF_PAR, ONLY : IDFOBJ, &
IDFREAD, &
IDFWRITE, &
IDFDEALLOCATEX
USE IMOD, ONLY : IDFINIT
TYPE(IDFOBJ) :: IDF
END MODULE MOD_READMYIDF_PAR
imod_readmyidf_par.f90imod_readmyidf.f90
IMOD Inlezen IDF bestanden
17 juni 2014
MODULE MOD_READMYIDF
USE MOD_READMYIDF_PAR
CONTAINS
!## process messages
SUBROUTINE READMYIDF1MAIN(ITYPE,MESSAGE)
IMPLICIT NONE
INTEGER,INTENT(IN) :: ITYPE
TYPE(WIN_MESSAGE),INTENT(IN) :: MESSAGE
SELECT CASE (ITYPE)
CASE (PUSHBUTTON)
SELECT CASE (MESSAGE%VALUE1)
CASE (IDOK)
CALL READMYIDF1CALC ()
END SELECT
END SELECT
END SUBROUTINE READMYIDF1MAIN
!## read idf and calc
SUBROUTINE READMYIDF1CALC()
IMPLICIT NONE
INTEGER :: IROW,ICOL
IF(IDFREAD(IDF,’D:TEST.IDF’,1))THEN
DO IROW=1,IDF%NROW; DO ICOL=1,IDF%NCOL
IDF%X(ICOL,IROW)=IDF%X(ICOL,IROW)+1.0
ENDDO; ENDDO
CALL READMYIDF1SAVEIT()
CALL IDFDEALLOCATEX(IDF)
ENDIF
END SUBROUTINE READMYIDF1CALC
!## save idf and plot
SUBROUTINE READMYIDF1SAVEIT()
IMPLICIT NONE
IDF%FNAME=‘D:OUT.IDF’
IF(IDFWRITE(IDF,IDF%FNAME,1))THEN
CALL IDFINIT(IDF%FNAME,LPLOT=.TRUE.)
ENDIF
END SUBROUTINE WRITEMYIDF1SAVEIT
END MODULE MOD_READMYIDF
Programmeren
De snelste weg tussen twee punten is nog steeds een rechte lijn, kunst
van het weglaten;
Afweging genericiteit en efficientie;
Programmeren is een kunst, niet iedereen met een kwast kan de
nachtwacht schilderen
17 juni 2014

More Related Content

Viewers also liked

DSD-NL 2015, Geo Klantendag D-Series, 3 Rekenen aan aardbevingen
DSD-NL 2015, Geo Klantendag D-Series, 3 Rekenen aan aardbevingenDSD-NL 2015, Geo Klantendag D-Series, 3 Rekenen aan aardbevingen
DSD-NL 2015, Geo Klantendag D-Series, 3 Rekenen aan aardbevingenDeltares
 
DSD-NL 2014 - NGHS SOBEK 3 - Deltares SOBEK 3Pilot - Vismigratie in rivier, C...
DSD-NL 2014 - NGHS SOBEK 3 - Deltares SOBEK 3Pilot - Vismigratie in rivier, C...DSD-NL 2014 - NGHS SOBEK 3 - Deltares SOBEK 3Pilot - Vismigratie in rivier, C...
DSD-NL 2014 - NGHS SOBEK 3 - Deltares SOBEK 3Pilot - Vismigratie in rivier, C...Deltares
 
DSD-Nl 2014, BYOM D-Flow Flexible Mesh, Wim van Balen, Deltares
DSD-Nl 2014, BYOM D-Flow Flexible Mesh, Wim van Balen, DeltaresDSD-Nl 2014, BYOM D-Flow Flexible Mesh, Wim van Balen, Deltares
DSD-Nl 2014, BYOM D-Flow Flexible Mesh, Wim van Balen, DeltaresDeltares
 
DSD-NL 2014 - Delft-FEWS Gebruikersdag - 3. Gebruik van FEWS door WMCN-k kust...
DSD-NL 2014 - Delft-FEWS Gebruikersdag - 3. Gebruik van FEWS door WMCN-k kust...DSD-NL 2014 - Delft-FEWS Gebruikersdag - 3. Gebruik van FEWS door WMCN-k kust...
DSD-NL 2014 - Delft-FEWS Gebruikersdag - 3. Gebruik van FEWS door WMCN-k kust...Deltares
 
DSD-NL 2014 - iMOD Symposium - 6. Reproduceerbaarheid en Kwaliteitsborging, W...
DSD-NL 2014 - iMOD Symposium - 6. Reproduceerbaarheid en Kwaliteitsborging, W...DSD-NL 2014 - iMOD Symposium - 6. Reproduceerbaarheid en Kwaliteitsborging, W...
DSD-NL 2014 - iMOD Symposium - 6. Reproduceerbaarheid en Kwaliteitsborging, W...Deltares
 
DSD-NL 2014 - Simona Gebruikersdag - Simona B&O at work, Edwin Spee, Deltares
DSD-NL 2014 - Simona Gebruikersdag - Simona B&O at work, Edwin Spee, DeltaresDSD-NL 2014 - Simona Gebruikersdag - Simona B&O at work, Edwin Spee, Deltares
DSD-NL 2014 - Simona Gebruikersdag - Simona B&O at work, Edwin Spee, DeltaresDeltares
 
DSD-NL 2015, Delft-FEWS Gebruikersdag, 6 Nieuwe ontwikkelingen Delft-FEWS
DSD-NL 2015, Delft-FEWS Gebruikersdag, 6 Nieuwe ontwikkelingen Delft-FEWSDSD-NL 2015, Delft-FEWS Gebruikersdag, 6 Nieuwe ontwikkelingen Delft-FEWS
DSD-NL 2015, Delft-FEWS Gebruikersdag, 6 Nieuwe ontwikkelingen Delft-FEWSDeltares
 
04 DSD-NL 2016 - D-HYDRO Symposium - 1D2D Belgische Maas en bresgroeimodule -...
04 DSD-NL 2016 - D-HYDRO Symposium - 1D2D Belgische Maas en bresgroeimodule -...04 DSD-NL 2016 - D-HYDRO Symposium - 1D2D Belgische Maas en bresgroeimodule -...
04 DSD-NL 2016 - D-HYDRO Symposium - 1D2D Belgische Maas en bresgroeimodule -...Deltares
 
05 DSD-NL 2016 - D-HYDRO Symposium - Nationaal Water Model Introductie en voo...
05 DSD-NL 2016 - D-HYDRO Symposium - Nationaal Water Model Introductie en voo...05 DSD-NL 2016 - D-HYDRO Symposium - Nationaal Water Model Introductie en voo...
05 DSD-NL 2016 - D-HYDRO Symposium - Nationaal Water Model Introductie en voo...Deltares
 
DSD-NL 2014 - Geo Klantendag - 1. leidinginstallatie met direct pipe
DSD-NL 2014 - Geo Klantendag - 1. leidinginstallatie met direct pipeDSD-NL 2014 - Geo Klantendag - 1. leidinginstallatie met direct pipe
DSD-NL 2014 - Geo Klantendag - 1. leidinginstallatie met direct pipeDeltares
 

Viewers also liked (10)

DSD-NL 2015, Geo Klantendag D-Series, 3 Rekenen aan aardbevingen
DSD-NL 2015, Geo Klantendag D-Series, 3 Rekenen aan aardbevingenDSD-NL 2015, Geo Klantendag D-Series, 3 Rekenen aan aardbevingen
DSD-NL 2015, Geo Klantendag D-Series, 3 Rekenen aan aardbevingen
 
DSD-NL 2014 - NGHS SOBEK 3 - Deltares SOBEK 3Pilot - Vismigratie in rivier, C...
DSD-NL 2014 - NGHS SOBEK 3 - Deltares SOBEK 3Pilot - Vismigratie in rivier, C...DSD-NL 2014 - NGHS SOBEK 3 - Deltares SOBEK 3Pilot - Vismigratie in rivier, C...
DSD-NL 2014 - NGHS SOBEK 3 - Deltares SOBEK 3Pilot - Vismigratie in rivier, C...
 
DSD-Nl 2014, BYOM D-Flow Flexible Mesh, Wim van Balen, Deltares
DSD-Nl 2014, BYOM D-Flow Flexible Mesh, Wim van Balen, DeltaresDSD-Nl 2014, BYOM D-Flow Flexible Mesh, Wim van Balen, Deltares
DSD-Nl 2014, BYOM D-Flow Flexible Mesh, Wim van Balen, Deltares
 
DSD-NL 2014 - Delft-FEWS Gebruikersdag - 3. Gebruik van FEWS door WMCN-k kust...
DSD-NL 2014 - Delft-FEWS Gebruikersdag - 3. Gebruik van FEWS door WMCN-k kust...DSD-NL 2014 - Delft-FEWS Gebruikersdag - 3. Gebruik van FEWS door WMCN-k kust...
DSD-NL 2014 - Delft-FEWS Gebruikersdag - 3. Gebruik van FEWS door WMCN-k kust...
 
DSD-NL 2014 - iMOD Symposium - 6. Reproduceerbaarheid en Kwaliteitsborging, W...
DSD-NL 2014 - iMOD Symposium - 6. Reproduceerbaarheid en Kwaliteitsborging, W...DSD-NL 2014 - iMOD Symposium - 6. Reproduceerbaarheid en Kwaliteitsborging, W...
DSD-NL 2014 - iMOD Symposium - 6. Reproduceerbaarheid en Kwaliteitsborging, W...
 
DSD-NL 2014 - Simona Gebruikersdag - Simona B&O at work, Edwin Spee, Deltares
DSD-NL 2014 - Simona Gebruikersdag - Simona B&O at work, Edwin Spee, DeltaresDSD-NL 2014 - Simona Gebruikersdag - Simona B&O at work, Edwin Spee, Deltares
DSD-NL 2014 - Simona Gebruikersdag - Simona B&O at work, Edwin Spee, Deltares
 
DSD-NL 2015, Delft-FEWS Gebruikersdag, 6 Nieuwe ontwikkelingen Delft-FEWS
DSD-NL 2015, Delft-FEWS Gebruikersdag, 6 Nieuwe ontwikkelingen Delft-FEWSDSD-NL 2015, Delft-FEWS Gebruikersdag, 6 Nieuwe ontwikkelingen Delft-FEWS
DSD-NL 2015, Delft-FEWS Gebruikersdag, 6 Nieuwe ontwikkelingen Delft-FEWS
 
04 DSD-NL 2016 - D-HYDRO Symposium - 1D2D Belgische Maas en bresgroeimodule -...
04 DSD-NL 2016 - D-HYDRO Symposium - 1D2D Belgische Maas en bresgroeimodule -...04 DSD-NL 2016 - D-HYDRO Symposium - 1D2D Belgische Maas en bresgroeimodule -...
04 DSD-NL 2016 - D-HYDRO Symposium - 1D2D Belgische Maas en bresgroeimodule -...
 
05 DSD-NL 2016 - D-HYDRO Symposium - Nationaal Water Model Introductie en voo...
05 DSD-NL 2016 - D-HYDRO Symposium - Nationaal Water Model Introductie en voo...05 DSD-NL 2016 - D-HYDRO Symposium - Nationaal Water Model Introductie en voo...
05 DSD-NL 2016 - D-HYDRO Symposium - Nationaal Water Model Introductie en voo...
 
DSD-NL 2014 - Geo Klantendag - 1. leidinginstallatie met direct pipe
DSD-NL 2014 - Geo Klantendag - 1. leidinginstallatie met direct pipeDSD-NL 2014 - Geo Klantendag - 1. leidinginstallatie met direct pipe
DSD-NL 2014 - Geo Klantendag - 1. leidinginstallatie met direct pipe
 

More from Deltares

DSD-NL 2023 Ontwikkeling van een bias Kalman filter - Laagfrequente correctie...
DSD-NL 2023 Ontwikkeling van een bias Kalman filter - Laagfrequente correctie...DSD-NL 2023 Ontwikkeling van een bias Kalman filter - Laagfrequente correctie...
DSD-NL 2023 Ontwikkeling van een bias Kalman filter - Laagfrequente correctie...Deltares
 
DSD-NL 2023 Hoogwatertoetsingen met D-HYDRO Suite 1D2D - Bosch
DSD-NL 2023 Hoogwatertoetsingen met D-HYDRO Suite 1D2D - BoschDSD-NL 2023 Hoogwatertoetsingen met D-HYDRO Suite 1D2D - Bosch
DSD-NL 2023 Hoogwatertoetsingen met D-HYDRO Suite 1D2D - BoschDeltares
 
DSD-NL 2023 Hydraulisch Modelinstrumentarium Aa en Maas - de Keijzer
DSD-NL 2023 Hydraulisch Modelinstrumentarium Aa en Maas - de KeijzerDSD-NL 2023 Hydraulisch Modelinstrumentarium Aa en Maas - de Keijzer
DSD-NL 2023 Hydraulisch Modelinstrumentarium Aa en Maas - de KeijzerDeltares
 
DSD-NL 2022 D-GEO Gebruikersdag - van der Meij
DSD-NL 2022 D-GEO Gebruikersdag - van der MeijDSD-NL 2022 D-GEO Gebruikersdag - van der Meij
DSD-NL 2022 D-GEO Gebruikersdag - van der MeijDeltares
 
DSD-NL 2022 Keuzes - een workshop voor modelbouwers - Wesselius - Melsen
DSD-NL 2022 Keuzes - een workshop voor modelbouwers - Wesselius - MelsenDSD-NL 2022 Keuzes - een workshop voor modelbouwers - Wesselius - Melsen
DSD-NL 2022 Keuzes - een workshop voor modelbouwers - Wesselius - MelsenDeltares
 
DSD-NL 2022 D-HYDRO modelgeneratie in Limburg - de Graaff2
DSD-NL 2022 D-HYDRO modelgeneratie in Limburg - de Graaff2DSD-NL 2022 D-HYDRO modelgeneratie in Limburg - de Graaff2
DSD-NL 2022 D-HYDRO modelgeneratie in Limburg - de Graaff2Deltares
 
DSD-NL 2022 Waterkwaliteitsmodellering met D-HYDRO Suite 1D2D - Meijers
DSD-NL 2022 Waterkwaliteitsmodellering met D-HYDRO Suite 1D2D - MeijersDSD-NL 2022 Waterkwaliteitsmodellering met D-HYDRO Suite 1D2D - Meijers
DSD-NL 2022 Waterkwaliteitsmodellering met D-HYDRO Suite 1D2D - MeijersDeltares
 
DSD-NL 2022 D-HYDRO Suite 1D2D, stand van zaken en vooruitblik - Verhoeven - ...
DSD-NL 2022 D-HYDRO Suite 1D2D, stand van zaken en vooruitblik - Verhoeven - ...DSD-NL 2022 D-HYDRO Suite 1D2D, stand van zaken en vooruitblik - Verhoeven - ...
DSD-NL 2022 D-HYDRO Suite 1D2D, stand van zaken en vooruitblik - Verhoeven - ...Deltares
 
DSD-NL 2022 Highlights van de zesde-generatie RWS modelschematisaties - Spruyt
DSD-NL 2022 Highlights van de zesde-generatie RWS modelschematisaties - SpruytDSD-NL 2022 Highlights van de zesde-generatie RWS modelschematisaties - Spruyt
DSD-NL 2022 Highlights van de zesde-generatie RWS modelschematisaties - SpruytDeltares
 
DSD-NL 2022 Proactief watermanagement systeem van Bangkok - Hutten
DSD-NL 2022 Proactief watermanagement systeem van Bangkok - HuttenDSD-NL 2022 Proactief watermanagement systeem van Bangkok - Hutten
DSD-NL 2022 Proactief watermanagement systeem van Bangkok - HuttenDeltares
 
DSD-NL 2022 Toetsing op wateroverlast voor de Barneveldse en Lunterse Beek - ...
DSD-NL 2022 Toetsing op wateroverlast voor de Barneveldse en Lunterse Beek - ...DSD-NL 2022 Toetsing op wateroverlast voor de Barneveldse en Lunterse Beek - ...
DSD-NL 2022 Toetsing op wateroverlast voor de Barneveldse en Lunterse Beek - ...Deltares
 
DSD-NL 2022 Overstromingsberekeningen met D-HYDRO Suite 1D2D - de Lange
DSD-NL 2022 Overstromingsberekeningen met D-HYDRO Suite 1D2D - de LangeDSD-NL 2022 Overstromingsberekeningen met D-HYDRO Suite 1D2D - de Lange
DSD-NL 2022 Overstromingsberekeningen met D-HYDRO Suite 1D2D - de LangeDeltares
 
DSD-NL 2022 D-HYDRO modelgeneratie in Limburg - de Graaff
DSD-NL 2022 D-HYDRO modelgeneratie in Limburg - de GraaffDSD-NL 2022 D-HYDRO modelgeneratie in Limburg - de Graaff
DSD-NL 2022 D-HYDRO modelgeneratie in Limburg - de GraaffDeltares
 
DSD-NL 2022 D-HYDRO Gebruikersdag - Programma - Melger
DSD-NL 2022 D-HYDRO Gebruikersdag - Programma - MelgerDSD-NL 2022 D-HYDRO Gebruikersdag - Programma - Melger
DSD-NL 2022 D-HYDRO Gebruikersdag - Programma - MelgerDeltares
 
DSD-NL 2021 Watersysteemanalyses-toetsingen - Horn, Weerts
DSD-NL 2021 Watersysteemanalyses-toetsingen - Horn, WeertsDSD-NL 2021 Watersysteemanalyses-toetsingen - Horn, Weerts
DSD-NL 2021 Watersysteemanalyses-toetsingen - Horn, WeertsDeltares
 
DSD-NL 2021 D-HyDAMO import en verificatie met D-HYDRO Suite
DSD-NL 2021 D-HyDAMO import en verificatie met D-HYDRO SuiteDSD-NL 2021 D-HyDAMO import en verificatie met D-HYDRO Suite
DSD-NL 2021 D-HyDAMO import en verificatie met D-HYDRO SuiteDeltares
 
DSD-NL 2021 Toepassing (semi-)gedistribueerde hydrologie met D-HYDRO Suite - ...
DSD-NL 2021 Toepassing (semi-)gedistribueerde hydrologie met D-HYDRO Suite - ...DSD-NL 2021 Toepassing (semi-)gedistribueerde hydrologie met D-HYDRO Suite - ...
DSD-NL 2021 Toepassing (semi-)gedistribueerde hydrologie met D-HYDRO Suite - ...Deltares
 
DSD-NL 2021 Omzetten boezemmodel WS Hunze en Aa’s van SOBEK 2 naar D-HYDRO Su...
DSD-NL 2021 Omzetten boezemmodel WS Hunze en Aa’s van SOBEK 2 naar D-HYDRO Su...DSD-NL 2021 Omzetten boezemmodel WS Hunze en Aa’s van SOBEK 2 naar D-HYDRO Su...
DSD-NL 2021 Omzetten boezemmodel WS Hunze en Aa’s van SOBEK 2 naar D-HYDRO Su...Deltares
 
DSD-NL 2021 Casus Stellendam Goeree-Overflakkee - Stigter, Coster
DSD-NL 2021 Casus Stellendam Goeree-Overflakkee - Stigter, CosterDSD-NL 2021 Casus Stellendam Goeree-Overflakkee - Stigter, Coster
DSD-NL 2021 Casus Stellendam Goeree-Overflakkee - Stigter, CosterDeltares
 
DSD-NL 2021 Casus Leiderdorp - de Waard, Vlaar
DSD-NL 2021 Casus Leiderdorp - de Waard, VlaarDSD-NL 2021 Casus Leiderdorp - de Waard, Vlaar
DSD-NL 2021 Casus Leiderdorp - de Waard, VlaarDeltares
 

More from Deltares (20)

DSD-NL 2023 Ontwikkeling van een bias Kalman filter - Laagfrequente correctie...
DSD-NL 2023 Ontwikkeling van een bias Kalman filter - Laagfrequente correctie...DSD-NL 2023 Ontwikkeling van een bias Kalman filter - Laagfrequente correctie...
DSD-NL 2023 Ontwikkeling van een bias Kalman filter - Laagfrequente correctie...
 
DSD-NL 2023 Hoogwatertoetsingen met D-HYDRO Suite 1D2D - Bosch
DSD-NL 2023 Hoogwatertoetsingen met D-HYDRO Suite 1D2D - BoschDSD-NL 2023 Hoogwatertoetsingen met D-HYDRO Suite 1D2D - Bosch
DSD-NL 2023 Hoogwatertoetsingen met D-HYDRO Suite 1D2D - Bosch
 
DSD-NL 2023 Hydraulisch Modelinstrumentarium Aa en Maas - de Keijzer
DSD-NL 2023 Hydraulisch Modelinstrumentarium Aa en Maas - de KeijzerDSD-NL 2023 Hydraulisch Modelinstrumentarium Aa en Maas - de Keijzer
DSD-NL 2023 Hydraulisch Modelinstrumentarium Aa en Maas - de Keijzer
 
DSD-NL 2022 D-GEO Gebruikersdag - van der Meij
DSD-NL 2022 D-GEO Gebruikersdag - van der MeijDSD-NL 2022 D-GEO Gebruikersdag - van der Meij
DSD-NL 2022 D-GEO Gebruikersdag - van der Meij
 
DSD-NL 2022 Keuzes - een workshop voor modelbouwers - Wesselius - Melsen
DSD-NL 2022 Keuzes - een workshop voor modelbouwers - Wesselius - MelsenDSD-NL 2022 Keuzes - een workshop voor modelbouwers - Wesselius - Melsen
DSD-NL 2022 Keuzes - een workshop voor modelbouwers - Wesselius - Melsen
 
DSD-NL 2022 D-HYDRO modelgeneratie in Limburg - de Graaff2
DSD-NL 2022 D-HYDRO modelgeneratie in Limburg - de Graaff2DSD-NL 2022 D-HYDRO modelgeneratie in Limburg - de Graaff2
DSD-NL 2022 D-HYDRO modelgeneratie in Limburg - de Graaff2
 
DSD-NL 2022 Waterkwaliteitsmodellering met D-HYDRO Suite 1D2D - Meijers
DSD-NL 2022 Waterkwaliteitsmodellering met D-HYDRO Suite 1D2D - MeijersDSD-NL 2022 Waterkwaliteitsmodellering met D-HYDRO Suite 1D2D - Meijers
DSD-NL 2022 Waterkwaliteitsmodellering met D-HYDRO Suite 1D2D - Meijers
 
DSD-NL 2022 D-HYDRO Suite 1D2D, stand van zaken en vooruitblik - Verhoeven - ...
DSD-NL 2022 D-HYDRO Suite 1D2D, stand van zaken en vooruitblik - Verhoeven - ...DSD-NL 2022 D-HYDRO Suite 1D2D, stand van zaken en vooruitblik - Verhoeven - ...
DSD-NL 2022 D-HYDRO Suite 1D2D, stand van zaken en vooruitblik - Verhoeven - ...
 
DSD-NL 2022 Highlights van de zesde-generatie RWS modelschematisaties - Spruyt
DSD-NL 2022 Highlights van de zesde-generatie RWS modelschematisaties - SpruytDSD-NL 2022 Highlights van de zesde-generatie RWS modelschematisaties - Spruyt
DSD-NL 2022 Highlights van de zesde-generatie RWS modelschematisaties - Spruyt
 
DSD-NL 2022 Proactief watermanagement systeem van Bangkok - Hutten
DSD-NL 2022 Proactief watermanagement systeem van Bangkok - HuttenDSD-NL 2022 Proactief watermanagement systeem van Bangkok - Hutten
DSD-NL 2022 Proactief watermanagement systeem van Bangkok - Hutten
 
DSD-NL 2022 Toetsing op wateroverlast voor de Barneveldse en Lunterse Beek - ...
DSD-NL 2022 Toetsing op wateroverlast voor de Barneveldse en Lunterse Beek - ...DSD-NL 2022 Toetsing op wateroverlast voor de Barneveldse en Lunterse Beek - ...
DSD-NL 2022 Toetsing op wateroverlast voor de Barneveldse en Lunterse Beek - ...
 
DSD-NL 2022 Overstromingsberekeningen met D-HYDRO Suite 1D2D - de Lange
DSD-NL 2022 Overstromingsberekeningen met D-HYDRO Suite 1D2D - de LangeDSD-NL 2022 Overstromingsberekeningen met D-HYDRO Suite 1D2D - de Lange
DSD-NL 2022 Overstromingsberekeningen met D-HYDRO Suite 1D2D - de Lange
 
DSD-NL 2022 D-HYDRO modelgeneratie in Limburg - de Graaff
DSD-NL 2022 D-HYDRO modelgeneratie in Limburg - de GraaffDSD-NL 2022 D-HYDRO modelgeneratie in Limburg - de Graaff
DSD-NL 2022 D-HYDRO modelgeneratie in Limburg - de Graaff
 
DSD-NL 2022 D-HYDRO Gebruikersdag - Programma - Melger
DSD-NL 2022 D-HYDRO Gebruikersdag - Programma - MelgerDSD-NL 2022 D-HYDRO Gebruikersdag - Programma - Melger
DSD-NL 2022 D-HYDRO Gebruikersdag - Programma - Melger
 
DSD-NL 2021 Watersysteemanalyses-toetsingen - Horn, Weerts
DSD-NL 2021 Watersysteemanalyses-toetsingen - Horn, WeertsDSD-NL 2021 Watersysteemanalyses-toetsingen - Horn, Weerts
DSD-NL 2021 Watersysteemanalyses-toetsingen - Horn, Weerts
 
DSD-NL 2021 D-HyDAMO import en verificatie met D-HYDRO Suite
DSD-NL 2021 D-HyDAMO import en verificatie met D-HYDRO SuiteDSD-NL 2021 D-HyDAMO import en verificatie met D-HYDRO Suite
DSD-NL 2021 D-HyDAMO import en verificatie met D-HYDRO Suite
 
DSD-NL 2021 Toepassing (semi-)gedistribueerde hydrologie met D-HYDRO Suite - ...
DSD-NL 2021 Toepassing (semi-)gedistribueerde hydrologie met D-HYDRO Suite - ...DSD-NL 2021 Toepassing (semi-)gedistribueerde hydrologie met D-HYDRO Suite - ...
DSD-NL 2021 Toepassing (semi-)gedistribueerde hydrologie met D-HYDRO Suite - ...
 
DSD-NL 2021 Omzetten boezemmodel WS Hunze en Aa’s van SOBEK 2 naar D-HYDRO Su...
DSD-NL 2021 Omzetten boezemmodel WS Hunze en Aa’s van SOBEK 2 naar D-HYDRO Su...DSD-NL 2021 Omzetten boezemmodel WS Hunze en Aa’s van SOBEK 2 naar D-HYDRO Su...
DSD-NL 2021 Omzetten boezemmodel WS Hunze en Aa’s van SOBEK 2 naar D-HYDRO Su...
 
DSD-NL 2021 Casus Stellendam Goeree-Overflakkee - Stigter, Coster
DSD-NL 2021 Casus Stellendam Goeree-Overflakkee - Stigter, CosterDSD-NL 2021 Casus Stellendam Goeree-Overflakkee - Stigter, Coster
DSD-NL 2021 Casus Stellendam Goeree-Overflakkee - Stigter, Coster
 
DSD-NL 2021 Casus Leiderdorp - de Waard, Vlaar
DSD-NL 2021 Casus Leiderdorp - de Waard, VlaarDSD-NL 2021 Casus Leiderdorp - de Waard, Vlaar
DSD-NL 2021 Casus Leiderdorp - de Waard, Vlaar
 

DSD-NL 2014 - iMOD Symposium - 12b. iMOD OSS, Peter Vermeulen, Deltares

  • 1. Tuesday June 16, 2014 iMOD – OSS PTM Vermeulen1 I had a dream 1 Deltares Unit Subsurface and Groundwater Systems, Groundwater Management, the Netherlands
  • 2. iMOD-Structure 17 juni 2014 Main Program FORTRAN 90 *.F90 Dialogs WINTERACTER *.RC / *.BMP / *.CUR VISUAL STUDIO / INTEL FORTRAN COMPILER X32 / X64 WINTERACTER DELFTIO / NETCDF externe libraries
  • 3. iMOD Structure Winteracter Resource Editor: - Opbouw invoerschermen; - Opbouw bitmaps; 17 juni 2014 Dialogs WINTERACTER *.RC / *.BMP / *.CUR
  • 4. iMOD-Structure 17 juni 2014 Main Program FORTRAN 90 *.F90 IMOD_PRG.F90 MODEL1MAIN(ITYPE,MESSAGE) GET ACTION MODEL1RUN() DO ACTION IMOD_MODEL.F90 Check messages ITYPE: welk type MESSAGE: specifieke informatie
  • 5. iMOD-Structure 17 juni 2014 !###====================================================================== PROGRAM IMODPRG !###====================================================================== USE WINTERACTER USE RESOURCE USE MOD_MODEL, ONLY : MODEL1MAIN DO CALL WMESSAGE(ITYPE,MESSAGE) SELECT CASE(MESSAGE%WIN) CASE (ID_DMODEL,ID_DMODELTAB1,ID_DMODELTAB2) CALL MODEL1MAIN(ITYPE,MESSAGE) END SELECT ENDDO STOP END PROGRAM SUBROUTINE IN MODULE MOD_MODEL IDENTIFIERS IN RESOURCE.RC
  • 6. iMOD-Structure 17 juni 2014 MODULE MOD_MODEL USE MOD_MODEL_PAR CONTAINS !###====================================================================== SUBROUTINE MODEL1MAIN(ITYPE,MESSAGE) !###====================================================================== IMPLICIT NONE INTEGER,INTENT(IN) :: ITYPE TYPE(WIN_MESSAGE),INTENT(IN) :: MESSAGE SELECT CASE (ITYPE) CASE (PUSHBUTTON) SELECT CASE (MESSAGE%VALUE1) CASE (IDOK) CALL MODEL1RUN() END SELECT END SELECT END SUBROUTINE MODEL1MAIN END MODULE MOD_MODEL GLOBAL VARIABLES
  • 7. IMOD Inlezen IDF bestanden 17 juni 2014 MODULE MOD_READMYIDF USE MOD_READMYIDF_PAR CONTAINS !## process messages SUBROUTINE READMYIDF1MAIN(ITYPE,MESSAGE) END SUBROUTINE READMYIDF1MAIN !## read idf and calc SUBROUTINE READMYIDF1CALC() END SUBROUTINE READMYIDF1CALC !## save idf and plot SUBROUTINE READMYIDF1SAVEIT() END SUBROUTINE WRITEMYIDF1SAVEIT END MODULE MOD_READMYIDF MODULE MOD_READMYIDF_PAR USE MOD_IDF_PAR, ONLY : IDFOBJ, & IDFREAD, & IDFWRITE, & IDFDEALLOCATEX USE IMOD, ONLY : IDFINIT TYPE(IDFOBJ) :: IDF END MODULE MOD_READMYIDF_PAR imod_readmyidf_par.f90imod_readmyidf.f90
  • 8. IMOD Inlezen IDF bestanden 17 juni 2014 MODULE MOD_READMYIDF USE MOD_READMYIDF_PAR CONTAINS !## process messages SUBROUTINE READMYIDF1MAIN(ITYPE,MESSAGE) IMPLICIT NONE INTEGER,INTENT(IN) :: ITYPE TYPE(WIN_MESSAGE),INTENT(IN) :: MESSAGE SELECT CASE (ITYPE) CASE (PUSHBUTTON) SELECT CASE (MESSAGE%VALUE1) CASE (IDOK) CALL READMYIDF1CALC () END SELECT END SELECT END SUBROUTINE READMYIDF1MAIN !## read idf and calc SUBROUTINE READMYIDF1CALC() IMPLICIT NONE INTEGER :: IROW,ICOL IF(IDFREAD(IDF,’D:TEST.IDF’,1))THEN DO IROW=1,IDF%NROW; DO ICOL=1,IDF%NCOL IDF%X(ICOL,IROW)=IDF%X(ICOL,IROW)+1.0 ENDDO; ENDDO CALL READMYIDF1SAVEIT() CALL IDFDEALLOCATEX(IDF) ENDIF END SUBROUTINE READMYIDF1CALC !## save idf and plot SUBROUTINE READMYIDF1SAVEIT() IMPLICIT NONE IDF%FNAME=‘D:OUT.IDF’ IF(IDFWRITE(IDF,IDF%FNAME,1))THEN CALL IDFINIT(IDF%FNAME,LPLOT=.TRUE.) ENDIF END SUBROUTINE WRITEMYIDF1SAVEIT END MODULE MOD_READMYIDF
  • 9. Programmeren De snelste weg tussen twee punten is nog steeds een rechte lijn, kunst van het weglaten; Afweging genericiteit en efficientie; Programmeren is een kunst, niet iedereen met een kwast kan de nachtwacht schilderen 17 juni 2014