Skip to content
Snippets Groups Projects
user avatar
Arthus authored
5c991e4b
History

pymagglobal

python interface for global geomagnetic field models

pymagglobal serves the purpose of replacing some Fortran scripts, which are used in the geomagnetism community to evaluate global field models.
It works for files given in a format which was first used by the gufm model and than established in the community. By default, pymagglobal includes several models. Use

$ pymagglobal --list-models

to get a list of these default models or go to pymagglobal/dat for further information. You can dowload additional models here. Using

$ pymagglobal --input <path/to/your_model> ... your.model

you can use pymagglobal to evaluate your own models, if they come in a similar format. <path/to/your_model> specifies the path to your model file and your.model the name of your model.

Once installed, pymagglobal can be imported and its routines used to access the models from inside your own python code.

License

GNU General Public License, Version 3, 29 June 2007

Copyright (C) 2020 Helmholtz Centre Potsdam GFZ, German Research Centre for Geosciences, Potsdam, Germany

pymagglobal is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

pymagglobal is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.

Citation

TODO

Documentation

Use

$ pymagglobal --help

to get info on how to use pymagglobal. TODO: Expand this section

Installation

pymagglobal is built and installed using conda.

  1. Clone the repository

     $ git clone https://gitext.gfz-potsdam.de/arthus/pymagglobal.git

    In the following <pymagglobal> refers to the path you cloned the pymagglobal repository into.

  2. Download and install Miniconda for Python 3 By default, the installation directory <conda> is ~/miniconda3/.
    If you let conda modify your bash.rc, <conda>/bin/conda may be replaced by conda.
    You may want to create a fresh environment for pymagglobal. This is done using

    $  <conda>/bin/conda create --name Your_Environment

    followed by

    $  <conda>/bin/conda activate Your_Environment

    Careful: With tcshell, you have to use activate.csh.

  3. Install conda-build

    $ <conda>/bin/conda install conda-build
  4. Build FieldTools
    This step will make the pyfield library available via the local conda channel.

    Navigate to <pymagglobal> and build FieldTools

    $ <conda>/bin/conda build FieldTools
  5. Build pymagglobal
    Navigate to ../<pymagglobal> and build pymagglobal

    $ <conda>/bin/conda build pymagglobal
  6. Install pymagglobal

    $ <conda>/bin/conda install pymagglobal -c local

    This will make pymagglobal available as a python package, i.e. you can use

    import pymagglobal

    as well as register a shell command in your local environmet, so that you can run

    $ pymagglobal --help

With conda-build installed, you may also go to <pymagglobal> and run

$ bash install.sh

which will simply do steps 3-5 for you.

Contact

  • Maximilian Schanner
    Helmholtz Centre Potsdam German Research Centre for Geoscienes GFZ
    Section 2.3: Geomagnetism
    Telegrafenberg
    14473 Potsdam, Germany

References

pymagglobal uses numpy, scipy, matplotlib and cartopy:

[scipy] Pauli Virtanen, Ralf Gommers, Travis E. Oliphant, Matt Haberland,
Tyler Reddy, David Cournapeau, Evgeni Burovski, Pearu Peterson,
Warren Weckesser, Jonathan Bright, Stéfan J. van der Walt, Matthew Brett,
Joshua Wilson, K. Jarrod Millman, Nikolay Mayorov, Andrew R. J. Nelson,
Eric Jones, Robert Kern, Eric Larson, CJ Carey, İlhan Polat, Yu Feng,
Eric W. Moore, Jake VanderPlas, Denis Laxalde, Josef Perktold, Robert Cimrman,
Ian Henriksen, E.A. Quintero, Charles R Harris, Anne M. Archibald,
Antônio H. Ribeiro, Fabian Pedregosa, Paul van Mulbregt,
and SciPy 1.0 Contributors (2020)
"SciPy 1.0: Fundamental Algorithms for Scientific Computing in Python".
Nature Methods, in press.

[matplotlib] J. D. Hunter (2007)
"Matplotlib: A 2D Graphics Environment",
Computing in Science & Engineering, vol. 9, no. 3, pp. 90-95

[cartopy] Met Office (2015)
"Cartopy: a cartographic python library with a Matplotlib interface"