A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

ecPoint-Calibrate

A software that uses conditional verification tools to compare numerical weather prediction model outputs against point observations and, in this way, anticipate sub-grid variability and identify biases at grid scale.
https://github.com/ecmwf/ecpoint-calibrate

Category: Atmosphere
Sub Category: Meteorological Observation and Forecast

Keywords

calibration decision-trees ecmwf meteorology metview python weather-forecast

Keywords from Contributors

archiving measur transforms conversion observation optimize generic projection compose animals

Last synced: about 24 hours ago
JSON representation

Repository metadata

Interactive GUI (developed in Python) for calibration and conditional verification of numerical weather prediction model outputs.

README.md

ecPoint-Calibrate

Core unit tests
Release Core
Release Electron
codecov
made-with-python

ecPoint-Calibrate is a software that uses conditional verification tools to compare numerical weather prediction (NWP) model outputs against point observations and, in this way, anticipate sub-grid variability and identify biases at grid scale.
It provides a dynamic and user-friendly environment to post-process NWP model parameters (such as precipitation, wind, temperature, etc.) and produce probabilistic products for geographical locations (everywhere in the world, and up to medium-range forecasts).

The development of this project was sponsored by the project "ECMWF Summer of Weather Code (ESoWC)"
@esowc_ecmwf
ECMWF.

Build with Docker

docker build -f Dockerfile.core -t ecmwf/ecpoint-calibrate-core:dev .

Deploy new versions of the Docker containers

./deploy.sh

Create a production AppImage

yarn dist

The appimage won't work on modern machines without manually adding the --no-sandbox electron
option and re-packaging.

Install appimagetool

sudo wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage -O /usr/local/bin/appimagetool
sudo chmod +x /usr/local/bin/appimagetool

Repackage the AppImage

cd pkg
./ecPoint-Calibrate-0.30.0.AppImage --appimage-extract

This will extract the image into the squashfs-root directory.
Open squashfs-root/AppRun and change the exec lines to have the --no-sandbox argument.
e.g. exec "$BIN" --no-sandbox

Then repackage:

appimagetool squashfs-root ecPoint-Calibrate-0.30.0.AppImage

Python Backend

We need metview-batch from conda-forge so unfortunately need to use conda with poetry.

Creating the environment

conda create --name ecpoint_calibrate_env --file conda-linux-64.lock
conda activate ecpoint_calibrate_env
poetry install

Activating the environment

conda activate ecpoint_calibrate_env

Updating the environment

Poetry (strongly preferred)

Installing a new package with poetry will update the poetry lockfile.

poetry install $DEP

Conda

You should very rarely need to add a new conda dep.

conda-lock -k explicit --conda mamba
mamba update --file conda-linux-64.lock
poetry update

Run tests

First activate the conda env, then run pytest.

Electron Frontend

You'll need node v 14.5.0.

Installing deps

yarn

Run the app

yarn start

Run tests

npm run test

Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 7 days ago

Total Commits: 1,009
Total Committers: 8
Avg Commits per committer: 126.125
Development Distribution Score (DDS): 0.67

Commits in past year: 26
Committers in past year: 1
Avg Commits per committer in past year: 26.0
Development Distribution Score (DDS) in past year: 0.0

Name Email Commits
Anirudha Bose a****v@g****m 333
Anirudha Bose a****e@a****n 326
Anirudha Bose a****e@l****r 265
FatimaPillosu 3****u 32
Daniel Tipping d****l@o****h 26
dependabot[bot] 4****] 11
Fatima Pillosu f****u@e****t 10
Anirudha Bose o****b 6

Committer domains:


Issue and Pull Request metadata

Last synced: 2 days ago

Total issues: 72
Total pull requests: 28
Average time to close issues: 4 months
Average time to close pull requests: about 2 months
Total issue authors: 6
Total pull request authors: 2
Average comments per issue: 2.14
Average comments per pull request: 0.32
Merged pull request: 7
Bot issues: 0
Bot pull requests: 27

Past year issues: 0
Past year pull requests: 0
Past year average time to close issues: N/A
Past year average time to close pull requests: N/A
Past year issue authors: 0
Past year pull request authors: 0
Past year average comments per issue: 0
Past year average comments per pull request: 0
Past year merged pull request: 0
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/ecmwf/ecpoint-calibrate

Top Issue Authors

  • FatimaPillosu (37)
  • EstiGascon (18)
  • AugustinVintzileos (8)
  • onyb (5)
  • ATimHewson (3)
  • dtip (1)

Top Pull Request Authors

  • dependabot[bot] (27)
  • dtip (1)

Top Issue Labels

  • enhancement (32)
  • bug (24)
  • priority 2 (20)
  • priority 3 (17)
  • priority 1 (13)
  • nice-to-have (7)
  • Science (3)
  • tests (2)
  • product management (1)
  • frontend (1)
  • maintenance (1)
  • documentation (1)
  • refactoring (1)

Top Pull Request Labels

  • dependencies (27)
  • javascript (22)

