►
From YouTube: SimPEG Meeting May 19th
Description
Weekly SimPEG meeting from May 19th, 2021
A
Again
welcome
everyone
back.
I
see
all
your
faces
again
this
week.
I
shared
the
notes,
always
add
yourself
to
the
quick
reports.
A
As
far
as
a
few
agenda
items,
I
I
think
I
I'm
gonna,
probably
do
another
friday
session
for
coding
if
people
want
to
join
in
and
do
around
with
that
around
with
that
and
people
would
express
some
interest
in
doing
it.
Just
a
lot
of
people,
so
we'll
be
looking
through
that
friday
afternoon,
again
probably
around,
I
don't
know
three
o'clock
four
o'clock:
whenever
we
start
up
I'll,
put
a
note
just
open
to
everyone
who
wants
to
come
along,
you
can
hack
it
away
whatever
we
want
to
do,
go
through
some
bug.
B
Yeah,
should
we
should
we
focus
up
gonna
get
like
a
like
specific
theme,
got
something
done.
A
B
Actually
kind
of
related
to
what
you
know
on
the
on
the
gaps
project,
the
guys,
maybe
it
would
be
good
to
have
everybody
around
the
table
and
go
over
the
the
saving
directives
right.
It's
pretty
simple!
It's
a
pretty
easy
problem
at
the
same
time
you
know
requires
it
requires
everybody
to
agree
on.
What's
outputted
what's
saved,
what's
not
how
it's
done.
I
think
it
would
be.
Nice
it'll
be
nice
to
finally
check
out.
A
A
You
know
chat
through
stuff
and
make
some
decisions
on
it.
So
we'll
keep
that
I'll,
definitely
bring
it
up.
We
can
chat
to
the
10.,
there's
some
people
trying
to
think
about
it
and
look
over
the
same
directives
and
what
they
want
out
of
it,
what
they
want
to
what
they
wanted
each
iteration.
How
do
they
want
to
save
things
like
that.
C
So
that
would
depends
upon
what
like
or
what
kind
of
simulation
would
you
would
use,
and
what
regularization
you
would
use,
and
so
like
do.
We
want
to
have
a
universal
directive
that
can
just
like
it
would
be
great
like
if
there
is
an
universal
directive,
that
okay,
just
save
everything
needed.
D
C
Whatever
problems
yeah
yeah,
then
if
you
throw
right
keywords
right,
then
somehow
the
function
knows.
E
F
Like
my
proposal
would
be
like
because
yeah
like,
like
especially
with
the
combo
regularization
now
like
you,
can
have
like,
like
your
smoothness
and
your
smallness,
is
not
forcefully
always
at
the
same
place,
and
if
you
go
in
joints,
you
have
several
smoothness
for
several
year,
physical
properties,
so
yeah.
My
my
proposal
will
be
that
as
an
input
like
we
can
have
a
default
one,
but
we
have
would
have
like
some
sort
of
a
dictionary
saying
like
this
is
what
I
want
to
save.
A
My
my
thoughts
is
that
we
should
make
the
regularization
functions
themselves
more,
more
knowledgeable
about
how
to
print
themselves
like
okay,
if
you
give
about
like,
if
you
want
to
ask
what
the
regularization
looks
like,
maybe
just
kind
of
get
out
of
it,
the
last
thing
it
evaluated
and
get
the
functions
from
it.
So
it
knows
how
to
it
knows
already
how
to
format
so
that
we
can
take
that
level.
Abstraction
out
of
the
directives
also
just
kind
of
like
okay,
just.
G
As
the
minimum
just
to
kind
of
carry
on
in
this,
I
mean
one
of
the
things
that
we've
recognized
for
a
long
time,
and
you
know
we've
just
discussed
it
is
that
with
each
of
the
terms
that
we've
got
so,
this
is
still
at
a
higher
level,
but
with
each
term
that
we
have
in
that
regularization
functional
to
be
able
to,
you
know
not
only
evaluate
what
that
term
is,
but
then
you
know
what
the
product
of
the
coefficient
alpha
times.
That
term
is
and
have
that
printed
out,
so
that
then
you
really
can
assess.
G
Okay,
you
know
which
of
these
guys
is
really
you
know
really
important
and
and
just
be
able
to
have
that
visible
to
you
just
makes
such
a
difference,
otherwise
you're
looking
at
something
you're,
not
sure
whether
it's
already
been
pre-multiplied
by
alphas
or
not,
and
then
you're
guessing,
and
you
can
spend
a
lot
of
you
know
a
lot
of
time,
and
this
is
just
something
that
just
should
be
absolutely
basic.
I
think
for
any
inversion,
and
then
then
it
can
go
down
deeper
into
some
of
the
things.
C
E
Well,
I
mean
we,
we
do
these
different
regularizations
right
for
the
types
of
problems
we
want
is.
It
seem
like
there
could
be
a
like
an
output
directive
that
actually
would
look
at
type
of
regularization
that
we
use
or
kind
of
like
a
something
along
those
lines
because
we're
not
using
one
some
master
regularization
class
for
all
of
our
inversions.
We
have
different
regularizations,
depending
on
what
we're
doing,
which
would
mean
we're
going
to
be
outputting
different
things.
E
B
C
A
I
was
also
had
a
thought,
like
the.
I
know,
we're
getting
a
little
bit
off
topic
here,
but
I
I
thought
it'd
be
interesting
to
see
if
there'd
be
a
way
we
could,
you
know,
have
html
output,
so
you
can
like
query
it
a
little
bit
more
interactively
within
the
notebook
as
it's
running,
I
have
no
idea
if
that's
possible
or
not
just
imagining,
like
an
html
output
print
statement
instead
of
like
line
by
line.
A
You
know
how
we
have
some
we've
implemented,
better
representations.
I'd
like
to
be
like
look
at
the
mesh
in
a
jupiter
notebook.
It
has
like
a
nice
formatted
table
that
comes
out
of
it.
Has
some
detailed
information
like
that.
E
A
Then
you
got
some
quick
reports.
I
I'll
go
first,
I
finished
updating
dc
resistivity
stuff
to
use
that
new
boundary
condition
and
discretize.
It's
all
tested
again,
it's
all
working
very
well.
I
found
an
old
error
in
the
2d
code
that
I
fixed
and
now
it's
working
much
better
like
especially
for
hopefuls.
So
what
else
I
got
this
line,
current
line,
source
current
for
finite
difference
or
the
frequency
finally
pulled
in
figured
out
what
was
going
wrong
with
that,
and
that
was.
A
It
was
related
to
the
fact
that
that
branch,
I
think,
soggy
we've
pulled
down
one
of
your
well,
you
pulled
something
into
that
branch.
You
weren't
something
another
branch
that
caused
the
caused.
This
frequency
domain
simulations
to
store
the
inverse
operator
for
each
frequency
and
it
never
cleaned
them
up.
A
Oh
whoops!
So
it's
it's!
I
mean
it's,
not
your
fault,
but
it's
it's
a!
It
leads
to
the
fact
that
we
never
had
good
garbage
collection
implemented
for
like
the
pine
nut,
smaller
stuff,
okay,
because,
ideally
you
shouldn't
have
to
worry
about
that.
It
should
just
automatically
get
garbage
collected
like
oh
like
so
I
supposed
to
change
the
same
time
to
find
that
solver.
That
basically
does
that
it
cleans
up
the
solvers
for
you
when
they're
garbage
collected.
A
C
Is
so
I
think,
that's
that's
what
you
have
done,
what
happens.
A
B
A
E
A
H
C
Yeah
they're,
actually
everyone
and
I
spent
actually
quite
a
bit
of
time
in
the
beginning,
because
there
were
a
lot
of
like
kind
of
memory,
licking
issues,
especially
when
we're
dealing
with
the
large
problem
with
the
solver.
So
we
actually
had
to
put
that
garbage
collector
a
lot
of
different
places
in
minimization
class.
If
you
probably
it's
probably
even
there,
I'm
not
sure,
but
I
think
if
that's
solved,
you
know,
I
think
that's
likely
because
coming
from
that
solver
issue,
and
we
probably
can
remove
a
lot
of
them.
I
think.
A
Yeah
so
anyway,
so
that
was
more
moved
in
and
that
made
the
line
current
tests
all
passed,
because
it
was
running
into
a
memory
error
due
to
the
leaking
like
the
leakage
and
then
so.
My
current
stuff
is
in,
and
then
I
pulled
in
a
few
other
things
and
I
was
able
to
pull
in
tivo's
pgi
branch
as
well
as
the
t,
the
other
stuff.
So
that's
great
excited
to
have
that
in
now,
it's
kind
of
we've
got
some.
A
Conflicts
to
figure
out
like
not
just
like
merge
conflicts
that
I
pushed
with
the
strong
who
just
merged
the
main
branch
back
into
your
cross
gradient
stuff.
I
think
it'll
need
another
pass
to
like
marry
the
two
together
to
make
sure
that
it's
you
know
we
can
take
make
use
of
some
of
the
directives
that
we
have
and
make
sure
it's
everything's
not
getting
artificial
kind
of
get
your
data
files
up
on
the
cloud.
So.
A
A
As
part
of
that,
all
of
the
deprecation
warnings
that
ones
that
came
from
14.0,
I
moved
them
all
to
future
warnings,
so
they
should
be
a
little
bit
more
loud
there
shouldn't
there
shouldn't
be
anything
internally
that
causes
future
warnings,
but
there
might
be
if
you
do
run
into
it.
Just
let
me
know
and
I'll
double
check
if
not
they'll
get
they'll
certainly
get
targeted
when
they're
actually
removed
it'll
be
very
obvious.
What
things
we're
not
calling
it.
E
E
H
Yet,
okay,
that
explains
it
joe,
is
it
also
update
the
conda
version
as
well.
C
A
A
It
takes
a
little
bit
to
disseminate
now,
but
it
does
happen
automatically.
Condo
forge
has
their
own.
A
Scan
things
to
check
for
updates,
if
it
does
happen,
they
it
creates
a
pull
request.
Bumping
the
like
updating
the
file.
E
A
C
That's
it
joe
did
you
like,
I
said
that
the
the
line
current
source,
it's
in
in
in
the
main
branch.
Now,
yes,
perfect,
that's
huge,
yes
I'll
I'll,
add
then
the
receiver
class,
which
is
basically
the
same
function
but
the
adjoint
operation.
So
what
what
that
does
like?
It
calculates
the
voltage,
because
what
you're
you're
not
really
measuring
the
electric
field
in
general,
so
you're
measuring
the
voltage
difference
in
two
two
pole
or
dipoles
or
bipolar.
So.
J
I
have
a
quick
update,
sure
I
and
that's
waiting
function
in
the
youth,
learns
utilize
modules
just
to
provide
some
options
to
the
users
if
they
want
to
implement
the
dev
suite
yeah-
and
I
submit
up
here-
that's
the
thousand
number
thousand
and
four.
G
J
J
A
Thank
you.
I
was
looking
through
it
as
well.
Let
me
tell
you
some
stuff
comments
on
there:
okay
yeah
one
other
big
thing
I
forgot
to
mention
that
I
was
going
to
is
that
we
did
finally
hit
number
thousand,
like
a
human
quote,
number
one
thousand
zinfande
yeah.
A
C
C
E
Yeah,
nothing,
nothing
too
fancy
I
just.
I
did
some
more
discretized
doc
strings
working
through
that
I've
got
a
couple
other
projects
that
I'm
working
on
right
now
that
are
unrelated,
so
I'm
taking
a
little
break,
but
I
wanna-
I
still
wanna
push
pretty
hard
on
that.
So
yeah
I'd
like
to
finish
those
off
as
soon
as
I.
A
D
C
A
C
Yep,
I
just
got
the
I'm
sort
of
working
on
cs
amt
data
and
it's
really
kind
of
related
to
what
I
worked
with
theater
for
developing
a
large
scalian
code.
But
but
I
think,
there's
some
interesting
things.
The
problem
itself
so.
H
C
Interacting
with
nick
as
well
so
I
think
it's
kind
of
old
pieces
are
coming
because
that
joe's
that
line
current
was
important.
We're
going
to
implement
the
receiver
as
well,
so
that'll
like
come
through.
Actually,
we
can
invert
that
the
large-scale
csmt
data
and
yeah,
so
I'm
starting
antonio,
is
that
right
that
I
think
that's
what
mike
macmillan
yeah
that's
right
for
his
cooperative
inversion
and
potentially
we
can
actually
use
the
same
cooperative
or
jordan
version
that
he
has
done
and
know
like
five
years
or
six
years
or
something
like
that
anyway.
C
So
that's
that's
what
I'm
kind
of
working
on
and
moving
forward
other
than
that
I
am
working
on
a
slightly
different
kind
of
problem,
but
the
high
level
very
similar,
so
I'm
kind
of
trying
to
invert
the
satellite
data,
the
substance
data,
but
both
for
the
head
level
changes.
So
what's
what
the
satellite
data
measures
is
deformation
of
the
ground,
but
that
is
impacted
by
the
head
level
changes
it's
almost
like
an
sp
inversion.
So
that's
the
source
of
your
response
so
unknown.
C
There
are
quite
a
few
other
unknown
things,
the
problematic
properties
of
the
earth,
but
the
the
major
thing
is
the
source.
So
that's
the
driving
force,
and
I
I'd
like
to
invert
for
it
and
what
I
found
in
in
this
groundwater
community
they
do
kind
of
there's
their
four
problem
is
just
so
complicated.
It
seems
like
they.
C
They
do.
A
quick
and
dirty
thing,
like
I
just
put
like
use
the
perturbation
method
and
calculate
that
derivative
with
that
and
just
invert
for
it.
So
when
they're
dealing
with
the
distributed
parameter,
what
they
do,
they
say
you
got
20
pilot
points
and
then
interpolate
to
update,
which
I
think
for
a
very
large
scale.
Problem
is
fine,
but
what
I
see
they're
actually
having
a
hard
time
to
fit
the
data
which
seems
to
me
it's
like
well,
your
inversion
should
fit
the
data.
I
mean.
C
That
seems
the
minimal
condition
that
you
need
to
start
with
and
their
their
state
of
art
is
not
fitting
the
data
which
is
bugging
me
too
much,
and
then
then
you
project
your
model
to
20
years,
30
years,
100
years
to
estimate.
What's
going
to
happen,
I
don't
know
like
to.
C
No,
no,
I
think
there
they're
I'm
talking
about
their
what
they
call
their
calibration
process.
So
that's
basically
an
inversion
what
they
use.
It's
the
program
called
pest
or
you
code
and
what
they
basically
do.
They
just
use
a
point
of
difference
or
fancy,
find
a
difference
to
cartoon
derivatives
and
then
just
form
that
into
a
gaussian
problem.
All
right
like
it's.
Yes,
I
thought
like
just
bringing
in
the
kind
of
typical
practice
that
we
do
deriving
the
analytic.
Well,
not
analytic,
but
discrete
form
of
the
sensitivity
that
could
actually
help
a
lot.
G
C
It
could
be
that
that
could
be.
That
could
be
one
one
possibility,
but
it
seems
to
me,
I
think,
the
way
they
kind
of
evolve
and
then
putting
their
sort
of
research
is
kind
of
keep
complicating
the
model
like
the
physics
of
the
model
and
yet
like
it
cannot
fit
the
data,
because
your
model
space
is
so
small.
C
So
my,
like
my
general
thought:
why
don't
you
actually
simplify
the
model,
try
to
fit
the
data
first
and
think
about
like
kind
of
what
can
you
do
with
that
like,
rather
than
just
keep
complicating
and
make
really
non-linear
a
simulation,
whether
like
which
cannot
still
fit
the
data?
C
So
that's
that
was
kind
of
my
general
thought
and
I
was
just
reading
a
lot
of
those
papers
and
thinking
about.
E
C
If
that
works,
what
we
could
do
you
got
zillions
of
deformation
data
in
time
series
what
you
can
get
out
of
it,
zillions
of
head
values
from
the
aquifer
and
that
could,
if
that
works,
you
could
actually
monitor
the
head
level
everywhere
in
california,
which
could
be
like.
So
that's
what
you
can
get
from
the
well.
So
the
value
of
that
head
data
is
huge.
So
if
you
can
actually
get
that
large
scale
hit
data
and
high
fine
resolution
that.
C
B
B
C
It's
actually
that
the
process
it's
complicated,
so
it's
not
it's
not
linear,
so
you
actually
need
to
solve
1d
flow
equation
and
there's
like
bit
of
nonlinearities.
So
what
when
the
substituents
happen
is
like,
when
you
got
a
large
head
difference,
a
large
head
decrease.
Let's
say
you
are
in
a
drug
ear,
then
you're
gonna
pump
a
lot.
So
if
that
kind
of
spans
for
a
couple
of
years,
that
could
make
a
huge
deformation.
So
it's
not
always
happening
so
you
need
a
certain
threshold.
C
So
it's
quite
like
a
there's,
quite
a
bit
of
non-linearity,
so
I
think
even
using
machine
learning,
I'm
not
sure
how
well
you
could
do
that
and
generally
like
we
got
so
sparse,
head
data.
It
cannot
it's
pretty
hard
to
learn.
What's
like
that,
that
relationship,
I.
I
C
I
don't
know
that's
my
general
thought
so
so
to
me
it's
actually
simple,
like
actually
inverting
in
like
kind
of
a
typical
geophysical
inversion
way,
and
that
seems
relatively
straightforward
to
me.
So
that's
why
I'm
kind
of
moving
in
that
direction.
A
A
I
I
remember
in
my
thesis
stuff
when
I
was
doing
a
couple
inversion
with
thirsty
flow,
that
there's
like
it's
it's.
There
are
so
many
things
like
so
many
chain
rules.
You
got
to
keep
track
of
product
tools.
Everything
like
that,
like
the
non-linear
operations
that
happen
inside
of
that,
as
well
as
like
it's,
it's
there's
a
lot
happening
there
since
it's
it's
possible
and
you
can
do
it
and
I
mean
I
know
I
know
I
I
did
it
before,
and
it
works
just
fine
to
solve
the
simulations.
A
Just
get
the
derivatives
out,
so
you'll
be
able
to
do
something
similar
with
that.
If.
I
C
Yeah
yeah
exactly,
but
my
feeling
is
like
it's
complicated
but
possible.
So
I
what
I
thought
like.
Why
not
I
mean
it's.
It's
not
like
extremely
challenging
thing.
You
just
need
to
think
about
the
simulation
like
a
little
bit
carefully
and
design
the
simulation
such
that
you
can
take
the
derivative
that
seems
not
has
like.
That
seems
not
that
kind
of
existing
model.
B
B
John,
I
I
did
not
forget
to
to
finish
the
cloud
simulations
right.
I
don't
know
if
you're
you're
not
waiting
after
after
me,
were
you.
K
I
was
starting
to
look
at
things
but
yeah
I
was
looking
at
or
I
was
maybe
waiting
for
an
example.
Was
it
yeah?
That's
right.
That's
right!
You've.
K
Something
to
deal
with
yeah,
no,
no,
it's
it's!
No,
no
rush,
I'm
picking
away
at
it
right
now,
but
yeah.
No
new
developments
unfortunately
sounds
good.
B
And
otherwise
I
wanted
to
have
something,
but
I
might
get
it
but
is
to
start
thinking
into
a
spherical
regularization
instead
of
the
spherical
simulations
for
mbi,
which
I
think
will
be
quite
nice,
but
I
haven't
got
the
time
to
do
it.
B
It's
the
idea
coming
out
from
from
that
iranian
paper
right,
so
that,
instead
of
transforming
our
parameters
in
the
simulation
from
cartesian
to
spherical,
we
just
leave
it
in
spherical,
but
just
regularize
in
a
spherical
domain.
So
that
way
at
least
the
forward
simulation
is
still
still
in
here.
Yeah.
B
C
Like
this
is
kind
of
one
of
the
advantages
of
the
syntax
regularization
class,
because
that
in
the
beginning,
when
we
were
designing,
we
thought,
oh,
like
we
may
not
have
any
chance
that
you're
gonna
work
on
different
domain,
like
from
your
model
space
in
regularization
model
space
in
your
simulation,
but
they
think
this
is
a
good
example
where
you
can
actually
kind
of.
Oh
I'm
just
going
to
like.
Although
my
inversion
model
is
like
sigma,
you
can
regularize
it
in
sigma.
A
A
A
How
did
it
go?
I
it
seemed
fine.
There
were
not
there
weren't
too
many
people
in
the
session.
I
think
it
was.
It
was
like
the
very
last
session
so
but
it
was
okay.
Had
some
nice
chat
with
some
some
people
from
caltech
and
they're
all
also
using
desk
and
we're
chatting
back
and
forth
about
the
issues
that
we've
had
issues
they've
had.