From e4f320513188a378a7aa09f06e60fcf637b51b63 Mon Sep 17 00:00:00 2001 From: mloubout Date: Wed, 3 Jan 2024 14:00:00 -0500 Subject: [PATCH 01/27] allow to shift OOC gemotry when read to avoid overflow and 2d projection for field data --- src/TimeModeling/Types/GeometryStructure.jl | 28 ++++++++++++++------- src/TimeModeling/Types/judiVector.jl | 27 ++++++++++++++------ 2 files changed, 38 insertions(+), 17 deletions(-) diff --git a/src/TimeModeling/Types/GeometryStructure.jl b/src/TimeModeling/Types/GeometryStructure.jl index b29902472..4d52b96c3 100644 --- a/src/TimeModeling/Types/GeometryStructure.jl +++ b/src/TimeModeling/Types/GeometryStructure.jl @@ -316,8 +316,9 @@ function Geometry(data::Array{SegyIO.SeisCon,1}; key="source", segy_depth_key="" end # Load geometry from out-of-core Geometry container -function Geometry(geometry::GeometryOOC) +function Geometry(geometry::GeometryOOC; rel_origin=(0, 0, 0), project=nothing) nsrc = length(geometry.container) + ox, oy, oz = rel_origin # read either source or receiver geometry if geometry.key=="source" @@ -337,16 +338,25 @@ function Geometry(geometry::GeometryOOC) t = Array{Float32}(undef, nsrc) for j=1:nsrc - header = read_con_headers(geometry.container[j], params, 1) if geometry.key=="source" - xloc[j] = convert(gt, get_header(header, params[1])[1]) - yloc[j] = convert(gt, get_header(header, params[2])[1]) - zloc[j] = abs.(convert(gt,get_header(header, params[3])[1])) + xloc[j] = get_header(header, params[1])[1] .- ox + if project == "2d" + xloc[j] = sqrt.(xloc[j].^2 .+ (get_header(header, params[2])[1] .- oy).^2) + yloc[j] = 0 .* xloc[j] + else + yloc[j] = get_header(header, params[2])[1] .- oy + end + zloc[j] = abs.(get_header(header, params[3]))[1] .- oz else - xloc[j] = convert(gt, get_header(header, params[1])) - yloc[j] = convert(gt, get_header(header, params[2])) - zloc[j] = abs.(convert(gt, get_header(header, params[3]))) + xloc[j] = get_header(header, params[1]) .- ox + if project == "2d" + xloc[j] .= sqrt.(xloc[j].^2 .+ (get_header(header, params[2]) .- oy).^2) + yloc[j] = 0 .* xloc[j] + else + yloc[j] = get_header(header, params[2]) .- oy + end + zloc[j] = abs.(get_header(header, params[3])) .- oz end dt[j] = geometry.dt[j] nt[j] = geometry.nt[j] @@ -536,4 +546,4 @@ end function reciprocal_geom(sGeom::Geometry, rGeom::Geometry) @warn "reciprocal_geom only supports in core geometries, converting" return reciprocal_geom(Geometry(sGeom), Geometry(rGeom)) -end \ No newline at end of file +end diff --git a/src/TimeModeling/Types/judiVector.jl b/src/TimeModeling/Types/judiVector.jl index 35df9ce48..83fc9ce1b 100644 --- a/src/TimeModeling/Types/judiVector.jl +++ b/src/TimeModeling/Types/judiVector.jl @@ -204,11 +204,14 @@ function mergewith!(::PopZero, d1::OrderedDict{K, V}, d2::OrderedDict{K, V}) whe k1 = keys(d1) k2 = keys(d2) mergekeys = intersect(k1, k2) - isempty(mergekeys) && throw(ArgumentError(no_sim_msg)) - for k ∈ mergekeys + if isempty(mergekeys) + @show k1, k2 + throw(ArgumentError(no_sim_msg)) + end + for k in mergekeys d1[k] .+= d2[k] end - Base.filter!(p->p.first ∈ mergekeys, d1) + Base.filter!(p->p.first in mergekeys, d1) return d1 end @@ -334,17 +337,25 @@ end #################################################################################################### # Load OOC -function get_data(x::judiVector{T, SeisCon}) where T - shots = Array{Array{Float32, 2}, 1}(undef, x.nsrc) - rec_geometry = Geometry(x.geometry) +function get_data(x::judiVector{T, SeisCon}; rel_origin=(0, 0, 0), project=nothing) where T + shots = Vector{Matrix{Float32}}(undef, x.nsrc) + rec_geometry = Geometry(x.geometry; rel_origin=rel_origin, project=project) for j=1:x.nsrc - shots[j] = convert(Array{Float32, 2}, x.data[j][1].data) + shots[j] = convert(Matrix{Float32}, x.data[j][1].data) end return judiVector(rec_geometry, shots) end -get_data(x::judiVector{T, Array{Float32, 2}}) where T = x +function get_data(x::judiVector{T, Array{Float32, 2}}; rel_origin=(0, 0, 0), project=nothing) where T + if rel_origin == (0, 0, 0) && isnothing(project) + return x + end + # Shift and project geometry + geom = Geometry(x.geometry; rel_origin=rel_origin, project=project) + return judiVector(geom, x.data) +end + convert_to_array(x::judiVector) = vcat(vec.(x.data)...) From 5d853980624d7f321cb954df09bf1608ea9c5af9 Mon Sep 17 00:00:00 2001 From: mloubout Date: Wed, 3 Jan 2024 14:00:00 -0500 Subject: [PATCH 02/27] allow to shift OOC gemotry when read to avoid overflow and 2d projection for field data --- src/TimeModeling/Modeling/misfit_fg.jl | 8 +++++--- .../Modeling/time_modeling_serial.jl | 3 +++ src/TimeModeling/Types/GeometryStructure.jl | 19 +++++++++++++++---- src/TimeModeling/Types/judiVector.jl | 19 +++++++++++++++---- 4 files changed, 38 insertions(+), 11 deletions(-) diff --git a/src/TimeModeling/Modeling/misfit_fg.jl b/src/TimeModeling/Modeling/misfit_fg.jl index 0c1aa1e20..2da9c450f 100644 --- a/src/TimeModeling/Modeling/misfit_fg.jl +++ b/src/TimeModeling/Modeling/misfit_fg.jl @@ -4,7 +4,8 @@ export fwi_objective, lsrtm_objective, fwi_objective!, lsrtm_objective! function multi_src_fg(model_full::AbstractModel, source::judiVector, dObs::judiVector, dm, options::JUDIOptions, nlind::Bool, lin::Bool, misfit::Function) # Setup time-domain linear or nonlinear foward and adjoint modeling and interface to devito - + Gc.gc(true) + devito.clear_cache() # assert this is for single source LSRTM @assert source.nsrc == 1 "Multiple sources are used in a single-source fwi_objective" @assert dObs.nsrc == 1 "Multiple-source data is used in a single-source fwi_objective" @@ -51,7 +52,8 @@ function multi_src_fg(model_full::AbstractModel, source::judiVector, dObs::judiV src_coords, qIn, rec_coords, dObserved, t_sub=options.subsampling_factor, space_order=options.space_order, checkpointing=options.optimal_checkpointing, freq_list=freqs, ic=options.IC, is_residual=false, born_fwd=lin, nlind=nlind, - dft_sub=options.dft_subsampling_factor[1], f0=options.f0, return_obj=true, misfit=mfunc, illum=illum) + dft_sub=options.dft_subsampling_factor[1], f0=options.f0, return_obj=true, + misfit=mfunc, illum=illum) end @juditime "Filter empty output" begin @@ -59,7 +61,7 @@ function multi_src_fg(model_full::AbstractModel, source::judiVector, dObs::judiV end @juditime "Remove padding from gradient" begin - grad = PhysicalParameter(remove_padding(argout[2], modelPy.padsizes; true_adjoint=options.sum_padding), spacing(model), origin(model)) + grad = PhysicalParameter(remove_padding(argout[2], modelPy.padsizes; true_adjoint=options.sum_padding), spacing(model), origin(model)) end fval = Ref{Float32}(argout[1]) diff --git a/src/TimeModeling/Modeling/time_modeling_serial.jl b/src/TimeModeling/Modeling/time_modeling_serial.jl index 8c240a917..9544f5859 100644 --- a/src/TimeModeling/Modeling/time_modeling_serial.jl +++ b/src/TimeModeling/Modeling/time_modeling_serial.jl @@ -9,6 +9,9 @@ PhysOrNot = Union{PhysicalParameter, Array, Nothing} function time_modeling(model_full::AbstractModel, srcGeometry::GeomOrNot, srcData::ArrayOrNot, recGeometry::GeomOrNot, recData::ArrayOrNot, dm::PhysOrNot, op::Symbol, options::JUDIOptions, fw::Bool) + GC.gc(true) + devito.clear_cache() + # Load full geometry for out-of-core geometry containers recGeometry = Geometry(recGeometry) srcGeometry = Geometry(srcGeometry) diff --git a/src/TimeModeling/Types/GeometryStructure.jl b/src/TimeModeling/Types/GeometryStructure.jl index 4d52b96c3..f48ca4a39 100644 --- a/src/TimeModeling/Types/GeometryStructure.jl +++ b/src/TimeModeling/Types/GeometryStructure.jl @@ -207,12 +207,15 @@ function timings_from_segy(data, dt=nothing, t::T=nothing) where T nsrc = get_nsrc(data) dtCell = _get_p(dt, data, nsrc, "dt", Float32, 1f3) - try + if !isnothing(t) tCell = T <: Number ? fill(Float32(t), nsrc) : convert(Vector{Float32}, t) ntCell = floor.(Integer, tCell ./ dtCell) .+ 1 return dtCell, ntCell, tCell - catch e + else ntCell = _get_p(nothing, data, nsrc, "ns", Int, 1) + # In some cases the recording doesn't start at zero, need tp check for nsorig in the fileheader + ntFile = [data[i].fileheader.bfh.nsOrig for i=1:nsrc] + ntCell = max.(ntCell, ntFile) tCell = Float32.((ntCell .- 1) .* dtCell) return dtCell, ntCell, tCell end @@ -444,9 +447,17 @@ pushfield!(a, b) = nothing # Data may be any of: Array, Array of Array, SeisBlock, SeisCon check_geom(geom::Geometry, data::Array{T}) where T = all([check_geom(geom[s], data[s]) for s=1:get_nsrc(geom)]) check_geom(geom::Geometry, data::Array{T}) where {T<:Number} = _check_geom(geom.nt[1], size(data, 1)) && _check_geom(geom.nrec[1], size(data, 2)) -check_geom(geom::Geometry, data::SeisBlock) = _check_geom(geom.nt[1], data.fileheader.bfh.ns) -check_geom(geom::Geometry, data::SeisCon) = _check_geom(geom.nt[1], data.ns) +check_geom(geom::Geometry, data::SeisBlock) = _check_geom(geom.nt[1], (data.fileheader.bfh.ns, data.fileheader.bfh.nsOrig)) + +function check_geom(geom::Geometry, data::SeisCon) + for s = 1:get_nsrc(geom) + fh = read_fileheader(data.blocks[s].file) + _check_geom(geom.nt[s], (fh.bfh.ns, fh.bfh.nsOrig)) + end +end + _check_geom(nt::Integer, ns::Integer) = nt == ns || _geom_missmatch(nt, ns) +_check_geom(nt::Integer, ns::Tuple{Integer, Integer}) = nt == ns[1] || nt == ns[2] || _geom_missmatch(nt, ns[1]) check_time(dt::Number, t::Number, segy::Bool=false) = (t/dt == div(t, dt, RoundNearest)) || throw(GeometryException("Recording time t=$(t) not divisible by sampling rate dt=$(dt)")) check_time(::Nothing, ::Nothing, segy::Bool=false) = segy || throw(GeometryException("Recording time `t` and sampling rate `dt` must be provided")) diff --git a/src/TimeModeling/Types/judiVector.jl b/src/TimeModeling/Types/judiVector.jl index 83fc9ce1b..d6c66e692 100644 --- a/src/TimeModeling/Types/judiVector.jl +++ b/src/TimeModeling/Types/judiVector.jl @@ -146,7 +146,7 @@ end copyto!(jv::judiVector, jv2::judiVector) = copy!(jv, jv2) make_input(jv::judiVector{T, Matrix{T}}) where T = jv.data[1] make_input(jv::judiVector{T, Vector{T}}) where T = reshape(jv.data[1], :, 1) -make_input(jv::judiVector{T, SeisCon}) where T = convert(Matrix{T}, jv.data[1][1].data) +make_input(jv::judiVector{T, SeisCon}) where T = get_data(jv).data[1] check_compat(ms::Vararg{judiVector, N}) where N = all(y -> compareGeometry(y.geometry, first(ms).geometry), ms) @@ -341,9 +341,9 @@ function get_data(x::judiVector{T, SeisCon}; rel_origin=(0, 0, 0), project=nothi shots = Vector{Matrix{Float32}}(undef, x.nsrc) rec_geometry = Geometry(x.geometry; rel_origin=rel_origin, project=project) for j=1:x.nsrc - shots[j] = convert(Matrix{Float32}, x.data[j][1].data) + shots[j] = data_matrix(x, j) end - return judiVector(rec_geometry, shots) + return judiVector{T, Array{Float32, 2}}(x.nsrc, rec_geometry, shots) end @@ -353,11 +353,22 @@ function get_data(x::judiVector{T, Array{Float32, 2}}; rel_origin=(0, 0, 0), pro end # Shift and project geometry geom = Geometry(x.geometry; rel_origin=rel_origin, project=project) - return judiVector(geom, x.data) + return judiVector{T, Array{Float32, 2}}(x.nsrc, geom, x.data) end convert_to_array(x::judiVector) = vcat(vec.(x.data)...) +function data_matrix(x::judiVector{T, SeisCon}, i::Integer) where T + data = convert(Matrix{Float32}, x.data[i][1].data) + # Check if needs to extra padding or croping + if x.geometry.nt[i] > size(data, 1) + data = vcat(zeros(Float32, x.geometry.nt[i] - size(data, 1), size(data, 2)), data) + elseif x.geometry.nt[i] < size(data, 1) + data = data[1:x.geometry.nt[i], :] + end + return data +end + ##### Rebuild bad vector """ From 91f2f96ac481c9786db6084d04e4a878bfbee67e Mon Sep 17 00:00:00 2001 From: Mathias Louboutin Date: Thu, 25 Jan 2024 14:16:24 -0500 Subject: [PATCH 03/27] add data offset from segy --- docker/Dockerfile.base | 2 ++ src/TimeModeling/Modeling/propagation.jl | 1 - src/TimeModeling/Types/GeometryStructure.jl | 19 ++++++++++++------- src/pysource/fields_exprs.py | 3 +-- 4 files changed, 15 insertions(+), 10 deletions(-) diff --git a/docker/Dockerfile.base b/docker/Dockerfile.base index 9251d28b7..72d74db21 100644 --- a/docker/Dockerfile.base +++ b/docker/Dockerfile.base @@ -9,6 +9,7 @@ ENV DEBIAN_FRONTEND noninteractive # Install nvidia HPC sdk RUN apt-get update -y && \ + apt-get install -y -q python3 python3-dev python3-pip && \ apt-get install -y -q wget git apt-utils vim curl jq && \ apt-get install -y -q liblapack-dev libblas-dev libibverbs-dev && \ wget -q -P /app/ https://developer.download.nvidia.com/hpc-sdk/21.5/nvhpc-21-5_21.5_amd64.deb \ @@ -85,3 +86,4 @@ WORKDIR /app/judi/notebooks EXPOSE 8888 CMD /root/.local/bin/jupyter-notebook --ip="*" --no-browser --allow-root + diff --git a/src/TimeModeling/Modeling/propagation.jl b/src/TimeModeling/Modeling/propagation.jl index 4da0fdbb6..99087450a 100644 --- a/src/TimeModeling/Modeling/propagation.jl +++ b/src/TimeModeling/Modeling/propagation.jl @@ -85,7 +85,6 @@ function multi_src_propagate(F::judiPropagator{T, O}, q::AbstractArray{T}) where res = run_and_reduce(propagate, pool, nsrc, arg_func) res = update_illum(res, F) res = _project_to_physical_domain(res, F.model) - res = update_illum(res, F) res = as_vec(res, Val(F.options.return_array)) return res end diff --git a/src/TimeModeling/Types/GeometryStructure.jl b/src/TimeModeling/Types/GeometryStructure.jl index f48ca4a39..d4de928c5 100644 --- a/src/TimeModeling/Types/GeometryStructure.jl +++ b/src/TimeModeling/Types/GeometryStructure.jl @@ -214,13 +214,18 @@ function timings_from_segy(data, dt=nothing, t::T=nothing) where T else ntCell = _get_p(nothing, data, nsrc, "ns", Int, 1) # In some cases the recording doesn't start at zero, need tp check for nsorig in the fileheader - ntFile = [data[i].fileheader.bfh.nsOrig for i=1:nsrc] + ntFile = [segy_nsfile(data.blocks[i]) for i=1:nsrc] ntCell = max.(ntCell, ntFile) tCell = Float32.((ntCell .- 1) .* dtCell) return dtCell, ntCell, tCell end end + +segy_nsfile(b::SeisBlock) = b.fileheader.bfh.nsOrig +segy_nsfile(b::BlockScan) = read_fileheader(b.file).bfh.nsOrig + + # Set up source geometry object from in-core data container function Geometry(data::SegyIO.SeisBlock; key="source", segy_depth_key="", dt=nothing, t=nothing) check_time(dt, t, true) @@ -344,20 +349,20 @@ function Geometry(geometry::GeometryOOC; rel_origin=(0, 0, 0), project=nothing) header = read_con_headers(geometry.container[j], params, 1) if geometry.key=="source" xloc[j] = get_header(header, params[1])[1] .- ox + yloc[j] = get_header(header, params[2])[1] .- oy if project == "2d" - xloc[j] = sqrt.(xloc[j].^2 .+ (get_header(header, params[2])[1] .- oy).^2) + angle = atan.(yloc[j], xloc[j]) + xloc[j] = sqrt.(xloc[j].^2 .+ yloc[j].^2) .* cos.(angle) yloc[j] = 0 .* xloc[j] - else - yloc[j] = get_header(header, params[2])[1] .- oy end zloc[j] = abs.(get_header(header, params[3]))[1] .- oz else xloc[j] = get_header(header, params[1]) .- ox + yloc[j] = get_header(header, params[2]) .- oy if project == "2d" - xloc[j] .= sqrt.(xloc[j].^2 .+ (get_header(header, params[2]) .- oy).^2) + angle = atan.(yloc[j], xloc[j]) + xloc[j] .= sqrt.(xloc[j].^2 .+ yloc[j].^2) .* cos.(angle) yloc[j] = 0 .* xloc[j] - else - yloc[j] = get_header(header, params[2]) .- oy end zloc[j] = abs.(get_header(header, params[3])) .- oz end diff --git a/src/pysource/fields_exprs.py b/src/pysource/fields_exprs.py index a26fe2158..fd2e7ab61 100644 --- a/src/pysource/fields_exprs.py +++ b/src/pysource/fields_exprs.py @@ -1,7 +1,6 @@ import numpy as np -from sympy import cos, sin, sign -from devito import Inc, Eq, ConditionalDimension +from devito import Inc, Eq, ConditionalDimension, cos, sin, sign from devito.tools import as_tuple from devito.symbolics import retrieve_functions, INT From 8c00a5b45ae7ebc11776be886bbf842ad987d237 Mon Sep 17 00:00:00 2001 From: Mathias Louboutin Date: Mon, 29 Jan 2024 10:23:14 -0500 Subject: [PATCH 04/27] tweak 2d projection to avoid pre-compute conversion --- src/TimeModeling/Modeling/misfit_fg.jl | 2 +- .../Preconditioners/DataPreconditioners.jl | 59 ++++++++++++++++++- src/TimeModeling/Types/GeometryStructure.jl | 28 +++++---- src/TimeModeling/Types/judiVector.jl | 6 +- 4 files changed, 79 insertions(+), 16 deletions(-) diff --git a/src/TimeModeling/Modeling/misfit_fg.jl b/src/TimeModeling/Modeling/misfit_fg.jl index 2da9c450f..472c113fc 100644 --- a/src/TimeModeling/Modeling/misfit_fg.jl +++ b/src/TimeModeling/Modeling/misfit_fg.jl @@ -4,7 +4,7 @@ export fwi_objective, lsrtm_objective, fwi_objective!, lsrtm_objective! function multi_src_fg(model_full::AbstractModel, source::judiVector, dObs::judiVector, dm, options::JUDIOptions, nlind::Bool, lin::Bool, misfit::Function) # Setup time-domain linear or nonlinear foward and adjoint modeling and interface to devito - Gc.gc(true) + GC.gc(true) devito.clear_cache() # assert this is for single source LSRTM @assert source.nsrc == 1 "Multiple sources are used in a single-source fwi_objective" diff --git a/src/TimeModeling/Preconditioners/DataPreconditioners.jl b/src/TimeModeling/Preconditioners/DataPreconditioners.jl index fe5d5dd13..54a3d0702 100644 --- a/src/TimeModeling/Preconditioners/DataPreconditioners.jl +++ b/src/TimeModeling/Preconditioners/DataPreconditioners.jl @@ -1,5 +1,5 @@ export DataMute, FrequencyFilter, judiTimeDerivative, judiTimeIntegration, TimeDifferential -export judiFilter, filter_data, judiDataMute, muteshot +export judiFilter, filter_data, judiDataMute, muteshot, judiTimeGain ############################################ Data mute ############################################### """ @@ -283,3 +283,60 @@ function matvec(D::TimeDifferential{T, K}, x::Array{T}) where {T, K} out = real.(ifft(ω .* fft(xr, 1), 1)) return reshape(out, size(x)) end + + + +""" + struct TimeGain + recGeom + +Apply gain `t^K` to the data along the time axis for each trace. This is used in practice to correct for +3D amplitude decay when running 2D inversion + +Constructor +============ + + judiTimeGain(recGeom, pow) + judiTimeGain(judiVector, pow) +""" +struct TimeGain{T, K} <: DataPreconditioner{T, T} + m::Integer + recGeom::Geometry + TimeGain{T, K}(recGeom::Geometry) where {T, K} = new{T, K}(n_samples(recGeom), recGeom) +end + +TimeGain(g::Geometry{T}, pow::Number) where T = TimeGain{T, pow}(g) + +judiTimeGain(v::judiVector{T, AT}, pow::Number) where {T, AT} = TimeGain(v.geometry, pow) +judiTimeGain(g::Geometry{T}, pow::Number) where {T} = TimeGain(g, pow) + +# Real diagonal operator +conj(D::TimeGain{T, K}) where {T, K} = D +adjoint(D::TimeGain{T, K}) where {T, K} = D +transpose(D::TimeGain{T, K}) where {T, K} = D +inv(D::TimeGain{T, K}) where {T, K} = TimeGain{T, -K}(D.recGeom) + +# diagonal in fourier domain so self-adjoint +matvec_T(D::TimeGain{T, K}, x) where {T, K} = matvec(D, x) + +# getindex for source subsampling +getindex(P::TimeGain{T, K}, i) where {T, K} = TimeGain{T, K}(P.recGeom[i]) + +function matvec(D::TimeGain{T, K}, x::judiVector{T, AT}) where {T, AT, K} + out = similar(x) + for s=1:out.nsrc + # make time^K + timek = (0:D.recGeom.dt[s]:D.recGeom.t[s]).^K + out.data[s] .= timek .* x.data[s] + end + return out +end + +function matvec(D::TimeGain{T, K}, x::Array{T}) where {T, K} + xr = reshape(x, D.recGeom) + # make time^K + timek = (0:D.recGeom.dt[s]:D.recGeom.t[s]).^K + out.data[s] .= timek .* x.data[s] + out = timek .* xr + return reshape(out, size(x)) +end diff --git a/src/TimeModeling/Types/GeometryStructure.jl b/src/TimeModeling/Types/GeometryStructure.jl index d4de928c5..9bb3eb238 100644 --- a/src/TimeModeling/Types/GeometryStructure.jl +++ b/src/TimeModeling/Types/GeometryStructure.jl @@ -348,21 +348,25 @@ function Geometry(geometry::GeometryOOC; rel_origin=(0, 0, 0), project=nothing) for j=1:nsrc header = read_con_headers(geometry.container[j], params, 1) if geometry.key=="source" - xloc[j] = get_header(header, params[1])[1] .- ox - yloc[j] = get_header(header, params[2])[1] .- oy if project == "2d" - angle = atan.(yloc[j], xloc[j]) - xloc[j] = sqrt.(xloc[j].^2 .+ yloc[j].^2) .* cos.(angle) - yloc[j] = 0 .* xloc[j] + xtmp = get_header(header, params[1])[1] .- ox + ytmp = get_header(header, params[2])[1] .- oy + xloc[j] = sqrt.(xtmp.^2 .+ ytmp.^2) .* sign.(xtmp) + yloc[j] = 0 .* xtmp + else + xloc[j] = get_header(header, params[1])[1] .- ox + yloc[j] = get_header(header, params[2])[1] .- oy end zloc[j] = abs.(get_header(header, params[3]))[1] .- oz else - xloc[j] = get_header(header, params[1]) .- ox - yloc[j] = get_header(header, params[2]) .- oy if project == "2d" - angle = atan.(yloc[j], xloc[j]) - xloc[j] .= sqrt.(xloc[j].^2 .+ yloc[j].^2) .* cos.(angle) - yloc[j] = 0 .* xloc[j] + xtmp = get_header(header, params[1]) .- ox + ytmp = get_header(header, params[2]) .- oy + xloc[j] = sqrt.(xtmp.^2 .+ ytmp.^2) .* sign.(xtmp) + yloc[j] = 0 .* xtmp + else + xloc[j] = get_header(header, params[1]) .- ox + yloc[j] = get_header(header, params[2]) .- oy end zloc[j] = abs.(get_header(header, params[3])) .- oz end @@ -457,7 +461,8 @@ check_geom(geom::Geometry, data::SeisBlock) = _check_geom(geom.nt[1], (data.file function check_geom(geom::Geometry, data::SeisCon) for s = 1:get_nsrc(geom) fh = read_fileheader(data.blocks[s].file) - _check_geom(geom.nt[s], (fh.bfh.ns, fh.bfh.nsOrig)) + geom.nt[s] <= fh.bfh.ns || _geom_missmatch(nt, ns) + geom.nt[s] <= fh.bfh.nsOrig || _geom_missmatch(nt, ns) end end @@ -466,6 +471,7 @@ _check_geom(nt::Integer, ns::Tuple{Integer, Integer}) = nt == ns[1] || nt == ns[ check_time(dt::Number, t::Number, segy::Bool=false) = (t/dt == div(t, dt, RoundNearest)) || throw(GeometryException("Recording time t=$(t) not divisible by sampling rate dt=$(dt)")) check_time(::Nothing, ::Nothing, segy::Bool=false) = segy || throw(GeometryException("Recording time `t` and sampling rate `dt` must be provided")) +check_time(::Nothing, ::Number, segy::Bool=false) = segy || throw(GeometryException("Recording time `t` and sampling rate `dt` must be provided")) check_time(dt::AbstractVector, t::AbstractVector, segy::Bool=false) = check_time.(dt, t) _geom_missmatch(nt::Integer, ns::Integer) = throw(judiMultiSourceException("Geometry's number of samples doesn't match the data: $(nt), $(ns)")) diff --git a/src/TimeModeling/Types/judiVector.jl b/src/TimeModeling/Types/judiVector.jl index d6c66e692..56ff29d31 100644 --- a/src/TimeModeling/Types/judiVector.jl +++ b/src/TimeModeling/Types/judiVector.jl @@ -122,9 +122,9 @@ function judiVector(geometry::Geometry, data::SegyIO.SeisCon) return judiVector{Float32, SegyIO.SeisCon}(nsrc, geometry,dataCell) end -judiVector(data::SegyIO.SeisBlock; segy_depth_key="RecGroupElevation") = judiVector(Geometry(data; key="receiver", segy_depth_key=segy_depth_key), data) -judiVector(data::SegyIO.SeisCon; segy_depth_key="RecGroupElevation")= judiVector(Geometry(data; key="receiver", segy_depth_key=segy_depth_key), data) -judiVector(data::Vector{SegyIO.SeisCon}; segy_depth_key="RecGroupElevation") = judiVector(Geometry(data; key="receiver", segy_depth_key=segy_depth_key), data) +judiVector(data::SegyIO.SeisBlock; segy_depth_key="RecGroupElevation", t=nothing) = judiVector(Geometry(data; key="receiver", segy_depth_key=segy_depth_key, t=t), data) +judiVector(data::SegyIO.SeisCon; segy_depth_key="RecGroupElevation", t=nothing)= judiVector(Geometry(data; key="receiver", segy_depth_key=segy_depth_key, t=t), data) +judiVector(data::Vector{SegyIO.SeisCon}; segy_depth_key="RecGroupElevation", t=nothing) = judiVector(Geometry(data; key="receiver", segy_depth_key=segy_depth_key, t=t), data) judiVector(geometry::Geometry, data::Vector{SegyIO.SeisCon}) = judiVector{Float32, SegyIO.SeisCon}(length(data), geometry, data) ############################################################ From 082fecd1c15fb30a02cd01cf110b72854fa65860 Mon Sep 17 00:00:00 2001 From: mloubout Date: Wed, 31 Jan 2024 11:46:01 -0500 Subject: [PATCH 05/27] cleanup geometry and setup t0 for non-zero simulation start time --- .../Modeling/time_modeling_serial.jl | 26 +- .../Preconditioners/DataPreconditioners.jl | 17 +- src/TimeModeling/Types/GeometryStructure.jl | 231 ++++++++++-------- src/TimeModeling/Types/judiVector.jl | 37 +-- src/TimeModeling/Utils/auxiliaryFunctions.jl | 62 +++-- src/compat.jl | 2 - src/pysource/fields_exprs.py | 25 +- src/pysource/kernels.py | 10 +- 8 files changed, 224 insertions(+), 186 deletions(-) diff --git a/src/TimeModeling/Modeling/time_modeling_serial.jl b/src/TimeModeling/Modeling/time_modeling_serial.jl index 9544f5859..ca67302ca 100644 --- a/src/TimeModeling/Modeling/time_modeling_serial.jl +++ b/src/TimeModeling/Modeling/time_modeling_serial.jl @@ -47,20 +47,19 @@ function time_modeling(model_full::AbstractModel, srcGeometry::GeomOrNot, srcDat @juditime "Filter empty output" begin argout = filter_none(argout) end - argout = post_process(argout, modelPy, Val(op), recGeometry, options) + argout = post_process(argout, modelPy, Val(op), recGeometry, srcGeometry, options) argout = save_to_disk(argout, srcGeometry, srcData, options, Val(fw), Val(options.save_data_to_disk)) return argout end -# Post processing of output of devito based on parameters -post_process(t::Tuple, modelPy::PyObject, op::Val, G, o::JUDIOptions) = (post_process(t[1], modelPy, op, G, o), post_process(Base.tail(t), modelPy, Val(:adjoint_born), G, Options(;sum_padding=false))...) -post_process(t::Tuple{}, ::PyObject, ::Val, ::Any, ::JUDIOptions) = t +# Backward compat for external packages +post_process(t::Tuple, modelPy::PyObject, op::Val, Gr, o::JUDIOptions) = post_process(t, modelPy, op, Gr, nothing, o) -post_process(v::AbstractArray{T}, modelPy::PyObject, ::Val{:forward}, G::Geometry{T}, options::JUDIOptions) where {T<:Number} = judiVector{T, Matrix{T}}(1, G, [time_resample(v, calculate_dt(modelPy), G)]) -post_process(v::AbstractArray{T}, modelPy::PyObject, ::Val{:forward}, ::Any, options::JUDIOptions) where {T<:Number} = judiWavefield{T}(1, [calculate_dt(modelPy)], [v]) -post_process(v::AbstractArray{T}, modelPy::PyObject, ::Val{:adjoint}, G::Geometry{T}, options::JUDIOptions) where {T<:Number} = judiVector{T, Matrix{T}}(1, G, [time_resample(v, calculate_dt(modelPy), G)]) +# Post processing of output of devito based on parameters +post_process(t::Tuple, modelPy::PyObject, op::Val, Gr, Gs, o::JUDIOptions) = (post_process(t[1], modelPy, op, Gr, Gs, o), post_process(Base.tail(t), modelPy, Val(:adjoint_born), Gr, Gs, Options(;sum_padding=false))...) +post_process(t::Tuple{}, ::PyObject, ::Val, ::Any, ::Any, ::JUDIOptions) = t -function post_process(v::AbstractArray{T, N}, modelPy::PyObject, ::Val{:adjoint}, ::Any, options::JUDIOptions) where {T, N} +function post_process(v::AbstractArray{T, N}, modelPy::PyObject, ::Val{:adjoint}, ::Any, ::Any, options::JUDIOptions) where {T, N} if N == modelPy.dim return judiWeights{T}(1, [remove_padding(v, modelPy.padsizes; true_adjoint=false)]) else @@ -68,12 +67,19 @@ function post_process(v::AbstractArray{T, N}, modelPy::PyObject, ::Val{:adjoint} end end -function post_process(v::AbstractArray{T}, modelPy::PyObject, ::Val{:adjoint_born}, G::Geometry{T}, options::JUDIOptions) where {T<:Number} +post_process(v::AbstractArray{T}, modelPy::PyObject, ::Val{:forward}, ::Any, ::Any, options::JUDIOptions) where {T<:Number} = judiWavefield{T}(1, [calculate_dt(modelPy)], [v]) + +function post_process(v::AbstractArray{T}, modelPy::PyObject, ::Val{:adjoint_born}, Gr::Geometry{T}, ::Any, options::JUDIOptions) where {T<:Number} grad = remove_padding(v, modelPy.padsizes; true_adjoint=options.sum_padding) return PhysicalParameter(grad, modelPy.spacing, modelPy.origin) end -post_process(v::AbstractArray{T}, modelPy::PyObject, ::Val{:born}, G::Geometry{T}, options::JUDIOptions) where {T<:Number} = judiVector{T, Matrix{T}}(1, G, [time_resample(v, calculate_dt(modelPy), G)]) +post_process(v::AbstractArray{T}, modelPy::PyObject, ::Val{:forward}, G::Geometry{T}, Gs, options::JUDIOptions) where {T<:Number} = post_process_src(v, calculate_dt(modelPy), G, Gs) +post_process(v::AbstractArray{T}, modelPy::PyObject, ::Val{:adjoint}, G::Geometry{T}, Gs, options::JUDIOptions) where {T<:Number} = post_process_src(v, calculate_dt(modelPy), G, Gs) +post_process(v::AbstractArray{T}, modelPy::PyObject, ::Val{:born}, G::Geometry{T}, Gs, options::JUDIOptions) where {T<:Number} = post_process_src(v, calculate_dt(modelPy), G, Gs) + +post_process_src(v::AbstractArray{T}, dt::T, Gr::Geometry, Gs::Geometry) where {T<:Number} = judiVector{T, Matrix{T}}(1, Gr, [time_resample(v, dt, Gs, Gr)]) +post_process_src(v::AbstractArray{T}, dt::T, Gr::Geometry, ::Any) where {T<:Number} = judiVector{T, Matrix{T}}(1, Gr, [time_resample(v, dt, Gr)]) # Saving to disk utilities save_to_disk(shot, args...) = shot diff --git a/src/TimeModeling/Preconditioners/DataPreconditioners.jl b/src/TimeModeling/Preconditioners/DataPreconditioners.jl index 54a3d0702..a887ccef6 100644 --- a/src/TimeModeling/Preconditioners/DataPreconditioners.jl +++ b/src/TimeModeling/Preconditioners/DataPreconditioners.jl @@ -94,7 +94,7 @@ function muteshot!(shot::AbstractMatrix{T}, rGeom::Geometry, srcGeom::Geometry; # Loop over traces @inbounds for t=1:nrec r = radius(rGeom, sGeom, t) - tt = 1f3 * (r / vp + t0) / rGeom.dt[1] + tt = 1f3 * (r / vp + t0) / dt(rGeom, 1) i = min(max(1, floor(Int, tt)), nt) if _tapew(i, taperwidth, nt, Val(mode)) _mutew!(view(shot, :, t), taper, i, nt, Val(mode)) @@ -148,7 +148,7 @@ function matvec(D::FrequencyFilter{T, fm, FM}, x::Vector{T}) where {T, fm, FM} dr = reshape(x, D.recGeom) for j=1:get_nsrc(D.recGeom) dri = view(dr, :, :, j) - filter!(dri, dri, D.recGeom[j].dt[1]; fmin=fm, fmax=FM) + filter!(dri, dri, dt(D.recGeom, j); fmin=fm, fmax=FM) end return reshape(vcat(dr...), size(x)) end @@ -156,7 +156,7 @@ end function matvec(::FrequencyFilter{T, fm, FM}, Din::judiVector{T, AT}) where {T, fm, FM, AT} Dout = deepcopy(Din) for j=1:Dout.nsrc - filter!(Dout.data[j], Din.data[j], Din.geometry[j].dt[1]; fmin=fm, fmax=FM) + filter!(Dout.data[j], Din.data[j], dt(Din.geometry, j); fmin=fm, fmax=FM) end return Dout end @@ -183,6 +183,7 @@ function tracefilt!(x, y, ypad, filter) nothing end + function filter!(dout::AbstractArray{T, N}, din::AbstractArray{T, N}, dt::T; fmin=T(0.01), fmax=T(100)) where {T, N} if fmin == 0 responsetype = Lowpass(fmax; fs=1e3/dt) @@ -266,7 +267,7 @@ function matvec(D::TimeDifferential{T, K}, x::judiVector{T, AT}) where {T, AT, K out = similar(x) for s=1:out.nsrc # make omega^K - ω = 2 .* pi .* fftfreq(D.recGeom.nt[s], 1/D.recGeom.dt[s]) + ω = 2 .* pi .* fftfreq(nt(D.recGeom, s), 1/dt(D.recGeom, s)) ω[ω.==0] .= 1f0 ω .= abs.(ω).^K out.data[s] .= real.(ifft(ω .* fft(x.data[s], 1), 1)) @@ -277,7 +278,7 @@ end function matvec(D::TimeDifferential{T, K}, x::Array{T}) where {T, K} xr = reshape(x, D.recGeom) # make omega^K - ω = 2 .* pi .* fftfreq(D.recGeom.nt[1], 1/D.recGeom.dt[1]) + ω = 2 .* pi .* fftfreq(nt(D.recGeom, 1), 1/dt(D.recGeom, 1)) ω[ω.==0] .= 1f0 ω .= abs.(ω).^K out = real.(ifft(ω .* fft(xr, 1), 1)) @@ -320,13 +321,13 @@ inv(D::TimeGain{T, K}) where {T, K} = TimeGain{T, -K}(D.recGeom) matvec_T(D::TimeGain{T, K}, x) where {T, K} = matvec(D, x) # getindex for source subsampling -getindex(P::TimeGain{T, K}, i) where {T, K} = TimeGain{T, K}(P.recGeom[i]) +getindex(D::TimeGain{T, K}, i) where {T, K} = TimeGain{T, K}(D.recGeom[i]) function matvec(D::TimeGain{T, K}, x::judiVector{T, AT}) where {T, AT, K} out = similar(x) for s=1:out.nsrc # make time^K - timek = (0:D.recGeom.dt[s]:D.recGeom.t[s]).^K + timek = (D.recGeom.taxis[s]).^K out.data[s] .= timek .* x.data[s] end return out @@ -335,7 +336,7 @@ end function matvec(D::TimeGain{T, K}, x::Array{T}) where {T, K} xr = reshape(x, D.recGeom) # make time^K - timek = (0:D.recGeom.dt[s]:D.recGeom.t[s]).^K + timek = (D.recGeom.taxis[1]).^K out.data[s] .= timek .* x.data[s] out = timek .* xr return reshape(out, size(x)) diff --git a/src/TimeModeling/Types/GeometryStructure.jl b/src/TimeModeling/Types/GeometryStructure.jl index 9bb3eb238..d17523903 100644 --- a/src/TimeModeling/Types/GeometryStructure.jl +++ b/src/TimeModeling/Types/GeometryStructure.jl @@ -12,7 +12,6 @@ mutable struct GeometryException <: Exception msg :: String end - const CoordT{T} = Union{Vector{T}, Vector{Vector{T}}} where T<:Number (::Type{CoordT{T}})(x::Vector{Any}) where {T<:Real} = rebuild_maybe_jld(x) Base.convert(::Type{CoordT}, a::Vector{Any}) = Vector{typeof(a[1])}(a) @@ -22,28 +21,50 @@ mutable struct GeometryIC{T} <: Geometry{T} xloc::CoordT{T} # Array of receiver positions (fixed for all experiments) yloc::CoordT{T} zloc::CoordT{T} - dt::Vector{T} - nt::Vector{Integer} - t::Vector{T} + taxis::Vector{<:StepRangeLen{T}} + # Legacy + function GeometryIC{T}(xloc::CoordT{T}, yloc::CoordT{T}, zloc::CoordT{T}, dt::Vector{T}, nt::Vector{Integer}, ::Vector{T}) where T + tranges = [StepRangeLen(T(0), T(dti), T(nti)) for (dti, nti) in zip(dt, nt)] + new(xloc, yloc, zloc, tranges) + end + # Default constructor + GeometryIC{T}(xloc::CoordT{T}, yloc::CoordT{T}, zloc::CoordT{T}, t::Vector{<:StepRangeLen{T}}) where T = new{T}(xloc, yloc, zloc, t) end -getproperty(G::GeometryIC, s::Symbol) = s == :nrec ? length.(G.xloc) : getfield(G, s) + +function getproperty(G::Geometry, s::Symbol) + # Nrec for in core + if s == :nrec && isa(G, GeometryIC) + return length.(G.xloc) + end + # Legacy dt/nt/t + if s in [:dt, :t, :nt] + depwarn("Deprecated geometry.$s use $s(geometry) instead", s, force=true) + return eval(s)(G) + end + + return getfield(G, s) +end # Out-of-core geometry structure, contains look-up table instead of coordinates mutable struct GeometryOOC{T} <: Geometry{T} container::Vector{SegyIO.SeisCon} - dt::Vector{T} - nt::Vector{<:Integer} - t::Vector{T} + taxis::Vector{<:StepRangeLen{T}} nrec::Vector{<:Integer} key::String segy_depth_key::String + # Legacy + function GeometryOOC{T}(container::Vector{SegyIO.SeisCon}, dt::Vector{T}, nt::Vector{<:Integer}, ::Vector{T}, nrec::Vector{<:Integer}, key::String, segy_depth_key::String) where T + tranges = [StepRangeLen(T(0), T(dti), T(nti)) for (dti, nti) in zip(dt, nt)] + return new{T}(container, tranges, nrec, key, segy_depth_key) + end + # Default constructor + GeometryOOC{T}(container::Vector{SegyIO.SeisCon}, t::Vector{<:StepRangeLen{T}}, nrec::Vector{<:Integer}, key::String, segy_depth_key::String) where T = new{T}(container, t, nrec, key, segy_depth_key) end - -display(G::Geometry) = println("$(typeof(G)) wiht $(length(G.nt)) sources") -show(io::IO, G::Geometry) = print(io, "$(typeof(G)) wiht $(length(G.nt)) sources") -show(io::IO, ::MIME{Symbol("text/plain")}, G::Geometry) = println(io, "$(typeof(G)) wiht $(length(G.nt)) sources") +display(G::Geometry) = println("$(typeof(G)) wiht $(get_nsrc(G)) sources") +show(io::IO, G::Geometry) = print(io, "$(typeof(G)) wiht $(get_nsrc(G)) sources") +show(io::IO, ::MIME{Symbol("text/plain")}, G::Geometry) = println(io, "$(typeof(G)) wiht $(get_nsrc(G)) sources") ######################## shapes easy access ################################ get_nsrc(g::GeometryIC) = length(g.xloc) @@ -52,11 +73,18 @@ get_nsrc(S::SeisCon) = length(S) get_nsrc(S::Vector{SeisCon}) = length(S) get_nsrc(S::SeisBlock) = length(unique(get_header(S, "FieldRecord"))) -n_samples(g::GeometryOOC, nsrc::Integer) = sum([g.nrec[j]*g.nt[j] for j=1:nsrc]) -n_samples(g::GeometryIC, nsrc::Integer) = sum([length(g.xloc[j])*g.nt[j] for j=1:nsrc]) +n_samples(g::GeometryOOC, nsrc::Integer) = sum([g.nrec[j]*nt(g, j) for j=1:nsrc]) +n_samples(g::GeometryIC, nsrc::Integer) = sum([length(g.xloc[j])*nt(g, j) for j=1:nsrc]) n_samples(g::Geometry) = n_samples(g, get_nsrc(g)) -rec_space(G::Geometry) = AbstractSize((:src, :time, :rec), (get_nsrc(G), G.nt, G.nrec)) +nt(g::Geometry) = length.(g.taxis) +nt(g::Geometry, srcnum::Integer) = length(g.taxis[srcnum]) +dt(g::Geometry) = step.(g.taxis) +dt(g::Geometry, srcnum::Integer) = step(g.taxis[srcnum]) +t(g::Geometry) = last.(g.taxis) +t(g::Geometry, srcnum::Integer) = last(g.taxis[srcnum]) + +rec_space(G::Geometry) = AbstractSize((:src, :time, :rec), (get_nsrc(G), nt(G), G.nrec)) ################################################ Constructors #################################################################### """ @@ -64,22 +92,18 @@ rec_space(G::Geometry) = AbstractSize((:src, :time, :rec), (get_nsrc(G), G.nt, G xloc::Array{Array{T, 1},1} yloc::Array{Array{T, 1},1} zloc::Array{Array{T, 1},1} - dt::Array{T,1} - nt::Array{Integer,1} - t::Array{T,1} + t::Vector{StepRangeLen{T}} Geometry structure for seismic sources or receivers. Each field is a cell array, where individual cell entries contain values or arrays with coordinates and sampling information for the corresponding shot position. The first three entries are in meters and the last three entries in milliseconds. -GeometryOOC{T} <: Geometry{T} - container::Array{SegyIO.SeisCon,1} - dt::Array{T,1} - nt::Array{Integer,1} - t::Array{T,1} - nrec::Array{Integer,1} - key::String - segy_depth_key::String + GeometryOOC{T} <: Geometry{T} + container::Array{SegyIO.SeisCon,1} + t::Vector{StepRangeLen{T}} + nrec::Array{Integer,1} + key::String + segy_depth_key::String Constructors ============ @@ -143,7 +167,7 @@ geometry object `GeometryOOC` without the source/receiver coordinates, but a loo src_geometry = Geometry(seis_container; key="source", segy_depth_key="SourceDepth") """ -function Geometry(xloc, yloc, zloc; dt=nothing, t=nothing, nsrc=nothing) +function Geometry(xloc, yloc, zloc; dt=nothing, t=nothing, nsrc=nothing, t0=0) check_time(dt, t) if any(typeof(x) <: AbstractRange for x=[xloc, yloc, zloc]) args = [typeof(x) <: AbstractRange ? collect(x) : x for x=[xloc, yloc, zloc]] @@ -151,7 +175,7 @@ function Geometry(xloc, yloc, zloc; dt=nothing, t=nothing, nsrc=nothing) return Geometry(args...; dt=dt, t=t, nsrc=nsrc) end isnothing(nsrc) && (return Geometry(tof32(xloc), tof32(yloc), tof32(zloc); dt=dt, t=t)) - return Geometry(tof32(xloc), tof32(yloc), tof32(zloc); dt=dt, t=t, nsrc=nsrc) + return Geometry(tof32(xloc), tof32(yloc), tof32(zloc); dt=dt, t=t, nsrc=nsrc, t0=t0) end Geometry(xloc::CoordT, yloc::CoordT, zloc::CoordT, dt::Array{T,1}, nt::Array{Integer,1}, t::Array{T,1}) where {T<:Real} = GeometryIC{T}(xloc,yloc,zloc,dt,nt,t) @@ -159,32 +183,28 @@ Geometry(xloc::CoordT, yloc::CoordT, zloc::CoordT, dt::Array{T,1}, nt::Array{Int # For easy 2D setup Geometry(xloc, zloc; kw...) = Geometry(xloc, 0 .* xloc, zloc; kw...) -# Fallback constructors for non standard input types - # Constructor if nt is not passed -function Geometry(xloc::Array{Array{T, 1},1}, yloc::CoordT, zloc::Array{Array{T, 1},1}; dt=nothing, t=nothing) where {T<:Real} +function Geometry(xloc::Array{Array{T, 1},1}, yloc::CoordT, zloc::Array{Array{T, 1},1}; dt=nothing, t=nothing, t0=0) where {T<:Real} check_time(dt, t) nsrc = length(xloc) - # Check if single dt was passed - dtCell = isa(dt, Real) ? [T(dt) for j=1:nsrc] : T.(dt) - # Check if single t was passed - tCell = isa(t, Real) ? [T(t) for j=1:nsrc] : T.(t) - - # Calculate number of time steps - ntCell = floor.(Int, tCell ./ dtCell) .+ 1 - return GeometryIC{T}(xloc, yloc, zloc, dtCell, ntCell, tCell) + dt = as_src_list(dt, nsrc) + t = as_src_list(t, nsrc) + t0 = as_src_list(t0, nsrc) + tranges = [StepRangeLen(T(t0i), T(dti), floor.(Int, ti / dti) .+ 1) for (t0, dti, ti) in zip(t0, dt, t)] + return GeometryIC{T}(xloc, yloc, zloc, tranges) end # Constructor if coordinates are not passed as a cell arrays -function Geometry(xloc::Array{T, 1}, yloc::CoordT, zloc::Array{T, 1}; dt=nothing, t=nothing, nsrc::Integer=1) where {T<:Real} +function Geometry(xloc::Array{T, 1}, yloc::CoordT, zloc::Array{T, 1}; dt=nothing, t=nothing, nsrc::Integer=1, t0=0) where {T<:Real} check_time(dt, t) xlocCell = [xloc for j=1:nsrc] ylocCell = [yloc for j=1:nsrc] zlocCell = [zloc for j=1:nsrc] - dtCell = [T(dt) for j=1:nsrc] - tCell = [T(t) for j=1:nsrc] - ntCell = floor.(Int, tCell ./ dtCell) .+ 1 - return GeometryIC{T}(xlocCell, ylocCell, zlocCell, dtCell, ntCell, tCell) + dt = as_src_list(dt, nsrc) + t = as_src_list(t, nsrc) + t0 = as_src_list(t0, nsrc) + tranges = [StepRangeLen(T(t0i), T(dti), floor.(Int, ti / dti) .+ 1) for (t0, dti, ti) in zip(t0, dt, t)] + return GeometryIC{T}(xlocCell, ylocCell, zlocCell, tranges) end ################################################ Constructors from SEGY data #################################################### @@ -199,35 +219,35 @@ _get_p(::Nothing, S::Vector{SeisCon}, nsrc::Integer, p, ::Type{T}, s::T) where T _get_p(v::Real, data, nsrc::Integer, p, ::Type{T}, s::T) where T = fill(T(v), nsrc) _get_p(v::Vector, data, nsrc::Integer, p, ::Type{T}, s::T) where T = convert(Vector{T}, v) - _get_p_SeisCon(S::SeisCon, p::String, b::Integer) = try S.blocks[b].summary[p][1] catch; getfield(S, Symbol(p)); end -function timings_from_segy(data, dt=nothing, t::T=nothing) where T +function timings_from_segy(data, dt=nothing, t=nothing, t0=nothing) # Get nsrc nsrc = get_nsrc(data) dtCell = _get_p(dt, data, nsrc, "dt", Float32, 1f3) - - if !isnothing(t) - tCell = T <: Number ? fill(Float32(t), nsrc) : convert(Vector{Float32}, t) - ntCell = floor.(Integer, tCell ./ dtCell) .+ 1 - return dtCell, ntCell, tCell + if isnothing(t0) + t0 = [segy_t0(data, i) for i=1:nsrc] else + t0 = as_src_list(t0, nsrc) + end + + if isnothing(t) ntCell = _get_p(nothing, data, nsrc, "ns", Int, 1) - # In some cases the recording doesn't start at zero, need tp check for nsorig in the fileheader - ntFile = [segy_nsfile(data.blocks[i]) for i=1:nsrc] - ntCell = max.(ntCell, ntFile) tCell = Float32.((ntCell .- 1) .* dtCell) - return dtCell, ntCell, tCell + else + tCell = as_src_list(t, nsrc) end + return [range(t0[j], step=dtCell[j], stop=tCell[j]) for j=1:nsrc] end - -segy_nsfile(b::SeisBlock) = b.fileheader.bfh.nsOrig -segy_nsfile(b::BlockScan) = read_fileheader(b.file).bfh.nsOrig - +segy_t0(b::SeisBlock, i) = segy_t0(b) +segy_t0(b::SeisCon, i) = segy_t0(b.blocks[i]) +segy_t0(b::SeisBlock) = segy_t0(b.fileheader.bfh) +segy_t0(b::BlockScan) = segy_t0(read_fileheader(b.file).bfh) +segy_t0(b::BinaryFileHeader) = (b.nsOrig - b.ns) * (b.dtOrig / 1000f0) # Set up source geometry object from in-core data container -function Geometry(data::SegyIO.SeisBlock; key="source", segy_depth_key="", dt=nothing, t=nothing) +function Geometry(data::SegyIO.SeisBlock; key="source", segy_depth_key="", dt=nothing, t=nothing, t0=nothing) check_time(dt, t, true) src = get_header(data,"FieldRecord") usrc = unique(src) @@ -270,12 +290,12 @@ function Geometry(data::SegyIO.SeisBlock; key="source", segy_depth_key="", dt=no zloc = convertToCell(zloc) end - dtCell, ntCell, tCell = timings_from_segy(data, dt, t) - return GeometryIC{Float32}(xloc,yloc,zloc,dtCell,ntCell,tCell) + tCell = timings_from_segy(data, dt, t, t0) + return GeometryIC{Float32}(xloc,yloc,zloc,tCell) end # Set up geometry summary from out-of-core data container -function Geometry(data::SegyIO.SeisCon; key="source", segy_depth_key="", dt=nothing, t=nothing) +function Geometry(data::SegyIO.SeisCon; key="source", segy_depth_key="", dt=nothing, t=nothing, t0=nothing) check_time(dt, t, true) if key=="source" @@ -295,12 +315,12 @@ function Geometry(data::SegyIO.SeisCon; key="source", segy_depth_key="", dt=noth nrec[j] = key=="source" ? 1 : Int((data.blocks[j].endbyte - data.blocks[j].startbyte)/(240 + data.ns*4)) end - dtCell,ntCell,tCell = timings_from_segy(data, dt, t) - return GeometryOOC{Float32}(container,dtCell,ntCell,tCell,nrec,key,segy_depth_key) + tCell = timings_from_segy(data, dt, t, t0) + return GeometryOOC{Float32}(container,tCell,nrec,key,segy_depth_key) end # Set up geometry summary from out-of-core data container passed as cell array -function Geometry(data::Array{SegyIO.SeisCon,1}; key="source", segy_depth_key="", dt=nothing, t=nothing) +function Geometry(data::Array{SegyIO.SeisCon,1}; key="source", segy_depth_key="", dt=nothing, t=nothing, t0=nothing) check_time(dt, t, true) if key=="source" @@ -319,8 +339,8 @@ function Geometry(data::Array{SegyIO.SeisCon,1}; key="source", segy_depth_key="" nrec[j] = key=="source" ? 1 : Int((data[j].blocks[1].endbyte - data[j].blocks[1].startbyte)/(240 + data[j].ns*4)) end - dtCell,ntCell,tCell = timings_from_segy(data, dt, t) - return GeometryOOC{Float32}(container,dtCell,ntCell,tCell,nrec,key,segy_depth_key) + tCell = timings_from_segy(data, dt, t, t0) + return GeometryOOC{Float32}(container,tCell,nrec,key,segy_depth_key) end # Load geometry from out-of-core Geometry container @@ -341,9 +361,6 @@ function Geometry(geometry::GeometryOOC; rel_origin=(0, 0, 0), project=nothing) xloc = Array{gt, 1}(undef, nsrc) yloc = Array{gt, 1}(undef, nsrc) zloc = Array{gt, 1}(undef, nsrc) - dt = Array{Float32}(undef, nsrc) - nt = Array{Integer}(undef, nsrc) - t = Array{Float32}(undef, nsrc) for j=1:nsrc header = read_con_headers(geometry.container[j], params, 1) @@ -370,19 +387,35 @@ function Geometry(geometry::GeometryOOC; rel_origin=(0, 0, 0), project=nothing) end zloc[j] = abs.(get_header(header, params[3])) .- oz end - dt[j] = geometry.dt[j] - nt[j] = geometry.nt[j] - t[j] = geometry.t[j] end if geometry.key == "source" xloc = convertToCell(xloc) yloc = convertToCell(yloc) zloc = convertToCell(zloc) end - return GeometryIC(xloc,yloc,zloc,dt,nt,t) + return GeometryIC{Float32}(xloc,yloc,zloc,geometry.taxis) +end + +function Geometry(geometry::GeometryIC; rel_origin=(0, 0, 0), project=nothing) + if isnothing(project) && origin == 0 + return geometry + end + + xloc = similar(geometry.xloc) + yloc = similar(geometry.yloc) + zloc = similar(geometry.zloc) + for s=1:get_nsrc(geometry) + xloc[s] = geometry.xloc[s] .- rel_origin[1] + yloc[s] = geometry.yloc[s] .- rel_origin[2] + zloc[s] = geometry.zloc[s] .- rel_origin[3] + if project == "2d" + xloc[s] = sqrt.(xloc[s].^2 .+ yloc[s].^2) .* sign.(xloc[s]) + yloc[s] = 0 .* xloc[s] + end + end + return GeometryIC{Float32}(xloc, yloc, zloc, geometry.taxis) end -Geometry(geometry::GeometryIC) = geometry Geometry(v::Array{T}) where T = v Geometry(::Nothing) = nothing @@ -394,23 +427,27 @@ function getindex(geometry::GeometryIC{T}, srcnum::RangeOrVec) where T xsub = geometry.xloc[srcnum] ysub = geometry.yloc[srcnum] zsub = geometry.zloc[srcnum] - dtsub = geometry.dt[srcnum] - ntsub = geometry.nt[srcnum] - tsub = geometry.t[srcnum] - geometry = GeometryIC{T}(xsub, ysub, zsub, dtsub, ntsub, tsub) + tsub = geometry.taxis[srcnum] + geometry = GeometryIC{T}(xsub, ysub, zsub, tsub) return geometry end -getindex(geometry::GeometryIC{T}, srcnum::Integer) where T = getindex(geometry, srcnum:srcnum) +function getindex(geometry::GeometryOOC{T}, srcnum::RangeOrVec) where T + container = geometry.container[srcnum] + tsub = geometry.taxis[srcnum] + nrec = geometry.nrec[srcnum] + return GeometryOOC{T}(container, tsub, nrec, geometry.key, geometry.segy_depth_key) +end -# getindex out-of-core geometry structure -getindex(geometry::GeometryOOC, srcnum) = Geometry(geometry.container[srcnum]; key=geometry.key, segy_depth_key=geometry.segy_depth_key, dt=geometry.dt[srcnum], t=geometry.t[srcnum]) +getindex(geometry::Geometry, srcnum::Integer) = getindex(geometry, srcnum:srcnum) ########################################################################################################################################### # Compare if geometries match function compareGeometry(geometry_A::Geometry, geometry_B::Geometry) - if isequal(geometry_A.xloc, geometry_B.xloc) && isequal(geometry_A.yloc, geometry_B.yloc) && isequal(geometry_A.zloc, geometry_B.zloc) && - isequal(geometry_A.dt, geometry_B.dt) && isequal(geometry_A.nt, geometry_B.nt) + if isequal(geometry_A.xloc, geometry_B.xloc) && + isequal(geometry_A.yloc, geometry_B.yloc) && + isequal(geometry_A.zloc, geometry_B.zloc) && + isequal(geometry_A.t, geometry_B.t) return true else return false @@ -455,14 +492,18 @@ pushfield!(a, b) = nothing # Gets called by judiVector constructor to be sure that geometry is consistent with the data. # Data may be any of: Array, Array of Array, SeisBlock, SeisCon check_geom(geom::Geometry, data::Array{T}) where T = all([check_geom(geom[s], data[s]) for s=1:get_nsrc(geom)]) -check_geom(geom::Geometry, data::Array{T}) where {T<:Number} = _check_geom(geom.nt[1], size(data, 1)) && _check_geom(geom.nrec[1], size(data, 2)) -check_geom(geom::Geometry, data::SeisBlock) = _check_geom(geom.nt[1], (data.fileheader.bfh.ns, data.fileheader.bfh.nsOrig)) +check_geom(geom::Geometry, data::Array{T}) where {T<:Number} = _check_geom(nt(geom, 1), size(data, 1)) && _check_geom(geom.nrec[1], size(data, 2)) + +function check_geom(geom::Geometry, data::SeisBlock) + nt(geom, 1) <= data.fileheader.bfh.ns || _geom_missmatch(nt(geom, 1), data.fileheader.bfh.ns) + nt(geom, 1) <= data.fileheader.bfh.nsOrig || _geom_missmatch(nt(geom, 1), data.fileheader.bfh.nsOrig) +end function check_geom(geom::Geometry, data::SeisCon) for s = 1:get_nsrc(geom) fh = read_fileheader(data.blocks[s].file) - geom.nt[s] <= fh.bfh.ns || _geom_missmatch(nt, ns) - geom.nt[s] <= fh.bfh.nsOrig || _geom_missmatch(nt, ns) + nt(geom, s) <= fh.bfh.ns || _geom_missmatch(nt(geom, s), fh.bfh.ns) + nt(geom, s) <= fh.bfh.nsOrig || _geom_missmatch(nt(geom, s), fh.bfh.nsOrig) end end @@ -489,8 +530,6 @@ yloc(y, ::Val) = y _get_coords(G::Geometry, ny::Val) = begin gloc = Geometry(G); return tuple(gloc.xloc[1], yloc(gloc.yloc[1], ny), gloc.zloc[1]) end function as_coord_set(G::Geometry) - @assert allsame(G.nt) - @assert allsame(G.dt) @assert allsame(G.t) G0 = Geometry(G[1]) ny = Val(length(G0.yloc[1])) @@ -515,7 +554,7 @@ Merge all the sub-geometries `1:get_nsrc(Geometry)` into a single supershot geom """ function super_shot_geometry(G::Geometry{T}) where T as_set = coords_from_set(as_coord_set(G)) - return GeometryIC{T}(as_set..., [G.dt[1]], [G.nt[1]], [G.t[1]]) + return GeometryIC{T}(as_set..., [G.t[1]]) end @@ -534,12 +573,8 @@ This method expects: """ function reciprocal_geom(sGeom::GeometryIC{T}, rGeom::GeometryIC{T}) where T # The geometry need to have the same recording and sampling times - @assert sGeom.dt == rGeom.dt @assert sGeom.t == rGeom.t - @assert sGeom.nt == rGeom.nt - @assert allsame(sGeom.dt) @assert allsame(sGeom.t) - @assert allsame(sGeom.nt) # Make sure it's not simultaneous sources if !all(length(x) == 1 for x in sGeom.xloc) throw(GeometryException("Cannot apply reciprocity to simultaneous sources")) @@ -556,12 +591,12 @@ function reciprocal_geom(sGeom::GeometryIC{T}, rGeom::GeometryIC{T}) where T ysrc = 0 .* xsrc end zsrc = convertToCell(rGeom.zloc[1]) - sgeom = Geometry(xsrc, ysrc, zsrc; dt=rGeom.dt[1], t=rGeom.t[1]) + sgeom = Geometry(xsrc, ysrc, zsrc; dt=dt(rGeom, 1), t=t(rGeom, 1)) # Reciprocal recc geom xrec = Vector{T}([x[1] for x in sGeom.xloc]) yrec = Vector{T}([x[1] for x in sGeom.yloc]) zrec = Vector{T}([x[1] for x in sGeom.zloc]) - rgeom = Geometry(xrec, yrec, zrec; dt=rGeom.dt[1], t=rGeom.t[1], nsrc=length(xsrc)) + rgeom = Geometry(xrec, yrec, zrec; dt=dt(rGeom, 1), t=t(rGeom, 1), nsrc=length(xsrc)) return sgeom, rgeom end diff --git a/src/TimeModeling/Types/judiVector.jl b/src/TimeModeling/Types/judiVector.jl index 56ff29d31..42b77361f 100644 --- a/src/TimeModeling/Types/judiVector.jl +++ b/src/TimeModeling/Types/judiVector.jl @@ -104,7 +104,7 @@ function judiVector(geometry::Geometry, data::SegyIO.SeisBlock) dataCell = Vector{Array{Float32, 2}}(undef, nsrc) for j=1:nsrc traces = findall(src .== unique(src)[j]) - dataCell[j] = convert(Array{Float32, 2}, data.data[:,traces]) + dataCell[j] = convert(Array{Float32, 2}, data.data[1:nt(geometry, j), traces]) end return judiVector{Float32, Array{Float32, 2}}(nsrc, geometry, dataCell) end @@ -129,7 +129,7 @@ judiVector(geometry::Geometry, data::Vector{SegyIO.SeisCon}) = judiVector{Float ############################################################ ## overloaded multi_source functions -time_sampling(jv::judiVector) = jv.geometry.dt +time_sampling(jv::judiVector) = dt(jv.geometry) ############################################################ # JOLI conversion @@ -165,7 +165,7 @@ function pad_zeros(zpad::OrderedDict, m::T, d::judiVector{T, AT}) where {T, AT} @assert d.nsrc == 1 dloc = as_ordered_dict(d; v=m) sort!(merge!(.+, dloc, zpad)) - return from_ordered_dict(dloc, d.geometry.dt[1], d.geometry.nt[1], d.geometry.t[1]) + return from_ordered_dict(dloc, dt(d.geometry, 1), nt(d.geometry, 1), t(d.geometry, 1)) end function simsource(M::Vector{T}, x::judiVector{T, AT}; reduction=+, minimal::Bool=false) where {T, AT} @@ -173,14 +173,14 @@ function simsource(M::Vector{T}, x::judiVector{T, AT}; reduction=+, minimal::Boo # Without reduction, add zero trace for all missing coords if isnothing(reduction) sgeom = as_coord_set(x.geometry) - zpad = OrderedDict(zip(sgeom, [zeros(Float32, x.geometry.nt[1]) for s=1:length(sgeom)])) + zpad = OrderedDict(zip(sgeom, [zeros(Float32, nt(x.geometry, 1)) for s=1:length(sgeom)])) dOut = vcat([pad_zeros(zpad, M[s], x[s]) for s=1:x.nsrc]...) # With reduction. COuld reuse the previous but cheaper to compute the sum directly else reduction = minimal ? PopZero() : reduction sdict = mergewith!(reduction, map((d, m)->as_ordered_dict(d; v=m), x, M)...) sort!(sdict) - dOut = from_ordered_dict(sdict, x.geometry.dt[1], x.geometry.nt[1], x.geometry.t[1]) + dOut = from_ordered_dict(sdict, dt(x.geometry, 1), nt(x.geometry, 1), t(x.geometry, 1)) end return dOut end @@ -290,7 +290,7 @@ function judiVector_to_SeisBlock(d::judiVector{avDT, AT}, q::judiVector{avDT, QT set_header!(blocks[j], "SourceY", Int.(round.(q.geometry.yloc[j][1]*1f3))) set_header!(blocks[j], source_depth_key, Int.(round.(q.geometry.zloc[j][1]*1f3))) - set_header!(blocks[j], "dt", Int(d.geometry.dt[j]*1f3)) + set_header!(blocks[j], "dt", Int(dt(d.geometry, j)*1f3)) set_header!(blocks[j], "FieldRecord",j) set_header!(blocks[j], "TraceNumWithinLine", traceNumbers) set_header!(blocks[j], "TraceNumWithinFile", traceNumbers) @@ -337,7 +337,7 @@ end #################################################################################################### # Load OOC -function get_data(x::judiVector{T, SeisCon}; rel_origin=(0, 0, 0), project=nothing) where T +function get_data(x::judiVector{T, AT}; rel_origin=(0, 0, 0), project=nothing) where {T, AT} shots = Vector{Matrix{Float32}}(undef, x.nsrc) rec_geometry = Geometry(x.geometry; rel_origin=rel_origin, project=project) for j=1:x.nsrc @@ -346,29 +346,10 @@ function get_data(x::judiVector{T, SeisCon}; rel_origin=(0, 0, 0), project=nothi return judiVector{T, Array{Float32, 2}}(x.nsrc, rec_geometry, shots) end - -function get_data(x::judiVector{T, Array{Float32, 2}}; rel_origin=(0, 0, 0), project=nothing) where T - if rel_origin == (0, 0, 0) && isnothing(project) - return x - end - # Shift and project geometry - geom = Geometry(x.geometry; rel_origin=rel_origin, project=project) - return judiVector{T, Array{Float32, 2}}(x.nsrc, geom, x.data) -end - convert_to_array(x::judiVector) = vcat(vec.(x.data)...) -function data_matrix(x::judiVector{T, SeisCon}, i::Integer) where T - data = convert(Matrix{Float32}, x.data[i][1].data) - # Check if needs to extra padding or croping - if x.geometry.nt[i] > size(data, 1) - data = vcat(zeros(Float32, x.geometry.nt[i] - size(data, 1), size(data, 2)), data) - elseif x.geometry.nt[i] < size(data, 1) - data = data[1:x.geometry.nt[i], :] - end - return data -end - +data_matrix(x::judiVector{T, SeisCon}, i::Integer) where T = convert(Matrix{Float32}, x.data[i][1].data) +data_matrix(x::judiVector{T, Matrix{T}}, i::Integer) where T = x.data[i] ##### Rebuild bad vector """ diff --git a/src/TimeModeling/Utils/auxiliaryFunctions.jl b/src/TimeModeling/Utils/auxiliaryFunctions.jl index ee93eb10f..543938ce0 100644 --- a/src/TimeModeling/Utils/auxiliaryFunctions.jl +++ b/src/TimeModeling/Utils/auxiliaryFunctions.jl @@ -373,8 +373,8 @@ function get_computational_nt(srcGeometry::Geometry{T}, recGeometry::Geometry{T} nt = Vector{Int64}(undef, nsrc) dtComp = calculate_dt(model; dt=dt) for j=1:nsrc - ntRec = length(0:dtComp:(dtComp*ceil(recGeometry.t[j]/dtComp))) - ntSrc = length(0:dtComp:(dtComp*ceil(srcGeometry.t[j]/dtComp))) + ntRec = length(0:dtComp:(dtComp*ceil(t(recGeometry, j)/dtComp))) + ntSrc = length(0:dtComp:(dtComp*ceil(t(srcGeometry, j)/dtComp))) nt[j] = max(ntRec, ntSrc) end return nt @@ -395,7 +395,7 @@ function get_computational_nt(Geometry::Geometry{T}, model::AbstractModel; dt=no nt = Array{Integer}(undef, nsrc) dtComp = calculate_dt(model; dt=dt) for j=1:nsrc - nt[j] = length(0:dtComp:(dtComp*ceil(Geometry.t[j]/dtComp))) + nt[j] = length(0:dtComp:(dtComp*ceil(t(Geometry, j)/dtComp))) end return nt end @@ -501,7 +501,11 @@ Parameters * `geometry_in`: Geometry on which `data` is defined. * `dt_new`: New time sampling rate to interpolate onto. """ -time_resample(data::AbstractArray{T, N}, G_in::Geometry, dt_new::Real) where {T<:Real, N} = time_resample(data, G_in.dt[1], dt_new, G_in.t[1]) +function time_resample(data::AbstractArray{T, N}, G_in::Geometry, dt_new::Real) where {T<:Real, N} + tend = step(G_in.taxis[1])*(size(data, 1) - 1) + first(G_in.taxis[1]) + new_t = first(G_in.taxis[1]):dt_new:tend + return time_resample(data, G_in.taxis[1], new_t) +end """ time_resample(data, dt_in, dt_new) @@ -514,8 +518,8 @@ Parameters * `dt_in`: Time sampling of input * `dt_new`: New time sampling rate to interpolate onto. """ -function time_resample(data::AbstractArray{T, N}, dt_in::T, dt_new::T, t::T) where {T<:Real, N} - +function time_resample(data::AbstractArray{T, N}, t_in::StepRangeLen, t_new::StepRangeLen) where {T<:Real, N} + dt_in, dt_new = step(t_in), step(t_new) if dt_new==dt_in return data elseif (dt_new % dt_in) == 0 @@ -523,16 +527,14 @@ function time_resample(data::AbstractArray{T, N}, dt_in::T, dt_new::T, t::T) whe return _time_resample(data, rate) else @juditime "Data time sinc-interpolation" begin - nt = size(data, 1) - timeAxis = StepRangeLen(0f0, T(dt_in), nt) - timeInterp = 0:dt_new:(dt_new*ceil(t/dt_new)) - dataInterp = Float32.(SincInterpolation(data, timeAxis, timeInterp)) + dataInterp = Float32.(SincInterpolation(data, t_in, t_new)) end return dataInterp end end -time_resample(data::AbstractArray{T, N}, dt_in::Number, dt_new::Number, t::Number) where {T<:Real, N} = time_resample(data, T(dt_in), T(dt_new), T(t)) +time_resample(data::AbstractArray{T, N}, dt_in::Number, dt_new::Number, t::Number) where {T<:Real, N} = + time_resample(data, 0:dt_in:(dt_in*ceil(t/dt_in)), 0:dt_new:(dt_new*ceil(t/dt_new))) """ @@ -546,7 +548,15 @@ Parameters * `geometry_out`: Geometry on which `data` is to be interpolated. * `dt_in`: Time sampling rate of the `data.` """ -time_resample(data::AbstractArray{T, N}, dt_in::Real, G_out::Geometry{T}) where {T<:Real, N} = time_resample(data, dt_in, G_out.dt[1], G_out.t[1]) +function time_resample(data::AbstractArray{T, N}, dt_in::Real, G_out::Geometry{T}) where {T<:Real, N} + currt = range(0f0, step=dt_in, length=size(data, 1)) + return time_resample(data, currt, G_out.taxis[1]) +end + +function time_resample(data::AbstractArray{T, N}, dt_in::Real, G_in::Geometry{T}, G_out::Geometry{T}) where {T<:Real, N} + currt = range(first(G_in.taxis[1]), step=dt_in, length=size(data, 1)) + return time_resample(data, currt, G_out.taxis[1]) +end _time_resample(data::Matrix{T}, rate::Integer) where T = data[1:rate:end, :] _time_resample(data::PermutedDimsArray{T, 2, (2, 1), (2, 1), Matrix{T}}, rate::Integer) where {T<:Real} = data.parent[:, 1:rate:end]' @@ -568,9 +578,9 @@ function generate_distribution(x::judiVector{T, Matrix{T}}; src_no=1) where {T<: # from spectrum of the input data # sampling information - nt = x.geometry.nt[src_no] - dt = x.geometry.dt[src_no] - t = x.geometry.t[src_no] + nt = nt(x.geometry, src_no) + dt = dt(x.geometry, src_no) + t = t(x.geometry, src_no) # frequencies fs = 1/dt # sampling rate @@ -627,7 +637,7 @@ Parameters: function process_input_data(input::DenseArray{T}, geometry::Geometry{T}) where {T<:Real} # Input data is pure Julia array: assume fixed no. # of receivers and reshape into data cube nt x nrec x nsrc - nt = Int(geometry.nt[1]) + nt = nt(geometry, 1) nrec = geometry.nrec[1] nsrc = length(geometry.xloc) data = reshape(input, nt, nrec, nsrc) @@ -680,7 +690,7 @@ end Reshapes input vector into a 3D `nt x nrec x nsrc` Array. """ function reshape(x::AbstractArray{T}, geometry::Geometry{T}) where {T<:Real} - nt = geometry.nt[1] + nt = nt(geometry, 1) nrec = geometry.nrec[1] nsrc = Int(length(x) / nt / nrec) return reshape(x, nt, nrec, nsrc) @@ -741,8 +751,7 @@ function transducer(q::judiVector{T, AT}, d::Tuple, r::Number, theta) where {T<: yloc = Vector{Vector{T}}(undef, nsrc) zloc = Vector{Vector{T}}(undef, nsrc) data = Vector{Matrix{T}}(undef, nsrc) - t = q.geometry.t[1] - dt = q.geometry.dt[1] + t = q.geometry.taxis[1] for i=1:nsrc # Build the rotated array of dipole @@ -758,16 +767,16 @@ function transducer(q::judiVector{T, AT}, d::Tuple, r::Number, theta) where {T<: data[i][:, 1:nsrc_loc] .= q.data[i]/nsrc_loc data[i][:, nsrc_loc+1:end] .= -q.data[i]/nsrc_loc end - return judiVector(Geometry(xloc, yloc, zloc; t=t, dt=dt), data) + return judiVector(Geometry(xloc, yloc, zloc, t), data) end ########################################### Misc defaults # Vectorization of single variable (not defined in Julia) -vec(x::Float64) = x; -vec(x::Float32) = x; -vec(x::Int64) = x; -vec(x::Int32) = x; -vec(::Nothing) = nothing +Base.vec(x::Float64) = x; +Base.vec(x::Float32) = x; +Base.vec(x::Int64) = x; +Base.vec(x::Int32) = x; +Base.vec(::Nothing) = nothing """ as_vec(x, ::Val{Bool}) @@ -779,6 +788,9 @@ as_vec(x::Ref, ::Val) = x[] as_vec(x::PhysicalParameter, ::Val{true}) = vec(x.data) as_vec(x::judiMultiSourceVector, ::Val{true}) = vec(x) +as_src_list(x::Number, nsrc::Integer) = fill(x, nsrc) +as_src_list(x::Vector{<:Number}, nsrc::Integer) = x +as_src_list(::Nothing, nsrc::Integer) = fill(0, nsrc) ######### backward compat extend_gradient(model_full, model, array) = array diff --git a/src/compat.jl b/src/compat.jl index 5d39c357d..441d55d79 100644 --- a/src/compat.jl +++ b/src/compat.jl @@ -1,5 +1,3 @@ -import Base: depwarn - export Info # Compatibility with `info` diff --git a/src/pysource/fields_exprs.py b/src/pysource/fields_exprs.py index fd2e7ab61..e3de5cc48 100644 --- a/src/pysource/fields_exprs.py +++ b/src/pysource/fields_exprs.py @@ -121,16 +121,21 @@ def freesurface(model, eq): zfs = model.grid.subdomains['fsdomain'].dimensions[-1] z = zfs.parent - funcs = retrieve_functions(rhs.evaluate) - mapper = {} - for f in funcs: - zind = f.indices[-1] - if (zind - z).as_coeff_Mul()[0] < 0: - s = sign((zind - z.symbolic_min).subs({z: zfs, z.spacing: 1})) - mapper.update({f: s * f.subs({zind: INT(abs(zind))})}) - fs_eq.append(Eq(lhs, sign(lhs.indices[-1]-z.symbolic_min) * rhs.subs(mapper), - subdomain=model.grid.subdomains['fsdomain'])) - + if lhs.is_TimeFunction: + so = lhs.space_order + z0= S.Zero + zfs = CustomDimension(name="zfs", symbolic_min=1, symbolic_max=so, + symbolic_size=so) + fs_eq.extend([Eq(lhs.subs({z: z0 - zfs}), -lhs.subs({z: z0 + zfs})), + Eq(lhs.subs({z: z.symbolic_min + z0}), 0)]) + # mapper = {} + # for f in funcs: + # zind = f.indices[-1] + # if (zind - z).as_coeff_Mul()[0] < 0: + # s = sign((zind - z.symbolic_min).subs({z: zfs, z.spacing: 1})) + # mapper.update({f: s * f.subs({zind: INT(abs(zind))})}) + # fs_eq.append(Eq(lhs, sign(lhs.indices[-1]-z.symbolic_min) * rhs.subs(mapper), + # subdomain=model.grid.subdomains['fsdomain'])) return fs_eq diff --git a/src/pysource/kernels.py b/src/pysource/kernels.py index c77ceefc0..831b62f02 100644 --- a/src/pysource/kernels.py +++ b/src/pysource/kernels.py @@ -58,11 +58,11 @@ def acoustic_kernel(model, u, fw=True, q=None): damp = model.damp stencil = solve(wmr * u.dt2 + damp * udt - ulaplace - q, u_n) - if 'nofsdomain' in model.grid.subdomains: - pde = [Eq(u_n, stencil, subdomain=model.grid.subdomains['nofsdomain'])] - pde += freesurface(model, pde) - else: - pde = [Eq(u_n, stencil)] + # if 'nofsdomain' in model.grid.subdomains: + # pde = [Eq(u_n, stencil, subdomain=model.grid.subdomains['nofsdomain'])] + # pde += freesurface(model, pde) + # else: + pde = [Eq(u_n, stencil)] return pde From 34067f040d9fb22626c8927d0a9ed9a965d4e4b7 Mon Sep 17 00:00:00 2001 From: mloubout Date: Wed, 31 Jan 2024 12:48:26 -0500 Subject: [PATCH 06/27] fix fwi misfit sizes with t0 --- src/TimeModeling/Modeling/misfit_fg.jl | 10 ++++++++++ src/TimeModeling/Types/GeometryStructure.jl | 8 +++++--- src/TimeModeling/Types/judiVector.jl | 2 +- src/pysource/sensitivity.py | 12 ++++++------ 4 files changed, 22 insertions(+), 10 deletions(-) diff --git a/src/TimeModeling/Modeling/misfit_fg.jl b/src/TimeModeling/Modeling/misfit_fg.jl index 472c113fc..980c2bc97 100644 --- a/src/TimeModeling/Modeling/misfit_fg.jl +++ b/src/TimeModeling/Modeling/misfit_fg.jl @@ -36,6 +36,16 @@ function multi_src_fg(model_full::AbstractModel, source::judiVector, dObs::judiV # Extrapolate input data to computational grid qIn = time_resample(make_input(source), source.geometry, dtComp) dObserved = time_resample(make_input(dObs), dObs.geometry, dtComp) + if size(dObserved, 1) != size(qIn, 1) + dsize = size(qIn, 1) - size(dObserved, 1) + dt0 = t0(dObs.geometry, 1) - t0(source.geometry, 1) + @assert dt0 != 0 && sign(dsize) == sign(dt0) + if dt0 > 0 + dObserved = vcat(zeros(Float32, dsize, size(dObserved, 2)), dObserved) + else + qIn = vcat(zeros(Float32, -dsize, size(qIn, 2)), qIn) + end + end # Set up coordinates @juditime "Sparse coords setup" begin diff --git a/src/TimeModeling/Types/GeometryStructure.jl b/src/TimeModeling/Types/GeometryStructure.jl index d17523903..b45649b05 100644 --- a/src/TimeModeling/Types/GeometryStructure.jl +++ b/src/TimeModeling/Types/GeometryStructure.jl @@ -4,7 +4,7 @@ # export Geometry, compareGeometry, GeometryIC, GeometryOOC, get_nsrc, n_samples, super_shot_geometry -export reciprocal_geom +export reciprocal_geom, t, dt, nt, t0 abstract type Geometry{T} end @@ -83,6 +83,8 @@ dt(g::Geometry) = step.(g.taxis) dt(g::Geometry, srcnum::Integer) = step(g.taxis[srcnum]) t(g::Geometry) = last.(g.taxis) t(g::Geometry, srcnum::Integer) = last(g.taxis[srcnum]) +t0(g::Geometry) = first.(g.taxis) +t0(g::Geometry, srcnum::Integer) = first(g.taxis[srcnum]) rec_space(G::Geometry) = AbstractSize((:src, :time, :rec), (get_nsrc(G), nt(G), G.nrec)) ################################################ Constructors #################################################################### @@ -190,7 +192,7 @@ function Geometry(xloc::Array{Array{T, 1},1}, yloc::CoordT, zloc::Array{Array{T, dt = as_src_list(dt, nsrc) t = as_src_list(t, nsrc) t0 = as_src_list(t0, nsrc) - tranges = [StepRangeLen(T(t0i), T(dti), floor.(Int, ti / dti) .+ 1) for (t0, dti, ti) in zip(t0, dt, t)] + tranges = [StepRangeLen(T(t0i), T(dti), floor.(Int, ti / dti) .+ 1) for (t0i, dti, ti) in zip(t0, dt, t)] return GeometryIC{T}(xloc, yloc, zloc, tranges) end @@ -203,7 +205,7 @@ function Geometry(xloc::Array{T, 1}, yloc::CoordT, zloc::Array{T, 1}; dt=nothing dt = as_src_list(dt, nsrc) t = as_src_list(t, nsrc) t0 = as_src_list(t0, nsrc) - tranges = [StepRangeLen(T(t0i), T(dti), floor.(Int, ti / dti) .+ 1) for (t0, dti, ti) in zip(t0, dt, t)] + tranges = [StepRangeLen(T(t0i), T(dti), floor.(Int, ti / dti) .+ 1) for (t0i, dti, ti) in zip(t0, dt, t)] return GeometryIC{T}(xlocCell, ylocCell, zlocCell, tranges) end diff --git a/src/TimeModeling/Types/judiVector.jl b/src/TimeModeling/Types/judiVector.jl index 42b77361f..6d7fd5406 100644 --- a/src/TimeModeling/Types/judiVector.jl +++ b/src/TimeModeling/Types/judiVector.jl @@ -348,7 +348,7 @@ end convert_to_array(x::judiVector) = vcat(vec.(x.data)...) -data_matrix(x::judiVector{T, SeisCon}, i::Integer) where T = convert(Matrix{Float32}, x.data[i][1].data) +data_matrix(x::judiVector{T, SeisCon}, i::Integer) where T = convert(Matrix{Float32}, x.data[i][1].data)[1:nt(x.geometry, i), :] data_matrix(x::judiVector{T, Matrix{T}}, i::Integer) where T = x.data[i] ##### Rebuild bad vector diff --git a/src/pysource/sensitivity.py b/src/pysource/sensitivity.py index e83e32aff..e0a1c8542 100644 --- a/src/pysource/sensitivity.py +++ b/src/pysource/sensitivity.py @@ -42,12 +42,12 @@ def grad_expr(gradm, u, v, model, w=None, freq=None, dft_sub=None, ic="as"): """ ic_func = ic_dict[func_name(freq=freq, ic=ic)] expr = ic_func(as_tuple(u), as_tuple(v), model, freq=freq, factor=dft_sub, w=w) - if model.fs and ic in ["fwi", "isic"]: - # Only need `fs` processing for isic for the spatial derivatives. - eq_g = [Eq(gradm, gradm - expr, subdomain=model.grid.subdomains['nofsdomain'])] - eq_g += freesurface(model, eq_g) - else: - eq_g = [Eq(gradm, gradm - expr)] + # if model.fs and ic in ["fwi", "isic"]: + # # Only need `fs` processing for isic for the spatial derivatives. + # eq_g = [Eq(gradm, gradm - expr, subdomain=model.grid.subdomains['nofsdomain'])] + # eq_g += freesurface(model, eq_g) + # else: + eq_g = [Eq(gradm, gradm - expr)] return eq_g From b3f3772525a94be3876303c1e4f9c03cdb130f8b Mon Sep 17 00:00:00 2001 From: Mathias Louboutin Date: Wed, 31 Jan 2024 21:30:54 -0500 Subject: [PATCH 07/27] fix parallel illum --- src/TimeModeling/Modeling/misfit_fg.jl | 7 +-- src/TimeModeling/Modeling/propagation.jl | 10 ++-- .../Modeling/time_modeling_serial.jl | 5 +- .../Preconditioners/ModelPreconditioners.jl | 2 + src/TimeModeling/Types/GeometryStructure.jl | 3 +- test/test_geometry.jl | 55 ++++++++++--------- 6 files changed, 42 insertions(+), 40 deletions(-) diff --git a/src/TimeModeling/Modeling/misfit_fg.jl b/src/TimeModeling/Modeling/misfit_fg.jl index 980c2bc97..f14dd7f81 100644 --- a/src/TimeModeling/Modeling/misfit_fg.jl +++ b/src/TimeModeling/Modeling/misfit_fg.jl @@ -1,8 +1,8 @@ export fwi_objective, lsrtm_objective, fwi_objective!, lsrtm_objective! -function multi_src_fg(model_full::AbstractModel, source::judiVector, dObs::judiVector, dm, options::JUDIOptions, nlind::Bool, lin::Bool, - misfit::Function) +function multi_src_fg(model_full::AbstractModel, source::judiVector, dObs::judiVector, dm, options::JUDIOptions, + nlind::Bool, lin::Bool, misfit::Function, illum::Bool) # Setup time-domain linear or nonlinear foward and adjoint modeling and interface to devito GC.gc(true) devito.clear_cache() @@ -14,9 +14,6 @@ function multi_src_fg(model_full::AbstractModel, source::judiVector, dObs::judiV dObs.geometry = Geometry(dObs.geometry) source.geometry = Geometry(source.geometry) - # Compute illumination ? - illum = compute_illum(model_full, :adjoint_born) - # Limit model to area with sources/receivers if options.limit_m == true @juditime "Limit model to geometry" begin diff --git a/src/TimeModeling/Modeling/propagation.jl b/src/TimeModeling/Modeling/propagation.jl index 99087450a..64596c203 100644 --- a/src/TimeModeling/Modeling/propagation.jl +++ b/src/TimeModeling/Modeling/propagation.jl @@ -4,9 +4,9 @@ Base propagation interfaces that calls the devito `mode` propagator (forward/adjoint/..) with `q` as a source. The return type is infered from `F`. """ -function propagate(F::judiPropagator{T, O}, q::AbstractArray{T}) where {T, O} +function propagate(F::judiPropagator{T, O}, q::AbstractArray{T}, illum::Bool) where {T, O} srcGeometry, srcData, recGeometry, recData, dm = make_input(F, q) - return time_modeling(F.model, srcGeometry, srcData, recGeometry, recData, dm, O, F.options, _prop_fw(F)) + return time_modeling(F.model, srcGeometry, srcData, recGeometry, recData, dm, O, F.options, _prop_fw(F), illum) end propagate(t::Tuple{judiPropagator, AbstractArray}) = propagate(t[1], t[2]) @@ -80,7 +80,8 @@ function multi_src_propagate(F::judiPropagator{T, O}, q::AbstractArray{T}) where # Number of sources and init result nsrc = get_nsrc(F, q) pool = _worker_pool() - arg_func = i -> (F[i], src_i(F, q, i)) + illum = compute_illum(F.model, O) + arg_func = i -> (F[i], src_i(F, q, i), illum) # Distribute source res = run_and_reduce(propagate, pool, nsrc, arg_func) res = update_illum(res, F) @@ -101,8 +102,9 @@ function multi_src_fg!(G, model, q, dobs, dm; options=Options(), kw...) # Number of sources and init result nsrc = try q.nsrc catch; dobs.nsrc end pool = _worker_pool() + illum = compute_illum(model, :adjoint_born) # Distribute source - arg_func = i -> (model, q[i], dobs[i], dm, options[i], values(kw)...) + arg_func = i -> (model, q[i], dobs[i], dm, options[i], values(kw)..., illum) # Distribute source res = run_and_reduce(multi_src_fg, pool, nsrc, arg_func) f, g = update_illum(res, model, :adjoint_born) diff --git a/src/TimeModeling/Modeling/time_modeling_serial.jl b/src/TimeModeling/Modeling/time_modeling_serial.jl index ca67302ca..7b9f5eeee 100644 --- a/src/TimeModeling/Modeling/time_modeling_serial.jl +++ b/src/TimeModeling/Modeling/time_modeling_serial.jl @@ -8,7 +8,7 @@ PhysOrNot = Union{PhysicalParameter, Array, Nothing} # Setup time-domain linear or nonlinear foward and adjoint modeling and interface to devito function time_modeling(model_full::AbstractModel, srcGeometry::GeomOrNot, srcData::ArrayOrNot, recGeometry::GeomOrNot, recData::ArrayOrNot, dm::PhysOrNot, - op::Symbol, options::JUDIOptions, fw::Bool) + op::Symbol, options::JUDIOptions, fw::Bool, illum::Bool) GC.gc(true) devito.clear_cache() @@ -21,9 +21,6 @@ function time_modeling(model_full::AbstractModel, srcGeometry::GeomOrNot, srcDat return judiVector(recGeometry, zeros(Float32, recGeometry.nt[1], length(recGeometry.xloc[1]))) end - # Compute illumination ? - illum = compute_illum(model_full, op) - # limit model to area with sources/receivers if options.limit_m == true @juditime "Limit model to geometry" begin diff --git a/src/TimeModeling/Preconditioners/ModelPreconditioners.jl b/src/TimeModeling/Preconditioners/ModelPreconditioners.jl index bf0e9cf5d..4a32c6d65 100644 --- a/src/TimeModeling/Preconditioners/ModelPreconditioners.jl +++ b/src/TimeModeling/Preconditioners/ModelPreconditioners.jl @@ -185,6 +185,8 @@ end function set_val(I::judiIllumination{T, M, K, R}, mode, v) where {T, M, K, R} key = mode ∈ [:forward, :born] ? "u" : "v" if key in keys(I.illums) + # For safety when propagation doesn't reach all the model + v[v .== 0] .= 1f0 combine!(I.illums[key], v) end end diff --git a/src/TimeModeling/Types/GeometryStructure.jl b/src/TimeModeling/Types/GeometryStructure.jl index b45649b05..9f6afdfeb 100644 --- a/src/TimeModeling/Types/GeometryStructure.jl +++ b/src/TimeModeling/Types/GeometryStructure.jl @@ -242,6 +242,7 @@ function timings_from_segy(data, dt=nothing, t=nothing, t0=nothing) return [range(t0[j], step=dtCell[j], stop=tCell[j]) for j=1:nsrc] end +segy_t0(b::Vector{SeisCon}, i) = segy_t0(b[i], 1) segy_t0(b::SeisBlock, i) = segy_t0(b) segy_t0(b::SeisCon, i) = segy_t0(b.blocks[i]) segy_t0(b::SeisBlock) = segy_t0(b.fileheader.bfh) @@ -556,7 +557,7 @@ Merge all the sub-geometries `1:get_nsrc(Geometry)` into a single supershot geom """ function super_shot_geometry(G::Geometry{T}) where T as_set = coords_from_set(as_coord_set(G)) - return GeometryIC{T}(as_set..., [G.t[1]]) + return GeometryIC{T}(as_set..., [G.taxis[1]]) end diff --git a/test/test_geometry.jl b/test/test_geometry.jl index 21a33393f..31ec651d8 100644 --- a/test/test_geometry.jl +++ b/test/test_geometry.jl @@ -23,12 +23,13 @@ datapath = joinpath(dirname(pathof(JUDI)))*"/../data/" geometry_t = Geometry(xsrc, ysrc, zsrc; dt=2, t=1000) @test geometry_t == geometry - @test isequal(typeof(geometry.xloc), Array{Array{Float32,1}, 1}) - @test isequal(typeof(geometry.yloc), Array{Array{Float32,1}, 1}) - @test isequal(typeof(geometry.zloc), Array{Array{Float32,1}, 1}) - @test isequal(typeof(geometry.nt), Array{Integer, 1}) - @test isequal(typeof(geometry.dt), Array{Float32, 1}) - @test isequal(typeof(geometry.t), Array{Float32, 1}) + @test isa(geometry.xloc, Vector{Array{Float32,1}}) + @test isa(geometry.yloc, Vector{Array{Float32,1}}) + @test isa(geometry.zloc, Vector{Array{Float32,1}}) + @test isa(geometry.nt, Vector{Int}) + @test isa(geometry.dt, Vector{Float32}) + @test isa(geometry.t, Vector{Float32}) + @test isa(geometry.taxis, Vector{<:StepRangeLen{Float32}}) # Constructor if coordinates are not passed as a cell arrays xsrc = range(100f0, stop=1100f0, length=2)[1:nsrc] @@ -37,20 +38,22 @@ datapath = joinpath(dirname(pathof(JUDI)))*"/../data/" geometry = Geometry(xsrc, ysrc, zsrc; dt=4f0, t=1000f0, nsrc=nsrc) - @test isequal(typeof(geometry.xloc), Array{Array{Float32,1}, 1}) - @test isequal(typeof(geometry.yloc), Array{Array{Float32,1}, 1}) - @test isequal(typeof(geometry.zloc), Array{Array{Float32,1}, 1}) - @test isequal(typeof(geometry.nt), Array{Integer, 1}) - @test isequal(typeof(geometry.dt), Array{Float32, 1}) - @test isequal(typeof(geometry.t), Array{Float32, 1}) - + @test isa(geometry.xloc, Vector{Array{Float32,1}}) + @test isa(geometry.yloc, Vector{Array{Float32,1}}) + @test isa(geometry.zloc, Vector{Array{Float32,1}}) + @test isa(nt(geometry), Vector{Int}) + @test isa(dt(geometry), Vector{Float32}) + @test isa(t(geometry), Vector{Float32}) + @test isa(t0(geometry), Vector{Float32}) + @test isa(geometry.taxis, Vector{<:StepRangeLen{Float32}}) + # Set up source geometry object from in-core data container block = segy_read(datapath*"unit_test_shot_records_$(nsrc).segy"; warn_user=false) src_geometry = Geometry(block; key="source", segy_depth_key="SourceSurfaceElevation") rec_geometry = Geometry(block; key="receiver", segy_depth_key="RecGroupElevation") - @test isequal(typeof(src_geometry), GeometryIC{Float32}) - @test isequal(typeof(rec_geometry), GeometryIC{Float32}) + @test isa(src_geometry, GeometryIC{Float32}) + @test isa(rec_geometry, GeometryIC{Float32}) @test isequal(get_header(block, "SourceSurfaceElevation")[1], src_geometry.zloc[1][1]) @test isequal(get_header(block, "RecGroupElevation")[1], rec_geometry.zloc[1][1]) @test isequal(get_header(block, "SourceX")[1], src_geometry.xloc[1][1]) @@ -61,8 +64,8 @@ datapath = joinpath(dirname(pathof(JUDI)))*"/../data/" src_geometry = Geometry(container; key="source", segy_depth_key="SourceSurfaceElevation") rec_geometry = Geometry(container; key="receiver", segy_depth_key="RecGroupElevation") - @test isequal(typeof(src_geometry), GeometryOOC{Float32}) - @test isequal(typeof(rec_geometry), GeometryOOC{Float32}) + @test isa(src_geometry, GeometryOOC{Float32}) + @test isa(rec_geometry, GeometryOOC{Float32}) @test isequal(src_geometry.key, "source") @test isequal(rec_geometry.key, "receiver") @test isequal(src_geometry.segy_depth_key, "SourceSurfaceElevation") @@ -78,8 +81,8 @@ datapath = joinpath(dirname(pathof(JUDI)))*"/../data/" src_geometry = Geometry(container_cell; key="source", segy_depth_key="SourceSurfaceElevation") rec_geometry = Geometry(container_cell; key="receiver", segy_depth_key="RecGroupElevation") - @test isequal(typeof(src_geometry), GeometryOOC{Float32}) - @test isequal(typeof(rec_geometry), GeometryOOC{Float32}) + @test isa(src_geometry, GeometryOOC{Float32}) + @test isa(rec_geometry, GeometryOOC{Float32}) @test isequal(src_geometry.key, "source") @test isequal(rec_geometry.key, "receiver") @test isequal(src_geometry.segy_depth_key, "SourceSurfaceElevation") @@ -90,8 +93,8 @@ datapath = joinpath(dirname(pathof(JUDI)))*"/../data/" src_geometry_ic = Geometry(src_geometry) rec_geometry_ic = Geometry(rec_geometry) - @test isequal(typeof(src_geometry_ic), GeometryIC{Float32}) - @test isequal(typeof(rec_geometry_ic), GeometryIC{Float32}) + @test isa(src_geometry_ic, GeometryIC{Float32}) + @test isa(rec_geometry_ic, GeometryIC{Float32}) @test isequal(get_header(block, "SourceSurfaceElevation")[1], src_geometry_ic.zloc[1][1]) @test isequal(get_header(block, "RecGroupElevation")[1], rec_geometry_ic.zloc[1][1]) @test isequal(get_header(block, "SourceX")[1], src_geometry_ic.xloc[1][1]) @@ -99,25 +102,25 @@ datapath = joinpath(dirname(pathof(JUDI)))*"/../data/" # Subsample in-core geometry structure src_geometry_sub = subsample(src_geometry_ic, 1) - @test isequal(typeof(src_geometry_sub), GeometryIC{Float32}) + @test isa(src_geometry_sub, GeometryIC{Float32}) @test isequal(length(src_geometry_sub.xloc), 1) src_geometry_sub = subsample(src_geometry_ic, 1:1) - @test isequal(typeof(src_geometry_sub), GeometryIC{Float32}) + @test isa(src_geometry_sub, GeometryIC{Float32}) @test isequal(length(src_geometry_sub.xloc), 1) inds = nsrc > 1 ? (1:nsrc) : 1 src_geometry_sub = subsample(src_geometry_ic, inds) - @test isequal(typeof(src_geometry_sub), GeometryIC{Float32}) + @test isa(src_geometry_sub, GeometryIC{Float32}) @test isequal(length(src_geometry_sub.xloc), nsrc) # Subsample out-of-core geometry structure src_geometry_sub = subsample(src_geometry, 1) - @test isequal(typeof(src_geometry_sub), GeometryOOC{Float32}) + @test isa(src_geometry_sub, GeometryOOC{Float32}) @test isequal(length(src_geometry_sub.dt), 1) @test isequal(src_geometry_sub.segy_depth_key, "SourceSurfaceElevation") src_geometry_sub = subsample(src_geometry, inds) - @test isequal(typeof(src_geometry_sub), GeometryOOC{Float32}) + @test isa(src_geometry_sub, GeometryOOC{Float32}) @test isequal(length(src_geometry_sub.dt), nsrc) @test isequal(src_geometry_sub.segy_depth_key, "SourceSurfaceElevation") From 08cb972a5c5d99257ceb4ba4fdec843b5a6feafe Mon Sep 17 00:00:00 2001 From: Mathias Louboutin Date: Wed, 31 Jan 2024 21:30:54 -0500 Subject: [PATCH 08/27] fix parallel illum --- Project.toml | 1 + src/TimeModeling/Modeling/misfit_fg.jl | 7 +-- src/TimeModeling/Modeling/propagation.jl | 10 ++-- .../Modeling/time_modeling_serial.jl | 5 +- .../Preconditioners/ModelPreconditioners.jl | 2 + src/TimeModeling/Types/GeometryStructure.jl | 3 +- test/test_geometry.jl | 55 ++++++++++--------- 7 files changed, 43 insertions(+), 40 deletions(-) diff --git a/Project.toml b/Project.toml index 696221da6..7a3d686bf 100644 --- a/Project.toml +++ b/Project.toml @@ -43,3 +43,4 @@ TimerOutputs = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f" [targets] test = ["Aqua", "ArgParse", "JLD2", "Printf", "Test", "TimerOutputs", "Flux"] + diff --git a/src/TimeModeling/Modeling/misfit_fg.jl b/src/TimeModeling/Modeling/misfit_fg.jl index 980c2bc97..f14dd7f81 100644 --- a/src/TimeModeling/Modeling/misfit_fg.jl +++ b/src/TimeModeling/Modeling/misfit_fg.jl @@ -1,8 +1,8 @@ export fwi_objective, lsrtm_objective, fwi_objective!, lsrtm_objective! -function multi_src_fg(model_full::AbstractModel, source::judiVector, dObs::judiVector, dm, options::JUDIOptions, nlind::Bool, lin::Bool, - misfit::Function) +function multi_src_fg(model_full::AbstractModel, source::judiVector, dObs::judiVector, dm, options::JUDIOptions, + nlind::Bool, lin::Bool, misfit::Function, illum::Bool) # Setup time-domain linear or nonlinear foward and adjoint modeling and interface to devito GC.gc(true) devito.clear_cache() @@ -14,9 +14,6 @@ function multi_src_fg(model_full::AbstractModel, source::judiVector, dObs::judiV dObs.geometry = Geometry(dObs.geometry) source.geometry = Geometry(source.geometry) - # Compute illumination ? - illum = compute_illum(model_full, :adjoint_born) - # Limit model to area with sources/receivers if options.limit_m == true @juditime "Limit model to geometry" begin diff --git a/src/TimeModeling/Modeling/propagation.jl b/src/TimeModeling/Modeling/propagation.jl index 99087450a..64596c203 100644 --- a/src/TimeModeling/Modeling/propagation.jl +++ b/src/TimeModeling/Modeling/propagation.jl @@ -4,9 +4,9 @@ Base propagation interfaces that calls the devito `mode` propagator (forward/adjoint/..) with `q` as a source. The return type is infered from `F`. """ -function propagate(F::judiPropagator{T, O}, q::AbstractArray{T}) where {T, O} +function propagate(F::judiPropagator{T, O}, q::AbstractArray{T}, illum::Bool) where {T, O} srcGeometry, srcData, recGeometry, recData, dm = make_input(F, q) - return time_modeling(F.model, srcGeometry, srcData, recGeometry, recData, dm, O, F.options, _prop_fw(F)) + return time_modeling(F.model, srcGeometry, srcData, recGeometry, recData, dm, O, F.options, _prop_fw(F), illum) end propagate(t::Tuple{judiPropagator, AbstractArray}) = propagate(t[1], t[2]) @@ -80,7 +80,8 @@ function multi_src_propagate(F::judiPropagator{T, O}, q::AbstractArray{T}) where # Number of sources and init result nsrc = get_nsrc(F, q) pool = _worker_pool() - arg_func = i -> (F[i], src_i(F, q, i)) + illum = compute_illum(F.model, O) + arg_func = i -> (F[i], src_i(F, q, i), illum) # Distribute source res = run_and_reduce(propagate, pool, nsrc, arg_func) res = update_illum(res, F) @@ -101,8 +102,9 @@ function multi_src_fg!(G, model, q, dobs, dm; options=Options(), kw...) # Number of sources and init result nsrc = try q.nsrc catch; dobs.nsrc end pool = _worker_pool() + illum = compute_illum(model, :adjoint_born) # Distribute source - arg_func = i -> (model, q[i], dobs[i], dm, options[i], values(kw)...) + arg_func = i -> (model, q[i], dobs[i], dm, options[i], values(kw)..., illum) # Distribute source res = run_and_reduce(multi_src_fg, pool, nsrc, arg_func) f, g = update_illum(res, model, :adjoint_born) diff --git a/src/TimeModeling/Modeling/time_modeling_serial.jl b/src/TimeModeling/Modeling/time_modeling_serial.jl index ca67302ca..7b9f5eeee 100644 --- a/src/TimeModeling/Modeling/time_modeling_serial.jl +++ b/src/TimeModeling/Modeling/time_modeling_serial.jl @@ -8,7 +8,7 @@ PhysOrNot = Union{PhysicalParameter, Array, Nothing} # Setup time-domain linear or nonlinear foward and adjoint modeling and interface to devito function time_modeling(model_full::AbstractModel, srcGeometry::GeomOrNot, srcData::ArrayOrNot, recGeometry::GeomOrNot, recData::ArrayOrNot, dm::PhysOrNot, - op::Symbol, options::JUDIOptions, fw::Bool) + op::Symbol, options::JUDIOptions, fw::Bool, illum::Bool) GC.gc(true) devito.clear_cache() @@ -21,9 +21,6 @@ function time_modeling(model_full::AbstractModel, srcGeometry::GeomOrNot, srcDat return judiVector(recGeometry, zeros(Float32, recGeometry.nt[1], length(recGeometry.xloc[1]))) end - # Compute illumination ? - illum = compute_illum(model_full, op) - # limit model to area with sources/receivers if options.limit_m == true @juditime "Limit model to geometry" begin diff --git a/src/TimeModeling/Preconditioners/ModelPreconditioners.jl b/src/TimeModeling/Preconditioners/ModelPreconditioners.jl index bf0e9cf5d..4a32c6d65 100644 --- a/src/TimeModeling/Preconditioners/ModelPreconditioners.jl +++ b/src/TimeModeling/Preconditioners/ModelPreconditioners.jl @@ -185,6 +185,8 @@ end function set_val(I::judiIllumination{T, M, K, R}, mode, v) where {T, M, K, R} key = mode ∈ [:forward, :born] ? "u" : "v" if key in keys(I.illums) + # For safety when propagation doesn't reach all the model + v[v .== 0] .= 1f0 combine!(I.illums[key], v) end end diff --git a/src/TimeModeling/Types/GeometryStructure.jl b/src/TimeModeling/Types/GeometryStructure.jl index b45649b05..9f6afdfeb 100644 --- a/src/TimeModeling/Types/GeometryStructure.jl +++ b/src/TimeModeling/Types/GeometryStructure.jl @@ -242,6 +242,7 @@ function timings_from_segy(data, dt=nothing, t=nothing, t0=nothing) return [range(t0[j], step=dtCell[j], stop=tCell[j]) for j=1:nsrc] end +segy_t0(b::Vector{SeisCon}, i) = segy_t0(b[i], 1) segy_t0(b::SeisBlock, i) = segy_t0(b) segy_t0(b::SeisCon, i) = segy_t0(b.blocks[i]) segy_t0(b::SeisBlock) = segy_t0(b.fileheader.bfh) @@ -556,7 +557,7 @@ Merge all the sub-geometries `1:get_nsrc(Geometry)` into a single supershot geom """ function super_shot_geometry(G::Geometry{T}) where T as_set = coords_from_set(as_coord_set(G)) - return GeometryIC{T}(as_set..., [G.t[1]]) + return GeometryIC{T}(as_set..., [G.taxis[1]]) end diff --git a/test/test_geometry.jl b/test/test_geometry.jl index 21a33393f..31ec651d8 100644 --- a/test/test_geometry.jl +++ b/test/test_geometry.jl @@ -23,12 +23,13 @@ datapath = joinpath(dirname(pathof(JUDI)))*"/../data/" geometry_t = Geometry(xsrc, ysrc, zsrc; dt=2, t=1000) @test geometry_t == geometry - @test isequal(typeof(geometry.xloc), Array{Array{Float32,1}, 1}) - @test isequal(typeof(geometry.yloc), Array{Array{Float32,1}, 1}) - @test isequal(typeof(geometry.zloc), Array{Array{Float32,1}, 1}) - @test isequal(typeof(geometry.nt), Array{Integer, 1}) - @test isequal(typeof(geometry.dt), Array{Float32, 1}) - @test isequal(typeof(geometry.t), Array{Float32, 1}) + @test isa(geometry.xloc, Vector{Array{Float32,1}}) + @test isa(geometry.yloc, Vector{Array{Float32,1}}) + @test isa(geometry.zloc, Vector{Array{Float32,1}}) + @test isa(geometry.nt, Vector{Int}) + @test isa(geometry.dt, Vector{Float32}) + @test isa(geometry.t, Vector{Float32}) + @test isa(geometry.taxis, Vector{<:StepRangeLen{Float32}}) # Constructor if coordinates are not passed as a cell arrays xsrc = range(100f0, stop=1100f0, length=2)[1:nsrc] @@ -37,20 +38,22 @@ datapath = joinpath(dirname(pathof(JUDI)))*"/../data/" geometry = Geometry(xsrc, ysrc, zsrc; dt=4f0, t=1000f0, nsrc=nsrc) - @test isequal(typeof(geometry.xloc), Array{Array{Float32,1}, 1}) - @test isequal(typeof(geometry.yloc), Array{Array{Float32,1}, 1}) - @test isequal(typeof(geometry.zloc), Array{Array{Float32,1}, 1}) - @test isequal(typeof(geometry.nt), Array{Integer, 1}) - @test isequal(typeof(geometry.dt), Array{Float32, 1}) - @test isequal(typeof(geometry.t), Array{Float32, 1}) - + @test isa(geometry.xloc, Vector{Array{Float32,1}}) + @test isa(geometry.yloc, Vector{Array{Float32,1}}) + @test isa(geometry.zloc, Vector{Array{Float32,1}}) + @test isa(nt(geometry), Vector{Int}) + @test isa(dt(geometry), Vector{Float32}) + @test isa(t(geometry), Vector{Float32}) + @test isa(t0(geometry), Vector{Float32}) + @test isa(geometry.taxis, Vector{<:StepRangeLen{Float32}}) + # Set up source geometry object from in-core data container block = segy_read(datapath*"unit_test_shot_records_$(nsrc).segy"; warn_user=false) src_geometry = Geometry(block; key="source", segy_depth_key="SourceSurfaceElevation") rec_geometry = Geometry(block; key="receiver", segy_depth_key="RecGroupElevation") - @test isequal(typeof(src_geometry), GeometryIC{Float32}) - @test isequal(typeof(rec_geometry), GeometryIC{Float32}) + @test isa(src_geometry, GeometryIC{Float32}) + @test isa(rec_geometry, GeometryIC{Float32}) @test isequal(get_header(block, "SourceSurfaceElevation")[1], src_geometry.zloc[1][1]) @test isequal(get_header(block, "RecGroupElevation")[1], rec_geometry.zloc[1][1]) @test isequal(get_header(block, "SourceX")[1], src_geometry.xloc[1][1]) @@ -61,8 +64,8 @@ datapath = joinpath(dirname(pathof(JUDI)))*"/../data/" src_geometry = Geometry(container; key="source", segy_depth_key="SourceSurfaceElevation") rec_geometry = Geometry(container; key="receiver", segy_depth_key="RecGroupElevation") - @test isequal(typeof(src_geometry), GeometryOOC{Float32}) - @test isequal(typeof(rec_geometry), GeometryOOC{Float32}) + @test isa(src_geometry, GeometryOOC{Float32}) + @test isa(rec_geometry, GeometryOOC{Float32}) @test isequal(src_geometry.key, "source") @test isequal(rec_geometry.key, "receiver") @test isequal(src_geometry.segy_depth_key, "SourceSurfaceElevation") @@ -78,8 +81,8 @@ datapath = joinpath(dirname(pathof(JUDI)))*"/../data/" src_geometry = Geometry(container_cell; key="source", segy_depth_key="SourceSurfaceElevation") rec_geometry = Geometry(container_cell; key="receiver", segy_depth_key="RecGroupElevation") - @test isequal(typeof(src_geometry), GeometryOOC{Float32}) - @test isequal(typeof(rec_geometry), GeometryOOC{Float32}) + @test isa(src_geometry, GeometryOOC{Float32}) + @test isa(rec_geometry, GeometryOOC{Float32}) @test isequal(src_geometry.key, "source") @test isequal(rec_geometry.key, "receiver") @test isequal(src_geometry.segy_depth_key, "SourceSurfaceElevation") @@ -90,8 +93,8 @@ datapath = joinpath(dirname(pathof(JUDI)))*"/../data/" src_geometry_ic = Geometry(src_geometry) rec_geometry_ic = Geometry(rec_geometry) - @test isequal(typeof(src_geometry_ic), GeometryIC{Float32}) - @test isequal(typeof(rec_geometry_ic), GeometryIC{Float32}) + @test isa(src_geometry_ic, GeometryIC{Float32}) + @test isa(rec_geometry_ic, GeometryIC{Float32}) @test isequal(get_header(block, "SourceSurfaceElevation")[1], src_geometry_ic.zloc[1][1]) @test isequal(get_header(block, "RecGroupElevation")[1], rec_geometry_ic.zloc[1][1]) @test isequal(get_header(block, "SourceX")[1], src_geometry_ic.xloc[1][1]) @@ -99,25 +102,25 @@ datapath = joinpath(dirname(pathof(JUDI)))*"/../data/" # Subsample in-core geometry structure src_geometry_sub = subsample(src_geometry_ic, 1) - @test isequal(typeof(src_geometry_sub), GeometryIC{Float32}) + @test isa(src_geometry_sub, GeometryIC{Float32}) @test isequal(length(src_geometry_sub.xloc), 1) src_geometry_sub = subsample(src_geometry_ic, 1:1) - @test isequal(typeof(src_geometry_sub), GeometryIC{Float32}) + @test isa(src_geometry_sub, GeometryIC{Float32}) @test isequal(length(src_geometry_sub.xloc), 1) inds = nsrc > 1 ? (1:nsrc) : 1 src_geometry_sub = subsample(src_geometry_ic, inds) - @test isequal(typeof(src_geometry_sub), GeometryIC{Float32}) + @test isa(src_geometry_sub, GeometryIC{Float32}) @test isequal(length(src_geometry_sub.xloc), nsrc) # Subsample out-of-core geometry structure src_geometry_sub = subsample(src_geometry, 1) - @test isequal(typeof(src_geometry_sub), GeometryOOC{Float32}) + @test isa(src_geometry_sub, GeometryOOC{Float32}) @test isequal(length(src_geometry_sub.dt), 1) @test isequal(src_geometry_sub.segy_depth_key, "SourceSurfaceElevation") src_geometry_sub = subsample(src_geometry, inds) - @test isequal(typeof(src_geometry_sub), GeometryOOC{Float32}) + @test isa(src_geometry_sub, GeometryOOC{Float32}) @test isequal(length(src_geometry_sub.dt), nsrc) @test isequal(src_geometry_sub.segy_depth_key, "SourceSurfaceElevation") From 9d0d91947f8fa82f37747113dc14517b24ca0179 Mon Sep 17 00:00:00 2001 From: mloubout Date: Fri, 2 Feb 2024 22:04:04 -0500 Subject: [PATCH 09/27] switch all requires to extension --- Project.toml | 9 +++++ src/JUDI.jl | 37 +++++++++++-------- src/TimeModeling/LinearOperators/operators.jl | 1 + src/TimeModeling/Modeling/misfit_fg.jl | 7 +++- src/TimeModeling/Modeling/propagation.jl | 4 +- src/TimeModeling/Types/GeometryStructure.jl | 23 ++++++------ src/TimeModeling/Types/abstract.jl | 4 +- src/TimeModeling/Types/judiVector.jl | 11 +++--- src/TimeModeling/Utils/auxiliaryFunctions.jl | 4 +- test/test_geometry.jl | 9 +++-- 10 files changed, 67 insertions(+), 42 deletions(-) diff --git a/Project.toml b/Project.toml index 7a3d686bf..86d126c1d 100644 --- a/Project.toml +++ b/Project.toml @@ -32,6 +32,11 @@ SegyIO = "0.7.7 - 0.8.3, >= 0.8.5" TimerOutputs = "0.5" julia = "1.6" +[extensions] +FluxJUDIExt = "Flux" +JLD2JUDIExt = "JLD2" +ZygoteJUDIExt = "Zygote" + [extras] Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595" ArgParse = "c7e460c6-2fb9-53a9-8c5b-16f535851c63" @@ -44,3 +49,7 @@ TimerOutputs = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f" [targets] test = ["Aqua", "ArgParse", "JLD2", "Printf", "Test", "TimerOutputs", "Flux"] +[weakdeps] +Flux = "587475ba-b771-5e3f-ad9e-33799f191a9c" +JLD2 = "033835bb-8acc-5ee8-8aae-3f567f8a3819" +Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" diff --git a/src/JUDI.jl b/src/JUDI.jl index 4365b07d1..a247053e9 100644 --- a/src/JUDI.jl +++ b/src/JUDI.jl @@ -9,6 +9,12 @@ module JUDI export JUDIPATH, set_verbosity, ftp_data, get_serial, set_serial, set_parallel JUDIPATH = dirname(pathof(JUDI)) + +# Only needed if extension not available (julia < 1.9) +if !isdefined(Base, :get_extension) + using Requires +end + # Dependencies using LinearAlgebra, Random using Distributed @@ -16,7 +22,6 @@ using DSP, FFTW, Dierckx using PyCall using JOLI, SegyIO using ChainRulesCore -using Requires using OrderedCollections # Import Base functions to dispatch on JUDI types @@ -180,23 +185,23 @@ function __init__() global _devices = parse.(Int, get(ENV, "CUDA_VISIBLE_DEVICES", "-1")) end - # Additional Zygote compat if in use - @require Zygote="e88e6eb3-aa80-5325-afca-941959d7151f" begin - Zygote.unbroadcast(x::AbstractArray, x̄::LazyPropagation) = Zygote.unbroadcast(x, eval_prop(x̄)) - function Zygote.accum(x::judiVector{T, AT}, y::DenseArray) where {T, AT} - newd = [Zygote.accum(x.data[i], y[:, :, i, 1]) for i=1:x.nsrc] - return judiVector{T, AT}(x.nsrc, x.geometry, newd) + @static if !isdefined(Base, :get_extension) + + # JLD2 compat for loading older version of JUDI types + @requires JLD2="033835bb-8acc-5ee8-8aae-3f567f8a3b3d" begin + include("../ext/Jld2JUDIExt.jl") + end + + # Additional Zygote compat if in use + @require Zygote="e88e6eb3-aa80-5325-afca-941959d7151f" begin + include("../ext/ZygoteJUDIExt.jl") + end + + # Additional Flux compat if in use + @require Flux="587475ba-b771-5e3f-ad9e-33799f191a9c" begin + include("../ext/FluxJUDIExt.jl") end - end - # Additional Flux compat if in use - @require Flux="587475ba-b771-5e3f-ad9e-33799f191a9c" begin - Flux.Zygote.unbroadcast(x::AbstractArray, x̄::LazyPropagation) = Zygote.unbroadcast(x, eval_prop(x̄)) - Flux.cpu(x::LazyPropagation) = Flux.cpu(eval_prop(x)) - Flux.gpu(x::LazyPropagation) = Flux.gpu(eval_prop(x)) - Flux.CUDA.cu(F::LazyPropagation) = Flux.CUDA.cu(eval_prop(F)) - Flux.CUDA.cu(x::Vector{Matrix{T}}) where T = [Flux.CUDA.cu(x[i]) for i=1:length(x)] - Flux.CUDA.cu(x::judiVector{T, Matrix{T}}) where T = judiVector{T, Flux.CUDA.CuMatrix{T}}(x.nsrc, x.geometry, Flux.CUDA.cu(x.data)) end # BLAS num threads for dense LA such as sinc interpolation diff --git a/src/TimeModeling/LinearOperators/operators.jl b/src/TimeModeling/LinearOperators/operators.jl index 1039122b8..715ce6fc7 100644 --- a/src/TimeModeling/LinearOperators/operators.jl +++ b/src/TimeModeling/LinearOperators/operators.jl @@ -75,6 +75,7 @@ end ############################################################################################################################ # Base and JOLI compat +_get_property(::judiPropagator{T, O}, ::Val{:mode}) where {T, O} = O _get_property(J::judiPropagator, ::Val{:fop}) = x -> J*x _get_property(J::judiPropagator, ::Val{:fop_T}) = x -> J'*x _get_property(J::judiPropagator, ::Val{:name}) = "$(typeof(J))" diff --git a/src/TimeModeling/Modeling/misfit_fg.jl b/src/TimeModeling/Modeling/misfit_fg.jl index f14dd7f81..b27445312 100644 --- a/src/TimeModeling/Modeling/misfit_fg.jl +++ b/src/TimeModeling/Modeling/misfit_fg.jl @@ -85,8 +85,13 @@ end ####### Defaults multi_src_fg(model_full::AbstractModel, source::judiVector, dObs::judiVector, dm, options::JUDIOptions, nlind::Bool, lin::Bool) = - multi_src_fg(model_full::AbstractModel, source::judiVector, dObs::judiVector, dm, options::JUDIOptions, nlind::Bool, lin::Bool, mse) + multi_src_fg(model_full::AbstractModel, source::judiVector, dObs::judiVector, dm, options::JUDIOptions, nlind::Bool, lin::Bool, mse, false) +multi_src_fg(model_full::AbstractModel, source::judiVector, dObs::judiVector, dm, options::JUDIOptions, nlind::Bool, lin::Bool, illum::Bool) = + multi_src_fg(model_full::AbstractModel, source::judiVector, dObs::judiVector, dm, options::JUDIOptions, nlind::Bool, lin::Bool, mse, illum) + +multi_src_fg(model_full::AbstractModel, source::judiVector, dObs::judiVector, dm, options::JUDIOptions, nlind::Bool, lin::Bool, phi::Function) = + multi_src_fg(model_full::AbstractModel, source::judiVector, dObs::judiVector, dm, options::JUDIOptions, nlind::Bool, lin::Bool, phi, false) # Find number of experiments """ diff --git a/src/TimeModeling/Modeling/propagation.jl b/src/TimeModeling/Modeling/propagation.jl index 64596c203..b68e04b53 100644 --- a/src/TimeModeling/Modeling/propagation.jl +++ b/src/TimeModeling/Modeling/propagation.jl @@ -9,7 +9,9 @@ function propagate(F::judiPropagator{T, O}, q::AbstractArray{T}, illum::Bool) wh return time_modeling(F.model, srcGeometry, srcData, recGeometry, recData, dm, O, F.options, _prop_fw(F), illum) end -propagate(t::Tuple{judiPropagator, AbstractArray}) = propagate(t[1], t[2]) +propagate(t::Tuple{judiPropagator, AbstractArray}) = propagate(t[1], t[2], compute_illum(t[1].model, t[1].mode)) +propagate(F::judiPropagator{T, O}, q::AbstractArray{T}) where {T, O} = propagate(F, q, compute_illum(F.model, O)) + """ run_and_reduce(func, pool, nsrc, arg_func) diff --git a/src/TimeModeling/Types/GeometryStructure.jl b/src/TimeModeling/Types/GeometryStructure.jl index 9f6afdfeb..145b5ff24 100644 --- a/src/TimeModeling/Types/GeometryStructure.jl +++ b/src/TimeModeling/Types/GeometryStructure.jl @@ -4,7 +4,7 @@ # export Geometry, compareGeometry, GeometryIC, GeometryOOC, get_nsrc, n_samples, super_shot_geometry -export reciprocal_geom, t, dt, nt, t0 +export reciprocal_geom abstract type Geometry{T} end @@ -23,8 +23,8 @@ mutable struct GeometryIC{T} <: Geometry{T} zloc::CoordT{T} taxis::Vector{<:StepRangeLen{T}} # Legacy - function GeometryIC{T}(xloc::CoordT{T}, yloc::CoordT{T}, zloc::CoordT{T}, dt::Vector{T}, nt::Vector{Integer}, ::Vector{T}) where T - tranges = [StepRangeLen(T(0), T(dti), T(nti)) for (dti, nti) in zip(dt, nt)] + function GeometryIC{T}(xloc::CoordT{T}, yloc::CoordT{T}, zloc::CoordT{T}, dt::Vector{T}, nt::Vector{<:Integer}, ::Vector{T}) where T + tranges = [StepRangeLen(T(0), T(dti), nti) for (dti, nti) in zip(dt, nt)] new(xloc, yloc, zloc, tranges) end # Default constructor @@ -38,14 +38,14 @@ function getproperty(G::Geometry, s::Symbol) return length.(G.xloc) end # Legacy dt/nt/t - if s in [:dt, :t, :nt] - depwarn("Deprecated geometry.$s use $s(geometry) instead", s, force=true) + if s in [:dt, :t, :nt, :t0] return eval(s)(G) end return getfield(G, s) end + # Out-of-core geometry structure, contains look-up table instead of coordinates mutable struct GeometryOOC{T} <: Geometry{T} container::Vector{SegyIO.SeisCon} @@ -55,7 +55,7 @@ mutable struct GeometryOOC{T} <: Geometry{T} segy_depth_key::String # Legacy function GeometryOOC{T}(container::Vector{SegyIO.SeisCon}, dt::Vector{T}, nt::Vector{<:Integer}, ::Vector{T}, nrec::Vector{<:Integer}, key::String, segy_depth_key::String) where T - tranges = [StepRangeLen(T(0), T(dti), T(nti)) for (dti, nti) in zip(dt, nt)] + tranges = [StepRangeLen(T(0), T(dti), nti) for (dti, nti) in zip(dt, nt)] return new{T}(container, tranges, nrec, key, segy_depth_key) end # Default constructor @@ -180,7 +180,8 @@ function Geometry(xloc, yloc, zloc; dt=nothing, t=nothing, nsrc=nothing, t0=0) return Geometry(tof32(xloc), tof32(yloc), tof32(zloc); dt=dt, t=t, nsrc=nsrc, t0=t0) end -Geometry(xloc::CoordT, yloc::CoordT, zloc::CoordT, dt::Array{T,1}, nt::Array{Integer,1}, t::Array{T,1}) where {T<:Real} = GeometryIC{T}(xloc,yloc,zloc,dt,nt,t) +Geometry(xloc::CoordT, yloc::CoordT, zloc::CoordT, dt::Vector{T}, nt::Vector{<:Integer}, t::Vector{T}) where {T<:Real} = GeometryIC{T}(xloc,yloc,zloc,dt,nt, t) +Geometry(xloc::CoordT, yloc::CoordT, zloc::CoordT, dt::Vector{T}, nt::Vector{T}, t::Vector{T}) where {T<:Real} = GeometryIC{T}(xloc,yloc,zloc,dt,convert(Vector{Int64}, nt), t) # For easy 2D setup Geometry(xloc, zloc; kw...) = Geometry(xloc, 0 .* xloc, zloc; kw...) @@ -498,15 +499,15 @@ check_geom(geom::Geometry, data::Array{T}) where T = all([check_geom(geom[s], da check_geom(geom::Geometry, data::Array{T}) where {T<:Number} = _check_geom(nt(geom, 1), size(data, 1)) && _check_geom(geom.nrec[1], size(data, 2)) function check_geom(geom::Geometry, data::SeisBlock) - nt(geom, 1) <= data.fileheader.bfh.ns || _geom_missmatch(nt(geom, 1), data.fileheader.bfh.ns) - nt(geom, 1) <= data.fileheader.bfh.nsOrig || _geom_missmatch(nt(geom, 1), data.fileheader.bfh.nsOrig) + nt_segy = max(data.fileheader.bfh.ns, data.fileheader.bfh.nsOrig) + nt(geom, 1) <= nt_segy || _geom_missmatch(nt(geom, 1), nt_segy) end function check_geom(geom::Geometry, data::SeisCon) for s = 1:get_nsrc(geom) fh = read_fileheader(data.blocks[s].file) - nt(geom, s) <= fh.bfh.ns || _geom_missmatch(nt(geom, s), fh.bfh.ns) - nt(geom, s) <= fh.bfh.nsOrig || _geom_missmatch(nt(geom, s), fh.bfh.nsOrig) + nt_segy = max(fh.bfh.ns, fh.bfh.nsOrig) + nt(geom, s) <= nt_segy || _geom_missmatch(nt(geom, s), nt_segy) end end diff --git a/src/TimeModeling/Types/abstract.jl b/src/TimeModeling/Types/abstract.jl index 50c4c3160..f8fd3d0d0 100644 --- a/src/TimeModeling/Types/abstract.jl +++ b/src/TimeModeling/Types/abstract.jl @@ -208,6 +208,6 @@ end tof32(x::Number) = [Float32(x)] tof32(x::Array{T, N}) where {N, T<:Real} = T==Float32 ? x : Float32.(x) tof32(x::Array{Array{T, N}, 1}) where {N, T<:Real} = T==Float32 ? x : tof32.(x) -tof32(x::Array{Any, 1}) = try Float32.(x) catch e tof32.(x) end -tof32(x::StepRangeLen) = convert(Vector{Float32}, x) +tof32(x::Vector{Any}) = try Float32.(x) catch e tof32.(x) end +tof32(x::T) where {T<:StepRangeLen} = convert(Vector{Float32}, x) tof32(x::Vector{<:StepRangeLen}) = tof32.(x) diff --git a/src/TimeModeling/Types/judiVector.jl b/src/TimeModeling/Types/judiVector.jl index 6d7fd5406..f2fd60b45 100644 --- a/src/TimeModeling/Types/judiVector.jl +++ b/src/TimeModeling/Types/judiVector.jl @@ -24,8 +24,9 @@ end """ judiVector + nsrc::Integer geometry::Geometry - data + data::Vector Abstract vector for seismic data. This vector-like structure contains the geometry and data for either\\ receiver data (shot records) or source data (wavelets). @@ -156,8 +157,8 @@ function as_ordered_dict(x::judiVector{T, AT}; v=1) where {T, AT} return jdict end -function from_ordered_dict(d::OrderedDict{NTuple{N, T}}, dt::T, nt::Integer, t::T) where {N, T} - Gnew = GeometryIC{T}(coords_from_keys(d.keys)..., [dt], [nt], [t]) +function from_ordered_dict(d::OrderedDict{NTuple{N, T}}, t::AbstractRange{T}) where {N, T} + Gnew = GeometryIC{T}(coords_from_keys(d.keys)..., [t]) return judiVector{T, Matrix{T}}(1, Gnew, [hcat(d.vals...)]) end @@ -165,7 +166,7 @@ function pad_zeros(zpad::OrderedDict, m::T, d::judiVector{T, AT}) where {T, AT} @assert d.nsrc == 1 dloc = as_ordered_dict(d; v=m) sort!(merge!(.+, dloc, zpad)) - return from_ordered_dict(dloc, dt(d.geometry, 1), nt(d.geometry, 1), t(d.geometry, 1)) + return from_ordered_dict(dloc, d.geometry.taxis[1]) end function simsource(M::Vector{T}, x::judiVector{T, AT}; reduction=+, minimal::Bool=false) where {T, AT} @@ -180,7 +181,7 @@ function simsource(M::Vector{T}, x::judiVector{T, AT}; reduction=+, minimal::Boo reduction = minimal ? PopZero() : reduction sdict = mergewith!(reduction, map((d, m)->as_ordered_dict(d; v=m), x, M)...) sort!(sdict) - dOut = from_ordered_dict(sdict, dt(x.geometry, 1), nt(x.geometry, 1), t(x.geometry, 1)) + dOut = from_ordered_dict(sdict, x.geometry.taxis[1]) end return dOut end diff --git a/src/TimeModeling/Utils/auxiliaryFunctions.jl b/src/TimeModeling/Utils/auxiliaryFunctions.jl index 543938ce0..1e4b4ddf0 100644 --- a/src/TimeModeling/Utils/auxiliaryFunctions.jl +++ b/src/TimeModeling/Utils/auxiliaryFunctions.jl @@ -751,7 +751,7 @@ function transducer(q::judiVector{T, AT}, d::Tuple, r::Number, theta) where {T<: yloc = Vector{Vector{T}}(undef, nsrc) zloc = Vector{Vector{T}}(undef, nsrc) data = Vector{Matrix{T}}(undef, nsrc) - t = q.geometry.taxis[1] + t = q.geometry.taxis[1:1] for i=1:nsrc # Build the rotated array of dipole @@ -767,7 +767,7 @@ function transducer(q::judiVector{T, AT}, d::Tuple, r::Number, theta) where {T<: data[i][:, 1:nsrc_loc] .= q.data[i]/nsrc_loc data[i][:, nsrc_loc+1:end] .= -q.data[i]/nsrc_loc end - return judiVector(Geometry(xloc, yloc, zloc, t), data) + return judiVector(GeometryIC{Float32}(xloc, yloc, zloc, t), data) end ########################################### Misc defaults diff --git a/test/test_geometry.jl b/test/test_geometry.jl index 31ec651d8..17f0e22c3 100644 --- a/test/test_geometry.jl +++ b/test/test_geometry.jl @@ -29,6 +29,7 @@ datapath = joinpath(dirname(pathof(JUDI)))*"/../data/" @test isa(geometry.nt, Vector{Int}) @test isa(geometry.dt, Vector{Float32}) @test isa(geometry.t, Vector{Float32}) + @test isa(geometry.t0, Vector{Float32}) @test isa(geometry.taxis, Vector{<:StepRangeLen{Float32}}) # Constructor if coordinates are not passed as a cell arrays @@ -41,10 +42,10 @@ datapath = joinpath(dirname(pathof(JUDI)))*"/../data/" @test isa(geometry.xloc, Vector{Array{Float32,1}}) @test isa(geometry.yloc, Vector{Array{Float32,1}}) @test isa(geometry.zloc, Vector{Array{Float32,1}}) - @test isa(nt(geometry), Vector{Int}) - @test isa(dt(geometry), Vector{Float32}) - @test isa(t(geometry), Vector{Float32}) - @test isa(t0(geometry), Vector{Float32}) + @test isa(geometry.nt, Vector{Int}) + @test isa(geometry.dt, Vector{Float32}) + @test isa(geometry.t, Vector{Float32}) + @test isa(geometry.t0, Vector{Float32}) @test isa(geometry.taxis, Vector{<:StepRangeLen{Float32}}) # Set up source geometry object from in-core data container From 69bbf5f2032dccc788371de9dfc855e71fb7d4be Mon Sep 17 00:00:00 2001 From: mloubout Date: Sun, 4 Feb 2024 20:04:44 -0500 Subject: [PATCH 10/27] add extensions --- ext/FluxJUDIExt.jl | 13 +++++++ ext/JLD2JUDIExt.jl | 17 ++++++++++ ext/ZygoteJUDIExt.jl | 13 +++++++ src/JUDI.jl | 9 +++-- src/TimeModeling/Modeling/misfit_fg.jl | 11 +----- src/TimeModeling/Modeling/python_interface.jl | 2 ++ .../Preconditioners/DataPreconditioners.jl | 10 +++--- src/TimeModeling/Types/GeometryStructure.jl | 32 ++++++++--------- src/TimeModeling/Types/judiVector.jl | 10 +++--- src/TimeModeling/Utils/auxiliaryFunctions.jl | 34 ++++++++++++++----- 10 files changed, 104 insertions(+), 47 deletions(-) create mode 100644 ext/FluxJUDIExt.jl create mode 100644 ext/JLD2JUDIExt.jl create mode 100644 ext/ZygoteJUDIExt.jl diff --git a/ext/FluxJUDIExt.jl b/ext/FluxJUDIExt.jl new file mode 100644 index 000000000..b3bac6982 --- /dev/null +++ b/ext/FluxJUDIExt.jl @@ -0,0 +1,13 @@ +module FluxJUDIExt + +isdefined(Base, :get_extension) ? (using JUDI) : (using ..JUDI) +using Flux + +Flux.Zygote.unbroadcast(x::AbstractArray, x̄::LazyPropagation) = Zygote.unbroadcast(x, eval_prop(x̄)) +Flux.cpu(x::LazyPropagation) = Flux.cpu(eval_prop(x)) +Flux.gpu(x::LazyPropagation) = Flux.gpu(eval_prop(x)) +Flux.CUDA.cu(F::LazyPropagation) = Flux.CUDA.cu(eval_prop(F)) +Flux.CUDA.cu(x::Vector{Matrix{T}}) where T = [Flux.CUDA.cu(x[i]) for i=1:length(x)] +Flux.CUDA.cu(x::judiVector{T, Matrix{T}}) where T = judiVector{T, Flux.CUDA.CuMatrix{T}}(x.nsrc, x.geometry, Flux.CUDA.cu(x.data)) + +end \ No newline at end of file diff --git a/ext/JLD2JUDIExt.jl b/ext/JLD2JUDIExt.jl new file mode 100644 index 000000000..1854751b5 --- /dev/null +++ b/ext/JLD2JUDIExt.jl @@ -0,0 +1,17 @@ +module JLD2JUDIExt + +isdefined(Base, :get_extension) ? (using JUDI) : (using ..JUDI) +using JLD2 + +function JLD2.rconvert(::Type{Geometry}, x::JLD2.ReconstructedMutable{N, FN, NT}) where {N, FN, NT} + args = [JUDI.tof32(getproperty(x, f)) for f in FN] + return Geometry(args...) +end + +function JUDI.tof32(x::JLD2.ReconstructedStatic{N, FN, NT}) where {N, FN, NT} + # Drop "typed" signature + reconstructT = Symbol(split(string(N), "{")[1]) + return JUDI.tof32(eval(reconstructT)([getproperty(x, f) for f in FN]...)) +end + +end \ No newline at end of file diff --git a/ext/ZygoteJUDIExt.jl b/ext/ZygoteJUDIExt.jl new file mode 100644 index 000000000..2f02f072a --- /dev/null +++ b/ext/ZygoteJUDIExt.jl @@ -0,0 +1,13 @@ +module ZygoteJUDIExt + +isdefined(Base, :get_extension) ? (using JUDI) : (using ..JUDI) +using Zygote + +Zygote.unbroadcast(x::AbstractArray, x̄::LazyPropagation) = Zygote.unbroadcast(x, eval_prop(x̄)) + +function Zygote.accum(x::judiVector{T, AT}, y::DenseArray) where {T, AT} + newd = [Zygote.accum(x.data[i], y[:, :, i, 1]) for i=1:x.nsrc] + return judiVector{T, AT}(x.nsrc, x.geometry, newd) +end + +end \ No newline at end of file diff --git a/src/JUDI.jl b/src/JUDI.jl index a247053e9..40a95622c 100644 --- a/src/JUDI.jl +++ b/src/JUDI.jl @@ -185,23 +185,26 @@ function __init__() global _devices = parse.(Int, get(ENV, "CUDA_VISIBLE_DEVICES", "-1")) end + # Optional dependencies @static if !isdefined(Base, :get_extension) # JLD2 compat for loading older version of JUDI types - @requires JLD2="033835bb-8acc-5ee8-8aae-3f567f8a3b3d" begin - include("../ext/Jld2JUDIExt.jl") + @require JLD2="033835bb-8acc-5ee8-8aae-3f567f8a3b3d" begin + include("../ext/JLD2JUDIExt.jl") + using JLD2JUDIExt end # Additional Zygote compat if in use @require Zygote="e88e6eb3-aa80-5325-afca-941959d7151f" begin include("../ext/ZygoteJUDIExt.jl") + using ZygoteJUDIExt end # Additional Flux compat if in use @require Flux="587475ba-b771-5e3f-ad9e-33799f191a9c" begin include("../ext/FluxJUDIExt.jl") + using FluxJUDIExt end - end # BLAS num threads for dense LA such as sinc interpolation diff --git a/src/TimeModeling/Modeling/misfit_fg.jl b/src/TimeModeling/Modeling/misfit_fg.jl index b27445312..4ad179cb7 100644 --- a/src/TimeModeling/Modeling/misfit_fg.jl +++ b/src/TimeModeling/Modeling/misfit_fg.jl @@ -33,16 +33,7 @@ function multi_src_fg(model_full::AbstractModel, source::judiVector, dObs::judiV # Extrapolate input data to computational grid qIn = time_resample(make_input(source), source.geometry, dtComp) dObserved = time_resample(make_input(dObs), dObs.geometry, dtComp) - if size(dObserved, 1) != size(qIn, 1) - dsize = size(qIn, 1) - size(dObserved, 1) - dt0 = t0(dObs.geometry, 1) - t0(source.geometry, 1) - @assert dt0 != 0 && sign(dsize) == sign(dt0) - if dt0 > 0 - dObserved = vcat(zeros(Float32, dsize, size(dObserved, 2)), dObserved) - else - qIn = vcat(zeros(Float32, -dsize, size(qIn, 2)), qIn) - end - end + qIn, dObserved = _maybe_pad_t0(qIn, source.geometry, dObserved, dObs.geometry) # Set up coordinates @juditime "Sparse coords setup" begin diff --git a/src/TimeModeling/Modeling/python_interface.jl b/src/TimeModeling/Modeling/python_interface.jl index 10ac884a4..50c42d636 100644 --- a/src/TimeModeling/Modeling/python_interface.jl +++ b/src/TimeModeling/Modeling/python_interface.jl @@ -128,6 +128,7 @@ function devito_interface(modelPy::PyObject, srcGeometry::Geometry, srcData::Arr dtComp = convert(Float32, modelPy."critical_dt") qIn = time_resample(srcData, srcGeometry, dtComp) dIn = time_resample(recData, recGeometry, dtComp) + qIn, dIn = _maybe_pad_t0(qIn, srcGeometry, dIn, recGeometry) # Set up coordinates with devito dimensions src_coords = setup_grid(srcGeometry, modelPy.shape) @@ -200,6 +201,7 @@ function devito_interface(modelPy::PyObject, weights::Array, srcData::Array, rec dtComp = convert(Float32, modelPy."critical_dt") qIn = time_resample(srcData, recGeometry, dtComp) dIn = time_resample(recData, recGeometry, dtComp) + qIn, dIn = _maybe_pad_t0(qIn, recGeometry, dIn, recGeometry) # Set up coordinates with devito dimensions rec_coords = setup_grid(recGeometry, modelPy.shape) diff --git a/src/TimeModeling/Preconditioners/DataPreconditioners.jl b/src/TimeModeling/Preconditioners/DataPreconditioners.jl index a887ccef6..31d562e03 100644 --- a/src/TimeModeling/Preconditioners/DataPreconditioners.jl +++ b/src/TimeModeling/Preconditioners/DataPreconditioners.jl @@ -94,7 +94,7 @@ function muteshot!(shot::AbstractMatrix{T}, rGeom::Geometry, srcGeom::Geometry; # Loop over traces @inbounds for t=1:nrec r = radius(rGeom, sGeom, t) - tt = 1f3 * (r / vp + t0) / dt(rGeom, 1) + tt = 1f3 * (r / vp + t0) / get_dt(rGeom, 1) i = min(max(1, floor(Int, tt)), nt) if _tapew(i, taperwidth, nt, Val(mode)) _mutew!(view(shot, :, t), taper, i, nt, Val(mode)) @@ -148,7 +148,7 @@ function matvec(D::FrequencyFilter{T, fm, FM}, x::Vector{T}) where {T, fm, FM} dr = reshape(x, D.recGeom) for j=1:get_nsrc(D.recGeom) dri = view(dr, :, :, j) - filter!(dri, dri, dt(D.recGeom, j); fmin=fm, fmax=FM) + filter!(dri, dri, get_dt(D.recGeom, j); fmin=fm, fmax=FM) end return reshape(vcat(dr...), size(x)) end @@ -156,7 +156,7 @@ end function matvec(::FrequencyFilter{T, fm, FM}, Din::judiVector{T, AT}) where {T, fm, FM, AT} Dout = deepcopy(Din) for j=1:Dout.nsrc - filter!(Dout.data[j], Din.data[j], dt(Din.geometry, j); fmin=fm, fmax=FM) + filter!(Dout.data[j], Din.data[j], get_dt(Din.geometry, j); fmin=fm, fmax=FM) end return Dout end @@ -267,7 +267,7 @@ function matvec(D::TimeDifferential{T, K}, x::judiVector{T, AT}) where {T, AT, K out = similar(x) for s=1:out.nsrc # make omega^K - ω = 2 .* pi .* fftfreq(nt(D.recGeom, s), 1/dt(D.recGeom, s)) + ω = 2 .* pi .* fftfreq(get_nt(D.recGeom, s), 1/get_dt(D.recGeom, s)) ω[ω.==0] .= 1f0 ω .= abs.(ω).^K out.data[s] .= real.(ifft(ω .* fft(x.data[s], 1), 1)) @@ -278,7 +278,7 @@ end function matvec(D::TimeDifferential{T, K}, x::Array{T}) where {T, K} xr = reshape(x, D.recGeom) # make omega^K - ω = 2 .* pi .* fftfreq(nt(D.recGeom, 1), 1/dt(D.recGeom, 1)) + ω = 2 .* pi .* fftfreq(get_nt(D.recGeom, 1), 1/get_dt(D.recGeom, 1)) ω[ω.==0] .= 1f0 ω .= abs.(ω).^K out = real.(ifft(ω .* fft(xr, 1), 1)) diff --git a/src/TimeModeling/Types/GeometryStructure.jl b/src/TimeModeling/Types/GeometryStructure.jl index 145b5ff24..471f4703f 100644 --- a/src/TimeModeling/Types/GeometryStructure.jl +++ b/src/TimeModeling/Types/GeometryStructure.jl @@ -4,7 +4,7 @@ # export Geometry, compareGeometry, GeometryIC, GeometryOOC, get_nsrc, n_samples, super_shot_geometry -export reciprocal_geom +export reciprocal_geom, get_nt, get_dt, get_t, get_t0 abstract type Geometry{T} end @@ -39,7 +39,7 @@ function getproperty(G::Geometry, s::Symbol) end # Legacy dt/nt/t if s in [:dt, :t, :nt, :t0] - return eval(s)(G) + return eval(Symbol("get_$(s)"))(G) end return getfield(G, s) @@ -73,20 +73,20 @@ get_nsrc(S::SeisCon) = length(S) get_nsrc(S::Vector{SeisCon}) = length(S) get_nsrc(S::SeisBlock) = length(unique(get_header(S, "FieldRecord"))) -n_samples(g::GeometryOOC, nsrc::Integer) = sum([g.nrec[j]*nt(g, j) for j=1:nsrc]) -n_samples(g::GeometryIC, nsrc::Integer) = sum([length(g.xloc[j])*nt(g, j) for j=1:nsrc]) +n_samples(g::GeometryOOC, nsrc::Integer) = sum([g.nrec[j]*get_nt(g, j) for j=1:nsrc]) +n_samples(g::GeometryIC, nsrc::Integer) = sum([length(g.xloc[j])*get_nt(g, j) for j=1:nsrc]) n_samples(g::Geometry) = n_samples(g, get_nsrc(g)) -nt(g::Geometry) = length.(g.taxis) -nt(g::Geometry, srcnum::Integer) = length(g.taxis[srcnum]) -dt(g::Geometry) = step.(g.taxis) -dt(g::Geometry, srcnum::Integer) = step(g.taxis[srcnum]) -t(g::Geometry) = last.(g.taxis) -t(g::Geometry, srcnum::Integer) = last(g.taxis[srcnum]) -t0(g::Geometry) = first.(g.taxis) -t0(g::Geometry, srcnum::Integer) = first(g.taxis[srcnum]) +get_nt(g::Geometry) = length.(g.taxis) +get_nt(g::Geometry, srcnum::Integer) = length(g.taxis[srcnum]) +get_dt(g::Geometry) = step.(g.taxis) +get_dt(g::Geometry, srcnum::Integer) = step(g.taxis[srcnum]) +get_t(g::Geometry) = last.(g.taxis) +get_t(g::Geometry, srcnum::Integer) = last(g.taxis[srcnum]) +get_t0(g::Geometry) = first.(g.taxis) +get_t0(g::Geometry, srcnum::Integer) = first(g.taxis[srcnum]) -rec_space(G::Geometry) = AbstractSize((:src, :time, :rec), (get_nsrc(G), nt(G), G.nrec)) +rec_space(G::Geometry) = AbstractSize((:src, :time, :rec), (get_nsrc(G), get_nt(G), G.nrec)) ################################################ Constructors #################################################################### """ @@ -496,18 +496,18 @@ pushfield!(a, b) = nothing # Gets called by judiVector constructor to be sure that geometry is consistent with the data. # Data may be any of: Array, Array of Array, SeisBlock, SeisCon check_geom(geom::Geometry, data::Array{T}) where T = all([check_geom(geom[s], data[s]) for s=1:get_nsrc(geom)]) -check_geom(geom::Geometry, data::Array{T}) where {T<:Number} = _check_geom(nt(geom, 1), size(data, 1)) && _check_geom(geom.nrec[1], size(data, 2)) +check_geom(geom::Geometry, data::Array{T}) where {T<:Number} = _check_geom(get_nt(geom, 1), size(data, 1)) && _check_geom(geom.nrec[1], size(data, 2)) function check_geom(geom::Geometry, data::SeisBlock) nt_segy = max(data.fileheader.bfh.ns, data.fileheader.bfh.nsOrig) - nt(geom, 1) <= nt_segy || _geom_missmatch(nt(geom, 1), nt_segy) + get_nt(geom, 1) <= nt_segy || _geom_missmatch(get_nt(geom, 1), nt_segy) end function check_geom(geom::Geometry, data::SeisCon) for s = 1:get_nsrc(geom) fh = read_fileheader(data.blocks[s].file) nt_segy = max(fh.bfh.ns, fh.bfh.nsOrig) - nt(geom, s) <= nt_segy || _geom_missmatch(nt(geom, s), nt_segy) + get_nt(geom, s) <= nt_segy || _geom_missmatch(get_nt(geom, s), nt_segy) end end diff --git a/src/TimeModeling/Types/judiVector.jl b/src/TimeModeling/Types/judiVector.jl index f2fd60b45..5cac5e505 100644 --- a/src/TimeModeling/Types/judiVector.jl +++ b/src/TimeModeling/Types/judiVector.jl @@ -105,7 +105,7 @@ function judiVector(geometry::Geometry, data::SegyIO.SeisBlock) dataCell = Vector{Array{Float32, 2}}(undef, nsrc) for j=1:nsrc traces = findall(src .== unique(src)[j]) - dataCell[j] = convert(Array{Float32, 2}, data.data[1:nt(geometry, j), traces]) + dataCell[j] = convert(Array{Float32, 2}, data.data[1:get_nt(geometry, j), traces]) end return judiVector{Float32, Array{Float32, 2}}(nsrc, geometry, dataCell) end @@ -130,7 +130,7 @@ judiVector(geometry::Geometry, data::Vector{SegyIO.SeisCon}) = judiVector{Float ############################################################ ## overloaded multi_source functions -time_sampling(jv::judiVector) = dt(jv.geometry) +time_sampling(jv::judiVector) = get_dt(jv.geometry) ############################################################ # JOLI conversion @@ -174,7 +174,7 @@ function simsource(M::Vector{T}, x::judiVector{T, AT}; reduction=+, minimal::Boo # Without reduction, add zero trace for all missing coords if isnothing(reduction) sgeom = as_coord_set(x.geometry) - zpad = OrderedDict(zip(sgeom, [zeros(Float32, nt(x.geometry, 1)) for s=1:length(sgeom)])) + zpad = OrderedDict(zip(sgeom, [zeros(Float32, get_nt(x.geometry, 1)) for s=1:length(sgeom)])) dOut = vcat([pad_zeros(zpad, M[s], x[s]) for s=1:x.nsrc]...) # With reduction. COuld reuse the previous but cheaper to compute the sum directly else @@ -291,7 +291,7 @@ function judiVector_to_SeisBlock(d::judiVector{avDT, AT}, q::judiVector{avDT, QT set_header!(blocks[j], "SourceY", Int.(round.(q.geometry.yloc[j][1]*1f3))) set_header!(blocks[j], source_depth_key, Int.(round.(q.geometry.zloc[j][1]*1f3))) - set_header!(blocks[j], "dt", Int(dt(d.geometry, j)*1f3)) + set_header!(blocks[j], "dt", Int(get_dt(d.geometry, j)*1f3)) set_header!(blocks[j], "FieldRecord",j) set_header!(blocks[j], "TraceNumWithinLine", traceNumbers) set_header!(blocks[j], "TraceNumWithinFile", traceNumbers) @@ -349,7 +349,7 @@ end convert_to_array(x::judiVector) = vcat(vec.(x.data)...) -data_matrix(x::judiVector{T, SeisCon}, i::Integer) where T = convert(Matrix{Float32}, x.data[i][1].data)[1:nt(x.geometry, i), :] +data_matrix(x::judiVector{T, SeisCon}, i::Integer) where T = convert(Matrix{Float32}, x.data[i][1].data)[1:get_nt(x.geometry, i), :] data_matrix(x::judiVector{T, Matrix{T}}, i::Integer) where T = x.data[i] ##### Rebuild bad vector diff --git a/src/TimeModeling/Utils/auxiliaryFunctions.jl b/src/TimeModeling/Utils/auxiliaryFunctions.jl index 1e4b4ddf0..fc7928bf8 100644 --- a/src/TimeModeling/Utils/auxiliaryFunctions.jl +++ b/src/TimeModeling/Utils/auxiliaryFunctions.jl @@ -373,8 +373,8 @@ function get_computational_nt(srcGeometry::Geometry{T}, recGeometry::Geometry{T} nt = Vector{Int64}(undef, nsrc) dtComp = calculate_dt(model; dt=dt) for j=1:nsrc - ntRec = length(0:dtComp:(dtComp*ceil(t(recGeometry, j)/dtComp))) - ntSrc = length(0:dtComp:(dtComp*ceil(t(srcGeometry, j)/dtComp))) + ntRec = length(0:dtComp:(dtComp*ceil(get_t(recGeometry, j)/dtComp))) + ntSrc = length(0:dtComp:(dtComp*ceil(get_t(srcGeometry, j)/dtComp))) nt[j] = max(ntRec, ntSrc) end return nt @@ -395,7 +395,7 @@ function get_computational_nt(Geometry::Geometry{T}, model::AbstractModel; dt=no nt = Array{Integer}(undef, nsrc) dtComp = calculate_dt(model; dt=dt) for j=1:nsrc - nt[j] = length(0:dtComp:(dtComp*ceil(t(Geometry, j)/dtComp))) + nt[j] = length(0:dtComp:(dtComp*ceil(get_t(Geometry, j)/dtComp))) end return nt end @@ -578,9 +578,9 @@ function generate_distribution(x::judiVector{T, Matrix{T}}; src_no=1) where {T<: # from spectrum of the input data # sampling information - nt = nt(x.geometry, src_no) - dt = dt(x.geometry, src_no) - t = t(x.geometry, src_no) + nt = get_nt(x.geometry, src_no) + dt = get_dt(x.geometry, src_no) + t = get_t(x.geometry, src_no) # frequencies fs = 1/dt # sampling rate @@ -637,7 +637,7 @@ Parameters: function process_input_data(input::DenseArray{T}, geometry::Geometry{T}) where {T<:Real} # Input data is pure Julia array: assume fixed no. # of receivers and reshape into data cube nt x nrec x nsrc - nt = nt(geometry, 1) + nt = get_nt(geometry, 1) nrec = geometry.nrec[1] nsrc = length(geometry.xloc) data = reshape(input, nt, nrec, nsrc) @@ -690,7 +690,7 @@ end Reshapes input vector into a 3D `nt x nrec x nsrc` Array. """ function reshape(x::AbstractArray{T}, geometry::Geometry{T}) where {T<:Real} - nt = nt(geometry, 1) + nt = get_nt(geometry, 1) nrec = geometry.nrec[1] nsrc = Int(length(x) / nt / nrec) return reshape(x, nt, nrec, nsrc) @@ -806,3 +806,21 @@ function filter_none(args::Tuple) end filter_none(x) = x + + +""" + _maybe_pad_t0(q, qGeom, data, dataGeom) +""" +function _maybe_pad_t0(qIn::Matrix{T}, qGeom::Geometry, dObserved::Matrix{T}, dataGeom::Geometry) where T<:Number + if size(dObserved, 1) != size(qIn, 1) + dsize = size(qIn, 1) - size(dObserved, 1) + dt0 = get_t0(dataGeom, 1) - get_t0(qGeom, 1) + @assert dt0 != 0 && sign(dsize) == sign(dt0) + if dt0 > 0 + dObserved = vcat(zeros(T, dsize, size(dObserved, 2)), dObserved) + else + qIn = vcat(zeros(T, -dsize, size(qIn, 2)), qIn) + end + end + return qIn, dObserved +end \ No newline at end of file From 5e3272c86daaf96fe174dd13a2340e74b57ccea2 Mon Sep 17 00:00:00 2001 From: mloubout Date: Fri, 9 Feb 2024 13:23:48 -0500 Subject: [PATCH 11/27] better free surface --- mkdocs.yml | 23 --------------------- setup.sh | 8 +++----- src/JUDI.jl | 4 ++++ src/pysource/fields.py | 10 ++++----- src/pysource/fields_exprs.py | 39 +++++++++++++++++++----------------- src/pysource/kernels.py | 12 +++++------ src/pysource/models.py | 2 +- src/pysource/operators.py | 2 +- src/pysource/sensitivity.py | 12 +++++------ 9 files changed, 47 insertions(+), 65 deletions(-) delete mode 100644 mkdocs.yml diff --git a/mkdocs.yml b/mkdocs.yml deleted file mode 100644 index dc424fbd9..000000000 --- a/mkdocs.yml +++ /dev/null @@ -1,23 +0,0 @@ -site_name: JUDI -site_description: The Julia Devito Inversion framework -site_url: https://slimgroup.github.io/JUDI.jl/ -repo_url: https://github.com/slimgroup/JUDI.jl/ - -nav: - - Home: index.md - - Tutorials: tutorials.md - - Data structures: data_structures.md - - Abstract vectors: abstract_vectors.md - - Linear operators: linear_operators.md - - Input/Output: io.md - - Helper functions: helper.md - - Preconditioners: preconditioners.md - - Python API: pysource.md - - About: about.md - -theme: readthedocs - -copyright: Copyright 2020, SLIM @ Georgia Institute of Technology - -plugins: - - search \ No newline at end of file diff --git a/setup.sh b/setup.sh index feb230abc..11215c458 100755 --- a/setup.sh +++ b/setup.sh @@ -2,15 +2,13 @@ # Install devito pip install --upgrade pip -pip install --user git+https://github.com/devitocodes/devito.git@v3.2.0 -pip install --user -r docker/devito_requirements.txt +pip install -U --user "devito[tests,extras]" # Set devito enviroment variables export DEVITO_ARCH="gcc" -export DEVITO_OPENMP="0" +export DEVITO_LANGUAGE="openmp" # Point PyCall to correct Python version -export PYTHON=$(which python) -julia -e 'Pkg.build("PyCall")' +PYTHON=$(which python) julia -e 'using Pkg; Pkg.build("PyCall")' diff --git a/src/JUDI.jl b/src/JUDI.jl index ab7556ad7..d2224c90c 100644 --- a/src/JUDI.jl +++ b/src/JUDI.jl @@ -65,6 +65,7 @@ const pyut = PyNULL() const devito = PyNULL() set_devito_config(key::String, val::String) = set!(devito."configuration", key, val) +set_devito_config(key::String, val::Bool) = set!(devito."configuration", key, val) # Create a lock for pycall FOR THREAD/TASK SAFETY # See discussion at @@ -178,6 +179,9 @@ function __init__() # Initialize lock at session start PYLOCK[] = ReentrantLock() + # Prevent autopadding to use external allocator + set_devito_config("autopadding", false) + # Make sure there is no conflict for the cuda init thread with CUDA.jl if get(ENV, "DEVITO_PLATFORM", "") == "nvidiaX" @info "Initializing openacc/openmp offloading" diff --git a/src/pysource/fields.py b/src/pysource/fields.py index 466ed7bd5..7269c796a 100644 --- a/src/pysource/fields.py +++ b/src/pysource/fields.py @@ -7,9 +7,9 @@ from devito.tools import as_tuple try: - from devitopro import * + import devitopro as dvp # noqa except ImportError: - pass + import devito as dvp def wavefield(model, space_order, save=False, nt=None, fw=True, name='', t_sub=1): @@ -139,9 +139,9 @@ def wavefield_subsampled(model, u, nt, t_sub, space_order=8): return None wf_s = [] for wf in as_tuple(u): - usave = TimeFunction(name='us_%s' % wf.name, grid=model.grid, time_order=2, - space_order=space_order, time_dim=time_subsampled, - save=int(nsave)) + usave = dvp.TimeFunction(name='us_%s' % wf.name, grid=model.grid, time_order=2, + space_order=space_order, time_dim=time_subsampled, + save=nsave) wf_s.append(usave) return wf_s diff --git a/src/pysource/fields_exprs.py b/src/pysource/fields_exprs.py index e3de5cc48..816f7ed7e 100644 --- a/src/pysource/fields_exprs.py +++ b/src/pysource/fields_exprs.py @@ -2,7 +2,7 @@ from devito import Inc, Eq, ConditionalDimension, cos, sin, sign from devito.tools import as_tuple -from devito.symbolics import retrieve_functions, INT +from devito.symbolics import retrieve_functions, INT, retrieve_derivatives from fields import (wavefield_subsampled, lr_src_fields, fourier_modes, norm_holder, illumination) @@ -101,7 +101,7 @@ def extended_rec(model, wavelet, v): return [Inc(ws, model.grid.time_dim.spacing * wf * wt)] -def freesurface(model, eq): +def freesurface(model, eq, mfuncs=None): """ Generate the stencil that mirrors the field as a free surface modeling for the acoustic wave equation @@ -112,30 +112,33 @@ def freesurface(model, eq): Physical model eq: Eq or List of Eq Equation to apply mirror to + mfuncs: List of Functions + List of functions to mirror (default=None). Mirrors all functions if not provided """ fs_eq = [] + fsdomain = model.grid.subdomains['fsdomain'] for eq_i in eq: for p in eq_i._flatten: - lhs, rhs = p.evaluate.args # Add modulo replacements to to rhs + lhs, rhs = p.lhs, p.rhs zfs = model.grid.subdomains['fsdomain'].dimensions[-1] z = zfs.parent - if lhs.is_TimeFunction: - so = lhs.space_order - z0= S.Zero - zfs = CustomDimension(name="zfs", symbolic_min=1, symbolic_max=so, - symbolic_size=so) - fs_eq.extend([Eq(lhs.subs({z: z0 - zfs}), -lhs.subs({z: z0 + zfs})), - Eq(lhs.subs({z: z.symbolic_min + z0}), 0)]) - # mapper = {} - # for f in funcs: - # zind = f.indices[-1] - # if (zind - z).as_coeff_Mul()[0] < 0: - # s = sign((zind - z.symbolic_min).subs({z: zfs, z.spacing: 1})) - # mapper.update({f: s * f.subs({zind: INT(abs(zind))})}) - # fs_eq.append(Eq(lhs, sign(lhs.indices[-1]-z.symbolic_min) * rhs.subs(mapper), - # subdomain=model.grid.subdomains['fsdomain'])) + Dz = {d: d.evaluate for d in retrieve_derivatives(rhs) if z in d.dims} + + funcs = {f for f in retrieve_functions(Dz.values()) if f.indices[-1] is not z} + if mfuncs: + funcs = {f for f in funcs if f.function in mfuncs} + + mapper = {} + for f in funcs: + zind = f.indices[-1] + if (zind - z).as_coeff_Mul()[0] < 0: + s = sign(zind._subs(z.spacing, 1)) + mapper.update({f: s * f._subs(zind, INT(abs(zind)))}) + dzmapper = {d: v.subs(mapper) for d, v in Dz.items()} + fs_eq.append(Eq(lhs, rhs.subs(dzmapper), subdomain=fsdomain)) + fs_eq.append(Eq(lhs._subs(z, 0), 0, subdomain=fsdomain)) return fs_eq diff --git a/src/pysource/kernels.py b/src/pysource/kernels.py index 831b62f02..bcdddc067 100644 --- a/src/pysource/kernels.py +++ b/src/pysource/kernels.py @@ -58,11 +58,11 @@ def acoustic_kernel(model, u, fw=True, q=None): damp = model.damp stencil = solve(wmr * u.dt2 + damp * udt - ulaplace - q, u_n) - # if 'nofsdomain' in model.grid.subdomains: - # pde = [Eq(u_n, stencil, subdomain=model.grid.subdomains['nofsdomain'])] - # pde += freesurface(model, pde) - # else: - pde = [Eq(u_n, stencil)] + if 'nofsdomain' in model.grid.subdomains: + pde = [Eq(u_n, stencil, subdomain=model.grid.subdomains['nofsdomain'])] + pde += freesurface(model, pde, (u,)) + else: + pde = [Eq(u_n, stencil)] return pde @@ -166,7 +166,7 @@ def tti_kernel(model, u1, u2, fw=True, q=None): # Water at free surface, no anisotrpy acout_ttip = [Eq(u1_n, stencilp.subs(model.zero_thomsen))] acout_ttir = [Eq(u2_n, stencilr.subs(model.zero_thomsen))] - pdea = freesurface(model, acout_ttip) + freesurface(model, acout_ttir) + pdea = freesurface(model, (acout_ttip, acout_ttir), (u1, u2)) # Standard PDE in subsurface first_stencil = Eq(u1_n, stencilp, subdomain=model.grid.subdomains['nofsdomain']) second_stencil = Eq(u2_n, stencilr, subdomain=model.grid.subdomains['nofsdomain']) diff --git a/src/pysource/models.py b/src/pysource/models.py index 68f5180e0..d92f43e8d 100644 --- a/src/pysource/models.py +++ b/src/pysource/models.py @@ -8,7 +8,7 @@ from devito.tools import as_tuple, memoized_func try: - from devitopro import * + from devitopro import * # noqa except ImportError: pass diff --git a/src/pysource/operators.py b/src/pysource/operators.py index 1e82d7aff..6e37d3cc6 100644 --- a/src/pysource/operators.py +++ b/src/pysource/operators.py @@ -14,7 +14,7 @@ from utils import opt_op try: - from devitopro import * + from devitopro import * # noqa except ImportError: pass diff --git a/src/pysource/sensitivity.py b/src/pysource/sensitivity.py index e0a1c8542..7596acc68 100644 --- a/src/pysource/sensitivity.py +++ b/src/pysource/sensitivity.py @@ -42,12 +42,12 @@ def grad_expr(gradm, u, v, model, w=None, freq=None, dft_sub=None, ic="as"): """ ic_func = ic_dict[func_name(freq=freq, ic=ic)] expr = ic_func(as_tuple(u), as_tuple(v), model, freq=freq, factor=dft_sub, w=w) - # if model.fs and ic in ["fwi", "isic"]: - # # Only need `fs` processing for isic for the spatial derivatives. - # eq_g = [Eq(gradm, gradm - expr, subdomain=model.grid.subdomains['nofsdomain'])] - # eq_g += freesurface(model, eq_g) - # else: - eq_g = [Eq(gradm, gradm - expr)] + if model.fs and ic in ["fwi", "isic"]: + # Only need `fs` processing for isic for the spatial derivatives. + eq_g = [Eq(gradm, gradm - expr, subdomain=model.grid.subdomains['nofsdomain'])] + eq_g += freesurface(model, eq_g, (*u, *v)) + else: + eq_g = [Eq(gradm, gradm - expr)] return eq_g From 956dc9a6dd54c7b2c73c7863c0c9c7c54b2a152d Mon Sep 17 00:00:00 2001 From: Mathias Louboutin Date: Fri, 2 Feb 2024 09:41:39 -0500 Subject: [PATCH 12/27] Fix data setup for LinOp --- src/TimeModeling/Modeling/misfit_fg.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/TimeModeling/Modeling/misfit_fg.jl b/src/TimeModeling/Modeling/misfit_fg.jl index 4ad179cb7..74654a92d 100644 --- a/src/TimeModeling/Modeling/misfit_fg.jl +++ b/src/TimeModeling/Modeling/misfit_fg.jl @@ -31,7 +31,7 @@ function multi_src_fg(model_full::AbstractModel, source::judiVector, dObs::judiV end # Extrapolate input data to computational grid - qIn = time_resample(make_input(source), source.geometry, dtComp) + qIn = time_resample(make_input(source), source.geometry, dtComp)r dObserved = time_resample(make_input(dObs), dObs.geometry, dtComp) qIn, dObserved = _maybe_pad_t0(qIn, source.geometry, dObserved, dObs.geometry) From 0570aba781eba5bf44075b9c55559edfff6ebbed Mon Sep 17 00:00:00 2001 From: Mathias Louboutin Date: Thu, 15 Feb 2024 10:37:52 -0500 Subject: [PATCH 13/27] field data tweaks --- src/JUDI.jl | 3 +++ src/TimeModeling/Modeling/misfit_fg.jl | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/JUDI.jl b/src/JUDI.jl index d2224c90c..a573573a3 100644 --- a/src/JUDI.jl +++ b/src/JUDI.jl @@ -178,6 +178,9 @@ function __init__() copy!(devito, pyimport("devito")) # Initialize lock at session start PYLOCK[] = ReentrantLock() + + # Prevent autopadding to use external allocator + set_devito_config("autopadding", false) # Prevent autopadding to use external allocator set_devito_config("autopadding", false) diff --git a/src/TimeModeling/Modeling/misfit_fg.jl b/src/TimeModeling/Modeling/misfit_fg.jl index 74654a92d..4ad179cb7 100644 --- a/src/TimeModeling/Modeling/misfit_fg.jl +++ b/src/TimeModeling/Modeling/misfit_fg.jl @@ -31,7 +31,7 @@ function multi_src_fg(model_full::AbstractModel, source::judiVector, dObs::judiV end # Extrapolate input data to computational grid - qIn = time_resample(make_input(source), source.geometry, dtComp)r + qIn = time_resample(make_input(source), source.geometry, dtComp) dObserved = time_resample(make_input(dObs), dObs.geometry, dtComp) qIn, dObserved = _maybe_pad_t0(qIn, source.geometry, dObserved, dObs.geometry) From 9bf8bc7b9d58cd519aee70cea16e9cdbdb4e1a27 Mon Sep 17 00:00:00 2001 From: mloubout Date: Thu, 15 Feb 2024 13:36:24 -0500 Subject: [PATCH 14/27] add timegain tests --- .../Preconditioners/DataPreconditioners.jl | 1 - test/test_preconditioners.jl | 12 ++++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/TimeModeling/Preconditioners/DataPreconditioners.jl b/src/TimeModeling/Preconditioners/DataPreconditioners.jl index 31d562e03..3f50600ec 100644 --- a/src/TimeModeling/Preconditioners/DataPreconditioners.jl +++ b/src/TimeModeling/Preconditioners/DataPreconditioners.jl @@ -337,7 +337,6 @@ function matvec(D::TimeGain{T, K}, x::Array{T}) where {T, K} xr = reshape(x, D.recGeom) # make time^K timek = (D.recGeom.taxis[1]).^K - out.data[s] .= timek .* x.data[s] out = timek .* xr return reshape(out, size(x)) end diff --git a/test/test_preconditioners.jl b/test/test_preconditioners.jl index 6f096cd73..ea199feb7 100644 --- a/test/test_preconditioners.jl +++ b/test/test_preconditioners.jl @@ -20,6 +20,7 @@ dm = model0.m - model.m F = judiFilter(recGeometry, .002, .030) Mdr = judiDataMute(srcGeometry, recGeometry; mode=:reflection) Mdt = judiDataMute(srcGeometry, recGeometry; mode=:turning) + Mdg = judiTimeGain(recGeometry, 2f0) order = .25f0 Dt = judiTimeDerivative(recGeometry, order) It = judiTimeIntegration(recGeometry, order) @@ -35,20 +36,23 @@ dm = model0.m - model.m dinv = Dt * It * dobs @test isapprox(dinv, dobs; atol=0f0, rtol=ftol) + # Time gain inverse is just 1/pow + @test inv(Mdg) == judiTimeGain(recGeometry, -2f0) + # conj/transpose - for Pc in [F, Mdr, Mdt, Dt, It] + for Pc in [F, Mdr, Mdt, Mdg, Dt, It] @test conj(Pc) == Pc @test transpose(Pc) == Pc end # DataPrecon getindex - for Pc in [F, Mdr, Mdt, Dt, It] + for Pc in [F, Mdr, Mdt, Mdg, Dt, It] @test Pc[1] * dobs[1] == (Pc * dobs)[1] @test Pc[1] * dobs.data[1][:] ≈ (Pc * dobs).data[1][:] rtol=ftol end # Test in place DataPrecon - for Pc in [F, Mdr, Mdt, Dt, It] + for Pc in [F, Mdr, Mdt, Mdg, Dt, It] mul!(dobs_out, Pc, dobs) @test isapprox(dobs_out, Pc*dobs; rtol=ftol) mul!(dobs_out, Pc', dobs) @@ -75,7 +79,7 @@ dm = model0.m - model.m # test out-of-place dobs1 = deepcopy(dobs) - for Op in [F, F', Mdr , Mdr', Mdt, Mdt', Dt, Dt', It, It'] + for Op in [F, F', Mdr , Mdr', Mdt, Mdt', Mdg, Mdg', Dt, Dt', It, It'] m = Op*dobs # Test that dobs wasn't modified @test isapprox(dobs, dobs1, rtol=eps()) From 865c4d6ea91dafa684332b5b1d97b2c5f79f8bb4 Mon Sep 17 00:00:00 2001 From: mloubout Date: Fri, 16 Feb 2024 11:20:40 -0500 Subject: [PATCH 15/27] add tests for t0 --- src/TimeModeling/TimeModeling.jl | 1 + src/TimeModeling/Types/GeometryStructure.jl | 4 +- src/TimeModeling/Types/judiVector.jl | 6 +- src/TimeModeling/Utils/auxiliaryFunctions.jl | 99 +------------ src/TimeModeling/Utils/time_utilities.jl | 140 +++++++++++++++++++ src/pysource/fields_exprs.py | 1 + src/pysource/interface.py | 7 +- src/pysource/kernels.py | 6 +- src/pysource/models.py | 41 ++++-- src/pysource/propagators.py | 18 ++- src/pysource/sensitivity.py | 3 +- test/runtests.jl | 11 +- test/seismic_utils.jl | 6 +- test/shot_record_250.0_0.0_20.0.segy | Bin 291492 -> 291492 bytes test/shot_record_750.0_0.0_20.0.segy | Bin 291492 -> 291492 bytes test/test_adjoint.jl | 2 +- test/test_geometry.jl | 71 ++++++++++ test/test_judiVector.jl | 20 +++ test/test_rrules.jl | 2 +- 19 files changed, 303 insertions(+), 135 deletions(-) create mode 100644 src/TimeModeling/Utils/time_utilities.jl diff --git a/src/TimeModeling/TimeModeling.jl b/src/TimeModeling/TimeModeling.jl index d71c55e5d..26669065e 100644 --- a/src/TimeModeling/TimeModeling.jl +++ b/src/TimeModeling/TimeModeling.jl @@ -29,6 +29,7 @@ const dmType{T} = Union{Vector{T}, PhysicalParameter{T}} ############################################################################# # Utils include("Utils/auxiliaryFunctions.jl") +include("Utils/time_utilities.jl") include("Modeling/losses.jl") ############################################################################# diff --git a/src/TimeModeling/Types/GeometryStructure.jl b/src/TimeModeling/Types/GeometryStructure.jl index 8962c5c05..e0eddafa5 100644 --- a/src/TimeModeling/Types/GeometryStructure.jl +++ b/src/TimeModeling/Types/GeometryStructure.jl @@ -182,6 +182,8 @@ end Geometry(xloc::CoordT, yloc::CoordT, zloc::CoordT, dt::Vector{T}, nt::Vector{<:Integer}, t::Vector{T}) where {T<:Real} = GeometryIC{T}(xloc,yloc,zloc,dt,nt, t) Geometry(xloc::CoordT, yloc::CoordT, zloc::CoordT, dt::Vector{T}, nt::Vector{T}, t::Vector{T}) where {T<:Real} = GeometryIC{T}(xloc,yloc,zloc,dt,convert(Vector{Int64}, nt), t) +Geometry(xloc::CoordT, yloc::CoordT, zloc::CoordT, t::StepRangeLen{T}) where {T<:Real} = GeometryIC{T}(xloc,yloc,zloc,[t]) +Geometry(xloc::CoordT, yloc::CoordT, zloc::CoordT, t::Vector{<:StepRangeLen{T}}) where {T<:Real} = GeometryIC{T}(xloc,yloc,zloc,t) # For easy 2D setup Geometry(xloc, zloc; kw...) = Geometry(xloc, 0 .* xloc, zloc; kw...) @@ -236,7 +238,7 @@ function timings_from_segy(data, dt=nothing, t=nothing, t0=nothing) if isnothing(t) ntCell = _get_p(nothing, data, nsrc, "ns", Int, 1) - tCell = Float32.((ntCell .- 1) .* dtCell) + tCell = Float32.((ntCell .- 1) .* dtCell .+ t0) else tCell = as_src_list(t, nsrc) end diff --git a/src/TimeModeling/Types/judiVector.jl b/src/TimeModeling/Types/judiVector.jl index 5cac5e505..d6c0e7f18 100644 --- a/src/TimeModeling/Types/judiVector.jl +++ b/src/TimeModeling/Types/judiVector.jl @@ -123,9 +123,9 @@ function judiVector(geometry::Geometry, data::SegyIO.SeisCon) return judiVector{Float32, SegyIO.SeisCon}(nsrc, geometry,dataCell) end -judiVector(data::SegyIO.SeisBlock; segy_depth_key="RecGroupElevation", t=nothing) = judiVector(Geometry(data; key="receiver", segy_depth_key=segy_depth_key, t=t), data) -judiVector(data::SegyIO.SeisCon; segy_depth_key="RecGroupElevation", t=nothing)= judiVector(Geometry(data; key="receiver", segy_depth_key=segy_depth_key, t=t), data) -judiVector(data::Vector{SegyIO.SeisCon}; segy_depth_key="RecGroupElevation", t=nothing) = judiVector(Geometry(data; key="receiver", segy_depth_key=segy_depth_key, t=t), data) +judiVector(data::SegyIO.SeisBlock; kw...) = judiVector(Geometry(data; key="receiver", kw...), data) +judiVector(data::SegyIO.SeisCon; kw...)= judiVector(Geometry(data; key="receiver", kw...), data) +judiVector(data::Vector{SegyIO.SeisCon}; kw...) = judiVector(Geometry(data; key="receiver", kw...), data) judiVector(geometry::Geometry, data::Vector{SegyIO.SeisCon}) = judiVector{Float32, SegyIO.SeisCon}(length(data), geometry, data) ############################################################ diff --git a/src/TimeModeling/Utils/auxiliaryFunctions.jl b/src/TimeModeling/Utils/auxiliaryFunctions.jl index 1a76677df..6087963e5 100644 --- a/src/TimeModeling/Utils/auxiliaryFunctions.jl +++ b/src/TimeModeling/Utils/auxiliaryFunctions.jl @@ -7,7 +7,7 @@ export ricker_wavelet, get_computational_nt, calculate_dt, setup_grid, setup_3D_grid export convertToCell, limit_model_to_receiver_area, remove_out_of_bounds_receivers, extend_gradient -export time_resample, remove_padding, subsample, process_input_data +export remove_padding, subsample, process_input_data export generate_distribution, select_frequencies export devito_model, pad_sizes, pad_array export transducer, as_vec @@ -490,80 +490,6 @@ function setup_3D_grid(xrec::Vector{Any}, yrec::Vector{Any}, zrec::Vector{Any}) setup_3D_grid(xrec, yrec, zrec) end -""" - time_resample(data, geometry_in, dt_new) - -Resample the input data with sinc interpolation from the current time sampling (geometrty_in) to the -new time sampling `dt_new`. - -Parameters -* `data`: Data to be reampled. If data is a matrix, resamples each column. -* `geometry_in`: Geometry on which `data` is defined. -* `dt_new`: New time sampling rate to interpolate onto. -""" -function time_resample(data::AbstractArray{T, N}, G_in::Geometry, dt_new::Real) where {T<:Real, N} - tend = step(G_in.taxis[1])*(size(data, 1) - 1) + first(G_in.taxis[1]) - new_t = first(G_in.taxis[1]):dt_new:tend - return time_resample(data, G_in.taxis[1], new_t) -end - -""" - time_resample(data, dt_in, dt_new) - -Resample the input data with sinc interpolation from the current time sampling dt_in to the -new time sampling `dt_new`. - -Parameters -* `data`: Data to be reampled. If data is a matrix, resamples each column. -* `dt_in`: Time sampling of input -* `dt_new`: New time sampling rate to interpolate onto. -""" -function time_resample(data::AbstractArray{T, N}, t_in::StepRangeLen, t_new::StepRangeLen) where {T<:Real, N} - dt_in, dt_new = step(t_in), step(t_new) - if dt_new==dt_in - return data - elseif (dt_new % dt_in) == 0 - rate = Int64(div(dt_new, dt_in)) - return _time_resample(data, rate) - else - @juditime "Data time sinc-interpolation" begin - dataInterp = Float32.(SincInterpolation(data, t_in, t_new)) - end - return dataInterp - end -end - -time_resample(data::AbstractArray{T, N}, dt_in::Number, dt_new::Number, t::Number) where {T<:Real, N} = - time_resample(data, 0:dt_in:(dt_in*ceil(t/dt_in)), 0:dt_new:(dt_new*ceil(t/dt_new))) - - -""" - time_resample(data, dt_in, geometry_in) - -Resample the input data with sinc interpolation from the current time sampling (dt_in) to the -new time sampling `geometry_out`. - -Parameters -* `data`: Data to be reampled. If data is a matrix, resamples each column. -* `geometry_out`: Geometry on which `data` is to be interpolated. -* `dt_in`: Time sampling rate of the `data.` -""" -function time_resample(data::AbstractArray{T, N}, dt_in::Real, G_out::Geometry{T}) where {T<:Real, N} - currt = range(0f0, step=dt_in, length=size(data, 1)) - return time_resample(data, currt, G_out.taxis[1]) -end - -function time_resample(data::AbstractArray{T, N}, dt_in::Real, G_in::Geometry{T}, G_out::Geometry{T}) where {T<:Real, N} - currt = range(first(G_in.taxis[1]), step=dt_in, length=size(data, 1)) - return time_resample(data, currt, G_out.taxis[1]) -end - -_time_resample(data::Matrix{T}, rate::Integer) where T = data[1:rate:end, :] -_time_resample(data::PermutedDimsArray{T, 2, (2, 1), (2, 1), Matrix{T}}, rate::Integer) where {T<:Real} = data.parent[:, 1:rate:end]' - -SincInterpolation(Y::Matrix{T}, S::StepRangeLen{T}, Up::StepRangeLen{T}) where T<:Real = sinc.( (Up .- S') ./ (S[2] - S[1]) ) * Y -SincInterpolation(Y::PermutedDimsArray{T, 2, (2, 1), (2, 1), Matrix{T}}, S::StepRangeLen{T}, Up::StepRangeLen{T}) where T<:Real = (Y.parent * sinc.( (Up' .- S) ./ (S[2] - S[1]) ))' - """ generate_distribution(x; src_no=1) @@ -806,26 +732,3 @@ function filter_none(args::Tuple) end filter_none(x) = x - - -""" - _maybe_pad_t0(q, qGeom, data, dataGeom) - -Pad zeros for data with non-zero t0, usually from a segy file so that time axis and array size match for the source and data. -""" -function _maybe_pad_t0(qIn::Matrix{T}, qGeom::Geometry, dObserved::Matrix{T}, dataGeom::Geometry) where T<:Number - if size(dObserved, 1) != size(qIn, 1) - dsize = size(qIn, 1) - size(dObserved, 1) - dt0 = get_t0(dataGeom, 1) - get_t0(qGeom, 1) - @assert dt0 != 0 && sign(dsize) == sign(dt0) - if dt0 > 0 - dObserved = vcat(zeros(T, dsize, size(dObserved, 2)), dObserved) - else - qIn = vcat(zeros(T, -dsize, size(qIn, 2)), qIn) - end - end - return qIn, dObserved -end - -_maybe_pad_t0(qIn::judiVector{T, AT}, dObserved::judiVector{T, AT}) where{T<:Number, AT} = - _maybe_pad_t0(qIn.data, qIn.geometry, dObserved.data, dObserved.geometry) diff --git a/src/TimeModeling/Utils/time_utilities.jl b/src/TimeModeling/Utils/time_utilities.jl new file mode 100644 index 000000000..009281b9b --- /dev/null +++ b/src/TimeModeling/Utils/time_utilities.jl @@ -0,0 +1,140 @@ +export time_resample + + +""" + time_resample(data, geometry_in, dt_new) + +Resample the input data with sinc interpolation from the current time sampling (geometrty_in) to the +new time sampling `dt_new`. + +Parameters +* `data`: Data to be reampled. If data is a matrix, resamples each column. +* `geometry_in`: Geometry on which `data` is defined. +* `dt_new`: New time sampling rate to interpolate onto. +""" +function time_resample(data::AbstractArray{T, N}, G_in::Geometry, dt_new::Real) where {T<:Real, N} + tend = step(G_in.taxis[1])*(size(data, 1) - 1) + first(G_in.taxis[1]) + new_t = first(G_in.taxis[1]):dt_new:tend + return time_resample(data, G_in.taxis[1], new_t) +end + +""" + time_resample(data, dt_in, dt_new) + +Resample the input data with sinc interpolation from the current time sampling dt_in to the +new time sampling `dt_new`. + +Parameters +* `data`: Data to be reampled. If data is a matrix, resamples each column. +* `dt_in`: Time sampling of input +* `dt_new`: New time sampling rate to interpolate onto. +""" +function time_resample(data::AbstractArray{T, N}, t_in::StepRangeLen, t_new::StepRangeLen) where {T<:Real, N} + dt_in, dt_new = step(t_in), step(t_new) + if dt_new==dt_in + return data + elseif (dt_new % dt_in) == 0 + rate = Int64(div(dt_new, dt_in)) + return _time_resample(data, rate) + else + @juditime "Data time sinc-interpolation" begin + dataInterp = Float32.(SincInterpolation(data, t_in, t_new)) + end + return dataInterp + end +end + +time_resample(data::AbstractArray{T, N}, dt_in::Number, dt_new::Number, t::Number) where {T<:Real, N} = + time_resample(data, 0:dt_in:(dt_in*ceil(t/dt_in)), 0:dt_new:(dt_new*ceil(t/dt_new))) + + +""" + time_resample(data, dt_in, geometry_in) + +Resample the input data with sinc interpolation from the current time sampling (dt_in) to the +new time sampling `geometry_out`. + +Parameters +* `data`: Data to be reampled. If data is a matrix, resamples each column. +* `geometry_out`: Geometry on which `data` is to be interpolated. +* `dt_in`: Time sampling rate of the `data.` +""" +function time_resample(data::AbstractArray{T, N}, dt_in::Real, G_out::Geometry{T}) where {T<:Real, N} + currt = range(0f0, step=dt_in, length=size(data, 1)) + return time_resample(data, currt, G_out.taxis[1]) +end + +function time_resample(data::AbstractArray{T, N}, dt_in::Real, G_in::Geometry{T}, G_out::Geometry{T}) where {T<:Real, N} + t0 = min(get_t0(G_in, 1), get_t0(G_out, 1)) + currt = range(t0, step=dt_in, length=size(data, 1)) + return time_resample(data, currt, G_out.taxis[1]) +end + +_time_resample(data::Matrix{T}, rate::Integer) where T = data[1:rate:end, :] +_time_resample(data::PermutedDimsArray{T, 2, (2, 1), (2, 1), Matrix{T}}, rate::Integer) where {T<:Real} = data.parent[:, 1:rate:end]' + +SincInterpolation(Y::Matrix{T}, S::StepRangeLen{T}, Up::StepRangeLen{T}) where T<:Real = sinc.( (Up .- S') ./ (S[2] - S[1]) ) * Y +SincInterpolation(Y::PermutedDimsArray{T, 2, (2, 1), (2, 1), Matrix{T}}, S::StepRangeLen{T}, Up::StepRangeLen{T}) where T<:Real = (Y.parent * sinc.( (Up' .- S) ./ (S[2] - S[1]) ))' + + +""" + _maybe_pad_t0(q, qGeom, data, dataGeom) + +Pad zeros for data with non-zero t0, usually from a segy file so that time axis and array size match for the source and data. +""" +function _maybe_pad_t0(qIn::Matrix{T}, qGeom::Geometry, dObserved::Matrix{T}, dataGeom::Geometry) where T<:Number + dt0 = get_t0(dataGeom, 1) - get_t0(qGeom, 1) + Dt = get_t(dataGeom, 1) - get_t(qGeom, 1) + dsize = size(qIn, 1) - size(dObserved, 1) + # Same times, do nothing + if dsize == 0 && dt0 == 0 && Dt == 0 + return qIn, dObserved + # First case, same size, then it's a shift + elseif dsize == 0 && dt0 != 0 && Dt != 0 + # Shift means both t0 and t same sign difference + @assert sign(dt0) == sign(Dt) + pad_size = Int(div(get_t0(dataGeom, 1), get_dt(dataGeom, 1))) + if dt0 > 0 + # Data has larger t0, pad data left and q right + dObserved = vcat(zeros(T, pad_size, size(dObserved, 2)), dObserved) + qIn = vcat(qIn, zeros(T, pad_size, size(qIn, 2))) + else + # q has larger t0, pad data right and q left + dObserved = vcat(dObserved, zeros(T, pad_size, size(dObserved, 2))) + qIn = vcat(zeros(T, pad_size, size(qIn, 2)), qIn) + end + elseif dsize !=0 + # We might still have differnt t0 and t + # Pad so that we go from smaller dt to largest t + ts = min(get_t0(qGeom, 1), get_t0(dataGeom, 1)) + te = max(get_t(qGeom, 1), get_t(dataGeom, 1)) + + pdatal = Int(div(get_t0(dataGeom, 1) - ts, get_dt(dataGeom, 1))) + pdatar = Int(div(te - get_t(dataGeom, 1), get_dt(dataGeom, 1))) + dObserved = vcat(zeros(T, pdatal, size(dObserved, 2)), dObserved, zeros(T, pdatar, size(dObserved, 2))) + + pql = Int(div(get_t0(qGeom, 1) - ts, get_dt(qGeom, 1))) + pqr = Int(div(te - get_t(qGeom, 1), get_dt(qGeom, 1))) + qIn = vcat(zeros(T, pql, size(qIn, 2)), qIn, zeros(T, pqr, size(qIn, 2))) + else + throw(judiMultiSourceException(""" + Data and source have different + t0 : $((get_t0(dataGeom, 1), get_t0(qGeom, 1))) + and t: $((get_t(dataGeom, 1), get_t(qGeom, 1))) + and are not compatible in size for padding: $((size(qIn, 1), size(dObserved, 1)))""")) + end + return qIn, dObserved +end + +pad_msg = """ + This is an internal method for single source propatation, + only single-source judiVectors are supported +""" + +function _maybe_pad_t0(qIn::judiVector{T, Matrix{T}}, dObserved::judiVector{T, Matrix{T}}) where{T<:Number} + @assert qIn.nsrc == 1 || throw(judiMultiSourceException(pad_msg)) + return _maybe_pad_t0(qIn.data[1], qIn.geometry[1], dObserved.data[1], dObserved.geometry[1]) +end + +_maybe_pad_t0(qIn::judiVector{T, AT}, dObserved::judiVector{T, AT}) where{T<:Number, AT} = + _maybe_pad_t0(get_data(qIn), get_data(dObserved)) diff --git a/src/pysource/fields_exprs.py b/src/pysource/fields_exprs.py index 816f7ed7e..adbdd35c3 100644 --- a/src/pysource/fields_exprs.py +++ b/src/pysource/fields_exprs.py @@ -76,6 +76,7 @@ def extented_src(model, weight, wavelet, q=0): return q ws, wt = lr_src_fields(model, weight, wavelet) if model.is_tti: + q = (0, 0) if q == 0 else q return (q[0] + ws * wt, q[1] + ws * wt) return q + ws * wt diff --git a/src/pysource/interface.py b/src/pysource/interface.py index b3c351807..319a8b0eb 100644 --- a/src/pysource/interface.py +++ b/src/pysource/interface.py @@ -553,11 +553,14 @@ def J_adjoint_checkpointing(model, src_coords, wavelet, rec_coords, recin, space nt = wavelet.shape[0] rec = Receiver(name='rec', grid=model.grid, ntime=nt, coordinates=rec_coords) - kwg['srcv'] = rec + kwg['srcv1' if model.is_tti else 'srcv'] = rec + # Wavefields to checkpoint cpwf = [uu for uu in as_tuple(u)] if model.is_viscoacoustic: - cpwf += [memory_field(u)] + r = memory_field(u) + cpwf.append(r) + kwu.update({r.name: r}) cp = DevitoCheckpoint(cpwf) # Wrapped ops diff --git a/src/pysource/kernels.py b/src/pysource/kernels.py index bcdddc067..9d4584981 100644 --- a/src/pysource/kernels.py +++ b/src/pysource/kernels.py @@ -164,9 +164,9 @@ def tti_kernel(model, u1, u2, fw=True, q=None): if 'nofsdomain' in model.grid.subdomains: # Water at free surface, no anisotrpy - acout_ttip = [Eq(u1_n, stencilp.subs(model.zero_thomsen))] - acout_ttir = [Eq(u2_n, stencilr.subs(model.zero_thomsen))] - pdea = freesurface(model, (acout_ttip, acout_ttir), (u1, u2)) + acout_ttip = Eq(u1_n, stencilp.subs(model.zero_thomsen)) + acout_ttir = Eq(u2_n, stencilr.subs(model.zero_thomsen)) + pdea = freesurface(model, [acout_ttip, acout_ttir], (u1, u2)) # Standard PDE in subsurface first_stencil = Eq(u1_n, stencilp, subdomain=model.grid.subdomains['nofsdomain']) second_stencil = Eq(u2_n, stencilr, subdomain=model.grid.subdomains['nofsdomain']) diff --git a/src/pysource/models.py b/src/pysource/models.py index d92f43e8d..3d84d971f 100644 --- a/src/pysource/models.py +++ b/src/pysource/models.py @@ -3,7 +3,7 @@ from sympy import finite_diff_weights as fd_w from devito import (Grid, Function, SubDomain, SubDimension, Eq, Inc, Operator, mmin, mmax, initialize_function, switchconfig, - Abs, sqrt, sin) + Abs, sqrt, sin, Constant) from devito.data.allocators import ExternalAllocator from devito.tools import as_tuple, memoized_func @@ -17,16 +17,20 @@ def getmin(f): - try: + if isinstance(f, Function): return mmin(f) - except ValueError: + elif isinstance(f, Constant): + return f.data + else: return np.min(f) def getmax(f): - try: + if isinstance(f, Function): return mmax(f) - except ValueError: + elif isinstance(f, Constant): + return f.data + else: return np.max(f) @@ -267,8 +271,9 @@ def physical_params(self, **kwargs): """ Return all set physical parameters and update to input values if provided """ - params = {i: kwargs.get(i, getattr(self, i)) for i in self.physical_parameters - if isinstance(getattr(self, i), Function)} + params = {i: kwargs.get(i, getattr(self, i)) for i in self._physical_parameters + if isinstance(getattr(self, i), Function) or + isinstance(getattr(self, i), Constant)} if not kwargs.get('born', False): params.pop('dm', None) @@ -292,8 +297,7 @@ def _gen_phys_param(self, field, name, space_order, is_param=False, """ if field is None: return default_value - if isinstance(field, np.ndarray) and (name == 'm' or - np.min(field) != np.max(field)): + if isinstance(field, np.ndarray): if field.shape == self.shape: function = Function(name=name, grid=self.grid, space_order=space_order, parameter=is_param) @@ -304,7 +308,7 @@ def _gen_phys_param(self, field, name, space_order, is_param=False, allocator=ExternalAllocator(field), initializer=lambda x: None, parameter=is_param) else: - return np.amin(field) + function = Constant(name=name, value=np.amin(field)) self._physical_parameters.append(name) return function @@ -313,7 +317,13 @@ def physical_parameters(self): """ List of physical parameteres """ - return as_tuple(self._physical_parameters) + params = [] + for p in self._physical_parameters: + if getattr(self, p).is_Constant: + params.append('%s_const' % p) + else: + params.append(p) + return as_tuple(params) @property def dim(self): @@ -558,8 +568,13 @@ def __init__(self, tti, visco, elastic, spacing, fs, space_order, p_params): # Create the function for the physical parameters self.damp = Function(name='damp', grid=self.grid, space_order=0) for p in set(p_params) - {'damp'}: - setattr(self, p, Function(name=p, grid=self.grid, space_order=space_order)) - if 'irho' not in p_params: + if p.endswith('_const'): + name = p.split('_')[0] + setattr(self, name, Constant(name=name, value=1)) + else: + setattr(self, p, Function(name=p, grid=self.grid, + space_order=space_order)) + if 'irho' not in p_params and 'irho_const' not in p_params: self.irho = 1 if 'rho' not in p_params else 1 / self.rho @property diff --git a/src/pysource/propagators.py b/src/pysource/propagators.py index 109b6b760..4481df0bd 100644 --- a/src/pysource/propagators.py +++ b/src/pysource/propagators.py @@ -1,7 +1,7 @@ from kernels import wave_kernel from geom_utils import src_rec, geom_expr from fields import (fourier_modes, wavefield, lr_src_fields, illumination, - wavefield_subsampled, norm_holder, frequencies) + wavefield_subsampled, norm_holder, frequencies, memory_field) from fields_exprs import extented_src from sensitivity import grad_expr from utils import weight_fun, opt_op, fields_kwargs, nfreq, base_kwargs @@ -67,6 +67,11 @@ def forward(model, src_coords, rcv_coords, wavelet, space_order=8, save=False, kw.update(fields) kw.update(model.physical_params()) + # SLS field + if model.is_viscoacoustic: + r = memory_field(u) + kw.update({r.name: r}) + # Output rout = wr or rcv uout = dft_modes or (u_save if t_sub > 1 else u) @@ -125,6 +130,11 @@ def gradient(model, residual, rcv_coords, u, return_op=False, space_order=8, fw= kw.update(fields_kwargs(src, u, v, gradm, f0q, f, I)) kw.update(model.physical_params()) + # SLS field + if model.is_viscoacoustic: + r = memory_field(v) + kw.update({r.name: r}) + if return_op: return op, gradm, kw @@ -165,6 +175,7 @@ def born(model, src_coords, rcv_coords, wavelet, space_order=8, save=False, dft_sub=dft_sub, ws=ws, t_sub=t_sub, f0=f0, illum=illum) kw.update(fields_kwargs(rnl, I)) + if return_op: return op, u, outrec, kw @@ -193,6 +204,11 @@ def born(model, src_coords, rcv_coords, wavelet, space_order=8, save=False, kw.update(fields_kwargs(u, ul, snl, rnl, rcvl, u_save, dft_m, fr, ws, wt, f0q, I)) kw.update(model.physical_params(born=True)) + # SLS field + if model.is_viscoacoustic: + r, rl = memory_field(u), memory_field(ul) + kw.update({r.name: r, rl.name: rl}) + if return_op: return op, u, outrec, kw diff --git a/src/pysource/sensitivity.py b/src/pysource/sensitivity.py index 7596acc68..4210a412c 100644 --- a/src/pysource/sensitivity.py +++ b/src/pysource/sensitivity.py @@ -41,7 +41,8 @@ def grad_expr(gradm, u, v, model, w=None, freq=None, dft_sub=None, ic="as"): Whether or not to use inverse scattering imaging condition (not supported yet) """ ic_func = ic_dict[func_name(freq=freq, ic=ic)] - expr = ic_func(as_tuple(u), as_tuple(v), model, freq=freq, factor=dft_sub, w=w) + u, v = as_tuple(u), as_tuple(v) + expr = ic_func(u, v, model, freq=freq, factor=dft_sub, w=w) if model.fs and ic in ["fwi", "isic"]: # Only need `fs` processing for isic for the spatial derivatives. eq_g = [Eq(gradm, gradm - expr, subdomain=model.grid.subdomains['nofsdomain'])] diff --git a/test/runtests.jl b/test/runtests.jl index c36e32e36..7941ff3ab 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -26,10 +26,10 @@ include("seismic_utils.jl") parsed_args = parse_commandline() const nlayer = parsed_args["nlayer"] -const tti = parsed_args["tti"] -const fs = parsed_args["fs"] +const tti = parsed_args["tti"] || contains(GROUP, "TTI") +const fs = parsed_args["fs"] || contains(GROUP, "FS") const nw = parsed_args["parallel"] -const viscoacoustic = parsed_args["viscoacoustic"] +const viscoacoustic = parsed_args["viscoacoustic"] || contains(GROUP, "VISCO") # Utility macro to run block of code with a single omp threa @@ -114,7 +114,6 @@ end # Isotropic Acoustic tests with a free surface if GROUP == "ISO_OP_FS" || GROUP == "All" println("JUDI iso-acoustic operators with free surface tests") - push!(Base.ARGS, "--fs") for t=devito timeit_include(t) try Base.GC.gc(); catch; gc() end @@ -125,7 +124,6 @@ end if GROUP == "TTI_OP" || GROUP == "All" println("JUDI TTI operators tests") # TTI tests - push!(Base.ARGS, "--tti") for t=devito timeit_include(t) try Base.GC.gc(); catch; gc() end @@ -135,8 +133,6 @@ end # Anisotropic Acoustic tests with free surface if GROUP == "TTI_OP_FS" || GROUP == "All" println("JUDI TTI operators with free surface tests") - push!(Base.ARGS, "--tti") - push!(Base.ARGS, "--fs") for t=devito timeit_include(t) try Base.GC.gc(); catch; gc() end @@ -147,7 +143,6 @@ end if GROUP == "VISCO_AC_OP" || GROUP == "All" println("JUDI Viscoacoustic operators tests") # Viscoacoustic tests - push!(Base.ARGS, "--viscoacoustic") for t=devito timeit_include(t) try Base.GC.gc(); catch; gc() end diff --git a/test/seismic_utils.jl b/test/seismic_utils.jl index 950ad8a47..771033e47 100644 --- a/test/seismic_utils.jl +++ b/test/seismic_utils.jl @@ -42,9 +42,9 @@ function setup_model(tti=false, viscoacoustic=false, nlayer=2; n=(301, 151), d=( # Setup model structure if tti println("TTI Model") - epsilon = smooth((v0[:, :] .- 1.5f0)/12f0, 3) - delta = smooth((v0[:, :] .- 1.5f0)/14f0, 3) - theta = smooth((v0[:, :] .- 1.5f0)/4, 3) .* rand([0, 1]) # makes sure VTI is tested + epsilon = smooth((v0[:, :] .- 1.5f0)/12f0, 5) + delta = smooth((v0[:, :] .- 1.5f0)/14f0, 5) + theta = smooth((v0[:, :] .- 1.5f0)/4, 5) .* rand([0, 1]) # makes sure VTI is tested model0 = Model(n, d, o, m0; epsilon=epsilon, delta=delta, theta=theta) model = Model(n, d, o, m; epsilon=epsilon, delta=delta, theta=theta) elseif viscoacoustic diff --git a/test/shot_record_250.0_0.0_20.0.segy b/test/shot_record_250.0_0.0_20.0.segy index 6c3a56486f1abb8ddfafaa5ba6c29455986ac045..504dc24eaaa47dbca4a875d82b453c1fd0a76118 100644 GIT binary patch literal 291492 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

@Z5n7_0QC@*DP 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ⅇ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 literal 291492 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 ?7%v01z3II^uxQ`IM0h^V0rEk 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 JdY+e4`F~1^$&CO2 diff --git a/test/shot_record_750.0_0.0_20.0.segy b/test/shot_record_750.0_0.0_20.0.segy index bb7c70df8a8364f21f606d248508672d7df763c7..b3e26b1a4e869331ebf5f3babe333ee8b54ce57a 100644 GIT binary patch literal 291492 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

_X>YR{PL8R(+NZJA07^t5mg%RrEGy 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 z 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 z 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 PgprMO2bV_i#i3amqY8g6OHye%idX6)N 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