...
Code Block |
---|
title | Single domain example config General Adapter |
---|
|
<?xml version="1.0" encoding="UTF-8"?>
<generalAdapterRun xmlns="http://www.wldelft.nl/fews" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.wldelft.nl/fews http://fews.wldelft.nl/schemas/version1.0/generalAdapterRun.xsd">
<general>
<rootDir>$REGION_HOME$\Modules\dflowfm</rootDir>
<workDir>%ROOT_DIR%</workDir>
<exportDir>%ROOT_DIR%\dflowfm_curacao\input</exportDir>
<exportDataSetDir>$REGION_HOME$\Modules</exportDataSetDir>
<exportIdMap>IdExport_DFlowFM</exportIdMap>
<importDir>%ROOT_DIR%\dflowfm_curacao\output</importDir>
<importIdMap>IdImport_DFlowFM</importIdMap>
<dumpFileDir>$GA_DUMPFILEDIR$</dumpFileDir>
<dumpDir>%ROOT_DIR%\dflowfm_curacao\dump</dumpDir>
<diagnosticFile>%ROOT_DIR%\dummy.xml</diagnosticFile>
<missVal>-999.</missVal>
<!-- Take care this should be the timezone the computer is running in -->
<timeZone>
<timeZoneOffset>-04:00</timeZoneOffset>
</timeZone>
<endDateTimeFormat>yyyyMMdd_HHmmss</endDateTimeFormat>
</general>
<activities>
<startUpActivities>
<purgeActivity>
<filter>%ROOT_DIR%\dflowfm_curacao\output\*.*</filter>
</purgeActivity>
<purgeActivity>
<filter>%ROOT_DIR%\dflowfm_curacao\input\*.*</filter>
</purgeActivity>
</startUpActivities>
<exportActivities>
<exportStateActivity>
<moduleInstanceId>DFlowFM_curacao_Historical</moduleInstanceId>
<stateExportDir>%ROOT_DIR%\dflowfm_curacao\instate</stateExportDir>
<stateSelection>
<warmState>
<stateSearchPeriod unit="hour" start="-23" end="-2"/>
</warmState>
</stateSelection>
</exportStateActivity>
<exportNetcdfActivity>
<exportFile>air_pressure.nc</exportFile>
<timeSeriesSets>
<timeSeriesSet>
<moduleInstanceId>WFLOW_curacao_GA_Historical</moduleInstanceId>
<valueType>grid</valueType>
<parameterId>P.specific</parameterId>
<locationId>wflow_curacao</locationId>
<timeSeriesType>simulated historical</timeSeriesType>
<timeStep unit="hour" multiplier="1"/>
<relativeViewPeriod unit="hour" end="0"/>
<readWriteMode>add originals</readWriteMode>
</timeSeriesSet>
</timeSeriesSets>
</exportNetcdfActivity>
<exportNetcdfRunFileActivity>
<description>This run file is passed as argument to DFLOWFM pre adapter</description>
<exportFile>%WORK_DIR%\run_info.nc</exportFile>
<properties>
<string key="model_id" value="dflowfm_curacao\curacao"/>
<string key="input_grid_files_to_convert" value="%ROOT_DIR%\dflowfm_curacao\input\x_wind.nc;%ROOT_DIR%\dflowfm_curacao\input\air_pressure.nc"/>
</properties>
</exportNetcdfRunFileActivity>
</exportActivities>
<executeActivities>
<executeActivity>
<description>DFlowFM pre adapter</description>
<command>
<className>nl.deltares.dflowfm.DFlowFMPreAdapter</className>
<binDir>adapter</binDir>
</command>
<arguments>
<argument>%WORK_DIR%\run_info.nc</argument>
</arguments>
<logFile>
<file>%WORK_DIR%\dflowfm_pre_adapter_log.txt</file>
<errorLinePattern>*ERROR*</errorLinePattern>
<warningLinePattern>*WARN*</warningLinePattern>
<infoLinePattern>*INFO*</infoLinePattern>
<debugLinePattern>*DEBUG*</debugLinePattern>
</logFile>
<timeOut>99999999</timeOut>
<ignoreDiagnostics>true</ignoreDiagnostics>
</executeActivity>
<executeActivity>
<description>Run DFLOWFM</description>
<command>
<executable>bin\unstruc.exe</executable>
</command>
<arguments>
<argument>--autostartstop</argument>
<argument>dflowfm_curacao\curacao.mdu</argument>
</arguments>
<logFile>
<file>%WORK_DIR%\dflowfm_curacao\curacao.dia</file>
<errorLinePattern>*ERROR*</errorLinePattern>
<warningLinePattern>*WARNING*</warningLinePattern>
<debugLinePattern>*INFO*</debugLinePattern>
<debugLinePattern>*DEBUG*</debugLinePattern>
</logFile>
<timeOut>44200000</timeOut>
<ignoreDiagnostics>true</ignoreDiagnostics>
</executeActivity>
</executeActivities>
<importActivities>
<importStateActivity>
<stateFile>
<importFile>%WORK_DIR%\dflowfm_curacao\output\curacao_%END_DATE_TIME%_rst.nc</importFile>
<relativeExportFile>curacao_%END_DATE_TIME%_rst.nc</relativeExportFile>
</stateFile>
</importStateActivity>
<importNetcdfActivity>
<importFile>%WORK_DIR%\dflowfm_curacao\output\curacao_map.nc</importFile>
<timeSeriesSets>
<timeSeriesSet>
<moduleInstanceId>DFlowFM_curacao_Historical</moduleInstanceId>
<valueType>grid</valueType>
<parameterId>H.sim</parameterId>
<locationId>DFlowFM_Curacao</locationId>
<timeSeriesType>simulated historical</timeSeriesType>
<timeStep unit="nonequidistant"/>
<readWriteMode>add originals</readWriteMode>
</timeSeriesSet>
</timeSeriesSets>
</importNetcdfActivity>
</importActivities>
</activities>
</generalAdapterRun>
|
Multi domain D-Flow FM model (pending)
Example of changes to the config when dealing with a D-Flow FM model with multiple domains.
Code Block |
---|
title | Multi domain example config General Adapter |
---|
|
<?xml version="1.0" encoding="UTF-8"?>
pending ... |
Sigma layers - import D-Flow FM 3D results
Code Block |
---|
title | RegionConfigFiles/Grids.xml |
---|
|
<irregular locationId="sigma_0000">
<netcdfFile>
<file>$TEMP_DIR$/nz3d3d_flowgeom_0000.nc</file>
<meshTopologyVariableName>mesh2d</meshTopologyVariableName>
<staggerLocation>face</staggerLocation>
</netcdfFile>
</irregular>
|
Code Block |
---|
title | RegionConfigFiles/Locations.xml |
---|
|
<location id="sigma.0000">
<x>0</x>
<y>0</y>
</location>
|
Code Block |
---|
title | RegionConfigFiles/LocationSets.xml |
---|
|
<locationSet id="sigmaLayers_0000"> <!-- i.e. locationSet for all sigmalayers in domain 0000 -->
<csvFile>
<file>sigma_layers.csv</file>
<id>SigmaLayer_%INDEX%_%INDEX%<0000</id>
<parentLocationId>sigma< <!-- i.e. locationId consists of SigmaLayer_0_0000, SigmaLayer_1_0000, etc for all indices / sigma layers in domain 0000 -->
<parentLocationId>sigma.0000</parentLocationId>
<x>0</x>
<y>0</y>
<layerSigmaCoordinate>%SIGMA%</layerSigmaCoordinate>
</csvFile>
</locationSet>
|
Code Block |
---|
title | MapLayerFiles/sigma_layers.csv |
---|
|
INDEX,SIGMA
0,0.025
1,0.075
2,0.125
3,0.175
4,0.225
5,0.275
6,0.325
7,0.375
8,0.425
9,0.475
10,0.525
11,0.575
12,0.625
13,0.675
14,0.725
15,0.775
16,0.825
17,0.875
18,0.925
19,0.975
|
Through the use of <mapLocationsByLayerSigmaCoordinate> the location is resolved by the sigma layer coordinates in the generalAdapter:
Code Block |
---|
title | Sigma layer example config General Adapter import activity |
---|
|
<?xml version="1.0" encoding="UTF-8"?>
<generalAdapterRun xmlns="http://www.wldelft.nl/fews" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.wldelft.nl/fews http://fews.wldelft.nl/schemas/version1.0/generalAdapterRun.xsd">
<general>
<rootDir>$TEMP_DIR$</rootDir>
<workDir>$TEMP_DIR$</workDir>
<exportDir>$TEMP_DIR$</exportDir>
<importDir>$TEMP_DIR$</importDir>
<dumpFileDir>$TEMP_DIR$</dumpFileDir>
<dumpDir>$TEMP_DIR$</dumpDir>
<diagnosticFile>$TEMP_DIR$/diagnostic.xml</diagnosticFile>
</general>
<activities>
<importActivities>
<importNetcdfActivity>
<importFile>noordzee_3d_map.nc</importFile>
<timeSeriesSets>
<timeSeriesSet>
<moduleInstanceId>GeneralAdapterRun</moduleInstanceId>
<valueType>grid</valueType>
<parameterId>sa1</parameterId>
<locationSetId>sigmaLayers<<locationSetId>sigmaLayers_0000</locationSetId>
<!-- i.e. all sigmalayer locationIds for domain 0000 -->
<timeSeriesType>external historical</timeSeriesType>
<timeStep unit="nonequidistant"/>
<readWriteMode>add originals</readWriteMode>
</timeSeriesSet>
</timeSeriesSets>
<mapLocationsByLayerSigmaCoordinate>true</mapLocationsByLayerSigmaCoordinate>
</importNetcdfActivity>
</importActivities>
</activities>
</generalAdapterRun>
|
Sigma layers - display D-Flow FM 3D results in GridDisplay
In addition to This example builds on the grid, location and locationSet defined in the example above:. It assumes sigma layers for a multi domain model.
Code Block |
---|
title | Sigma layer example config GridDisplay | RegionConfigFiles/LocationSets.xml |
---|
|
<locationSet id="SigmaLayer_0_####"> <!-- SigmaLayer with index 0 for all domains -->
<locationId>SigmaLayer_0_0000</locationId>
<locationId>SigmaLayer_0_0001</locationId>
<locationId>SigmaLayer_0_0002</locationId>
...
</locationSet>
<locationSet id="sigma.merged"> <!-- parentLocations for all domains -->
<locationId>sigma.0000</locationId> <!-- parentLocationId for domain 0000 -->
<locationId>sigma.0001</locationId>
<locationId>sigma.0002</locationId>
...
</locationSet> |
Code Block |
---|
title | Sigma layer example config GridDisplay |
---|
|
<gridDisplay xmlns="http://www.wldelft.nl/fews" xmlns:<gridDisplay xmlns="http://www.wldelft.nl/fews" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.wldelft.nl/fews http://fews.wldelft.nl/schemas/version1.0/gridDisplay.xsd">
<title>title</title>
<gridPlotGroup id="gridPlotGroupId" name="gridPlotGroupName">
<gridPlot id="gridPlotId" name="gridPlotName">
<dataLayer>
<arrowColor>white</arrowColor>
<arrowSymbol>flow</arrowSymbol>
<multipleArrowsPerValue>false</multipleArrowsPerValue>
<uTimeSeriesSet>
<moduleInstanceId>DFlowFM_HC</moduleInstanceId>
<valueType>grid</valueType>
<parameterId>C.simulated.u<<parameterId>parameter</parameterId>
<locationSetId>DFlowFM<locationSetId>SigmaLayer_0_####</locationSetId>
<timeSeriesType>simulated historical</timeSeriesType>
<timeStep unit="nonequidistant"/>
<readWriteMode>read complete forecast</readWriteMode>
</uTimeSeriesSet>
<vTimeSeriesSet>
<moduleInstanceId>DFlowFM_HC</moduleInstanceId>
<valueType>grid</valueType>
<parameterId>C.simulated.v<<parameterId>parameter</parameterId>
<locationSetId>DFlowFM<locationSetId>SigmaLayer_0_####</locationSetId>
<timeSeriesType>simulated historical</timeSeriesType>
<timeStep unit="nonequidistant"/>
<readWriteMode>read complete forecast</readWriteMode>
</vTimeSeriesSet>
<uvAmplitudeParameterId>C.simulated.speed</uvAmplitudeParameterId>
<sigmaScaleReferenceTimeSeriesSet> <uvDirectionParameterId>C.simulated.dir</uvDirectionParameterId>
<sigmaScaleReferenceTimeSeriesSet> <!-- when this is configured, a vertical slider becomes automatically visible in GridDisplay to slide through the water column -->
<moduleInstanceId>DFlowFM_HC</moduleInstanceId>
<valueType>grid</valueType>
<parameterId>WD.simulated<<parameterId>parameter</parameterId>
<locationSetId>DFlowFM<locationSetId>sigma.merged</locationSetId>locationSetId> <!-- parentLocations -->
<timeSeriesType>simulated historical</timeSeriesType>
<timeStep unit="nonequidistant"/>
<readWriteMode>read complete forecast</readWriteMode>
</sigmaScaleReferenceTimeSeriesSet>
</dataLayer>
<barLegend>
<position>right</position><verticalSliderRange start="0" end="100"/> <!-- limit the min and max water depth used in the vertical slider in the GridDisplay -->
<width>50</width>
<length>400</length>
<labelsInside>true</labelsInside>
</barLegend>
<classBreaksId>Class.Currents</classBreaksId>
<contourLinesColor>antique white</contourLinesColor>
<verticalSliderRange start="0" end="100"/>
<!-- if not configured the range of slider is automatically set to cover all available water depths in the grid for the entire period displayed -->
</gridPlot>
</gridPlotGroup> |
Multi domain D-Flow FM model
Example of changes to the config when dealing with a D-Flow FM model with multiple domains.
...
title | Multi domain example config General Adapter |
---|
...
...