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.1.0.tar.gz (21.5 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.1.0-py3-none-any.whl (22.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for net2cog-1.1.0.tar.gz
Algorithm Hash digest
SHA256 1964f29adc5898ec9a57b185744ba7753cac9b34aa5fe13e037c761df269096f
MD5 78296e24223c4e5892c5f055dec9e115
BLAKE2b-256 62611485b32aaec6964797f180bf0b0650471c1e694aba2a121f56dafb57cd1d

See more details on using hashes here.

Provenance

The following attestation bundles were made for net2cog-1.1.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.1.0-py3-none-any.whl.

File metadata

  • Download URL: net2cog-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 22.9 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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 06ebcc80dd8a70b22a31120255c7cdcd5d09efa8ca22a94210d3413577c4815c
MD5 4db8ca083e1d6d563e617f040eeb8318
BLAKE2b-256 aa07c27b7a18e147addfafcae2f7e1624ac4e0f7ce285463d4241ceac24ef73d

See more details on using hashes here.

Provenance

The following attestation bundles were made for net2cog-1.1.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