In FIDUCEO we intend to pinpoint as many sources of errors as possible occurring in space-based instruments and quantify the uncertainties associated with the measurements.
While tackling the problem from the analytical side using mathematical models (e.g. see previous blog by Ralf Quast), we also need to compare the results of the modelling with other sensors’ data to get a feeling for the quality of the derived mathematics.
What is a matchup in this context?
In the FIDUCEO context, we call a matchup a “point” measurement that is matched by another “point” measurement sufficiently close in space and time – excluding the trivial case of neighbouring measurements from the same acquisition, of course.
In other words: We require matchup pixels that are covering the same place on earth acquired at almost the same time. The smaller the time-delta aimed at becomes, the more challenging the detection algorithms, especially when getting below the acquisition duration of a satellite data product (which is in the range of 45 minutes for polar-orbiting instruments).
In most cases, we extend this definition to also include the neighbouring pixels of a sensor acquisition, covering a symmetrical window of n by m pixels around the matchup point. This allows us to perform some calculations to get a feeling for the data (e.g. check for homogeneity, cloud shadow detection, etc.).
What are we comparing?
We want to compare acquisitions of different spaceborne sensors which are spatially and temporally close so that we can assume a similar atmospheric condition. And we want to compare satellite sensor data with in-situ measurements, like AERONET data, in order to have measurements close to the measured entity.
How do we do this?
We are developing a variable software framework that allows us to run various matchup tasks using several satellite- and ground-based instruments. The framework comprises an open design with various plugin points to allow for easy algorithmic updates or adding new sensor data.
One challenge is the appropriate handling of a large input dataset that contains multiple complete sensor mission datasets, spanning long global time series. At the core of the operation is a high-performance database that contains the metadata (acquisition time, geo-boundary, and more …) of every single satellite product and ground-measurement.
This database is used to detect possible matchup candidate products by comparing geometric intersections between the bounding geometries of sensor acquisitions and the sensing time ranges (see Figure 1).
Figure 1: Coarse matchup detection (AATSR and IASI) - geometrical intersection in the shaded area.
In a next step, we apply a fine grained analysis that calculates the overflight timing for the intersected area. This information allows rejecting false matchups where one satellite passes the common area much earlier or later than the other one, compared to the time delta aimed at. We do this by applying a time-coding on the geometries which is derived from the satellite orbit parameters (see Figure 2). We could retrieve the same information by opening the files and reading the data, but doing it without opening the files speeds up processing by a large amount.
Figure 2: Fine matchup detection (AATSR and IASI) - apply timing information to intersected area.
At this point, we have the matchup locations and times – and the associated data files. During the following steps we extract the data at the matchup-locations, perform checks on additional constraints on the data, like cloud detection or checks for data homogeneity or ground surface constraints.
When all this is done, the software writes the remaining data into matchup-files (usually one per month) that can be used for scientific analysis.
While there still is no “really true value” associated with spaceborne measurements, comparing data from different sensors measuring the same geophysical situation allows us to verify error theses and modelling mathematics and will give much stronger confidence in the results of the FIDUCEO project.