Before any filters, resampling algorithms or data generators are applied, it is possible to edit the original data (in the following order):
It is possible to rename a meteorological parameter thanks to the MOVE key. This key can take multiple source names that will be processed in the order of declaration. The syntax is new_name::MOVE = {space delimited list of original names}. Original names that are not found in the current dataset will silently be ignored, so it is safe to provide a list that contain many possible names:
This can be used to rename non-standard parameter names into standard ones. In this example, if TA already had some values, it will keep those and only points not having a value will be filled by either air_temp or air_temperature or temperature_air (the first one in the list to have a value has the priority).
It is possible to exclude specific parameters from given stations (on a per station basis). This is either done by using the station ID (or the '*' wildcard) followed by "::exclude" as key with a space delimited list of meteorological parameters to exclude for the station as key. Another possibility is to provide a file containing one station ID per line followed by a space delimited list of meteorological parameters to exclude for the station (the path to the file can be a relative path and will be properly resolved).
The exact opposite can also be done, excluding ALL parameters except the ones declared with the "::keep" statement (or a file containing one station ID per line followed by a space delimited list of meteorological parameters to keep for the station).
In the second example (relying on a separate file), the file "../input/meteo/excludes.csv" could look like this:
Another example relying on wildcards (the kept/excluded parameters lists are additive):
It is possible to merge different data sets together, with a syntax similar to the Exclude/Keep syntax. This merging occurs after any EXCLUDE/KEEP commands. This is useful, for example, to provide measurements from different stations that actually share the same measurement location or to build "composite" station from multiple real stations (in this case, using EXCLUDE and/or KEEP commands to fine tune how the composite station(s) is/are built). Please note that the order of declaration defines the priority (ie the first station that has a value for a given parameter has priority). Please also note that only common timestamps will be merged! (ie if the stations have different sampling rates, it might end up that no merge gets performed)
In order to avoid circular dependencies, a station can NOT receive data from a station AND contribute data to another station. Otherwise, a station can be merged into multiple other stations. Moreover, the merging strategy can be controlled by setting the MERGE_STRATEGY key in the [Input] section (by default it is "EXPAND_MERGE", see MeteoData::Merge_Type).
If the key AUTOMERGE is set to true in the Input section, all stations that have identical IDs will be merged together. The first station to come (usually, the first that was defined in the plugin) has the priority over the next ones.
It is also possible to duplicate a meteorological parameter as another meteorological parameter. This is done by specifying a COPY key, following the syntax new_name::COPY = existing_parameter. For example:
This creates a new parameter VW_avg that starts as an exact copy of the raw data of VW, for each station. This newly created parameter is then processed as any other meteorological parameter (thus going through filtering, generic processing, spatial interpolations). This only current limitation is that the parameter providing the raw data must be defined for all stations (even if filled with nodata, this is good enough).
Finally, it is possible to create new data based on some parametrizations. If the requested parameter does not exists, it will be created. Otherwise, any pre-existing data is kept and only missing values in the original data set are filled with the generated values, keeping the original sampling rate. As with all raw data editing, this takes place before any filtering/resampling/data generators. As the available algorithms are the same as for the data generators, they are listed in the data generators section (but the data creators must be declared in the [Input] section).