11 July 2023
Version 3.12.8 - alpha (#530)
Blue Kenue Community Tickets:
- [Andre Renault] #15 - Colour scale resets when BOTTOM value is changed (and more)
- [Andre Renault] #16 - Colour scale tuned to X attribute when loading XYZ file
1. ENHANCEMENT - Import SMS 2D Mesh now adds all lines between BEGPARAMDEF and ENDPARAMDEF as MetaData("PARAMDEF", aLine) to help find that information from within Blue Kenue
2. ENHANCEMENT - Import Mike 21 Mesh now adds the co-ordinate system string from the *.mesh file as metadata
- This will allow someone to read that string (if they need/want) without having to open the underlying *.mesh file outside of Blue Kenue
3. ENHANCEMENT - General improved internal handling of non-spatial attributes
4. ENHANCEMENT - Added ability to compute a linear fit of a Type III Time Series
5. ENHANCEMENT - Now possible to collect a subset of the objects within a collection by right-clicking on the collection object in the WorkSpace.
- For example, an EnSimDrawableSet containing a set of Type I Time Series.
- The subset can be:
- based on querying strings in their names
- based on values in one of the attributes
- Also possible to save all children objects to a directory using the new menu item "Save Copies To..."
6. ENHANCEMENT - A large number of Low Flow Analysis related improvements (i.e. time series improvements).
- See the LFA tutorial in Green Kenue for more details. Examples time series include: rank-order, index-order and median runs among others.
- Improved the menu items related to LFA to clarify a lot of the terminology: n-day average, n-day low, etc.
7. ENHANCEMENT - Small improvements
- Renamed "Interpolator2D" to "2D Interpolator" in the File Open Dialog
- Added "*.bmp2" and "*.bmp3" for version 2 and version 3 Bitmap files
- Load from file now provides metadata in the case that a bmp data portion is not loaded; helping to learn what is and what is not supported by BK
8. ENHANCEMENT - Attributes can now be saved to a C Code Fragment File; enabling coders to save some time.
- I could add support for other output languages like Fortran, python or R if requested in the future.
1. BUGFIX - Import SMS 2D Mesh now correctly imports the "Value" attribute
2. BUGFIX - #522 - ArcINFO Export File (*.e00)
3. BUGFIX - Some general fixes for date value handling; especially when dates are missing
4. BUGFIX - Velocity Rose not being properly created from a Vector Time Series
5. BUGFIX - Distribution no longer reports 0 as the minimum count in a Sample Histogram (and reports the correct value of 8 for a test file)
6. BUGFIX - XY Data Object now computes percentiles correctly in the presence of missing data
7. BUGFIX - Don't artificially enable NO_DATA_VALUEs if a file's header does NOT define them
8. BUGFIX - Don't introduce 0 values when -999 values would be more radical and easier to observe
9. BUGFIX - Replaced one comma delimited string parsing function with an improved version
10. BUGFIX - Removed some unnecessary calls to SetIsModified(true)
- the effect is that loading a file and then immediately removing it from the workspace will not popup an unneeded dialog box
11. BUGFIX - Treat "18:07" as minute:second and NOT hour:minute like what might be expected. This aligns with what the code was doing before.
- There are some changes w.r.t. date/times; in particular an integer is parsed as seconds and NOT years
12. BUGFIX - Improved handling of negative date/time components w.r.t. the sign bit
- Also improved handling of _isnan(day) and _finite(day) too
13. BUGFIX - Auto-increment an attribute's used count should work in the case that :NoDataValue is NOT defined in a file's header
14. BUGFIX - #528 - Problem with DEM - Reported by Nick Kouwen
15. BUGFIX - Check for missing cache values before displaying them
16. BUGFIX - Retrieved missing data value from wrong object
17. BUGFIX - Restore functionality so that adding a child object should not fail due to inability to update property pages
18. BUGFIX - Added check for NULL pointer
19. BUGFIX - Make second dialog box appear above the first dialog box
20. BUGFIX - Ensure that a Type 1 Time Series with a constant time delta can be interpolated if there are missing values
1. INTERNAL CHANGE - Performance improvement when sorting a table column and then reversing the sort. Also added more caching of attribute statistics.
2. INTERNAL CHANGE - General robustness improvements including those related to missing data
3. INTERNAL CHANGE - Display an error message when loading a grib2 file that cannot be loaded
- In fact, give the values of the specifications of the new Rect 2D Scalar so that one can see that the yDelta is negative
4. INTERNAL CHANGE - Behaviour change: Don't initialize unused data after it is allocated. Also, If no used data then return true as quickly as possible.
5. INTERNAL CHANGE - Improved messaging in dialog box for Type III and Type IV Time Series
6. INTERNAL CHANGE - Date/Times are now double quoted when written to a file in order to make reading more robust
7. INTERNAL CHANGE - Added CLI command "NOT" to help during development and switching from CLI to GUI and back again
8. INTERNAL CHANGE - General internal allocation pool now available for all derived classes to use internally
9. INTERNAL CHANGE - Distribution now derives from XY Data Object instead of Table OBject so that Spatial Object methods can be used
10. INTERNAL CHANGE - Refactored Rect 2D Scalar which took 7 full working days to do
11. INTERNAL CHANGE - Refactored Rect 2D Cell which took 5 full working days to do
12. INTERNAL CHANGE - Clarified whether points should be CPoint2D or CPoint3D
- the latter requires a current attribute to be defined, which is not always the case and/or add overhead that is not needed
- e.g. 80 million points that only need 2D (X,Y) values is faster than 80 million points that need 3D (X,Y,Z) values
13. INTERNAL CHANGE - A number of refactorings, including:
- Remove unnecessary class member variables
- Remove m_sRaw
- Remove methods that are no longer needed
- Remove constructors that should have ability to return false and/or fail to construct the class
- i.e. Move those constructors to factory methods
- Replace specific function all with an improved version
- Rename variable to improve its name
- Rename function to improve its name
- Remove source code from header file
- Extracted function "ClearPoint()" out of constructor and modified 2D, 3D, 4D and 6D classes
- Pretty printed 6 source code files to help readability and maintainability
EnSim Development Statistics:
- 57 code commits (458 changed paths) to CHyMS from 25 October 2022 to 11 July 2023 (3.12.8-alpha)
- Unit tests increased from 177 to 235; a gain of 58 new tests. All tests pass.