Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Feb 24 14:04
    MarkWieczorek synchronize #288
  • Feb 17 18:50
    eschnett commented #290
  • Feb 17 18:48
    eschnett opened #290
  • Feb 17 18:32
    eschnett opened #289
  • Feb 04 22:25
    MarkWieczorek commented #277
  • Feb 04 12:28
    SergeiDBykov commented #277
  • Feb 04 10:46
    MarkWieczorek commented #277
  • Feb 04 10:30
    SergeiDBykov commented #277
  • Feb 01 15:16
    MarkWieczorek commented #285
  • Jan 31 11:20
    spacefan closed #286
  • Jan 31 11:20
    spacefan commented #286
  • Jan 31 11:20
    spacefan commented #286
  • Jan 30 13:10
    MarkWieczorek commented #286
  • Jan 30 13:03
    MarkWieczorek edited #288
  • Jan 30 12:59
    MarkWieczorek synchronize #288
  • Jan 30 10:46
    AlbertoJimenezDiaz closed #287
  • Jan 29 14:09
    MarkWieczorek opened #288
  • Jan 29 09:57
    MarkWieczorek commented #286
  • Jan 29 09:34
    MarkWieczorek commented #286
  • Jan 29 07:13
    AlbertoJimenezDiaz commented #287
markwieczorek
@MarkWieczorek
So, in your opinion: EGM2008, GOCO06s, and XGM2016? I don't mind adding more, but at the same time, I think that having too many models might confuse people...
For Topo, I've added Earth2012, and am working on Earth2014 now [the later doesn't have spherical harmonic coefficients for shape models..., so I need both]
Ilya Oshchepkov
@ioshchepkov
Yep, this set seems good enough to me. We can update it in any time, if something much better will arrive
matrixbot
@matrixbot
mark-wieczorek I just talked to Frank Lemoine about this and he suggested a few additional models. This is what I'm going to work on:
  • EGM2008
  • GOCO06s
  • XGM2019e_2159
  • GGM05C
  • EIGEN-6C4
  • EIGEN-GRGS.RL04.MEAN-FIELD
    If this is exessive, let me know!
markwieczorek
@MarkWieczorek
Hi @ioshchepkov, I have a quick question about EGM2008: On the ICGEM web site, there is only a single for that is "tide free". But if you download the original archive from NGA, there are two files for "tide free" and "zero tide". Would you be ok with me only including the single file on ICGEM as a pyshtools dataset, or should I include the two models? ICGEM is probably better for me to use because it takes forever to download anything from the NGA website.
markwieczorek
@MarkWieczorek
Actually, don't worry about it: After 30 minutes I redownloaded their EGM2008 archive and it only had tide free in it. The version I got must have come from somewhere else (and I don't want to investigate where....).
Ilya Oshchepkov
@ioshchepkov
HI, @MarkWieczorek I think ICGEM version is fine. Anyway, the conversion is pretty straight forward. Only the c20 will change. So, there is no point to store both versions
markwieczorek
@MarkWieczorek
Hi @ioshchepkov. I was just looking at the read_icgem_gfc() function that you wrote for pyshtools, and after looking at the gfc files, it looks like there are a few header items that are read, but that aren't returned. This really isn't important, but there is the model name, the normalization, tide_system, and product type. I am just wondering if there is an easy way to return these that won't break your code. For example, I could perhaps add an optional argument like return_header=True that returns would append a dictionary of the full header to the output.
markwieczorek
@MarkWieczorek
...and you might want to take a look at the last couple of commits here:
SHTOOLS/SHTOOLS#231
I added support for reading zip, gzip, and urls in the read_icgem_gfc() function. Let me know if you have any comments.
markwieczorek
@MarkWieczorek
For info, I just merged a big PR onto the develop branch for "datasets". With a single line of code, you can download a spherical harmonic dataset from the original source, and return it to the user as a SHCoeffs class instance. This makes extensive use of pooch (Thanks @leouieda for all the help!), and I have included almost all the research grade topography, gravity, and magnetic field models that you would probably ever want.
I'm happy to add more datasets if I've forgotten any, so just let me know. As part of this, I've also updated some of the spherical harmonic io routines to deal with gz files, zip files, and urls. I also added two new shio routines for binary data and [degree, order, value] formats.
And here is the long list of datasets