Dependencies

package.json npm
  • @babel/cli ^7.5.5 development
  • @babel/core ^7.5.5 development
  • @babel/plugin-proposal-class-properties ^7.5.5 development
  • @babel/plugin-proposal-decorators ^7.4.4 development
  • @babel/plugin-proposal-do-expressions ^7.5.0 development
  • @babel/plugin-proposal-export-default-from ^7.5.2 development
  • @babel/plugin-proposal-export-namespace-from ^7.5.2 development
  • @babel/plugin-proposal-function-bind ^7.2.0 development
  • @babel/plugin-proposal-function-sent ^7.5.0 development
  • @babel/plugin-proposal-json-strings ^7.2.0 development
  • @babel/plugin-proposal-logical-assignment-operators ^7.2.0 development
  • @babel/plugin-proposal-nullish-coalescing-operator ^7.4.4 development
  • @babel/plugin-proposal-numeric-separator ^7.2.0 development
  • @babel/plugin-proposal-object-rest-spread ^7.5.5 development
  • @babel/plugin-proposal-optional-chaining ^7.2.0 development
  • @babel/plugin-proposal-pipeline-operator ^7.5.0 development
  • @babel/plugin-proposal-throw-expressions ^7.2.0 development
  • @babel/plugin-syntax-dynamic-import ^7.2.0 development
  • @babel/plugin-syntax-import-meta ^7.2.0 development
  • @babel/polyfill ^7.4.4 development
  • @babel/preset-env ^7.5.5 development
  • @babel/preset-react ^7.0.0 development
  • axios ^0.21.1 development
  • babel-loader ^8.0.6 development
  • copy-webpack-plugin 4.5.1 development
  • css-loader 0.28.11 development
  • electron ^12.0.2 development
  • electron-builder ^22.9.1 development
  • file-loader 1.1.10 development
  • frontail ^4.6.0 development
  • fs-jetpack ^2.2.2 development
  • jest ^26.6.3 development
  • lodash ^4.17.20 development
  • prettier 1.18.2 development
  • react ^16.13.1 development
  • react-d3-tree ^2.0.1 development
  • react-datasheet ^1.4.8 development
  • react-datepicker ^3.3.0 development
  • react-dom ^16.13.1 development
  • react-iframe ^1.8.0 development
  • react-redux ^7.2.1 development
  • react-router-dom ^5.2.0 development
  • react-sortable-hoc ^1.11.0 development
  • react-toastify ^6.0.9 development
  • redux ^4.0.5 development
  • redux-persist ^6.0.0 development
  • redux-thunk ^2.3.0 development
  • save-svg-as-png ^1.4.17 development
  • semantic-ui-css ^2.3.2 development
  • semantic-ui-react 0.81.3 development
  • semver ^7.3.2 development
  • style-loader 0.21.0 development
  • url-loader 1.0.0 development
  • webpack ^4.39.2 development
  • webpack-cli ^3.3.6 development
  • @electron/remote ^1.1.0
  • dockerode ^3.2.1
  • rc-slider ^9.7.2
yarn.lock npm
  • 1275 dependencies
Pipfile pypi
  • black ==19.3b0 develop
  • codecov * develop
  • ipython * develop
  • isort * develop
  • pudb * develop
  • pytest * develop
  • pytest-cov * develop
  • attrs *
  • cfgrib *
  • colour *
  • ecmwflibs *
  • flask *
  • flask-cors *
  • healthcheck *
  • matplotlib *
  • metview *
  • netcdf4 *
  • pandas *
  • pyarrow *
  • python-dateutil *
  • scipy *
  • xarray *
Pipfile.lock pypi
  • appdirs ==1.4.4 develop
  • appnope ==0.1.2 develop
  • attrs ==20.3.0 develop
  • backcall ==0.2.0 develop
  • black ==19.3b0 develop
  • certifi ==2020.12.5 develop
  • chardet ==4.0.0 develop
  • click ==7.1.2 develop
  • codecov ==2.1.11 develop
  • coverage ==5.3.1 develop
  • decorator ==4.4.2 develop
  • idna ==2.10 develop
  • iniconfig ==1.1.1 develop
  • ipython ==7.19.0 develop
  • ipython-genutils ==0.2.0 develop
  • isort ==5.6.4 develop
  • jedi ==0.17.2 develop
  • packaging ==20.8 develop
  • parso ==0.7.1 develop
  • pexpect ==4.8.0 develop
  • pickleshare ==0.7.5 develop
  • pluggy ==0.13.1 develop
  • prompt-toolkit ==3.0.8 develop
  • ptyprocess ==0.6.0 develop
  • pudb ==2019.2 develop
  • py ==1.10.0 develop
  • pygments ==2.7.3 develop
  • pyparsing ==2.4.7 develop
  • pytest ==6.2.1 develop
  • pytest-cov ==2.10.1 develop
  • requests ==2.25.1 develop
  • toml ==0.10.2 develop
  • traitlets ==5.0.5 develop
  • urllib3 ==1.26.2 develop
  • urwid ==2.1.2 develop
  • wcwidth ==0.2.5 develop
  • attrs ==20.3.0
  • cffi ==1.14.4
  • cfgrib ==0.9.8.5
  • cftime ==1.3.0
  • click ==7.1.2
  • colour ==0.1.5
  • cycler ==0.10.0
  • ecmwflibs ==0.0.94
  • flask ==1.1.2
  • flask-cors ==3.0.9
  • healthcheck ==1.3.3
  • itsdangerous ==1.1.0
  • jinja2 ==2.11.2
  • kiwisolver ==1.3.1
  • markupsafe ==1.1.1
  • matplotlib ==3.3.3
  • metview ==1.5.1
  • netcdf4 ==1.5.5.1
  • numpy ==1.19.4
  • pandas ==1.1.5
  • pillow ==8.0.1
  • pyarrow ==2.0.0
  • pycparser ==2.20
  • pyparsing ==2.4.7
  • python-dateutil ==2.8.1
  • pytz ==2020.4
  • scipy ==1.5.4
  • six ==1.15.0
  • werkzeug ==1.0.1
  • xarray ==0.16.2
