Welcome to LAIR’s documentation!#

lair is a collection of tools that I have developed/acquired for my research regarding land-air interactions. I spent a lot of time developing the uataq subpackage which provides a simple interface for reading in data from the Utah Atmospheric Trace Gas and Air Quality (UATAQ) project - the idea being that we as scientists spend too much time on data wrangling and not enough time on analysis. The lair package is designed to make it easier to work with atmospheric data, particularly data from the UATAQ project.

Air

Various modules for working with atmospheric data.

Air
Config

Configuration settings for the package.

Configuration
\(\pi\) Constants

Mathematical & scientific constants.

Constants
UATAQ

Utah Atmospheric Trace-gas & Air Quality data.

Utah Atmospheric Trace-gas and Air Quality (UATAQ)
Utils

Utility classes & functions.

Utilities
Valley

Salt Lake Valley measurements map.

Valley

Installation#

The lair package is installable from the git repository via pip, however, some dependencies can only be installed via conda. Additionally, many components of lair require access to CHPC which encourages the use of conda. Therefore, we recommend using conda to install the package.

Important

If you are using CHPC, it is assumed that miniforge3 is installed following the instructions at https://www.chpc.utah.edu/documentation/software/python-anaconda.php

To create a new conda environment for lair, use the following command:

mamba create -n lair -c conda-forge python=3.10 esmpy

If you already have a conda environment, simply install the dependencies:

mamba activate <lair-env>
mamba install -c conda-forge esmpy

Note

lair requires Python 3.10 or higher.

Now we can install the package via pip. Either directly from the git repository:

pip install git+https://github.com/jmineau/lair.git

or by cloning the repository and installing it as an editable package:

git clone https://github.com/jmineau/lair.git
cd lair
pip install -e .

Optional Dependencies#

lair is a rather dependecy-heavy package, however, many are common in the field of atmospheric science. To keep lair as lightweight as possible, some dependencies related to meteorology are currently optional. These include:

  • boto3

  • metpy

  • s3fs

  • siphon

  • synopticpy

  • zarr

The following modules are impacted:

  • lair.air.hrrr

  • lair.air.soundings

To install the optional dependencies, use the following command:

# via conda (preferred on CHPC)
conda activate <lair-env>  # activate your lair environment
conda install -c conda-forge boto3 metpy s3fs siphon synopticpy zarr

# via pip
pip install git+https://github.com/jmineau/lair.git[met]

Verbosity#

Verbosity for the lair package is set via lair.config.verbose as a boolean.

For early versions of the package, verbose will be set to True by default. This will be changed in future versions.

Acknowledgements#

This package was partially inspired and uses some code generously provided by Brian Blaylock’s Carpenter Workshop blaylockbk/Carpenter_Workshop.

Disclaimer#

  • Portions of this package were written with AI-based tools including Github CoPilot, ChatGPT, and Google Gemini.

  • Additionally, various code snippets were borrowed from StackOverflow and other online resources.

Contributing#

Contributions are welcome! Please take a look at current issues and feel free to submit a pull request with new features or bug fixes.

Important

Please document your code using numpydoc style docstrings.

Citation#

If you use any portion of this package in your research, please cite the software and/or acknowledge me.

A DOI will be provided in the future.

Indices and tables#