Puppy

DSL for creating NetCDF files
Download

Puppy Ranking & Summary

Advertisement

  • Rating:
  • License:
  • MIT/X Consortium Lic...
  • Price:
  • FREE
  • Publisher Name:
  • Roberto De Almeida
  • Publisher web site:
  • http://pydap.org/

Puppy Tags


Puppy Description

Puppy is 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 netCDF4 import Datasetclass Test(NetCDF): loader = Dataset ...Test.save('simple.nc', format='NETCDF4')Product's homepage


Puppy Related Software