-
Hi, I use JUDI 2.6.8 with custom container (based on hdf5 instead of segy) I noticed that I get exceptions when limitting model (
To get some information what happens there I added some function *(A::judiPDEfull{ADDT,ARDT}, v::judiVector{vDT, AT}) where {ADDT, ARDT,vDT, AT}
A.n == size(v,1) || throw(judiPDEfullException("Shape mismatch: A:$(size(A)), v: $(size(v))"))
if compareGeometry(A.srcGeometry,v.geometry) == false && compareGeometry(A.recGeometry,v.geometry) == false
throw(judiPDEfullException("geometry mismatch"))
end
jo_check_type_match(ADDT,vDT,join(["DDT for *(judiPDEfull,judiVector):",A.name,typeof(A),vDT]," / "))
V = A.fop(v)
@info "eltype(V): $(eltype(V))\n"
@info "typeof(V): $(typeof(V))\n"
@info "typeof(ARDT): $(typeof(ARDT))\n"
jo_check_type_match(ARDT,eltype(V),join(["RDT from *(judiPDEfull,judiVector):",A.name,typeof(A),eltype(V)]," / "))
return V
end and the output is:
But if I run
Maybe you may give a hint where can I look to find a reason for that exception? |
Beta Was this translation helpful? Give feedback.
Replies: 5 comments 5 replies
-
This RemoteException usually means the python devito part errorer and pycall returned an error message instead of the result. Does it error with standard judiVector as well (segy and normal ones)? |
Beta Was this translation helpful? Give feedback.
-
@mloubout it seems I've found something. Neither custom InCore Geometry nor Out Of Core Geometry works with In the same time JUDI 3D example works without any problem even if I set To better explain the situation I'm testing Teapot Dome data. |
Beta Was this translation helpful? Give feedback.
-
So looks like the |
Beta Was this translation helpful? Give feedback.
-
Hmm, I ecnountered another ptoblem. I aborted computation and seems after that when I run modeling my app crashes as julia consumes all the RAM (about 12 Gb). |
Beta Was this translation helpful? Give feedback.
-
@mloubout you were right! It seems there is typo in limit_model_to_receiver_area nx_min = Int(min_x ÷ model.d[1]) + 1 should be replaced by : nx_min = Int((min_x-model.o[1]) ÷ model.d[1]) + 1 Do I need to create a PR? I tried with this modification and it seems the modeling goes fine and consumes way less memory: |
Beta Was this translation helpful? Give feedback.
So looks like the
limit_model_to_receiver_area
function isn't working correctly with your geometry. You could go into it and check what the new size and origines are after crop to check all still make sense