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

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for net2cog-1.3.0.tar.gz
Algorithm Hash digest
SHA256 60d060f78c09643347984d7c7f9d7cf6a6ff8278148bc39369ec19c0dd5c4cad
MD5 73da3fa45f89b3720157c8c9a87f6cc9
BLAKE2b-256 d164509ec6b5c8962ba049de76de23874c5e9f063755cf6f3a98991c9f88cc14

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for net2cog-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b341e2c227fee5515b0af0119cf33042f496dc065d4642ec1d3a0ccdc773109c
MD5 d2dba8f8e65c8dfd9ce2bea3b7cf49fd
BLAKE2b-256 2d7f6e3f1646fad1e0abb311c5c5979d8700dca365d1d69f5cdad315f3ae048d

See more details on using hashes here.

Provenance

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