pynumeric is a Python package to read MSC Radar Numeric data.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
pynumeric
.coveragerc
.gitignore
.travis.yml
LICENSE
MANIFEST.in
README.md
requirements-dev.txt
requirements-gdal.txt
requirements.txt
setup.py

README.md

pynumeric

Build Status Coverage Status

Overview

pynumeric is a Python package to read MSC Radar Numeric data.

Installation

The easiest way to install pynumeric is via the Python pip utility:

pip install pynumeric

Requirements

Dependencies

Dependencies are listed in requirements.txt. Dependencies are automatically installed during pynumeric installation.

Installing pynumeric

# setup virtualenv
virtualenv --system-site-packages -p python3 pynumeric
cd pynumeric
source bin/activate

# clone codebase and install
git clone https://github.com/ECCC-MSC/pynumeric.git
cd pynumeric
python setup.py build
python setup.py install

Running

# help
pynumeric --help

# get pynumeric version
pynumeric --version

# get pynumeric GDAL version
pynumeric --gdal-version

# report on a single numeric file
pynumeric report -f </path/to/numeric_file>

# add verbose mode (ERROR, WARNING, INFO, DEBUG)
pynumeric report -f </path/to/numeric_file> --verbosity=DEBUG

# export a numeric file to GeoTIFF
pynumeric export -f </path/to/numeric_file> -o foo.tif -of GTiff

# export a numeric file to NetCDF
pynumeric export -f </path/to/numeric_file> -o foo.tif -of NetCDF

Using the API

from pynumeric import Numeric

# read Numeric data
with open('/path/to/file') as ff:
    n = Numeric(ff)

    for key, value in n.metadata:
        print(key, value)

    print(n.metadata)

    print(n.data)

    print(len(n.data))

    # get the spatial extent
    print(n.get_spatial_extent())

    # get the data extent
    print(n.get_data_extent())


# read Numeric data using convenience functions
# parse file
s = load('/path/to/numeric_file.dat')  # returns Numeric object

# parse data string
with open('/path/to/numeric_file.dat') as ff:
    numeric_string = ff.read()
s = loads(numeric_string)  # returns Numeric object

# export to GeoTIFF
# Supported are any of the supported GDAL
# Raster Format Codes (http://www.gdal.org/formats_list.html)
s.to_grid('myfile.tif', 'GTiff')  # creates myfile.tif on disk

Development

pip install requirements-dev.txt

Running Tests

# install dev requirements
pip install -r requirements-dev.txt

# run tests like this:
python pynumeric/tests/run_tests.py

# or this:
python setup.py test

# measure code coverage like this
coverage run --source=pynumeric -m unittest pynumeric.tests.run_tests
coverage report -m

# or this:
python setup.py coverage

Releasing

python setup.py sdist bdist_wheel --universal
twine upload dist/*

Code Conventions

Checking Code for PEP8

find . -type f -name "*.py" | xargs flake8

Bugs and Issues

All bugs, enhancements and issues are managed on GitHub.

Contact