felyx is a free software solution, written in python, whose aim is to provide Earth Observation (EO) data producers and users with an open-source, flexible and reusable tool to allow scientific analysis and performance monitoring of scientific EO data by extracting data subsets over specific areas or producing matchups with reference in situ measurements.
Source code repository: https://gitlab.ifremer.fr/felyx
felyx primarily works as a data extraction tool to subset large observation datasets over static (predefined) geographical areas or time dependant (moving) target locations. The smaller subsets matching these targets are referred to as child products. The static or time dependant targets are referred to as sites.
The extracted child products can be assembled and combined with the in situ measurements attached to these extraction sites within output files, referred to as multi-matchup datasets.
Qualitative or quantitative metrics can also be computed for each extracted child products that help later advanced selection or segmentation of the extracted subsets for analysis or automatic alerting. An predefined set of statistical operators (mean, median, rms, …) is provided, to be applied to the variable of your choice within the child products, but it can be extended with custom operators defined by the felyx user.
These extracted child products and metrics can be additionally registered in a fast search engine (ElasticSearch) from which they can be later queried by users or interactive applications but this is not required.
felyx framework is deployable on a laptop for local execution, or to a cloud or HPC infrastructure for large scale distributed processing over massive collections of data. It comes with a distributed processing framework, jobard, allowing to run the processing more efficiently over HPC infrastructure or cloud environment.
felyx is domain agnostic and can be used with geographically and temporally located observations of any domain such as ocean, atmospheric or land. It can use a variety of in situ measurements, including profile data, to produce matchup dataset files with flexible content and full traceability to the source measurements.
felyx is based on standard and reusable technologies and components making it portable and cross platform.
It is also complemented by additional packages for operation monitoring.
Possible usages of felyx include:
- monitoring and assessing the quality of Earth observations (e.g. satellite products and their time series) through statistical analysis and/or comparison with other data sources, in NRT or over longer periods
- assessing and inter-comparing geophysical inversion algorithms or different datasets
- alerting and reporting on performance degradation or specific conditions
- performing geophysical analysis (variability, trends,….)
- observing a given phenomenon, collecting and cumulating various parameters over a defined area
- crossing different sources of data for synergy applications
In this context, felyx serves different kind of users:
- instrument engineers
- calibration engineers
- quality control engineers
- validation scientists
- algorithm developers
- ocean/atmosphere scientific community.
felyx is available under the open source GPLv3 license.