Skip to content

axiom-data-science/extract_model

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

extract_model

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

Facilitates read-in and extraction for ocean model output. Most functions work on both structured and unstructured model output. Unstructured functionality has been tested with FVCOM and SELFE output.

In particular this package can:

  • interpolate a model time series to a longitude, latitude location on a 2D grid, while bringing along the calculated z coordinates, with select()
  • saves the weights of the interpolation to save time in the accessor if used, or allows user to input
  • uses xESMF for fast interpolation that respects longitude/latitude grids
  • find the nearest grid point to a longitude, latitude location on a horizontal grid (structured or unstructured) in sel2d() using xoak
  • xoak saves the calculated index so that subsequent searches are faster
  • select a sub-region of a structured or unstructured grid in two ways with sub_bbox() and sub_grid()
  • has an xarray accessor for convenient access to methods
  • uses cf-xarray to understand xarray Dataset metadata and allow for generic axis and coordinate names as well as calculate vertical coordinates
  • can preprocess a variety of model output types (including ROMS, HYCOM, POM, and FVCOM) to improve metadata and ease of use

⚠️ If you are using Windows: Horizontal interpolation currently will not work in extract_model until xESMF is installable on Windows. Other functions will work.


Project based on the cookiecutter science project template.

Installation

From conda-forge

This will install for all operating systems:

conda install -c conda-forge extract_model

but it includes only minimal requirements. If you want to install packages to run the example docs notebooks and to make unstructured grid subsetting faster, you can additionally install for Windows:

$ conda install --file conda-requirements-opt-win.txt

For running the example docs notebooks, horizontal interpolation (with xESMF), and to make horizontal subsetting faster, install additional packages for Mac and Linux:

$ conda install --file conda-requirements-opt.txt

From PyPI

pip install extract_model

With environment

Clone the repo:

$ git clone https://github.com/axiom-data-science/extract_model.git

In the extract_model directory, install conda environment (for Mac or Linux):

$ conda env create -f environment.yml

or for Windows:

$ conda env create -f environment-win.yml

Local

For local package install, after cloning the repository, in the extract_model directory:

$ pip install -e .

Development

To also develop this package, install additional packages with:

$ conda install --file requirements-dev.txt

To then check code before committing and pushing it to github, locally run

$ pre-commit run --all-files