►
From YouTube: SimPEG Meeting June 30th
Description
Weekly SimPEG Meeting from June 30th, 2021
A
A
So
I
kind
of
just
go
right
into
my
clicker
report
here
I
migrated
some
of
the
analytic
functions
from
simpeg
into
geoanna
and
I
added
some
more
tests
to
make
sure
they
were
correct
and
like
dieter.
A
About
like
signs
and
things
making
sure
everything
made
sense
there
as
well,
but
it
looks
good
also
considering
that
we've
been
having
a
these
amount
of
problems
recently
with
the
like
mkl
libraries
or
the
pardiso
solver
in
there
like
looking
to
it
with
that.
By
entail,
I
wrote
up
a
quick
cycon
wrapper
for
it.
A
Package
that
exposes
a
lot
of
the
underlying
control
functions
for
mkl
things
like
setting
the
number
of
threads
to
use.
You
can
set
threads
used
for
individual
processes
like
if
you
wanted
to
limit
the
number
of
threads
that
the
fft
routines
used.
You
could
do
that
specifically.
A
So
I
just
kind
of
followed,
along
with
those
steps,
and
I
sent
out,
sent
it
to
a
couple
people
to
see
if
they
could
get
it
to
build
locally,
which
they,
john
and
bomb
were
able
to
get
it
installed
pretty
easily
on
windows.
A
A
B
A
B
No,
yes,
I
thought,
maybe
maybe
they
do
it
like
always
if
they
have
a
stable
release.
That
is,
I
don't
know
five
years
old,
they
might
drop
it
out,
but
maybe
not.
C
A
So
with
conda
numpy
is
built
usually
with
mko,
as
the
blast
like
the.
A
The
thing
that
I
don't
think
that
I
think
we
could
take
advantage
of
with
mko
is
they
have
a
few
sparse,
matrix,
vector
routines
that
could
potentially
speed
up
like
those
operations
like
sparse
matrix
times,
a
vector
compared
to
how
they're
implemented
at
sci-fi
scifi
they're,
just
they
have
their
own
simple
implementations
of
them.
Like
I
mean
it's
pretty
fast,
it's
pretty,
there's
not
too
much.
A
You
can
do
as
far
as
optimizing
a
sparse
matrix
times
a
vector
multiplication,
but
I
imagine
the
mkl
libraries
might
be
a
little
bit
better
optimized
for
the
targeted.
B
I
I
had
a
before
I
used
number
with
empire
mode.
I
did
sometimes
some
benchmarking
of
it
with
running
it
with
and
without
mkl
and
well.
All
my
functions
are
using
numpy
and
scipy,
and
there
was
quite
a
difference
here,
whether
you
use
it
or
not,
it
always
depends
which
functions
you
use,
but
so
yeah
numpy
definitely
makes
use
of
it
already.
So
I
don't
know
how
much
you
could
gain.
A
Yeah,
like
I
at
this
point
with
this,
I
think
we
probably
need
to
take
a
step
away
from
that
pi
mkl
library,
because
it's
essentially
dead
and
they're,
not
maintaining
it
or
updating
everything.
So
I
made
me
to
do
this.
I
have,
I
think
you
finally
have
a
discussion
about
where
it
should
live,
whether
it
lives
on
its
own
or
it
lives
as
part
of
pimax
solver.
A
I
don't
know
I
I've
been
thinking
about
it
a
little
bit
and
I
guess
for
me,
it
kind
of
makes
sense
that
it
would
be
somewhat
separate,
considers
just
like
meant
to
do
this
partiso
interface
and
then
pi
max
solver
could
certainly
rely
on
it.
The
same
way
that
pi
entail
does.
C
A
C
B
B
Yes,
I
don't
know
who
thought
saw
the
I
think
tebow
reacted
to
it
and
lindsay.
It
came
up
in
a
swung
meeting
recently
about
how
long
do
meeting
recordings
live
on
the
internet.
How
long
should
they
live,
and
I
thought
it's
maybe
a
good
discussion
to
have
with
the
government's
policy
yeah
it
was
raised
because
of
the
justified
concern
that
things
can
be
taken
out
of
place
five
years
down
the
line
or
something.
How
long
should
everything
be
online?
B
Not
everybody
being
the
same
easy
going
about
it!
Something
like
this,
so
I
don't
know
what
other
people
think
lindsay
shipped
in
and
then
we
said,
maybe
we
could
have
a
after
a
while
have
them
unlisted,
so
they're
still
on
youtube,
but
you
need
to
have
the
direct
link
and
then
after
another,
while
completely
remove
them
from
the
public
view
yeah.
What
do
I
think.
G
Well,
in
some
ways
the
stuff
that
we
talk
about
in
our
meetings,
I
guess
there's
like
an
intent
to
finish
the
projects
we're
talking
about,
let's
say
within
six
months,
so
that
could
be
kind
of
an
upper
limit
for
that
at
a
certain
point,
it
doesn't
necessarily
seem
like
it's
useful
to
have
videos
talking
about
things
that
have
been
like
urgent
master
release
documented.
So
at
the
very
least,
we
could
probably
delete
them
after
six
months
or
not
make
them
available
freely
after
six
months.
G
E
Like
I
was
just
gonna
say,
yeah
like
if
you
like,
unlisted
or
like
put
it
private
after
a
year,
that's
probably
like,
like
a
conservative
position
and
but
also
considerate.
So
I
have
no
problem
with
that
and
like
it's
true
that
also
like,
like
this
like
right
to
be
to
be
forgot
and
laws
on
internet
varies
from
one
country
to
another,
but
yeah.
I
think
there
is
no.
E
B
E
Yeah-
and
maybe
there
are
some
meetings
that
I
was
keeping
longer
like
some
meetings
we
do
like
it
was
actually
someone
doing
a
presentation,
so
that
can
probably
stay
up
longer
or
like.
If,
like
the
meeting,
we
had
about
government
and
stu,
where
we
really
we're
really
putting
the
groundwork
for
the
government
and
it's
like,
probably
one
that's
worth
keeping
longer
but
somewhere.
It's
just
like
like
a
week
two
week,
this
discussion
or
like
like
more
casual
yeah
after
six
months
or
a
year.
It's
probably
fine,
if
it's
at
least
unlisted.
A
H
Hey,
I
don't
know
just
a
thought
like
this.
I
don't
know
if
it
would
be
possible
to
just
to
just
convert
them
to
text.
If
we
could
query
after
this,
you
know
ideas
or
topics
that
were
raised.
It
would
be
easier
than
if
it
was
on
videos
right.
It
was
just.
I
don't
know
if
it's
possible
to
use
youtube
to.
E
Yeah
yeah,
it's
it's
possible,
I
have
I've
actually
used
it
like
is
that
youtube
can
generate
automatics
subscriptions.
E
Yeah
and
then
and
they're,
not
bad
they're
like
the
generated
ones,
are
not
bad.
So
just
an
example.
So
I
did
a
like
my
training
of
on
my
of
my
phd
defense
with
a
simple
group.
E
So
that's
one
presentation
that
I
was
thinking,
for
example,
that
I
would
like
to
keep
that
one
up
as
long
as
possible,
but
one
thing
that
I
did
was
that
after
that
training
and
to
like
to
prepare
them
like
the
real
one,
I
was
actually
able
to
download
the
automatic
captions
and
I
actually
use
that
automatic
caption
to
see
like
okay.
Here
is
what
I
said
and
what
I
forgot,
etc,
but
yeah.
So
you
can.
You
can
download
the
automatic
caption
on
on
any
videos
and
that's
so
like
the
text.
B
H
Yeah
that
would
have
might
be.
My
only
comment
is
that
you
know
hey
we're,
actually
not
even
capturing
it
now
all
right
and
we're
kind
of
maybe
something
someone
said
something
intelligent
and
a
good
idea,
but
we're
just
losing
it,
because,
whatever
it's
piled
under
more
videos,
if
we
there's
always
a
way
to
be
able
to
capture
that,
but
I
don't
know,
I
don't
have
time
to
work
on
this
either.
H
A
B
B
But
it's
it's
for
me.
It
was
an
amazing
insight
with
the
whole
joint
to
see,
even
though
the
gradient
was
pretty
good
before,
if
you
compared
it
to
finite
difference,
if
you
don't
do
the
exact
joint,
it's
still
different
in
some
ways,
it's
kind
of
fascinating,
because
yeah,
the
the,
even
though
we
got
the
receiver
response
more
accurate
because
we
couldn't
do
the
exact
joint
of
this.
The
gradient
was
worse.
So
we
have
to
get
the
receiver
response
less
accurate,
with
a
linear
interpolation
to
become
the
better
gradient
which
is
kind
of
counter-intuitive
buddy.
A
I
I
think
lindsey
has
posted
a
few
things.
I'm
just
going
to
say
it
here
as
well.
She's
added
any
issues
on
the
community
repo
on
about
the
publication
listing
another
about
listing
institutional
partners
and.
A
Another
minor
one
on
the
formats
of
the
file,
whether
it's
markdown
or
rst
institutional,
I
believe,
if
will
probably
have
to
deal
with
like
how
what
do
we
consider
an
institutional
partner?
What
benefits
drawbacks
things
like
that?
What
did
they
get
out
of
it?
What
did
we
get
out
of
it?
What
we're
expecting.
A
Let's
see
here.
G
Obviously
I've
been
doing
some
work
on
the
doc
strings,
but
whether
or
not
it's
in
this
meeting
or
if
some
of
you
have
some
time
just
afterwards,
I
would
like
to
maybe
briefly
show
you
what
I've
done
and
get
some
comments
and
some
feedback,
and
I've
done
one
example
doc
string
of
of
how
I
want
to
document
differential
operators
on
different
meshes
and
I'd
really
just
like
to
nail
down
what
we
think
is
the
most
important
information
or
maybe
like
I
don't
know
what
kind
of
visual
representation
we
like
on
this.
G
So
it's
just.
I
don't
think
it
needs
to
take
a
really
long
time,
but
I
think
just
getting
a
few
people's
perspectives
on
it
and
maybe
deciding
collectively
kind
of
like
a
direction
would
be
really
useful
for
me.
G
So
I
mean
I've
gone
through
documenting
the
utilities
and
all
of
the
the
basic
properties
and
methods
for
all
of
these.
These
meshes
and
given
examples
and
stuff,
but
now
the
differential
operators
and
that
kind
of
stuff
are
yeah.
We
need
to
come
up
with
a
bit
of
a
plan.
Otherwise,
it's
just
gonna,
maybe
not
be
done
very
efficiently,
so
yeah
does
anyone
have
time
just
after
this
meeting,
if
it's
relatively
short,
maybe
from
like,
I
don't
know
up
until
noon
or
something.
G
Yeah,
that
would
be
great.
We
could
just
kind
of
stay
on
the
channel
and
I
could
screen
share
the
other
thing
that
I
was
working
on,
because
I
had
a
little
bit
of
time.
Was
this
this
em
issue
with
rings
right?
We
all
know
the
you
know.
G
You
got
the
sensitivity
and
if
you've
got
a
very
compact
body,
it's
going
to
recover
a
ring
shape
and
I
was
just
trying
to
generate
a
really
small
scale,
simple
example
in
in
simpeg
that
I
could
use
to
play
around
with,
and
I
realized
that
we
don't
have
a
we're,
not
applying
a
preconditioner
when
we
solve
the
gauss-newton
system.
G
I
don't
think
they're
we're
applying
a
preconditioner
to
that.
It's
basically,
my
example
is
crazy,
crazy,
slow
I've
only
got
about
30
000
cells
and
49
stations
and
a
few
frequencies,
and
each
time
I
try
and
solve
that
problem.
It's
it's
like
two
hours
so
yeah
I
I
looked
in.
We
have.
We
have
a
jacobi
preconditioner
for
linear
problems,
that's
very
easy
to
construct,
but
we
don't
have
one
for
the
frequency
domain
or
or
time
domain,
and
I'm
wondering
if
this
is
something.
H
Yeah,
if
you're
on
the
tiled
simulations
branch,
because
now
we're
forming
j,
we
have
jacobi.
So
you,
if
you
switch
that
branch
you'll
be
able
to
have
access
to
jtj.,
that's
what
you
need
right.
Gtj.
G
H
Yeah
well,
there's
an
example.
Look
at
the
look
at
the
I
think,
there's
an
fpm
example
in
there:
okay,
so.
H
Yeah
and
it
needs
to
be
right
now-
we
haven't
touched
time
domain.
I
mean,
if
you're
really
keen
and
want
to
start
working
on
updating,
doing
the
exact
same
implementation
like
we
did
for
frequency
to
time.
That
would
be
definitely
useful.
G
Okay,
let's
see
I'm
running
some
stuff,
that's
going
to
take
a
few
days
on
my
current
branch,
but
I
will
go
back
to
that
so
and
that
example
is
that
just
in
the
examples
gallery,
or
did
you
put
it
in
as
a
tutorial.
F
G
All
right
that
would
be
fun
to
play
around
with
yeah
and
then,
apart
from
the
doc
strings,
I
mean
one
one
small
scale
project
I
could
kind
of
do
pretty
quickly
is
working
on
the
the
ios
that
connect
sim
peg
to
ubc.
I
don't
know
if
anyone
would
find
that
particularly
interesting,
but
we
don't
exactly
have
that
and
I
know
we
can.
G
G
So
does
that
kind
of
make
sense
to
you
guys.
G
G
H
Yeah,
I
would
say
you
know,
be
careful
because
you
might
start
creating
a
new
file
format
that
no
one's
gonna
want
to
use.
Just
look
around
to
see.
What's
there
right.
G
Because
well,
I'm
not!
I'm
not
gonna
invent
my
own
file
format.
It's
it's
going
to
be
directly
ubc
to
simpeg
right,
and
one
of
the
benefits
of
this
is,
with
these
code
validations
that
we're
doing
being
able
to
pretty
easily
go
and
and
construct
a
mesh
in
a
survey
in
using
one
of
the
coding
packages.
G
H
Yeah
I
hear
you
but
again,
like
the
number
of
ubc
users,
ubc
em
users
are
gonna
use,
simpex
is
nil
right,
it's
just
gonna,
be
you
very
few.
People
are
gonna.
Do
that
conversion
because
those
file
formats
are,
you
know.
Hopefully
everybody
starts
using
simpeg
in
the
in
the
future
and
then
the
ubc
codes
are
just
duplicated
and
those
file
formats
are
such
a
pain
in
the
ass
to
deal
with.
I
don't
know
if
it's
really
worth
your
time
to
really
create
ios
for
all
those
files.
H
I
G
Point
I'm
definitely
not.
I
don't
want
to
invent
some
kind
of
new
file
format
for
that
yeah.
It's
something
to
think
about,
because
I
do
agree
with
you
that
the
people
are
either
using
gif
tools
in
geoanalyst
and
those
people
aren't
really
trying
to
then
start
learning
simpeg
they
want
to.
They
want
to
either
click
buttons
or
they're,
more
coding
minded
and
just
using
simp
peg
anyway.
H
Maybe
just
use
gif
tools
to
convert
it
to
a
matrix
form,
you
know
and
then,
after
those
take
it
up,
pick
it
up
by
python
or
something
I
don't
know.
G
Okay,
it's,
it
would
still
be
nice
to
have
some
kind
of
I
o
that
you'd
actually
be,
maybe
there'd
be
like
a.
I
don't
know,
verbose,
io
or
something
like
that
where
you
could
write
out
and
see
it.
I
still
think
people
will
want
to
open
a
file
and
and
see
what's
in
it,
even
if
it's
not
the
most
compact.
B
G
H
B
But
then
it
becomes
very
quick
huge
with
the
true
I
mean
very
huge,
fair
yeah.
H
F
F
F
I'm
compressing
what
I
can
it's
just
like.
We
don't
really
have
that
big
of
like
when
you
think
of
it.
It's
more
of
the
path,
that's
more
important.
Otherwise,
the
big
data
you're
actually
recording
on
a
dipole
is
just
the
either
the
time
series
that
can
be
compressed
or
just
a
decay.
So
it's
yeah
yeah,
but
the.
G
Hypothetically
then,
so
somebody
comes
to
you
with
with
a
data
file,
some
kind
of
let's
say,
text
file
that
has
all
the
information
or
all
the
locations
of
things
in
in
a
survey.
And
then
you,
you
have
the
report,
so
you
can
figure
out
the
loop
size
and
orientation
we
should
have
a
ideally.
We
should
have
a
straightforward
way
to
be
able
to
load
that
into
simpeg
so
that
you
can
start
building
stuff.
D
C
Yeah
and
in
a
practical
sense
that
I
would
it
seems,
like
it's
not
very
worthwhile
to
figure
out
a
general
format
of
em
data,
because
it
it's
actually
not
that
useful,
because
at
the
end
nobody
will
follow
that
and
then
it'll
through
a
very
different
types
of
format,
depending
upon
whatever
survey.
Even
if
you
do
the
same
survey
but
depending
upon
the
company
who
is
running
the
survey,
they
may
have
completely
different.
C
Yeah,
even
the
same
company,
so
my
guess
is
like
I
don't
know
if
something
may
be
useful
having
in
an
and
syntax
side
about
something
like
specific,
maybe
so
because
you
may
do
a
specific
test
of
I
don't
know
if
you're
doing
an
airborne,
em
then
having
something
like
that
might
be
at
least
useful
and
it
may
be
used
because
if
that's
not
too
specific,
it's
probably
not
used.
I
guess
I
think
that's
what's
happening,
maybe
mac
and
dc,
it's
quite
specific
and
it's
actually
a
single
format.
It's
pretty
simple.
C
So,
for
instance,
if
you
do
an
airborne
em
now
I
think
it's
actually
quite
simple,
for
instance,
or
let's
say
say
smt
or
whatever
specific
survey,
then
that
may
be
useful,
and
once
you
got
that
you
can
potentially
generalize
at
one
point,
but
I
think
starting
from
something
specific
and
just
making
it
work
and
that
at
least
like
it
could
be
used.
So
just
just
a
thought.
G
Yeah,
but
I
asked
what
I'm
what
I'm
hearing
is
just
the
the
file
formats
being
used
for
em
are
so
widely
varied.
There
isn't
going
to
be
like
we
can't
create
a
nice
simple
function.
That's
like
a
general
I
o
for
that,
and
so
in
the
end,
I
guess
the
onus
is
on
the
user
to
script
up,
something
that
will
load
their
particular
format
and
if
that's
the
case
like
that's
just
that's
just
life.
G
G
A
And
my
point
is,
though,
is
I'm
not
sure
if
they
are
all
properly
implemented
right
now
I
get
that
handles
it
properly,
so
it
could
be
a
thing
to
check
like
serialize
and
deserialize
on
every
object
like
that
to
make
sure
it
happens,
that's
something
I
don't
think
like.
It
tentatively
supports
it,
but
I
don't
think
it
works
properly
right
now,
okay,.
G
A
Reader
and
writers,
I
think
that
had
created
for
it
I
think
they're
hidden
somewhere
in
the
empty
folder
yeah.
F
There's
something
there.
I
made
a
few
modifications
because
it
was
using
a
really
heavy.
Like
a
lat,
long
converter
library,
it
was
using
like
gdal
when
I
just
lightened
it
up
using
utm
but
yeah.
It
seems
to
be
quite
functioning.
I
believe
I've
been
using
it
when
I
have
edi
files.
G
Yeah,
I
mean,
I
guess,
even
if
it's
not
yeah,
even
if
we
don't
have
plans
to
implement
stuff,
like
that,
I
guess
the
community
would
tell
us
if
there
was
something
that
says
hey
where
a
lot
of
us
are
doing
this
is
there
a
way
to
yada
yada.
F
Our
mt
guy
diaz
he's
been
involved
with
the
community
quite
well
and
they're.
Changing
they're
they're,
going
from
edi
files
to
hdf
or
hd5.
Okay
they've
already
started
to
sketch
it
out,
but
I
don't
think
there's
anything
official
yet
but
yeah.
If
you
want
some
more
information,
I
can
try
and
get
something
from
him
sent
to
you.
G
Yeah,
I
was
just
something
just
trying
to
find
something
small
to
work
on
if
the
the
docstring
stuff
stalls
a
bit.
B
I
would,
I
think,
the
most
value
you
would
get
if
sim
peg
would
very
detail
describe
how
our
stuff
is
getting
serialized
and
stored.
So
everybody
who
would
get
something
into
it
would
know
how
to
write
a
file
that
can
be
read
by
simpac.
That
is
the
much
better
path
than
trying
to
make
loaders
for
particular
files
unless
there
is
a
real
request,
but
if,
if
you
can,
if
you
can
really
describe
how
we
serialize
our
stuff,
then
anybody
could
write
a
file
that
can
be
read
by
simpac
and
that's
much
more
worthwhile.
B
B
Like
the
discretized
tensor
mesh,
for
instance,
if
we,
I
don't
think
it's
a
dogs,
but
it
would
just
need
the
h.
It
would
need
the
the
origin.
I
think
like
three
things,
so
everybody
could
write
a
file
that
then
could
be
read
by
simpeg
right
if
it's
documented.
B
B
A
Okay,
john,
so
you
got
a
few
things
there
and
then
soggy
after.
F
That
yeah,
I
don't
have
too
much
productive
stuff
to
report
on
just
started,
throwing
some
bigger
problems
at
the
in
parallelization
and
for
the
dc
problem
and
yeah.
My
mpi
is
blowing
up.
It
can
only
handle
two
gigs
or
yeah.
I
don't
know.
I
haven't
quite
figured
out
the
air
exactly,
but
as
soon
as
you
throw
a
big
problem
at
it,
it
can't
distribute
it.
It
can't
scatter
it.
F
When
I
first
looked
at
it,
yeah
desk
isn't
actually
setting
affinities.
So
it's
not
telling
which
task
to
go
to
what
core
it
just
kind
of
tells
it
hey,
just
access
it
and
whatever
one's
free,
take
it.
But
if
I
find
I
can
improve
it.
If
I
can
tell
what
task
where
to
go,
that
seems
to
be
improving
for
locally
running
anyways.
F
F
I
haven't
gone
in.
That
was
what
I
was
gonna
do
today.
The
nanny
kind
of
is
under
the
hood
of
a
worker
anyways,
but
yeah.
I
think
you
can
do
a
little
bit
more
work
with
the
nanny,
but
yesterday
yeah,
I
was
gonna.
Try
the
nanny
today,
but
I
was
trying
scatter,
because
desk
has
a
scatter
option
as
well,
but
yeah.
I
quickly
learned
that
that
is
no
good
it.
The
overhead
is
enormous.
It's
crazy.
F
Yeah,
that's
true
yeah
if
I
was
just
scattering
like
the
objective
function
or
like
just
the
misfits
and
yeah.
No,
that's.
B
F
F
F
That
seems
to
be
doing
a
good
trick,
but
it's
essentially
doing
what,
if
you
had
a
cluster,
it's
just
telling
on
the
computer
which
ones
to
go
to,
whereas
if
we
have,
if
you
have
das
on
the
cluster,
you
just
you're
pretty
much
telling
it
that
computer
is
yours
and
then
you
are
having
everything
in
parallel.
So
it's
just
kind
of
the
local
implementation.
That's
a
bit
of
an
issue.
F
H
That's
going
to
be
important
for
everybody,
because
scheduling
tasks,
we're
not
yeah,
as
you
said,
we're
kind
of
throwing
everything
everything
at
it
right
now,
but
we
have
to
be
more
careful
like
you
do
this
you
and
then
don't
start
anything
else
until
you've
done
this
part
right
yeah.
Otherwise
we
have
too
many
instances
of
parties.
So
in
that
that
starts
kicking
around.
F
H
F
Then
you
it's
two
different
kind
of
modules
too,
under
os
for
windows
and
for
linux
you
can
do
it
for
both
of
them,
so
you
just
have
to
have
a
check
to
see.
Oh,
what
am
I
what
my
operating
system
is
and
then
it
would
implement
the
right
thing.
So
there
would
have
to
be
there's
two
different
ones,
but
you
can
still
make
it
general.
You
can
add
it
in.
C
So
john,
are
you
like
what
is
the
connection
with
mpi
and
desk?
Are
you
using
separately
or.
F
Yeah,
I
was,
I
was
doing
two
separately.
I
was
building
like
dom
and
I
were
working
with
desk
and
then
I
was
playing
around
with
mpi
and
mpi.
I
was
finding
was
giving
me
better
performance
on
a
cluster.
However,
it
just
yeah
as
soon
as
you
throw
a
big
problem
at
it.
It
actually
fails,
which
is
kind
of
surprising.
F
F
That's
called
big
mpi,
and
it
says
that
it's
supposed
to
do
big
ones.
It
just
kind
of
it
kind
of
does
what
das
does
it
just
chunks
everything,
however,
I
tried
it
and
it
just
gave
me
the
same
air
output.
That
mpi
was
giving
me
that
it's
too
big,
so
I
don't
know
if
I
had
like
it
says
it
was
using
big
mpi
but
yeah.
I
don't
know
it
just
seems
like
it's
a
dead
end
right
now,
so
I'm
gonna
yeah.
F
Yeah
actually
I'll
shoot
you
my
my
repository,
I
have
it
on
my
forked
repo.
A
F
Yeah,
I
think
that's
where
it's
going
a
little
bit
wrong,
because
I'm
I'm
scattering
the
the
simulations
so
that
the
simulations
go
on
to
each
cluster
node
and
then
that
all
its
information
has
to
do
with
the
derivatives
to
do
the
deep
threads.
A
F
So
that
might
be,
why,
like
I
have
maybe
it
is,
I
have
to
break
everything
down
to
scattering
vectors.
You
can't
just
yeah
scatter
a
whole
object.
I
guess.
A
Yeah
that
that's
that's
rough
like
it's,
so
let
me
see
I'll,
take
a
look
at
it
and
see
what
I
can
point
out
and
what
points.
What
jumps
out
to
me.
F
Okay,
yeah
I'll
I'll
point
you
at
what
lines
it's
just
in
get
deep,
reds
under
the
inversion
problem,
dot,
pi.
H
Yeah
not
moving
the
mesh
around
would
probably
help
a
lot
too.
If
we
can
just
keep
the
vectors.
C
Yeah,
I
don't
have
any
technical
update,
but
we
submitted
the
hu
session
for
in
near
surface
geophysics
about
open,
open
source.
I
think
what
was
the
title:
yeah
open
source
software
for
near
surface
geophysics
and
its
application,
so
yeah.
C
Guys
submit
some
abstract,
so
I
can
see
you
all
there
and
if
you
have
a
good,
so
I
need
to
have
a
two
invited
speakers
to
somebody
who,
in
a
high
profile,
I
don't
know
doing
some
cool
things.
So
if
you
guys
have
any
suggestions,
please
let
me
know
that
would
be
very
helpful.
H
I'm
sure
craig
would
love
to
to
be
there.
He
loves
agu.
A
Okay,
anything
else.
If
not,
we
can
like
to
see
some
of
the
have.
Some
devin
show
some
of
that
doctoring,
stuff
and
documentation
that
he's
been
building.
H
G
Yeah,
so
this
is
kind
of
like
the
this
is
the
landing
page
for
the
api
reference.
Most
of
it
was
pretty
structured
based
on
what
joe
had
there
before,
but
we
have
our
you
know
our
mesh
classes
and
then
there
will
be
sort
of
a
kind
of
like
a
base,
so
base
meshes
a
place
where
we
have
the
discrete
operators
and
then
mix-ins.
I
guess
this
was
a
set
of
classes
for
like
interacting
with
vtk
or
kind
of
interacting
with
external
packages.
G
So
if
we
want
to
take
something,
that's
simple,
formatted
and
then
reorder
it
for
for
something
else.
That
was
a
place
to
do
it,
and
then
we
have
all
those
utilities,
but
to
I
guess
the
stuff
that
I'm
most
interested
in
getting
feedback
on
is
stuff
for
operators.
G
So
here
we
go
so
I
I
decided
to
do
a
little
bit
of
a
prototype
one,
just
the
face:
divergence
on
a
tensor
mesh,
so
yeah
we
have
kind
of
our
one,
our
one
sentence,
descriptor
that
would
that
would
show
up
in
the
big
list
of
properties
for
that,
for
that
particular
mesh
or
that
particular
class,
and
then
the
returns.
Everything
is
linked,
and
it
would
give
you
the
the
dimensions
of
this.
B
G
Little
bit
of
an
explanation
and
then
something
kind
of
brief
about
the
operator.
So
in
this
case
it's
a
second
order:
numerical
divergence
operator,
it
maps
from
the
faces
to
cell
centered,
and
once
it's
constructed
it
is
stored
permanently
as
a
property
of
the
mesh.
G
So
I
don't
know
if
we
want
to
elaborate
too
much
on
this
description,
but
we
do
have
a
space
under
notes
where
we
can
provide
some
mathematical
background
if
we
want
to
so
that's
some
questions
I
have
is
how
how
much
of
this
math
do
we
want
to
put
in
the
the
main
description,
or
do
we
even
want
to
bother
that
stuff
is
sort
of
questions
I
have
and
then
below?
We
can
put
in
some
kind
of
example,
and
for
these
operators
it's
nice
to
have
some
visual
representation
and
so
below.
G
I
just
there's
there's
a
script
that
will
basically
just
show
the
mapping,
so
it's
going
to
map
from
the
green
the
faces,
and
it
gives
a
number
of
of
the
index
of
this
this
value
in
the
in
the
original
vector
and
then
tells
you
where
it's
mapping
in
red
at
cell
centers
and
then
gives
you
something
about
the
the
structure
of
that
the
resulting
matrix.
G
So
this
this
one,
I
think,
is
a
little
is
pretty
straightforward
and
I
wanted
to
use
this
as
a
template
for
for
other
ones.
But
before
I
start
going
nuts,
I
wanted
to
get
some
feedback.
A
A
I
think
the
q
is
a
little
abstract
defining
it
like.
This
is
maybe
a
little
bit
abstract.
So
it's
like,
I
guess
I
would
the
way
I
would
approach
it,
is
to
write
it
on
something
and
show,
but.
A
I
I
would
look
okay,
this
face
off
this,
this
space
divergence
matrix
like
we've,
talked
about
before,
like
for
each
cell.
It
takes
the
sum
of
the
values
on
the
boundaries
around
the
faces,
started
with
their
normals
right
and
then
adds
them
together,
divided
by
area
or
something
like
that
or
multiplied
by
the
area.
Whatever
it
is,.
G
A
So,
okay,
I
would
like
you
know,
I
don't
think
we
need
it
explicitly
like.
Okay,
it's
exactly
diag
v
and
verse.
Q
diags,
just
I
think,
it'd
be
enough
to
just
represent
it
in
terms
of
like
okay,
it's
a
sum
like
for
each
cell.
I
some
faces
started
with
their
thing
like
this
is
what
it
is
doing.
G
G
Yeah,
I
thought
about
doing
that
and
I
didn't
want
to
make
it.
I
didn't
want
to
make
it
really
long
and
then
a
lot
of
those
details
I
decided
to
put
in
the
tutorials,
so
that
was
this.
This
is
kind
of
like
this
is
the
information
that
you
need
to
be
able
to
implement
this
and
know
what
you're
doing,
but
the
details
about
like
which
faces
ijk.
A
Possibly
I
don't
know
because
even
like
looking
at
okay,
like
diagon
v
and
verse
q
times
diags
like
I
know
what
it's
doing,
I'm
sure
like
some
of
us
here
know
what
it's
doing,
but
it's
for
someone
else
looking
at
it,
they'd
be
like
what.
How
is
this
doing
the
divergence.
G
Yeah
yeah-
and
I
I
wanted
to
include
something
like
that
where
there
was
kind
of
that
fundamental
equation,
where
it's
like
x,
face
minus
x,
face
over
the
the
cell
dimension
plus
y
face
minus
y
face
over
the
y
dimension.
Plus
I
wanted
to
put
that
in,
but
in
a
way
that
wasn't
going
to
lead
to
more
ex
more
math
or
more
explanation
than
is
necessary.
A
A
A
A
G
A
B
C
Who
would
you
think
was
like
who's
the
target
audience
for
this?
Like
said,
I'm
just
curious
like
who
are
we
targeting
to
read
this?
Is
that
somebody
who's
going
to
rewrite
this
code
or
like
just
going
to
use
this
and
then
just
want
to
have
a
rough
idea.
A
C
G
Yeah
I
mean
that
I
think
that
part's
pretty
yeah
useful,
I
mean
basically,
we
have
a.
We
have
like
a
we're
approximating
like
a
continuous
operator,
we're
saying
we
want
a
way
to
evaluate
the
divergence
of
a
vector
function
and
then
we'll
just
say:
if
you
the
way:
we've
discretized
it.
G
If
you
define
the
components
of
you
on
the
faces,
then
you
can
get
the
divergence
itself
centers,
because
I
don't
I
don't
know
we
need
to
do
much
beyond
that,
because
that's
all
you
need
to
implement
it,
and
you
know
you
need
to
know
that
it's
sparse.
You
need
to
be
nice
to
know
that
it's
second
order.
G
These
are
all
important
things
for
implementation,
but
all
of
that
that
stuff
about
like
what's
happening
under
the
hood
or
like
those,
I
don't
know
graduate
level
math
details
that
kind
of
got
covered
in
a
tutorial
where
we
we
bring
people
in
and
say,
here's
a
way
that
we
can
approximate
the
divergence
operator
and
we're
going
to
take
this
face
minus
this
phase,
like
that,
that's
kind
of
been
done
in
detail
in
a
tutorial
as
like
a
an
extended
learning,
so
yeah.
The
other
part,
is
some.
G
Some
of
these
things
like,
I
think
you
have
a
like
a
cell
gradient
operator
and
then
that
becomes
actually
a
little
bit
more
complicated
because
now
you're
interacting
with
different
cells
and
implementing
boundary
conditions
and
stuff.
G
A
A
A
G
C
So
I
think,
that's
probably
worthwhile
to
why
kind
of
having
that
integral
form
depth
might
be
useful.
So,
like
you
can
start
with
the
continuous
form,
and
this
is
basically
same
as
the
divergence
and
here's
the
discretized
version,
and
you
can
clearly
see
that
corresponding
match
in
the
code.
So
that's
probably
all
you
need
to
say.
G
G
And
then
I
mean
once
once:
we've
actually
finalized
the
tutorials
one
of
the
the
plans
I
had
was
to
go
back
in
and
then
actually
link
to
those
tutorials,
so
that,
if
you
really
do
want
a
full
explanation
of
what's
happening
in
pictures
and
things,
then
it'll
just
take
you
to
a
tutorial
where
we
really
go
into
easing
them
into.
What
a
discrete
operator
is.
B
D
G
A
So
gradient
is
the
one
that's
kind
of
a
little
bit
weird,
but
like
we
don't
really
we
don't.
We
never
use
the
cell
gradient
itself
in
the
finite
volume
operators
like
what's
for
equations,
for
what,
whenever
we're
forming
like
the
pdes
with
the
finite
volume
operators,
we
never
actually
use
the
cell
gradient
operator,
that's
defined.
G
Well,
don't
you
yeah
when
you're,
when
you're
saying
like
cell
gradient,
I
mean,
aren't
you
really
just
calling?
What
was
it
you're
calling
like
the
face?
Divergence
transpose,
plus
your
boundary
condition,
something
sort
of
like
I
that's
that's
one
part
I
think
I'm
going
to
need
to
talk
to
you
about
is
how
you
cleaned
up
the
implementation
of
being
able
to
do
general
boundary
conditions
on
on
everything,
how
that's
being
implemented.
G
C
A
G
Yeah,
because
when
I
was
looking
at
well,
I
was
taking
a
brief
look
at
it.
It
seemed
like
the
face
divergence,
I
mean,
there's,
no,
you
don't
need
to
implement
any
boundary
conditions.
You
just
call
the
face
divergence
and
the
only
input
argument
is
self
and
then,
when
you
had,
let's
say
edge
divergence,
then
you
would
be
calling
self
and
supplying
a
boundary
condition
whether
or
not
it
was
neumann
or
something
like
that,
and
so
there
you're
basically
saying
okay,
I
need
to
implement.
G
A
G
That
yeah,
oh,
but
it's
and
it's
a
little
bit
more
interesting
than
that
because
of
like
do
you
factor
out
the
mass
matrix
or
do
you
keep
it
in.
C
A
C
So
you
just
can
describe
what
it
is
and
that
boundary
condition
is
handled
in
in
an
upper
level
when
you're
formulating
or
when
you're
actually
and
formulating
your
system.
So
I
think,
on
that
level,
the
only
place
that
you
need
to
mention
about
the
boundary
condition
is
the
cell
gradient,
which
is
an
exceptional
case.
G
Yeah,
I
guess
again,
I
guess
what
I
need
to
do
is
that
I'm
going.
I
have.
I
have
this
property
or
this
functionality
that's
not
hidden
and
it
needs
to
be
documented,
for
if
it's
visible
to
the
user,
I
need
to
be
able
to
say
what
it
is
and
yeah
that's
kind
of
that's
that's
it.
So
some
of
those
details
actually
kind
of
have
to
be
put
in
there.
I
can't
just
kind
of
like
gloss
over
them,
because
I
need
to
document
what
is
this?
G
So
if
I
have
a
a
cell
gradient,
is
that
actually
going
to
be
returning
a
cell
gradient,
or
is
it
going
to
be
returning
a
mass
matrix
times
a
cell
gradient.
A
Pretty
sure
it
wasn't
and
if
not
it
was
implemented
in
like
okay,
it's
actually
like
they
did
it.
It
was
done
like
by
just
doing
like
the
face
divergence
transpose
times
the
volume
or
something
in
which
case
it's
based.
It's
the
same,
it's
equivalent
to
saying
that
you
know
the
finite
difference
from
forward
cells.
A
Kind
of
my
point
is
that
if
you
do
that,
like
v,
it's
like
divergence
transpose
times
volume
right
like
that
operator
ends
up
being
like
the
same
divergence
transpose
times
volume.
Then
you
have
to
divide
by.
Let's
take
the
inverted
math
matrix
like
which
is
just.
G
B
G
A
A
G
G
Well,
it
sounds
like
well,
it
sounds
like
you
guys
are
overall,
pretty.
Let's
see
I'll,
do
this
overall
you're
pretty
happy
with
the
level
of
detail
being
provided,
but
we'll
add
we'll
add
something
first.
That
actually
says
this
is
the
op
of
the
operator,
the
continuous
operator
we
want
to
discretize
and
replace
this
stuff
with
an
integral
form
of
how
it's
evaluated
for
a
single
cell.
B
B
Think
it's
it's
great
to
have
the
code,
but
I
wouldn't
add
the
theory,
but
I
would
go
to
extreme
because
you
have
like
three
three
classes
of
readers:
the
first
one
they
never
read
the
documentation
anyway.
They
just
ask
the
second
one
is
the
newbie,
which
is
probably
already
overhelmed
and
just
wants
to
have
an
example
that
he
can
copy
paste.
So
this
is
really
good
to
have
the
example
and
yeah.
B
G
Yeah
I
mean
I
can
always
put
something
here
when
the
tutorials
are
done.
That
says
like
for
a
full
tutorial
on
differential
operators
like
see
here,
because
there's
there's
already
something:
that's
really
comprehensive
everything
yeah.
Well,
it's
yeah,
it's
another!
Well,
it's
it's
in
discretize,
but
this
needs
to
get
finished
before
the
tutorial
section,
because
it's
going
to
link
to
the
functions
and
stuff
but
there's
a
whole
thing
where
there's
like
pictures
of
cubes
and
stuff,
and
it
gives
you
the
indices
of
faces
and
writes
that
if.
B
Well,
the
thing
is,
you
could
read
this
in
in
in
your
terminal
with
your
with
the
question
mark.
If
you
want
to
see
then,
but
then
the
math
is
not
easy
to
read,
because
it's
plain
text
and
if
you
read
it
on
a
browser
anyway-
and
it
will
be
just
one-
click
away-
yeah,
that's
another!
That's
another
possibility
as
well,
because
math
looks
nice
on
the
browser
right,
but
then
it's
not
good
as
a
help
string
in
in
in
any
in
many
other
ids.
G
B
G
G
So
I
even
I
I
closed
it
all
closed
everything
and
then
just
said:
what
was
it
the
build,
build
extensions
in
place
and
then
I
so
I
think
I
deleted
the
pre-existing
extensions
rebuilt.
The
extensions.
B
A
B
B
G
B
G
B
G
G
Yeah,
so
that's
that's
basically
it.
I
have
a
lot
of
doc
strings
to
do,
but
we're
making.
G
It
looks
really
good,
I
think
it's
looking
good
did
you
do
any
for
any
more
comments,
since
the
first
round
that
you
did
last
week,
joe?
No,
I
don't
think
so.
I
need
I
can
go
through
it
again
and
look
through
it.
Oh,
no,
no,
no
worries
yeah.
I
went
through
those
and
and
made
those
changes.
So
the
things
are
the
the
formatting
and
some
of
the
stuff
is
that's
been
corrected.
C
G
Yeah,
I
didn't
even
know
what
I
was
looking
for.
I
was
just
seeing
like
information.
It
was
nuts,
but
this
is
actually
quite
helpful,
so
yeah
thanks
for
the
feedback
that
this
really
helps.
B
A
A
G
Yeah
yeah
and
when
that's
done,
I'm
it'd
be
nice
to
do
it
for,
for
simpek
yeah.
A
Compared
to
simple
as
well
like
I
don't
know,
I
I
thought
he's
probably
feeling
the
same
way
but
like
we
worked
with
enough
to
where
it's
like.
Well,
I
understand
I
understand
how
everything's
linked
together.
I
understand
like
what
happens
when
you,
you
know
when
you
call
something
of
the
field
when
you
index
the
field,
I
see
what's
happening
in
the
background
it's
like.
I
can
see
all
these
things
happening,
but
they're
just
not
well
documented,
and
it's
like.
G
There's
still
still
stuff
in
simpeg
that
I
don't
understand,
I
think
some
of
it
is
the
fields
object,
just
how
it's
I
just
I
haven't
played
around
with
that
implementation
of
storing
stuff
yeah.
G
C
That's
fine,
I
think
that's
actually
that's
the
purpose.
I
think
you
don't
have
to
understand
everything
but
have
a
confidence,
but
that's
actually
working.