Deze pagina geeft een overzicht van de configuratie werkzaamheden aan een FEWS systeem voor de implementatie van in Python ontwikkelde Extreme Waarde statistiek functies. Naast de configuratie werkzaamheden geeft het ook een beschrijving hoe de functionaliteit gebruikt moet worden.

Extreme Waarde statistiek

Het doel van de extreme waarde functionaliteit is het berekenen en tonen van herhalingstijden voor afvoeren en waterstanden. De berekende statistieken zijn gemaakt voor een op te geven periode, berekend op basis van uur tijdreeksen. De extreme waarde module is ontwikkeld in Python en als script beschikbaar gesteld. De Python module wordt vanuit de Delft-FEWS applicatie beheerd en gestart.

 

FEWS configuratie extreme waarde statistiek

Als eerste moeten er tijdreeksen geselecteerd worden waarvoor de extreme waarde statistiek berekend moeten worden. Dit zijn in dit voorbeeld de tijdreeksen voor alle locaties voor waterstanden en afvoeren. De gebruikte tijdreeksen zijn allen gevalideerde/bewerkte tijdreeksen die door specifieke FEWS module instances zijn aangemaakt. De volgende tijdreeksen uit een FEWS systeem zullen gebruikt worden.  

Parameter

LocationSet

Moduleinstance

Tijdstap

Q.meting

TMX_LM_Q.meting_10min

Aggregeren_uur

1 uur

H.meting

TMX_LM_H.meting_10min

Aggregeren_uur

1 uur

 Voor het berekenen van de extreme waarde statistiek worden de bovenstaande tijdreeksen als basis invoer tijdreeksen gebruikt. Voor de berekeningen van de extreme waarde statistiek zijn de volgende FEWS configuratie bestanden belangrijk. Een aantal van deze bestanden zijn per parameter op eenzelfde manier geconfigureerd, de configuratie voor een parameter zal worden besproken.

  • Workflows: \WorkflowFiles\Herhalingstijden\Herhalingstijden_Afvoeren.xml
  • Starten officiële workflow \DisplayConfigFiles\TaskRunDialog.xml
  • Starten project workflow \RegionConfigFiles\Topology.xml
  • Transformaties: \ModuleConfigFiles\Herhalingstijden\Samenvoegen_Afvoeren.xml
  • EW Module: \ModuleConfigFiles\Herhalingstijden\Bereken_Herhalingstijden_Afvoeren.xml
  • Rapporten: \ModuleConfigFiles\Herhalingstijden\Herhalingstijden_Rapport_Afvoeren.xml
  • Presenteren karakteristieken: \DisplayConfigFiles\GridDisplay.xml
  • Aanpassingen parameters: \DisplayConfigFiles\ModifiersDisplay.xml
  • Waarschuwingsniveaus: \RegionConfigFiles\Thresholds.xml

Naast de officiële workflow voor het berekenen van extreme waarde statistiekis ook de mogelijkheid gegeven om lokaal voor een project dezelfde berekeningen uit te voeren. Voor deze lokale berekeningen zijn geen extra configuratie bestanden of workflows toegevoegd. Het verschil met de officiële berekeningen is dat deze berekeningen op de lokale PC worden uitgevoerd en geen gegevens naar de Centrale FEWS database schrijven. Tijdens de berekening worden lokaal rapporten aangemaakt, de geproduceerde tijdreeksen worden na het afsluiten van een FEWS SA of OC uit het tijdelijke geheugen verwijderd. In de volgende paragrafen zal iets dieper worden ingegaan op de configuratie bestanden van de officiële berekeningen.

WorkflowFiles, Start Taak en Lokale Taken

Er zijn een aantal nieuwe workflow files aangemaakt voor het berekenen van extreme waarden. Deze workflows zijn opgeslagen in de sub-folder Herhalingstijden:

  • Herhalingstijden_Afvoeren.xml
  • Herhalingstijden_Afvoeren_Locatie.xml
  • Herhalingstijden_Compleet.xml
  • Herhalingstijden_Waterstanden.xml
  • Herhalingstijden_Waterstanden_Locatie.xml

Er zijn verschillende workflows per parameter, en workflows voor het berekenen van een locatie of alle locaties in 1 keer. De workflow Herhalingstijden_Compleet.xml kan worden opgestart via het ‘start taken’ scherm, de andere workflows alleen via het ‘Lokale taken’ scherm. De workflows voor de verschillende parameters hebben de volgende structuur:

