Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ray-chew/pycsam

pyCSAM is a robust approach for approximating geodesic subgrid-scale orographic spectra with applications to weather forecasting and broader data analysis
https://github.com/ray-chew/pycsam

data-analysis gmted icon-model merit-dem orographic spectral-analysis topography weather-forecast

Last synced: 6 days ago
JSON representation

pyCSAM is a robust approach for approximating geodesic subgrid-scale orographic spectra with applications to weather forecasting and broader data analysis

Awesome Lists containing this project

README

        



CSAM Logo

Constrained Spectral Approximation Method



GitHub Actions: docs


License: GPL v3


Code style: black

The Constrained Spectral Approximation Method (CSAM) is a physically sound and robust method for approximating the spectrum of subgrid-scale orography. It operates under the following constraints:

* Utilises a limited number of spectral modes (no more than 100)
* Significantly reduces the complexity of physical terrain by over 500 times
* Maintains the integrity of physical information to a large extent
* Compatible with unstructured geodesic grids
* Inherently scale-aware

This method is primarily used to represent terrain for weather forecasting purposes, but it also shows promise for broader data analysis applications.

---

**[Read the documentation here](https://ray-chew.github.io/pyCSAM/index.html)**

---

## Requirements

See [`requirements.txt`](https://github.com/ray-chew/pyCSAM/blob/main/requirements.txt)

> **NOTE:** The Sphinx dependencies can be found in [`docs/conf.py`](https://github.com/ray-chew/pyCSAM/blob/main/docs/source/conf.py).

## Usage

### Installation

Fork this repository and clone your remote fork.

### Configuration

The user-defined input parameters are in the [`inputs`](https://github.com/ray-chew/pyCSAM/tree/main/inputs) subpackage. These parameters are imported into the run scripts in [`runs`](https://github.com/ray-chew/pyCSAM/tree/main/runs).

### Execution

A simple setup can be found in [`runs.idealised_isosceles`](https://github.com/ray-chew/pyCSAM/blob/main/runs/idealised_isosceles.py). To execute this run script:

```console
python3 ./runs/idealised_isosceles.py
```

However, the codebase is structured such that the user can easily assemble a run script to define their own experiments. Refer to the documentation for the [available APIs](https://ray-chew.github.io/pyCSAM/api.html).

## License

GNU GPL v3 (tentative)

## Contributions

Refer to the open issues that require attention.

Any changes, improvements, or bug fixes can be submitted to upstream via a pull request.