Skip to main content

hitide-backfill-tool

Tool to backfill thumbnail images and footprints for POCLOUD datasets

Some granules have been ingested without creating footprints/thumbnail images. The purpose of this tool is to trigger part of Cumulus workflow to generate footprints and images for granules that need it.

What it does in a nutshell

  • You specify search parameters at command line (collection, start_date, end_date, footprint, image, etc)
  • Backfill-Tool searches CMR for matching granules
  • Backfill-Tool figures out if the granule needs a footprint or image
  • If footprint or image generation is needed, Backfill-Tool creates a Cumulus message and sends it to an AWS SNS topic.
  • From there, another service will run trigger Forge/TIG and update CMR with new images/footprints as needed

Prerequisites

  • Python >= 3.12
  • poetry

Forge / forge-py / tig configuration URLs

The forge-tig services fetch a collection's config when they run. Each service's config_url is set in its Terraform module under terraform-deploy/

failed_workflow.py

  • Script used to scan failed workflows and get unique errors
  • Takes in three arguments
    • workflow_arn: arn of aws workflow
    • profile_name: aws profile name credential to use
    • limit: how many of latest execution to scan if not specified will go through all failed executions
  • ex: python failed_workflow.py --workflow_arn arn:aws:states:us-west-2:123456:stateMachine:podaac-services-ops-hitide-backfill-forge --profile_name service_ops --limit 1000

replay.py

  • Script used to get messages off dead letter queue and back into regular queue
  • Takes 1 argument
    • config: configuration that has the aws_profile, dlq_url, and sqs_url
  • ex: replay --config config.cfg

regression.py

  • Script to run backfill tool command on all collection that has a forge-tig configuartion file
  • Script can be modify to exclude or test specific collections

memory_profiler.py

  • Script to run profile the memory use of lambdas, currently only tig is being profiled
  • Lambdas need to be modified to include lambda request id in cloudwatch logs
  • Modify script with cloudwatch lambda to profile
  • Modify script to include start time and end time range where cloudwatch events were logged

find-swot-global-bounds

  • CLI command to find SWOT granules with global bounding boxes and no GPolygons
  • See FIND_SWOT_GLOBAL_BOUNDS.md for full usage documentation

ECS facility

  • ECS template to start docker : ecs_cluster_instance_autoscaling_cf_template.yml.tmpl
  • ECS script to execute task : task-reaper.sh
  • All ECS related resources are specified in ecs_cluster.tf
  • ECS is a cluster of EC2 instances. While creating the EC2 instances, a key is given to create each EC2 and the key name is specified as key_name variable within variables.tf. At this moment, the following keys are specified for each environment
    • backfill-tool-sit-cluster-keypair (SIT)
    • backfill-tool-uat-cluster-keypair (UAT)
    • backfill-tool-ops-cluster-keypair (OPS)

Metadata

Release files for hitide-backfill-tool 0.15.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hitide-backfill-tool 0.15.0
File Size Uploaded Provenance Actions
hitide_backfill_tool-0.15.0.tar.gz 32.4 kB With provenance Details for hitide_backfill_tool-0.15.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for hitide-backfill-tool 0.15.0
File Interpreter ABI Platform Actions
hitide_backfill_tool-0.15.0-py3-none-any.whl Python 3 none any Details for hitide_backfill_tool-0.15.0-py3-none-any.whl

Total release size: 72.5 kB

Release files / hitide_backfill_tool-0.15.0.tar.gz

Download URL hitide_backfill_tool-0.15.0.tar.gz
Size 32.4 kB
Tags Source
SHA-256 checksum
How to use checksums
51d621e13f7fe4f10ce9de3ee7f583fdf1d5a8150d1d2e0d5eb37e540ec312c9
BLAKE2b-256 checksum
How to use checksums
d4e909fa89dd43b6527a45991481e5bb9cd9140e26718c2513f082c5fb435495
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.

Transparency log

Release files / hitide_backfill_tool-0.15.0-py3-none-any.whl

Download URL hitide_backfill_tool-0.15.0-py3-none-any.whl
Size 40.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c3c998f10e85e25df7fc55bd8c5a969674d20cbb510be59395d1a701f74946f0
BLAKE2b-256 checksum
How to use checksums
2928c1db2bda410af50b7b7794672bc94d7639d416bfcca3c53d21f841b55855
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.

Transparency log

Security for hitide-backfill-tool 0.15.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for hitide_backfill_tool-0.15.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page