Skip to main content

Issues GPL License LinkedIn


Logo

NetcdFella

The easy as duck duck netcdf converter to ASCII, JPEG and more...
Explore the docs »

· Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

Netcdfella is a command line interface (cli) tool for converting netcdf files to ASCII and JPG/PNG format, as well as creating graphs based on the vectors of the file.

Netcdfella supports two ways for converting documents at the time being:

  • single/multi convert
  • conversion upon creation

During the run of the cli the output types, the mapping dimension and variable can be selected aling with other options.

single/multi convert

You can convert a single file or all netcdf files in a directory on your command. This is the case of the single/multi select.

conversion upon creation

A directory can be selected to be watched by netcdfella. WHen a new netcdf file is created in that directory, it is automatically converted in the selected formats.

qnotify

In order to handle any amount of input documents in the case of watch. A producer-consumer queue is created in the module qnotify using the inotify library. In this case the producers are the directory events. This creates a buffer that can handle the set amount of concurrent document creations.

Use the README.md to get started.

(back to top)

Built With

This section should list any major frameworks/libraries used to bootstrap your project. Leave any add-ons/plugins for the acknowledgements section. Here are a few examples.

  • Python
  • Poetry

(back to top)

Getting Started

This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these simple example steps.

Prerequisites

This software and tested for Python version 3.10.4.

If you need to manually install packages:

  • requirements
    pip install -r requirements.txt
    

If you wish to make use of the pyproject.toml you need to install poetry:

  • poetry
    curl -sSL https://install.python-poetry.org | python3 -
    

Installation

You can install from source or from pypi

Source

  1. Clone the repo

    git clone https://github.com/nikfot/netcdfella.git
    
  2. Install using poetry

    poetry install
    
  3. Run netcdfella to see the help with available choices:

    netcdfella
    

    or

    netcdfella --help
    

PYPI

Use PYPI to pip install the project:

```sh
pip install netcdfella
```

(back to top)

Usage

You can use the netcdfella to get a better description of the available choices:

```sh
netcdfella
```

or

```sh
netcdfella --help
```

convert

Use netcdfella to convert a single document or all documents in a directory:

```sh
netcdfella convert "/path/to/documents" -k "ascii,graph,scatter,marks" -md "flashes" -mv "radiance"
```

All choices for convert subcommand: Options: -o, --output-dir TEXT set the output directory for converted files. -k, --output-kinds TEXT set the output kind for conversion. -md, --map-dimension TEXT set the dimenion to use for mapping. -mv, --map-variable TEXT set the variable to use for mapping. -e, --exclude-variables TEXT comma separated list of variables to be excluded from conversion. --help Show this message and exit.

watch

Use netcdfella to watch over a directory and convert files upon creation:

```sh
netcdfella watch "/path/to/documents" -k "ascii,graph,scatter,marks" -md "flashes" -mv "radiance"
```

Options: -o, --output-dir TEXT set the output directory for converted files. -k, --output-kinds TEXT set the output kind for conversion. -md, --map-dimension TEXT set the dimenion to use for mapping. -mv, --map-variable TEXT set the variable to use for mapping. -e, --exclude-variables TEXT comma separated list of variables to be excluded from conversion. --help Show this message and exit.

(back to top)

Roadmap

  • Add cli conversion
  • Add ascii,jpg/png, graphs
  • Add docker support
  • Check compatibility with more netcdf filetypes (current test METEOSAT 4th gen)
  • Add REST API Server
  • Add gui

(back to top)

Contributing

There are still a lot to be done, so if you find the project usefull please contribute you comments, ideas and code. It is greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the GPL License. See LICENSE.md for more information.

(back to top)

Contact

Nikos Fotiou - @workaround18 - nik_fot@hotmail.gr

Netcdfella: https://github.com/nikfot/netcdfella

(back to top)

Acknowledgments

This tool is created as part of my postgrad studies "Space Technologies Applications and Services - STAR" programm at the National and Kapodestrian University of Athens Greece (NKUA). It was a semester project for the class "Space Image Processing" by professor Stavros Kolios.

(back to top)

Metadata

Release files for netcdfella 0.3.4

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

Source distribution (sdist)

Source distribution for netcdfella 0.3.4
File Size Uploaded Provenance Actions
netcdfella-0.3.4.tar.gz 82.5 kB Without provenance Details for netcdfella-0.3.4.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for netcdfella 0.3.4
File Interpreter ABI Platform Actions
netcdfella-0.3.4-py3-none-any.whl Python 3 none any Details for netcdfella-0.3.4-py3-none-any.whl

Total release size: 163.7 kB

Release files / netcdfella-0.3.4.tar.gz

Download URL netcdfella-0.3.4.tar.gz
Size 82.5 kB
Tags Source
SHA-256 checksum
How to use checksums
aaee95bb5a7409b4beed0616c34a84a6896ac920b6a5856fe46dbd7af4bec597
BLAKE2b-256 checksum
How to use checksums
ffcae0f7e8983e7717f24212a9c4b07c974cd52e55a188c1ff7efaec213da9cb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.2.2 CPython/3.10.6 Linux/5.15.0-1020-azure

Release files / netcdfella-0.3.4-py3-none-any.whl

Download URL netcdfella-0.3.4-py3-none-any.whl
Size 81.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
20a2a6aad715bb416c41ca8ee704e7d71e866603975b169ff00924cd46257464
BLAKE2b-256 checksum
How to use checksums
382e8e06a6cf6a6bf08627c52b6c29a028d28e1348aa9538349a3aed3a2b92e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.2.2 CPython/3.10.6 Linux/5.15.0-1020-azure

Security for netcdfella 0.3.4

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

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