Mercury

Topography

  • GTMES150: Topography constructed using laser altimeter and occultation data.

Gravity

  • JGMESS160A : Konolpiv et al. (2020)
  • JGMESS160A_ACCEL : Konolpiv et al. (2020)
  • JGMESS160A_TOPOSIG : Konolpiv et al. (2020)
  • GGMES100V08 : Genova et al. (2019)

Venus

Topography

  • VenusTopo719 : Wieczorek (2015)

Gravity

  • MGNP180U : Konopliv et al. (1999)

The Moon

Topography

  • MoonTopo2600p : Wieczorek (2015)

Gravity

  • GRGM900C : Lemoine et al. (2014)
  • GRGM1200B : Goossens et al. (2020)
  • GRGM1200B_RM1_1E0 : Goossens et al. (2020)
  • GL0900D : Konopliv et al. (2014)
  • GL1500E : Konopliv et al. (2014)

Magnetic Field

  • T2015_449 : Wieczorek (2018), using data from Tsunakawa et al. (2015)

Mars

Topography

  • MarsTopo2600 : Wieczorek (2015)

Gravity

  • GMM3 : Genova et al. (2016)
  • GMM3_RM1_1E0 : Goossens et al. (2017)
  • MRO120D : Konopliv et al. (2016)

Magnetic Field

  • Langlais2019 : Langlais et al. (2019)
  • Morschhauser2014 : Morschhauser et al. (2014)

Vesta

Gravity

  • VESTA20H : Konopliv et al. (2014)

Ceres

Gravity

  • CERES18D : Konopliv et al. (2018)

Earth

Topography

  • Earth2012 : Hirt et al. (2012)
  • Earth2014 : Hirt and Rexer (2014)

Gravity

  • EGM2008 : Pavlis et al. (2012); degree 2190
  • EIGEN_6C4 : Förste et al. (2014); degree 2190
  • GGM05C : Ries et al. (2016); degree 360
  • GOCO06S : Kvas et al. (2019); degree 300, satellite only
  • EIGEN_GRGS_RL04_MEAN_FIELD : Lemoine et al. (2019); degree 300, satellite only
  • XGM2019E : Zingerle et al. (2019); degree 2190

Magnetic field

  • IGRF_13 : Thébault et al. (2015); degree 13
  • SWARM_MLI_2D_0501 : Thébault et al. (2013); degree 133
  • NGDC_720_V3 : Maus (2010); degree 740
  • WDMAM2_800 : Lesur et al. (2016); degree 800
