Skip to content

Tags: Team-RADDISH/ParticleDA.jl

Tags

v1.2.0

Toggle v1.2.0's commit message
[Diff since v1.1.0](v1.1.0...v1.2.0)

**Merged pull requests:**
- CompatHelper: add new compat entry for ChunkSplitters at version 2 for package test, (keep existing compat) (#272) (@github-actions[bot])
- CompatHelper: add new compat entry for Statistics at version 1 for package docs, (keep existing compat) (#278) (@github-actions[bot])
- CompatHelper: add new compat entry for DelimitedFiles at version 1 for package docs, (keep existing compat) (#279) (@github-actions[bot])
- CompatHelper: bump compat for Documenter to 1 for package docs (#280) (@github-actions[bot])
- CompatHelper: add new compat entry for PDMats at version 0.11 for package docs, (keep existing compat) (#281) (@github-actions[bot])
- Bump julia-actions/setup-julia from 1 to 2 (#282) (@dependabot[bot])
- Bump julia-actions/cache from 1 to 2 (#283) (@dependabot[bot])
- Update ChunkSplitters.jl to v3 (#284) (@giordano)
- [CI] Fix version of `julia-actions/julia-docdeploy` workflow (#285) (@giordano)
- Solve some deprecation warnings (#286) (@giordano)
- Register custom MPI operator for aarch64 (#287) (@giordano)
- Update benchmarks environment to Julia v1.10 (#288) (@giordano)
- [docs] Add `sources` section to `Project.toml` (#289) (@giordano)

**Closed issues:**
- Add missing docstrings to documentation (#268)

v1.1.0

Toggle v1.1.0's commit message
[Diff since v1.0.1](v1.0.1...v1.1.0)

**Merged pull requests:**
- Update `GaussianRandomFields` version and add additional tests for linear Gaussian models (#244) (@matt-graham)
- fix: Replacing Threads.@threads :static (#247) (@DanGiles)
- Bump to version 1.1.0 (#254) (@matt-graham)
- Remove explicit dependency on `SciMLBase` (#256) (@giordano)
- Allow `HDF.jl` v0.17 (#258) (@giordano)
- Reduce LLW2d model mesh dimensions + number of samples for test (#259) (@matt-graham)
- [CI] Add dependabot, use newer workflows, use concurrency groups (#260) (@giordano)
- Bump codecov/codecov-action from 3 to 4 (#261) (@dependabot[bot])
- Bump actions/checkout from 3 to 4 (#262) (@dependabot[bot])
- Ignore result of runs with nightly builds in CI job status (#263) (@matt-graham)
- Add extra links to README and improve description (#264) (@matt-graham)
- Run different CI jobs only when relevant files are touched (#266) (@giordano)
- Add compat bound for `ChunkSplitters` (#267) (@giordano)

**Closed issues:**
- Update `GaussianRandomFields` version in test dependencies (#243)
- Replace the use of `Threads.@threads :static` (#246)
- Request for code for Lorenz63 plot in paper (#250)
- Adjust number of samples and/or mesh dimension for optimal proposal unit tests with llw2d model (#257)
- Rename default branch to `main`  (#265)

v1.0.1

Toggle v1.0.1's commit message
[Diff since v1.0.0](v1.0.0...v1.0.1)

**Merged pull requests:**
- Add DOI badge to README.md (#240) (@giordano)
- Update installation instructions (#241) (@giordano)

v1.0.0

Toggle v1.0.0's commit message
**Closed issues:**

- Implement particle filter (#2)
- Parameters shouldn't be hard-coded in the module (#4)
- Add noise to the model (#6)
- Add distributed parallelism (#7)
- Create test/Project.toml (#14)
- Initial condition in llw2d is obscure (#15)
- Add noise to the observations (#17)
- Add some documentation (#18)
- Add plotting function(s) (#19)
- Rename the package (#23)
- Change output format (#26)
- Benchmark suite (#34)
- Slow performance in Process Noise (#35)
- Timeseries outputs, ESS (#36)
- Don't get observations when PF is not called (#40)
- Redefine time stepping (#44)
- Redefine grid parameters (#45)
- Add variance to output (#46)
- Possible memory allocations improvements (#53)
- Represent states with structs (#58)
- Add integration test that tests particles (#62)
- Names bikeshedding (#64)
- New Initial State of Particles (#67)
- Error when changing nx, ny (#74)
- Simplify station setup (#75)
- Observations should be independent (#76)
- Plot to show estimated *Standard Deviation* instead of *Variance* (#81)
- Extra Plot to check effect of Background Noise (#82)
- Parellelisation (#83)
- Add station coordinates to output (#84)
- Provide station coordinates in an input file (#86)
- Consistency at colouring at plots of "true height" and "assimilated height" (#92)
- jupyter notebook for plotting (#96)
- Parallelise resampling (#97)
- Provide plot for initial condition of (the two) true Velocity Fields (not only of initial Height Field) (#101)
- add_random_field is not thread-safe after #94 (#105)
- Discontinuities in variance and mean (#108)
- Parallel performance (#115)
- Thread Scaling (#117)
- Separate particle filter from the model  (#124)
- Parametrize initial condition in llw2d properly (#134)
- Optimal particle filter (#136)
- Different Background Noise Parameters for Each of Three State Variables (#175)
- Plotting tool in Julia (#182)
- Add SPEEDY climate model (#199)
- Precompiling ParticleDA Error (#202)
- Role of `weight_std` parameter not clear (#205)
- Generalise update_particle_proposal! (#208)
- OptimalFilter BoundsError when running with mpiexecjl (#209)
- Covariance function assumed in optimal proposal not guaranteed to match that used for process noise (#213)
- Fix TODO about covariance in comment (#214)
- Generalising the optimal proposal implementation (#215)
- Allow returning particles as well summary statistics and at multiple time steps (#220)
- Simplify interface for doing reproducible runs when using MPI (#221)
- Optimal proposal filter not using correct weights (#223)
- Observations currently generated within filtering loop (#224)
- Adding test cases for analytically tractable models (#225)
- Inconsistent conventions around spatial grid coordinates in LLW2d model (#229)
- Optimal proposal particle weights are being computed incorrectly (#230)
- Summary statistics computed on every time step when not outputted (#231)

**Merged pull requests:**
- Particle filter (#1) (@tkoskela)
- Add keyword argument to `tdac` to enable/disable verbosity (#3) (@giordano)
- Refactor parameters (#5) (@tkoskela)
- Add instructions on how to install the package in the README (#8) (@giordano)
- Fix copyright of the package in the LICENSE file (#9) (@giordano)
- Add GitHub Actions script for CI (#10) (@giordano)
- MPI Parallelisation (#11) (@tkoskela)
- Bug fix, initheight was called on the wrong state array (#12) (@tkoskela)
- First integration test (#13) (@tkoskela)
- Remove now unused submodule (#16) (@giordano)
- Update README.md (#20) (@tkoskela)
- Jupyter notebook for plotting output files (#21) (@tkoskela)
- Fix link in README.md (#22) (@tkoskela)
- Add gaussian random noise (#25) (@tkoskela)
- [skip ci] Do not fail fast in GitHub Actions (#27) (@giordano)
- Run tests with 1 and 2 threads (#28) (@giordano)
- Update `GaussianRandomFields` and fix lower/upper bounds for deps (#29) (@giordano)
- [skip ci] Add CompatHelper (#30) (@giordano)
- Clean up function argument lists (#31) (@tkoskela)
- Move output into HDF5 file (#32) (@tkoskela)
- CompatHelper: bump compat for "Distributions" to "0.23" (#33) (@github-actions[bot])
- Do not run `MPI.Finalize()` (#37) (@giordano)
- Add new get_params - function where user can pass dict of parameters (#38) (@tkoskela)
- Generate Gaussian random field with `primes=true` (#39) (@giordano)
- Do process noise and observations only when DA is done (#41) (@tkoskela)
- Read default parameters using multiple dispatch (#42) (@tkoskela)
- Define a custom type for the random field (#43) (@giordano)
- Update structure of the time stepping loop  (#47) (@tkoskela)
- Set total domain size and derive cell size from it (#48) (@tkoskela)
- Add variance to output, collect arrays in structs (#49) (@tkoskela)
- Introduce timers with the `@timeit_debug` macro (#50) (@tkoskela)
- Fix timer on first run, add print on screen (#51) (@tkoskela)
- Use `params.verbose` to check verbosity setting (#52) (@giordano)
- Remove dependency on Distributed (#54) (@tkoskela)
- Use multi-dimensional arrays to represent states (#55) (@giordano)
- CompatHelper: add new compat entry for "TimerOutputs" at version "0.5" (#56) (@github-actions[bot])
- Preallocate the buffer for tsunami update (#57) (@giordano)
- Disable FFTW threads in tests (#59) (@giordano)
- Use preallocated buffer in add_random_field (#60) (@tkoskela)
- Use a buffer array to generate the random numbers in gaussian field (#63) (@giordano)
- Move initialisation of the field buffer to `init_tdac` (#65) (@giordano)
- Fix distribution of random numbers for the Gaussian random field (#66) (@giordano)
- Update particle initial state (#68) (@tkoskela)
- Add colorbars to contourf plots (#69) (@tkoskela)
- Mean and Var need to be calculated for IO after initial state (#70) (@tkoskela)
- Add particle weights to output + plotting (#71) (@tkoskela)
- Add missing argument from list (#72) (@tkoskela)
- Make output of MPI test visible (#73) (@giordano)
- Fix issue of non-default parameters not getting passed to init_gaussian_random_field_generator (#77) (@tkoskela)
- Add test for different grid and time step size (#78) (@tkoskela)
- Update to weight and observation noise calculation (#79) (@tkoskela)
- Modify to plot standard deviation instead of variance (#85) (@tkoskela)
- Update README.md (#87) (@tkoskela)
- Fix x-axis in ESS plot to start from 1 (#88) (@tkoskela)
- Upgrades to stations (#89) (@tkoskela)
- Update README.md (#90) (@tkoskela)
- Add threads to process noise (#91) (@tkoskela)
- Enforce same color scale in true and avg height plots. Fix unit of var (#93) (@tkoskela)
- Define a thread-safe RNG (#94) (@giordano)
- Separate copying of state vectors from resampling. (#95) (@tkoskela)
- Use in-place version of `var` (#98) (@giordano)
- Get rid of unnecessary flattening and reshaping (#99) (@tkoskela)
- Use allocation-free `var` everywhere (#100) (@giordano)
- Revert state split (#102) (@tkoskela)
- Add options for particle initial state (#103) (@tkoskela)
- Add tests for particle state (#104) (@tkoskela)
- Write velocity fields to output and plot them (#106) (@tkoskela)
- Move IO functions to separate file (#107) (@tkoskela)
- CompatHelper: bump compat for "MPI" to "0.15" (#109) (@github-actions[bot])
- Move hard-coded parameters from llw2d.jl to parameters.jl and Fix boundary calculation (#110) (@tkoskela)
- Parallel resampling (#111) (@tkoskela)
- Pack all model matrices in a single struct (#112) (@giordano)
- Implementation of custom MPI reduction for mean and variance (#113) (@tkoskela)
- Add scripts to run scaling tests on CSD3 and notebook to plot results (#114) (@tkoskela)
- Rename functions for readability (#119) (@tkoskela)
- Simplify initheight (#120) (@tkoskela)
- Update README.md (#121) (@tkoskela)
- Do not force FFTW threads to 1 (#122) (@giordano)
- Rename `TDAC.jl` -> `ParticleDA.jl` (#123) (@giordano)
- Add disclaimer to README (#125) (@tkoskela)
- Run CI on more versions of Julia (#126) (@giordano)
- Add benchmarks (#127) (@tkoskela)
- Separate model from particle filter (#128) (@giordano)
- CompatHelper: bump compat for "Distributions" to "0.24" (#129) (@github-actions[bot])
- Fix settings for deployment of documentation (#130) (@giordano)
- CompatHelper: bump compat for "MPI" to "0.16" (#131) (@github-actions[bot])
- CompatHelper: bump compat for "HDF5" to "0.14" (#132) (@github-actions[bot])
- Implement optimal particle filter from Alex (#133) (@tkoskela)
- Add SSH key to CompatHelper (#135) (@giordano)
- Update README.md (#137) (@tkoskela)
- Refactor llw2d.initheight (#138) (@tkoskela)
- Remove observation noise from model observations (#139) (@tkoskela)
- Add new filter type argument for dispatch (#140) (@giordano)
- CompatHelper: bump compat for "HDF5" to "0.15" (#141) (@github-actions[bot])
- Move filter initialisations into a function and group arrays into a struct. (#142) (@tkoskela)
- Update documentation to mention new argument to `run_particle_filter` (#143) (@giordano)
- Change initial value of bathymetry, pointed out by Devaraj (#144) (@giordano)
- Update model interface for optimal filter (#145) (@tkoskela)
- Add two new functions to implement in the model (#146) (@giordano)
- Slightly simplify test project file (#147) (@giordano)
- Fix bug in update_reference_data.jl (#148) (@tkoskela)
- Restore compat bounds for test dependencies (#149) (@github-actions[bot])
- Add GitHub Action workflow to run benchmarks on CI for pull requests (#153) (@giordano)
- Add more benchmarks (#154) (@giordano)
- Pass filter type to run_particle_filter and use it to dispatch  (#155) (@tkoskela)
- Increase required Julia version to v1.5 (#156) (@giordano)
- Split get_grid_size into three functions  (#157) (@tkoskela)
- More generic initialisation of boostrap filter (#158) (@giordano)
- Precompute FFTW plan (#159) (@giordano)
- Add integration test with optimal filter (#160) (@tkoskela)
- Remove duplicate definition of `nprt_per_rank` (#161) (@giordano)
- Reduce allocations in `sample_height_proposal!` (#162) (@giordano)
- Dump particle states to file upon request (#163) (@tkoskela)
- Include docstring of `Model.ModelParameters` in documentation (#164) (@giordano)
- Fix `s in docstring (#166) (@tkoskela)
- Add metadata to StateVectors with FieldMetadata.jl. (#167) (@tkoskela)
- CompatHelper: bump compat for "MPI" to "0.17" (#168) (@github-actions[bot])
- CompatHelper: bump compat for "MPI" to "0.17" for package test (#169) (@github-actions[bot])
- CompatHelper: bump compat for "MPI" to "0.17" for package benchmark (#170) (@github-actions[bot])
- CompatHelper: add new compat entry for "Distributions" at version "0.24" for package benchmark (#171) (@github-actions[bot])
- CompatHelper: bump compat for "BenchmarkTools" to "0.7" for package benchmark (#172) (@github-actions[bot])
- CompatHelper: add new compat entry for "HDF5" at version "0.15" for package benchmark (#173) (@github-actions[bot])
- CompatHelper: bump compat for "MPI" to "0.17" for package docs (#174) (@github-actions[bot])
- Support different noise parameters for each state variable (#176) (@tkoskela)
- Remove `ParticleDA` from test project (#177) (@giordano)
- CompatHelper: bump compat for "Distributions" to "0.25" (#178) (@github-actions[bot])
- CompatHelper: bump compat for "Distributions" to "0.25" for package test (#179) (@github-actions[bot])
- CompatHelper: bump compat for "Distributions" to "0.25" for package benchmark (#180) (@github-actions[bot])
- CompatHelper: bump compat for "Distributions" to "0.25" for package docs (#181) (@github-actions[bot])
- Add Julia plotting notebook (#183) (@giordano)
- Fix docstring of `get_model_noise_params` (#184) (@giordano)
- CompatHelper: bump compat for "BenchmarkTools" to "1.0" for package benchmark (#185) (@github-actions[bot])
- Remove redundant call to `get_particles` (#186) (@giordano)
- Update uninformative parameter description and add two missing ones (#187) (@tkoskela)
- Add Pluto notebook to explore the output data (#189) (@giordano)
- Pad time stamps in output file with up to 3 zeros (#190) (@tkoskela)
- Pad times also when writing the weights (#191) (@giordano)
- CompatHelper: bump compat for "Documenter" to "0.27" for package docs (#196) (@github-actions[bot])
- Update to `MPI.jl` v0.19 (#197) (@giordano)
- Reorganise how timer strings to be saved in HDF5 are created (#200) (@giordano)
- Generalise some dimensions in bootstrap filter (#201) (@giordano)
- Add input files to repository (#206) (@tkoskela)
- Use correct number of particles in Optimal Filter and add MPI test (#210) (@tkoskela)
- Propagate number of threads when running MPI tests (#211) (@giordano)
- Move threads flags to `flags` variable in MPI tests (#212) (@giordano)
- Use `GaussianRandomFields` to calculate optimal proposal covariance (#216) (@matt-graham)
- Update to `HDF5.jl` v0.16 (#217) (@giordano)
- Generalising the optimal proposal implementation (#218) (@DanGiles)
- Require Julia v1.7 and use new task-local RNG (#219) (@giordano)
- Collect code coverage and add badges to README file (#222) (@giordano)
- Refactor: using flat vector states and decoupling states from model (#232) (@matt-graham)
- Run MPI tests with `Base.julia_cmd` instead of `Base.julia_exename` (#234) (@giordano)
- Upgrade to `MPI.jl` 0.20 (#235) (@giordano)
- Remove useless dependency on `DifferentialEquations` (#236) (@giordano)
- Add linear Gaussian model type + validation notebook (#237) (@matt-graham)
- Bump version number to v1.0.0 (#238) (@giordano)