=========== WPS Toolbox =========== Overview ======== The Tools in V-FOR-WaTer are implemented as a standalone server. It uses the `WPS Protocol `_ to receive inputs, data and configuration and returns processing output. Most data, including input data from the database, but also processing results and intermediate results, are saved to a temporary folder on the processing server. The WPS just exchanges configuration and file-locations. For this to work, a set of *data types* are defined. Each tool can only handle one specific data type, or a set of specified data types, and has defined outputs. These data types are hierachical. That means there are tools that can handle any type of timeseries data, while other will expect a timeseries of discharge data. Data Types ========== .. list-table:: Overview :widths: 20 20 35 25 :header-rows: 1 * - type name - file type - reader function - description * - array - ``.npy``, ``.npz`` - `numpy.load `_ - 1D array, without any index information * - iarray - ``.csv`` - `pandas.read_csv(... index_col=[0]).iloc[:,0] `_ - 1D array, indexed by any kind of pandas supported index, except ``DatetimeIndex``. * - varray - ``.csv`` - `pandas.read_csv(... index_col=[0]).iloc[:,0] `_ - 1D array, indexed by any kind of pandas supported index, except ``DatetimeIndex``. The ``pd.Series.name`` is a valid V-FOR-WaTer variable, e.g. the index may be a depth and the variable name ``'bulk density'`` * - timeseries - ``.csv`` - `pandas.read_csv(... index_col=[0]).iloc[:,0] `_ - 1D array, indexed by a ``DatetimeIndex`` * - vtimeseries - ``.csv`` - `pandas.read_csv(... index_col=[0]).iloc[:,0] `_ - 1D array, indexed by a ``DatetimeIndex``. The ``pd.Series.name`` is a valid V-FOR-WaTer variable, e.g. ``'discharge'`` * - 2darray - ``.npy``, ``.npz`` - `numpy.load `_ - 2D array, without any index information * - ndarray - ``.npy``, ``.npz`` - `numpy.load `_ - N-dimensional array, without any index information * - idataframe - ``.csv`` - `pandas.read_csv(... index_col=[0]) `_ - multiple arrays, indexed by any kind of pandas supported index, except ``DatetimeIndex``. * - vdataframe - ``.csv`` - `pandas.read_csv(... index_col=[0]) `_ - multiple arrays, indexed by any kind of pandas supported index, except ``DatetimeIndex``. All ``pd.DataFrame.columns`` have to be of same V-ForWater variable. * - time-dataframe - ``.csv`` - `pandas.read_csv(... index_col=[0]) `_ - multiple arrays, indexed by a ``DatetimeIndex``. * - vtime-dataframe - ``.csv`` - `pandas.read_csv(... index_col=[0]) `_ - multiple arrays, indexed by a ``DatetimeIndex``. All ``pd.DataFrame.columns`` have to be of same V-ForWater variable * - raster - ``.gtiff``, ``.geotiff``, ``.asc`` - `rasterio.open() `_ - Georeferenced raster image. Any file format supported by GDAL is supported by ``rasterio`` and therefore also here. * - vraster - ? - I have no idea - Variable bound georeferenced raster image. No idea how to do that. * - html - ``.html`` - ``open()`` - generic HTML output. Tools that output text or HTML tables can use this *data-type* * - plot - ``.script.html``, ``.div.html`` - ``open()`` - `Bokeh components `_ ``