Skip to content

Commit

Permalink
Remove HPC components and support Python3.11 (#477)
Browse files Browse the repository at this point in the history
## Overview

Changes:

* Removed the HPC interface as it was unmaintained/obsolete
* Added Python3.11 to supported versions
* Added a build for Python3.11 in CI
* Adjusted ReadMe to reflect recent significant changes
* Updated deprecated GitHub Actions

## Related Issue / Discussion

## Additional Information

Links to other issues or sources.
  • Loading branch information
Zeitsperre authored May 25, 2023
2 parents 1f63594 + ae93afe commit b7af7fd
Show file tree
Hide file tree
Showing 38 changed files with 14 additions and 85,547 deletions.
12 changes: 6 additions & 6 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: raven-wps
name: RavenWPS Testing

on:
push:
Expand Down Expand Up @@ -40,16 +40,16 @@ jobs:
- "3.8"
- "3.9"
- "3.10"
# - "3.11" - Missing numba and pysheds for Python3.11
- "3.11"
steps:
- uses: actions/checkout@v3
- name: Setup Conda (Micromamba) with Python${{ matrix.python-version }}
uses: mamba-org/provision-with-micromamba@main
uses: mamba-org/setup-micromamba@v1
with:
cache-downloads: true
environment-file: environment.yml
extra-specs: |
create-args: >-
python=${{ matrix.python-version }}
cache-environment: true
- name: Conda and Mamba versions
run: |
echo "mircomamba $(micromamba --version)"
Expand All @@ -60,7 +60,7 @@ jobs:
- name: List installed packages
run: |
conda list
- name: Test RavenPy
- name: Test RavenWPS
run: |
python3 -m pytest tests
Expand Down
3 changes: 1 addition & 2 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,8 @@ repos:
rev: v4.4.0
hooks:
- id: trailing-whitespace
exclude: .rvc|.rvh|.rvi|.rvp|.rvt|.tpl|setup.cfg
exclude: setup.cfg
- id: end-of-file-fixer
exclude: .rvc|.rvh|.rvi|.rvp|.rvt|.tpl
- id: check-json
- id: check-toml
- id: check-yaml
Expand Down
5 changes: 2 additions & 3 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,12 @@ Raven : Hydrological modeling and analytics
Raven (the bird)
*Raven offers processes related to hydrological modeling, and in particular, the Raven hydrological modelling framework.*

Raven is an open source server project offering hydrological modeling and analysis capabilities, as well as data collection and preparation, geoprocessing and catchment delineation through the Web Processing Service (WPS) standard. Raven processes can be embedded in a graphical user interface or accessed directly from a programming environment. From Python, birdy_ WPSClient provides a user-friendly python interface to Raven's WPS processes for geospatial processing. It also integrates Ravenpy, a Python package for configuring, running and interacting with the Raven hydrological modelling framework.
Raven is an open source server project offering data collection and preparation, as well as geoprocessing and catchment delineation through the Web Processing Service (WPS) standard. Raven processes can be embedded in a graphical user interface or accessed directly from a programming environment. From Python, birdy_ WPSClient provides a user-friendly python interface to Raven's WPS processes for geospatial processing.

Raven was made to help scientists run hydrological modeling experiments with climate change projections. It includes eight lumped daily hydrological models (GR4J-CN, HBV-EC, HMETS, MOHYSE, HYPR, CanadianShield, SACSMA and Blended) that can be run in simulation, hindcasting and forecasting modes. Meteorological input variables as well as streamflow and storage outputs use the netCDF format. Raven bundles model calibration processes, time series analysis (with xarray_), hydrological indicators and frequency analysis (using xclim_). On top of this, a database of pre-calibrated model parameters over North America is available to perform model regionalization, allowing simulations in watersheds with no streamflow observations. The properties of custom watersheds can be extracted from a Digital Elevation Model and a land-use database.
The properties of custom watersheds can be extracted from a Digital Elevation Model and a land-use database.

Raven can be compiled and installed, or simply deployed using docker. A hosted version is available at https://pavics.ouranos.ca/twitcher/ows/proxy/raven.


Documentation
-------------

Expand Down
4 changes: 2 additions & 2 deletions environment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ channels:
- conda-forge
- defaults
dependencies:
- python >=3.8,<3.11
- python >=3.8,<3.12
- pywps ==4.5.1
- affine
- cartopy
Expand All @@ -17,7 +17,7 @@ dependencies:
- nbval
- numpy
- owslib <0.29
- pandas <2.0 # Pinned for xarray<=2023.3.0 compatibility.
- pandas
- pandoc
- poppler
- psutil
Expand Down
5 changes: 3 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ classifiers = [
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
# "Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.11",
"Topic :: Scientific/Engineering :: Atmospheric Science",
"Topic :: Scientific/Engineering :: GIS",
"Topic :: Scientific/Engineering :: Hydrology",
Expand All @@ -43,7 +43,8 @@ dependencies = [
"netCDF4",
"numpy",
"owslib<0.29",
"pandas<2.0", # Pinned for xarray<=2023.3.0 compatibility.
"pandas<2.0; python_version == '3.8'",
"pandas; python_version >= '3.9'",
"psutil",
"pywps==4.5.1",
"requests",
Expand Down
Loading

0 comments on commit b7af7fd

Please sign in to comment.