THE SWARM ARCHIVING PAYLOAD DATA FACILITY , AN INSTANCE CONFIGURATION OF THE ESA MULTI-MISSION FACILITY

The Swarm mission consists of 3 satellites, each carrying an identical set of instruments. The scientific algorithms for processing are organized in 11 separate processing steps including automated product quality control. In total, the mission data consists of data products of several hundred distinct types from raw to level 2 product types and auxiliary data. The systematic production for Swarm within the ESA Archiving and Payload Data Facility (APDF) is performed up to level 2. The production up to L2 (CAT2-mature algorithm) is performed completely within the APDF. A separate systematic production chain from L1B to L2 (CAT1-evolving algorithm) is performed by an external facility (L2PS) with output files archived within the APDF as well. The APDF also performs re-processing exercises. Re-processing may start directly from the acquired data or from any other intermediate level resulting in the need for a refined product version and baseline management. Storage, dissemination and circulation functionality is configurable in the ESA generic multi-mission elements and does not require any software coding. The control of the production is more involved. While the interface towards the algorithmic entities is standardized due to the introduction of a generic IPF interface by ESA, the orchestration of the individual IPFs into the overall workflows is distinctly mission-specific and not as amenable to standardization. The ESA MMFI production management system provides extension points to integrate additional logical elements for the build-up of complex orchestrated workflows. These extension points have been used to inject the Swarm-specific production logic into the system. A noteworthy fact about the APDF is that the dissemination elements are hosted in a high bandwidth infrastructure procured as a managed service, thus affording users a considerable access bandwidth. This paper gives an overview of the Swarm APDF data flows. It describes the elements of the solution with particular focus on how the available generic multi-mission functionality of the ESA MMFI was utilized and where there was a need to implement missionspecific extensions and plug-ins. The paper concludes with some statistics on the system output during commissioning and early operational phases as well as some general considerations on the utilization of a framework like the ESA MMFI, discussing benefits and pitfalls of the approach.


INTRODUCTION 1.1 The Swarm Mission
The Swarm mission consists of 3 satellites, each carrying an identical set of instruments.The scientific algorithms for processing are organized in 11 separate processing steps including automated product quality control.In total, the mission data consists of data products of several hundred distinct types from raw to level 2 product types and auxiliary data.

The APDF
The APDF is implemented as an instance of the ESA Multi-Mission Facility Infrastructure (MMFI) [Pinna, G.M. et.al. 2005].The infrastructure elements provide a framework for the implementation of mission facilities for data ingestion, archiving, production and dissemination.The MMFI design is based on the observation of commonality of requirements towards Payload Data Ground Segment (PDGS) solutions for different missions and a need for operational efficiency.Virtually all scientific missions deal with so-called data products as their basic data items.Data products contain payload or auxiliary data that are files, archive files or directories, all of which are typed and carry metadata.Data products act as main or auxiliary data for scientific data processing for value adding.The input products for a processing step are selected based on product attributes.The most important attribute for selection is the temporal applicability of the data.Data product attributes also drive distribution, dissemination and archiving functions for which further commonality across missions arise.Based on the abstraction of a data product, the basic PDGS workflows of data ingestion, long-term archiving, value adding, distribution and dissemination can be implemented by configurable generic elements.The above list of functionality is well defining a first high-level PDGS decomposition that is engrained in the MMFI architecture (Figure 1).
All infrastructure elements are configurable to cater for missionspecific product types and production steps.Some elements also provide plug-in interfaces to inject mission-specific processing logic.The elements can either hold configurations for several missions in one instance or they can be instantiated several times with each instance holding only the configuration of one mission.Both configuration options have their place -potentially even within the lifecycle of a single mission.During initial setup and testing, a configuration for a single mission is significantly easier to manage and test than a complete multi-mission configuration.During stable routine operations, however, the combined operation of several missions within one instance can reduce operational complexity and allow for the sharing of resources across missions.A major feature in support of the intended usage pattern is the orthogonal characteristic of configuration.Configurations for missions are largely independent.As the configuration languages do not provide a namespace context, some names of event types or product types have to be unique when they are entry points into specific workflows.Otherwise, there are only few restrictions when a configuration is used within a multimission context.While the interface towards the algorithmic entities is standardized due to the introduction of a generic IPF interface by ESA, the orchestration of the individual IPFs in the overall workflows is distinctly mission-specific and not as amenable to standardization.The workflows or processing scenarios are implemented within the PFM (Processing Facility Management) component of the MMFI.It manages the processing cluster of a mission.Workflows can be initiated in a configurable way when collection content changes or according to a schedule.A workflow may consist of an arbitrary number of sequential or simultaneous IPF execution instructions through a request chaining concept.For the inclusion of mission-specific control logic, the PFM provides extension points to integrate additional Java code into the build-up process of orchestrated workflows.These extension points have been used to inject the Swarm-specific production logic into the system.For the APDF, a single mission setup on dedicated hardware was chosen for both test and integration and the operational platform.This approach allows for a flexible handling of configuration changes throughout the mission lifetime.The systematic production for Swarm within the APDF is performed up to level 2. A separate systematic production chain from L1B to L2 (CAT1) is performed by an external facility (L2PS) with output files archived within the APDF as well.The APDF also performs re-processing exercises.Re-processing may start directly from the acquired data or from any other intermediate level resulting in the need for a refined product version management.Storage, dissemination and circulation functionality is configurable in the ESA generic multi-mission elements and does not require any software coding.Control of the production needs to cater for Swarm-specific product dependencies and contingency considerations.The dissemination element (ftp server) is hosted in a high bandwidth and high-availability managed infrastructure (a platform as a service, as it were), thus ensuring that users have continuous and fast access to Swarm data while minimising operational costs.The hardware setup of course includes a significant amount of margin to cope with contingency situations and -with respect to processing for re-processing and parallel processing activities.

