The Deltares Open Archive can be extended with two main components:
- the netcdf storage External netcdf storage
- the archive database Alternative to file-based storage - Archive database
In this page both components and how they relate to the Deltares Open Archive will be explained at a architectural level.
For both extensions more detailed information can be found in the links above.
The Netcdf storage
The main purpose of the netcdf storage is make external forecasts and external historical data from another data provider available in your FEWS system.
The main constraint is that the data should be made available by CF complaint netcdf files. The data can be made by having the actual data locally availalbe on disk.
In this case the harvester will index the data by analyzing the actual netcdf-files. The other option is that a remote archive which is only accessible by THREDDS is added a netcdf storage.
In this case the harvester will analyze the THREDDS catalogue to index the data. Note that this option does not support yet that if data is deleted that it will also be deleted from the catalogue in FEWS.
This can now only be achieved by clearing the catalogue in FEWS and rebuild it again. Note that is supported for locally available netcdf storages.
How can the netcdf storage be used?
- data can be downloaded and imported from the netcdf storage by using the archive display,
- data can retrieved from the netcdf storage by using the FEWS WMS and pi webservice,
The Archive database
Scalar data is stored in the Deltares Open Archive in netcdf-files.
This has several disadvantages:
- not possible to remove a single time series from the archive
- retrieving data from a file is slower then retrieving it from a database
To solve the disadvantages the Archive database is introduced. Instead of storing scalar data in netcdf files scalar data can now be stored in the archive database.
At the moment the only supported database flavour is MongoDb. It is however possible to store the scalar data in any database flavour. But it is however needed to write your own (java) plugin to support the connection to your own database type.
This is similar to writing a model adapter to connect your own model to FEWS.