Metadata-Version: 2.4
Name: hereon-evasuite
Version: 0.0.3
Summary: EvaSuite (Evaluation Suite for climate data)
Home-page: 
Author: Evgenii Churiulin
Author-email: EvaSuite Development Team <imktro-climate-modelling@lists.kit.edu>
License: Apache-2.0
Project-URL: Homepage, https://gitlab.dkrz.de/clm-community/public/evasuite
Project-URL: Repository, https://gitlab.dkrz.de/clm-community/public/evasuite
Project-URL: Zenodo, https://zenodo.org/records/19223685
Project-URL: Documentation, https://gitlab.dkrz.de/clm-community/public/evasuite/-/tree/main/DOCS?ref_type=heads
Keywords: climate,evaluation,xarray,visualization,geoscience
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Atmospheric Science
Classifier: License :: OSI Approved :: Apache Software License
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: AUTHORS.TXT
Requires-Dist: cartopy==0.24.1
Requires-Dist: cdo==1.6.0
Requires-Dist: cftime==1.6.3
Requires-Dist: dask==2024.4.1
Requires-Dist: distributed==2024.4.1
Requires-Dist: geopandas==0.14.3
Requires-Dist: h5py==3.11.0
Requires-Dist: jinja2==3.1.3
Requires-Dist: matplotlib==3.8.4
Requires-Dist: netcdf4==1.6.5
Requires-Dist: numba==0.59.1
Requires-Dist: numpy==1.26.4
Requires-Dist: pandas==2.2.2
Requires-Dist: psutil==5.9.8
Requires-Dist: pyproj==3.6.1
Requires-Dist: pyyaml==6.0.1
Requires-Dist: regionmask==0.12.1
Requires-Dist: scipy==1.13.0
Requires-Dist: shapely==2.0.3
Requires-Dist: statsmodels==0.14.1
Requires-Dist: xarray==2024.3.0
Requires-Dist: xhistogram==0.3.2
Requires-Dist: xskillscore==0.0.26
Requires-Dist: fiona==1.9.6
Provides-Extra: dev
Requires-Dist: pytest==8.1.1; extra == "dev"
Requires-Dist: wheel; extra == "dev"
Dynamic: author
Dynamic: license-file
Dynamic: requires-python

# EvaSuite

**EvaSuite** is a climate data evaluation and visualization framework designed for HPC and local environments.
It provides reproducible, configuration-driven workflows for comparing climate datasets, computing diagnostics, and generating scientific visualizations.

---

## Important Note on Installation

When installing via `pip`:

```bash
pip install hereon-evasuite
```

➡️ **Only the core EvaSuite package is installed.**

The following are **NOT included**:

* external submodules (e.g. PlotSmart)
* example datasets
* repository-level runners and workflows

These components are available in the GitLab repository and must be cloned separately if required.

---

## Environment Setup (Required)

Before running EvaSuite, you **must create a compatible Python environment**.

### Requirements

* Python ≥ 3.10
* CDO
* NCO
* NetCDF-fortran
* (Optional) X11 / GUI environment for interactive tools

---

### Recommended setup (HPC / pip)

```bash
# Create environment
python -m venv ~/evasuite_env
source ~/evasuite_env/bin/activate

# Install dependencies
pip install -r requirements.txt

# Install EvaSuite
pip install .
```

---

### Notes

Some dependencies (e.g. `numba`) are version-sensitive.
You may see warnings such as:

```
requires numba>=0.52, but you'll have numba 0.51.2
```

These are usually harmless but indicate environment mismatch.

---

## Running EvaSuite

EvaSuite is fully **configuration-driven**.
Before running, you must prepare configuration files.

---

## Required Configuration Files

The following YAML configurations are **essential**:

### System configuration (external tools)

```bash
-c, --cfgsys
```

* Defines paths to external tools (CDO, NCO, etc.)
* If not provided → uses bundled default config
* Inspect default config:

```bash
evasuite --printsys
```

---

### General configuration

```bash
-g, --cfggen
```

* Global EvaSuite options
* Workflow control and processing settings

---

### Reference datasets

```bash
-r, --inprefdat
```

* Defines observational/reference datasets

---

### Model datasets

```bash
-p, --inpproofdat
```

* Defines model or simulation datasets

---

## Optional Configuration

These are optional but commonly used:

### Plot configuration

```bash
--plot-config
```

* Custom plotting settings
* If not provided → defaults are used

---

### Map configuration

```bash
--map-config
```

* Controls map visualization settings

---

### Taylor diagram configuration

```bash
--taylor-config
```

* Required for Taylor plots
* If missing → program exits with error

---

### GUI mode (optional)

EvaSuite supports GUI-based configuration for:

* Taylor plots
* visualization workflows

Requires working X11 environment.

---

## Example Usage

```bash
evasuite \
  --cfgsys system.yaml \
  --cfggen general.yaml \
  --inprefdat reference.yaml \
  --inpproofdat model.yaml
```

---

## Repository (Full Features)

For full functionality, including:

* examples (`EXAMPLE/`)
* documentation (`DOCS/`)
* external modules
* advanced workflows

please use the GitLab repository:

```
https://gitlab.dkrz.de/clm-community/public/evasuite
```

---

## Updating EvaSuite (Source Install)

```bash
cd EvaSuite
git pull
pip uninstall hereon_evasuite
pip install .
```

---

## Uninstall

```bash
pip uninstall hereon_evasuite
```

---

## Support

* Technical: [evgenii.churiulin@kit.edu](mailto:evgenii.churiulin@kit.edu)
* Scientific: [beate.geyer@hereon.de](mailto:beate.geyer@hereon.de)
* Documentation: [evgenii.churiulin@kit.edu](mailto:evgenii.churiulin@kit.edu), [christoph.braun@kit.edu](mailto:christoph.braun@kit.edu)

---

## License

Apache-2.0
