Skip to main content

Easy chaining of cdo methods.

Project description

This module helps create chains of cdo commands for easy manipulation of climate data.

Features

  • Method execution is lazy and gets processed only on function call Chain.execute().

  • Input supports Unix style pathname pattern search.

  • The Input will be first run with glob and checked if several files match. :exclamation: If that is the case a temporary file will be created.

  • Output can be a file on disc, an netCDF4.Dataset or (not) masked numpy.ndarray.

Installation

python3.5 -m pip install cdochain --pre

— or —

git clone https://github.com/OnionNinja/cdochain.git
cd cdochain
python3.5 setup.py install

TL;DR

from cdochain import chaining as cch

input = './tests/testdata/sresa1b_ncar_ccsm3-example.nc'
output = './enso34-mm.nc'
data = cch.Chain(ifile=input, ofile=output)
enso34 = data.sellonlatbox(190,240,-5,5).monmean()
out = enso34.execute()

Usage

This module implements method chaining for the Climate Data Operators (CDO) tool from the Max Planck Institute for Meteorology. Let us start:

from cdochain import chaining as cch

For initialisation one has to define input, output, and may define several options.

Input

Now we have to define the files we want to work on:

  • To use one file

input = './tests/testdata/sresa1b_ncar_ccsm3-example.nc'
  • To use several files you can give a Unix style pattern

input = './tests/testdata/*.nc'

This creates a temporary file :exclamation:

Output

For defining the output we have several options.

  • To output a file on disc:

data = cch.Chain(ifile=input, ofile='/path/to/output.nc')
  • To output an netcdf4.Dataset object:

data = cch.Chain(ifile=input, ofile='netCDF4')
  • To output an numpy.ndarray object:

data = cch.Chain(ifile=input, ofile='array:<var>')  # numpy.ndarray
# or
data = cch.Chain(ifile=input, ofile='maarray:<var>')  # masked numpy.ndarray

<var> defines the variable to be extracted and saved to numpy.ndarray.

Options

As for options one can use the same as described on the CDO website. The default is options='-O -f nc'.

Operations

The operations defined in CDO can now be used on the data element.

analysis = data.sellonlatbox(190,240,-5,5).sellevidx(1).mermean()
fn = analysis.execute()

Have fun :neckbeard:

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

cdochain-0.2b3.tar.gz (5.7 kB view details)

Uploaded Source

File details

Details for the file cdochain-0.2b3.tar.gz.

File metadata

  • Download URL: cdochain-0.2b3.tar.gz
  • Upload date:
  • Size: 5.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for cdochain-0.2b3.tar.gz
Algorithm Hash digest
SHA256 452a6400d4dd3936854947aa02aa535f271e73ac169d20ec61453db4ca645036
MD5 2f452a0b55dc346e6cc1980057a159e1
BLAKE2b-256 bbf6e27b219b14b840fb2d49e2b00790f38e90aee23dfab3079e42a5269053f2

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