Circulation
The Swarm algorithms rely on auxiliary data from several sources.The source institutions provide the auxiliary data online via their local distribution mechanisms.The diversity of the data sources goes beyond the standard retrieval mechanisms of the ESA MMFI.Thus, the APDF employs a lightweight, stateful retrieval agent (SARA) that has been assembled specifically for the Swarm mission.The sources are polled at regular intervals and new data is fetched, quality-checked and ingested for use with the production workflows.SARA is also used as a general ingestion frontend for data reception including data from the L2 CAT1 processing facilities (L2PS).

Data handling
The Swarm PDGS has to handle data products and auxiliary data of about 380 different types.The number of types is relatively high as the products from the 3 satellites are distinguished by type.Most product types carry the product identifiers A, B or C in their type names.
The MMFI component "Local Inventory" (LI), which maintains the metadata for every product that is stored within the APDF, is freely configurable with respect to the metadata to be kept per product type and the structure of that metadata.An objectrelational mapping is employed to store the metadata objects in an RDBMS.While only a subset of the product metadata is actually used to control the current production, a larger metadata set is available for operator queries with a dedicated query language (OQL) [Kiemle, et.al. 2004].
The scientific payload data and auxiliary data are archived in a disc-based archive.In addition, a 2 nd data backup system using tape technology is fed with all mission data.The Swarm L1 and L2 CAT2 products are nominally covering a full day, except of those cases where there is no measurement data.Nominally, there are about 150 products and auxiliary data files to be handled by the APDF per day.During re-processing, the number of files may increase by a factor of 10.The product files are not particularly large by today's standards; the overall volume of data for the full, extended mission duration (6 years) is only a few Terabytes and there will be about 0.5 million files.

Production
The Swarm processing algorithm [Tøffner-Clausen, L. 2011] is implemented by a number of IPFs (Table 2).A description of the functionality of the individual IPFs is beyond the scope of this overview article.Next to the scientific processor, there also are a support processor for reformatting (CDFL1B) and a processor for automated quality control (DQC).The processors implement the ESA Generic IPF interface specification, thus reducing the integration activity to the implementation of the Swarm-specific processing order.The input/output definition of an IPF is a required static element of the ESA Generic ICD [ESA/ ESRIN, 2009].The input/output definition provides an important input into the orchestration specification of the IPF set; in essence it defines a maximum set of potential productions.Only a subset of the potential productions is used for the actual orchestration model for the mission.The processing order (Figure 4) is defined via the input/output relations between the IPFs.Up to L1B the production is performed completely per single satellite.The FAC (Field Aligned Current) L2 processor is the first processor that uses input from the two lower orbit satellites (Swarm A and Swarm C).The IPF production requires significant CPU capacity and can only in parts be parallelized during systematic production.Essentially, the elements on the same rank level of the dependency graph can be executed simultaneously for data from the same day.The overall processing for the systematic case can be performed on about 40% of the installed hardware.In contrast to the other IPFs, the MAGREP processor is called out of sequence to improve the MAGNET processor output as a re-processing step.In case of re-processing, that is expected to be executed faster than in the systematic case.The level of gain through parallelisation, however, is limited by the production algorithm for MAGNET and PLASMA processing.These processing steps are dependent on the products of the previous day, thus requiring a partially sequential workflow.Re-processing is required when there have been changes in the production algorithms and, thus, in the IPF or because of new versions of instrument characterisation databases or other auxiliary files.
The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume XL-7/W3, 2015 36th International Symposium on Remote Sensing of Environment, 11-15 May 2015, Berlin, Germany Next to the L2 production sequence performed within the APDF (CAT2), there is a second L2 production chain performed outside the APDF by a L2 production service (CAT1).
The APDF supports several different production scenarios: there is nominal systematic production up to L2 CAT1 and CAT2, support for parallel production of a different product baseline on the same platform as well as systematic and manual re-processing.The scenarios can be applied to all data or selected data sections.
A variant of the nominal systematic production occurs in case of data re-dump.Data re-dump results in an out-of-sequence arrival of data frames during downlink.When this happens, the L0 product affected by the re-dump is regenerated and the new version is used in subsequent processing steps.For Swarm, there was a need to implement a number of extensions to handle the specifics of Swarm processing.Extensions were needed, for example, to refine the PFMprovided input data selection methods or to implement dynamic baseline management functionality.PFM plug-ins are implemented against an API that allows to query the MMFI inventory content, the system state and request and configuration content.A total of about 3000 lines of code were needed to modify the PFM behaviour for the Swarm scenarios.

