# The Customized Automatic Processing Framework for HY-2A Satellite Marine Advanced Products
## 3 The Components of HY-2A Capf
### The On-Demand Customized Processing Subsystem  
In order to increase the use of HY-2A satellite data, the on-demand customized processing subsystem is used to support data services to the public, especially for researchers. Hence, the  
Figure 1: The components of the HY-2A Customized Automatic Processing Framework (CAPF). Figure 2: The flow chart of the routine customized processing. subsystem is able to be accessed via the internet. By using the subsystem, users can upload and register their own algorithms, design processing workflows with registered algorithms, run and test these processing workflows, and search and download the products derived from these workflows. Accordingly, the subsystem consists of four modules: the algorithms and workflows management module, products order module, processing module, data search and downloading module. The algorithm and workflow management module provides a Graphical User Interface (GUI) for users to register algorithms, manage algorithmic parameters, and design processing workflows. Before users register their own algorithms, they need to add the required attributes of the parameter types for these customized algorithms. The attributes of a parameter type can be used to validate the input values. For example, if an algorithm has an input, which should be a file in HDF5 format, the user should define the type name and type definition at first. With such information, the subsystem can provide the prompt message when users edit the algorithm and validate the values at once. Once users upload their scripts or executables to the framework, they need to register the algorithms. Such information includes the name of the algorithm, version number, provider, parameters, etc. With these registered algorithms, users can design their own processing workflows by using the design panel and save them as processing templates for later use. Figure 3 shows the GUI for designing an on-demand customized processing workflow. Part 1 is a toolbox that lists the registered algorithms; Part 2 is a table where users can fill the overview information of a workflow, such as template name, version number, etc. ; Part 3 is a designer panel in which users can drag the algorithms from the toolbox on the left and connect them as a sequence; Part 4 is an algorithm panel that shows the corresponding information of the algorithm that is being clicked in the designer panel. Users can edit the information of the algorithm that is being clicked in the designer panel; and Part 5 is a navigation bar that indicates the steps used to design a processing workflow and which step one is in. Figure 3: The Graphical User Interface (GUI) of designing a customized processing workflow. Once a user completes the design of a customized processing workflow, he or she can start to run and test the workflow by submitting an order in the product order module. As shown in Figure 4, the processing workflows are listed as processing templates in the drop-down menu. Users can choose one of them, and set the period and priority of the task execution. The module is able to show a form with the input parameters according to the definition of the processing templates, and provide a GUI for users to fill in the form. For example, users can search the archived data and extract a region of interest interactively. In addition, users can set some additional parameters if necessary. For example, if the processing template can make a thematic map, the module allows users to set the title of the thematic map. Once the order has been submitted, the module can convert the information of the order into an XML file and send it to the processing module. The processing module will automatically interpret the XML file and execute the processing workflow step by step. Finally, the data search and downloading module will store the results in a temporary storage for users to access. The architecture of the subsystem is implemented in three layers: the GUI layer, the services layer, and the data repository layer.