This plugin reads the meteorological forecast data from COSMO either as gridded data or downscaled for each of the Swiss meteorological networks IMIS/ANETZ stations as preprocessed by the Operational Snow-Hydrological Service of the WSL/SLF. The data is written as Matlab binary files (.mat), one per timestep for all stations and meteorological parameters, available on an access-controlled server after each new COSMO run. It therefore requires a third party library to read this file format: the Open Source MatIO library. This can be installed directly from the default repositories under Linux or installed by downloading the proper package for Windows or OsX.
The files are named with the following schema: COSMODATA_{timestep}_{cosmo model version}{mode}_{runtime}.{meteo_ext} with the following possible values:
The station data files have the following internal data structure (represented as "name {data type}" and with meteo parameter as one of prcs, wnss, wnds, wnsc, lwrc, sdri, sdrd, sdfd, tais, taic, rhus, pais, pail):
├── acro {1x688 array of arrays of char variable} ├── NODATA_value {1x1 double variable} ├── meteo parameter {struct} │ ├── data {1x688 array of doubles variable} │ ├── name {array of char variable} │ ├── unit {array of char variable} │ └── source {array of char variable} ├── … more meteo parameters └── time {1x2 array of doubles variable}
The stations' acronyms follow a fixed order but their coordinates must be provided in a separate file, given as METAFILE key (see below). If the number of stations in this list does not match the number of stations declared in one of the meteorological file, an exception will be thrown. This file must have the following structure (the x and y coordinates being the CH1903 easting and northing, respectively):
statlist {1x1 struct} ├── acro {1x688 array of arrays of char variable} ├── name {1x688 array of arrays of char variable} ├── x {1x688 array of doubles variable} ├── y {1x688 array of doubles variable} ├── z {1x688 array of doubles variable} └── … various other arrays
The gridded data have the following structure:
grid {1x1 struct} ├── ncols {1x1 array of doubles} ├── nrows {1x1 array of doubles} ├── xllcorner {1x1 array of doubles} ├── yllcorner {1x1 array of doubles} ├── cellsize {1x1 array of doubles} ├── NODATA_value {1x1 array of doubles} ├── data {nrows x ncols array of double} └── desc {array of char}
This plugin uses the following keywords: