Configuration guidelines and naming conventions
- CamelCase
- no exceptions
- Not even if the brand name uses all caps, e.g. GFS
- Split out config files where possible, e.g.
- DisplayConfigFiles
- GridDisplay.xml
- RegionConfigFiles
- Filters.xml
- LocationSets.xml
- Topology.xml
- WorkflowDescriptors.xml
- SystemConfigFiles
- DisplayGroups.xml
- DisplayConfigFiles
- The code is the doc
- add comments at the top of a config file to (succinctly) describe what the file does
- Don't use the <description> element if your just copying the content of the <name> element
- MapLayerFiles\
- Use attributes and templates
- Use the attributeId from Delft-FEWS as the column header
- CamelCase
- attributeIds need to be unique, so think ahead
- ModuleConfigFiles\
- CamelCase, no underscores between components
- <Action><Topic>Template.xml
- Example: ImportGfs.xml
- Subfolders postscript _MC (e.g. Import_MC)
- RegionConfigFiles\
- List things alphabetically when there is no impact on the GUI, e.g.
- ModuleInstanceDescriptors.xml
- WorkflowDescriptors.xml
- List things alphabetically when there is no impact on the GUI, e.g.
- WorkflowConfigFiles\
- CamelCase, underscores between components
- Examples: Import_Gfs.xml
- Subfolders postscript _WF (e.g. Import_WF)
Parameters vs qualifiers
<tbd>
Config file set per model
Distribute via wiki of the ModelAdapter:
Make sure the set is complete (making use of the Default Config Files, such as Parameters.xml):
- DisplayConfigFiles\
- GridDisplay_<Model>.xml
- MapLayerFiles\
- <Model>Locations.csv
- ModuleConfigFiles\
- <Model>_MC\
- Preprocessing: Prep<Model>Template.xml
- GeneralAdapter: Run<Model>Template.xml
- Postprocessing: Post<Model>Template.xml
- <Model>_MC\
- RegionConfigFiles\
- Filter_<Model>.xml
- LocationSets_<Model>.xml
- ModuleInstanceDescriptors_<Model>.xml
- WorkflowDescriptors_<Model>.xml
- SystemConfigFiles\
- DisplayGroup_<Model>.xml
- WorkflowConfigFiles\
- <Model>_WF\
- Run_<Model>_Template.xml
- <Model>_WF\
Default Config files
Distribute via Deltares' repos:
And in future also:
- https://repos.deltares.nl/repos/FEWS_Accelerator/Templates/
- https://repos.deltares.nl/repos/FEWS-Courses/Config_Basic_2023.02/FEWS_application/
DisplayConfigFiles\
- ManualForecastDisplay (wiki: 13 Manual Forecast Display)
- GridDisplay.xml (wiki: 01 Grid Display)
- SystemMonitorDisplay (wiki: 06 System Monitor Display)
- WebBrowserDisplay (wiki: 24 Web Browser Display)
IconFiles\
- location Icons
IdMapFiles\
(wiki: 01 ID Mapping)
- IdMapFromGfs.xml
- IdMapFromObserved.xml
MapLayerFiles\
(wiki: 22 Locations and attributes defined in CSV files, Shape-DBF files or external tables)
- Locations.csv
- LocationsAttribute.csv
- Models.csv
- Grids.csv
- Background\
- ...
ModuleConfigFiles\
- Archive_MC\
- ?
- Export_MC\
- ?
- Import_MC\
- Import<AustralianProducts>.xml
- ImportGfs.xml
- ProcessGfs.xml
- ImportObserved.xml
- ProcessObserved.xml
- Maintenance_MC\
- UpdateModelBinaries.xml
- Amalgamate_daily.xml
- Amalgamate etc
ModuleDataSetFiles\
- jcef.zip (link to latest version)
- weboc.zip (link to latest version)
PiServiceConfigFiles\
- WebServices.xml (wiki: FEWS WebServices Configuration File - since 2022.02)
RegionConfigFiles\
- Filters.xml (wiki: 07 Filters)
- LocationSets.xml (wiki: 02 LocationSets)
- Parameters.xml (wiki: 03 Parameters)
- Qualifiers.xml (wiki: 23 Qualifiers)
- TimeSteps.xml (wiki: 26 TimeSteps)
- Topology.xml (wiki: 24 Topology)
- WebOC ready! (wiki: https://deltares.github.io/fews-web-oc/configuration/)
RootConfigFiles\
- sa_global.properties
- sa_clientConfig.xml
SystemConfigFiles\
- Explorer.xml (wiki: 01 FEWS Explorer)
- tasks
- DisplayGroups.xml (wiki: 03 Display Groups)
- TimeSeriesDisplayConfig.xml (wiki: 02 Time Series Display Configuration)
- ClassBreaks
- WebOperatorClient.xml (wiki: 11 Web Operator Client)
UnitConversionFiles\
- ImportUnitConversions (wiki: 02 Unit Conversions)
WorkflowFiles\
- Archive_WF\
- ?
- Export_WF\
- ?
- Import_WF\
- Import_Gfs.xml
- Import_Observed.xml
Installation / Folder structure
- Install the Delft-FEWS binaries in a folder separate from your (Stand Alone) application. This makes it easier to upgrade to a new version, or switch between software versions when testing.
- <>\FEWS_202x.0x\
- Delft-FEWS binaries (inside \bin folder)
- <>\FEWS_Applications\<ApplicationName>_SA\
- Delft-FEWS application, aka "RegionHome"
- You can later create your OC in this same FEWS_Applications folder
- <>\FEWS_202x.0x\
- run \FEWS_202x.0x\bin\windows\createShortcuts.exe
- This application is used to create shortcuts, which link the software ("bin\") to the “RegionHome”.
- Select "Path to Stand Alone or Operator Client *clientConfig.xml"
- Click "Browse..." and navigate to “RegionHome”, select the "sa_clientConfig.xml" file there
- Check "Create Shortcuts At" > "RegionHome“ to create a shortcut in the RegionHome folder
- Click “Create Shortcuts” and close the application
- The shortcut “Region Home”\FEWS_<ApplicationName>_SA.lnk can be used to start the application (using the binaries in FEWS 202x.0x\)
- Optional:
- Open the properties of this shortcut (right click > Properties), and change the following:
- Target: <>\FEWS_202x.0x\bin\windows\Delft-FEWS.exe -Dregion.home=.
- Start in: <empty>
- Rename the shortcut to Delft-FEWS_202x.0x.lnk
- Copy this shortcut to <>\FEWS_202x.0x\ so you can reuse it with other SA applications
This shortcut is now only pointing to the Delft-FEWS binaries, and is no longer specific to the RegionHome.
As a result, you can only use it from the RegionHome
- Open the properties of this shortcut (right click > Properties), and change the following:
- This application is used to create shortcuts, which link the software ("bin\") to the “RegionHome”.
When a new version of Delft-FEWS becomes available, just add a shortcut pointing to this new version.
=> You no longer need multiple copies of the application to be able to switch between Delft-FEWS versions!