A utility to convert CODAR total ASCII files into CF NetCDF files.
Project description
# codar2netcdf [![Build Status](https://travis-ci.org/axiom-data-science/codar2netcdf.svg?branch=master)](https://travis-ci.org/axiom-data-science/codar2netcdf)
Converting CODAR Total ASCII files (the final total current speed and direction
of the combined radial data) into CF NetCDF files.
## Installation
```
# pip
$ pip install codar2netcdf
# conda
$ conda install -c ioos codar2netcdf
```
## Usage
```python
In [1]: from codar2netcdf import CodarAsciiTotals
In [2]: w = CodarAsciiTotals('totals.txt')
# Pandas dataframe of the data
In [3]: w.data.head()
Out[3]:
Longitude Latitude U comp V comp VectorFlag U StdDev V StdDev
0 -83.004520 25.569613 -14.822 43.085 0 12.89 23.04
1 -82.905005 25.569578 -19.047 45.790 0 14.71 24.21
2 -82.805491 25.569473 1.059 9.831 0 12.31 18.06
3 -83.104110 25.659845 -7.531 38.266 0 9.61 22.19
4 -83.004520 25.659880 -17.075 44.413 0 11.82 23.51
...
# Export to netCDF file
In [4]: w.export('out.nc', ascii_grid='grid.txt')
In [5]: import netCDF4
In [6]: netCDF4.Dataset('out.nc').variables
Out[6]:
OrderedDict([('time', <class 'netCDF4._netCDF4.Variable'>
int64 time(time)
_FillValue: -999
units: seconds since 1970-01-01 00:00:00
standard_name: time
calendar: gregorian
long_name: time
unlimited dimensions:
current shape = (1,)
filling on),
('lat', <class 'netCDF4._netCDF4.Variable'>
float64 lat(x, y)
_FillValue: -999.9
units: degrees_north
standard_name: latitude
axis: Y
long_name: latitude
unlimited dimensions:
current shape = (130, 210)
filling on),
('lon', <class 'netCDF4._netCDF4.Variable'>
float64 lon(x, y)
_FillValue: -999.9
units: degrees_east
standard_name: longitude
axis: X
long_name: longitude
unlimited dimensions:
current shape = (130, 210)
filling on),
('z', <class 'netCDF4._netCDF4.Variable'>
int64 z(z)
_FillValue: -999
units: m
standard_name: depth
positive: down
axis: Z
long_name: depth
unlimited dimensions:
current shape = (1,)
filling on),
('u', <class 'netCDF4._netCDF4.Variable'>
float64 u(time, x, y)
_FillValue: -999.9
standard_name: eastward_sea_water_velocity
long_name: Eastward Surface Current (cm/s)
units: cm/s
coordinates: time lon lat
unlimited dimensions:
current shape = (1, 130, 210)
filling on),
('v', <class 'netCDF4._netCDF4.Variable'>
float64 v(time, x, y)
_FillValue: -999.9
standard_name: northward_sea_water_velocity
long_name: Northward Surface Current (cm/s)
units: cm/s
coordinates: time lon lat
unlimited dimensions:
current shape = (1, 130, 210)
filling on),
('crs', <class 'netCDF4._netCDF4.Variable'>
int32 crs()
long_name: http://www.opengis.net/def/crs/EPSG/0/4326
grid_mapping_name: latitude_longitude
epsg_code: EPSG:4326
inverse_flattening: 298.257223563
semi_major_axis: 6378137.0
unlimited dimensions:
current shape = ()
filling on, default _FillValue of -2147483647 used)
])
```
Converting CODAR Total ASCII files (the final total current speed and direction
of the combined radial data) into CF NetCDF files.
## Installation
```
# pip
$ pip install codar2netcdf
# conda
$ conda install -c ioos codar2netcdf
```
## Usage
```python
In [1]: from codar2netcdf import CodarAsciiTotals
In [2]: w = CodarAsciiTotals('totals.txt')
# Pandas dataframe of the data
In [3]: w.data.head()
Out[3]:
Longitude Latitude U comp V comp VectorFlag U StdDev V StdDev
0 -83.004520 25.569613 -14.822 43.085 0 12.89 23.04
1 -82.905005 25.569578 -19.047 45.790 0 14.71 24.21
2 -82.805491 25.569473 1.059 9.831 0 12.31 18.06
3 -83.104110 25.659845 -7.531 38.266 0 9.61 22.19
4 -83.004520 25.659880 -17.075 44.413 0 11.82 23.51
...
# Export to netCDF file
In [4]: w.export('out.nc', ascii_grid='grid.txt')
In [5]: import netCDF4
In [6]: netCDF4.Dataset('out.nc').variables
Out[6]:
OrderedDict([('time', <class 'netCDF4._netCDF4.Variable'>
int64 time(time)
_FillValue: -999
units: seconds since 1970-01-01 00:00:00
standard_name: time
calendar: gregorian
long_name: time
unlimited dimensions:
current shape = (1,)
filling on),
('lat', <class 'netCDF4._netCDF4.Variable'>
float64 lat(x, y)
_FillValue: -999.9
units: degrees_north
standard_name: latitude
axis: Y
long_name: latitude
unlimited dimensions:
current shape = (130, 210)
filling on),
('lon', <class 'netCDF4._netCDF4.Variable'>
float64 lon(x, y)
_FillValue: -999.9
units: degrees_east
standard_name: longitude
axis: X
long_name: longitude
unlimited dimensions:
current shape = (130, 210)
filling on),
('z', <class 'netCDF4._netCDF4.Variable'>
int64 z(z)
_FillValue: -999
units: m
standard_name: depth
positive: down
axis: Z
long_name: depth
unlimited dimensions:
current shape = (1,)
filling on),
('u', <class 'netCDF4._netCDF4.Variable'>
float64 u(time, x, y)
_FillValue: -999.9
standard_name: eastward_sea_water_velocity
long_name: Eastward Surface Current (cm/s)
units: cm/s
coordinates: time lon lat
unlimited dimensions:
current shape = (1, 130, 210)
filling on),
('v', <class 'netCDF4._netCDF4.Variable'>
float64 v(time, x, y)
_FillValue: -999.9
standard_name: northward_sea_water_velocity
long_name: Northward Surface Current (cm/s)
units: cm/s
coordinates: time lon lat
unlimited dimensions:
current shape = (1, 130, 210)
filling on),
('crs', <class 'netCDF4._netCDF4.Variable'>
int32 crs()
long_name: http://www.opengis.net/def/crs/EPSG/0/4326
grid_mapping_name: latitude_longitude
epsg_code: EPSG:4326
inverse_flattening: 298.257223563
semi_major_axis: 6378137.0
unlimited dimensions:
current shape = ()
filling on, default _FillValue of -2147483647 used)
])
```
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
codar2netcdf-0.0.2.tar.gz
(6.0 kB
view hashes)