Recent Releases of ODINN.jl
ODINN.jl - v0.3.0
ODINN v0.3.0
Breaking changes
- ODINN.jl API for functional inversion has change with respect to previous versions. Now a Target object is design for each custom inversion
- Custom continuous adjoint with discrete, continuous, and Enzyme VJPs used for computation of the gradient in the inversion
Merged pull requests:
- UDEs working with experiment with different MB (#122) (@JordiBolibar)
- First prototype of new API (#125) (@JordiBolibar)
- New API prototype (#127) (@JordiBolibar)
- New API prototype (#128) (@JordiBolibar)
- CompatHelper: bump compat for Flux to 0.14, (keep existing compat) (#129) (@github-actions[bot])
- 🔄 synced file(s) with ODINN-SciML/Sleipnir.jl (#130) (@facusapienza21)
- CompatHelper: bump compat for Polynomials to 4, (keep existing compat) (#131) (@github-actions[bot])
- CompatHelper: bump compat for AbbreviatedStackTraces to 0.2, (keep existing compat) (#132) (@github-actions[bot])
- CompatHelper: add new compat entry for Downloads at version 1, (keep existing compat) (#133) (@github-actions[bot])
- CompatHelper: add new compat entry for Statistics at version 1, (keep existing compat) (#134) (@github-actions[bot])
- CompatHelper: bump compat for Makie to 0.20, (keep existing compat) (#135) (@github-actions[bot])
- CompatHelper: bump compat for CairoMakie to 0.11, (keep existing compat) (#136) (@github-actions[bot])
- CompatHelper: bump compat for GR to 0.73, (keep existing compat) (#138) (@github-actions[bot])
- New architecture using Sleipnir, Huginn and Muninn (#139) (@JordiBolibar)
- CompatHelper: bump compat for GeoMakie to 0.6, (keep existing compat) (#140) (@github-actions[bot])
- CompatHelper: bump compat for OptimizationOptimisers to 0.2, (keep existing compat) (#142) (@github-actions[bot])
- 🔄 synced file(s) with ODINN-SciML/Sleipnir.jl (#143) (@facusapienza21)
- Added structure and utilities for classic inversion (#144) (@vivekag7)
- [WIP] Debugging Reverse after merge with ForwardDiff setup (#150) (@JordiBolibar)
- Migrate to pure julia (#170) (@albangossard)
- First rough version of the docs (#176) (@JordiBolibar)
- First rough version of the docs (#177) (@JordiBolibar)
- Fix OrdinaryDiffEqSymplecticRK dependency (#179) (@albangossard)
- Including documentation in the new architecture dev branch (#180) (@JordiBolibar)
- update compat helper's default branch (#181) (@albangossard)
- CompatHelper: bump compat for AbbreviatedStackTraces to 0.3, (keep existing compat) (#190) (@github-actions[bot])
- CompatHelper: add new compat entry for Reexport at version 1, (keep existing compat) (#191) (@github-actions[bot])
- CompatHelper: add new compat entry for Sleipnir at version 0.7, (keep existing compat) (#192) (@github-actions[bot])
- CompatHelper: add new compat entry for Cthulhu at version 2, (keep existing compat) (#193) (@github-actions[bot])
- CompatHelper: bump compat for Optimization to 4, (keep existing compat) (#194) (@github-actions[bot])
- CompatHelper: add new compat entry for Zygote at version 0.7, (keep existing compat) (#195) (@github-actions[bot])
- CompatHelper: bump compat for Flux to 0.16, (keep existing compat) (#196) (@github-actions[bot])
- CompatHelper: add new compat entry for ImageFiltering at version 0.7, (keep existing compat) (#197) (@github-actions[bot])
- CompatHelper: add new compat entry for GeoStats at version 0.74, (keep existing compat) (#198) (@github-actions[bot])
- CompatHelper: add new compat entry for Muninn at version 0.4, (keep existing compat) (#200) (@github-actions[bot])
- CompatHelper: add new compat entry for Optimisers at version 0.4, (keep existing compat) (#201) (@github-actions[bot])
- CompatHelper: bump compat for OptimizationOptimisers to 0.3, (keep existing compat) (#202) (@github-actions[bot])
- CompatHelper: bump compat for JLD2 to 0.5, (keep existing compat) (#203) (@github-actions[bot])
- CompatHelper: bump compat for OptimizationOptimJL to 0.4, (keep existing compat) (#204) (@github-actions[bot])
- CompatHelper: bump compat for JLD2 to 0.5, (keep existing compat) (#205) (@github-actions[bot])
- CompatHelper: bump compat for OptimizationOptimJL to 0.4, (keep existing compat) (#206) (@github-actions[bot])
- CompatHelper: bump compat for OrdinaryDiffEqSymplecticRK to 1, (keep existing compat) (#207) (@github-actions[bot])
- Move back to pinned Project.toml + ongoing plotting in docs tutorial (#208) (@JordiBolibar)
- Documentation updated (#224) (@JordiBolibar)
- Includes test for dummy gradient and fix propagated bugs (#226) (@facusapienza21)
- Fix type stability (#228) (@albangossard)
- Migrate all
Flux
toLux
(#229) (@facusapienza21) - Update and improve docs (#236) (@JordiBolibar)
- Custom adjoint testing (#239) (@ChrisRackauckas)
- Custom adjoint tests (#241) (@albangossard)
- Custom continuous adjoint + tests of the different adjoints (#242) (@albangossard)
- Integration of Enzyme VJP in the custom adjoint pipeline (#243) (@albangossard)
- Fix Enzyme VJP calls + add tests (#245) (@albangossard)
- Gradient check with the Halfar solution + add custom loss struct (#265) (@albangossard)
- Fixes in Continuous adjoint and MWE working for multiple glaciers (#266) (@facusapienza21)
- Add VJP benchmark in CI (#268) (@albangossard)
- Multiprocessing and precompilation improved (#269) (@JordiBolibar)
- Merge changes from
customAdjoint
(#274) (@facusapienza21) - Ice velocity integration (#294) (@albangossard)
- Increase distance_to_border in halfar tests to reduce the error (#296) (@albangossard)
- Design of API for custom target inversion (#298) (@facusapienza21)
- Functional inversion tutorial (#299) (@JordiBolibar)
- Improve Continuous VJP computation (#300) (@facusapienza21)
- Functional inversion tutorial (#304) (@albangossard)
- Make SIA2D_target type stable (#310) (@JordiBolibar)
- Fixes following type stability changes in Huginn (#315) (@albangossard)
Closed issues:
- Test for the forward-backward method based on analytical solution (#16)
- Make parameters local (#36)
- Potential improvements on
Parameters
subtypes (#65) - Properly optimize Julia code (#68)
- Make Glathida functions work in a
pmap
(#71) - Merge common code into functions between
iceflow.jl
andinversions.jl
(#72) - New API (#82)
- Create workflow to download massive
gdir
data usingwget
(#83) - Bug with integration Fiona + OGGM + ODINN (#86)
- Make
generate_batches
function general by usingvarargs
(#89) - Create
Glacier
orGdir
type to store glacier state and initial conditions (#93) - Huge RAM usage when using multiprocessing - PyCall and OGGM suspected (#96)
- Revise closures and functions within functions (#113)
- Fix cache of Julia precompiled files for GitHub Actions CI (#115)
- Experiment of UDE sensitivity to MB differences (#120)
- Create documentation (#121)
- Check values of
S
retrieved from OGGM (#124) - Fully migrate from
Flux.jl
toLux.jl
(#152) - Update docstrings following SciML style (#155)
- Remove unnecessary dependencies (#158)
- Change vector parameter for optimization variable to ComponentArray (#227)
- Use multiple dispatch to update the adjoint in
gradient.jl
(#244) - Remove precompilation logs in every worker when using multiprocessing (#246)
- Cache precompilation on every worker from main worker's cache when using multiprocessing (#263)
- Combine all tests for gradient calculation into one single function (#267)
- Clean Compat Helper old branches (#270)
- Use Revise.jl in workers and rethink anonymous functions (#301)
Cryosphere - Glacier and Ice Sheets
- Julia
Published by github-actions[bot] 26 days ago

ODINN.jl - v0.2.0
New release for the submission of the paper to Geoscientific Model Development with Zenodo DOI. This release contains all the work done in the last year, with the correct setup and high-performance of UDEs for the SIA. It also includes a new way to compute climate data, new MB models, a cleaner way to use PyCall and Continuous Integration with tests and CodeCov running on GitHub.
As a v0 release, it still doesn't include a final API. It will be designed this summer, marking the first v1 release of ODINN.jl.
What's Changed
- Small fix for PyCall by @JordiBolibar in https://github.com/ODINN-SciML/ODINN.jl/pull/55
- ODINN initialization fixed by @JordiBolibar in https://github.com/ODINN-SciML/ODINN.jl/pull/57
- Cleaner way to initialize PyCall by @JordiBolibar in https://github.com/ODINN-SciML/ODINN.jl/pull/58
- PyCall initialization polished, with better instructions in README by @JordiBolibar in https://github.com/ODINN-SciML/ODINN.jl/pull/59
- UDE training with random mass balance by @JordiBolibar in https://github.com/ODINN-SciML/ODINN.jl/pull/62
- MB WIP + MWE iceflow updated by @JordiBolibar in https://github.com/ODINN-SciML/ODINN.jl/pull/69
- New MB models and workflow by @JordiBolibar in https://github.com/ODINN-SciML/ODINN.jl/pull/109
- Continuous Integration tests up and running by @JordiBolibar in https://github.com/ODINN-SciML/ODINN.jl/pull/116
- Fixing CodeCov + CI only for PRs by @JordiBolibar in https://github.com/ODINN-SciML/ODINN.jl/pull/119
- UDEs working with experiment with different MB by @JordiBolibar in https://github.com/ODINN-SciML/ODINN.jl/pull/122
Full Changelog: https://github.com/ODINN-SciML/ODINN.jl/compare/v0.1.0...v0.2.0
Cryosphere - Glacier and Ice Sheets
- Julia
Published by JordiBolibar almost 2 years ago

ODINN.jl - v0.1.0
ODINN v0.1.0
First release
Closed issues:
- Implicit method needed to solve the SIA (#1)
- Global Parameter setting file (#3)
- Mass balance needs to be added in small timesteps in forward model (#4)
- Use Sparse Arrays for glacier matrices (#5)
- Create fake A(ELA) function (#6)
- Generate training dataset with fake A function (#7)
- Train UDE on A for the SIA PDE (#8)
- A as a function of long-term temperature (#9)
- LoadError: Mutating arrays is not supported using Zygote (#10)
- Include different numerical methods in the DE solvers and add them as parameter options. (#11)
- Initialize UA with stable value (#13)
- Physical constrains in the NN (#17)
- Investigate use of batches for UDE training (#18)
- Optimize code with
SparseArrays
(#19) - Loss function using surface velocities (#20)
- Parallelize ice flow model (#21)
- Use initial glacier conditions from OGGM (#25)
- Formalize Python and OGGM installation and folder structure (#30)
- UDE not training with OGGM initial state (#31)
- Train on multiple glaciers (#35)
Merged pull requests:
- Staggered grid keeps original size(H) (#12) (@JordiBolibar)
- Backpropagation working with Tullio + damping ongoing (#14) (@JordiBolibar)
- Diffeqops merge with other branch (#15) (@JordiBolibar)
- Missing dependency added (#23) (@JordiBolibar)
- Training UDEs with ice velocities (
V
) (#24) (@JordiBolibar) - Corrections of surface velocity + minor changes (#26) (@facusapienza21)
- ODINN integrated with OGGM (#27) (@JordiBolibar)
- Combined loss function with
H
andV
(#28) (@JordiBolibar) - Benchmarks added + attempt to normalize loss function (#32) (@JordiBolibar)
- Huge speed-up + Cuffey and Paterson
A
fake law + Real climate data (#37) (@JordiBolibar) - Training UDEs with any glacier on Earth (#39) (@JordiBolibar)
- Retraining of UDEs + pretty dataset plots (#41) (@JordiBolibar)
- Notebooks moved to separate repository (#42) (@JordiBolibar)
- First release (#44) (@JordiBolibar)
- Small error fix + repo structural changes (#45) (@JordiBolibar)
- First release (#46) (@JordiBolibar)
- Small error fix + docstrings added for many functions (#47) (@JordiBolibar)
- Compat added to Project.toml and small fix (#48) (@JordiBolibar)
- Compat change for package release (#49) (@JordiBolibar)
- Project fix for package release (#50) (@JordiBolibar)
- Fix on Project.toml for first release (#51) (@JordiBolibar)
- First release (#52) (@JordiBolibar)
Cryosphere - Glacier and Ice Sheets
- Julia
Published by github-actions[bot] about 3 years ago
