config.yml

← Back to workflow

Workflow configuration.

# ============================================================
# Configuration for the MUR SST Cloud Run workflow
# ------------------------------------------------------------
# This workflow retrieves and publishes MUR SST products used by
# ERDDAP-facing datasets.
#
# Main processing streams:
#  - MUR v4.1 daily SST
#  - MUR v4.1 daily SST anomaly
#  - MUR v4.1 monthly SST composite
#  - MUR v4.1 monthly SST anomaly composite
#  - MUR v4.1 frontal products
#  - MUR v4.2 daily SST
#
# The Cloud Run container uses /tmp for local scratch space. Final
# products are uploaded to the production GCS bucket configured below.
# ============================================================

# ------------------------------------------------------------
# Local runtime directories
# ------------------------------------------------------------
# Cloud Run local disk is ephemeral. These paths are used only during
# a single job execution.
HOME_DIR: "/tmp"

DIRS:
  CDL_DIR: "templates"                  # NetCDF template files
  LOG_DIR: "logs"                       # Runtime logs
  LOCAL_STAGE_DIR: "data/staging"       # Downloads and temporary processing files
  LOCAL_OUTPUT_DIR: "data/staging/out"  # Final local outputs before upload

# ------------------------------------------------------------
# Google Cloud Storage buckets
# ------------------------------------------------------------
# Bucket names only. Do not include the "gs://" prefix.
ERDPROD_BUCKET: "YOUR_PRODUCTION_BUCKET"       # Production bucket served by ERDDAP
ERDWORK_BUCKET: "YOUR_WORK_BUCKET"         # Work bucket used for auxiliary inputs

# ------------------------------------------------------------
# Production publishing target
# ------------------------------------------------------------
# Final products are published under:
#
#   gs://<prod_bucket>/<prod_root>/<prod_dst_dir>/<interval>day/<filename>
#
# The interval formatter is shared by the shell and Python scripts.
# For example:
#   interval = "1" -> "1day"
#   interval = "m" -> "mday"
PUBLISH_TARGETS:
  prod:
    bucket: "YOUR_PRODUCTION_BUCKET"
    root: "satellite"
    interval_fmt: "{interval}day"

# ------------------------------------------------------------
# Auxiliary MUR inputs
# ------------------------------------------------------------
# Full GCS URI for the MUR climatology files used by anomaly processing.
MUR_CLIM_GCS_PREFIX: "gs://<bucket>/<prefix>"

# ------------------------------------------------------------
# MUR v4.1 daily SST
# ------------------------------------------------------------
MUR41:
  collection: "MUR-JPL-L4-GLOB-v4.1"     # PO.DAAC collection short name
  local_stage_subdir: "mur41"
  prod_dst_dir: "MUR41/ssta"
  interval: "1"

# ------------------------------------------------------------
# MUR v4.1 monthly SST composite
# ------------------------------------------------------------
MUR41_MDAY:
  prod_dst_dir: "MUR41/ssta"
  interval: "m"

# ------------------------------------------------------------
# MUR v4.1 daily SST anomaly
# ------------------------------------------------------------
MUR41_ANOM:
  prod_dst_dir: "MUR41/anom"
  interval: "1"

# ------------------------------------------------------------
# MUR v4.1 monthly SST anomaly composite
# ------------------------------------------------------------
MUR41_ANOM_MDAY:
  prod_dst_dir: "MUR41/anom"
  interval: "m"

# ------------------------------------------------------------
# MUR v4.1 fronts
# ------------------------------------------------------------
MUR41_FRONTS_WC:
  local_stage_subdir: "mur41"
  prod_dst_dir: "MUR41/erdMurFront41USWest"
  interval: "1"

MUR41_FRONTS_EC:
  local_stage_subdir: "mur41"
  prod_dst_dir: "MUR41/erdMurFront41USAtlantic"
  interval: "1"

# ------------------------------------------------------------
# MUR v4.2 daily SST
# ------------------------------------------------------------
MUR42:
  collection: "MUR25-JPL-L4-GLOB-v04.2"
  local_stage_subdir: "mur42"
  prod_dst_dir: "MUR42/ssta"
  interval: "1"

  # Optional ERDDAP flag endpoint for forcing a dataset reload after upload.
  # Keep real flag keys out of source control. If this is needed operationally,
  # inject the full URL at runtime through Secret Manager or an environment
  # variable rather than committing it here.
  flag_url: ""

# ------------------------------------------------------------
# External endpoints
# ------------------------------------------------------------
NASA_OCEANDATA_URL: "https://oceandata.sci.gsfc.nasa.gov"
NASA_FILE_SEARCH_URL: "https://oceandata.sci.gsfc.nasa.gov/file_search"
NASA_GETFILE_URL: "https://oceandata.sci.gsfc.nasa.gov/ob/getfile"