...
Please note that for running DFlow-FM from Delft-FEWS only a pre-adapter is needed (a post-adapter is not needed).
...
D-Flow FM model configuration example (single domain, 2D data import)
Example of a FEWS general adapter configuration that uses the DFlow-FM adapter.
Code Block | ||
---|---|---|
| ||
<?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> |
...
Sigma layers - import D-Flow FM 3D results (multi domain model
...
)
Example of changes to the config when dealing with a D-Flow FM model with multiple domains, using sigma layers.
Code Block | ||
---|---|---|
| ||
<?xml version="1.0" encoding="UTF-8"?>
pending ... |
Sigma layers - import D-Flow FM 3D results
| ||
<irregular locationId="sigma_0000">
<netcdfFile>
| ||
Code Block | ||
---|---|---|
| ||
<irregular locationId="sigma_0000">
<netcdfFile>
<file>$TEMP_DIR$/3d_flowgeom_0000.nc</file>
<meshTopologyVariableName>mesh2d</meshTopologyVariableName>
<staggerLocation>face</staggerLocation>
</netcdfFile>
</irregular>
|
...
Code Block | ||
---|---|---|
| ||
<?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> <activities> <importActivities> <importFile>%WORK_DIR%/DFM_OUTPUT/model_0000_map.nc</importFile> <importNetcdfActivity> <importFile>noordzee_3d_map.nc</importFile> <timeSeriesSets> <timeSeriesSet> <moduleInstanceId>GeneralAdapterRun<<moduleInstanceId>model_DFlowFM_FC</moduleInstanceId> <valueType>grid</valueType> <parameterId>sa1<<parameterId>H.simulated</parameterId> <locationSetId>sigmaLayers_<locationId>sigmaLayers.0000</locationSetId> locationId> <!-- i.e. all sigmalayer locationIds parentLocation for domain 0000 --> <timeSeriesType>external<timeSeriesType>simulated historical<forecasting</timeSeriesType> <timeStep unit="nonequidistant"/> <readWriteMode>add originals</readWriteMode> </timeSeriesSet> <expiryTime unit="day" multiplier="$EXPIRY_DAYS_SIMULATED_FORECAST_GRID$"/> </timeSeriesSet> <timeSeriesSet> <moduleInstanceId>model_DFlowFM_FC</moduleInstanceId> <valueType>grid</valueType> <parameterId>T.simulated.v</parameterId> <locationSetId>sigmaLayers_0000</locationSetId> <!-- locationSet off all sigmaLayers linked to above used parentLocation --> <timeSeriesType>simulated forecasting</timeSeriesType> <timeStep unit="nonequidistant"/> <readWriteMode>add originals</readWriteMode> <expiryTime unit="day" multiplier="$EXPIRY_DAYS_SIMULATED_FORECAST_GRID$"/> </timeSeriesSet> </timeSeriesSets> <mapLocationsByLayerSigmaCoordinate>true</mapLocationsByLayerSigmaCoordinate> </importNetcdfActivity> <importNetcdfActivity> <!-- repeat for output files of all domains --> <importFile>%WORK_DIR%/DFM_OUTPUT/model_0001_map.nc</importFile> <timeSeriesSets> <timeSeriesSet> <moduleInstanceId>model_DFlowFM_FC</moduleInstanceId> <valueType>grid</valueType> <parameterId>H.simulated</parameterId> <locationId>sigmaLayers.0001</locationId> <timeSeriesType>simulated forecasting</timeSeriesType> <timeStep unit="nonequidistant"/> <readWriteMode>add <originals</timeSeriesSets>readWriteMode> <expiryTime <mapLocationsByLayerSigmaCoordinate>true</mapLocationsByLayerSigmaCoordinate> unit="day" multiplier="$EXPIRY_DAYS_SIMULATED_FORECAST_GRID$"/> </timeSeriesSet> ... </importNetcdfActivity>timeSeriesSets> <mapLocationsByLayerSigmaCoordinate>true</mapLocationsByLayerSigmaCoordinate> </importNetcdfActivity> </importActivities> </activities> </generalAdapterRun> |
Sigma layers - display D-Flow FM 3D results in GridDisplay (multi domain model)
This example builds on the grid, location and locationSet defined in the example above. It assumes sigma layers for a multi domain model.
...