Creating Orders Manually (Reprocessing) - dlr-eoc/prosEO GitHub Wiki
Creating Orders Manually (Reprocessing)
The manual creation of orders is shown exemplary using the GUI Order Editor and a JSON file in the PTM (Proseo Test Mission) Mission. The possibilities of order settings are described in the online editor and the resulting JSON file (fragment) after:
The example as JSON representation:
{
"missionCode": "PTM",
"identifier" : "L2_orbits_3003-3003",
"evictionTime" : null,
"startTime" : "2019-11-04T14:03:30.500000",
"stopTime" : "2019-11-04T15:44:40.600000",
"slicingType" : "ORBIT",
"sliceDuration" : null,
"sliceOverlap" : 0,
"inputProductReference" : null,
"inputFilters" : [ {
"productClass" : "PTM_L1B_P1",
"filterConditions" : [ {
"key" : "fileClass",
"parameterType" : "STRING",
"parameterValue" : "TEST"
}, {
"key" : "revision",
"parameterType" : "INTEGER",
"parameterValue" : "2"
} ]
}, {
"productClass" : "PTM_L0",
"filterConditions" : [ {
"key" : "fileClass",
"parameterType" : "STRING",
"parameterValue" : "OPER"
}, {
"key" : "revision",
"parameterType" : "INTEGER",
"parameterValue" : "1"
} ]
} ],
"dynamicProcessingParameters" : [ ],
"classOutputParameters" : [ {
"productClass" : "PTM_L1B_P1",
"outputParameters" : [ {
"key" : "copernicusCollection",
"parameterType" : "INTEGER",
"parameterValue" : "77"
}, {
"key" : "revision",
"parameterType" : "INTEGER",
"parameterValue" : "2"
} ]
} ],
"outputParameters" : [ {
"key" : "copernicusCollection",
"parameterType" : "INTEGER",
"parameterValue" : "77"
}, {
"key" : "revision",
"parameterType" : "INTEGER",
"parameterValue" : "99"
} ],
"workflowUuid" : null,
"workflowName" : null,
"configuredProcessors" : [ "PTML2_0.1.0_OPER_2020-03-25" ],
"orbits" : [ {
"spacecraftCode" : "PTS",
"orbitNumberFrom" : 3003,
"orbitNumberTo" : 3003
} ],
"requestedProductClasses" : [ "PTM_L2_A", "PTM_L2_B" ],
"inputProductClasses" : [ ],
"outputFileClass" : "TEST",
"processingMode" : "OPER",
"productionType" : "ON_DEMAND_DEFAULT",
"notificationEndpoint" : null,
"productRetentionPeriod" : null
}
Now the order can be edited.
Name
The order name has to be unique in the current mission.
Processing Mode
Select one of the modes defined for the mission, here only OPER is defined.
Processing Type
These types are statically defined. Select one of
- SYSTEMATIC, standard systematic productionis applied.
- ON_DEMAND_DEFAULT, the production is the result of an on-demand processing request with default workflow options applied.
- ON_DEMAND_NON_DEFAULT, the production is the result of an on-demand processing request with non-default workflow options applied.
Execution Time
The order processsing begins at the earliest at this time. As default this time is not set.
Product Retention Period
After passing of this period in days the product file(s) are deleted, the product metadata is kept. As default this time is not set.
Slicing
Select one of the predefined slycing types:
ORBIT
Create jobs and output products by orbits (using start and stop time of the orbits).
Overlap
Defines an extension period of orbit start and stop time. It could be defined as s (seconds), min (minutes) or h (hours). The default value is '0'.
Orbit definition
Sets of orbits has to be defined in dependence of a mission space craft and a range of orbit numbers.
"startTime" : "2019-11-04T17:25:50.700000",
"stopTime" : "2019-11-04T19:07:00.800000",
"slicingType" : "ORBIT",
"sliceDuration" : null,
"sliceOverlap" : 0,
"orbits" : [ {
"spacecraftCode" : "PTS",
"orbitNumberFrom" : 3003,
"orbitNumberTo" : 3005
}, {
"spacecraftCode" : "PTS",
"orbitNumberFrom" : 3007,
"orbitNumberTo" : 3007
} ],
CALENDAR_DAY
Create jobs by calendar day (in such a way that the first job starts not later than the beginning of the order time interval and the last job ends not earlier than the end of the time interval).
In JSON the stop time is the beginning of the next day:
"startTime" : "2019-11-04T00:00:00.000000",
"stopTime" : "2019-11-05T00:00:00.000000",
"slicingType" : "CALENDAR_DAY",
"sliceDuration" : null,
"sliceOverlap" : 0,
CALENDAR_MONTH
Same as CALENDAR_DAY, but for calendar months.
CALENDAR_YEAR
Same as CALENDAR_DAY, but for calendar years.
TIME_SLICE:
Create jobs in fixed time slices defined as duration in s (seconds), min (minutes) or h (hours). The slices begin with the start time of the time interval and ending not earlier than the end of the time interval.
"startTime" : "2019-11-04T17:25:50.700000",
"stopTime" : "2019-11-04T19:07:00.800000",
"slicingType" : "TIME_SLICE",
"sliceDuration" : 1,
"sliceOverlap" : 0,
NONE
Do not create slices, but create a single job spanning exactly the time interval from startTime to stopTime.
"startTime" : "2019-11-04T17:25:50.700000",
"stopTime" : "2019-11-04T19:07:00.800000",
"slicingType" : "NONE",
"sliceDuration" : null,
"sliceOverlap" : 0,
Output Product Classes
Select the requested output product class(es) out of the list of defined product classes.
"requestedProductClasses" : [ "PTM_L2_A", "PTM_L2_B" ],
Output File Class
Select the output file class out of the file classes defined for the mission (in PTM: TEST, OPER).
"outputFileClass" : "TEST",
Input Classes Stop List
Due to the selection rules of product classes prosEO has the capability to generate missing input products automatically. This list is used to stop 'look backward' for missing products at certain points.
"inputProductClasses" : [ "PTM_L1B_P1", "PTM_L1B_P2" ],
Requested Configured Processors
Here is the possiblity to select a specific set of configured processor(s) for processing the order (see Find The Applicable Configured Processor).
"configuredProcessors" : [ "PTML2_0.1.0_OPER_2020-03-25" ],
Input Filter
The input filter is used to search for input products with particular parameter (attribute) values. The parameters are grouped by product classes. Each parameter is defined by a key, a data type and a value.
"inputFilters" : [ {
"productClass" : "PTM_L1B_P1",
"filterConditions" : [ {
"key" : "fileClass",
"parameterType" : "STRING",
"parameterValue" : "TEST"
}, {
"key" : "revision",
"parameterType" : "INTEGER",
"parameterValue" : "2"
} ]
}, {
"productClass" : "PTM_L0",
"filterConditions" : [ {
"key" : "fileClass",
"parameterType" : "STRING",
"parameterValue" : "OPER"
}, {
"key" : "revision",
"parameterType" : "INTEGER",
"parameterValue" : "1"
} ]
} ],
Class Output Parameter
Like the Input Filter these parameters are grouped by product classes. Each parameter of a class is added to the created product of this product class.
"classOutputParameters" : [ {
"productClass" : "PTM_L1B_P1",
"outputParameters" : [ {
"key" : "copernicusCollection",
"parameterType" : "INTEGER",
"parameterValue" : "77"
}, {
"key" : "revision",
"parameterType" : "INTEGER",
"parameterValue" : "2"
} ]
} ],
General Output Parameters
These parameters are added to all created products.
"outputParameters" : [ {
"key" : "copernicusCollection",
"parameterType" : "INTEGER",
"parameterValue" : "77"
}, {
"key" : "revision",
"parameterType" : "INTEGER",
"parameterValue" : "99"
} ],
Dynamic Processing Parameters
The dynamic processing parameters are forwarded to the processor via JOF (Job Order File) to control the processing.
"dynamicProcessingParameters" : [ {
"key" : "debug",
"parameterType" : "BOOLEAN",
"parameterValue" : "true"
} ],