GravMagZhao
@GravMagZhao
Hi @MarkWieczorek According to the regulation of the SHTOOLS, the maximum spherical harmonic degree lmax=nlat/2-1, where nlat is the number of points in latitude. However, as far as I know, the maximum spherical harmonic degree of gravity feld lmax should be equal to nlat. When I do gravity inversion in spherical harmonic domain, I first create spherical harmonics of gravity kernel with degrees 180, and my observation data is 180*360. So in the inversion, the maximum spherical harmonic degree is 89 in this test, and degrees larger than 89 are not involved in the inversion. How can I solve this problem?
matrixbot
@matrixbot
mark-wieczorek Hi GravMagZhao (Gitter) . Have you looked at these instructions that describe the different types of grids that shtools uses?
GravMagZhao
@GravMagZhao
Thanks for your quick reply. Should I use GLQ grid format, rather than DH1 and DH2?
matrixbot
@matrixbot
mark-wieczorek It depends on what you want to do. GLQ is faster by a factor of 2 because there are few latitude bands. But the DH grids are equispaced and easier to work with.
GravMagZhao
@GravMagZhao
My data is equispaced grid, so in this case the maximum spherical harmonic degree is set to be N/2-1.
matrixbot
@matrixbot
mark-wieczorek That is correct. You should read the paper by Driscoll and Healy if you want more details as to why this is the case.
GravMagZhao
@GravMagZhao
Thanks for your suggestion. that is to say, my problem can not be solved by using the SHTOOLS?
matrixbot
@matrixbot
mark-wieczorek If you are using an equispaced grid with nlat = 180, the maximum spherical harmonic degree that can be resolved is 89. That is just how it is.
markwieczorek
@MarkWieczorek
We will be putting out a huge new release in about 2 weeks time. If you want to test this version, please checkout out this PR: SHTOOLS/SHTOOLS#239
Everything is done, and I am just waiting for GMT and pygmt to fix a couple of bugs on their end, and as soon as that is done, I'll merge this into master.
There are lots of new features, of which the addition of datasets is probably the most significant!
matrixbot
@matrixbot
Mark Wieczorek SHTOOLS/pyshtools v4.7 is released!
The biggest change is the addition of datasets, and mentioned previously, but there are lots of other changes as described in the release notes:
https://shtools.github.io/SHTOOLS/release-notes-v4.html
Mark Wieczorek As for the builds: We have windows and macOS binaries on pypi. The linux builds are failing, but this is an upstream issue with multibuild that is currently being addressed. We also have mac
Mark Wieczorek macos and linux conda builds on conda-forge. As far as I know, there isn't a conda-forge build for windows, so if anyone has any ideas on how to do this, let me know and I'll look into it.
Mark Wieczorek Finally, this is just an announcement to let everyone know that the shtools forum is hosted on Element (i.e., via Matrix). Element/Matrix is really cool as you can easily set up Slack/gitter bridges and centralize everything in one app. You can join the shtools room on Matrix here:
matrixbot
@matrixbot
Mark Wieczorek And I forgot to mention, you can now run the example notebooks in a web browser using Binder. You don't need to install or download anything:
Mark Wieczorek And lastly..., I am currently working on getting the fortran SHTOOLS library onto macports and homebrew-core. If anyone wants to help with porting this to apt-get and conda, I could use some help!
Ilya Oshchepkov
@ioshchepkov
@MarkWieczorek Thanks for your great work!
matrixbot
@matrixbot
Mark Wieczorek If you use macos, you can now install the Fortran 95 SHTOOLS library using macports:
sudo port install shtools
Mark Wieczorek I'm hoping that it will be in homebrew-core as well in the next couple days.
Mark Wieczorek If anyone has any experience with submitting projects to apt-get, let me know! I'd like to get this on a linux package manager, but I'm mostly a mac person...
MMesch
@MMesch
I can try to get it into Nix.
matrixbot
@matrixbot
Mark Wieczorek That would be cool! I had to do a bit of work on the makefiles to get this accepted for macports/brew, so if you need help with things like setting Prefix/DestRoot, l might still remember what I did.
matrixbot
@matrixbot
Mark Wieczorek One other announcement: We have a working example of calling shtools from C++ in the 4.7.1 release. This isn't documented yet, but if this interests you, the example is found in the folder examples/cpp. We are looking for people to test this and give us feedback!
matrixbot
@matrixbot
Mark Wieczorek SHTOOLS is now also part of homebrew-core! If you have been using brew, you will need to uninstall and untap from the old repository before reinstalling:
brew uninstall shtools brew untap shtools/shtools brew install shtools
Mark Wieczorek * SHTOOLS is now also part of homebrew-core! If you have been using brew, you will need to uninstall and untap from the old repository before reinstalling:
brew uninstall
brew untap shtools/shtools
brew install shtools
Mark Wieczorek * SHTOOLS is now also part of homebrew-core! If you have been using brew, you will need to uninstall and untap from the old repository before reinstalling:
brew uninstall shtools
brew untap shtools/shtools
brew install shtools
Mark Wieczorek
@mark-wieczorek:matrix.org
[m]
[Testing the native matrix bridge to gitter...]
markwieczorek
@MarkWieczorek
[and gitter to matrix...]
Mark Wieczorek
@mark-wieczorek:matrix.org
[m]
If there is anyone who is an expert in plotting colorbars in python/matplotlib, I'm looking for advice with this issue:
Mark Wieczorek
@mark-wieczorek:matrix.org
[m]
I'm hoping to have a version 4.8 released in the next few days. If anyone has any last requests, please let me know!
Mark Wieczorek
@mark-wieczorek:matrix.org
[m]
I forgot to mention here: V4.8 was release a couple of days ago. Here are the release notes
I also do have a question: I am trying to compile shtools on the new apple silicon (via homebrew tests), and it complains about using the -m64 compiler option. I remember adding this 10+ years ago when people were transitions from 32 to 64 bit machines. Would it cause any problems if I simply removed this now? My understanding that this is the default of 64 bit machines.