forked from SWIFTSIM/swiftsimio
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG.txt
423 lines (296 loc) · 11.5 KB
/
CHANGELOG.txt
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
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
SWIFTsimIO Changelog
====================
v 4.0.4
-------
Accepted for JOSS release.
v 4.0.3
-------
Documentation changes to address JOSS review comments.
v 4.0.2
-------
Hotfix for documentation and error when loading data in different
timezones than the one it was created in.
v 4.0.1
-------
Addresses review comments from @dmentipl:
+ Added backwards compatibility with previous versions of `numba`
+ Added the suggested `environment.yml` for conda users.
+ Re-worked documentation to update it to the current version now that we
have closest-unit finding by default.
+ Fixed some minor typos within documentation.
+ Updated example data to be more current so that it works with `v4.0.0`
and above.
+ Minor fixes to `swiftsnap` so that it can run on more classes of snapshots.
+ Fixed a bug within older non-spatial masking.
+ `subset_writer` can now be referenced from the top-level package.
+ Fixed a large number of warnings generated by `sphnix` when generating docs.
+ Added the JOSS status to README.md.
+ Added example output images from visualisation routines.
v 4.0.0
-------
Multiple fixes present in this update:
+ `swiftsnap` now includes slightly more information
+ Slices and volume renders now can accept rotation centre and rotation matrix
arguments, just like projections.
+ The `subset_writer` submodule allows you to write out a new snapshot containing
a sub-set of the particles. This is useful for creating small snapshots that only
contain a single halo.
+ The snapshot time string now has a fallback mode to a string in the case where
it cannot figure out what timezone the snapshot was written in.
+ The `SelectOutput` and `OutputType` metadata from a SWIFT snapshot are now surfaced
at the top-level in the `SWIFTMetadata` object.
+ Reading data from chunked snapshots has recieved an update, which makes it much
faster in some cases.
+ The `to_physical` function now works as expected.
+ `swiftsimio` now produces initial conditions that can be self-consistently read,
with dataset metadata written to file.
+ When using the `histogram` backend for projection we no longer require smoothing
lengths to be present, as they are not used.
+ `python3.8` added as an official target, with internal changes in
templating required to make this work. This also means that in some cases we
cannot run with `py-sphviewer` as some of its dependencies do not work with
3.8.
+ Hand-casting of units (using multiplication, rather than a call to
`unyt_quantity` or `unyt_array`) has been removed.
This release also marks the submission of `swiftsimio` to JOSS. Thank you to
DiRAC for providing RSE support to get us over this hurdle. Alexei Borrisov was
a key player in the majority of the above updates.
v 3.1.1
-------
`swiftsnap` update:
+ Adds command-line utility `swiftsnap` to quickly peek at the properties of
a SWIFT snapshot
v 3.1.0
-------
Projected quantities update:
+ Added six extra backends for use with projected SPH data to ensure converged
results even at low resolution. These can be used through the
`backend="x"` option within project_{quantity}`. See documentation for full
details.
v 3.0.0
-------
Named columns update:
+ Adds support for the SWIFT `NamedColumns` feature, where multidimensional
arrays are now accessible through a named object hierarchy. This is
particularly useful for things like element abundances.
+ Changes to the `__repr__` of various objects to make them more usable,
instead of pointing to arbitrary memory locations.
v 2.4.1
-------
Internal unit update:
+ Changes the handling of close-by internal units to only be accurate
to within 1e-5 precision. This is due to units only being specified
to this precision within parameter files, and is to avoid rounding
errors when converting between units.
v 2.4.0
-------
Units and internal updates. Changes:
+ Removed unnecessary call to `tqdm` inside smoothing length generation
module.
+ Added `to_physical` and `convert_to_physical` methods to `cosmo_array`.
+ Added math operators to `cosmo_factor`
+ `swiftsimio` now converts internal units from cgs-based units to the
closest 'sensible' value to prevent underflows in image making.
v 2.3.0
-------
Masking visualisation update. Changes:
+ The order of parameters in ``projection`` visualisation
functions has changed, to make more logical sense.
+ A new argument in ``projection`` allows for the
projection of sub-sets of particles, ``mask``. See
the documentation for more details.
v 2.2.0
-------
Visualisation update! Includes:
+ New ability to generate rotation matrices from vectors.
+ Projection plots can now be made with arbitrary rotations.
v 2.1.1
-------
Minor bugfix, including:
+ Fixed an error in indexing syntax that meant cells were not correctly
reading particles from a file.
+ Fixed an error where when using SWIFTMask, where reading arrays would
crash if there was not a particle of a given type in a top-level cell.
+ Changed the ReadTheDocs theme.
v 2.1.0
-------
Minor updates, including:
+ Added badge to link to documentation to README.
+ Significant performance improvements for reading chunks from HDF5 files.
+ Visualisation bug fix where box-size was overflowing.
+ Now support dithered top-level cell mesh for reading partial snapshots.
+ Added `wily` as an optional requirement for development.
+ Use `Solar_Mass` in units instead of `msun` as it is a 'first-class' unit.
v 2.0.0
-------
The `v2` update! This includes a huge laundry list of changes.
+ Added stellar smoothing lengths to output from the `swiftsimio` generated initial
conditions.
+ Added smoothing length generation code to ensure that smoothing lengths can
be made for dark matter.
+ Enabled projection images for all particle types through `project_pixel_grid`.
+ Added `msun` as a first-class unit in `unyt` such that things can be converted
to it much more easily.
+ Added region selection to rendering so that users can select to render only a
specific portion of the box instead of the whole thing.
+ Added a large amount of automated tests for the rendering suite.
+ Added the `__version__` attribute to `swiftsimio` for convenience.
+ Added a new `swiftsimio.optional_packages` sub-module to enable use of new
optional packages throughout the code, in a similar fashion to the
`swiftsimio.accelerated` sub-module.
+ Added a huge amount of new documentation.
v 1.2.0
-------
The `py-sphviewer` integration update!
+ Adds a new sub-module, `swiftsimio.visualisation.sphviewer`, that
provides inter-operability with py-sphviewer.
v 1.1.0
-------
The parallel update!
+ Adds parallel visualisation routines for all projection, slice, and volume
rendering options. This can be activated by using the `parallel=True` argument.
+ Upgraded to `unyt` version 2.3.0 or above. This allows us to stay on track with
`unyt` as previously we required an older version.
v 1.0.3
-------
Boundary particles bugfix
+ Fixes a bug preventing snapshots that include boundary particles from being used
with cell masking.
v 1.0.2
-------
Visualisation bugfix
+ A botched merge left some incorrect code in visualisation. This is now fixed.
v 1.0.1
-------
Temperature bugfix
+ A check in the code for dimensionless quantities was accidentally picking up temperatures as also
being dimensionless. This is now fixed.
v 1.0.0
-------
Major breaking changes ahead!
This update adds:
+ Metadata directly copied out of the snapshots
+ Ability to add new particle fields without needing to update `swiftsimio`
+ Breaks backwards compatiblity with older versions of SWIFT (require v>0.9.0)
v 0.8.0
-------
Adds volume rendering (BETA)!
+ Adds a new (hidden) volume render mode, in `visualisation.volume_render`
+ Bugfixes for kernel implementations.
v 0.7.0
-------
Added extra boundary particles!
+ Two new particle types, `boundary` and `second_boundary`, for zoom-in simulations.
v 0.6.0
-------
Basic slice image functionality!
+ Added some more imaging code that now creates slice plots. Again, this is
mainly useful for making movies. You'll want to use `yt` or py-sphviewer for
more complex things.
+ Internally, we moved the visualisation stuff to a sub-module.
+ Minor bug-fixes in the imaging code to do with kernel normalization.
v 0.5.0
-------
Basic image-creation functionality!
+ Added some (super fast) routines to make projections of the whole box. This is
only useful for simple projections of the whole box and is not thread parallel.
In particular, it's useful for making movies.
v 0.4.0
-------
User-defined particle types update!
+ Allows for user defined particle types through an API
+ Adds the RunName field.
v 0.3.8
-------
Dependency release:
+ Explicitly makes `unyt<2.0.0` an install requirement.
v 0.3.7
-------
Cooling release:
+ Added RadiatedEnergy -> radiated_energy field.
+ Fixes some issues with information from the diffusion.
v 0.3.6
-------
Urgent bugfix release:
+ Fixed incorrect parsing of dual-purpose metadata.
v 0.3.5
-------
Another bugfix release. This fixes the following errors:
+ Missing variables from metadata that were re-using dictionary keys
+ Fixed `a` always being set to 1.0
+ Added a number of unit tests
+ Actually added correct travis integration.
v 0.3.4
-------
Major bugfixes:
+ Fake jit decorator was incorrectly called in accelerate.py
+ Incorrect metadata
v 0.3.3
-------
Star formation update:
+ Includes some new names for fields that have changed recently in
the star formation code in SWIFT.
v 0.3.2
-------
ANARCHY update:
+ Added diffusion and viscosity coefficients to the reading metadata
v 0.3.1
-------
The masking performance update:
+ Use `np.take` with integer masks instead of boolean masks for significantly
improved performance.
+ Major bugfixes to the spatial matching code.
v 0.3.0
-------
The masking update:
+ Added masking object and functions (both spatial and property-based).
+ Added units to relevant unpacked header variables.
+ Added nicer API to access (base) units.
+ Added `present_particle_types property` to metadata.
v 0.2.3
-------
Backwards-compatibility update:
+ Write "NumFilesPerSnapshot", "NumPart_ThisFile", and "MassTable" to snapshots.
+ Added ability to write extra items to the header.
v 0.2.2
-------
Minor bugfixes and improvements:
+ Added the MaterialID field
+ Changed internal energy units to be correct (energy per unit mass).
v 0.2.1
-------
Documentation update!
+ Includes significantly more documentation for how to create initial conditions
files with `swiftsimio`.
+ Minor bugfixes throughout.
+ Added `swiftsimio.validate_file` to validate your dataset is a SWIFT output
file before reading.
+ Added a number of metadata properties to the reader for pretty-printing code
information: `compiler_info`, `library_info`, `hydro_info`, `viscosity_info`,
`code_info`
+ Added ability to automatically generate smoothing lengths for gas datasets
in the writer.
v 0.2.0
-------
First writer update:
+ Implements writer functionality. This allows for an object-oriented API to be
used to create SWIFT IC files.
+ Compatibility changes in the reader to work with self-generated initial
conditions files.
+ Minor bugfixes.
v 0.1.2
-------
Fixed a minor packaging bug.
v 0.1.1
-------
First minor revision:
+ Fixes a minor packaging issue
+ Implements some boilerplate for upcoming features
v 0.1.0
-------
The first version of the code includes the following:
+ Basic reader functionality implemented
+ `unyt` arrays used for reading data
+ Data read dynamically from snapshot
+ Some basic parsing of header information
+ EAGLE chemistry reader included.