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:

edit01

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:

edit02

ORBIT

Create jobs and output products by orbits (using start and stop time of the orbits).

edit03

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).

edit04

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.

edit05

  "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.

edit06

  "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.

edit07

"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.

edit08

"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).

edit09

"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.

edit10

  "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"
  } ],