The time has come to release ModelSkill
1.0 after lot's of small tweaks during the beta phase.
🙏 to @daniel-caichac-DHI for your patience.
What's Changed
- New dev version 0.9 by @jsmariegaard in #168
- Observation: rename .df to .data by @jsmariegaard in #166
- Remove multi-item-modelresults by @jsmariegaard in #165
- Comparer reorganization by @jsmariegaard in #169
- minimal style changes by @daniel-caichac-DHI in #171
- add warning scatter plot by @daniel-caichac-DHI in #173
- ModelResult isolated refactor by @PaulDanielML in #170
- Comparer internal data structure as xarray Dataset by @jsmariegaard in #172
- ModelResult - docs by @ecomodeller in #176
- Singleobscomparer by @ecomodeller in #175
- New Comparer method where() by @jsmariegaard in #177
- Comparer further refactoring by @ecomodeller in #179
- Rich compare method by @jsmariegaard in #180
- Style limits qq by @daniel-caichac-DHI in #182
- add degree to short names by @daniel-caichac-DHI in #188
- fix small density-bug and added test by @daniel-caichac-DHI in #189
- Replace ItemInfo with fmskill.Quantity by @ecomodeller in #191
- Save/load comparer(s) by @ecomodeller in #178
- Validate metrics by @ecomodeller in #195
- Multiple authors + pyproject.toml by @ecomodeller in #196
- added option for quantile regression in scatter by @clemenscremer in #197
- Matched data in a single dataframe by @ecomodeller in #192
- new logo by @jsmariegaard in #184
- Rename to ModelSkill by @ecomodeller in #199
- Remove explicit geometry check by @ecomodeller in #190
- Refactor
scatter()
by @ecomodeller in #201 - Testable skill table by @ecomodeller in #202
- Deprecate filtering in skill, score, scatter by @ecomodeller in #200
- Updated vision in docs by @ecomodeller in #210
- Kernel Density Estimation by @ecomodeller in #205
- Update aesthetics of skill table and scatter plot by @stkistner in #212
- Fixes in collaboration with ruff by @ecomodeller in #206
- Don't issue warnings with no arguments by @ecomodeller in #213
- Check
extract
method instead of type by @ecomodeller in #207 - move plot methods from Connector to root namespace by @jsmariegaard in #187
- Added skill table with subset metrics by @daniel-caichac-DHI in #216
- custom metrics as series by @daniel-caichac-DHI in #215
- Added_z_comparison by @daniel-caichac-DHI in #204
- Improved model to dataframe by @jsmariegaard in #222
- ComparerCollection deprecation warnings by @jsmariegaard in #225
- Fix add comparer track by @jsmariegaard in #224
- Update notebooks to new api by @jsmariegaard in #218
- Extract ComparerPlotter from Comparer & Comparison module in subfolder by @ecomodeller in #214
- Source dist without notebooks and tests by @ecomodeller in #228
- Boxplot by @jsmariegaard in #229
- devcontainer initial setup by @PaulDanielML in #223
- custom metrics in skill table by @daniel-caichac-DHI in #230
- Q-Q plot for easy comparison across multiple models by @jsmariegaard in #231
- Scatter vs histo density normalization by @stkistner in #233
- Filtering in scatter is deprecated, not removed by @ecomodeller in #239
- fit_to_quantile legend by @daniel-caichac-DHI in #238
- Consistent skill plot methods by @ecomodeller in #232
- Documentation update by @ecomodeller in #237
- Keep user defined model name by @ecomodeller in #244
- new_metrics_validation_services by @daniel-caichac-DHI in #241
- moved Peak Ratio by @daniel-caichac-DHI in #246
- Wind/wave rose plot by @ecomodeller in #240
- Support aux data in from_matched() by @jsmariegaard in #248
- Add missing api docs by @jsmariegaard in #252
- Plots directional axis by @jsmariegaard in #247
- Fix type hints by @ecomodeller in #255
- Change from base class to protocol by @ecomodeller in #259
- Remove reporting functionality by @ecomodeller in #253
- Comparer.rename() by @ecomodeller in #254
- Fix type hints due to latest matplotlib by @ecomodeller in #264
- Persist raw model data by @ecomodeller in #261
- move from_matched and compare to new module by @jsmariegaard in #266
- Move plot methods to plotting package by @rywm-dhi in #263
- Pandas deprecations by @ecomodeller in #265
- Use xarray dataset as internal data container by @jsmariegaard in #262
- Fix loading named styles by @ecomodeller in #270
- Make plotting api more consistent by @rywm-dhi in #267
- Remove entrypoint by @ecomodeller in #276
- Change sum in groupby to avoid warning by @jsmariegaard in #273
- More work on internal data structures by @jsmariegaard in #269
- Slim AggregatedSkill by @ecomodeller in #260
- Rename and improve notebooks by @jsmariegaard in #279
- Move config to separate module by @jsmariegaard in #280
- Update_bins by @daniel-caichac-DHI in #282
- Set quantity ASAP instead of mutating by @ecomodeller in #283
- Add a event-based example by @rpalDHI in #274
- Default number of bins in scatter plot --- too many defaults? by @jsmariegaard in #285
- Better matching and time interpolation by @jsmariegaard in #281
- Check kwargs valid by @jsmariegaard in #292
- Update Vision by @jsmariegaard in #295
- Observation attrs container by @jsmariegaard in #291
- Fix wind rose by @ecomodeller in #277
- Unit handling by @ecomodeller in #300
- Expose kwargs PR by @daniel-caichac-DHI in #299
- Allow aux items on observations and modelresults for advanced filtering by @jsmariegaard in #302
- Deprecate
Connector
by @ecomodeller in #307 - Time is not essential for skill assessment by @ecomodeller in #293
- Use Mkdocs as documentation engine instead of Sphinx by @ecomodeller in #303
- First water resource test case by @jsmariegaard in #249
- Fixed and improved hydrology notebook by @jsmariegaard in #316
- show slowest notebook timings by @jsmariegaard in #317
- Allow aux items in ModelResults by @jsmariegaard in #304
- Link to metrics page by @ecomodeller in #313
- Factory function(s) by @ecomodeller in #308
- Rename SpatialSkill to GriddedSkill by @ecomodeller in #315
- SkillTable is a collection of SkillArrays by @jsmariegaard in #309
ms.match
by @ecomodeller in #321- Aux items must be unique by @ecomodeller in #318
- Remove markdown library by @ecomodeller in #314
- Use SkillTable to_dataframe() instead of df attribute by @jsmariegaard in #322
- Remove protocols module by @ecomodeller in #323
- Create ComparerCollection in init by @ecomodeller in #320
- Change categorical index to float by @ecomodeller in #325
- Circular metrics (again) by @ecomodeller in #284
- Further improvements to SkillTable and SkillArray by @jsmariegaard in #324
- Kde empty title by @ecomodeller in #306
- Updated_Peak_Ratio by @daniel-caichac-DHI in #333
- Observation factory function by @jsmariegaard in #328
- Improve item specification in from_matched by @jsmariegaard in #327
- Ensure Comparer / ComparerCollection consistency by @ecomodeller in #330
- No warnings by @ecomodeller in #334
- Model type hints by @ecomodeller in #332
- Hide mean_skill_points for now by @ecomodeller in #339
- remove_bias returns new Comparer by @ecomodeller in #338
- Skillgrid.sel by @ecomodeller in #340
- Scatter plot return multiple plots for multiple models by @jsmariegaard in #337
- Rename SkillGrid.field_names to metrics by @jsmariegaard in #344
- rename observation module to obs by @jsmariegaard in #343
- Index into mikeio.Dataset with int | str by @ecomodeller in #348
- Expand docs by @jsmariegaard in #319
- Preserve comparer order on save/load by @ecomodeller in #346
- Include x, y in SkillTable - alternative way by @jsmariegaard in #329
- Use unit.short_name for MIKEIO by @ecomodeller in #349
- Use observation weights in score by @ecomodeller in #342
- Remove start end properties by @jsmariegaard in #353
- Avoid mismatch by @ecomodeller in #350
- PR when no joint peaks by @daniel-caichac-DHI in #355
- Remove unused weight attr from tests by @ecomodeller in #357
- Slim public API; remove properties by @jsmariegaard in #354
- No metrics property on the comparer/collection by @ecomodeller in #356
- Improved mkdocs.yml settings by @jsmariegaard in #358
- Skill groupby dt by @jsmariegaard in #352
- Twek index / getting started pages by @ecomodeller in #360
- Fix skill table in multiple model scatter by @ecomodeller in #362
- Addition of Wastewater notebook example and dataset by @ChrisGaszynski-DHI in #336
- Fix random obs colors by @jsmariegaard in #367
- Rename variable to quantity by @jsmariegaard in #365
- skill_table also for plotting.scatter by @ecomodeller in #369
- from_config() return ComparerCollection by @jsmariegaard in #366
- Scatter consistent args by @ecomodeller in #370
- Rename enhanced by @jsmariegaard in #368
- Skill table in plotly scatter by @ecomodeller in #371
- Remove/deprecate more properties by @jsmariegaard in #373
- SkillTable in root namespace by @jsmariegaard in #372
- Skill groupby attrs by @jsmariegaard in #351
- Observation attrs by @ecomodeller in #375
- Refactor long_dataframe by @ecomodeller in #382
- Don't sort on groupby (e.g. in skill() method) by @jsmariegaard in #376
- mikeio.Dataset is no longer a mapping... by @jsmariegaard in #385
- Long-dataframe with time column by @ecomodeller in #384
- Comparer attrs property by @jsmariegaard in #387
- DummyModelResult by @ecomodeller in #380
- Spatial interp method by @jsmariegaard in #383
- DummyModelResult notebook example by @ecomodeller in #389
- Refactor _parse_group_by by @ecomodeller in #392
- Delegate less attributes by @ecomodeller in #391
- Scatter - skill table default format by @ecomodeller in #398
- Type hints Comparer by @ecomodeller in #394
- Skill + Skillgrid type hints by @ecomodeller in #393
- Support for 3d via xarray (NetCDF etc) by @ecomodeller in #401
- Support for Dfsu3d by @ecomodeller in #396
- Move _remove_model_gaps to PointModelResult by @ecomodeller in #399
- Prepare for NumPy 2 by @ecomodeller in #407
- Integration test peak ratio by @ecomodeller in #405
- Forward get_attr to SkillTable constructor by @jsmariegaard in #400
- Docs landing page by @ecomodeller in #412
- Accept custom metric funs without registering them by @ecomodeller in #406
- Fix SkillTable style by @ecomodeller in #409
- No need to use deprecated .ravel() by @ecomodeller in #410
- Use coordinates from NetCDF file (Point data) by @ecomodeller in #402
- Refactor DfsuModelResult by @ecomodeller in #415
- Test compatability with older versions by @ecomodeller in #414
- Inline
_interp_time
to avoid confusion by @ecomodeller in #417 - Obs DRY by @ecomodeller in #418
- Don't show hist/density/qq if n_points is too low by @ecomodeller in #397
- Docs improvements including user guide by @jsmariegaard in #363
from_matched_data
for track data by @ecomodeller in #420- Useful repr(s) by @ecomodeller in #378
- Prevent double plots of taylor diagrams by @rywm-dhi in #422
- Use deepcopy by @ecomodeller in #424
New Contributors
- @PaulDanielML made their first contribution in #170
- @clemenscremer made their first contribution in #197
- @stkistner made their first contribution in #212
- @rywm-dhi made their first contribution in #263
- @rpalDHI made their first contribution in #274
- @ChrisGaszynski-DHI made their first contribution in #336
Full Changelog: v0.8.0...v1.0.0