fatiando.seisimic_wavefdis part of the deprecated
fatiandopackage, although you can still use it if you want to. Specifically, the
fatiando.seismic._apply_damping()functions is implemented on Cython in the following file: https://github.com/fatiando/fatiando/blob/master/fatiando/seismic/_wavefd.pyx
You mentioned it´s part of the deprecated fatiando package, is there another one ?
@sylvanmessnger_twitter In fact there are four new packages (so far):
@sylvanmessnger_twitter Ok. The
.pyd files windows dll files created when the the Cython
.pyx are compiled.
In order to modify the sources files you should clone the GitHub
git clone https://github.com/fatiando/fatiando
Git will download the repository on your current directory. There you will find the latest version of the sources files.
Please read the documentation and the README.md.
Because the code for
_wavefd.pyx is written in Cython, you must compile them after any modification. Otherwise you'll run the previous compiled version without any new modification.
wavefdbranch on Github which has a new version of the code we were working on. It uses the numba library instead of Cython so the whole compilation step is taken out and done automatically: https://github.com/fatiando/fatiando/tree/wavefd/fatiando/seismic/wavefd It also has a much nicer class interface instead of the clumsy functions in the 0.5 implementation.
.gridmethod uses the region of the data by default but you can always pass in
region=[west, east, south, north]to
.gridto get interpolated values on any desired region (see here). See also the
verde.get_region(here) functions that are convenient in these situations.
Hey there. I'm curious if there is any interest in coordinating parts of this project with pyshtools. There are a few things that might be beneficial to both of us:
constantsmodule that defines a lot of basic shape/gravity parameters of the planets, and I would be more than happy to add more Earth values if necessary.
SHCoeffs, and a subclass
SHGravCoeffs) and global gridded data (
In an ideal case, I could see removing all the gravity stuff from my code, and putting it into a separate module to import.
A few things that I have wanted to do, that you already started working on, was to add support for different ellipsoids, as well as simple routines to calculate Bouguer and isostatic anomalies.
In any case, let me know if this interests anyone.
constantsmodule and this is probably something we should coordinate. Maybe migrating everything to a single package or even making a new one with planetary constants (it would be a simple tool with no heavy dependencies and thus easy to adopt).
SHGridcode so you'd only have to implement/maintain the spherical harmonic expansion code. xarray handles plotting, saving, reading, etc and is really handy for computations.
SHGridclass could be almost entirely replaced with
xarray.DataArray. The only functionally missing seems to be the sh expansion
I think that it might be a good idea to make a standalone package for planetary constants (even if it would only be a couple of files). I guess the key would be to first come up with an naming convention and directory structure that makes sense.
Now that I think about it, this is tightly integrated with the ellipsoids so it might make sense to have a package for defining ellipsoids with all constants. We could use it in Harmonica and in pyshtools.
Ideally, this would (eventually) develop into something bigger than just gravity/ellipsoid constants.
That is a good point! I do think this can be something useful for other projects. I'm pretty much convinced that this should be done. Just waiting to see if anyone has objections.
In the future, it is probable that I will base of the Grid classes off of xarray DataArrays, but this will have to wait.
This might be a useful reference for doing that: http://xarray.pydata.org/en/stable/internals.html#extending-xarray It could live parallel to the current
SHGrid class while it's being deprecated