Skip to content

rs_workflows/systematic/process_s3l2olci_systematic_flow.md

<< Back to index

Process systematic S3 OLCI L2 flow implementation

process_s3l2olci_systematic(payload) async

Process SYSTEMATIC S3 L2 OLCI

This flow is started from automation. It get the very first input from the 'event' that triggers the flow. Then it prepares the S3 L2 OLCI processing inputs. Finally it runs the processor with workflow set to "systematic".


Workflow Steps

  1. load the settings — reads the s3l2olci-default-setting Prefect variable and checks that the Dask clusters are running.
  2. compute input products — retrieve the stac items S03OLCEFR from the event that trigger this flow.
  3. compute external variables — external variables are extracted from the first item properties.
  4. start the processing — calls the flow process-generic, then emits the events of the generated products.
  5. request the quicklooks — emits the rs-python.s3-l2.quicklook-inputs-ready event with the generated products.

Parameters

Parameter Type Default Description
payload dict[str, Any] required Payload of the product.S03OLCEFR.generated event.

Source code in docs/rs-client-libraries/rs_workflows/systematic/process_s3l2olci_systematic_flow.py
@flow(name="process-s3-l2-olci-systematic")
async def process_s3l2olci_systematic(payload: dict[str, Any]) -> list[dict[str, Any]]:
    """
    # Process SYSTEMATIC S3 L2 OLCI

    This flow is started from automation.
    It get the very first input from the 'event' that triggers the flow.
    Then it prepares the S3 L2 OLCI processing inputs.
    Finally it runs the processor with workflow set to "systematic".

    ---
    ## Workflow Steps

    1. *load the settings* — reads the `s3l2olci-default-setting` Prefect variable and checks that the Dask clusters
       are running.
    2. *compute input products* — retrieve the stac items `S03OLCEFR` from the event that trigger this flow.
    3. *compute external variables* — external variables are extracted from the first item properties.
    4. *start the processing* — calls the flow `process-generic`, then emits the events of the generated products.
    5. *request the quicklooks* — emits the `rs-python.s3-l2.quicklook-inputs-ready` event with the generated products.
    ---
    ## Parameters
    Parameter | Type | Default | Description |
    |---|---|---|---|
    | `payload` | dict[str, Any] | *required* | Payload of the `product.S03OLCEFR.generated` event. |

    ---
    """
    return await process_event_product(payload, ProcessingId.S3_OLCI_L2, process_s3l2olci_product)