-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathchangelog.qmd
176 lines (151 loc) · 7.3 KB
/
changelog.qmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
---
title: "What's new?"
---
# Unreleased
These are the unreleased changes.
### Added
- Build task for pixi
### Changed
- CSV file output coupled with vector file output
- Default vector output file format back to `GPKG`
- Fixed bug in newline sniffer
- Optional CSV file output
### Deprecated
### Documentation
- Fixed missing docstrings (API)
## v0.2.1 (2024-12-05)
Patch release for improved performance.
### Added
- Profiler for developers
- Sniffer for newline character in text files
### Changed
- Complete OS independent reading of text files (linux csv's on windows and vice versa)
- Disabled locks when running 'single threaded'
- Fixed logging of errors during settings file checks
- Improved performance when running without csv
- Logging class `Log` is now called `Logger`
- Specifying destination ('dst') is now optional for `setup_default_log`
## v0.2.0 (2024-10-15)
Added small features.
### Added
- 'Normal' exit when keyboard interrupt is triggered over cli
- Support for grids with non square cells
### Changed
- Fixed hanging issue with the mp-logging receiver when erroring
- Fixed square cell assumption when mapping world coordinates to pixel coordinates
- Support capitalized entries in the settings toml (again; it was disabled)
- Various small non breaking fixes
## v0.1.1 (2024-10-04)
Small patch release.
### Changes
- Bugfix regarding drivernotfound error in `GridSource`
- Fixed install from conda
- More functions and objects exposed directly under `fiat` -> e.g. `from fiat import open_grid`
## v0.1.0 (2024-10-03)
The first full release of Delft-FIAT.
### Added
- Attribute `size` of `GeomSource` object for in situ size return; `count` becomes private
- Attribute `size` of `GridSource` object for in situ size return; `count` becomes private
- Attributes `dtypes` and `geom_type` of `GeomModel`
- Build time to FIAT cli (when build with pyinstaller), viewed with `fiat --version`
- Different types of exposure (e.g. 'damage', 'affected', 'outage' etc.)
- Docker file for docker image creation
- Extra arguments to `grid.reproject`
- Function (`generate_jobs`) to generate jobs for parallelization
- Function (`execute_pool`) to execute code in parallel using `multiprocessing`
- Flood hazard/ damage functions (`methods` submodule)
- General method of creating output files in `GeomModel` (`_setup_output_files`)
- Method `_create_model_dirs` of `ConfigReader` object for creating result directories in one go
- Method `add_handler` of the `Log` object; user setting of custom stream
- Method `add_feature_with_map` of `GeomModel` to set features with extra info
- Method `create` of `GeomModel` to create an ogr.DataSource (new dataset)
- Method `create_equal_grids` of `GridModel` for making hazard and exposure grid spatially equal
- Method `set` of `ConfigReader` object
- Not stopping when exposure and hazard grids (`GridModel`), but instead make them spatially equal
- Numpy >= 2.0.0 support
- Python 3.12 support
- Settings toml file: global setting 'global.loglevel'; default 'INFO'
- Settings toml file: exposure setting 'exposure.types'; default 'flood'
- Setting return period as a variable in hazard map bands (risk)
- Support for using pixi for binary creation (properly)
### Changed
- Better version of `BufferHandler`
- Exposure data headers are now lower-/ snakecase ('object_id' -> 'objectId'), see [docs](./user_guide/data/exposure/data.qmd)
- Fixed binary creation in general, but also specifically for `GDAL >= v3.9.1`
- Made read methods of `BaseModel`, `GeomModel` and `GridModel` public (removed underscore)
- Made csv files (exposure data) optional
- Moved hazard/ damage calculation function to `methods` submodule
- Proper checking for duplicate columns in csv files
- Settings toml file: exposure setting 'exposure.csv.file' (becomes optional)
- Testing of workers (not properly caught due to using `multiprocessing`)
- Testing only based on integers
### Deprecated
- Base object `_BaseHandler`; incompatible with Python 3.12
- Function `open_exp` from `fiat.io`, superseded by general use of `open_csv`
- Method `add_c_handler` in favour of the more generalized `add_handler`
- Methods `_create_output_dir`, `_create_tmp_dir` and `_create_risk_dir` of the `ConfigReader` object
- Object `ExposureTable`, now done via `TableLazy`
- Resolve stage of `GeomModel`; now properly handled in `GeomModel.run`
- Setting return period via the name of the hazard band (risk)
- Settings toml file: global setting 'global.keep_temp_files'
- Settings toml file: output setting 'output.geom.chunk'; superseded by 'global.geom.chunk'
- Support of `Python` versions under `3.9.0`
- Temporary files (`GeomModel`)
- `TextHandler` object; unused
### Documentation
- Added methods to the api
- Cleaner home page
- Getting started remade into `Information`
## v0.1.0rc2 (2024-02-19)
The second pre-release of Delft-FIAT.
### Added
- A version switcher for the documentation
- Added entries for chunking size in the settings file (`settings.toml`) for `GeomModel`
- Chunking for geometry calculations (`GeomModel`)
- Chunking for resolving temporary `GeomModel` output
- New method for writing geometries from a buffer: `BufferedGeomWriter`
- New function for merging vector layers: `merge_geom_layers`
- Setting of amount of threads via cli
### Changed
- Better build environment creation on linux systems
- Clarified the cli
- Fixed chunking on a single thread
- Fixed and clarified the shape (w, h) of `GridSource` and `Grid`
- Fixed handling of positive nodata values in geometry calculations
- Fixed indexing in `GridModel` calculations
- Parallelisation of calculations for `GeomModel` (not only in risk mode)
- Updated the installer creation (exe) on Windows (10/11)
- Various bug fixes
### Deprecated
- `get_bbox` method of `GeomSource` and `GridSource`
- Setting: `chunk` in `exposure.geom.settings`, deprecated in favour of `chunk` in `global.geom`
- Setting: `chunk` in `exposure.grid.settings`, deprecated in favour of `chunk` in `global.grid`
- Setting: `chunk` in `hazard.settings`, deprecated in favour of `chunk` in `global.grid`
### Documentation
- Ability to switch between documentation/ software versions
- Improved/ updated the page regarding exposure csv
- Restructered user settings pages
- Seperated user settings into: Basic, Computational & Optional
## v0.1.0rc1 (2023-11-30)
This is the first and pre-release of Delft-FIAT. It aims to have a stable version of the `GeomModel` for calculating damages and risk for vector exposure data and an experimental version of the `GridModel` for calculating damages and risk for raster exposure data.
### Added
- Documentation
- Command line user interface
- Main `FIAT` object from which it's run
- `GeomModel`; the vector based model
- `GridModel`; the raster based model
- `ConfigReader`; for reading the settings file
- I/O methods and structs
- `open_csv` which returns e.g. `Table`
- `open_geom` which returns a `GeomSource`
- `open_grid` which returns a `GridSource`
- GIS related operations like:
- `geom.reproject` to reproject vector files
- `grid.reproject` to reproject raster files
- `overlay.clip` to clip a grid based on a polygon
- and more...
- Ability to 'compile'/ freeze FIAT as an application/ binary
- Windows
- Linux (tested on [Debian](https://www.debian.org/)/ [Ubuntu](https://ubuntu.com/))
- Some smalller miscellaneous methods and object
- In the [API reference](api/index.qmd)