项目作者: esowc

项目描述 :
Interactive GUI (developed in Python) for calibration and conditional verification of numerical weather prediction model outputs.
高级语言: JavaScript
项目地址: git://github.com/esowc/ecPoint-Calibrate.git
创建时间: 2018-05-11T16:15:36Z
项目社区:https://github.com/esowc/ecPoint-Calibrate

开源协议:GNU General Public License v3.0

下载


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

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

Deploy new versions of the Docker containers

  1. ./deploy.sh

Create a production AppImage

  1. yarn dist

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

Install appimagetool

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

Repackage the AppImage

  1. cd pkg
  2. ./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:

  1. 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

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

Activating the environment

  1. conda activate ecpoint_calibrate_env

Updating the environment

Poetry (strongly preferred)

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

  1. poetry install $DEP

Conda

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

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

Run tests

First activate the conda env, then run pytest.

Electron Frontend

You’ll need node v 14.5.0.

Installing deps

  1. yarn

Run the app

  1. yarn start

Run tests

  1. npm run test