DSD-NL 2014 - NGHS Scripting in Delta Shell - Python scripten, Hidde Elzinga, Deltares

of 21/21
18 June 2014 Python scripten binnen Delta Shell Hidde Elzinga David Rodríguez Aguilera
  • date post

    01-Jun-2015
  • Category

    Engineering

  • view

    159
  • download

    2

Embed Size (px)

Transcript of DSD-NL 2014 - NGHS Scripting in Delta Shell - Python scripten, Hidde Elzinga, Deltares

  • 1. 18 June 2014 Python scripten binnen Delta Shell Hidde Elzinga David Rodrguez Aguilera

2. 18 June 2014 Doelen van deze workshop Waarom zou je scripting willen gebruiken? Wat kan (beter) met scripting? Welke tools zijn tot je beschikking om te scripten? Hoe heb ik tot nu toe zonder scripting kunnen leven? 3. Hoe? Inleiding: DS + Plugins Doel scripting (voordelen) Editor: Code completion Regions Syntax highlighting Debug etc Toolbox: Management scripts Documentatie: Online Ironpython 18 June 2014 4. Delta Shell 18 June 2014 Stat SOBEK D Flow FM WAVE MorphAn KRW Verkenner Habitat XBeach 5. Delta Shell: zonder scripting 18 June 2014 6. Delta Shell: scripting is alleen maar sneller? 18 June 2014 7. Delta Shell: scripting is alleen maar sneller? 18 June 2014 8. Delta Shell: scripting is snel n doeltreffend 18 June 2014 9. Delta Shell: scripting is snel n doeltreffend 18 June 2014 10. Maar PAS OP!! 18 June 2014 11. Scripting editor binnen Delta Shell Code voltooiing (built-in functies n zelf gedefineerde objecten en hun attributen) Tooltips met informatie over methodes / functies Debug (breakpoints, script stap voor stap draaien) 18 June 2014 Automatisch saven vr het runnen instelbaar Syntax kleurmarkering Onzichtbare characters weergeven (TAB, spatie, end-of-line) Automatische indentatie Toetsenbord shortcuts Variabelen wissen Context menus Verdeling in Regios Hulp met klasses en objecten altijd bij de hand 12. Toolbox Script beheer Bibliotheek scripts aanmaken Snel folders browsen (explorer acties) 18 June 2014 13. Documentatie Online Ironpython 18 June 2014 14. Even opwarmen: mijn eerste script Haal de naam van het huidige project op. Bewaar hem in een variabele. Print de waarde van die variabele. Ken een nieuwe naam aan een andere variabele toe. Wijzig de naam van het huidige project naar die nieuwe naam. Maak een functie van deze code. Laat spaties en tabs zien. Roep die functie om de naam in een klap aan te passen. 18 June 2014 15. def ChangeProjectName(newName): oldName = CurrentProject.Name CurrentProject.Name = newName print "Project name changed from" + oldName + " to "+ newName ChangeProjectName("Nieuw project") 18 June 2014 def ChangeProjectName(newName): CurrentProject.Name = newName ChangeProjectName("Nieuw project") Even opwarmen: mijn eerste script 16. 18 June 2014 Scripten draaien kan ook vanaf command line 17. 18 June 2014 En nu? 18. Sobek 2.12 model importeren Tijdsreeks vanaf csv file importeren en manipuleren Cordinaatsysteem aanpassen Satellietbeeld/Kaart als achtergrondsmap weergeven Model (flow, waq, rr, rtc) draaien Tijdsreeks ophalen van een willekeurig rekennode Randvoorwaarden pakken en aanpassen Ruwheid pakken en aanpassen Model calibreren Tijdsreeksen vergelijken Tijdsreeksen naar csv exporteren Traject 1: SOBEK 18 June 2014 19. FM model importeren NetCDF data uit OPeNDAP server inlezen Cordinaatsysteemtransformatie Getijgegevens uit een meetstation weergeven Meetpunten toevoegen Model draaien Modelsignal en meetgegevens plotten Traject 2: D-Flow Flexible Mesh (FM) 18 June 2014 20. Werk binnen Delta Shell GUI (Iron)Python syntax Scripten binnen de Delta Shell editor view Online hulp gebruiken Scripting toolbox gebruiken (scriptsbibliotheek aanmaken en gebruiken) Beide trajecten 18 June 2014 21. Aan de slag! 18 June 2014 TRAJECT 2 TRAJECT 1 FLEXIBLE MESH SOBEK SOBEK FLEXIBLE MESH Autocomplete: CTRL + SPATIE Selectie draaien: CTRL + ENTER Region draaien: CTRL + SHIFT + ENTER Alles wissen: cach weggooien Code voor alle tussenstappen beschikbaar in folder answers https://publicwiki.deltares.nl/display/TOOLS/Scripting+tutorial