DSL for creating NetCDF files
Project description
A DSL for creating NetCDF files. Here’s a simple example:
from pup import * class Test(NetCDF): # NC_GLOBAL attributes go here history = 'Created for a test' # dimensions need to be set explicitly only when they # have no variable associated with them dim0 = Dimension(2) # variables that don't specify dimensions are assumed to # be their own dimension time = Variable(range(10), record=True, units='days since 2008-01-01') # now a variable with dimensions (time,) temperature = Variable(range(10), (time,), units='deg C') Test.save('simple.nc')
This will produce the following NetCDF file:
netcdf simple { dimensions: dim0 = 2 ; time = UNLIMITED ; // (10 currently) variables: int time(time) ; time:units = "days since 2008-01-01" ; int temperature(time) ; temperature:units = "deg C" ; // global attributes: :history = "Created for a test" ; data: time = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ; temperature = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ; }
By default it uses pupynere for creating files, but this can be overloaded:
from pynetcdf import netcdf_file class Test(NetCDF): loader = netcdf_file ...
Changelog:
- 0.1.2:
Improved optional loader detection.
- 0.1.1:
Added pupynere dependency.
- 0.1:
Initial release.
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
Puppy-0.1.2.tar.gz
(2.7 kB
view hashes)
Built Distribution
Puppy-0.1.2-py2.6.egg
(4.0 kB
view hashes)