.github/workflows/electron.yml actions
  • actions/checkout v2 composite
  • actions/setup-node v2-beta composite
environment.yml pypi
  • appdirs ==1.4.4
  • distlib ==0.3.1
  • filelock ==3.0.12
  • pipenv ==2020.11.15
  • setuptools ==54.1.1
  • virtualenv ==20.4.2
  • virtualenv-clone ==0.5.4
poetry.lock pypi
  • appdirs 1.4.4 develop
  • appnope 0.1.3 develop
  • backcall 0.2.0 develop
  • black 19.3b0 develop
  • codecov 2.1.13 develop
  • coverage 7.2.5 develop
  • decorator 5.1.1 develop
  • exceptiongroup 1.1.1 develop
  • iniconfig 2.0.0 develop
  • ipython 7.34.0 develop
  • isort 5.12.0 develop
  • jedi 0.18.2 develop
  • matplotlib-inline 0.1.6 develop
  • parso 0.8.3 develop
  • pexpect 4.8.0 develop
  • pickleshare 0.7.5 develop
  • pluggy 1.0.0 develop
  • prompt-toolkit 2.0.10 develop
  • ptyprocess 0.7.0 develop
  • pudb 2022.1.3 develop
  • pygments 2.15.1 develop
  • pytest 7.3.1 develop
  • pytest-cov 4.0.0 develop
  • setuptools 67.7.2 develop
  • toml 0.10.2 develop
  • tomli 2.0.1 develop
  • traitlets 5.9.0 develop
  • urwid 2.1.2 develop
  • urwid-readline 0.13 develop
  • wcwidth 0.2.6 develop
  • attrs 23.1.0
  • blinker 1.6.2
  • certifi 2022.12.7
  • cffi 1.15.1
  • cfgrib 0.9.10.3
  • cftime 1.6.2
  • charset-normalizer 3.1.0
  • click 8.1.3
  • colorama 0.4.6
  • colour 0.1.5
  • contourpy 1.0.7
  • cycler 0.11.0
  • eccodes 1.5.2
  • ecmwflibs 0.5.3
  • findlibs 0.0.5
  • flask 2.3.1
  • flask-cors 3.0.10
  • fonttools 4.39.3
  • healthcheck 1.3.3
  • idna 3.4
  • importlib-metadata 6.6.0
  • importlib-resources 5.12.0
  • itsdangerous 2.1.2
  • jinja2 3.1.2
  • kiwisolver 1.4.4
  • markupsafe 2.1.2
  • matplotlib 3.7.1
  • metview 1.14.0
  • netcdf4 1.6.3
  • numpy 1.24.3
  • packaging 23.1
  • pandas 2.0.1
  • pillow 9.5.0
  • pyarrow 11.0.0
  • pycparser 2.21
  • pyparsing 3.0.9
  • python-dateutil 2.8.2
  • pytz 2023.3
  • pyyaml 6.0
  • requests 2.29.0
  • scipy 1.10.1
  • six 1.16.0
  • tzdata 2023.3
  • urllib3 1.26.15
  • werkzeug 2.3.2
  • xarray 2023.1.0
  • zipp 3.15.0
pyproject.toml pypi
  • attrs ^23.1.0
  • cfgrib ^0.9.10.3
  • colour ^0.1.5
  • ecmwflibs ^0.5.3
  • flask ^2.3.1
  • flask-cors ^3.0.10
  • healthcheck ^1.3.3
  • matplotlib ^3.7.1
  • metview ^1.14.0
  • netcdf4 ^1.6.3
  • pandas ^2.0.1
  • pyarrow ^11.0.0
  • python ~3.8
  • python-dateutil ^2.8.2
  • scipy ^1.10.1
  • xarray 2023.*

Score: 5.971261839790462