Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .python-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3.11
20 changes: 20 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,27 @@ Another novel feature in __atmos__ is the treatment of saturation, which can be

The functions in __atmos__ that perform vertical integration, averaging, or interpolation are designed to be agnostic of the vertical grid; so long as arrays of pressure and/or height are provided, the calculations should work. However, when working with data on pressure levels, it is important to provide surface/screen-level variables (specified using the `_sfc` keyword arguments) in addition to the pressure-level arrays. This will ensure that values below the surface are excluded from the calculations.

## Installation
It is recommended to activate and use a virtual environment. The library requires a minimum of python `3.11` to install more recent versions of the dependencies (`numba` and `numpy`).

Clone this repository:

```bash
git clone https://github.com/AusClimateService/atmos.git
cd atmos
```



Install using `pip`:
```bash
pip install -e .
```

Or `uv`:
```bash
uv pip install -e .
```
## Examples

Below are a few examples of using __atmos__ functions. Note that all variables are assumed to be in SI units; i.e., m for heights, Pa for pressures, K for temperatures, kg/kg for mass fractions (specific humidities) and mixing ratios, m/s for wind velocities. Relative humidities are expressed as fractions rather than percentages. For functions that perform vertical integration, averaging, or interpolation, it is assumed that the first array dimension corresponds to the vertical axis (unless the `vertical_axis` keyword is specified) and that pressure decreases and height increases along this axis. By default, saturation is calculated with respect to liquid water only.
Expand Down
1 change: 0 additions & 1 deletion atmos/__init__.py

This file was deleted.

26 changes: 26 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
[project]
name = "atmos"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.11"
dependencies = [
"numba>=0.65.1",
"numpy>=2.4.6",
]

[project.scripts]
atmos = "atmos:main"

[build-system]
requires = ["hatchling >= 1.26"]
build-backend = "hatchling.build"

[tool.hatch.build.targets.wheel]
packages = ["src/atmos"]

[tool.hatch.build.targets.sdist]
include = ["src/atmos/**/*"]

[tool.uv.sources]
atmos = { workspace = true }
3 changes: 3 additions & 0 deletions src/atmos/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
from atmos import constant, kinematic, moisture, parcel, pseudoadiabat, thermo, utils

__all__ = ["constant", "kinematic", "moisture", "parcel", "pseudoadiabat", "thermo", "utils"]
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
157 changes: 157 additions & 0 deletions uv.lock

Large diffs are not rendered by default.