Skip to content

Releases: ecmwf/ecpoint-calibrate

v0.23.0

16 Mar 12:16
c282348
Compare
Choose a tag to compare

Changelog

Fix bias correction factor for FE error type

Closes #150.

Improvements to K-S test

Part of #145 and #153.

  • Implement switcher for computing breakpoints. (18bffc3)
  • Improve layout of primary stats in K-S Test modal. (12eb821)
  • Improve layout of definitive breakpoints section. (1dc61e0)
  • Display minor ticks in the K-S test graph. (f7dbf18)
  • Fix labels in K-S test graph. (9087abe)
  • Use wide fullscreen modal for K-S test mode. (f423bb0)
  • Eliminate first and last breakpoint indexes in K-S test. (b40b23b)
  • Support ranged queries on definitive breakpoints in K-S test. (b0dc6b4)

Screenshot 2021-03-16 at 02 09 45

Entering a breakpoint split manually

Screenshot 2021-03-16 at 02 12 04

Running K-S test on a predictor

Screenshot 2021-03-16 at 02 16 03

K-S test result

Screenshot 2021-03-16 at 02 17 57

Running range-bound K-S test on definitive breakpoints

Misc

  • Refactor toast error handler into a common lib.
  • Security updates to NodeJS dependencies.

v0.22.0

10 Mar 23:15
Compare
Choose a tag to compare

Changelog

New and improved Kolmogorov–Smirnov test for breakpoint suggestions

Please refer to #145 for more information on how the new K-S test works.

Screenshot 2021-03-11 at 00 06 34

Improve core Dockerfile for multi-stage builds

This has no impact on the user but prevents issues like #151 from reoccurring in future. See commit 459b7c1 for more information.

v0.21.0

24 Feb 15:34
Compare
Choose a tag to compare

