2.5.0
Bug Fixes🍋
| Issue Ref | Summary | Description |
|---|---|---|
| [No Ref] | Improve lags and tols array checking | Perform comparisons with small values instead of zero to avoid float-point ambiguity. Previously, this could cause false detection of overlap or non-contiguous sequences in lags or tols, which triggered incorrect errors when using Rust or Julia backends for experimental variogram. |
Enhancements🍋
| Issue Ref | Summary | Description |
|---|---|---|
| 330 | bounds method on Drillholes is computed on midpoints coordinates |
bounds on Drillholes was computed on mid coordinates, which caused offset of half a composite length. |
| [No Ref] | Simplify aggregation use | Aggregation functions no longer need aggregation method by default. When specified, property and aggregation method may now be either a value or a list of values. |
| 337 | Improve drillholes compositing performance | Added a new backend implemented with rust which performs numerical compositing faster. Used by default. |
| 341 | Solve API - Rework kriging in order to enable call of simple kriging using solve_api method | Implement solve_api in Kriging class to improve compatibility with c++ binding. |
| 322 | Rework and simplify user experience for property/region creation/update | Reduce the number of methods to create and update properties/regions. Properties and regions can be created using the same method (set_property/set_region), regardless of their take expression or sequences. A new method (update_property/update_region) has been added to update the attributes. See also 344. |
| 278 | Oriented GridObject | Add the possibility to create GridObject with an azimuth angle. |
New Features🍋
| Issue Ref | Summary | Description |
|---|---|---|
| 338 | Categorical compositing | Added a new backend implemented with rust which performs categorical compositing. Used by default. |
| 346 | Activation key to prevent usage of geolime-rs outside of geolime | Added a mechanism in the init.py file to deny any access to geolime-rs outside jupylime. |
| 348 | Creation of BlockModel from a DataFrame object | A BlockModel can be created from a DataFrame object using the function "block_model_from_dataframe". |
Breaking changes🍋
Rework of properties and regions management induces a safer and new behaviour. Property and regions are set with a specific method, which can be use whether attributes are set using a sequence or a condition. For ease of use and clarity, update of property has been deported from the same set_property method to update_property making it easier to understand attributes lifecycle when reading the code.
Note that existing properties/regions can not be overwritten: once created they can only be updated using update_property/update_region or removed using remove_property/remove_region.
Summary of properties/regions update:
- set_property_expr and set_property_value no longer exist.
- set_region_conditon and set_region_value no longer exist.
- For property creation use set_property method, whether it is with a sequence (list, numpy array) or with an expression.
- For property update use update_property method, whether it is with a sequence (list, numpy array) or with an expression.
- For region creation use set_region method, whether it is with a sequence (list, numpy array) or with an expression.
- For region update use update_region method, whether it is with a sequence (list, numpy array) or with an expression.