To allow optimisation of data flows in Delft-FEWS when set-up in a distributed environment, synchronisation levels - synchLevels can be defined. SynchLevels are arbitrary (integer) numbers that are used in the software to select which data is synchronized from the central database. SynchLevels are most commonly used for TimeSeries data, but may also apply to LogEntries and other types of forecast data.

Automatic handling of synchLevels in TimeSeriesSets

Since 2020.02, in the configuration of a TimeSeriesSet the synchLevels 0, 1, 2, 5, 6 and 9 are automatically chosen when not specified depending on the type of Time Series.

MC-MC synchronisation

The default synchProfile used by MC-MC synchronisation only synchronises synchLevels 0, 2, 5, 8 and 30. For synchronising other synchLevels it is required to create a synchProfile in the mc config. 

LDS Operator Client

Configure in OC clientConfig xml synchProfile. The behaviour of each synch level is determined through the configuration of the synchronisation channels and synchronisation profiles. When required, additional synchronisation levels can be added to further refine the synchronisation process. 

Limited importance of configuring synchLevels in context of Stand alone Client / Direct Database Access Client

Because Stand alone Clients and Direct Database Access Clients are not doing synchronisation, it can be argued that configuring synchLevels for these specific components may be of lesser significance. However:

  1. Conforming to the conventions will make it much easier to setup a synchronising client or MC-MC synch later.
  2. When creating a database replica, synchLevels are used to control which TimeSeries are to be replicated. Deselecting synchLevels during replication obviously means the database replica will not contain all TimeSeries but it can be created much smaller and faster.

SynchLevel conventions

synchLevel

description

application

0

All (scalar) data from a forecast run. Since 2012.02 this is the default for simulated. Before 2012.02 this synch level was used as default for all types

all systems

1

Scalar time series imported from telemetry. Since 2012.02 this is the default for external timeseries. NB the length of data synchronised will depend on the login-profile selected. Typically this will be data generated up to 7 days ago

all systems

2

All grid data from a forecast run (e.g. Flood Mapping results)

all systems

3

Large volumes of scalar data such as CatAvg data (forecasts, actuals & NWP)

all systems

4

Used for data imported infrequently such as Astronomical or Climatological data. Since 2022.02 also automatically used for RatingCurves (TimeSeriesValueType 5).

all systems

5

Data edited on OC. Since 2012.02 this synch level is automatically used on OC. Configuration no longer required.

all systems

6

(small) Grid data imported from external forecast (synchronised to OC)

all systems

7

Grid data imported from external forecast (synchronised to FSS & MC only, and not to OC)

all systems

8

Performance indicator time series. These are time series that do not need to be synchronised with a short synchronisation interval or when a forecaster logs in with a minimum profile.

all systems

9

Temporary time series not requiring synchronisation. This synch level is automatically used for time series type temporary

all systems

11

Specific ModuleDataset files, which should be downloaded and activated directly after logging in and after each upload of a new version of the file (synch to OC). This is used in the Configuration manager when uploading the module dataset

most systems

16

(large) Grid data imported from external forecast (synch. to OC)

NFFS: to distinguish between small (synchLevel 6) and large grids

20

WarmStates (to be specified if there is need to synch to OC - needed for local runs in IFD)

all systems

21

Aggregated grids (flows/heads) forecasts

used in NGMS

22

Grids data (heads) timeseries

used in NGMS

23

Grids data (flows) timeseries

used in NGMS

30

Timeseries modifiers

used in CHPS (NWS)

90-100

Reserved

used internally