Skip to main content

Python library for converting non-standard formats to WOUDC extended CSV format.

Project description

[![Build Status](https://travis-ci.org/woudc/woudc-formats.png?branch=master)](https://travis-ci.org/woudc/woudc-formats)
[![Build status](https://ci.appveyor.com/api/projects/status/02koln2pe4ap5kvd/branch/master?svg=true)](https://ci.appveyor.com/project/tomkralidis/woudc-formats)
[![Downloads this month on PyPI](https://img.shields.io/pypi/dm/woudc-formats.svg)](http://pypi.python.org/pypi/woudc-formats)
[![Latest release](https://img.shields.io/pypi/v/woudc-formats.svg)](http://pypi.python.org/pypi/woudc-formats)
[![License](https://img.shields.io/github/license/woudc/woudc-formats.svg)](https://github.com/woudc/woudc-formats)

# WOUDC Format Converter

woudc-formats is a Python package used to perform various transformations
from/to WOUDC supported formats.
Currently supported features include:

Readers: SHADOZ, BAS, NASA AMES files.
Writers: WOUDC totalozone [daily summary](http://woudc.org/archive/Summaries/TotalOzone/Daily_Summary/FileFormat_DV.txt) (master file).

### Installation Instructions

## Requirements
woudc-formats requires Python 2.7, [pywoudc](https://github.com/woudc/pywoudc) and [woudc-extcsv](https://github.com/woudc/woudc-extcsv)

## Dependencies
See `requirements.txt`
- [pywoudc](https://github.com/woudc/pywoudc)
- [woudc-extcsv](https://github.com/woudc/woudc-extcsv)

## Setup
```bash
git clone https://github.com/woudc/woudc-formats.git && cd woudc-formats
python setup.py install
```

## Usage

### Command Line Interface
```bash
usage: woudc-formats.py --format {SHADOZ, BAS, AMES-2160, AMES-2160-Boulder, totalozone-masterfile} --inpath PATH/FILENAME --outpath PATH/FILENAME --logfile PATH/LOGFILE --loglevel {DEBUG, CRITICAL, ERROR, WARNING, INFO, DEBUG, NOTSET}

Required Arguments:
--format: indicate input file format
--inpath: import filename and path, for SHADOZ BAS and AMES
--outpath: indicate the the path to output file, including output filename
--logfile: path to log file, including file name
--loglevel: define log level for logging

Optional Arguments:
--metadata: a dictionary formatted string containing some specified station metadation information
ex: {"station": "XXX", "agency": "XXX", "inst type": "ECC", "inst number": "XXXXX", "SA": "XX" }
```

### API
```bash
usage:
import woudc_formats
ecsv = woudc_formats.load(In_Format, InPut_File_Path)
if ecsv is not None:
woudc_formats.dump(ecsv, Output_file_path)

OR

import woudc_formats
with open(input_file_path) as ff
ff.read()
ecsv = woudc_formats.loads(In_Format, s)
if ecsv is not None:
woudc_formats.dump(ecsv, Output_file_path)

Optional Method:
woudc_formats.load(In_Format, InPut_File_Path, metadata) : Take input file path and return ext-csv object, metadata is required for AMES file for most cases, see optional arguments for Command Line Interface for more detail.
woudc_formats.loads(In_Format,String_of_InPut_file, metadata) : Take string represenataion of input file and return ext-csv object. Metadata is required for AMES file for most cases, see optional arguments for Command Line Interface for more detail.
woudc_formats.dump(ecsv, Output_file_path) : Take ext-csv object and produce output file.
woudc_formats.dumps(ecsv) : Take ext-csv object and prints to screen.
```
### Example
```bash
woudc-formats.py --format SHADOZ --inpath ./bin/SAMPLE.dat --outpath ./bin/SAMPLE.csv --logfile ./bin/LOG.log --loglevel DEBUG
woudc-formats.py --format totalozone-masterfile --inpath <full local or web path to totalozone snapshot> --outpath <output path> --loglevel <log level> --logfile <log file>
woudc-formats.py --format AMES-2160 --inpath <full local path to AMES file> --outpath <output path> --loglevel <log level> --logfile <log file> --metadata '{"station": "Boulder", "agency": "ukmo", "SA": "XXX", "inst type": "ECC", "inst number": "6A3412"}'
```

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

woudc-formats-0.1.0.tar.gz (22.6 kB view details)

Uploaded Source

File details

Details for the file woudc-formats-0.1.0.tar.gz.

File metadata

File hashes

Hashes for woudc-formats-0.1.0.tar.gz
Algorithm Hash digest
SHA256 904b3741396b3118f1b17c23991244bf3e99ece14befa548ec2b8d3663b9d8b6
MD5 dbd6845896d203ffcfaf26c297377768
BLAKE2b-256 d7cda5e37386b0018358097a9036acc90cbd46f8fa961df5f85fe57bf4561385

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page