Releases: ecmwf/ecpoint-calibrate
v0.23.0
Changelog
Fix bias correction factor for FE error type
Closes #150.
Improvements to K-S test
- 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)
Entering a breakpoint split manually
Running K-S test on a predictor
K-S test result
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
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.
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
v0.20.0
Changelog
-
Fix removal of computation from an arbitrary index. (#149)
-
Start computation step for maximum / minimum fields, from the sampling interval.
-
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
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.
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.
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).
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.
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.
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.
--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.
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
Changelog
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:
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).
Detailed summary of the entire CI/CD pipeline can be viewed here.
Miscellaneous
v0.17.0
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)
v0.16.0
v0.15.0
(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.
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.
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.
Upload Breakpoints CSV
See #122
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
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.
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.