Closed mloubout closed 2 years ago
sorry, not much left of your original code :D Haha no problem.
Since there are breaking API changes, let's make sure to burn a release of the current version that people can fall back to if they don't want to update their code.
let's make sure to burn a release of the current version
Oh yeah definitely, still got time need to add examples and double check stuff.
Merging #100 (f1e7054) into master (e2307a4) will decrease coverage by
4.20%
. The diff coverage is70.99%
.
@@ Coverage Diff @@
## master #100 +/- ##
==========================================
- Coverage 80.16% 75.95% -4.21%
==========================================
Files 30 23 -7
Lines 2344 1801 -543
==========================================
- Hits 1879 1368 -511
+ Misses 465 433 -32
Impacted Files | Coverage Δ | |
---|---|---|
src/TimeModeling/Modeling/twri_objective.jl | 0.00% <0.00%> (ø) |
|
src/TimeModeling/Utils/seismic_preconditioners.jl | 79.23% <ø> (ø) |
|
src/TimeModeling/Utils/auxiliaryFunctions.jl | 72.64% <42.59%> (-7.56%) |
:arrow_down: |
src/TimeModeling/Types/judiComposites.jl | 76.64% <47.05%> (+0.04%) |
:arrow_up: |
src/TimeModeling/LinearOperators/lazy.jl | 49.25% <49.25%> (ø) |
|
src/TimeModeling/Modeling/distributed.jl | 32.25% <57.14%> (-60.05%) |
:arrow_down: |
src/TimeModeling/Modeling/misfit_fg.jl | 65.51% <65.51%> (ø) |
|
src/JUDI.jl | 83.33% <66.66%> (ø) |
|
src/TimeModeling/Types/judiWavefield.jl | 72.50% <70.27%> (-26.15%) |
:arrow_down: |
src/TimeModeling/Types/ModelStructure.jl | 86.66% <71.42%> (-0.65%) |
:arrow_down: |
... and 21 more |
Continue to review full report at Codecov.
Legend - Click here to learn more
Δ = absolute <relative> (impact)
,ø = not affected
,? = missing data
Powered by Codecov. Last update e2307a4...f1e7054. Read the comment docs.
Ok all comments fixed and added some cleanup and backward compatibility
Any other comments
Any other comments
Following has been done:
Switch all vector types to proper abstract vectors. This should allow better generalization and interface with julia in general. From the structure of the problem, all data types are now multi-source vectors as
Vector[Array}
all based on a commonjudiMultiSourceVector
type. To make it compatible with standard juliamat-vec
the size of ajudiMultiSourceVector
is(nsrc,)
but thelength
is the actual total length to match the operator size.Abstract operators better abstracted and implemented. Again removes a lot of code duplicate and makes it lot easier to maintain and use.
Lots of cleanp of the wrapper functions that had a lot of duplicate. Now only
misfit_fg
for fwi/lsrtm objectives andtime_modeling
for all linear operators are left.Added additional tutorials from the ML4Seismic session
The user interface is mainly unchanged, the only breaking API changes are:
Int
as well to be compatible with the rest of Julia (like IterativeSolvers that check all the actual length)judiLRWF
(renamedjudiWavelet
butjudiRHS
still exist for backward compact) requiresdt
to be properly definedCan be discussed (at least in part) but some of it isn't very negociable and I'll be working with this version that is much easier to work with for external and dependent packages.
@philippwitte sorry, not much left of your original code :D