Table of Contents
-
About The Project
-
Getting Started
- Usage
- Roadmap
- Contributing
- License
- Contact
- 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.
(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:
If you wish to make use of the pyproject.toml you need to install poetry:
Installation
You can install from source or from pypi
Source
-
Clone the repo
git clone https://github.com/nikfot/netcdfella.git
-
Install using poetry
poetry install
-
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
(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!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - 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)