Changelog

  • Read geopoint observations metadata and autofill in the GUI. (#90)
  • Improve toast errors to provide more context. (#148)

Screenshot 2021-02-24 at 16 31 07

v0.20.0

11 Feb 11:51
Compare
Choose a tag to compare

Changelog

  • Fix removal of computation from an arbitrary index. (#149)

  • Start computation step for maximum / minimum fields, from the sampling interval.

  • Allow loading/saving workflows from the menu.
    Screenshot 2021-02-11 at 12 50 50

  • Introduce functional end-to-end tests for testing the processing with a real dataset.

  • Introduce Git LFS for storing large GRIB datasets.

v0.19.0

04 Jan 07:32
Compare
Choose a tag to compare

Changelog

Periodic predictors

You can now specify the period of each predictor in the post-processing page. You only need to enter the range (low/high) of the predictor values, and the software will figure out the period from that. This was done to allow for greater flexibility and better validation of predictor thresholds.

Screenshot 2021-01-04 at 03 11 38

Validation of predictor thresholds (#139)

The software now performs an exhaustive set of checks on the predictor threshold sequences. It works for both circular and linear predictors. In case of an error (see example below), it points out the specific predictor that has an invalid sequence.

Screenshot 2021-01-04 at 03 16 55

The validation algorithm is based on a stack-based state machine to prevent the GUI from stalling in case of invalid inputs that cannot be understood. The implementation also comes with extensive unit-tests that are automatically run on every commit on GitHub. Here's the list of test cases if anyone's curious.

Contextual errors

Errors originating on the backend now display more context in the toast cards (see example below).

Screenshot 2021-01-04 at 02 26 37

Viewing weather types of non-leaf nodes (#134)

We now have 3 different modes for interacting with the decision tree:

  • Simple ⇨ the default mode - clicking on the leaf nodes pops up the weather type; clicking on non-leaf nodes collapses the children.
  • Edit ⇨ if enabled, clicking on the leaf nodes opens a modal to run the KS test and introduce splits.
  • Non-collapsible ⇨ if enabled, none of the nodes can be collapsed; you can view the weather types on all nodes.

Screenshot 2021-01-04 at 03 38 27

It works by figuring out the rows in the breakpoints matrix based on the selected non-leaf node and simulates a "merge" from the relevant leaf nodes backtracking to the selected node. It's as if you manually merged the children, without affecting the state of the breakpoints matrix.

⚠️ The algorithm required a rework of the code that renders the decision tree by making it recursive. While I have tested it extensively, there may be bugs, especially in the non-leaf nodes. Please watch out!

Framework to compare Weather Types (#105)

The original idea was to split the GUI window into different workspaces such that they don't affect the states of one another. One can use this feature to visually compare two histograms, for example.

The above was achieved by introducing a --fork command-line argument that can be used to spawn as many copies of the GUI as the user wants while sharing the same backend (Docker containers) in order to be lightweight.

⚠️ The first GUI window should be launched as normal. Subsequent GUI windows must be launched using the--fork argument.

Here's how it looks on my laptop. Note that the alignment is not great since my laptop screen is quite small, but it shouldn't be a problem on a desktop monitor.

Screenshot 2021-01-04 at 03 53 02

Miscellaneous

  • Display error message for name collisions with predictor variables. (#121)
  • Implement more unit-tests for both the backend and electron code.
  • Setup electron automated tests on the CI using GitHub Actions.
  • Refactored some API routes in the backend to be more modular.
  • Some refactorings were done in the excel-like sheet to input breakpoint values.

v0.18.0

24 Dec 04:43
3579ad8
Compare
Choose a tag to compare

Changelog

⚠️ This release includes a large non-functional update to the backend, so launching the GUI for the first time will require a slightly longer download. If you have any issues after the GUI has launched, you can try closing the window and launching it again.

Continuous deployment

This is the first release that uses a fully automated continuous-deployment pipeline, including generation of the final GUI that's available for download. This completes #101.

Starting this release, DMG images of ecPoint-Calibrate are available for MacOS. 🍎 This vastly simplifies installation and launching of the software for MacOS users. Simply open the .dmg file and drag-and-drop the icon to the Applications folder. Screenshot below:

Screenshot 2020-12-24 at 04 22 29

Running automated tests

On every push to GitHub, we now run automated unit-tests on the backend code. The coverage of the unit-tests will be improved further in future. Live status of the latest build can be seen in the README (see screenshot below).

Screenshot 2020-12-24 at 04 49 10

Detailed summary of the entire CI/CD pipeline can be viewed here.

Miscellaneous

  • Allow negative values in manual splitting. (#140)
  • Allow negative numbers like -.5 throughout the software (including binning values - see #136). The format -0.5 works too.
  • Fixed broken unit tests in the core backend.

v0.17.0

14 Dec 13:17
Compare
Choose a tag to compare

Changelog

  • Fix overflow bug in the datasheet to edit threshold split. (#129)
  • Fix decision tree evaluation for periodic predictors, for example, Local Solar Time (LST). (#94)
  • Add WT bias in mapping functions. (#104)

  • Add new menu item to save summary of WT biases. (#106)


  • Disable immutable default computation for instantaneous predictor. (#111)

    • includes all the fixes discussed in the GitHub issue.
  • Display point data table statistics for all predictors. (#133)

    • ⚠️ The stats for FER/FE values in the "Binning" section has subsequently been removed (see image below).

Screenshot 2020-12-14 at 14 06 42

v0.16.0

02 Dec 19:08
Compare
Choose a tag to compare

Changelog

  • Disable navigation while computation is in progress. Closes #20.
  • Allow overriding predictor metadata, for example, to customize units. Closes #128.
    • Screenshots explaining the usage are available here.

v0.15.0

25 Nov 08:32
Compare
Choose a tag to compare

(If you got an email about a release with the title v0, that was a mistake. Please ignore.)

Summary of changes

This release allows users to save/upload files directly from the menu. This closes #115 and #122.

New items in the menu

The items are greyed out if the user is not on the second page of the postprocessing workflow.

Screenshot 2020-11-25 at 09 09 30

Saving all operation files

The Menu contains a "Save Operation" action that opens the following modal. For more information on how operation files are stored, please refer to #115.

Screenshot 2020-11-25 at 09 21 16

Saving individual files

This was already possible with the software, but this release makes them available as menu items. Here's an example of how a user would save the breakpoints as a CSV file.

Screenshot 2020-11-25 at 09 20 23

Upload Breakpoints CSV

See #122

Screenshot 2020-11-25 at 09 23 28

Note on backwards-compatibility / stability

The features in this release involved refactoring a large part of the code. In order to reduce the risk of introducing regressions, the existing buttons to save/upload files have not been removed. They will be deprecated in a future release once the users have tested the new system.

v0.14.0

22 Nov 13:12
Compare
Choose a tag to compare

Summary of changes

Introduce begin/middle/end variants for Instantaneous Field

In case of accumulated predictand, we make available three variants of the Instantaneous Field with the following names:

  • Instantaneous Field - Begin
  • Instantaneous Field - Middle
  • Instantaneous Field - End

This resolves #95, which is the root cause for confusion regarding which step data is chosen for instantaneous fields in case of accumulated predictands.

Display metadata of GRIB files in Computations step

We now fetch the name of the fieldset, in addition to the units, and display this information in the Computations step as in the example below. This resolves #97.

Screenshot 2020-11-22 at 04 58 32

Prevent error when clicking on non-leaf decision-tree nodes

Clicking on non-leaf nodes of a decision tree now always collapses its children. This resolves the bug reported in #127.

Improvements to conditional verification maps

In the image below, you can see the difference between the old version (left) and the new one (right). The image on the right is rendering the fonts correctly, and the quality is significantly higher. With the new map viewer, users can also zoom-in, zoom-out, save and print the map. This fixes #125.