Herhalingstijden_Afvoeren.xml

Herhalingstijden_Afvoeren_Locatie.xml

Het grootste verschil is dat de eerste workflow de berekeningen uitvoert voor alle locaties van de TMX Q.meting locatieset. Deze locatieset is speciaal toegevoegd voor de bandbreedtes berekening en bevat alle TMX locaties. De bovengenoemde workflows zijn aan de RegionConfigFiles\WorkflowDescriptors.xml toegevoegd. Het is niet de bedoeling dat de nieuwe workflows gescheduled worden op de centrale FEWS server. Het is aan te raden om de extreme waarde berekeningen jaarlijks te updaten, de workflow hoeft dan ook maar 1 keer per jaar gedraaid te worden. Dat kan handmatig, of door de workflow Herhalingstijden_Compleet.xml toe te schedulen via de Admin Interface.

De workflow Herhalingstijden_Compleet.xml is aan de het ‘Start Taak’ FEWS scherm toegevoegd, hiervoor is er een extra element nodig in het \DisplayConfigFiles\TaskRunDialog.xml bestand.

Via het lokale Taken scherm kan de extreme waarden berekening lokaal worden uitgevoerd. Om dit mogelijk te maken is de \RegionConfigFiles\Topology.xml toegevoegd. In dit bestand zijn de berekeningen per parameter georganiseerd. Het is mogelijk om de workflow Herhalingstijden_Afvoeren.xml te starten zodat alle Afvoeren worden berekend, of de workflow Herhalingstijden_Afvoeren_Locatie.xml om de berekening per locatie uit te voeren.

In de Topology is opgegeven dat de berekening voor een periode van 10.000 dagen (coldstate) voor de huidige tijd moet worden uitgevoerd.

Per node is opgegeven voor welke locatie de gebruikt moet worden in de berekening, hiervoor is property SelectedLocation gebruikt.

Transformaties, General Adapter en Rapporten

Voor de berekeningen van de extreme waarde statistiek worden drie activiteiten uitgevoerd; dit is in de workflows te zien. Deze activiteiten voeren de volgende bewerkingen uit.

  • Transformatie voor het samenvoegen van de invoer reeksen tot 1 tijdelijke tijdreeks.
  • General Adapter voor het aansturen van de Python Extreme Waarde module.
  • Rapport voor het genereren van een HTML rapport per locatie.

Voor deze activiteiten zijn de configuratie bestanden toegevoegd aan de \ModuleConfigFiles\Herhalingstijden folder.

 

Samenvoegen_Afvoeren.xml

