Skip to main content

Package for working with ROMS output in xarray

Project description

xroms

Build Status Code Coverage License:MIT Documentation Status Code Style Status Conda Version Python Package Index

DOI

xroms contains functions for commonly used scripts for working with ROMS output in xarray.

There are functions to...

  • help read in model output with automatically-calculated z coordinates
  • calculate many derived variables with correct grid metrics in one line including:
    • horizontal speed
    • kinetic energy
    • eddy kinetic energy
    • vertical shear
    • vertical vorticity
    • horizontal divergence
    • normalized surface divergence
    • Ertel potential vorticity
    • density as calculated in ROMS
    • potential density
    • buoyancy
    • $N^2$ (buoyancy frequency/vertical buoyancy gradient)
    • $M^2$ (horizontal buoyancy gradient)
  • useful functions including:
    • derivatives in all dimensions, accounting for curvilinear grids and sigma layers
    • grid metrics (i.e., grid lengths, areas, and volumes)
    • subset horizontal grid such that the staggered grids are consistent
    • easily change horizontal and vertical grids using xgcm grid objects
    • easily reorder to dimensional convention
    • slice along a fixed value
    • wrapper for interpolation in longitude/latitude and for fixed depths
    • mixed-layer depth
  • Demonstrations:
    • selecting data in many different ways
    • interpolation
    • changing time sampling
    • calculating climatologies
    • various calculations
  • provide/track attributes and coordinates through functions
    • wraps cf-xarray to generalize coordinate and dimension calling.
  • ability to automatically choose colormaps for plotting with xarray
    • wraps xcmocean for this

Installation

You need to have conda installed for these installation instructions. You'll have best results if you use the channel conda-forge, which you can prioritize with conda config --add channels conda-forge --force.

Install, the easy way

PyPI:

pip install xroms

conda-forge:

mamba install -c conda-forge xroms

Create environment if needed

As a first step, you can create an environment for this package with conda if you want. If you do this, you'll need to git clone the package first as below. Note that mamba and conda can be used interchangeably, but mamba is faster for installation.

mamba env create -f environment.yml

You can choose to install with conda the optional dependencies for full functionality:

conda install --file requirements-opt.txt

and to install optional dependency xcmocean:

pip install git+https://github.com/pangeo-data/xcmocean

Then choose one of the following to install xroms from GitHub:

  1. Clone xroms into a particular directory then install so that it is editable (-e)

    git clone https://github.com/xoceanmodel/xroms.git
    cd xroms
    pip install -e .
    
  2. Directly install xroms from github

    pip install git+https://github.com/xoceanmodel/xroms
    

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

xroms-0.6.2.tar.gz (39.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

xroms-0.6.2-py3-none-any.whl (42.6 kB view details)

Uploaded Python 3

File details

Details for the file xroms-0.6.2.tar.gz.

File metadata

  • Download URL: xroms-0.6.2.tar.gz
  • Upload date:
  • Size: 39.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for xroms-0.6.2.tar.gz
Algorithm Hash digest
SHA256 4e9c0ec2a5c35135682a2d132c99038864cadc583ae3942952354bcc4e06d81f
MD5 f00388a24dfa4f9bc7746ecf3282c0e2
BLAKE2b-256 e212b2d6e58931bae5268e4d35b133595f51ef3f5d5166c096fcc258a06bb7cc

See more details on using hashes here.

Provenance

The following attestation bundles were made for xroms-0.6.2.tar.gz:

Publisher: release.yaml on xoceanmodel/xroms

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file xroms-0.6.2-py3-none-any.whl.

File metadata

  • Download URL: xroms-0.6.2-py3-none-any.whl
  • Upload date:
  • Size: 42.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for xroms-0.6.2-py3-none-any.whl
Algorithm Hash digest
SHA256 04cb964fccb525dfcc0a7a9ee6dd9c3e6e4186c18f7fabbd9665170755c977f4
MD5 4e1ba99790385b3a87c841d583f021da
BLAKE2b-256 dad5a400884177e3626b7496a6987327d1e5d616aac7df8b00e2da244db65f93

See more details on using hashes here.

Provenance

The following attestation bundles were made for xroms-0.6.2-py3-none-any.whl:

Publisher: release.yaml on xoceanmodel/xroms

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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