Skip to main content

NetCDF to COG Conversion Service

Project description

Netcdf Converter

Conversion service for netcdf4 files to cloud optimized geotiff. This repository contains the source code, unit test suite, and Jupyter notebook documentation.

Directory structure

๐Ÿ“
โ”œโ”€โ”€ .๐Ÿ“ github
โ”œโ”€โ”€ ๐Ÿ“ cmr
โ”œโ”€โ”€ ๐Ÿ“ bin
โ”œโ”€โ”€ ๐Ÿ“ docker
โ”œโ”€โ”€ ๐Ÿ“ docs
โ”œโ”€โ”€ ๐Ÿ“ net2cog
โ”œโ”€โ”€ ๐Ÿ“ tests
โ”œโ”€โ”€ CHANGELOG.md
โ”œโ”€โ”€ CONTRIBUTING.md
โ”œโ”€โ”€ LICENSE
โ”œโ”€โ”€ README.md
โ”œโ”€โ”€ poetry.lock
โ”œโ”€โ”€ pyproject.toml
โ””โ”€โ”€ run_tests.sh
  • .github - Contains CI/CD workflows and pull request template.
  • cmr - Contains files for updating the service's CMR UMM-S profile
  • bin - A directory containing utility scripts to build the service and test images. A script to extract the release notes for the most recent version, as contained in CHANGELOG.md is also in this directory.
  • docker - A directory containing the Dockerfiles for the service and test images. It also contains service_version.txt, which contains the semantic version number of the library and service image. Update this file with a new version to trigger a release.
  • docs - A directory containing NetCDF Converter Service documentation.
  • example - Directory containing Jupyter notebook documentation
  • net2cog - The directory containing Python source code for the net2cog Service. netcdf_convert_harmony.py contains the NetcdfConverterService class that is invoked by calls to the service.
  • tests - Contains the pytest test suite.
  • CHANGELOG.md - Contains a record of changes applied to each new release of the net2cog Service.
  • CONTRIBUTING.md - Instructions on how to contribute to the repository.
  • LICENSE - Required for distribution under NASA open-source approval. Details conditions for use, reproduction and distribution.
  • README.md - This file, containing guidance on developing the library and service.
  • poetry.lock - Python's Poetry dependency management system. This file plays a crucial role in ensuring reproducible and consistent de.
  • pyproject.toml - Contains a list of Python packages needed to run the service.
  • run_tests.sh - Script to manage Python environment, install dependencies, and run tests. The script can be used to build and run pytest both locally and within Docker container.

Developer Notes

Local development:

Local testing of service functionality is best achieved via a local instance of Harmony. Please see instructions there regarding creation of a local Harmony-In-A-Box instance.

Test in Docker:

This service utilises the Python pytest package to perform unit tests on classes and functions in the service. After local development is complete, and test have been updated, they can be run via:

$ ./bin/build-image
$ ./bin/build-test
$ ./bin/run-test

The run_tests.sh script will also generate a coverage report, rendered in HTML, and scan the code with pylint.

The unittest suite is run automatically via GitHub Actions as part of a GitHub "workflow". These workflows are defined in the .github/workflows directory.

Test locally:

$ ./run_tests.sh

The run_tests.sh script will also generate a coverage report, rendered in HTML, and scan the code with pylint.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

net2cog-1.2.0.tar.gz (22.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

net2cog-1.2.0-py3-none-any.whl (23.6 kB view details)

Uploaded Python 3

File details

Details for the file net2cog-1.2.0.tar.gz.

File metadata

  • Download URL: net2cog-1.2.0.tar.gz
  • Upload date:
  • Size: 22.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for net2cog-1.2.0.tar.gz
Algorithm Hash digest
SHA256 728869bd2d09359080fe5f514d4628133b2740daffbe9473bcc073975014c1f9
MD5 d75e3b2b220078103049dc4bfece36b6
BLAKE2b-256 6c16e1c6a9635744b8592cdc311fdad575ca106e008a345273e6a6f04537a2e6

See more details on using hashes here.

Provenance

The following attestation bundles were made for net2cog-1.2.0.tar.gz:

Publisher: build-pipeline.yml on podaac/net2cog

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file net2cog-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: net2cog-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 23.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for net2cog-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b582e4f8983ad7787d3763b4b8d2cae9fbf4e381d1e903af648cd29d1c9d0aa3
MD5 02e6f3ea166046d764c356f4e9b4829b
BLAKE2b-256 c98c673a569ed29251a285e38fcc5c2e228a6317be8ee739ec8eab97f4bd27cf

See more details on using hashes here.

Provenance

The following attestation bundles were made for net2cog-1.2.0-py3-none-any.whl:

Publisher: build-pipeline.yml on podaac/net2cog

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page