De configuratie van de transformatie functie volgt de standaard manier voor Delft-FEWS transformatie bestanden. Het bestand is opgedeeld in 2 stukken:

  • Definitie van de invoer en uitvoer tijdreeksen (variable)
  • Opzetten van de transformatie functie (transformation

oor de in en uitvoer tijdreeksen is als voorbeeld de Afvoeren tijdreeksen gebruikt. Omdat de Q.meting tijdreeksen uit 2 bronnen kan komen (TMX LM en TMX TSI) worden de tijdreeksen eerst samengevoegd tot een tijdelijke samengevoegde reeks. Deze stap is nodig zodat in de volgende modules alleen met de samengevoegde reeks gewerkt kan worden, dat vereenvoudigd de configuratie. Wat eigenlijk gebeurt is dat er een keuze gemaakt wordt uit 1 van de 2 bronnen (LM of TSI locaties).

De samengevoegde locatieset is TMX_Q.meting_Bandbreedtes, deze is toegevoegd aan het \RegionConfigFiles\LocationSets.xml bestand.

 

Bereken_Herhalingstijden_Afvoeren.xml

De Python module wordt aangeroepen door de General Adapter; dit is een generieke adapter om externe modules aan te roepen vanuit Delft-FEWS. De configuratie van een general adapter module bevat een aantal activiteiten, de belangrijkste zijn hieronder genoemd.

In de General sectie worden de folders aangewezen waar de Python module draait en waar het zijn input en output data vandaan kan halen. Via een Id mapping bestand worden ook de door het FEWS gebruikt parameters omgezet naar de parameters gebruikt door de Python module.

In de Activities sectie worden de uit te voeren General Adapter activiteiten opgegeven. Dit zijn activiteiten om data weg te schrijven (tijdreeksen en parameters voor de Python module), activiteiten om de Python module te starten en ene activiteit om de resultaten (berekende tijdreeksen) weer te importeren en op te slaan in de FEWS database.

In de Execute activity wordt Python opgestart ($PYTHON_EXE$) met als argument het Python script. De variabele ($PYTHON_EXE$) moet worden opgegeven in de global.properties van de FEWS OC, FSS en SA applicaties.

 

Herhalingstijden_Rapport_Afvoeren.xml

De laatste activiteit is het genereren van een HTML rapport met hierin de resultaten van de extreme waarde analyse. Het HTML rapport wordt gemaakt met de Delft-FEWS Report module en een report template file. De configuratie van een report module bestaat uit een declarations sectie en een report sectie. In de declarations sectie staan o.a de te gebruiken tijdreeksen, de opmaak van de tabellen en de locatie van de gegenereerde rapporten. In de report sectie staat voor welke locatie ene rapport gemaakt moet worden en welke template gebruikt moet worden.

Net als in de General Adapter module staat in de Report module een variabele ($EVREPORTSDIR$) die refereert naar een global.properties variabele. Deze variabele geeft aan in welke folder de rapporten moeten worden opgeslagen.

De gebruikte HTML template (\ReportTemplateFiles\herhalingstijd_template.html) is gebruikt voor alle rapporten en kan met ene standaard tekst editor worden aangepast.

Global.properties

Voor de Extreme Waarde berekening zijn enkele variabelen toegevoegd aan de global.properties bestanden van het FEWS. Het is de bedoeling dat de volgende regels in de global.properties van een FEWS Stand Alone, FEWS OC en een FEWS FSS komen.

GA_DUMPFILEDIR=%REGION_HOME%/Dumpfiles

PYTHON_EXE=c:/Program Files/Anaconda2/python.exe

EVREPORTSDIR=%REGION_HOME%/Rapporten

#temporarily added for 215.02 FEWS release to prevent error logging. Is resolved in 2016.01 release

LOOP_LOCATION_ID=0001

De volgende global.properties bestanden uit de RootconfigFiles zijn aangepast:

  • global.properties
  • fss_global.properties
  • citrix_global.properties

Qualfiers.xml

Het \RegionConfigFiles\Qualifiers.xml bestand wordt gebuikt als extra kenmerk van een tijdreeks, het kan gezien worden als een soort sub-parameter. In het FEWS worden al qualifiers gebruikt, er zijn een aantal qualifiers toegevoegd voor de extreme waarde berekeningen.

Het shortName element (kolom 3) wordt gebruikt voor de legenda van tijdreeksen in de grafieken van het FEWS.

Modifiers, aanpassen van parameters

De Delft-FEWS module om parameters aan te kunnen passen heeft de modifiers module. Deze module wordt in het FEWS gebruikt om de parameters van de extreme waarde module aan te passen. Deze parameters zijn locatie attributes, worden opgeslagen in een csv bestand en ingelezen door de het \LocationSets.xml bestand.

Voor het gebruik van de location attributes zijn de volgende bestanden belangrijk:

  • \RootConfigFiles\TMX.xlsm: Dit is het Excel bestand waarmee de meta data van de locaties in het FEWS beheerd worden. Dit bestand zal de Herhalingstijden.csv wegschrijven.
  • \MapLayerFiles\Herhalingstijden.csv: Dit is het locatie attribute bestand waarin alle eigenschappen van de extreme waarde module en herhalingstijden staan.
  • \RegionConfigFiles\LocationSets.xml: Leest de Herhalingstijden.csv in als locatie attributen van de TMX locaties

Het \RegionConfigFiles\ModifierTypes.xml bestand geeft aan welke locatie attributen aangepast mogen worden en gebruikt in de Python module. Dit bestand verzorgt de lay-out van de Model Parameters display die via de Lokale Taken kan worden aangeroepen.

De modifiers werken alleen maar voor lokale runs en worden na 1 dag verwijderd uit de lokale datacache van het FEWS.

Thresholds en Waarschuwingsniveaus

Het resultaat van de extreme waarde module zijn herhalingstijden van waterstanden en afvoeren. Deze herhalingstijden worden berekend en in de HTML pagina opgeslagen; ze worden niet opgeslagen in de FEWS database. De herhalingstijden kunnen ook getoond worden in de grafieken van de tijdreeksen, hiervoor worden de volgende configuratie bestanden gebruikt.

\MapLayerFiles\Herhalingstijden.csv

Dit bestand bevat de herhalingstijden als waarschuwingsniveaus. Er zijn per locatie waarschuwingsniveaus voor afvoeren en waterstanden.

\RegionConfigFiles\LocationSets.xml

Dit bestand leest de herhalingstijden als waarschuwingsniveaus in en koppelt ze als locatie attributen aan de locaties.

\RegionConfigFiles\Thresholds.xml

Dit bestand bevat de waarschuwingsniveaus (thresholds) die binne het FEWS gebruikt worden. Er zijn drie groepen toegevoegd met per groep een aantal thresholds met herhalingstijden.

\RegionConfigFiles\ThresholdValueSets.xml

In dit bestand worden de tijdreeksen gekoppeld aan de thresholds en de locatie attributes. In het voorbeeld voor de waterstanden worden de TMX LM en TSI uur tijdreeksen gekoppeld.

\SystemConfigFiles\TimeSeriesDisplayConfig.xml

In dit bestand moet worden aangegeven hoe de thresholds gepresenteerd moeten worden, en wat de default threshold groep is die in de grafieken getoond moet worden.

Grid display

Niet alle resultaten van e extreme waarde module worden opgeslagen in de database van het FEWS. De tijdreeksen die wel worden opgeslagen zijn zichtbaar in de Grid display; dit zijn de resultaten van de homogeniteit toetsen en andere karakteristieken van de tijdreeks die gebruikt is.

Uitvoeren extreme waarde berekeningen in FEWS

Uitvoeren van een officiële berekening

De berekening van de officiële herhalingstijden (extreme waarden) workflow kan gestart worden vanuit het Start Taak tabblad van het FEWS. Er is een nieuwe taak geconfigureerd met de naam ‘Herhalingstijden compleet continu’.

  

Na het selecteren van de taak kan de starttijd en eindtijd opgegeven worden en door het drukken op de knop <Uitvoeren> zal de taak gestart worden. Voor alle waterstand en afvoer locaties worden de extreme waarde analyses uitgevoerd en de statistieken opgeslagen in de database van het FEWS.

Deze berekening kan niet voor een of enkele locaties worden uitgevoerd via de start taken display, hiervoor is de lokale taken functionaliteit ontwikkeld.

Wanneer de berekeningen voltooid zijn kunnen de resultaten in de Grid display bekeken worden. De meest interessante resultaten zijn echter de extreme waarde grafieken en tabellen, deze zijn beschikbaar in de geconfigureerde folder op de Server.

Uitvoeren van een alternatieve berekening

Voor de hydrologen van het waterschap is er een display toegevoegd, de Lokale Taken display. Via deze lokale taken display kunnen de extreme waarde analyses worden uitgevoerd voor een enkele locatie, of voor een groep locaties. Om voor een enkele locatie de extreme waarde analyse uit te voeren moet de display Lokale Taken worden geopend.

 

  

Vervolgens moet een locatie worden geselecteerd uit de lijst en de Run knop worden ingedrukt, dat is de linker knop bovenaan het scherm.

 

 

Als de berekening compleet is kan de HTML pagina worden geopend die is opgeslagen in de \Rapporten folder. De HTML pagina bevat enkele tabellen en grafieken die gegenereerd zijn door de Python module. Wanneer de standaard parameters van de Python module aangepast moeten worden kan gebruik worden gemaakt van het Model Parameters scherm. In dit scherm kunnen de standaard model parameters voor de geselecteerde locatie worden aangepast en de berekening lokaal worden uitgevoerd. Het aanpassen en opnieuw draaien met aangepaste model parameters werkt als volgt.

  1. Selecteer een locatie in het Lokale Taken scherm
  2. Open het Model Parameters scherm
  3. Verander een waarde in de kolom ‘aangepaste waarde’ van het Model Parameters scherm. Dit kan bv de Maximum X-as zijn.
  4. Druk op de knop <Opslaan> om de modifier op te slaan in de lokale FEWS cache bestanden.
  5. Druk op de Run knop in het Lokale Taken scherm of de “Uitvoeren” knop in het Model Parameters scherm om de aangepaste berekening te starten.

 Wanneer de extreme waarden zijn uitgerekend en de aangepaste model parameters beter zijn dan de originele model parameter waardes moeten de aangepaste model parameter waardes aangepast worden in the TMX.xmls bestand dat beheerd wordt door Rolf.

 Gebruik van Python

Voor het uitvoeren van de extreme waarde analyse is het belangrijk at Python geïnstalleerd wordt op de computer waar de berekeningen worden uitgevoerd. Dit kan een FSS zijn bij officiële berekeningen en een lokale computer of CITRIX profiel voor lokale berekeningen. Het is belangrijk dat Python versie 2.7 wordt geïnstalleerd, bij voorkeur 32-bits Anaconda.

Bij installatie van Anaconda2 4.2.0 op welke pc/server dan ook moeten de volgende instellingen gedaan worden:

 

Installeren voor alle gebruikers

 

 Installeren in standaardfolder (anders verwijzing in relevante global.properties aanpassen).

 

 Anaconda aan PATH toevoegen, maar niet als systeem-Python registreren (mag wel, maar geeft mogelijk conflicten als er al een Python-installatie beschikbaar is)

Achtergrond bij uitgevoerde berekeningen

Bij het uitvoeren van de extreme waarde berekeningen worden in de Python module een aantal bewerkingen en berekeningen uitgevoerd. Hieronder een opsomming van deze bewerkingen.

Aanpassen rekenperiode tijdreeks

De tijdreeks die naar de Python module gestuurd wordt beslaat standaard een periode van 10000 dagen; van de huidige systeem tijd tot 10000 dagen voor de systeem tijd. Deze periode kan worden aangepast in het lokale Taken scherm, het is echter aan te bevelen om deze periode lang te maken. De Python module zal de hele aangeleverde tijdreeks inlezen en alle ontbrekende waardes aan het begin en eind van de tijdreeks verwijderen voordat het met de analyse begint. De berekening periode staat in de extreme waarde grafiek.

Homogeniteit toetsen

Er zijn verschillende statistische toetsmethoden beschikbaar, die elk gebruik maken van één bepaalde karakteristiek die uit de meetreeks afgeleid wordt. In dit memo worden de volgende 3 toetsen uitgevoerd:

Pearson t-test: test op steilheid trendlijn.

Manning-Kendall test: vergelijken van alle tweetallen van jaarmaxima. Deze toets maakt een onderlinge vergelijking voor alle mogelijke combinaties van tweetallen van waarnemingen. Als de meetreeks N waarden bevat, dan zijn er in totaal N*(N-1)/2 verschillende combinaties van tweetallen. Voor bijvoorbeeld een meetreeks van 100 waarden zijn dit orde 5000 vergelijkingen. Bij elke vergelijking wordt vastgelegd of de eerst gemeten waarde groter, of juist kleiner is dan de andere waarde. Bij een homogeen proces zouden de beide opties ongeveer even vaak moeten voorkomen. Indien blijkt dat dit voor de te toetsen meetreeks duidelijk niet het geval is, wordt de nulhypothese van inhomogeniteit verworpen.

Spearman rank correlation test: rangschikking van jaren. Deze toets vergelijkt voor alle N waarnemingen de plaats in de rangschikking (op volgorde van grootte) en het tijdstip waarop deze is waargenomen. Voor de meetreeks van een inhomogeen proces geldt dat er “naar verwachting” geen correlatie is tussen de rangschikking van de metingen en het moment van waarnemen. Indien deze correlatie voor een bepaalde meetreeks sterk afwijkt van 0, dan wordt de nulhypothese van inhomogeniteit verworpen.

Wilcoxon-Mann-Whitney U test: splitsen van reeks in 2 delen. Deze toets splitst de meetreeks in tweeën en vergelijkt de mediaan van de beide (deel)reeksen. Als deze sterk van elkaar verschillen, dan wordt de nulhypothese van inhomogeniteit verworpen. Merk op dat de twee deelreeksen niet per definitie even lang hoeven zijn. Dus als het vermoeden bestaat van een “sprong” in de metingen op bijvoorbeeld 2/3 van de meetreeks dan is het aan te raden bij deze test de reeks te splitsen op het moment van de sprong.

 Kleuren van Exponentiele fit

Een aantal tijdreeks karakteristieken worden gebruikt voor het bepalen van de kleur van de exponentiële fit lijn in de grafiek. De kleur is gebaseerd op de volgende criteria.

 

Configuratie bestanden

De Delft-FEWS configuratie bestanden, inclusief de Python scripts zijn hier te downloaden.

  • No labels