Data Access
The APDF distinguishes between routine science users that can access operational L1b and L2 products and the so-called "mission users" that can access all the available mission data.
The FTP dissemination servers are systematically provided with data from the APDF components PFM for higher-level products that are not archived and PD (Product Distributor) for archived products and auxiliary data (available only to mission users).
The respective data streams including the target dissemination paths are configurable within the MMFI and no missionspecific coding was necessary.The dissemination accounts hold a significant amount of data.

OPERATIONS
The main operator interface (Figure 5) of the APDF provides information on the active components of the production elements in line with the managed data-driven concept of the MMFI where each activity is initiated by a control structure termed Request that is amended with status information during workflow execution.The Swarm APDF is operational since the launch on 22.11.2013 and has since then been available without any major operational issue.In the first full year of operations ( 2014), 180 GB of VC4 raw data frames, in about 3000 data files have been received and processed into about 800 Gigabytes of L1 and L2 data products in 50 000 data files.The users have downloaded around 1 500 000 files, accounting for about 34 Terabytes of data; averaging at about 120 000 files and 2.8 Terabytes per month.The monthly peak was reached at around 280 000 files or 8.1 Terabytes for June-2014 after a first full reprocessing.Thereby, the average download rates achieved by the users varied between 30 and 75Mbps.Since the end of the commissioning phase, which by its nature saw quite a few variations in the number of products received and produced, the APDF is performing routine activity with only some variations due to re-processing and planned configuration changes like processor version upgrades.
The actual number of products to be ingested and archived varies due to re-processing and parallel processing and is affected by processor configurations.Since the end of the commissioning phase an average of 150 products per day has been stored (Figure 6).The data volume rate associated with the raw data stream (VC4 data) and auxiliary data is quite stable due to the systematic data acquisition scheme of the Swarm instruments, the production output varies due to parallel and re-processing exercises.As products of a previous baseline are not immediately removed from the archive when a new baseline is generated (reprocessing) the storage volume is offset with every new baseline that is kept.

CONCLUSION
The Swarm APDF is an example of a multi-mission infrastructure configuration using the ESA MMFI.The generic functional elements of the MMFI can provide basic building blocks for a system but each mission has specificities that are more efficiently handled by bespoke development rather than by adding configurable generic functionality.The multi-mission infrastructure provides appropriate extension points to integrate mission-specific logic.The main benefit of the platform approach, during design and development, lies in the fact that the development team can focus on the mission-specific aspects of a new system.The basic generic functionality is just there, serves as a kick-starter for the implementation and is -due to its use in other contextsproven and reliable.This major advantage of the approach is only slightly offset by the need of designers and implementers to understand the functionality provided by the powerful generic elements.The benefits of reuse and operational synergies of a multimission solution are also offset by higher development costs for the multi-mission elements due to the generic nature and configurability of the system, the configuration effort and reduced flexibility during evolution.The introduction of programmatic extension points constitutes a compromise between synergy cost and saving drivers.Whether the given extension points are at the most efficient place is a matter of constant re-evaluation.For Swarm, the fact that only about 3000 lines of code were needed to implement mission specific aspects shows that the extension points are set appropriately.A side effect of the multi-mission nature of the underlying platform is an inherent flexibility in the workflows that can be realized with minimal effort.As the perimeter of the configurability of a multi-mission solution is inherently larger than the ones of a bespoke development, the system can quickly be adapted to emerging requirements that relate to data flow and integrated elements without the need for software development.The Swarm APDF is operational since the launch and has been available without any major operational issue.Thanks in parts due to the stability of the underlying framework.

Figure
Figure 4: Production Dependencies

Figure 6 :
Figure 6: Ingested Products per Day

Figure 7 :
Figure 7: Archived Data Content per Level and Data Content

Table 2 :
Swarm Instrument Processing Facilities