Giter VIP home page Giter VIP logo

shtools's Introduction

SHTOOLS LOGO Documentation DOI Paper Binder Chat on matrix Chat at gitter License Mastodon Follow

SHTOOLS/pyshtools is a Fortran-95/Python library that can be used for spherical harmonic transforms, multitaper spectral analyses, expansions of gridded data into Slepian basis functions, standard operations on global gravitational and magnetic field data.

TABLE OF CONTENTS

FEATURES

  • Supports all standard normalizations and phase conventions of the spherical harmonic functions.

  • Effortless conversion between real and complex harmonics, and between different normalization and phase conventions.

  • Use of both regularly sampled geographic grids and grids appropriate for Gauss-Legendre quadrature.

  • Spherical harmonic transforms proven to be accurate up to about degree 2800 for the native Fortran 95 backend and beyond using the DUCC0 backend.

  • Perform localized multitaper spectral analyses, or expand gridded data in terms of localized Slepian basis functions.

  • Support for standard data and file formats, including xarray and netcdf.

  • Import research-grade gravity, topography, and magnetic field datasets with a single command.

  • Creation of publication quality maps using Cartopy and PyGMT.

  • Support multithreaded programming using the OpenMP API.

HOW TO USE

A variety of Python tutorials and guides are available to explain the main library features. To get started, click on the following Python tutorials and run them interactively in Binder:

INSTALLATION

SHTOOLS can be invoked in any Fortran 95 or Python program. The core software is written in Fortran 95, and Python wrappers and dedicated classes allow simple access to the fortran-compiled routines. To install it, run these commands below:

pyshtools (for Python)

Install using conda:
conda install -c conda-forge pyshtools
conda update -c conda-forge pyshtools  # to upgrade a pre-existing installation
Install using pip:
pip install pyshtools
pip install --upgrade pyshtools  # to upgrade a pre-existing installation
pip install pyshtools --no-binary pyshtools  # build from source
pip install git+https://github.com/SHTOOLS/SHTOOLS@develop  # install the develop branch from source
For developers:

Install the system level build requirements:

sudo apt-get install build-essential cmake gfortran  # Debian, Ubuntu and derivatives
sudo dnf group install "C Development Tools and Libraries" "Development Tools"  # Fedora, Centos, RHEL and derivatives
sudo dnf install cmake gcc-fortran  # Fedora, Centos, RHEL and derivatives
xcode-select --install  # macOS

Then clone the shtools repo, install the other dependencies, and install manually in a conda environment:

git clone https://github.com/SHTOOLS/SHTOOLS.git
cd shtools
conda create -n your_env_name python=3.xx  # create a new conda environment, if desired
conda env update -n your_env_name -f environment.yml
conda activate your_env_name  # activate the new conda environment
pip install --no-build-isolation -e .  # install into the shtools folder and link to the active python environment

SHTOOLS (for Fortran 95)

Install using the brew package manager (MacOS, Linux, Windows):
brew install shtools
Install using the macports package manager (MacOS):
sudo port install shtools
Install from source:

Clone or download the this repo, and then execute one (or both) of the following commands in the shtools directory:

make fortran
make fortran-mp  # for OpenMP Fortran routines

Further installation instructions and options can be found in the web documentation.

CONTRIBUTING

We work on the develop branch and only push releases to master. Please base all pull requests on develop.

CONTRIBUTORS

For the full list of contributors, see the AUTHORS file.

LICENSE

This project uses the BSD 3-Clause license, as found in the LICENSE file.

REFERENCES

  • Mark A. Wieczorek and Matthias Meschede (2018). SHTools --- Tools for working with spherical harmonics, Geochemistry, Geophysics, Geosystems, 19, 2574-2592, doi:10.1029/2018GC007529.
  • Mark Wieczorek, et al. (2019). SHTOOLS/SHTOOLS. Zenodo, doi:10.5281/zenodo.3457861

shtools's People

Contributors

ab-ares avatar andreww avatar ericators avatar eschnett avatar hattoriakihisa avatar heroxbd avatar ioshchepkov avatar jammm avatar jdsierral avatar k-dominik avatar katrinleinweber avatar kohlerjl avatar lobophf avatar markwieczorek avatar mmesch avatar mreineck avatar nasuyo avatar opoplawski avatar pphan-imcce avatar profminton avatar qulogic avatar rainbowsend avatar xoviat avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

shtools's Issues

how to use SHTOOLS to transfom a file of spherical harmonic coefficients into grid form?

Now i have a data file 'abc', the data of which are spherical harmonic coefficients, like this:
2 0 -20.7431 0
2 1 -3.01236 6.55421
2 2 34.5977 23.6613
3 0 5.01478 0
...
20 18 1.34793e-07 3.67997e-07
20 19 -8.29264e-07 -2.27977e-07
20 20 -3.88784e-08 -6.72354e-07

Could i use pyshtools to transform these data into grid data? like this:
lon lat value
...

i try to do it like this:

import matplotlib.pyplot as plt
import numpy as np
import pyshtools as pst

a=np.loadtxt('abc')
np.save('abc',a)
clm=pst.SHCoeffs.from_file('abc.npy',lmax=20)

but got some errors:
Error --- SHRead
Problem reading first line of cmb_sph.npy
Traceback (most recent call last):
File "", line 1, in
File "/home/cc/.pyenv/versions/anaconda3-4.1.0/lib/python3.5/site-packages/pyshtools/shclasses/shcoeffsgrid.py", line 393, in from_file
coeffs, lmax = _shtools.SHRead(fname, lmax, **kwargs)
File "/home/cc/.pyenv/versions/anaconda3-4.1.0/lib/python3.5/site-packages/pyshtools/shtools/init.py", line 200, in wrapped_func
raise SHToolsError(_shtools_status_message(returned_values[0]))
pyshtools.shtools.SHToolsError: File IO error.

so how should i use pyshtools to do it?

Travis Linux builds failing: can't find FFTW

The Travis Linux builds started to fail for no apparent reason. It appears that numpy.distutils.system_info.get_info() is not able to find FFTW, which was installed by apt-get. This same problem arose with the OSX builds, but this was easy to fix by setting the environment variable FFTW to /usr/local. I have tried setting FFTW to /usr, /usr/local/, /usr/local/lib, opt/ and $PATH, with no effect.

The full travis log is here: https://travis-ci.org/SHTOOLS/SHTOOLS/jobs/388239380

Below is the relevant part.

$ pip install --no-deps .
Processing /home/travis/build/SHTOOLS/SHTOOLS
    Complete output from command python setup.py egg_info:
    pandoc is not installed. PYPI description will not be formatted correctly.
    INSTALLING SHTOOLS 4.3.dev0+ec65611
    get_default_fcompiler: matching types: '['gnu95', 'intel', 'lahey', 'pg', 'absoft', 'nag', 'vast', 'compaq', 'intele', 'intelem', 'gnu', 'g95', 'pathf95', 'nagfor']'
    customize Gnu95FCompiler
    Found executable /usr/bin/gfortran
    get_default_fcompiler: matching types: '['gnu95', 'intel', 'lahey', 'pg', 'absoft', 'nag', 'vast', 'compaq', 'intele', 'intelem', 'gnu', 'g95', 'pathf95', 'nagfor']'
    customize Gnu95FCompiler
    searching SHTOOLS in: build/temp.linux-x86_64-3.6
    fftw_info:
    customize UnixCCompiler
      libraries fftw3 not found in ['/usr/lib', '/home/travis/miniconda/envs/test-environment/lib']
      fftw3 not found
    customize UnixCCompiler
      libraries rfftw,fftw not found in ['/usr/lib', '/home/travis/miniconda/envs/test-environment/lib']
      fftw2 not found
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-req-build-bvn7z0zn/setup.py", line 288, in <module>
        setup(**metadata)
      File "/home/travis/miniconda/envs/test-environment/lib/python3.6/site-packages/numpy/distutils/core.py", line 135, in setup
        config = configuration()
      File "/tmp/pip-req-build-bvn7z0zn/setup.py", line 243, in configuration
        fftw_info = get_info('fftw', notfound_action=2)
      File "/home/travis/miniconda/envs/test-environment/lib/python3.6/site-packages/numpy/distutils/system_info.py", line 432, in get_info
        return cl().get_info(notfound_action)
      File "/home/travis/miniconda/envs/test-environment/lib/python3.6/site-packages/numpy/distutils/system_info.py", line 630, in get_info
        raise self.notfounderror(self.notfounderror.__doc__)
    numpy.distutils.system_info.FFTWNotFoundError:
        FFTW (http://www.fftw.org/) libraries not found.
        Directories to search for the libraries can be specified in the
        numpy/distutils/site.cfg file (section [fftw]) or by setting
        the FFTW environment variable.

SHTOOLS doesn't load with Numpy 1.9.3-py27_0

Earlier I installed the mayavi module which required that I downgrade numpy from 1.10 to 1.9.3
After that I tried importing shtools after I imported numpy and it resulted in

ImportError: cannot import name _SHTOOLS

When numpy was not imported and I tried importing SHTOOLS I got an ImportError regarding numpy (by shtools).

I upgraded numpy again to 10.3 and things things were fixed.

Thought I'd open an issue about it.

Documentation error for pyshtools.SHAdmitCorr?

The function signature for pyshtools.SHAdmitCorr in the online documentation differs from that in the example in examples/python/GlobalSpectralAnalysis/SHRealSpectralAnalysis.py with the returned values being admit, error, corr and admit, corr, dadmit, respectively.

As far as I can tell (from testing with some coefficients where I think I know what the correlation should be) the order of the returned values in the example is correct. It would be useful if somebody could confirm this, and if I'm correct the documentation should be updated.

These arguments are also switched in src/pyshtools.pyf and src/PythonWrapper.f95, I suppose f2py only cares about the order of the arguments so the fortran 'wins'?

A bug in shcoeffsgrid.py line 1396

Hi,

in shcoeffsgrid.py line 1396:

...
if self.normalization != '4pi' or self.csphase != 1:
            temp = SHCoeffs.from_array(coeffs, kind='real')
...

but SHCoeffs.from_array function do not use "kind" parameter.
the from_array function automatically figure it out by coeffs's type is complex or not.

Appveyor Windows wheels don't build

The procedure for building windows wheels exits with errors. This appears to be related to FFTW and how it is installed by conda, and It is likely that this is easy to fix. If anyone has any ideas on how to fix this, please let me know. Otherwise, you will need to build from source :(

The build procedure is done using this repo: https://github.com/SHTOOLS/build-shtools

The wheel build procedure is based on https://github.com/matthew-brett/multibuild

It is possible that this is related to how the setup.py is looking for fftw

    # FFTW info
    fftw_info = get_info('fftw', notfound_action=2)
    dict_append(kwargs, **fftw_info)

Here is the full output from appveyor:

Build started
ECHO %PYTHON% %PYTHON_VERSION% %PYTHON_ARCH%
C:\Python36-x64 3.6 64
ECHO "%APPVEYOR_SCHEDULED_BUILD%"
""
if ($env:APPVEYOR_PULL_REQUEST_NUMBER -and $env:APPVEYOR_BUILD_NUMBER -ne ((Invoke-RestMethod ` https://ci.appveyor.com/api/projects/$env:APPVEYOR_ACCOUNT_NAME/$env:APPVEYOR_PROJECT_SLUG/history?recordsNumber=50).builds | ` Where-Object pullRequestId -eq $env:APPVEYOR_PULL_REQUEST_NUMBER)[0].buildNumber) { ` Write-Host "There are newer queued builds for this pull request, skipping build." Exit-AppveyorBuild }
git clone -q --depth=50 --branch=master https://github.com/SHTOOLS/build-shtools.git C:\projects\build-shtools
git checkout -qf 6e355fbcb08e79cdb7128f52b6559d202e7126b1
Restoring build cache
Cache 'C:\Users\appveyor\AppData\Local\pip\Cache' - Restored
Running Install scripts
git submodule update --init --recursive
Submodule 'SHTOOLS' (https://github.com/SHTOOLS/SHTOOLS.git) registered for path 'SHTOOLS'
Submodule 'multibuild' (https://github.com/matthew-brett/multibuild.git) registered for path 'multibuild'
Cloning into 'C:/projects/build-shtools/SHTOOLS'...
Cloning into 'C:/projects/build-shtools/multibuild'...
Submodule path 'SHTOOLS': checked out 'f822868079f3983144731d7391f77a2834cf3388'
Submodule path 'multibuild': checked out 'ae3e559829d34a74c706baa9389a101e52d8e2d0'
call %CONDA_INSTALL_LOCN%\Scripts\activate.bat
conda config --add channels defaults
Warning: 'defaults' already in 'channels' list, moving to the top
conda config --add channels conda-forge
conda install --yes flang openblas fftw
Solving environment: ...working... done
openmp 5.0.0########## | 100% 
yaml 0.1.7########## | 100% 
ca-certificates 2018.4.16########## | 100% 
flang 5.0.0########## | 100% 
openblas 0.2.20########## | 100% 
certifi 2018.4.16########## | 100% 
fftw 3.3.7########## | 100% 
libflang 5.0.0########## | 100% 
conda 4.5.4########## | 100% 
clangdev 5.0.0########## | 100% 
openssl 1.0.2o########## | 100% 
llvm-meta 5.0.0########## | 100% 
## Package Plan ##
  environment location: C:\Miniconda36-x64
  added / updated specs: 
    - fftw
    - flang
    - openblas
The following packages will be downloaded:
    package                    |            build
    ---------------------------|-----------------
    openmp-5.0.0               |           vc14_1         577 KB  conda-forge
    yaml-0.1.7                 |           vc14_0         103 KB  conda-forge
    ca-certificates-2018.4.16  |                0         176 KB  conda-forge
    flang-5.0.0                |    vc14_20180208         2.6 MB  conda-forge
    openblas-0.2.20            |           vc14_7         5.7 MB  conda-forge
    certifi-2018.4.16          |           py36_0         143 KB  conda-forge
    fftw-3.3.7                 |           vc14_0        1018 KB  conda-forge
    libflang-5.0.0             |    vc14_20180208         522 KB  conda-forge
    conda-4.5.4                |           py36_0         650 KB  conda-forge
    clangdev-5.0.0             |          flang_3       189.0 MB  conda-forge
    openssl-1.0.2o             |           vc14_0         5.4 MB  conda-forge
    llvm-meta-5.0.0            |                0           3 KB  conda-forge
    ------------------------------------------------------------
                                           Total:       205.9 MB
The following NEW packages will be INSTALLED:
    clangdev:        5.0.0-flang_3       conda-forge [flang,vc14]
    fftw:            3.3.7-vc14_0        conda-forge [vc14      ]
    flang:           5.0.0-vc14_20180208 conda-forge [vc14      ]
    libflang:        5.0.0-vc14_20180208 conda-forge [vc14      ]
    llvm-meta:       5.0.0-0             conda-forge
    openblas:        0.2.20-vc14_7       conda-forge [vc14      ]
    openmp:          5.0.0-vc14_1        conda-forge [vc14      ]
The following packages will be UPDATED:
    ca-certificates: 2018.03.07-0                    --> 2018.4.16-0      conda-forge
    certifi:         2018.4.16-py36_0                --> 2018.4.16-py36_0 conda-forge
    conda:           4.5.1-py36_0                    --> 4.5.4-py36_0     conda-forge
    openssl:         1.0.2o-h8ea7d77_0               --> 1.0.2o-vc14_0    conda-forge [vc14]
The following packages will be DOWNGRADED:
    yaml:            0.1.7-hc54c509_2                --> 0.1.7-vc14_0     conda-forge [vc14]
Downloading and Extracting Packages
Preparing transaction: ...working... done
Verifying transaction: ...working... done
Executing transaction: ...working... done
SET PATH=%PYTHON%;%PYTHON%\Scripts;%PATH%
python --version
Python 3.6.5
flang --version
clang version 5.0.0 
Target: x86_64-pc-windows-msvc
Thread model: posix
InstalledDir: C:\Miniconda36-x64\Library\bin
python -c "import sys,platform,struct; print(sys.platform, platform.machine(), struct.calcsize('P') * 8, )"
win32 AMD64 64
python -m pip install -U pip setuptools wheel
Requirement already up-to-date: pip in c:\python36-x64\lib\site-packages (10.0.1)
Collecting setuptools
  Using cached https://files.pythonhosted.org/packages/7f/e1/820d941153923aac1d49d7fc37e17b6e73bfbd2904959fffbad77900cf92/setuptools-39.2.0-py2.py3-none-any.whl
Collecting wheel
  Using cached https://files.pythonhosted.org/packages/81/30/e935244ca6165187ae8be876b6316ae201b71485538ffac1d718843025a9/wheel-0.31.1-py2.py3-none-any.whl
Installing collected packages: setuptools, wheel
  Found existing installation: setuptools 39.0.1
    Uninstalling setuptools-39.0.1:
      Successfully uninstalled setuptools-39.0.1
Successfully installed setuptools-39.2.0 wheel-0.31.1
pip install numpy
Collecting numpy
  Using cached https://files.pythonhosted.org/packages/af/e4/7d7107bdfb5c33f6cf33cdafea8c27d1209cf0068a6e3e3d3342be6f3578/numpy-1.14.3-cp36-none-win_amd64.whl
Installing collected packages: numpy
Successfully installed numpy-1.14.3
$NumpyDir = $((python -c 'import os; import numpy; print(os.path.dirname(numpy.__file__))') | Out-String).Trim()
rm -r -Force "$NumpyDir\distutils"
$tmpdir = New-TemporaryFile | %{ rm $_; mkdir $_ }
git clone -q --depth=1 https://github.com/numpy/numpy.git $tmpdir
mv $tmpdir\numpy\distutils $NumpyDir
cd SHTOOLS
md -Force .\build\lib.win-amd64-$env:PYTHON_VERSION\pyshtools
    Directory: C:\projects\build-shtools\SHTOOLS\build\lib.win-amd64-3.6
Mode                LastWriteTime         Length Name                                                                                                                                                                                
----                -------------         ------ ----                                                                                                                                                                                
d-----        5/22/2018   3:38 PM                pyshtools                                                                                                                                                                           
cp "$env:CONDA_INSTALL_LOCN\Library\bin\*.dll" ".\build\lib.win-amd64-$env:PYTHON_VERSION\pyshtools"
pip wheel -v -v -v --wheel-dir=dist .
Config variable 'Py_DEBUG' is unset, Python ABI tag may be incorrect
Config variable 'WITH_PYMALLOC' is unset, Python ABI tag may be incorrect
Created temporary directory: C:\Users\appveyor\AppData\Local\Temp\1\pip-ephem-wheel-cache-am60jyfs
Created temporary directory: C:\Users\appveyor\AppData\Local\Temp\1\pip-wheel-tmmfz9o6
Processing c:\projects\build-shtools\shtools
  Created temporary directory: C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-hjt3wal6
  Running setup.py (path:C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-hjt3wal6\setup.py) egg_info for package from file:///C:/projects/build-shtools/SHTOOLS
    Running command python setup.py egg_info
    pandoc is not installed. PYPI description will not be formatted correctly.
    INSTALLING SHTOOLS 4.2
    get_default_fcompiler: matching types: '['gnu', 'intelv', 'absoft', 'compaqv', 'intelev', 'gnu95', 'g95', 'intelvem', 'intelem', 'flang']'
    customize GnuFCompiler
    Could not locate executable g77
    Could not locate executable f77
    customize IntelVisualFCompiler
    Could not locate executable ifort
    Could not locate executable ifl
    customize AbsoftFCompiler
    Could not locate executable f90
    customize CompaqVisualFCompiler
    Found executable C:\Program Files\Git\usr\bin\DF.exe
    customize IntelItaniumVisualFCompiler
    Could not locate executable efl
    customize Gnu95FCompiler
    Could not locate executable gfortran
    Could not locate executable f95
    customize G95FCompiler
    Could not locate executable g95
    customize IntelEM64VisualFCompiler
    customize IntelEM64TFCompiler
    Could not locate executable efort
    Could not locate executable efc
    customize PGroupFlangCompiler
    Found executable C:\Miniconda36-x64\Library\bin\flang.exe
    get_default_fcompiler: matching types: '['gnu', 'intelv', 'absoft', 'compaqv', 'intelev', 'gnu95', 'g95', 'intelvem', 'intelem', 'flang']'
    customize GnuFCompiler
    customize IntelVisualFCompiler
    customize AbsoftFCompiler
    customize CompaqVisualFCompiler
    customize IntelItaniumVisualFCompiler
    customize Gnu95FCompiler
    customize G95FCompiler
    customize IntelEM64VisualFCompiler
    customize IntelEM64TFCompiler
    customize PGroupFlangCompiler
    searching SHTOOLS in: build\temp.win-amd64-3.6
    fftw_info:
    No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
    customize MSVCCompiler
      libraries fftw3 not found in ['c:\\python36-x64\\lib', 'C:\\', 'c:\\python36-x64\\libs']
      fftw3 not found
    No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
    customize MSVCCompiler
      libraries rfftw,fftw not found in ['c:\\python36-x64\\lib', 'C:\\', 'c:\\python36-x64\\libs']
      fftw2 not found
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-hjt3wal6\setup.py", line 288, in <module>
        setup(**metadata)
      File "c:\python36-x64\lib\site-packages\numpy\distutils\core.py", line 135, in setup
        config = configuration()
      File "C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-hjt3wal6\setup.py", line 243, in configuration
        fftw_info = get_info('fftw', notfound_action=2)
      File "c:\python36-x64\lib\site-packages\numpy\distutils\system_info.py", line 433, in get_info
        return cl().get_info(notfound_action)
      File "c:\python36-x64\lib\site-packages\numpy\distutils\system_info.py", line 631, in get_info
        raise self.notfounderror(self.notfounderror.__doc__)
    numpy.distutils.system_info.FFTWNotFoundError:
        FFTW (http://www.fftw.org/) libraries not found.
        Directories to search for the libraries can be specified in the
        numpy/distutils/site.cfg file (section [fftw]) or by setting
        the FFTW environment variable.
Cleaning up...
  Removing source in C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-hjt3wal6
Command "python setup.py egg_info" failed with error code 1 in C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-hjt3wal6\
Exception information:
Traceback (most recent call last):
  File "c:\python36-x64\lib\site-packages\pip\_internal\basecommand.py", line 228, in main
    status = self.run(options, args)
  File "c:\python36-x64\lib\site-packages\pip\_internal\commands\wheel.py", line 157, in run
    resolver.resolve(requirement_set)
  File "c:\python36-x64\lib\site-packages\pip\_internal\resolve.py", line 103, in resolve
    self._resolve_one(requirement_set, req)
  File "c:\python36-x64\lib\site-packages\pip\_internal\resolve.py", line 257, in _resolve_one
    abstract_dist = self._get_abstract_dist_for(req_to_install)
  File "c:\python36-x64\lib\site-packages\pip\_internal\resolve.py", line 210, in _get_abstract_dist_for
    self.require_hashes
  File "c:\python36-x64\lib\site-packages\pip\_internal\operations\prepare.py", line 324, in prepare_linked_requirement
    abstract_dist.prep_for_dist(finder, self.build_isolation)
  File "c:\python36-x64\lib\site-packages\pip\_internal\operations\prepare.py", line 154, in prep_for_dist
    self.req.run_egg_info()
  File "c:\python36-x64\lib\site-packages\pip\_internal\req\req_install.py", line 486, in run_egg_info
    command_desc='python setup.py egg_info')
  File "c:\python36-x64\lib\site-packages\pip\_internal\utils\misc.py", line 698, in call_subprocess
    % (command_desc, proc.returncode, cwd))
pip._internal.exceptions.InstallationError: Command "python setup.py egg_info" failed with error code 1 in C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-hjt3wal6\
Command exited with code 1
APPVEYOR_SAVE_CACHE_ON_ERROR is set to 'true' - cache will be updated
Updating build cache...
Cache 'C:\Users\appveyor\AppData\Local\pip\Cache' - Updated
Cache entry not found: C:\Tools\vcpkg\installed
Cache entry not found: C:\Tools\vcpkg\packages

division by zero in sub Wigner3j

lines 341-342 of Wigner3j.f95:
if (abs(wnmid/wl(jindex(jmid-1))) < 1.d-6 .and. wl(jindex(jmid-1)) /= 0.0d0) then
For some parameters (try j2=j3=2; m1=m2=m3=0), division by zero in the first test in the 'if condition' causes program to crash if compiled with gfortran -ffpe-trap=zero
The tests in the 'if condition' should be reversed so that the 2nd test is not done if the 1st is not true:
if (wl(jindex(jmid-1)) /= 0.0d0 .and. abs(wnmid/wl(jindex(jmid-1))) < 1.d-6) then

Compile/install issues with f2py and scipy_distutils

I'm attempting to install the SHTOOLS package on a Linux machine, and I'm having trouble with f2py and scipy_distutils.

I found the f2py executable from https://sysbio.ioc.ee/projects/f2py2e/, and installed it according to instructions (python setup.py install). I found the scipy_distutils package from the same source and installed it according to instructions (python setup.py install).

I added the /usr/lib/python2.4/site-packages paths to my Python path so that the f2py and scipy_distutils modules could be used.

I then ran "make F2PY="/usr/bin/f2py" to point the F2PY environment variable to the correct location. make finds f2py just fine, but has a problem with scipy_distutils. The relevant portion of the output is below. It appeared that scipy_distutils installed successfully (no errors), and the package seems to have installed to the appropriate location. There doesn't seem to be a module named "scipy_distutils," though the subroutines (e.g build_src) seem to exist in the install location.

I've seen that scipy_distutils and f2py are no longer maintained as standalone packages, and are now included in numpy. What am I missing to be able to install SHTOOLS properly? Thank you!

-Nick

MAKE OF FORTRAN COMPONENT SUCCESSFUL!

/usr/bin/f2py --quiet -Imodules -Llib --f90flags="-m64 -fPIC -O3 -ffast-math"
-c src/pyshtools.pyf src/PythonWrapper.f95
-lSHTOOLS -lfftw3 -lm -llapack -lblas
Traceback (most recent call last):
File "/usr/bin/f2py", line 4, in ?
f2py2e.main()
File "/usr/lib/python2.4/site-packages/f2py2e/f2py2e.py", line 677, in main
run_compile()
File "/usr/lib/python2.4/site-packages/f2py2e/f2py2e.py", line 579, in run_compile
from scipy_distutils.command.build_src import get_f2py_modulename
ImportError: No module named scipy_distutils.command.build_src
make: *** [all] Error 1

make_docs.py does not use specified python executable

The Makefile invokes the utility make_docs.py using

./pyshtools/make_docs.py .

which gets executed by the default python interpreter. If one builds against a non-default python installation this might fail. For example, on my Mac I am using a MacPorts installation of python, but the make_docs call above fails because it tries to load the pyshtools module into Apple's python executable.

This should be easily fixable by replacing the above line with

$(PYTHON) ./pyshtools/make_docs.py .

in the Makefile targets all, all2, all3, and python.

How to evaluate a list of arbitrary points on the sphere from SH coeffs?

Dear Mark,

I am using SHTOOLS for analytically solving elasticity problems with spherical boundary values. Now I developed a solution in terms of a SHcoeffs matrix, and I want to evaluate this coefficient matrix on a list of arbitrary points (theta, phi). The coefficient matrix has around 800 non-zero modes (lmax=30).
I notice that there is a MakeGridPoint function that can evaluate a single point on the sphere. If I evaluate many points (say 500) through for loop, it will be very slow (about 1s/point). The expand method in SHCoeffs class is also using this implementation. However, considering multiple points of the DH/GLQ grid, SHCoeffs.expand also takes about 1s for evaluate the grid.
I was wondering is there a way that I can evaluate a list of arbitrary points from a SH coefficient matrix fastly? Thanks!

Best,
Yifan

Failed to install on OSX with `pip`

Here is the output of pip install -V pyshtools. I have had similar lack of success installing directly from source or by cloning and running python setup.py install. I have fftw installed. Any insights?

Collecting pyshtools
  Using cached pyshtools-4.0.tar.gz
Installing collected packages: pyshtools
  Running setup.py install for pyshtools: started
    Running setup.py install for pyshtools: finished with status 'error'
    Complete output from command /Users/ryan/Library/Enthought/Canopy_64bit/User/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/4w/k6v6rcr11sl2_jxrkvlg5vhh0000gn/T/pip-build-rdSYNM/pyshtools/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /var/folders/4w/k6v6rcr11sl2_jxrkvlg5vhh0000gn/T/pip-O8n4f6-record/install-record.txt --single-version-externally-managed --compile --install-headers /Users/ryan/Library/Enthought/Canopy_64bit/User/include/site/python2.7/pyshtools:
    no pandoc installed. Careful, pypi description will not be formatted correctly.
    INSTALLING SHTOOLS 4.0
    customize Gnu95FCompiler
    Found executable /usr/local/bin/gfortran
    customize Gnu95FCompiler
    searching SHTOOLS in: build/temp.macosx-10.6-x86_64-2.7
    non-existing path in '': 'build/temp.macosx-10.6-x86_64-2.7'
    non-existing path in '': 'build/temp.macosx-10.6-x86_64-2.7'
    running install
    ---- CUSTOM INSTALL ----
    running build
    ---- BUILDING ----
    running config_cc
    unifing config_cc, config, build_clib, build_ext, build commands --compiler options
    running config_fc
    unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options
    running build_src
    build_src
    building library "SHTOOLS" sources
    building extension "pyshtools._SHTOOLS" sources
    f2py options: ['--quiet', '--quiet']
      adding 'build/src.macosx-10.6-x86_64-2.7/fortranobject.c' to sources.
      adding 'build/src.macosx-10.6-x86_64-2.7' to include_dirs.
      adding 'build/src.macosx-10.6-x86_64-2.7/src/_SHTOOLS-f2pywrappers.f' to sources.
    building extension "pyshtools._constant" sources
    f2py options: ['--quiet']
      adding 'build/src.macosx-10.6-x86_64-2.7/fortranobject.c' to sources.
      adding 'build/src.macosx-10.6-x86_64-2.7' to include_dirs.
      adding 'build/src.macosx-10.6-x86_64-2.7/pyshtools/_constant-f2pywrappers2.f90' to sources.
    build_src: building npy-pkg config files
    running build_py
    creating build/lib.macosx-10.6-x86_64-2.7
    creating build/lib.macosx-10.6-x86_64-2.7/pyshtools
    copying pyshtools/__init__.py -> build/lib.macosx-10.6-x86_64-2.7/pyshtools
    copying pyshtools/make_docs.py -> build/lib.macosx-10.6-x86_64-2.7/pyshtools
    creating build/lib.macosx-10.6-x86_64-2.7/pyshtools/constant
    copying pyshtools/constant/__init__.py -> build/lib.macosx-10.6-x86_64-2.7/pyshtools/constant
    creating build/lib.macosx-10.6-x86_64-2.7/pyshtools/expand
    copying pyshtools/expand/__init__.py -> build/lib.macosx-10.6-x86_64-2.7/pyshtools/expand
    creating build/lib.macosx-10.6-x86_64-2.7/pyshtools/gravmag
    copying pyshtools/gravmag/__init__.py -> build/lib.macosx-10.6-x86_64-2.7/pyshtools/gravmag
    creating build/lib.macosx-10.6-x86_64-2.7/pyshtools/legendre
    copying pyshtools/legendre/__init__.py -> build/lib.macosx-10.6-x86_64-2.7/pyshtools/legendre
    copying pyshtools/legendre/plm_index.py -> build/lib.macosx-10.6-x86_64-2.7/pyshtools/legendre
    creating build/lib.macosx-10.6-x86_64-2.7/pyshtools/rotate
    copying pyshtools/rotate/__init__.py -> build/lib.macosx-10.6-x86_64-2.7/pyshtools/rotate
    creating build/lib.macosx-10.6-x86_64-2.7/pyshtools/shclasses
    copying pyshtools/shclasses/__init__.py -> build/lib.macosx-10.6-x86_64-2.7/pyshtools/shclasses
    copying pyshtools/shclasses/shcoeffsgrid.py -> build/lib.macosx-10.6-x86_64-2.7/pyshtools/shclasses
    copying pyshtools/shclasses/shwindow.py -> build/lib.macosx-10.6-x86_64-2.7/pyshtools/shclasses
    creating build/lib.macosx-10.6-x86_64-2.7/pyshtools/shio
    copying pyshtools/shio/__init__.py -> build/lib.macosx-10.6-x86_64-2.7/pyshtools/shio
    copying pyshtools/shio/icgem.py -> build/lib.macosx-10.6-x86_64-2.7/pyshtools/shio
    copying pyshtools/shio/yilm_index_vector.py -> build/lib.macosx-10.6-x86_64-2.7/pyshtools/shio
    creating build/lib.macosx-10.6-x86_64-2.7/pyshtools/shtools
    copying pyshtools/shtools/__init__.py -> build/lib.macosx-10.6-x86_64-2.7/pyshtools/shtools
    creating build/lib.macosx-10.6-x86_64-2.7/pyshtools/spectralanalysis
    copying pyshtools/spectralanalysis/__init__.py -> build/lib.macosx-10.6-x86_64-2.7/pyshtools/spectralanalysis
    copying pyshtools/spectralanalysis/cross_spectrum.py -> build/lib.macosx-10.6-x86_64-2.7/pyshtools/spectralanalysis
    copying pyshtools/spectralanalysis/spectrum.py -> build/lib.macosx-10.6-x86_64-2.7/pyshtools/spectralanalysis
    creating build/lib.macosx-10.6-x86_64-2.7/pyshtools/utils
    copying pyshtools/utils/__init__.py -> build/lib.macosx-10.6-x86_64-2.7/pyshtools/utils
    copying pyshtools/utils/datetime.py -> build/lib.macosx-10.6-x86_64-2.7/pyshtools/utils
    running build_clib
    customize UnixCCompiler
    customize UnixCCompiler using build_clib
    customize Gnu95FCompiler
    customize Gnu95FCompiler
    customize Gnu95FCompiler using build_clib
    building 'SHTOOLS' library
    creating build/temp.macosx-10.6-x86_64-2.7
    compiling Fortran 90 module sources
    Fortran f77 compiler: /usr/local/bin/gfortran -Wall -g -ffixed-form -fno-second-underscore -arch x86_64 -fPIC -O3 -funroll-loops
    Fortran f90 compiler: /usr/local/bin/gfortran -Wall -g -fno-second-underscore -arch x86_64 -fPIC -O3 -funroll-loops
    Fortran fix compiler: /usr/local/bin/gfortran -Wall -g -ffixed-form -fno-second-underscore -Wall -g -fno-second-underscore -arch x86_64 -fPIC -O3 -funroll-loops
    creating build/temp.macosx-10.6-x86_64-2.7/src
    compile options: '-I/Users/ryan/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/numpy/core/include -c'
    extra options: '-Jbuild/temp.macosx-10.6-x86_64-2.7 -Ibuild/temp.macosx-10.6-x86_64-2.7'
    gfortran:f90: src/FFTW3.f95
    gfortran:f90: src/SHTOOLS.f95
    compiling Fortran sources
    Fortran f77 compiler: /usr/local/bin/gfortran -Wall -g -ffixed-form -fno-second-underscore -arch x86_64 -fPIC -O3 -funroll-loops
    Fortran f90 compiler: /usr/local/bin/gfortran -Wall -g -fno-second-underscore -arch x86_64 -fPIC -O3 -funroll-loops
    Fortran fix compiler: /usr/local/bin/gfortran -Wall -g -ffixed-form -fno-second-underscore -Wall -g -fno-second-underscore -arch x86_64 -fPIC -O3 -funroll-loops
    compile options: '-I/Users/ryan/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/numpy/core/include -c'
    extra options: '-Jbuild/temp.macosx-10.6-x86_64-2.7 -Ibuild/temp.macosx-10.6-x86_64-2.7'
    gfortran:f90: src/BAtoHilm.f95
    src/BAtoHilm.f95:86:0:
    
         real*8, allocatable ::  cilmn(:, :, :), grid2(:,:)
    
    Warning: 'grid2.dim[1].stride' may be used uninitialized in this function [-Wmaybe-uninitialized]
    src/BAtoHilm.f95:86:0: Warning: 'grid2.offset' may be used uninitialized in this function [-Wmaybe-uninitialized]
    /var/folders/4w/k6v6rcr11sl2_jxrkvlg5vhh0000gn/T//ccXaA3xi.s:2323:suffix or operands invalid for `movq'
    /var/folders/4w/k6v6rcr11sl2_jxrkvlg5vhh0000gn/T//ccXaA3xi.s:3764:suffix or operands invalid for `movq'
    src/BAtoHilm.f95:86:0:
    
         real*8, allocatable ::  cilmn(:, :, :), grid2(:,:)
    
    Warning: 'grid2.dim[1].stride' may be used uninitialized in this function [-Wmaybe-uninitialized]
    src/BAtoHilm.f95:86:0: Warning: 'grid2.offset' may be used uninitialized in this function [-Wmaybe-uninitialized]
    /var/folders/4w/k6v6rcr11sl2_jxrkvlg5vhh0000gn/T//ccXaA3xi.s:2323:suffix or operands invalid for `movq'
    /var/folders/4w/k6v6rcr11sl2_jxrkvlg5vhh0000gn/T//ccXaA3xi.s:3764:suffix or operands invalid for `movq'
    error: Command "/usr/local/bin/gfortran -Wall -g -fno-second-underscore -arch x86_64 -fPIC -O3 -funroll-loops -I/Users/ryan/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/numpy/core/include -c -c src/BAtoHilm.f95 -o build/temp.macosx-10.6-x86_64-2.7/src/BAtoHilm.o -Jbuild/temp.macosx-10.6-x86_64-2.7 -Ibuild/temp.macosx-10.6-x86_64-2.7" failed with exit status 1
    
    ----------------------------------------
Command "/Users/ryan/Library/Enthought/Canopy_64bit/User/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/4w/k6v6rcr11sl2_jxrkvlg5vhh0000gn/T/pip-build-rdSYNM/pyshtools/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /var/folders/4w/k6v6rcr11sl2_jxrkvlg5vhh0000gn/T/pip-O8n4f6-record/install-record.txt --single-version-externally-managed --compile --install-headers /Users/ryan/Library/Enthought/Canopy_64bit/User/include/site/python2.7/pyshtools" failed with error code 1 in /private/var/folders/4w/k6v6rcr11sl2_jxrkvlg5vhh0000gn/T/pip-build-rdSYNM/pyshtools/

pypi package

I just made a test upload to this test site:
https://testpypi.python.org/pypi/pyshtools/3.3

Unfortunately, this command:
pip install -i https://testpypi.python.org/pypi pyshtools

fails with this message:

Collecting pyshtools
  Using cached https://testpypi.python.org/packages/fa/36/1e02150908daa6d2f23fc7747d50b5a879e824bb1b107821275bc8d8719a/pyshtools-3.3.tar.gz
    Complete output from command python setup.py egg_info:
    customize Gnu95FCompiler
    Found executable /usr/bin/gfortran
    customize Gnu95FCompiler
    searching SHTOOLS in: build/temp.linux-x86_64-2.7
    non-existing path in '': 'src/pyshtools.pyf'
    non-existing path in '': 'build/temp.linux-x86_64-2.7'
    non-existing path in '': 'build/temp.linux-x86_64-2.7'
    running egg_info
    running build_src
    build_src
    building library "SHTOOLS" sources
    building extension "pyshtools._SHTOOLS" sources
      target build/src.linux-x86_64-2.7/src/_SHTOOLSmodule.c does not exist:
       Assuming _SHTOOLSmodule.c was generated with "build_src --inplace" command.
       Yes! Using 'src/_SHTOOLSmodule.c' as up-to-date target.
    f2py options: ['--quiet', '--quiet']
      adding 'build/src.linux-x86_64-2.7/fortranobject.c' to sources.
      adding 'build/src.linux-x86_64-2.7' to include_dirs.
    error: f2py target_c file 'build/src.linux-x86_64-2.7/fortranobject.c' not found

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-5D43ZE/pyshtools/

It seems that setup.py doesn't find the correct directory. Any ideas?

I followed this tutorial to upload it:
http://peterdowns.com/posts/first-time-with-pypi.html

OSX wheels don't build

The procedure for building OSX wheels exits with errors. The author of this (@xoviat) appears to have deleted all of his accounts and I can not get in contact with him/her. If anyone has any ideas on how to fix this, please let me know. It appears I just need to set a new username and password, but I have no idea on how to set the password securely without using plain text...

Here is what the password looks like in the output

$ export PYPI_PASSWORD=[secure]

and here is the end of the output

$ twine upload --skip-existing --user xoviat --password $PYPI_PASSWORD ${TRAVIS_BUILD_DIR}/wheelhouse/*
Uploading distributions to https://upload.pypi.org/legacy/
SSLError: HTTPSConnectionPool(host='pypi.python.org', port=443): Max retries exceeded with url: /pypi/pyshtools/json (Caused by SSLError(SSLError(1, '[SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:600)'),))

SHTOOLS Installation

I would to use SHTOOLS programs. when i installed the SHTOOLS, i got this error and i don't know the reasons. I wish if you can help me to solve this error.
Thank you.
shtools p1

Best Regards,
Mostafa

Installing SHTOOLS on Linux

Hi,

I am trying to install SHTOOLS on a Linux machine, and am running into difficulties. All the supporting libraries and executables are installed, but make fails on a gfortran compilation call. The make output is pasted below.

Is it possible to install SHTOOLS on a Linux machine? Does anyone have a suggestion for what might be missing, based on the make output?

Thank you!

[root@flagstaff SHTOOLS-3.1]# make
make -C src -f Makefile all F95=gfortran F95FLAGS="-m64 -fPIC -O3 -ffast-math"
make[1]: Entering directory `/root/work/SHTOOLS-3.1/src'
gfortran -c -m64 -fPIC -O3 -ffast-math SHTOOLS.f95
gfortran -c -m64 -fPIC -O3 -ffast-math CilmPlus.f95
gfortran -c -m64 -fPIC -O3 -ffast-math CilmMinus.f95
gfortran -c -m64 -fPIC -O3 -ffast-math ComputeDG82.f95
gfortran -c -m64 -fPIC -O3 -ffast-math ComputeDm.f95
gfortran -c -m64 -fPIC -O3 -ffast-math DHaj.f95
gfortran -c -m64 -fPIC -O3 -ffast-math djpi2.f95
gfortran -c -m64 -fPIC -O3 -ffast-math FFTW3.f95
gfortran -c -m64 -fPIC -O3 -ffast-math BAtoHilm.f95
gfortran -c -m64 -fPIC -O3 -ffast-math MakeGrid2D.f95
gfortran -c -m64 -fPIC -O3 -ffast-math GLQGridCoord.f95
gfortran -c -m64 -fPIC -O3 -ffast-math MakeGridPoint.f95
gfortran -c -m64 -fPIC -O3 -ffast-math PlanetsConstants.f95
gfortran -c -m64 -fPIC -O3 -ffast-math PlBar.f95
gfortran -c -m64 -fPIC -O3 -ffast-math PlBar_d1.f95
gfortran -c -m64 -fPIC -O3 -ffast-math PLegendre.f95
gfortran -c -m64 -fPIC -O3 -ffast-math PLegendreA.f95
gfortran -c -m64 -fPIC -O3 -ffast-math PLegendreA_d1.f95
gfortran -c -m64 -fPIC -O3 -ffast-math PlmBar.f95
gfortran -c -m64 -fPIC -O3 -ffast-math PlmBar_d1.f95
gfortran -c -m64 -fPIC -O3 -ffast-math PlmIndex.f95
gfortran -c -m64 -fPIC -O3 -ffast-math PlmSchmidt.f95
gfortran -c -m64 -fPIC -O3 -ffast-math PlmSchmidt_d1.f95
gfortran -c -m64 -fPIC -O3 -ffast-math PlSchmidt.f95
gfortran -c -m64 -fPIC -O3 -ffast-math PlSchmidt_d1.f95
gfortran -c -m64 -fPIC -O3 -ffast-math PreGLQ.f95
gfortran -c -m64 -fPIC -O3 -ffast-math Random.f95
gfortran -c -m64 -fPIC -O3 -ffast-math SHAdmitCorr.f95
gfortran -c -m64 -fPIC -O3 -ffast-math SHBias.f95
gfortran -c -m64 -fPIC -O3 -ffast-math SHBiasK.f95
gfortran -c -m64 -fPIC -O3 -ffast-math SHConvertCoef.f95
gfortran -c -m64 -fPIC -O3 -ffast-math SHFindLWin.f95
gfortran -c -m64 -fPIC -O3 -ffast-math SHLocalizedAdmitCorr.f95
gfortran -c -m64 -fPIC -O3 -ffast-math SHMultiply.f95
gfortran -c -m64 -fPIC -O3 -ffast-math SHMultiTaperCSE.f95
gfortran -c -m64 -fPIC -O3 -ffast-math SHMultiTaperSE.f95
gfortran -c -m64 -fPIC -O3 -ffast-math SHPowerSpectra.f95
gfortran -c -m64 -fPIC -O3 -ffast-math SHRead.f95
gfortran -c -m64 -fPIC -O3 -ffast-math SHReadJPL.f95
gfortran -c -m64 -fPIC -O3 -ffast-math SHReturnTapersM.f95
gfortran -c -m64 -fPIC -O3 -ffast-math SHRotateCoef.f95
gfortran -c -m64 -fPIC -O3 -ffast-math SHRotateRealCoef.f95
gfortran -c -m64 -fPIC -O3 -ffast-math SphericalCapCoef.f95
gfortran -c -m64 -fPIC -O3 -ffast-math Wigner3j.f95
gfortran -c -m64 -fPIC -O3 -ffast-math DownContFilter.f95
gfortran -c -m64 -fPIC -O3 -ffast-math SHRead2.f95
gfortran -c -m64 -fPIC -O3 -ffast-math MakeGeoidGrid.f95
gfortran -c -m64 -fPIC -O3 -ffast-math MakeCircleCoord.f95
gfortran -c -m64 -fPIC -O3 -ffast-math SHMTCouplingMatrix.f95
gfortran -c -m64 -fPIC -O3 -ffast-math SHReturnTapers.f95
gfortran -c -m64 -fPIC -O3 -ffast-math SHSjkPG.f95
gfortran -c -m64 -fPIC -O3 -ffast-math PlON.f95
gfortran -c -m64 -fPIC -O3 -ffast-math PlON_d1.f95
gfortran -c -m64 -fPIC -O3 -ffast-math PlmON.f95
gfortran -c -m64 -fPIC -O3 -ffast-math PlmON_d1.f95
gfortran -c -m64 -fPIC -O3 -ffast-math SHConfidence.f95
gfortran -c -m64 -fPIC -O3 -ffast-math SHMagPowerSpectra.f95
gfortran -c -m64 -fPIC -O3 -ffast-math SHPowerSpectraC.f95
gfortran -c -m64 -fPIC -O3 -ffast-math SHBiasAdmitCorr.f95
gfortran -c -m64 -fPIC -O3 -ffast-math SHCilmToVector.f95
gfortran -c -m64 -fPIC -O3 -ffast-math YilmIndexVector.f95
gfortran -c -m64 -fPIC -O3 -ffast-math ComputeDMap.f95
gfortran -c -m64 -fPIC -O3 -ffast-math SHReturnTapersMap.f95
gfortran -c -m64 -fPIC -O3 -ffast-math Curve2Mask.f95
gfortran -c -m64 -fPIC -O3 -ffast-math MakeEllipseCoord.f95
gfortran -c -m64 -fPIC -O3 -ffast-math CilmPlusRhoH.f95
gfortran -c -m64 -fPIC -O3 -ffast-math CilmMinusRhoH.f95
gfortran -c -m64 -fPIC -O3 -ffast-math BAtoHilmRhoH.f95
gfortran -c -m64 -fPIC -O3 -ffast-math NormalGravity.f95
gfortran -c -m64 -fPIC -O3 -ffast-math EigValSym.f95
gfortran -c -m64 -fPIC -O3 -ffast-math EigValVecSym.f95
gfortran -c -m64 -fPIC -O3 -ffast-math EigValVecSymTri.f95
gfortran -c -m64 -fPIC -O3 -ffast-math SHExpandLSQ.f95
gfortran -c -m64 -fPIC -O3 -ffast-math SHMTDebias.f95
gfortran -c -m64 -fPIC -O3 -ffast-math SHMTVarOpt.f95
gfortran -c -m64 -fPIC -O3 -ffast-math MakeGridDH.f95
gfortran -c -m64 -fPIC -O3 -ffast-math MakeGridDHC.f95
gfortran -c -m64 -fPIC -O3 -ffast-math MakeGridGLQ.f95
gfortran -c -m64 -fPIC -O3 -ffast-math MakeGridGLQC.f95
gfortran -c -m64 -fPIC -O3 -ffast-math SHGLQ.f95
gfortran -c -m64 -fPIC -O3 -ffast-math SHExpandDH.f95
gfortran -c -m64 -fPIC -O3 -ffast-math SHExpandDHC.f95
gfortran -c -m64 -fPIC -O3 -ffast-math SHExpandGLQ.f95
gfortran -c -m64 -fPIC -O3 -ffast-math SHExpandGLQC.f95
gfortran -c -m64 -fPIC -O3 -ffast-math MakeGravGradGridDH.f95
gfortran -c -m64 -fPIC -O3 -ffast-math MakeGravGridDH.f95
gfortran -c -m64 -fPIC -O3 -ffast-math MakeMagGridDH.f95

COMPILATION OF SOURCE FILES SUCCESSFUL.

ar -r ../lib/libSHTOOLS.a CilmPlus.o CilmMinus.o ComputeDG82.o ComputeDm.o DHaj.o
djpi2.o FFTW3.o BAtoHilm.o MakeGrid2D.o GLQGridCoord.o MakeGridPoint.o
PlanetsConstants.o PlBar.o PlBar_d1.o PLegendre.o PLegendreA.o PLegendreA_d1.o
PlmBar.o PlmBar_d1.o PlmIndex.o PlmSchmidt.o PlmSchmidt_d1.o PlSchmidt.o
PlSchmidt_d1.o PreGLQ.o Random.o SHAdmitCorr.o SHBias.o SHBiasK.o SHConvertCoef.o
SHFindLWin.o SHLocalizedAdmitCorr.o SHMultiply.o SHMultiTaperCSE.o
SHMultiTaperSE.o SHPowerSpectra.o SHRead.o SHReadJPL.o SHReturnTapersM.o
SHRotateCoef.o SHRotateRealCoef.o SHTOOLS.o SphericalCapCoef.o Wigner3j.o
DownContFilter.o SHRead2.o MakeGeoidGrid.o MakeCircleCoord.o SHMTCouplingMatrix.o
SHReturnTapers.o SHSjkPG.o PlON.o PlON_d1.o PlmON.o PlmON_d1.o SHConfidence.o
SHMagPowerSpectra.o SHPowerSpectraC.o SHBiasAdmitCorr.o SHCilmToVector.o
YilmIndexVector.o ComputeDMap.o SHReturnTapersMap.o Curve2Mask.o
MakeEllipseCoord.o CilmPlusRhoH.o CilmMinusRhoH.o BAtoHilmRhoH.o NormalGravity.o
EigValSym.o EigValVecSym.o EigValVecSymTri.o SHExpandLSQ.o SHMTDebias.o
SHMTVarOpt.o MakeGridDH.o MakeGridDHC.o MakeGridGLQ.o MakeGridGLQC.o SHGLQ.o
SHExpandDH.o SHExpandDHC.o SHExpandGLQ.o SHExpandGLQC.o MakeGravGradGridDH.o
MakeGravGridDH.o MakeMagGridDH.o
ar: creating ../lib/libSHTOOLS.a

ranlib ../lib/libSHTOOLS.a

CREATION OF STATIC LIBRARY SUCCESSFUL.

LIBRARY AND MODULE FILES MOVED TO ../lib and ../modules

ARCHIVE SUCCESSFULLY CREATED
make[1]: Leaving directory `/root/work/SHTOOLS-3.1/src'

MAKE OF FORTRAN COMPONENT SUCCESSFUL!

f2py --quiet -Imodules -Llib --f90flags="-m64 -fPIC -O3 -ffast-math"
-c src/pyshtools.pyf src/PythonWrapper.f95
-lSHTOOLS -lfftw3 -lm -llapack -lblas
sortvarnames: failed to compute dependencies because of cyclic dependencies
between w, w_d0
Could not locate executable g77
Could not locate executable f77
Could not locate executable ifort
Could not locate executable ifc
Could not locate executable lf95
Could not locate executable pgf90
Could not locate executable pgf77
Could not locate executable f90
Found executable /usr/bin/f95
Could not locate executable fort
Could not locate executable efort
Could not locate executable efc
Found executable /usr/bin/gfortran
/usr/bin/ld: cannot find -lfftw3
collect2: ld returned 1 exit status
/usr/bin/ld: cannot find -lfftw3
collect2: ld returned 1 exit status
error: Command "/usr/bin/gfortran -Wall -Wall -shared
/tmp/tmpyqId0L/tmp/tmpyqId0L/src.linux-x86_64-2.4/src/_SHTOOLSmodule.o
/tmp/tmpyqId0L/tmp/tmpyqId0L/src.linux-x86_64-2.4/fortranobject.o
/tmp/tmpyqId0L/src/PythonWrapper.o
/tmp/tmpyqId0L/tmp/tmpyqId0L/src.linux-x86_64-2.4/src/_SHTOOLS-f2pywrappers.o
-Llib -lSHTOOLS -lfftw3 -lm -llapack -lblas -lgfortran -o ./_SHTOOLS.so" failed
with exit status 1
make: *** [all] Error 1

MakeGravGridDH Bug with EGM2008 coefficients?

I think that I might either:

  1. have found a bug in (the Python binding to?) MakeGravGridDH when using the EGM2008 gravity coefficients,
    or
  2. not understand how to call MakeGravGridH correctly to remove the normal gravity and generate the disturbing potential T.

A Jupyter notebook documenting my attempts is publicly available at https://github.com/fghorow/SHToolsDemo/blob/master/SHToolsMakeGravGridBug.ipynb.

I am (of course) ready to test any suggestions/modifications you might have.

I would greatly appreciate any help you might be able to provide to solve this issue!

Many Thanks!
Frank Horowitz
Cornell University

version 4.1

  • Add option to plot projected grids using the cartopy backend
  • Add optional axes argument for all plotting routines, so that plots can be drawn on an already existing figures.
  • Provide native python functions for all routines in the subpackage shio.
  • Provide a native python function to replace SHMagPowerL and SHMagPowerSpectrum.
  • Provide support for installing via conda.
  • Create new classes SHGrav and SHMag for working with gravity and magnetic field data.
  • Reorganize the python tutorials to minimize duplication and aid ease of use.
  • Remove annoying warnings when compiling the fortran source code via pip install -v.

Version 3.5 to do list

  • Fix Fortran stop issue. See solution 2 of #25. I propose to check ExitStatus only when the PythonWrapper functions call a Fortran function, and not when an SHTOOLS Fortran function calls another SHTOOLS function.
  • Break up shclasses.py file into several smaller files.
  • Some of the notebooks are partially redundant. Need to think about re-organizing these into a few simple introductions, and a few more in depth tutorials.
  • Modify two routines so it is not necessary to site Numerical Recipes, which has an anti-scientific licensing policy. [push back to 3.6]
  • Add a routine to calculate a continuous wavelet transform. [push back to 3.6]
  • Modify MakeGravGridDH to also return the potential on the ellipsoid like in Fortran routines. This would have to be a non-optional argument (as opposed to in the Fortran 95 code where it is optional output), and this would hence require calculating 4 grids instead of just 3, which will slow down the code bit.
  • Rewrite powerspectrum routines to use a consistent and more illuminating notation. See #50
  • Rename all routines that have get_ in their names.
  • Add output type of returned variables to class documentation.
  • Need to think about whether certain methods should return copies of the data, or just references.
  • Change travis to execute the Python notebooks, instead of the single timing/accuracy routine.
  • Add __pow__ method for grid operations, and expand operators to work with a grid and scalar, such as 2*grid and grid**2 and grid - 2. Consider adding other operators, like __abs__.
  • Add tofile methods to SHCoeffs and SHGrid to output raw grid and coefficient data as numpy formatted files. Should this output metadata as well, or only raw grids and coefficients?
  • Add option to create an SHCoeffs class instance by reading coefficients from a numpy formatted file.

Different between CilmPlus and CilmMinus

Dear Prof. Wieczorek
I found those two subroutine in src file.
I think it represented the eq(10) and eq(12) in (Wieczorek and Phillips 1998)
My question is that when I about to calculate bouguer correction, which subroutine should I choose.
Or should I use both of them and added them together?
Or just one of those subroutine, depending on my reference radius?
The fortran sample MarsCrustalThickness use only the CilmPlus to calculate bouguer correction

Fail to install Pyshtool on Ubuntu system

When I install the pyshtools by pip, displayed:
Importerror: No module named numpy.distutils.core
....................................................................................
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-Y6T9Cz-build/

How to solve this problem?

Thank you very much!
Jinzhu

A bug in: examples/python/ClassInterface/ClassExample.py

Hi,

I begin to use this package and trying the example,
I found line 49 in ClassExample.py is weird

# rotate coefficients, expand to grid and plot again
coeffs.rotate(40., 0., 0., degrees=True)
grid3 = coeffs.expand(grid='DH1')
grid3.plot(show=False, fname='DHGrid_rotated.png')

the result is not rotated, still keep the same.
So I change it to:

# rotate coefficients, expand to grid and plot again
coeffs = coeffs.rotate(40., 0., 0., degrees=True)
grid3 = coeffs.expand(grid='DH1')
grid3.plot(show=False, fname='DHGrid_rotated.png')

than the result is rotated.

Failed to install pySHTools on Windows

I try to install SHTOOLS on my 64 bit Windows 7, but all my trials have been ended up with failure.
I use 64 bit Anaconda 4.1.1, with the python version of 3.5.2.
The MinGW is installed as my fortran compiler.
When I use 'pip install pyshtools', my python will stop working after a while, alerting 'Python has stopped working'

Raise Python exception before encountering Fortran STOP

Summary

The Fortran 95 SHTOOLS routines make use of the statement STOP in order to stop execution when a problem occurs. However, when called from within Python, the Fortran STOP statement will not only exit the Fortran program, but it will stop the Python kernel.

There is a potential way to get around this using Python callback functions. In essence, in the Fortran routine, you call an undefined function just before encountering the STOP, you define this function with intent(callback,hide) in the Python signature file, you define a function in Python whose sole purpose is to raise an exception, and then you set the function name in the module equal to the Python function that raises the exception.

This works, but only when the Fortran function is called directly from Python, and when the Python callback function is in this Fortran routine. However, this does not appear to work if another Fortran routine calls the Fortran routine that contains the callback function. This is detailed here in this issue: numpy/numpy#7855

This is a major problem for SHTOOLS, because each Python function first calls a generic Fortran wrapper function that then calls the real Fortran routine.

Solutions

Solution 1. This is most likely a bug in numpy/f2py. Wait for them to fix this. I have opened an issue there, but I am not optimistic for a response.

Solution 2. Add an optional variable to each SHTOOLS function called ExitStatus. Set this variable equal to 0 when no errors occur, and something other than 0 when an error occurs. After each call to a SHTOOLS routine in the Fortran routines, it will be necessary to check if this value if non-zero, and if so, to return this value immediately to the calling function. Eventually, you will end in the Fortran Python wrapper function, the wrapper function checks if ExitStatus is non-zero, and if so, this routine raises a Python exception from a callback function.

Solution 2 will require editing of all SHTOOLS source files. Furthermore, after each call to an SHTOOLS routine, it will be necessary to check the value of ExitStatus. If this check is in a deep do loop, this might affect performance of the routine. Also, it is not clear how to set an exit status for a Fortran program (the returned value could be set equal to a predefined value, but this is not an optimal solution).

See also: #9

Linux wheels don't build

The procedure for building Linux wheels in the repo https://github.com/SHTOOLS/build-shtools exits with errors. This appears to involve an compiler option -fPIC and it is likely that this is easy to fix, but the author of this (@xoviat) appears to have deleted all of his accounts and I can not get in contact with him/her. If anyone has any ideas on how to fix this, please let me know. The wheel build procedure is based on https://github.com/matthew-brett/multibuild

Here is the end of the output from Travis:

gfortran:f77: build/src.linux-x86_64-3.5/src/_SHTOOLS-f2pywrappers.f
  /opt/rh/devtoolset-2/root/usr/bin/gfortran -Wall -g -Wall -g -shared build/temp.linux-x86_64-3.5/build/src.linux-x86_64-3.5/src/_SHTOOLSmodule.o build/temp.linux-x86_64-3.5/build/src.linux-x86_64-3.5/build/src.linux-x86_64-3.5/src/fortranobject.o build/temp.linux-x86_64-3.5/src/PythonWrapper.o build/temp.linux-x86_64-3.5/build/src.linux-x86_64-3.5/src/_SHTOOLS-f2pywrappers.o -Lbuild/temp.linux-x86_64-3.5 -L/usr/local/lib -L/opt/rh/devtoolset-2/root/usr/lib/gcc/x86_64-CentOS-linux/4.8.2 -L/opt/rh/devtoolset-2/root/usr/lib/gcc/x86_64-CentOS-linux/4.8.2 -Lbuild/temp.linux-x86_64-3.5 -lSHTOOLS -lfftw3 -lm -lopenblas -lopenblas -lopenblas -lopenblas -lSHTOOLS -lfftw3 -lm -lopenblas -lopenblas -lopenblas -lopenblas -lSHTOOLS -lfftw3 -lm -lopenblas -lopenblas -lopenblas -lopenblas -lgfortran -o build/lib.linux-x86_64-3.5/pyshtools/_SHTOOLS.cpython-35m-x86_64-linux-gnu.so
  /opt/rh/devtoolset-2/root/usr/libexec/gcc/x86_64-CentOS-linux/4.8.2/ld: build/temp.linux-x86_64-3.5/src/PythonWrapper.o: relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
  build/temp.linux-x86_64-3.5/src/PythonWrapper.o: could not read symbols: Bad value
  collect2: error: ld returned 1 exit status
  /opt/rh/devtoolset-2/root/usr/libexec/gcc/x86_64-CentOS-linux/4.8.2/ld: build/temp.linux-x86_64-3.5/src/PythonWrapper.o: relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
  build/temp.linux-x86_64-3.5/src/PythonWrapper.o: could not read symbols: Bad value
  collect2: error: ld returned 1 exit status
  error: Command "/opt/rh/devtoolset-2/root/usr/bin/gfortran -Wall -g -Wall -g -shared build/temp.linux-x86_64-3.5/build/src.linux-x86_64-3.5/src/_SHTOOLSmodule.o build/temp.linux-x86_64-3.5/build/src.linux-x86_64-3.5/build/src.linux-x86_64-3.5/src/fortranobject.o build/temp.linux-x86_64-3.5/src/PythonWrapper.o build/temp.linux-x86_64-3.5/build/src.linux-x86_64-3.5/src/_SHTOOLS-f2pywrappers.o -Lbuild/temp.linux-x86_64-3.5 -L/usr/local/lib -L/opt/rh/devtoolset-2/root/usr/lib/gcc/x86_64-CentOS-linux/4.8.2 -L/opt/rh/devtoolset-2/root/usr/lib/gcc/x86_64-CentOS-linux/4.8.2 -Lbuild/temp.linux-x86_64-3.5 -lSHTOOLS -lfftw3 -lm -lopenblas -lopenblas -lopenblas -lopenblas -lSHTOOLS -lfftw3 -lm -lopenblas -lopenblas -lopenblas -lopenblas -lSHTOOLS -lfftw3 -lm -lopenblas -lopenblas -lopenblas -lopenblas -lgfortran -o build/lib.linux-x86_64-3.5/pyshtools/_SHTOOLS.cpython-35m-x86_64-linux-gnu.so" failed with exit status 1
  
  ----------------------------------------
  Failed building wheel for pyshtools
  Running setup.py clean for pyshtools
Failed to build pyshtools
ERROR: Failed to build one or more wheels
usage: auditwheel [-h] [-V] [-v] command ...
auditwheel: error: cannot access /io/wheelhouse/*.whl. No such file

I note that the fortran files should be compiled with the -fPIC option, as can be seen in the setup.py file for the gnu95 compiler (as specified in the extra_compile_args kwargs).

issues with SHExpandLSQ

Dear Mark,

I was trying to use SHExpandLSQ to expand a function on irregular mesh points. I have d, lat, lon all float ndarrays with size (4256,), but the function ends up with an error:
(lat_d0==d_d0 && lon_d0==d_d0) failed for hidden nmax: SHExpandLSQ:nmax=4256

This issue can also be reproduced for the following code:

import pyshtools
import numpy as np
d = np.zeros(20)
lat = 90-np.random.rand(20)*180
lon = np.random.rand(20)*360
cilm, chi2 = pyshtools.expand.SHExpandLSQ(d,lat,lon,5)

and the error shows up:

Traceback (most recent call last):
File "", line 1, in
File "/usr/local/lib/python3.5/dist-packages/pyshtools/shtools/init.py", line 198, in wrapped_func
returned_values = func(*args, **kwargs)
_SHTOOLS.error: (lat_d0==d_d0 && lon_d0==d_d0) failed for hidden nmax: SHExpandLSQ:nmax=20

I am using SHTOOLS 4.0 installed using pip on Ubuntu 16.04LTS with python 3.5.

I do not quite understand the python-fortran interface so I am not sure if it is a bug or I did not use it correctly. Would you mind helping me locate the problem?

Thank you!

Installation trouble on Windows

I'm trying to install pyshtools through pip for Python 3.6.4 but I'm running into a problem that I don't know how to solve. Below is the output after "pip install -V pyshtools" (very long, sorry). Any suggestions would be very much appreciated.

Collecting pyshtools
Using cached https://files.pythonhosted.org/packages/71/d8/91b5b0914c6c68ed52a06f843442f8b5ef05467e27287bd6ec41e2fa5933/pyshtools-4.1.2.tar.gz
Requirement already satisfied: numpy>=1.14.1 in c:\users\mab0328\appdata\local\programs\python\python36-32\lib\site-packages (from pyshtools) (1.14.1)
Installing collected packages: pyshtools
Running setup.py install for pyshtools: started
Running setup.py install for pyshtools: finished with status 'error'
Complete output from command c:\users\mab0328\appdata\local\programs\python\python36-32\python.exe -u -c "import setuptools, tokenize;file='C:\Users\mab0328\AppData\Local\Temp\pip-install-9fycvvf0\pyshtools\setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record C:\Users\mab0328\AppData\Local\Temp\pip-record-phy1cfc5\install-record.txt --single-version-externally-managed --compile:
pandoc is not installed. PYPI description will not be formatted correctly.
INSTALLING SHTOOLS 4.1.2
get_default_fcompiler: matching types: '['gnu', 'intelv', 'absoft', 'compaqv', 'intelev', 'gnu95', 'g95', 'intelvem', 'intelem', 'flang']'
customize GnuFCompiler
Could not locate executable g77
Could not locate executable f77
customize IntelVisualFCompiler
Could not locate executable ifort
Could not locate executable ifl
customize AbsoftFCompiler
Could not locate executable f90
customize CompaqVisualFCompiler
Found executable C:\Program Files\Git\usr\bin\DF.exe
customize IntelItaniumVisualFCompiler
Could not locate executable efl
customize Gnu95FCompiler
Found executable C:\Program Files\mingw-w64\x86_64-7.2.0-posix-seh-rt_v5-rev1\mingw64\bin\gfortran.exe
get_default_fcompiler: matching types: '['gnu', 'intelv', 'absoft', 'compaqv', 'intelev', 'gnu95', 'g95', 'intelvem', 'intelem', 'flang']'
customize GnuFCompiler
customize IntelVisualFCompiler
customize AbsoftFCompiler
customize CompaqVisualFCompiler
customize IntelItaniumVisualFCompiler
customize Gnu95FCompiler
searching SHTOOLS in: build\temp.win32-3.6
fftw_info:
No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
customize MSVCCompiler
libraries fftw3 not found in ['c:\users\mab0328\appdata\local\programs\python\python36-32\lib', 'C:\', 'c:\users\mab0328\appdata\local\programs\python\python36-32\libs']
fftw3 not found
No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
customize MSVCCompiler
libraries rfftw,fftw not found in ['c:\users\mab0328\appdata\local\programs\python\python36-32\lib', 'C:\', 'c:\users\mab0328\appdata\local\programs\python\python36-32\libs']
fftw2 not found
NOT AVAILABLE

lapack_opt_info:
lapack_mkl_info:
No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
customize MSVCCompiler
  libraries mkl_rt not found in ['c:\\users\\mab0328\\appdata\\local\\programs\\python\\python36-32\\lib', 'C:\\', 'c:\\users\\mab0328\\appdata\\local\\programs\\python\\python36-32\\libs']
  NOT AVAILABLE

openblas_lapack_info:
No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
customize MSVCCompiler
No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
customize MSVCCompiler
  libraries openblas not found in ['c:\\users\\mab0328\\appdata\\local\\programs\\python\\python36-32\\lib', 'C:\\', 'c:\\users\\mab0328\\appdata\\local\\programs\\python\\python36-32\\libs']
get_default_fcompiler: matching types: '['gnu', 'intelv', 'absoft', 'compaqv', 'intelev', 'gnu95', 'g95', 'intelvem', 'intelem', 'flang']'
customize GnuFCompiler
customize IntelVisualFCompiler
customize AbsoftFCompiler
customize CompaqVisualFCompiler
customize IntelItaniumVisualFCompiler
customize Gnu95FCompiler
  NOT AVAILABLE

openblas_clapack_info:
No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
customize MSVCCompiler
No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
customize MSVCCompiler
  libraries openblas,lapack not found in ['c:\\users\\mab0328\\appdata\\local\\programs\\python\\python36-32\\lib', 'C:\\', 'c:\\users\\mab0328\\appdata\\local\\programs\\python\\python36-32\\libs']
get_default_fcompiler: matching types: '['gnu', 'intelv', 'absoft', 'compaqv', 'intelev', 'gnu95', 'g95', 'intelvem', 'intelem', 'flang']'
customize GnuFCompiler
customize IntelVisualFCompiler
customize AbsoftFCompiler
customize CompaqVisualFCompiler
customize IntelItaniumVisualFCompiler
customize Gnu95FCompiler
  NOT AVAILABLE

atlas_3_10_threads_info:
Setting PTATLAS=ATLAS
No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
customize MSVCCompiler
  libraries tatlas,tatlas not found in c:\users\mab0328\appdata\local\programs\python\python36-32\lib
No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
customize MSVCCompiler
  libraries lapack_atlas not found in c:\users\mab0328\appdata\local\programs\python\python36-32\lib
No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
customize MSVCCompiler
  libraries tatlas,tatlas not found in C:\
No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
customize MSVCCompiler
  libraries lapack_atlas not found in C:\
No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
customize MSVCCompiler
  libraries tatlas,tatlas not found in c:\users\mab0328\appdata\local\programs\python\python36-32\libs
No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
customize MSVCCompiler
  libraries lapack_atlas not found in c:\users\mab0328\appdata\local\programs\python\python36-32\libs
<class 'numpy.distutils.system_info.atlas_3_10_threads_info'>
  NOT AVAILABLE

atlas_3_10_info:
No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
customize MSVCCompiler
  libraries satlas,satlas not found in c:\users\mab0328\appdata\local\programs\python\python36-32\lib
No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
customize MSVCCompiler
  libraries lapack_atlas not found in c:\users\mab0328\appdata\local\programs\python\python36-32\lib
No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
customize MSVCCompiler
  libraries satlas,satlas not found in C:\
No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
customize MSVCCompiler
  libraries lapack_atlas not found in C:\
No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
customize MSVCCompiler
  libraries satlas,satlas not found in c:\users\mab0328\appdata\local\programs\python\python36-32\libs
No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
customize MSVCCompiler
  libraries lapack_atlas not found in c:\users\mab0328\appdata\local\programs\python\python36-32\libs
<class 'numpy.distutils.system_info.atlas_3_10_info'>
  NOT AVAILABLE

atlas_threads_info:
Setting PTATLAS=ATLAS
No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
customize MSVCCompiler
  libraries ptf77blas,ptcblas,atlas not found in c:\users\mab0328\appdata\local\programs\python\python36-32\lib
No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
customize MSVCCompiler
  libraries lapack_atlas not found in c:\users\mab0328\appdata\local\programs\python\python36-32\lib
No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
customize MSVCCompiler
  libraries ptf77blas,ptcblas,atlas not found in C:\
No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
customize MSVCCompiler
  libraries lapack_atlas not found in C:\
No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
customize MSVCCompiler
  libraries ptf77blas,ptcblas,atlas not found in c:\users\mab0328\appdata\local\programs\python\python36-32\libs
No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
customize MSVCCompiler
  libraries lapack_atlas not found in c:\users\mab0328\appdata\local\programs\python\python36-32\libs
<class 'numpy.distutils.system_info.atlas_threads_info'>
  NOT AVAILABLE

atlas_info:
No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
customize MSVCCompiler
  libraries f77blas,cblas,atlas not found in c:\users\mab0328\appdata\local\programs\python\python36-32\lib
No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
customize MSVCCompiler
  libraries lapack_atlas not found in c:\users\mab0328\appdata\local\programs\python\python36-32\lib
No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
customize MSVCCompiler
  libraries f77blas,cblas,atlas not found in C:\
No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
customize MSVCCompiler
  libraries lapack_atlas not found in C:\
No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
customize MSVCCompiler
  libraries f77blas,cblas,atlas not found in c:\users\mab0328\appdata\local\programs\python\python36-32\libs
No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
customize MSVCCompiler
  libraries lapack_atlas not found in c:\users\mab0328\appdata\local\programs\python\python36-32\libs
<class 'numpy.distutils.system_info.atlas_info'>
  NOT AVAILABLE

c:\users\mab0328\appdata\local\programs\python\python36-32\lib\site-packages\numpy\distutils\system_info.py:624: UserWarning:
    Atlas (http://math-atlas.sourceforge.net/) libraries not found.
    Directories to search for the libraries can be specified in the
    numpy/distutils/site.cfg file (section [atlas]) or by setting
    the ATLAS environment variable.
  self.calc_info()
lapack_info:
No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
customize MSVCCompiler
  libraries lapack not found in ['c:\\users\\mab0328\\appdata\\local\\programs\\python\\python36-32\\lib', 'C:\\', 'c:\\users\\mab0328\\appdata\\local\\programs\\python\\python36-32\\libs']
  NOT AVAILABLE

c:\users\mab0328\appdata\local\programs\python\python36-32\lib\site-packages\numpy\distutils\system_info.py:624: UserWarning:
    Lapack (http://www.netlib.org/lapack/) libraries not found.
    Directories to search for the libraries can be specified in the
    numpy/distutils/site.cfg file (section [lapack]) or by setting
    the LAPACK environment variable.
  self.calc_info()
lapack_src_info:
  NOT AVAILABLE

c:\users\mab0328\appdata\local\programs\python\python36-32\lib\site-packages\numpy\distutils\system_info.py:624: UserWarning:
    Lapack (http://www.netlib.org/lapack/) sources not found.
    Directories to search for the sources can be specified in the
    numpy/distutils/site.cfg file (section [lapack_src]) or by setting
    the LAPACK_SRC environment variable.
  self.calc_info()
  NOT AVAILABLE

blas_opt_info:
blas_mkl_info:
No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
customize MSVCCompiler
  libraries mkl_rt not found in ['c:\\users\\mab0328\\appdata\\local\\programs\\python\\python36-32\\lib', 'C:\\', 'c:\\users\\mab0328\\appdata\\local\\programs\\python\\python36-32\\libs']
  NOT AVAILABLE

blis_info:
No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
customize MSVCCompiler
  libraries blis not found in ['c:\\users\\mab0328\\appdata\\local\\programs\\python\\python36-32\\lib', 'C:\\', 'c:\\users\\mab0328\\appdata\\local\\programs\\python\\python36-32\\libs']
  NOT AVAILABLE

openblas_info:
No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
customize MSVCCompiler
No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
customize MSVCCompiler
  libraries openblas not found in ['c:\\users\\mab0328\\appdata\\local\\programs\\python\\python36-32\\lib', 'C:\\', 'c:\\users\\mab0328\\appdata\\local\\programs\\python\\python36-32\\libs']
get_default_fcompiler: matching types: '['gnu', 'intelv', 'absoft', 'compaqv', 'intelev', 'gnu95', 'g95', 'intelvem', 'intelem', 'flang']'
customize GnuFCompiler
customize IntelVisualFCompiler
customize AbsoftFCompiler
customize CompaqVisualFCompiler
customize IntelItaniumVisualFCompiler
customize Gnu95FCompiler
  NOT AVAILABLE

atlas_3_10_blas_threads_info:
Setting PTATLAS=ATLAS
No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
customize MSVCCompiler
  libraries tatlas not found in ['c:\\users\\mab0328\\appdata\\local\\programs\\python\\python36-32\\lib', 'C:\\', 'c:\\users\\mab0328\\appdata\\local\\programs\\python\\python36-32\\libs']
  NOT AVAILABLE

atlas_3_10_blas_info:
No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
customize MSVCCompiler
  libraries satlas not found in ['c:\\users\\mab0328\\appdata\\local\\programs\\python\\python36-32\\lib', 'C:\\', 'c:\\users\\mab0328\\appdata\\local\\programs\\python\\python36-32\\libs']
  NOT AVAILABLE

atlas_blas_threads_info:
Setting PTATLAS=ATLAS
No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
customize MSVCCompiler
  libraries ptf77blas,ptcblas,atlas not found in ['c:\\users\\mab0328\\appdata\\local\\programs\\python\\python36-32\\lib', 'C:\\', 'c:\\users\\mab0328\\appdata\\local\\programs\\python\\python36-32\\libs']
  NOT AVAILABLE

atlas_blas_info:
No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
customize MSVCCompiler
  libraries f77blas,cblas,atlas not found in ['c:\\users\\mab0328\\appdata\\local\\programs\\python\\python36-32\\lib', 'C:\\', 'c:\\users\\mab0328\\appdata\\local\\programs\\python\\python36-32\\libs']
  NOT AVAILABLE

blas_info:
No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
customize MSVCCompiler
  libraries blas not found in ['c:\\users\\mab0328\\appdata\\local\\programs\\python\\python36-32\\lib', 'C:\\', 'c:\\users\\mab0328\\appdata\\local\\programs\\python\\python36-32\\libs']
  NOT AVAILABLE

c:\users\mab0328\appdata\local\programs\python\python36-32\lib\site-packages\numpy\distutils\system_info.py:624: UserWarning:
    Blas (http://www.netlib.org/blas/) libraries not found.
    Directories to search for the libraries can be specified in the
    numpy/distutils/site.cfg file (section [blas]) or by setting
    the BLAS environment variable.
  self.calc_info()
blas_src_info:
  NOT AVAILABLE

c:\users\mab0328\appdata\local\programs\python\python36-32\lib\site-packages\numpy\distutils\system_info.py:624: UserWarning:
    Blas (http://www.netlib.org/blas/) sources not found.
    Directories to search for the sources can be specified in the
    numpy/distutils/site.cfg file (section [blas_src]) or by setting
    the BLAS_SRC environment variable.
  self.calc_info()
  NOT AVAILABLE

non-existing path in '': 'build\\temp.win32-3.6'
non-existing path in '': 'build\\temp.win32-3.6'
non-existing path in '': 'build\\temp.win32-3.6'
non-existing path in '': 'build\\temp.win32-3.6'
running install
---- CUSTOM INSTALL ----
running build
---- BUILDING ----
running config_cc
unifing config_cc, config, build_clib, build_ext, build commands --compiler options
running config_fc
unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options
running build_src
build_src
building library "SHTOOLS" sources
building extension "pyshtools._SHTOOLS" sources
f2py options: ['--quiet', '--quiet']
  adding 'build\src.win32-3.6\build\src.win32-3.6\src\fortranobject.c' to sources.
  adding 'build\src.win32-3.6\build\src.win32-3.6\src' to include_dirs.
  adding 'build\src.win32-3.6\src\_SHTOOLS-f2pywrappers.f' to sources.
building extension "pyshtools._constant" sources
f2py options: ['--quiet', '--quiet']
  adding 'build\src.win32-3.6\build\src.win32-3.6\pyshtools\fortranobject.c' to sources.
  adding 'build\src.win32-3.6\build\src.win32-3.6\pyshtools' to include_dirs.
  adding 'build\src.win32-3.6\pyshtools\_constant-f2pywrappers2.f90' to sources.
build_src: building npy-pkg config files
running build_py
creating build\lib.win32-3.6
creating build\lib.win32-3.6\pyshtools
copying pyshtools\make_docs.py -> build\lib.win32-3.6\pyshtools
copying pyshtools\__init__.py -> build\lib.win32-3.6\pyshtools
creating build\lib.win32-3.6\pyshtools\constant
copying pyshtools\constant\__init__.py -> build\lib.win32-3.6\pyshtools\constant
creating build\lib.win32-3.6\pyshtools\expand
copying pyshtools\expand\__init__.py -> build\lib.win32-3.6\pyshtools\expand
creating build\lib.win32-3.6\pyshtools\gravmag
copying pyshtools\gravmag\__init__.py -> build\lib.win32-3.6\pyshtools\gravmag
creating build\lib.win32-3.6\pyshtools\legendre
copying pyshtools\legendre\plm_index.py -> build\lib.win32-3.6\pyshtools\legendre
copying pyshtools\legendre\__init__.py -> build\lib.win32-3.6\pyshtools\legendre
creating build\lib.win32-3.6\pyshtools\rotate
copying pyshtools\rotate\__init__.py -> build\lib.win32-3.6\pyshtools\rotate
creating build\lib.win32-3.6\pyshtools\shclasses
copying pyshtools\shclasses\shcoeffsgrid.py -> build\lib.win32-3.6\pyshtools\shclasses
copying pyshtools\shclasses\shwindow.py -> build\lib.win32-3.6\pyshtools\shclasses
copying pyshtools\shclasses\__init__.py -> build\lib.win32-3.6\pyshtools\shclasses
creating build\lib.win32-3.6\pyshtools\shio
copying pyshtools\shio\icgem.py -> build\lib.win32-3.6\pyshtools\shio
copying pyshtools\shio\yilm_index_vector.py -> build\lib.win32-3.6\pyshtools\shio
copying pyshtools\shio\__init__.py -> build\lib.win32-3.6\pyshtools\shio
creating build\lib.win32-3.6\pyshtools\shtools
copying pyshtools\shtools\__init__.py -> build\lib.win32-3.6\pyshtools\shtools
creating build\lib.win32-3.6\pyshtools\spectralanalysis
copying pyshtools\spectralanalysis\cross_spectrum.py -> build\lib.win32-3.6\pyshtools\spectralanalysis
copying pyshtools\spectralanalysis\spectrum.py -> build\lib.win32-3.6\pyshtools\spectralanalysis
copying pyshtools\spectralanalysis\__init__.py -> build\lib.win32-3.6\pyshtools\spectralanalysis
creating build\lib.win32-3.6\pyshtools\utils
copying pyshtools\utils\datetime.py -> build\lib.win32-3.6\pyshtools\utils
copying pyshtools\utils\__init__.py -> build\lib.win32-3.6\pyshtools\utils
running build_clib
No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
customize MSVCCompiler
customize MSVCCompiler using build_clib
get_default_fcompiler: matching types: '['gnu', 'intelv', 'absoft', 'compaqv', 'intelev', 'gnu95', 'g95', 'intelvem', 'intelem', 'flang']'
customize GnuFCompiler
customize IntelVisualFCompiler
customize AbsoftFCompiler
customize CompaqVisualFCompiler
customize IntelItaniumVisualFCompiler
customize Gnu95FCompiler
customize Gnu95FCompiler
customize Gnu95FCompiler using build_clib
building 'SHTOOLS' library
creating build\temp.win32-3.6
compiling Fortran 90 module sources
Fortran f77 compiler: C:\Program Files\mingw-w64\x86_64-7.2.0-posix-seh-rt_v5-rev1\mingw64\bin\gfortran.exe -Wall -g -ffixed-form -fno-second-underscore -O3 -funroll-loops
Fortran f90 compiler: C:\Program Files\mingw-w64\x86_64-7.2.0-posix-seh-rt_v5-rev1\mingw64\bin\gfortran.exe -Wall -g -fno-second-underscore -O3 -funroll-loops
Fortran fix compiler: C:\Program Files\mingw-w64\x86_64-7.2.0-posix-seh-rt_v5-rev1\mingw64\bin\gfortran.exe -Wall -g -ffixed-form -fno-second-underscore -Wall -g -fno-second-underscore -O3 -funroll-loops
creating build\temp.win32-3.6\src
compile options: '-Ic:\users\mab0328\appdata\local\programs\python\python36-32\lib\site-packages\numpy\core\include -c'
extra options: '-Jbuild\temp.win32-3.6 -Ibuild\temp.win32-3.6'
gfortran.exe:f90: src\FFTW3.f95
gfortran.exe:f90: src\SHTOOLS.f95
compiling Fortran sources
Fortran f77 compiler: C:\Program Files\mingw-w64\x86_64-7.2.0-posix-seh-rt_v5-rev1\mingw64\bin\gfortran.exe -Wall -g -ffixed-form -fno-second-underscore -O3 -funroll-loops
Fortran f90 compiler: C:\Program Files\mingw-w64\x86_64-7.2.0-posix-seh-rt_v5-rev1\mingw64\bin\gfortran.exe -Wall -g -fno-second-underscore -O3 -funroll-loops
Fortran fix compiler: C:\Program Files\mingw-w64\x86_64-7.2.0-posix-seh-rt_v5-rev1\mingw64\bin\gfortran.exe -Wall -g -ffixed-form -fno-second-underscore -Wall -g -fno-second-underscore -O3 -funroll-loops
compile options: '-Ic:\users\mab0328\appdata\local\programs\python\python36-32\lib\site-packages\numpy\core\include -c'
extra options: '-Jbuild\temp.win32-3.6 -Ibuild\temp.win32-3.6'
gfortran.exe:f90: src\BAtoHilm.f95
gfortran.exe:f90: src\BAtoHilmRhoH.f95
gfortran.exe:f90: src\CilmMinus.f95
gfortran.exe:f90: src\CilmMinusRhoH.f95
gfortran.exe:f90: src\CilmPlus.f95
gfortran.exe:f90: src\CilmPlusRhoH.f95
gfortran.exe:f90: src\ComputeDG82.f95
gfortran.exe:f90: src\ComputeDm.f95
gfortran.exe:f90: src\ComputeDMap.f95
gfortran.exe:f90: src\Curve2Mask.f95
gfortran.exe:f90: src\DHaj.f95
gfortran.exe:f90: src\djpi2.f95
gfortran.exe:f90: src\DownContFilter.f95
gfortran.exe:f90: src\EigValSym.F95
gfortran.exe:f90: src\EigValVecSym.F95
gfortran.exe:f90: src\EigValVecSymTri.F95
gfortran.exe:f90: src\GLQGridCoord.f95
gfortran.exe:f90: src\MakeCircleCoord.f95
gfortran.exe:f90: src\MakeEllipseCoord.f95
gfortran.exe:f90: src\MakeGeoidGrid.f95
gfortran.exe:f90: src\MakeGravGradGridDH.F95
gfortran.exe:f90: src\MakeGravGridDH.F95
gfortran.exe:f90: src\MakeGrid2D.f95
gfortran.exe:f90: src\MakeGridDH.F95
gfortran.exe:f90: src\MakeGridDHC.F95
gfortran.exe:f90: src\MakeGridGLQ.F95
gfortran.exe:f90: src\MakeGridGLQC.F95
gfortran.exe:f90: src\MakeGridPoint.f95
gfortran.exe:f90: src\MakeGridPointC.f95
gfortran.exe:f90: src\MakeMagGridDH.F95
gfortran.exe:f90: src\NormalGravity.f95
gfortran.exe:f90: src\PlBar.f95
gfortran.exe:f90: src\PlBar_d1.f95
gfortran.exe:f90: src\PLegendre.f95
gfortran.exe:f90: src\PLegendreA.f95
gfortran.exe:f90: src\PLegendreA_d1.f95
gfortran.exe:f90: src\PLegendre_d1.f95
gfortran.exe:f90: src\PlmBar.f95
gfortran.exe:f90: src\PlmBar_d1.f95
gfortran.exe:f90: src\PlmIndex.f95
gfortran.exe:f90: src\PlmON.f95
gfortran.exe:f90: src\PlmON_d1.f95
gfortran.exe:f90: src\PlmSchmidt.f95
gfortran.exe:f90: src\PlmSchmidt_d1.f95
gfortran.exe:f90: src\PlON.f95
gfortran.exe:f90: src\PlON_d1.f95
gfortran.exe:f90: src\PlSchmidt.f95
gfortran.exe:f90: src\PlSchmidt_d1.f95
gfortran.exe:f90: src\PreGLQ.f95
gfortran.exe:f90: src\Random.f95
gfortran.exe:f90: src\SHAdmitCorr.f95
gfortran.exe:f90: src\SHBias.f95
gfortran.exe:f90: src\SHBiasAdmitCorr.f95
gfortran.exe:f90: src\SHBiasK.f95
gfortran.exe:f90: src\SHBiasKMask.f95
gfortran.exe:f90: src\SHCilmToVector.f95
gfortran.exe:f90: src\SHConfidence.f95
gfortran.exe:f90: src\SHConvertCoef.f95
gfortran.exe:f90: src\SHExpandDH.F95
gfortran.exe:f90: src\SHExpandDHC.F95
gfortran.exe:f90: src\SHExpandGLQ.F95
gfortran.exe:f90: src\SHExpandGLQC.F95
gfortran.exe:f90: src\SHExpandLSQ.F95
gfortran.exe:f90: src\SHFindLWin.f95
gfortran.exe:f90: src\SHGLQ.f95
gfortran.exe:f90: src\SHLocalizedAdmitCorr.f95
gfortran.exe:f90: src\SHMagPowerSpectra.f95
gfortran.exe:f90: src\SHMTCouplingMatrix.f95
gfortran.exe:f90: src\SHMTDebias.F95
gfortran.exe:f90: src\SHMTVarOpt.F95
gfortran.exe:f90: src\SHMultiply.f95
gfortran.exe:f90: src\SHMultiTaperCSE.f95
gfortran.exe:f90: src\SHMultiTaperMaskCSE.f95
gfortran.exe:f90: src\SHMultiTaperMaskSE.f95
gfortran.exe:f90: src\SHMultiTaperSE.f95
gfortran.exe:f90: src\SHPowerSpectra.f95
gfortran.exe:f90: src\SHPowerSpectraC.f95
gfortran.exe:f90: src\SHRead.f95
gfortran.exe:f90: src\SHRead2.f95
gfortran.exe:f90: src\SHReadJPL.f95
gfortran.exe:f90: src\SHReturnTapers.f95
gfortran.exe:f90: src\SHReturnTapersM.f95
gfortran.exe:f90: src\SHReturnTapersMap.f95
gfortran.exe:f90: src\SHRotateCoef.f95
gfortran.exe:f90: src\SHRotateRealCoef.f95
gfortran.exe:f90: src\SHSjkPG.f95
gfortran.exe:f90: src\SphericalCapCoef.f95
gfortran.exe:f90: src\Wigner3j.f95
gfortran.exe:f90: src\YilmIndexVector.f95
running build_ext
No module named 'numpy.distutils._msvccompiler' in numpy.distutils; trying from distutils
customize MSVCCompiler
customize MSVCCompiler using build_ext
updating extension 'pyshtools._SHTOOLS' libraries from ['SHTOOLS'] to ['SHTOOLS', 'SHTOOLS', 'SHTOOLS']
updating extension 'pyshtools._constant' libraries from ['SHTOOLS'] to ['SHTOOLS', 'SHTOOLS', 'SHTOOLS']
get_default_fcompiler: matching types: '['gnu', 'intelv', 'absoft', 'compaqv', 'intelev', 'gnu95', 'g95', 'intelvem', 'intelem', 'flang']'
customize GnuFCompiler
customize IntelVisualFCompiler
customize AbsoftFCompiler
customize CompaqVisualFCompiler
customize IntelItaniumVisualFCompiler
customize Gnu95FCompiler
customize Gnu95FCompiler
customize Gnu95FCompiler using build_ext
get_default_fcompiler: matching types: '['gnu', 'intelv', 'absoft', 'compaqv', 'intelev', 'gnu95', 'g95', 'intelvem', 'intelem', 'flang']'
customize GnuFCompiler
customize IntelVisualFCompiler
customize AbsoftFCompiler
customize CompaqVisualFCompiler
customize IntelItaniumVisualFCompiler
customize Gnu95FCompiler
customize Gnu95FCompiler
customize Gnu95FCompiler using build_ext
building 'pyshtools._SHTOOLS' extension
compiling C sources
creating build\temp.win32-3.6\Release\build
creating build\temp.win32-3.6\Release\build\src.win32-3.6
creating build\temp.win32-3.6\Release\build\src.win32-3.6\src
creating build\temp.win32-3.6\Release\build\src.win32-3.6\build
creating build\temp.win32-3.6\Release\build\src.win32-3.6\build\src.win32-3.6
creating build\temp.win32-3.6\Release\build\src.win32-3.6\build\src.win32-3.6\src
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Ibuild\temp.win32-3.6 -Ibuild\src.win32-3.6\build\src.win32-3.6\src -Ic:\users\mab0328\appdata\local\programs\python\python36-32\lib\site-packages\numpy\core\include -Ic:\users\mab0328\appdata\local\programs\python\python36-32\include -Ic:\users\mab0328\appdata\local\programs\python\python36-32\include -I"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" -I"C:\Program Files (x86)\Windows Kits\8.1\include\shared" -I"C:\Program Files (x86)\Windows Kits\8.1\include\um" -I"C:\Program Files (x86)\Windows Kits\8.1\include\winrt" -I"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" -I"C:\Program Files (x86)\Windows Kits\8.1\include\shared" -I"C:\Program Files (x86)\Windows Kits\8.1\include\um" -I"C:\Program Files (x86)\Windows Kits\8.1\include\winrt" /Tcbuild\src.win32-3.6\src\_SHTOOLSmodule.c /Fobuild\temp.win32-3.6\Release\build\src.win32-3.6\src\_SHTOOLSmodule.obj -m64 -fPIC -O3 -ffast-math
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Ibuild\temp.win32-3.6 -Ibuild\src.win32-3.6\build\src.win32-3.6\src -Ic:\users\mab0328\appdata\local\programs\python\python36-32\lib\site-packages\numpy\core\include -Ic:\users\mab0328\appdata\local\programs\python\python36-32\include -Ic:\users\mab0328\appdata\local\programs\python\python36-32\include -I"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" -I"C:\Program Files (x86)\Windows Kits\8.1\include\shared" -I"C:\Program Files (x86)\Windows Kits\8.1\include\um" -I"C:\Program Files (x86)\Windows Kits\8.1\include\winrt" -I"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" -I"C:\Program Files (x86)\Windows Kits\8.1\include\shared" -I"C:\Program Files (x86)\Windows Kits\8.1\include\um" -I"C:\Program Files (x86)\Windows Kits\8.1\include\winrt" /Tcbuild\src.win32-3.6\build\src.win32-3.6\src\fortranobject.c /Fobuild\temp.win32-3.6\Release\build\src.win32-3.6\build\src.win32-3.6\src\fortranobject.obj -m64 -fPIC -O3 -ffast-math
compiling Fortran sources
Fortran f77 compiler: C:\Program Files\mingw-w64\x86_64-7.2.0-posix-seh-rt_v5-rev1\mingw64\bin\gfortran.exe -Wall -g -ffixed-form -fno-second-underscore -O3 -funroll-loops
Fortran f90 compiler: C:\Program Files\mingw-w64\x86_64-7.2.0-posix-seh-rt_v5-rev1\mingw64\bin\gfortran.exe -Wall -g -fno-second-underscore -O3 -funroll-loops
Fortran fix compiler: C:\Program Files\mingw-w64\x86_64-7.2.0-posix-seh-rt_v5-rev1\mingw64\bin\gfortran.exe -Wall -g -ffixed-form -fno-second-underscore -Wall -g -fno-second-underscore -O3 -funroll-loops
creating build\temp.win32-3.6\Release\src
compile options: '-Ibuild\temp.win32-3.6 -Ibuild\src.win32-3.6\build\src.win32-3.6\src -Ic:\users\mab0328\appdata\local\programs\python\python36-32\lib\site-packages\numpy\core\include -Ic:\users\mab0328\appdata\local\programs\python\python36-32\include -Ic:\users\mab0328\appdata\local\programs\python\python36-32\include -c'
gfortran.exe:f90: src\PythonWrapper.f95
gfortran.exe:f77: build\src.win32-3.6\src\_SHTOOLS-f2pywrappers.f
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Users\mab0328\AppData\Local\Temp\pip-install-9fycvvf0\pyshtools\setup.py", line 292, in <module>
    setup(**metadata)
  File "c:\users\mab0328\appdata\local\programs\python\python36-32\lib\site-packages\numpy\distutils\core.py", line 169, in setup
    return old_setup(**new_attr)
  File "c:\users\mab0328\appdata\local\programs\python\python36-32\lib\distutils\core.py", line 148, in setup
    dist.run_commands()
  File "c:\users\mab0328\appdata\local\programs\python\python36-32\lib\distutils\dist.py", line 955, in run_commands
    self.run_command(cmd)
  File "c:\users\mab0328\appdata\local\programs\python\python36-32\lib\distutils\dist.py", line 974, in run_command
    cmd_obj.run()
  File "C:\Users\mab0328\AppData\Local\Temp\pip-install-9fycvvf0\pyshtools\setup.py", line 127, in run
    _install.run(self)
  File "c:\users\mab0328\appdata\local\programs\python\python36-32\lib\site-packages\numpy\distutils\command\install.py", line 62, in run
    r = self.setuptools_run()
  File "c:\users\mab0328\appdata\local\programs\python\python36-32\lib\site-packages\numpy\distutils\command\install.py", line 36, in setuptools_run
    return distutils_install.run(self)
  File "c:\users\mab0328\appdata\local\programs\python\python36-32\lib\distutils\command\install.py", line 545, in run
    self.run_command('build')
  File "c:\users\mab0328\appdata\local\programs\python\python36-32\lib\distutils\cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "c:\users\mab0328\appdata\local\programs\python\python36-32\lib\distutils\dist.py", line 974, in run_command
    cmd_obj.run()
  File "C:\Users\mab0328\AppData\Local\Temp\pip-install-9fycvvf0\pyshtools\setup.py", line 105, in run
    _build.run(self)
  File "c:\users\mab0328\appdata\local\programs\python\python36-32\lib\site-packages\numpy\distutils\command\build.py", line 47, in run
    old_build.run(self)
  File "c:\users\mab0328\appdata\local\programs\python\python36-32\lib\distutils\command\build.py", line 135, in run
    self.run_command(cmd_name)
  File "c:\users\mab0328\appdata\local\programs\python\python36-32\lib\distutils\cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "c:\users\mab0328\appdata\local\programs\python\python36-32\lib\distutils\dist.py", line 974, in run_command
    cmd_obj.run()
  File "c:\users\mab0328\appdata\local\programs\python\python36-32\lib\site-packages\numpy\distutils\command\build_ext.py", line 262, in run
    self.build_extensions()
  File "c:\users\mab0328\appdata\local\programs\python\python36-32\lib\distutils\command\build_ext.py", line 448, in build_extensions
    self._build_extensions_serial()
  File "c:\users\mab0328\appdata\local\programs\python\python36-32\lib\distutils\command\build_ext.py", line 473, in _build_extensions_serial
    self.build_extension(ext)
  File "c:\users\mab0328\appdata\local\programs\python\python36-32\lib\site-packages\numpy\distutils\command\build_ext.py", line 458, in build_extension
    unlinkable_fobjects)
  File "c:\users\mab0328\appdata\local\programs\python\python36-32\lib\site-packages\numpy\distutils\command\build_ext.py", line 492, in _process_unlinkable_fobjects
    libraries.remove(lib)
ValueError: list.remove(x): x not in list

----------------------------------------

Command "c:\users\mab0328\appdata\local\programs\python\python36-32\python.exe -u -c "import setuptools, tokenize;file='C:\Users\mab0328\AppData\Local\Temp\pip-install-9fycvvf0\pyshtools\setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record C:\Users\mab0328\AppData\Local\Temp\pip-record-phy1cfc5\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in C:\Users\mab0328\AppData\Local\Temp\pip-install-9fycvvf0\pyshtools\

Weird normalization conversion in _to_array function at shcoeffsgrid.py

Hi,

It seems all the normalization conversions in _to_array function are reversed.
Am I misunderstanding the function's purpose?

The SH coeff can be compute by:

And if we scale Y_lm(w) by X, the SH coeff will be scaled by X too:

Take normalization '4pi' to 'ortho' for example, by the definition in:
https://shtools.oca.eu/shtools/real-spherical-harmonics.html#schmidt-semi-normalized

The X will be 1/(4*pi)^0.5, and the output SH coeff should been scaled by 1/(4*pi)^0.5 too.

But in shcoeffsgrid.py line 1358:

elif self.normalization == '4pi' and output_normalization == 'ortho':
            coeffs *= _np.sqrt(4.0 * _np.pi)

it scale (4*pi)^0.5 !!
If I am right, then all of the normalization conversions have the same problem.

problem with installation on kubuntu 14.04 32 bit

Hello. I try to install SHTOOLS using:
pip3 install pyshtools
but I have error:
/usr/include/python3.4m/pyconfig.h:3:52: fatal error: x86_64-linux-gnu/python3.4m/pyconfig.h: No such file or folder
I successfully executed the following commands:
sudo apt-get install libpython3-dev
sudo apt-get install libblas-dev liblapack-dev g++ gfortran libfftw3-dev tcsh
and tried again but nothing changed. The result from /root/.pip/pip.log:


/usr/bin/pip3 run on Mon Oct 31 23:51:10 2016
Downloading/unpacking pyshtools
Getting page https://pypi.python.org/simple/pyshtools/
URLs to search for versions for pyshtools:

  • https://pypi.python.org/simple/pyshtools/
    Analyzing links from page https://pypi.python.org/simple/pyshtools/
    Found link https://pypi.python.org/packages/9c/e5/7fe23d6f7103cf868e8c859621d99a2f8bb837d418d0f4a106c2aa6450a4/pyshtools-3.4.tar.gz#md5=93fa41094bea6ccc7476b1da38d6c4ef (from https://pypi.python.org/simple/pyshtools/), version: 3.4
    Downloading from URL https://pypi.python.org/packages/9c/e5/7fe23d6f7103cf868e8c859621d99a2f8bb837d418d0f4a106c2aa6450a4/pyshtools-3.4.tar.gz#md5=93fa41094bea6ccc7476b1da38d6c4ef (from https://pypi.python.org/simple/pyshtools/)
    Running setup.py (path:/tmp/pip_build_root/pyshtools/setup.py) egg_info for package pyshtools
    no pandoc installed. Careful, pypi description will not be formatted correctly.
    INSTALLING SHTOOLS 3.4
    customize Gnu95FCompiler
    Found executable /usr/bin/gfortran
    customize Gnu95FCompiler
    searching SHTOOLS in: build/temp.linux-i686-3.4
    non-existing path in '': 'build/temp.linux-i686-3.4'
    non-existing path in '': 'build/temp.linux-i686-3.4'
    running egg_info
    running build_src
    build_src
    building library "SHTOOLS" sources
    building extension "pyshtools._SHTOOLS" sources
    creating build
    creating build/src.linux-i686-3.4
    creating build/src.linux-i686-3.4/src
    f2py options: ['--quiet', '--quiet']
    f2py: src/pyshtools.pyf
    adding 'build/src.linux-i686-3.4/fortranobject.c' to sources.
    adding 'build/src.linux-i686-3.4' to include_dirs.
    copying /usr/local/lib/python3.4/dist-packages/numpy/f2py/src/fortranobject.c -> build/src.linux-i686-3.4
    copying /usr/local/lib/python3.4/dist-packages/numpy/f2py/src/fortranobject.h -> build/src.linux-i686-3.4
    adding 'build/src.linux-i686-3.4/src/_SHTOOLS-f2pywrappers.f' to sources.
    building extension "pyshtools._constant" sources
    f2py options: ['--quiet']
    f2py:> build/src.linux-i686-3.4/pyshtools/_constantmodule.c
    creating build/src.linux-i686-3.4/pyshtools
    adding 'build/src.linux-i686-3.4/fortranobject.c' to sources.
    adding 'build/src.linux-i686-3.4' to include_dirs.
    adding 'build/src.linux-i686-3.4/pyshtools/_constant-f2pywrappers2.f90' to sources.
    build_src: building npy-pkg config files
    creating pip-egg-info/pyshtools.egg-info
    writing pip-egg-info/pyshtools.egg-info/PKG-INFO
    writing dependency_links to pip-egg-info/pyshtools.egg-info/dependency_links.txt
    writing top-level names to pip-egg-info/pyshtools.egg-info/top_level.txt
    writing manifest file 'pip-egg-info/pyshtools.egg-info/SOURCES.txt'
    warning: manifest_maker: standard file '-c' not found

    reading manifest file 'pip-egg-info/pyshtools.egg-info/SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    writing manifest file 'pip-egg-info/pyshtools.egg-info/SOURCES.txt'
    Source in /tmp/pip_build_root/pyshtools has version 3.4, which satisfies requirement pyshtools
    Installing collected packages: pyshtools
    Running setup.py install for pyshtools
    Running command /usr/bin/python3 -c "import setuptools, tokenize;file='/tmp/pip_build_root/pyshtools/setup.py';exec(compile(getattr(tokenize, 'open', open)(file).read().replace('\r\n', '\n'), file, 'exec'))" install --record /tmp/pip-dr89fzf4-record/install-record.txt --single-version-externally-managed --compile
    no pandoc installed. Careful, pypi description will not be formatted correctly.
    INSTALLING SHTOOLS 3.4
    customize Gnu95FCompiler
    Found executable /usr/bin/gfortran
    customize Gnu95FCompiler
    searching SHTOOLS in: build/temp.linux-i686-3.4
    non-existing path in '': 'build/temp.linux-i686-3.4'
    non-existing path in '': 'build/temp.linux-i686-3.4'
    running install
    ---- CUSTOM INSTALL ----
    running build
    ---- BUILDING ----
    running config_cc
    unifing config_cc, config, build_clib, build_ext, build commands --compiler options
    running config_fc
    unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options
    running build_src
    build_src
    building library "SHTOOLS" sources
    building extension "pyshtools._SHTOOLS" sources
    f2py options: ['--quiet', '--quiet']
    adding 'build/src.linux-i686-3.4/fortranobject.c' to sources.
    adding 'build/src.linux-i686-3.4' to include_dirs.
    adding 'build/src.linux-i686-3.4/src/_SHTOOLS-f2pywrappers.f' to sources.
    building extension "pyshtools._constant" sources
    f2py options: ['--quiet']
    adding 'build/src.linux-i686-3.4/fortranobject.c' to sources.
    adding 'build/src.linux-i686-3.4' to include_dirs.
    adding 'build/src.linux-i686-3.4/pyshtools/_constant-f2pywrappers2.f90' to sources.
    build_src: building npy-pkg config files
    running build_py
    creating build/lib.linux-i686-3.4
    creating build/lib.linux-i686-3.4/pyshtools
    copying pyshtools/shio.py -> build/lib.linux-i686-3.4/pyshtools
    copying pyshtools/spectralanalysis.py -> build/lib.linux-i686-3.4/pyshtools
    copying pyshtools/expand.py -> build/lib.linux-i686-3.4/pyshtools
    copying pyshtools/localizedspectralanalysis.py -> build/lib.linux-i686-3.4/pyshtools
    copying pyshtools/init.py -> build/lib.linux-i686-3.4/pyshtools
    copying pyshtools/constant.py -> build/lib.linux-i686-3.4/pyshtools
    copying pyshtools/shclasses.py -> build/lib.linux-i686-3.4/pyshtools
    copying pyshtools/legendre.py -> build/lib.linux-i686-3.4/pyshtools
    copying pyshtools/make_docs.py -> build/lib.linux-i686-3.4/pyshtools
    copying pyshtools/rotate.py -> build/lib.linux-i686-3.4/pyshtools
    copying pyshtools/gravmag.py -> build/lib.linux-i686-3.4/pyshtools
    copying pyshtools/other.py -> build/lib.linux-i686-3.4/pyshtools
    running build_clib
    customize UnixCCompiler
    customize UnixCCompiler using build_clib
    customize Gnu95FCompiler
    customize Gnu95FCompiler
    customize Gnu95FCompiler using build_clib
    building 'SHTOOLS' library
    creating build/temp.linux-i686-3.4
    compiling Fortran 90 module sources
    Fortran f77 compiler: /usr/bin/gfortran -Wall -g -ffixed-form -fno-second-underscore -fPIC -O3 -funroll-loops
    Fortran f90 compiler: /usr/bin/gfortran -Wall -g -fno-second-underscore -fPIC -O3 -funroll-loops
    Fortran fix compiler: /usr/bin/gfortran -Wall -g -ffixed-form -fno-second-underscore -Wall -g -fno-second-underscore -fPIC -O3 -funroll-loops
    creating build/temp.linux-i686-3.4/src
    compile options: '-I/usr/local/lib/python3.4/dist-packages/numpy/core/include -c'
    extra options: '-Jbuild/temp.linux-i686-3.4 -Ibuild/temp.linux-i686-3.4'
    gfortran:f90: src/FFTW3.f95
    gfortran:f90: src/SHTOOLS.f95
    compiling Fortran sources
    Fortran f77 compiler: /usr/bin/gfortran -Wall -g -ffixed-form -fno-second-underscore -fPIC -O3 -funroll-loops
    Fortran f90 compiler: /usr/bin/gfortran -Wall -g -fno-second-underscore -fPIC -O3 -funroll-loops
    Fortran fix compiler: /usr/bin/gfortran -Wall -g -ffixed-form -fno-second-underscore -Wall -g -fno-second-underscore -fPIC -O3 -funroll-loops
    compile options: '-I/usr/local/lib/python3.4/dist-packages/numpy/core/include -c'
    extra options: '-Jbuild/temp.linux-i686-3.4 -Ibuild/temp.linux-i686-3.4'
    gfortran:f90: src/SHMagPowerSpectra.f95
    gfortran:f90: src/PlBar_d1.f95
    gfortran:f90: src/SHGLQ.f95
    gfortran:f90: src/CilmMinusRhoH.f95
    src/CilmMinusRhoH.f95: In function ‘cilmminusrhoh’:
    src/CilmMinusRhoH.f95:265:0: warning: ‘cilmn.dim[2].ubound’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    cilmn = 0.0d0
    ^
    src/CilmMinusRhoH.f95:75:0: warning: ‘cilmn.dim[2].stride’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    real8, allocatable :: cilmn(:, :, :), grid(:, :)
    ^
    src/CilmMinusRhoH.f95:265:0: warning: ‘cilmn.dim[1].ubound’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    cilmn = 0.0d0
    ^
    src/CilmMinusRhoH.f95:75:0: warning: ‘cilmn.offset’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    real
    8, allocatable :: cilmn(:, :, :), grid(:, :)
    ^
    gfortran:f90: src/PlmBar.f95
    gfortran:f90: src/MakeGridGLQC.F95
    gfortran:f90: src/SHBiasAdmitCorr.f95
    gfortran:f90: src/PlSchmidt_d1.f95
    gfortran:f90: src/Random.f95
    gfortran:f90: src/SHRotateRealCoef.f95
    gfortran:f90: src/MakeGridDHC.F95
    gfortran:f90: src/PlmIndex.f95
    gfortran:f90: src/SHMultiply.f95
    gfortran:f90: src/SHReadJPL.f95
    gfortran:f90: src/PlmSchmidt_d1.f95
    gfortran:f90: src/MakeCircleCoord.f95
    gfortran:f90: src/EigValVecSym.F95
    src/EigValVecSym.F95: In function ‘eigvalvecsym’:
    src/EigValVecSym.F95:63:0: warning: ‘a.dim[1].stride’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    real8, allocatable :: a(:,:), z(:,:)
    ^
    src/EigValVecSym.F95:63:0: warning: ‘a.offset’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    gfortran:f90: src/ComputeDm.f95
    gfortran:f90: src/MakeMagGridDH.F95
    src/MakeMagGridDH.F95: In function ‘makemaggriddh’:
    src/MakeMagGridDH.F95:716:0: warning: ‘coefu0’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    if (calcu) coefu0 = coefu0 + cilm(1,2,1) * pm1 * prefactor(1)
    ^
    src/MakeMagGridDH.F95:396:0: warning: ‘coefus0’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    coefus0 = coefus0 - tempr ! fsymsign = -1
    ^
    gfortran:f90: src/SHSjkPG.f95
    gfortran:f90: src/MakeEllipseCoord.f95
    gfortran:f90: src/EigValVecSymTri.F95
    gfortran:f90: src/SHMultiTaperMaskCSE.f95
    gfortran:f90: src/SHMTCouplingMatrix.f95
    gfortran:f90: src/SHRead2.f95
    src/SHRead2.f95: In function ‘shread2’:
    src/SHRead2.f95:313:0: warning: ‘maxl_dot’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    if(l > maxl_dot) then
    ^
    src/SHRead2.f95:285:0: warning: ‘maxl_error’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    if (l > maxl_error) then
    ^
    gfortran:f90: src/SHBiasK.f95
    gfortran:f90: src/SHBiasKMask.f95
    gfortran:f90: src/SHPowerSpectra.f95
    gfortran:f90: src/SHRead.f95
    src/SHRead.f95: In function ‘shread’:
    src/SHRead.f95:125:0: warning: ‘headlen’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    read(fu,
    , iostat=stat) (header(l), l=1, headlen)
    ^
    gfortran:f90: src/PlmSchmidt.f95
    gfortran:f90: src/SHReturnTapers.f95
    src/SHReturnTapers.f95: In function ‘shreturntapers’:
    src/SHReturnTapers.f95:101:0: warning: ‘m_unordered.dim[0].ubound’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    m_unordered = 0
    ^
    src/SHReturnTapers.f95:100:0: warning: ‘eval_unordered.dim[0].ubound’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    eval_unordered = 0.0d0
    ^
    src/SHReturnTapers.f95:114:0: warning: ‘dllmtri.dim[1].stride’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    call ComputeDG82(dllmtri(1:n,1:n), lmax, m, theta0)
    ^
    src/SHReturnTapers.f95:98:0: warning: ‘tapers_unordered.dim[1].ubound’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    tapers_unordered = 0.0d0
    ^
    src/SHReturnTapers.f95:50:0: warning: ‘tapers_unordered.dim[1].stride’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    real8, allocatable :: eval(:), evec(:, :), tapers_unordered(:,:), &
    ^
    src/SHReturnTapers.f95:98:0: warning: ‘tapers_unordered.dim[0].ubound’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    tapers_unordered = 0.0d0
    ^
    src/SHReturnTapers.f95:50:0: warning: ‘tapers_unordered.offset’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    real
    8, allocatable :: eval(:), evec(:, :), tapers_unordered(:,:), &
    ^
    src/SHReturnTapers.f95:50:0: warning: ‘evec.dim[1].stride’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    src/SHReturnTapers.f95:50:0: warning: ‘evec.offset’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    gfortran:f90: src/NormalGravity.f95
    gfortran:f90: src/SHExpandGLQ.F95
    gfortran:f90: src/CilmPlusRhoH.f95
    src/CilmPlusRhoH.f95: In function ‘cilmplusrhoh’:
    src/CilmPlusRhoH.f95:265:0: warning: ‘cilmn.dim[2].ubound’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    cilmn = 0.0d0
    ^
    src/CilmPlusRhoH.f95:75:0: warning: ‘cilmn.dim[2].stride’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    real8, allocatable :: cilmn(:,:,:), grid(:,:)
    ^
    src/CilmPlusRhoH.f95:265:0: warning: ‘cilmn.dim[1].ubound’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    cilmn = 0.0d0
    ^
    src/CilmPlusRhoH.f95:75:0: warning: ‘cilmn.offset’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    real
    8, allocatable :: cilmn(:,:,:), grid(:,:)
    ^
    gfortran:f90: src/MakeGeoidGrid.f95
    src/MakeGeoidGrid.f95: In function ‘makegeoidgrid’:
    src/MakeGeoidGrid.f95:439:0: warning: ‘lat’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    (1.0d0 + tan(latpi/180.0d0)**2 / (1.0d0 - f)**2 )
    ^
    src/MakeGeoidGrid.f95:201:0: warning: ‘cilm1.dim[2].stride’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    cilm1(1,1,1) = 1.0d0 ! Make sure that the degree-0 term is included
    ^
    src/MakeGeoidGrid.f95:201:0: warning: ‘cilm1.offset’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    gfortran:f90: src/BAtoHilmRhoH.f95
    gfortran:f90: src/CilmPlus.f95
    src/CilmPlus.f95: In function ‘cilmplus’:
    src/CilmPlus.f95:243:0: warning: ‘cilmn.dim[2].ubound’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    cilmn = 0.0d0
    ^
    src/CilmPlus.f95:70:0: warning: ‘cilmn.dim[2].stride’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    real
    8, allocatable :: cilmn(:, :, :), grid(:, :)
    ^
    src/CilmPlus.f95:243:0: warning: ‘cilmn.dim[1].ubound’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    cilmn = 0.0d0
    ^
    src/CilmPlus.f95:70:0: warning: ‘cilmn.offset’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    real8, allocatable :: cilmn(:, :, :), grid(:, :)
    ^
    gfortran:f90: src/SHExpandGLQC.F95
    gfortran:f90: src/BAtoHilm.f95
    gfortran:f90: src/SHMultiTaperMaskSE.f95
    gfortran:f90: src/SHRotateCoef.f95
    gfortran:f90: src/YilmIndexVector.f95
    gfortran:f90: src/MakeGridDH.F95
    gfortran:f90: src/CilmMinus.f95
    src/CilmMinus.f95: In function ‘cilmminus’:
    src/CilmMinus.f95:237:0: warning: ‘cilmn.dim[2].ubound’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    cilmn = 0.0d0
    ^
    src/CilmMinus.f95:70:0: warning: ‘cilmn.dim[2].stride’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    real
    8, allocatable :: cilmn(:, :, :), grid(:, :)
    ^
    src/CilmMinus.f95:237:0: warning: ‘cilmn.dim[1].ubound’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    cilmn = 0.0d0
    ^
    src/CilmMinus.f95:70:0: warning: ‘cilmn.offset’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    real8, allocatable :: cilmn(:, :, :), grid(:, :)
    ^
    gfortran:f90: src/PlON.f95
    gfortran:f90: src/SHLocalizedAdmitCorr.f95
    gfortran:f90: src/SHAdmitCorr.f95
    gfortran:f90: src/Curve2Mask.f95
    gfortran:f90: src/SHConvertCoef.f95
    gfortran:f90: src/SHMTDebias.F95
    src/SHMTDebias.F95: In function ‘shmtdebias’:
    src/SHMTDebias.F95:31:0: warning: ‘uu.dim[1].stride’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    real
    8, allocatable :: work(:), Mmt(:,:), a(:,:), vt(:,:), uu(:,:)
    ^
    src/SHMTDebias.F95:31:0: warning: ‘uu.offset’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    src/SHMTDebias.F95:31:0: warning: ‘vt.dim[1].stride’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    src/SHMTDebias.F95:31:0: warning: ‘vt.offset’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    src/SHMTDebias.F95:155:0: warning: ‘a.dim[1].ubound’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    a = 0.0d0
    ^
    src/SHMTDebias.F95:31:0: warning: ‘a.dim[1].stride’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    real8, allocatable :: work(:), Mmt(:,:), a(:,:), vt(:,:), uu(:,:)
    ^
    src/SHMTDebias.F95:155:0: warning: ‘a.dim[0].ubound’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    a = 0.0d0
    ^
    src/SHMTDebias.F95:31:0: warning: ‘a.offset’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    real
    8, allocatable :: work(:), Mmt(:,:), a(:,:), vt(:,:), uu(:,:)
    ^
    src/SHMTDebias.F95:31:0: warning: ‘mmt.dim[1].ubound’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    src/SHMTDebias.F95:31:0: warning: ‘mmt.dim[1].stride’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    src/SHMTDebias.F95:31:0: warning: ‘mmt.offset’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    gfortran:f90: src/SphericalCapCoef.f95
    gfortran:f90: src/PlmON_d1.f95
    gfortran:f90: src/MakeGridPoint.f95
    src/MakeGridPoint.f95:71.21:

             phase = -1.0d0
                     1
    

    Warning: Possible change of value in conversion from REAL(8) to INTEGER(4) at (1)
    src/MakeGridPoint.f95:73.24:

                phase = 1.0d0
                        1
    

    Warning: Possible change of value in conversion from REAL(8) to INTEGER(4) at (1)
    src/MakeGridPoint.f95:82.20:

            phase = dble(CSPHASE_DEFAULT)
                    1
    

    Warning: Possible change of value in conversion from REAL(8) to INTEGER(4) at (1)
    gfortran:f90: src/SHExpandDH.F95
    gfortran:f90: src/SHReturnTapersMap.f95
    gfortran:f90: src/ComputeDMap.f95
    src/ComputeDMap.f95: In function ‘computedmap’:
    src/ComputeDMap.f95:249:0: warning: ‘colat’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    call plmbar(plm, -1, cos(colat))
    ^
    gfortran:f90: src/MakeGravGridDH.F95
    src/MakeGravGridDH.F95: In function ‘makegravgriddh’:
    src/MakeGravGridDH.F95:764:0: warning: ‘coefu0’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    if (calcu) coefu0 = coefu0 + cilm(1,1,1) * pm2
    ^
    src/MakeGravGridDH.F95:444:0: warning: ‘coefus0’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    coefus0 = coefus0 - tempr ! fsymsign = -1
    ^
    gfortran:f90: src/PlmON.f95
    gfortran:f90: src/PlON_d1.f95
    gfortran:f90: src/djpi2.f95
    gfortran:f90: src/PLegendreA.f95
    gfortran:f90: src/SHMultiTaperCSE.f95
    gfortran:f90: src/SHMultiTaperSE.f95
    gfortran:f90: src/ComputeDG82.f95
    gfortran:f90: src/MakeGrid2D.f95
    src/MakeGrid2D.f95: In function ‘makegrid2d’:
    src/MakeGrid2D.f95:77:0: warning: ‘cilm2.dim[2].stride’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    real8, allocatable :: pl(:), cosm(:, :), sinm(:, :), cilm2(:,:, :)
    ^
    src/MakeGrid2D.f95:77:0: warning: ‘cilm2.offset’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    src/MakeGrid2D.f95:77:0: warning: ‘sinm.dim[1].stride’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    src/MakeGrid2D.f95:77:0: warning: ‘sinm.offset’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    src/MakeGrid2D.f95:77:0: warning: ‘cosm.dim[1].stride’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    src/MakeGrid2D.f95:77:0: warning: ‘cosm.offset’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    gfortran:f90: src/SHExpandDHC.F95
    gfortran:f90: src/SHFindLWin.f95
    src/SHFindLWin.f95: In function ‘shfindlwin’:
    src/SHFindLWin.f95:69:0: warning: ‘eval.dim[0].ubound’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    allocate (eval(l+1), stat = astat(2)) ; eval = 0.0d0
    ^
    gfortran:f90: src/SHCilmToVector.f95
    gfortran:f90: src/PreGLQ.f95
    gfortran:f90: src/DownContFilter.f95
    gfortran:f90: src/EigValSym.F95
    src/EigValSym.F95: In function ‘eigvalsym’:
    src/EigValSym.F95:51:0: warning: ‘a.dim[1].stride’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    real
    8, allocatable :: a(:,:), z(:,:)
    ^
    src/EigValSym.F95:51:0: warning: ‘a.offset’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    gfortran:f90: src/SHExpandLSQ.F95
    src/SHExpandLSQ.F95: In function ‘shexpandlsq’:
    src/SHExpandLSQ.F95:146:0: warning: ‘gg.dim[1].ubound’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    gg = 0.0d0
    ^
    src/SHExpandLSQ.F95:66:0: warning: ‘gg.dim[1].stride’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    real8, allocatable :: mm(:), gg(:, :), p(:), work(:)
    ^
    src/SHExpandLSQ.F95:146:0: warning: ‘gg.dim[0].ubound’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    gg = 0.0d0
    ^
    src/SHExpandLSQ.F95:66:0: warning: ‘gg.offset’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    real
    8, allocatable :: mm(:), gg(:, :), p(:), work(:)
    ^
    src/SHExpandLSQ.F95:145:0: warning: ‘mm.dim[0].ubound’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    mm = 0.0d0
    ^
    gfortran:f90: src/SHBias.f95
    gfortran:f90: src/PLegendre.f95
    gfortran:f90: src/GLQGridCoord.f95
    gfortran:f90: src/PlBar.f95
    gfortran:f90: src/DHaj.f95
    gfortran:f90: src/PLegendreA_d1.f95
    gfortran:f90: src/MakeGridGLQ.F95
    gfortran:f90: src/PlmBar_d1.f95
    gfortran:f90: src/PlSchmidt.f95
    gfortran:f90: src/SHConfidence.f95
    gfortran:f90: src/Wigner3j.f95
    gfortran:f90: src/MakeGravGradGridDH.F95
    gfortran:f90: src/SHReturnTapersM.f95
    src/SHReturnTapersM.f95: In function ‘shreturntapersm’:
    src/SHReturnTapersM.f95:112:0: warning: ‘dllmtri.dim[1].stride’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    call ComputeDG82(dllmtri(1:n,1:n), lmax, m, theta0)
    ^
    src/SHReturnTapersM.f95:101:0: warning: ‘evec.dim[1].ubound’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    evec = 0.0d0
    ^
    src/SHReturnTapersM.f95:58:0: warning: ‘evec.dim[1].stride’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    real*8, allocatable :: evec(:,:), dllmtri(:,:), p(:)
    ^
    src/SHReturnTapersM.f95:58:0: warning: ‘evec.dim[0].ubound’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    src/SHReturnTapersM.f95:58:0: warning: ‘evec.offset’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    gfortran:f90: src/SHPowerSpectraC.f95
    gfortran:f90: src/SHMTVarOpt.F95
    i686-linux-gnu-gcc-ar: adding 50 object files to build/temp.linux-i686-3.4/libSHTOOLS.a
    i686-linux-gnu-gcc-ar: adding 39 object files to build/temp.linux-i686-3.4/libSHTOOLS.a
    running build_ext
    customize UnixCCompiler
    customize UnixCCompiler using build_ext
    customize Gnu95FCompiler
    customize Gnu95FCompiler
    customize Gnu95FCompiler using build_ext
    customize Gnu95FCompiler
    customize Gnu95FCompiler
    customize Gnu95FCompiler using build_ext
    building 'pyshtools._SHTOOLS' extension
    compiling C sources
    C compiler: i686-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -fPIC

    creating build/temp.linux-i686-3.4/build
    creating build/temp.linux-i686-3.4/build/src.linux-i686-3.4
    creating build/temp.linux-i686-3.4/build/src.linux-i686-3.4/src
    compile options: '-Ibuild/temp.linux-i686-3.4 -Ibuild/src.linux-i686-3.4 -I/usr/local/lib/python3.4/dist-packages/numpy/core/include -I/usr/include/python3.4m -c'
    extra options: '-m64 -fPIC -O3 -ffast-math'
    i686-linux-gnu-gcc: build/src.linux-i686-3.4/src/_SHTOOLSmodule.c
    In file included from /usr/include/python3.4m/Python.h:8:0,
    from build/src.linux-i686-3.4/src/_SHTOOLSmodule.c:17:
    /usr/include/python3.4m/pyconfig.h:3:52: fatal error: x86_64-linux-gnu/python3.4m/pyconfig.h: Нет такого файла или каталога

    include <x86_64-linux-gnu/python3.4m/pyconfig.h>

                                                    ^
    

    compilation terminated.
    error: Command "i686-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -fPIC -Ibuild/temp.linux-i686-3.4 -Ibuild/src.linux-i686-3.4 -I/usr/local/lib/python3.4/dist-packages/numpy/core/include -I/usr/include/python3.4m -c build/src.linux-i686-3.4/src/_SHTOOLSmodule.c -o build/temp.linux-i686-3.4/build/src.linux-i686-3.4/src/_SHTOOLSmodule.o -m64 -fPIC -O3 -ffast-math" failed with exit status 1
    In file included from /usr/include/python3.4m/Python.h:8:0,
    from build/src.linux-i686-3.4/src/_SHTOOLSmodule.c:17:
    /usr/include/python3.4m/pyconfig.h:3:52: fatal error: x86_64-linux-gnu/python3.4m/pyconfig.h: �е� �акого �айла или ка�алога

    include <x86_64-linux-gnu/python3.4m/pyconfig.h>

                                                    ^
    

    compilation terminated.
    Complete output from command /usr/bin/python3 -c "import setuptools, tokenize;file='/tmp/pip_build_root/pyshtools/setup.py';exec(compile(getattr(tokenize, 'open', open)(file).read().replace('\r\n', '\n'), file, 'exec'))" install --record /tmp/pip-dr89fzf4-record/install-record.txt --single-version-externally-managed --compile:
    no pandoc installed. Careful, pypi description will not be formatted correctly.

INSTALLING SHTOOLS 3.4

customize Gnu95FCompiler

Found executable /usr/bin/gfortran

customize Gnu95FCompiler

searching SHTOOLS in: build/temp.linux-i686-3.4

non-existing path in '': 'build/temp.linux-i686-3.4'

non-existing path in '': 'build/temp.linux-i686-3.4'

running install

---- CUSTOM INSTALL ----

running build

---- BUILDING ----

running config_cc

unifing config_cc, config, build_clib, build_ext, build commands --compiler options

running config_fc

unifing config_fc, config, build_clib, build_ext, build commands --fcompiler options

running build_src

build_src

building library "SHTOOLS" sources

building extension "pyshtools._SHTOOLS" sources

f2py options: ['--quiet', '--quiet']

adding 'build/src.linux-i686-3.4/fortranobject.c' to sources.

adding 'build/src.linux-i686-3.4' to include_dirs.

adding 'build/src.linux-i686-3.4/src/_SHTOOLS-f2pywrappers.f' to sources.

building extension "pyshtools._constant" sources

f2py options: ['--quiet']

adding 'build/src.linux-i686-3.4/fortranobject.c' to sources.

adding 'build/src.linux-i686-3.4' to include_dirs.

adding 'build/src.linux-i686-3.4/pyshtools/_constant-f2pywrappers2.f90' to sources.

build_src: building npy-pkg config files

running build_py

creating build/lib.linux-i686-3.4

creating build/lib.linux-i686-3.4/pyshtools

copying pyshtools/shio.py -> build/lib.linux-i686-3.4/pyshtools

copying pyshtools/spectralanalysis.py -> build/lib.linux-i686-3.4/pyshtools

copying pyshtools/expand.py -> build/lib.linux-i686-3.4/pyshtools

copying pyshtools/localizedspectralanalysis.py -> build/lib.linux-i686-3.4/pyshtools

copying pyshtools/init.py -> build/lib.linux-i686-3.4/pyshtools

copying pyshtools/constant.py -> build/lib.linux-i686-3.4/pyshtools

copying pyshtools/shclasses.py -> build/lib.linux-i686-3.4/pyshtools

copying pyshtools/legendre.py -> build/lib.linux-i686-3.4/pyshtools

copying pyshtools/make_docs.py -> build/lib.linux-i686-3.4/pyshtools

copying pyshtools/rotate.py -> build/lib.linux-i686-3.4/pyshtools

copying pyshtools/gravmag.py -> build/lib.linux-i686-3.4/pyshtools

copying pyshtools/other.py -> build/lib.linux-i686-3.4/pyshtools

running build_clib

customize UnixCCompiler

customize UnixCCompiler using build_clib

customize Gnu95FCompiler

customize Gnu95FCompiler

customize Gnu95FCompiler using build_clib

building 'SHTOOLS' library

creating build/temp.linux-i686-3.4

compiling Fortran 90 module sources

Fortran f77 compiler: /usr/bin/gfortran -Wall -g -ffixed-form -fno-second-underscore -fPIC -O3 -funroll-loops

Fortran f90 compiler: /usr/bin/gfortran -Wall -g -fno-second-underscore -fPIC -O3 -funroll-loops

Fortran fix compiler: /usr/bin/gfortran -Wall -g -ffixed-form -fno-second-underscore -Wall -g -fno-second-underscore -fPIC -O3 -funroll-loops

creating build/temp.linux-i686-3.4/src

compile options: '-I/usr/local/lib/python3.4/dist-packages/numpy/core/include -c'

extra options: '-Jbuild/temp.linux-i686-3.4 -Ibuild/temp.linux-i686-3.4'

gfortran:f90: src/FFTW3.f95

gfortran:f90: src/SHTOOLS.f95

compiling Fortran sources

Fortran f77 compiler: /usr/bin/gfortran -Wall -g -ffixed-form -fno-second-underscore -fPIC -O3 -funroll-loops

Fortran f90 compiler: /usr/bin/gfortran -Wall -g -fno-second-underscore -fPIC -O3 -funroll-loops

Fortran fix compiler: /usr/bin/gfortran -Wall -g -ffixed-form -fno-second-underscore -Wall -g -fno-second-underscore -fPIC -O3 -funroll-loops

compile options: '-I/usr/local/lib/python3.4/dist-packages/numpy/core/include -c'

extra options: '-Jbuild/temp.linux-i686-3.4 -Ibuild/temp.linux-i686-3.4'

gfortran:f90: src/SHMagPowerSpectra.f95

gfortran:f90: src/PlBar_d1.f95

gfortran:f90: src/SHGLQ.f95

gfortran:f90: src/CilmMinusRhoH.f95

src/CilmMinusRhoH.f95: In function ‘cilmminusrhoh’:

src/CilmMinusRhoH.f95:265:0: warning: ‘cilmn.dim[2].ubound’ may be used uninitialized in this function [-Wmaybe-uninitialized]

 cilmn = 0.0d0

^

src/CilmMinusRhoH.f95:75:0: warning: ‘cilmn.dim[2].stride’ may be used uninitialized in this function [-Wmaybe-uninitialized]

 real*8, allocatable :: cilmn(:, :, :), grid(:, :)

^

src/CilmMinusRhoH.f95:265:0: warning: ‘cilmn.dim[1].ubound’ may be used uninitialized in this function [-Wmaybe-uninitialized]

 cilmn = 0.0d0

^

src/CilmMinusRhoH.f95:75:0: warning: ‘cilmn.offset’ may be used uninitialized in this function [-Wmaybe-uninitialized]

 real*8, allocatable :: cilmn(:, :, :), grid(:, :)

^

gfortran:f90: src/PlmBar.f95

gfortran:f90: src/MakeGridGLQC.F95

gfortran:f90: src/SHBiasAdmitCorr.f95

gfortran:f90: src/PlSchmidt_d1.f95

gfortran:f90: src/Random.f95

gfortran:f90: src/SHRotateRealCoef.f95

gfortran:f90: src/MakeGridDHC.F95

gfortran:f90: src/PlmIndex.f95

gfortran:f90: src/SHMultiply.f95

gfortran:f90: src/SHReadJPL.f95

gfortran:f90: src/PlmSchmidt_d1.f95

gfortran:f90: src/MakeCircleCoord.f95

gfortran:f90: src/EigValVecSym.F95

src/EigValVecSym.F95: In function ‘eigvalvecsym’:

src/EigValVecSym.F95:63:0: warning: ‘a.dim[1].stride’ may be used uninitialized in this function [-Wmaybe-uninitialized]

 real*8, allocatable ::  a(:,:), z(:,:)

^

src/EigValVecSym.F95:63:0: warning: ‘a.offset’ may be used uninitialized in this function [-Wmaybe-uninitialized]

gfortran:f90: src/ComputeDm.f95

gfortran:f90: src/MakeMagGridDH.F95

src/MakeMagGridDH.F95: In function ‘makemaggriddh’:

src/MakeMagGridDH.F95:716:0: warning: ‘coefu0’ may be used uninitialized in this function [-Wmaybe-uninitialized]

 if (calcu) coefu0 = coefu0 + cilm(1,2,1) * pm1 * prefactor(1)

^

src/MakeMagGridDH.F95:396:0: warning: ‘coefus0’ may be used uninitialized in this function [-Wmaybe-uninitialized]

         coefus0 = coefus0 - tempr   ! fsymsign = -1

^

gfortran:f90: src/SHSjkPG.f95

gfortran:f90: src/MakeEllipseCoord.f95

gfortran:f90: src/EigValVecSymTri.F95

gfortran:f90: src/SHMultiTaperMaskCSE.f95

gfortran:f90: src/SHMTCouplingMatrix.f95

gfortran:f90: src/SHRead2.f95

src/SHRead2.f95: In function ‘shread2’:

src/SHRead2.f95:313:0: warning: ‘maxl_dot’ may be used uninitialized in this function [-Wmaybe-uninitialized]

             if(l > maxl_dot) then

^

src/SHRead2.f95:285:0: warning: ‘maxl_error’ may be used uninitialized in this function [-Wmaybe-uninitialized]

             if (l > maxl_error) then

^

gfortran:f90: src/SHBiasK.f95

gfortran:f90: src/SHBiasKMask.f95

gfortran:f90: src/SHPowerSpectra.f95

gfortran:f90: src/SHRead.f95

src/SHRead.f95: In function ‘shread’:

src/SHRead.f95:125:0: warning: ‘headlen’ may be used uninitialized in this function [-Wmaybe-uninitialized]

     read(fu,*, iostat=stat) (header(l), l=1, headlen)

^

gfortran:f90: src/PlmSchmidt.f95

gfortran:f90: src/SHReturnTapers.f95

src/SHReturnTapers.f95: In function ‘shreturntapers’:

src/SHReturnTapers.f95:101:0: warning: ‘m_unordered.dim[0].ubound’ may be used uninitialized in this function [-Wmaybe-uninitialized]

 m_unordered = 0

^

src/SHReturnTapers.f95:100:0: warning: ‘eval_unordered.dim[0].ubound’ may be used uninitialized in this function [-Wmaybe-uninitialized]

 eval_unordered = 0.0d0

^

src/SHReturnTapers.f95:114:0: warning: ‘dllmtri.dim[1].stride’ may be used uninitialized in this function [-Wmaybe-uninitialized]

     call ComputeDG82(dllmtri(1:n,1:n), lmax, m, theta0)

^

src/SHReturnTapers.f95:98:0: warning: ‘tapers_unordered.dim[1].ubound’ may be used uninitialized in this function [-Wmaybe-uninitialized]

 tapers_unordered = 0.0d0

^

src/SHReturnTapers.f95:50:0: warning: ‘tapers_unordered.dim[1].stride’ may be used uninitialized in this function [-Wmaybe-uninitialized]

 real*8, allocatable :: eval(:), evec(:, :), tapers_unordered(:,:), &

^

src/SHReturnTapers.f95:98:0: warning: ‘tapers_unordered.dim[0].ubound’ may be used uninitialized in this function [-Wmaybe-uninitialized]

 tapers_unordered = 0.0d0

^

src/SHReturnTapers.f95:50:0: warning: ‘tapers_unordered.offset’ may be used uninitialized in this function [-Wmaybe-uninitialized]

 real*8, allocatable :: eval(:), evec(:, :), tapers_unordered(:,:), &

^

src/SHReturnTapers.f95:50:0: warning: ‘evec.dim[1].stride’ may be used uninitialized in this function [-Wmaybe-uninitialized]

src/SHReturnTapers.f95:50:0: warning: ‘evec.offset’ may be used uninitialized in this function [-Wmaybe-uninitialized]

gfortran:f90: src/NormalGravity.f95

gfortran:f90: src/SHExpandGLQ.F95

gfortran:f90: src/CilmPlusRhoH.f95

src/CilmPlusRhoH.f95: In function ‘cilmplusrhoh’:

src/CilmPlusRhoH.f95:265:0: warning: ‘cilmn.dim[2].ubound’ may be used uninitialized in this function [-Wmaybe-uninitialized]

 cilmn = 0.0d0

^

src/CilmPlusRhoH.f95:75:0: warning: ‘cilmn.dim[2].stride’ may be used uninitialized in this function [-Wmaybe-uninitialized]

 real*8, allocatable :: cilmn(:,:,:), grid(:,:)

^

src/CilmPlusRhoH.f95:265:0: warning: ‘cilmn.dim[1].ubound’ may be used uninitialized in this function [-Wmaybe-uninitialized]

 cilmn = 0.0d0

^

src/CilmPlusRhoH.f95:75:0: warning: ‘cilmn.offset’ may be used uninitialized in this function [-Wmaybe-uninitialized]

 real*8, allocatable :: cilmn(:,:,:), grid(:,:)

^

gfortran:f90: src/MakeGeoidGrid.f95

src/MakeGeoidGrid.f95: In function ‘makegeoidgrid’:

src/MakeGeoidGrid.f95:439:0: warning: ‘lat’ may be used uninitialized in this function [-Wmaybe-uninitialized]

                 (1.0d0  + tan(lat*pi/180.0d0)**2 / (1.0d0 - f)**2 )

^

src/MakeGeoidGrid.f95:201:0: warning: ‘cilm1.dim[2].stride’ may be used uninitialized in this function [-Wmaybe-uninitialized]

 cilm1(1,1,1) = 1.0d0    ! Make sure that the degree-0 term is included

^

src/MakeGeoidGrid.f95:201:0: warning: ‘cilm1.offset’ may be used uninitialized in this function [-Wmaybe-uninitialized]

gfortran:f90: src/BAtoHilmRhoH.f95

gfortran:f90: src/CilmPlus.f95

src/CilmPlus.f95: In function ‘cilmplus’:

src/CilmPlus.f95:243:0: warning: ‘cilmn.dim[2].ubound’ may be used uninitialized in this function [-Wmaybe-uninitialized]

 cilmn = 0.0d0

^

src/CilmPlus.f95:70:0: warning: ‘cilmn.dim[2].stride’ may be used uninitialized in this function [-Wmaybe-uninitialized]

 real*8, allocatable :: cilmn(:, :, :), grid(:, :)

^

src/CilmPlus.f95:243:0: warning: ‘cilmn.dim[1].ubound’ may be used uninitialized in this function [-Wmaybe-uninitialized]

 cilmn = 0.0d0

^

src/CilmPlus.f95:70:0: warning: ‘cilmn.offset’ may be used uninitialized in this function [-Wmaybe-uninitialized]

 real*8, allocatable :: cilmn(:, :, :), grid(:, :)

^

gfortran:f90: src/SHExpandGLQC.F95

gfortran:f90: src/BAtoHilm.f95

gfortran:f90: src/SHMultiTaperMaskSE.f95

gfortran:f90: src/SHRotateCoef.f95

gfortran:f90: src/YilmIndexVector.f95

gfortran:f90: src/MakeGridDH.F95

gfortran:f90: src/CilmMinus.f95

src/CilmMinus.f95: In function ‘cilmminus’:

src/CilmMinus.f95:237:0: warning: ‘cilmn.dim[2].ubound’ may be used uninitialized in this function [-Wmaybe-uninitialized]

 cilmn = 0.0d0

^

src/CilmMinus.f95:70:0: warning: ‘cilmn.dim[2].stride’ may be used uninitialized in this function [-Wmaybe-uninitialized]

 real*8, allocatable :: cilmn(:, :, :), grid(:, :)

^

src/CilmMinus.f95:237:0: warning: ‘cilmn.dim[1].ubound’ may be used uninitialized in this function [-Wmaybe-uninitialized]

 cilmn = 0.0d0

^

src/CilmMinus.f95:70:0: warning: ‘cilmn.offset’ may be used uninitialized in this function [-Wmaybe-uninitialized]

 real*8, allocatable :: cilmn(:, :, :), grid(:, :)

^

gfortran:f90: src/PlON.f95

gfortran:f90: src/SHLocalizedAdmitCorr.f95

gfortran:f90: src/SHAdmitCorr.f95

gfortran:f90: src/Curve2Mask.f95

gfortran:f90: src/SHConvertCoef.f95

gfortran:f90: src/SHMTDebias.F95

src/SHMTDebias.F95: In function ‘shmtdebias’:

src/SHMTDebias.F95:31:0: warning: ‘uu.dim[1].stride’ may be used uninitialized in this function [-Wmaybe-uninitialized]

 real*8, allocatable :: work(:), Mmt(:,:), a(:,:), vt(:,:), uu(:,:)

^

src/SHMTDebias.F95:31:0: warning: ‘uu.offset’ may be used uninitialized in this function [-Wmaybe-uninitialized]

src/SHMTDebias.F95:31:0: warning: ‘vt.dim[1].stride’ may be used uninitialized in this function [-Wmaybe-uninitialized]

src/SHMTDebias.F95:31:0: warning: ‘vt.offset’ may be used uninitialized in this function [-Wmaybe-uninitialized]

src/SHMTDebias.F95:155:0: warning: ‘a.dim[1].ubound’ may be used uninitialized in this function [-Wmaybe-uninitialized]

 a = 0.0d0

^

src/SHMTDebias.F95:31:0: warning: ‘a.dim[1].stride’ may be used uninitialized in this function [-Wmaybe-uninitialized]

 real*8, allocatable :: work(:), Mmt(:,:), a(:,:), vt(:,:), uu(:,:)

^

src/SHMTDebias.F95:155:0: warning: ‘a.dim[0].ubound’ may be used uninitialized in this function [-Wmaybe-uninitialized]

 a = 0.0d0

^

src/SHMTDebias.F95:31:0: warning: ‘a.offset’ may be used uninitialized in this function [-Wmaybe-uninitialized]

 real*8, allocatable :: work(:), Mmt(:,:), a(:,:), vt(:,:), uu(:,:)

^

src/SHMTDebias.F95:31:0: warning: ‘mmt.dim[1].ubound’ may be used uninitialized in this function [-Wmaybe-uninitialized]

src/SHMTDebias.F95:31:0: warning: ‘mmt.dim[1].stride’ may be used uninitialized in this function [-Wmaybe-uninitialized]

src/SHMTDebias.F95:31:0: warning: ‘mmt.offset’ may be used uninitialized in this function [-Wmaybe-uninitialized]

gfortran:f90: src/SphericalCapCoef.f95

gfortran:f90: src/PlmON_d1.f95

gfortran:f90: src/MakeGridPoint.f95

src/MakeGridPoint.f95:71.21:

         phase = -1.0d0

                 1

Warning: Possible change of value in conversion from REAL(8) to INTEGER(4) at (1)

src/MakeGridPoint.f95:73.24:

            phase = 1.0d0

                    1

Warning: Possible change of value in conversion from REAL(8) to INTEGER(4) at (1)

src/MakeGridPoint.f95:82.20:

        phase = dble(CSPHASE_DEFAULT)

                1

Warning: Possible change of value in conversion from REAL(8) to INTEGER(4) at (1)

gfortran:f90: src/SHExpandDH.F95

gfortran:f90: src/SHReturnTapersMap.f95

gfortran:f90: src/ComputeDMap.f95

src/ComputeDMap.f95: In function ‘computedmap’:

src/ComputeDMap.f95:249:0: warning: ‘colat’ may be used uninitialized in this function [-Wmaybe-uninitialized]

 call plmbar(plm, -1, cos(colat))

^

gfortran:f90: src/MakeGravGridDH.F95

src/MakeGravGridDH.F95: In function ‘makegravgriddh’:

src/MakeGravGridDH.F95:764:0: warning: ‘coefu0’ may be used uninitialized in this function [-Wmaybe-uninitialized]

 if (calcu) coefu0 = coefu0 + cilm(1,1,1) * pm2

^

src/MakeGravGridDH.F95:444:0: warning: ‘coefus0’ may be used uninitialized in this function [-Wmaybe-uninitialized]

             coefus0 = coefus0 - tempr   ! fsymsign = -1

^

gfortran:f90: src/PlmON.f95

gfortran:f90: src/PlON_d1.f95

gfortran:f90: src/djpi2.f95

gfortran:f90: src/PLegendreA.f95

gfortran:f90: src/SHMultiTaperCSE.f95

gfortran:f90: src/SHMultiTaperSE.f95

gfortran:f90: src/ComputeDG82.f95

gfortran:f90: src/MakeGrid2D.f95

src/MakeGrid2D.f95: In function ‘makegrid2d’:

src/MakeGrid2D.f95:77:0: warning: ‘cilm2.dim[2].stride’ may be used uninitialized in this function [-Wmaybe-uninitialized]

 real*8, allocatable :: pl(:), cosm(:, :), sinm(:, :), cilm2(:,:, :)

^

src/MakeGrid2D.f95:77:0: warning: ‘cilm2.offset’ may be used uninitialized in this function [-Wmaybe-uninitialized]

src/MakeGrid2D.f95:77:0: warning: ‘sinm.dim[1].stride’ may be used uninitialized in this function [-Wmaybe-uninitialized]

src/MakeGrid2D.f95:77:0: warning: ‘sinm.offset’ may be used uninitialized in this function [-Wmaybe-uninitialized]

src/MakeGrid2D.f95:77:0: warning: ‘cosm.dim[1].stride’ may be used uninitialized in this function [-Wmaybe-uninitialized]

src/MakeGrid2D.f95:77:0: warning: ‘cosm.offset’ may be used uninitialized in this function [-Wmaybe-uninitialized]

gfortran:f90: src/SHExpandDHC.F95

gfortran:f90: src/SHFindLWin.f95

src/SHFindLWin.f95: In function ‘shfindlwin’:

src/SHFindLWin.f95:69:0: warning: ‘eval.dim[0].ubound’ may be used uninitialized in this function [-Wmaybe-uninitialized]

     allocate (eval(l+1), stat = astat(2)) ; eval = 0.0d0

^

gfortran:f90: src/SHCilmToVector.f95

gfortran:f90: src/PreGLQ.f95

gfortran:f90: src/DownContFilter.f95

gfortran:f90: src/EigValSym.F95

src/EigValSym.F95: In function ‘eigvalsym’:

src/EigValSym.F95:51:0: warning: ‘a.dim[1].stride’ may be used uninitialized in this function [-Wmaybe-uninitialized]

 real*8, allocatable ::  a(:,:), z(:,:)

^

src/EigValSym.F95:51:0: warning: ‘a.offset’ may be used uninitialized in this function [-Wmaybe-uninitialized]

gfortran:f90: src/SHExpandLSQ.F95

src/SHExpandLSQ.F95: In function ‘shexpandlsq’:

src/SHExpandLSQ.F95:146:0: warning: ‘gg.dim[1].ubound’ may be used uninitialized in this function [-Wmaybe-uninitialized]

 gg = 0.0d0

^

src/SHExpandLSQ.F95:66:0: warning: ‘gg.dim[1].stride’ may be used uninitialized in this function [-Wmaybe-uninitialized]

 real*8, allocatable :: mm(:), gg(:, :), p(:), work(:)

^

src/SHExpandLSQ.F95:146:0: warning: ‘gg.dim[0].ubound’ may be used uninitialized in this function [-Wmaybe-uninitialized]

 gg = 0.0d0

^

src/SHExpandLSQ.F95:66:0: warning: ‘gg.offset’ may be used uninitialized in this function [-Wmaybe-uninitialized]

 real*8, allocatable :: mm(:), gg(:, :), p(:), work(:)

^

src/SHExpandLSQ.F95:145:0: warning: ‘mm.dim[0].ubound’ may be used uninitialized in this function [-Wmaybe-uninitialized]

 mm = 0.0d0

^

gfortran:f90: src/SHBias.f95

gfortran:f90: src/PLegendre.f95

gfortran:f90: src/GLQGridCoord.f95

gfortran:f90: src/PlBar.f95

gfortran:f90: src/DHaj.f95

gfortran:f90: src/PLegendreA_d1.f95

gfortran:f90: src/MakeGridGLQ.F95

gfortran:f90: src/PlmBar_d1.f95

gfortran:f90: src/PlSchmidt.f95

gfortran:f90: src/SHConfidence.f95

gfortran:f90: src/Wigner3j.f95

gfortran:f90: src/MakeGravGradGridDH.F95

gfortran:f90: src/SHReturnTapersM.f95

src/SHReturnTapersM.f95: In function ‘shreturntapersm’:

src/SHReturnTapersM.f95:112:0: warning: ‘dllmtri.dim[1].stride’ may be used uninitialized in this function [-Wmaybe-uninitialized]

 call ComputeDG82(dllmtri(1:n,1:n), lmax, m, theta0)

^

src/SHReturnTapersM.f95:101:0: warning: ‘evec.dim[1].ubound’ may be used uninitialized in this function [-Wmaybe-uninitialized]

 evec = 0.0d0

^

src/SHReturnTapersM.f95:58:0: warning: ‘evec.dim[1].stride’ may be used uninitialized in this function [-Wmaybe-uninitialized]

 real*8, allocatable :: evec(:,:), dllmtri(:,:), p(:)

^

src/SHReturnTapersM.f95:58:0: warning: ‘evec.dim[0].ubound’ may be used uninitialized in this function [-Wmaybe-uninitialized]

src/SHReturnTapersM.f95:58:0: warning: ‘evec.offset’ may be used uninitialized in this function [-Wmaybe-uninitialized]

gfortran:f90: src/SHPowerSpectraC.f95

gfortran:f90: src/SHMTVarOpt.F95

i686-linux-gnu-gcc-ar: adding 50 object files to build/temp.linux-i686-3.4/libSHTOOLS.a

i686-linux-gnu-gcc-ar: adding 39 object files to build/temp.linux-i686-3.4/libSHTOOLS.a

running build_ext

customize UnixCCompiler

customize UnixCCompiler using build_ext

customize Gnu95FCompiler

customize Gnu95FCompiler

customize Gnu95FCompiler using build_ext

customize Gnu95FCompiler

customize Gnu95FCompiler

customize Gnu95FCompiler using build_ext

building 'pyshtools._SHTOOLS' extension

compiling C sources

C compiler: i686-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -fPIC

creating build/temp.linux-i686-3.4/build

creating build/temp.linux-i686-3.4/build/src.linux-i686-3.4

creating build/temp.linux-i686-3.4/build/src.linux-i686-3.4/src

compile options: '-Ibuild/temp.linux-i686-3.4 -Ibuild/src.linux-i686-3.4 -I/usr/local/lib/python3.4/dist-packages/numpy/core/include -I/usr/include/python3.4m -c'

extra options: '-m64 -fPIC -O3 -ffast-math'

i686-linux-gnu-gcc: build/src.linux-i686-3.4/src/_SHTOOLSmodule.c

In file included from /usr/include/python3.4m/Python.h:8:0,

             from build/src.linux-i686-3.4/src/_SHTOOLSmodule.c:17:

/usr/include/python3.4m/pyconfig.h:3:52: fatal error: x86_64-linux-gnu/python3.4m/pyconfig.h: No such file or folder

include <x86_64-linux-gnu/python3.4m/pyconfig.h>

                                                ^

compilation terminated.

error: Command "i686-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -fPIC -Ibuild/temp.linux-i686-3.4 -Ibuild/src.linux-i686-3.4 -I/usr/local/lib/python3.4/dist-packages/numpy/core/include -I/usr/include/python3.4m -c build/src.linux-i686-3.4/src/_SHTOOLSmodule.c -o build/temp.linux-i686-3.4/build/src.linux-i686-3.4/src/_SHTOOLSmodule.o -m64 -fPIC -O3 -ffast-math" failed with exit status 1

In file included from /usr/include/python3.4m/Python.h:8:0,

             from build/src.linux-i686-3.4/src/_SHTOOLSmodule.c:17:

/usr/include/python3.4m/pyconfig.h:3:52: fatal error: x86_64-linux-gnu/python3.4m/pyconfig.h: �е� �акого �айла или ка�алога

include <x86_64-linux-gnu/python3.4m/pyconfig.h>

                                                ^

compilation terminated.


Cleaning up...
Removing temporary dir /tmp/pip_build_root...
Command /usr/bin/python3 -c "import setuptools, tokenize;file='/tmp/pip_build_root/pyshtools/setup.py';exec(compile(getattr(tokenize, 'open', open)(file).read().replace('\r\n', '\n'), file, 'exec'))" install --record /tmp/pip-dr89fzf4-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /tmp/pip_build_root/pyshtools
Exception information:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/pip/basecommand.py", line 122, in main
status = self.run(options, args)
File "/usr/lib/python3/dist-packages/pip/commands/install.py", line 283, in run
requirement_set.install(install_options, global_options, root=options.root_path)
File "/usr/lib/python3/dist-packages/pip/req.py", line 1436, in install
requirement.install(install_options, global_options, *args, **kwargs)
File "/usr/lib/python3/dist-packages/pip/req.py", line 707, in install
cwd=self.source_dir, filter_stdout=self._filter_install, show_stdout=False)
File "/usr/lib/python3/dist-packages/pip/util.py", line 715, in call_subprocess
% (command_desc, proc.returncode, cwd))
pip.exceptions.InstallationError: Command /usr/bin/python3 -c "import setuptools, tokenize;file='/tmp/pip_build_root/pyshtools/setup.py';exec(compile(getattr(tokenize, 'open', open)(file).read().replace('\r\n', '\n'), file, 'exec'))" install --record /tmp/pip-dr89fzf4-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /tmp/pip_build_root/pyshtools

Installation Issue: Ubuntu 16.04 LTS

I was recently able to import SHTOOLS into python (Canopy) until I did a system update today and now I cannot import the package at all and receive an import error: "Version 'GFORTRAN_1.4' not found". I'm wondering if it has to do with an update to libgfortran [(https://github.com/ContinuumIO/anaconda-issues/issues/686)]?

I tried to uninstall SHTOOLS and reinstall it but I get the same import error when running make

Traceback (most recent call last): File "./pyshtools/make_docs.py", line 14, in <module> import _SHTOOLS ImportError: /home/user/Enthought/Canopy_64bit/User/bin/../lib/libgfortran.so.3: version GFORTRAN_1.4 not found (required by /home/user/Documents/SHTOOLS-3.1/pyshtools/_SHTOOLS.so) Makefile:129: recipe for target 'all' failed make: *** [all] Error 1

Any help on this issue would be greatly appreciated.

Issue compiling make fortran-tests-mp F95="ifort"

When I try to compile using make fortran-tests-mp F95="ifort" i get an error message.

ifort version 15.0.2

Linux version 3.0.101-0.47.55-default

error message:

mkdir -pv lib
mkdir: created directory \u2018lib\u2019
mkdir -pv modules
mkdir: created directory \u2018modules\u2019
make -C src -f Makefile clean-obs-mod
make[1]: Entering directory '/home/thor/code/SHTOOLS-3.4/src'
rm -f CilmPlus.o CilmMinus.o ComputeDG82.o ComputeDm.o DHaj.o djpi2.o FFTW3.o BAtoHilm.o 
MakeGrid2D.o GLQGridCoord.o MakeGridPoint.o PlanetsConstants.o PlBar.o PlBar_d1.o PLegendre.o PLegendreA.o PLegendreA_d1.o PlmBar.o PlmBar_d1.o PlmIndex.o PlmSchmidt.o PlmSchmidt_d1.o PlSchmidt.o PlSchmidt_d1.o PreGLQ.o Random.o SHAdmitCorr.o SHBias.o SHBiasK.o SHConvertCoef.o SHFindLWin.o SHGLQ.o SHLocalizedAdmitCorr.o SHMultiply.o SHMultiTaperCSE.o SHMultiTaperSE.o SHPowerSpectra.o SHRead.o SHReadJPL.o SHReturnTapersM.o SHRotateCoef.o SHRotateRealCoef.o SHTOOLS.o SphericalCapCoef.o Wigner3j.o DownContFilter.o SHRead2.o MakeGeoidGrid.o MakeCircleCoord.o SHMTCouplingMatrix.o SHReturnTapers.o SHSjkPG.o PlON.o PlON_d1.o PlmON.o PlmON_d1.o SHConfidence.o SHMagPowerSpectra.o SHPowerSpectraC.o SHBiasAdmitCorr.o SHCilmToVector.o YilmIndexVector.o ComputeDMap.o SHReturnTapersMap.o Curve2Mask.o MakeEllipseCoord.o CilmPlusRhoH.o CilmMinusRhoH.o BAtoHilmRhoH.o NormalGravity.o SHMultiTaperMaskSE.o SHMultiTaperMaskCSE.o SHBiasKMask.o 
rm -f EigValSym.o EigValVecSym.o EigValVecSymTri.o SHExpandLSQ.o SHMTDebias.o SHMTVarOpt.o
rm -f MakeGridDH.o MakeGridDHC.o MakeGridGLQ.o MakeGridGLQC.o SHExpandDH.o SHExpandDHC.o SHExpandGLQ.o SHExpandGLQC.o MakeGravGradGridDH.o MakeGravGridDH.o MakeMagGridDH.o
rm -f *.mod 
make[1]: Leaving directory '/home/thor/code/SHTOOLS-3.4/src'
make -C src -f Makefile all F95=ifort F95FLAGS="-m64 -free -O3 -Tf " LIBNAME="SHTOOLS-mp" LAPACK_FLAGS="" FFTW3_FLAGS=""
make[1]: Entering directory '/home/thor/code/SHTOOLS-3.4/src'
ifort -c -m64 -free -O3 -Tf  SHTOOLS.f95
ifort -c -m64 -free -O3 -Tf  CilmPlus.f95
ifort -c -m64 -free -O3 -Tf  CilmMinus.f95
ifort -c -m64 -free -O3 -Tf  ComputeDG82.f95
ifort -c -m64 -free -O3 -Tf  ComputeDm.f95
ifort -c -m64 -free -O3 -Tf  DHaj.f95
ifort -c -m64 -free -O3 -Tf  djpi2.f95
ifort -c -m64 -free -O3 -Tf  FFTW3.f95
ifort -c -m64 -free -O3 -Tf  BAtoHilm.f95
ifort -c -m64 -free -O3 -Tf  MakeGrid2D.f95
ifort -c -m64 -free -O3 -Tf  GLQGridCoord.f95
ifort -c -m64 -free -O3 -Tf  MakeGridPoint.f95
ifort -c -m64 -free -O3 -Tf  PlanetsConstants.f95
ifort -c -m64 -free -O3 -Tf  PlBar.f95
ifort -c -m64 -free -O3 -Tf  PlBar_d1.f95
ifort -c -m64 -free -O3 -Tf  PLegendre.f95
ifort -c -m64 -free -O3 -Tf  PLegendreA.f95
ifort -c -m64 -free -O3 -Tf  PLegendreA_d1.f95
ifort -c -m64 -free -O3 -Tf  PlmBar.f95
ifort -c -m64 -free -O3 -Tf  PlmBar_d1.f95
ifort -c -m64 -free -O3 -Tf  PlmIndex.f95
ifort -c -m64 -free -O3 -Tf  PlmSchmidt.f95
ifort -c -m64 -free -O3 -Tf  PlmSchmidt_d1.f95
ifort -c -m64 -free -O3 -Tf  PlSchmidt.f95
ifort -c -m64 -free -O3 -Tf  PlSchmidt_d1.f95
ifort -c -m64 -free -O3 -Tf  PreGLQ.f95
ifort -c -m64 -free -O3 -Tf  Random.f95
ifort -c -m64 -free -O3 -Tf  SHAdmitCorr.f95
ifort -c -m64 -free -O3 -Tf  SHBias.f95
ifort -c -m64 -free -O3 -Tf  SHBiasK.f95
ifort -c -m64 -free -O3 -Tf  SHConvertCoef.f95
ifort -c -m64 -free -O3 -Tf  SHFindLWin.f95
ifort -c -m64 -free -O3 -Tf  SHGLQ.f95
ifort -c -m64 -free -O3 -Tf  SHLocalizedAdmitCorr.f95
ifort -c -m64 -free -O3 -Tf  SHMultiply.f95
ifort -c -m64 -free -O3 -Tf  SHMultiTaperCSE.f95
ifort -c -m64 -free -O3 -Tf  SHMultiTaperSE.f95
ifort -c -m64 -free -O3 -Tf  SHPowerSpectra.f95
ifort -c -m64 -free -O3 -Tf  SHRead.f95
ifort -c -m64 -free -O3 -Tf  SHReadJPL.f95
ifort -c -m64 -free -O3 -Tf  SHReturnTapersM.f95
ifort -c -m64 -free -O3 -Tf  SHRotateCoef.f95
ifort -c -m64 -free -O3 -Tf  SHRotateRealCoef.f95
ifort -c -m64 -free -O3 -Tf  SphericalCapCoef.f95
ifort -c -m64 -free -O3 -Tf  Wigner3j.f95
ifort -c -m64 -free -O3 -Tf  DownContFilter.f95
ifort -c -m64 -free -O3 -Tf  SHRead2.f95
ifort -c -m64 -free -O3 -Tf  MakeGeoidGrid.f95
ifort -c -m64 -free -O3 -Tf  MakeCircleCoord.f95
ifort -c -m64 -free -O3 -Tf  SHMTCouplingMatrix.f95
ifort -c -m64 -free -O3 -Tf  SHReturnTapers.f95
ifort -c -m64 -free -O3 -Tf  SHSjkPG.f95
ifort -c -m64 -free -O3 -Tf  PlON.f95
ifort -c -m64 -free -O3 -Tf  PlON_d1.f95
ifort -c -m64 -free -O3 -Tf  PlmON.f95
ifort -c -m64 -free -O3 -Tf  PlmON_d1.f95
ifort -c -m64 -free -O3 -Tf  SHConfidence.f95
ifort -c -m64 -free -O3 -Tf  SHMagPowerSpectra.f95
ifort -c -m64 -free -O3 -Tf  SHPowerSpectraC.f95
ifort -c -m64 -free -O3 -Tf  SHBiasAdmitCorr.f95
ifort -c -m64 -free -O3 -Tf  SHCilmToVector.f95
ifort -c -m64 -free -O3 -Tf  YilmIndexVector.f95
ifort -c -m64 -free -O3 -Tf  ComputeDMap.f95
ifort -c -m64 -free -O3 -Tf  SHReturnTapersMap.f95
ifort -c -m64 -free -O3 -Tf  Curve2Mask.f95
ifort -c -m64 -free -O3 -Tf  MakeEllipseCoord.f95
ifort -c -m64 -free -O3 -Tf  CilmPlusRhoH.f95
ifort -c -m64 -free -O3 -Tf  CilmMinusRhoH.f95
ifort -c -m64 -free -O3 -Tf  BAtoHilmRhoH.f95
ifort -c -m64 -free -O3 -Tf  NormalGravity.f95
ifort -c -m64 -free -O3 -Tf  SHMultiTaperMaskSE.f95
ifort -c -m64 -free -O3 -Tf  SHMultiTaperMaskCSE.f95
ifort -c -m64 -free -O3 -Tf  SHBiasKMask.f95
ifort -c -m64 -free -O3 -Tf    EigValSym.F95
EigValSym.F95(54): warning #5117: Bad # preprocessor line
#ifdef LAPACK_UNDERSCORE
-^
EigValSym.F95(55): warning #5117: Bad # preprocessor line
#define dsytrd dsytrd_
-^
EigValSym.F95(56): warning #5117: Bad # preprocessor line
#define dstegr dstegr_
-^
EigValSym.F95(57): warning #5117: Bad # preprocessor line
#endif
-^
ifort -c -m64 -free -O3 -Tf    EigValVecSym.F95
EigValVecSym.F95(66): warning #5117: Bad # preprocessor line
#ifdef LAPACK_UNDERSCORE
-^
EigValVecSym.F95(67): warning #5117: Bad # preprocessor line
#define dsytrd dsytrd_
-^
EigValVecSym.F95(68): warning #5117: Bad # preprocessor line
#define dstegr dstegr_
-^
EigValVecSym.F95(69): warning #5117: Bad # preprocessor line
#define dormtr dormtr_
-^
EigValVecSym.F95(70): warning #5117: Bad # preprocessor line
#endif
-^
ifort -c -m64 -free -O3 -Tf    EigValVecSymTri.F95
EigValVecSymTri.F95(52): warning #5117: Bad # preprocessor line
#ifdef LAPACK_UNDERSCORE
-^
EigValVecSymTri.F95(53): warning #5117: Bad # preprocessor line
#define dstegr dstegr_
-^
EigValVecSymTri.F95(54): warning #5117: Bad # preprocessor line
#endif
-^
ifort -c -m64 -free -O3 -Tf    SHExpandLSQ.F95
SHExpandLSQ.F95(67): warning #5117: Bad # preprocessor line
#ifdef LAPACK_UNDERSCORE
-^
SHExpandLSQ.F95(68): warning #5117: Bad # preprocessor line
#define dgels dgels_
-^
SHExpandLSQ.F95(69): warning #5117: Bad # preprocessor line
#endif
-^
ifort -c -m64 -free -O3 -Tf    SHMTDebias.F95
SHMTDebias.F95(32): warning #5117: Bad # preprocessor line
#ifdef LAPACK_UNDERSCORE
-^
SHMTDebias.F95(33): warning #5117: Bad # preprocessor line
#define dgesdd dgesdd_
-^
SHMTDebias.F95(34): warning #5117: Bad # preprocessor line
#endif
-^
ifort -c -m64 -free -O3 -Tf    SHMTVarOpt.F95
SHMTVarOpt.F95(64): warning #5117: Bad # preprocessor line
#ifdef LAPACK_UNDERSCORE
-^
SHMTVarOpt.F95(65): warning #5117: Bad # preprocessor line
#define DSYSV DSYSV_
-^
SHMTVarOpt.F95(66): warning #5117: Bad # preprocessor line
#endif
-^
ifort -c -m64 -free -O3 -Tf    MakeGridDH.F95
MakeGridDH.F95(69): warning #5117: Bad # preprocessor line
#ifdef FFTW3_UNDERSCORE
-^
MakeGridDH.F95(70): warning #5117: Bad # preprocessor line
#define dfftw_plan_dft_c2r_1d dfftw_plan_dft_c2r_1d_
-^
MakeGridDH.F95(71): warning #5117: Bad # preprocessor line
#define dfftw_execute dfftw_execute_
-^
MakeGridDH.F95(72): warning #5117: Bad # preprocessor line
#define dfftw_destroy_plan dfftw_destroy_plan_
-^
MakeGridDH.F95(73): warning #5117: Bad # preprocessor line
#endif
-^
ifort -c -m64 -free -O3 -Tf    MakeGridDHC.F95
MakeGridDHC.F95(75): warning #5117: Bad # preprocessor line
#ifdef FFTW3_UNDERSCORE
-^
MakeGridDHC.F95(76): warning #5117: Bad # preprocessor line
#define dfftw_plan_dft_1d dfftw_plan_dft_1d_
-^
MakeGridDHC.F95(77): warning #5117: Bad # preprocessor line
#define dfftw_execute dfftw_execute_
-^
MakeGridDHC.F95(78): warning #5117: Bad # preprocessor line
#define dfftw_destroy_plan dfftw_destroy_plan_
-^
MakeGridDHC.F95(79): warning #5117: Bad # preprocessor line
#endif
-^
ifort -c -m64 -free -O3 -Tf    MakeGridGLQ.F95
MakeGridGLQ.F95(70): warning #5117: Bad # preprocessor line
#ifdef FFTW3_UNDERSCORE
-^
MakeGridGLQ.F95(71): warning #5117: Bad # preprocessor line
#define dfftw_plan_dft_c2r_1d dfftw_plan_dft_c2r_1d_
-^
MakeGridGLQ.F95(72): warning #5117: Bad # preprocessor line
#define dfftw_execute dfftw_execute_
-^
MakeGridGLQ.F95(73): warning #5117: Bad # preprocessor line
#define dfftw_destroy_plan dfftw_destroy_plan_
-^
MakeGridGLQ.F95(74): warning #5117: Bad # preprocessor line
#endif
-^
ifort -c -m64 -free -O3 -Tf    MakeGridGLQC.F95
MakeGridGLQC.F95(73): warning #5117: Bad # preprocessor line
#ifdef FFTW3_UNDERSCORE
-^
MakeGridGLQC.F95(74): warning #5117: Bad # preprocessor line
#define dfftw_plan_dft_1d dfftw_plan_dft_1d_
-^
MakeGridGLQC.F95(75): warning #5117: Bad # preprocessor line
#define dfftw_execute dfftw_execute_
-^
MakeGridGLQC.F95(76): warning #5117: Bad # preprocessor line
#define dfftw_destroy_plan dfftw_destroy_plan_
-^
MakeGridGLQC.F95(77): warning #5117: Bad # preprocessor line
#endif
-^
ifort -c -m64 -free -O3 -Tf    SHExpandDH.F95
SHExpandDH.F95(81): warning #5117: Bad # preprocessor line
#ifdef FFTW3_UNDERSCORE
-^
SHExpandDH.F95(82): warning #5117: Bad # preprocessor line
#define dfftw_plan_dft_r2c_1d dfftw_plan_dft_r2c_1d_
-^
SHExpandDH.F95(83): warning #5117: Bad # preprocessor line
#define dfftw_execute dfftw_execute_
-^
SHExpandDH.F95(84): warning #5117: Bad # preprocessor line
#define dfftw_destroy_plan dfftw_destroy_plan_
-^
SHExpandDH.F95(85): warning #5117: Bad # preprocessor line
#endif
-^
ifort -c -m64 -free -O3 -Tf    SHExpandDHC.F95
SHExpandDHC.F95(86): warning #5117: Bad # preprocessor line
#ifdef FFTW3_UNDERSCORE
-^
SHExpandDHC.F95(87): warning #5117: Bad # preprocessor line
#define dfftw_plan_dft_1d dfftw_plan_dft_1d_
-^
SHExpandDHC.F95(88): warning #5117: Bad # preprocessor line
#define dfftw_execute dfftw_execute_
-^
SHExpandDHC.F95(89): warning #5117: Bad # preprocessor line
#define dfftw_destroy_plan dfftw_destroy_plan_
-^
SHExpandDHC.F95(90): warning #5117: Bad # preprocessor line
#endif
-^
ifort -c -m64 -free -O3 -Tf    SHExpandGLQ.F95
SHExpandGLQ.F95(66): warning #5117: Bad # preprocessor line
#ifdef FFTW3_UNDERSCORE
-^
SHExpandGLQ.F95(67): warning #5117: Bad # preprocessor line
#define dfftw_plan_dft_r2c_1d dfftw_plan_dft_r2c_1d_
-^
SHExpandGLQ.F95(68): warning #5117: Bad # preprocessor line
#define dfftw_execute dfftw_execute_
-^
SHExpandGLQ.F95(69): warning #5117: Bad # preprocessor line
#define dfftw_destroy_plan dfftw_destroy_plan_
-^
SHExpandGLQ.F95(70): warning #5117: Bad # preprocessor line
#endif
-^
ifort -c -m64 -free -O3 -Tf    SHExpandGLQC.F95
SHExpandGLQC.F95(67): warning #5117: Bad # preprocessor line
#ifdef FFTW3_UNDERSCORE
-^
SHExpandGLQC.F95(68): warning #5117: Bad # preprocessor line
#define dfftw_plan_dft_1d dfftw_plan_dft_1d_
-^
SHExpandGLQC.F95(69): warning #5117: Bad # preprocessor line
#define dfftw_execute dfftw_execute_
-^
SHExpandGLQC.F95(70): warning #5117: Bad # preprocessor line
#define dfftw_destroy_plan dfftw_destroy_plan_
-^
SHExpandGLQC.F95(71): warning #5117: Bad # preprocessor line
#endif
-^
ifort -c -m64 -free -O3 -Tf    MakeGravGradGridDH.F95
MakeGravGradGridDH.F95(95): warning #5117: Bad # preprocessor line
#ifdef FFTW3_UNDERSCORE
-^
MakeGravGradGridDH.F95(96): warning #5117: Bad # preprocessor line
#define dfftw_plan_dft_c2r_1d dfftw_plan_dft_c2r_1d_
-^
MakeGravGradGridDH.F95(97): warning #5117: Bad # preprocessor line
#define dfftw_execute dfftw_execute_
-^
MakeGravGradGridDH.F95(98): warning #5117: Bad # preprocessor line
#define dfftw_destroy_plan dfftw_destroy_plan_
-^
MakeGravGradGridDH.F95(99): warning #5117: Bad # preprocessor line
#endif
-^
ifort -c -m64 -free -O3 -Tf    MakeGravGridDH.F95
MakeGravGridDH.F95(94): warning #5117: Bad # preprocessor line
#ifdef FFTW3_UNDERSCORE
-^
MakeGravGridDH.F95(95): warning #5117: Bad # preprocessor line
#define dfftw_plan_dft_c2r_1d dfftw_plan_dft_c2r_1d_
-^
MakeGravGridDH.F95(96): warning #5117: Bad # preprocessor line
#define dfftw_execute dfftw_execute_
-^
MakeGravGridDH.F95(97): warning #5117: Bad # preprocessor line
#define dfftw_destroy_plan dfftw_destroy_plan_
-^
MakeGravGridDH.F95(98): warning #5117: Bad # preprocessor line
#endif
-^
ifort -c -m64 -free -O3 -Tf    MakeMagGridDH.F95
MakeMagGridDH.F95(79): warning #5117: Bad # preprocessor line
#ifdef FFTW3_UNDERSCORE
-^
MakeMagGridDH.F95(80): warning #5117: Bad # preprocessor line
#define dfftw_plan_dft_c2r_1d dfftw_plan_dft_c2r_1d_
-^
MakeMagGridDH.F95(81): warning #5117: Bad # preprocessor line
#define dfftw_execute dfftw_execute_
-^
MakeMagGridDH.F95(82): warning #5117: Bad # preprocessor line
#define dfftw_destroy_plan dfftw_destroy_plan_
-^
MakeMagGridDH.F95(83): warning #5117: Bad # preprocessor line
#endif
-^

COMPILATION OF SOURCE FILES SUCCESSFUL.

ar -r ../lib/libSHTOOLS-mp.a CilmPlus.o CilmMinus.o ComputeDG82.o ComputeDm.o DHaj.o djpi2.o FFTW3.o BAtoHilm.o MakeGrid2D.o GLQGridCoord.o MakeGridPoint.o PlanetsConstants.o PlBar.o PlBar_d1.o PLegendre.o PLegendreA.o PLegendreA_d1.o PlmBar.o PlmBar_d1.o PlmIndex.o PlmSchmidt.o PlmSchmidt_d1.o PlSchmidt.o PlSchmidt_d1.o PreGLQ.o Random.o SHAdmitCorr.o SHBias.o SHBiasK.o SHConvertCoef.o SHFindLWin.o SHGLQ.o SHLocalizedAdmitCorr.o SHMultiply.o SHMultiTaperCSE.o SHMultiTaperSE.o SHPowerSpectra.o SHRead.o SHReadJPL.o SHReturnTapersM.o SHRotateCoef.o SHRotateRealCoef.o SHTOOLS.o SphericalCapCoef.o Wigner3j.o DownContFilter.o SHRead2.o MakeGeoidGrid.o MakeCircleCoord.o SHMTCouplingMatrix.o SHReturnTapers.o SHSjkPG.o PlON.o PlON_d1.o PlmON.o PlmON_d1.o SHConfidence.o SHMagPowerSpectra.o SHPowerSpectraC.o SHBiasAdmitCorr.o SHCilmToVector.o YilmIndexVector.o ComputeDMap.o SHReturnTapersMap.o Curve2Mask.o MakeEllipseCoord.o CilmPlusRhoH.o CilmMinusRhoH.o BAtoHilmRhoH.o NormalGravity.o SHMultiTaperMaskSE.o SHMultiTaperMaskCSE.o SHBiasKMask.o EigValSym.o EigValVecSym.o EigValVecSymTri.o SHExpandLSQ.o SHMTDebias.o SHMTVarOpt.o MakeGridDH.o MakeGridDHC.o MakeGridGLQ.o MakeGridGLQC.o SHExpandDH.o SHExpandDHC.o SHExpandGLQ.o SHExpandGLQC.o MakeGravGradGridDH.o MakeGravGridDH.o MakeMagGridDH.o
ar: creating ../lib/libSHTOOLS-mp.a

ranlib  ../lib/libSHTOOLS-mp.a 

CREATION OF STATIC LIBRARY SUCCESSFUL.

LIBRARY AND MODULE FILES MOVED TO ../lib and ../modules

ARCHIVE SUCCESSFULLY CREATED
make[1]: Leaving directory '/home/thor/code/SHTOOLS-3.4/src'
make -C src -f Makefile clean-obs-mod
make[1]: Entering directory '/home/thor/code/SHTOOLS-3.4/src'
rm -f CilmPlus.o CilmMinus.o ComputeDG82.o ComputeDm.o DHaj.o djpi2.o FFTW3.o BAtoHilm.o MakeGrid2D.o GLQGridCoord.o MakeGridPoint.o PlanetsConstants.o PlBar.o PlBar_d1.o PLegendre.o PLegendreA.o PLegendreA_d1.o PlmBar.o PlmBar_d1.o PlmIndex.o PlmSchmidt.o PlmSchmidt_d1.o PlSchmidt.o PlSchmidt_d1.o PreGLQ.o Random.o SHAdmitCorr.o SHBias.o SHBiasK.o SHConvertCoef.o SHFindLWin.o SHGLQ.o SHLocalizedAdmitCorr.o SHMultiply.o SHMultiTaperCSE.o SHMultiTaperSE.o SHPowerSpectra.o SHRead.o SHReadJPL.o SHReturnTapersM.o SHRotateCoef.o SHRotateRealCoef.o SHTOOLS.o SphericalCapCoef.o Wigner3j.o DownContFilter.o SHRead2.o MakeGeoidGrid.o MakeCircleCoord.o SHMTCouplingMatrix.o SHReturnTapers.o SHSjkPG.o PlON.o PlON_d1.o PlmON.o PlmON_d1.o SHConfidence.o SHMagPowerSpectra.o SHPowerSpectraC.o SHBiasAdmitCorr.o SHCilmToVector.o YilmIndexVector.o ComputeDMap.o SHReturnTapersMap.o Curve2Mask.o MakeEllipseCoord.o CilmPlusRhoH.o CilmMinusRhoH.o BAtoHilmRhoH.o NormalGravity.o SHMultiTaperMaskSE.o SHMultiTaperMaskCSE.o SHBiasKMask.o 
rm -f EigValSym.o EigValVecSym.o EigValVecSymTri.o SHExpandLSQ.o SHMTDebias.o SHMTVarOpt.o
rm -f MakeGridDH.o MakeGridDHC.o MakeGridGLQ.o MakeGridGLQC.o SHExpandDH.o SHExpandDHC.o SHExpandGLQ.o SHExpandGLQC.o MakeGravGradGridDH.o MakeGravGridDH.o MakeMagGridDH.o
rm -f *.mod 
make[1]: Leaving directory '/home/thor/code/SHTOOLS-3.4/src'

MAKE SUCCESSFUL!

---------------------------------------------------------------------------------------------------
Compile your Fortran code with the following flags:

ifort -I/home/thor/code/SHTOOLS-3.4/modules -m64 -free -O3 -Tf -L/home/thor/code/SHTOOLS-3.4/lib -lSHTOOLS-mp -L/usr/local/lib -lfftw3 -lm -llapack -lblas
---------------------------------------------------------------------------------------------------

make -C examples/fortran -f Makefile all F95=ifort F95FLAGS="-m64 -free -O3 -Tf " LIBNAME="SHTOOLS-mp" FFTW="-L/usr/local/lib -lfftw3" LAPACK="-llapack " BLAS="-lblas"
make[1]: Entering directory '/home/thor/code/SHTOOLS-3.4/examples/fortran'
ifort MarsCrustalThickness/MarsCrustalThickness.f95 -I../../modules/ -m64 -free -O3 -Tf  -L../../lib -lSHTOOLS-mp -L/usr/local/lib -lfftw3 -lm -llapack  -lblas -o MarsCrustalThickness/MarsCrustalThickness
fortcom: Error: Unknown option "-L../../lib"
compilation aborted for -L../../lib (code 1)
Makefile:47: recipe for target 'MarsCrustalThickness/MarsCrustalThickness' failed
make[1]: *** [MarsCrustalThickness/MarsCrustalThickness] Error 1
make[1]: Leaving directory '/home/thor/code/SHTOOLS-3.4/examples/fortran'
Makefile:470: recipe for target 'fortran-tests-mp' failed
make: *** [fortran-tests-mp] Error 2```

Proposed renaming of class methods

I am proposing to rename several of the class methods for clarify and consistency. All methods are listed below, and the changes are highlighted in bold (the old names come after the colon). I understand that this breaks backwards compatibility, and we should not do this again, so let's try to get this right this time.

Please consider whether the underscores are necessary, and if some method names can be shortened. Also, please consider that I am not happy with the SHWindow method names number, to_shcoeffs, and to_shgrid.

Suggestions welcome!

SHCoeffs

  • from_array()
  • from_random()
  • from_zeros()
  • from_file()
  • to_file() : tofile()
  • to_array() : get_coeffs()
  • degrees() : get_degrees()
  • powerspectrum()
  • set_coeffs()
  • rotate()
  • convert() : return_coeffs()
  • make_complex() -> incorporate into convert()
  • make_real() -> incorporate into convert()
  • plot_powerspectrum()
  • expand()
  • info()
  • copy()

SHGrid

  • from_array()
  • from_file()
  • to_file() : tofile()
  • to_grid() to_array() : get_grid()
  • lats() : get_lats()
  • lons() : get_lons()
  • expand()
  • plot() : plot_rawdata()
  • plot3d() : plot_3dsphere
  • info()
  • copy()

SHWindow

  • from_cap()
  • from_mask()
  • to_array() : get_coeffs()
  • to_grid() : get_grid()
  • to_shcoeffs() : return_coeffs(), returns shcoeffs class instance
  • to_shgrid() : return_grid(), returns shgrid class instance
  • degrees() : get_degrees()
  • number() : get_k()
  • powerspectra()
  • rotate()
  • couplingmatrix() : get_couplingmatrix()
  • biasedpowerspectrum() : get_biasedpowerspectrum()
  • multitaperpowerspectrum() : get_multitaperpowerspectrum()
  • multitapercrosspowerspectrum() : get_multitapercrosspowerspectrum()
  • plot_windows()
  • plot_powerspectra()
  • plot_couplingmatrix()
  • info()
  • copy()

A documentation/code comment error

At:
https://shtools.oca.eu/shtools/pyshrotaterealcoef.html
https://shtools.oca.eu/shtools/pyshrotatecoef.html
src/fdoc/shrotatecoef.md
src/fdoc/shrotaterealcoef.md
pyshtools/shclasses/shcoeffsgrid.py line 872

Error:
alpha_y=alpha_x-pi/2, beta_x=beta_y, and gamma_y=gamma_x+pi/2.
My fix:
alpha_y=alpha_x-pi/2, beta_y=-beta_x, and gamma_y=gamma_x+pi/2.

Is my version correct?
I check the Euler angles ZYZ and ZXZ matrix from wiki,
and the code in src/SHRotateCoef.f95 line 110

    alpha = alpha - pi2
    gamma = gamma + pi2
    beta = -beta

autopep8

Could someone add either a script, or describe explicitly the commands that were used to autopep8 the python files here? This could perhaps be added to the wiki under "coding convections". This way we can try to ensure that new commits conform to this convection.

A few mistakes in the Complex spherical harmonics document

May be a few mistakes are in the Complex spherical harmonics document. The first one is "where
δ_{ij} is the Kronecker delta function", however no δ_{ij} is appeared in the formula (3), although the formula (3) is correct. The second one seems to be a symbol mistake. In formula (14), f_{lm} should be f_{l}^{m}.

install script setup.py

There are a few issues remaining:

  • Fortran part should be build by setup.py if possible
  • F95FLAGS are set manually
  • pip install -e . doesn't work. It imports the pyshtools dir from the base directory, not the one from build/ . pip uninstall pyshtools doesn't seem to clean up properly in this case either.

Can not rebuild pyshtools in editable mode after uninstalling

pip3 uninstall pyshtools and pip3 install -v -e . does not correctly rebuild the pyshtools archive.

Steps to reproduce: I first did

make clean
sudo make uninstall
pip3 uninstall pyshtools

and I manually removed any pyshtools folders in /usr/local/lib/python3.5/site-packages.

Next trying to install locally in editable mode gave the following output:

[me3-2:~/SphericalHarmonics/shtools-git] me% pip3 install pyshtools -v -e .
Obtaining file:///Users/me/SphericalHarmonics/shtools-git
  Running setup.py (path:/Users/me/SphericalHarmonics/shtools-git/setup.py) egg_info for package from file:///Users/me/SphericalHarmonics/shtools-git
    Running command python setup.py egg_info
    INSTALLING SHTOOLS 3.4.post0+5f24c7a
    customize Gnu95FCompiler
    Found executable /usr/local/bin/gfortran
    customize Gnu95FCompiler
    searching SHTOOLS in: build/temp.macosx-10.11-x86_64-3.5
    non-existing path in '': 'build/temp.macosx-10.11-x86_64-3.5'
    non-existing path in '': 'build/temp.macosx-10.11-x86_64-3.5'
    running egg_info
    running build_src
    build_src
    building library "SHTOOLS" sources
    building extension "pyshtools._SHTOOLS" sources
    creating build
    creating build/src.macosx-10.11-x86_64-3.5
    creating build/src.macosx-10.11-x86_64-3.5/src
    f2py options: ['--quiet', '--quiet']
    f2py: src/pyshtools.pyf
      adding 'build/src.macosx-10.11-x86_64-3.5/fortranobject.c' to sources.
      adding 'build/src.macosx-10.11-x86_64-3.5' to include_dirs.
    copying /usr/local/lib/python3.5/site-packages/numpy/f2py/src/fortranobject.c -> build/src.macosx-10.11-x86_64-3.5
    copying /usr/local/lib/python3.5/site-packages/numpy/f2py/src/fortranobject.h -> build/src.macosx-10.11-x86_64-3.5
      adding 'build/src.macosx-10.11-x86_64-3.5/src/_SHTOOLS-f2pywrappers.f' to sources.
    building extension "pyshtools._constant" sources
    f2py options: ['--quiet']
    f2py:> build/src.macosx-10.11-x86_64-3.5/pyshtools/_constantmodule.c
    creating build/src.macosx-10.11-x86_64-3.5/pyshtools
      adding 'build/src.macosx-10.11-x86_64-3.5/fortranobject.c' to sources.
      adding 'build/src.macosx-10.11-x86_64-3.5' to include_dirs.
      adding 'build/src.macosx-10.11-x86_64-3.5/pyshtools/_constant-f2pywrappers2.f90' to sources.
    build_src: building npy-pkg config files
    creating pyshtools.egg-info
    writing top-level names to pyshtools.egg-info/top_level.txt
    writing dependency_links to pyshtools.egg-info/dependency_links.txt
    writing pyshtools.egg-info/PKG-INFO
    writing manifest file 'pyshtools.egg-info/SOURCES.txt'
    warning: manifest_maker: standard file '-c' not found

    reading manifest file 'pyshtools.egg-info/SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    writing manifest file 'pyshtools.egg-info/SOURCES.txt'
  Source in /Users/me/SphericalHarmonics/shtools-git has version 3.4.post0+5f24c7a, which satisfies requirement pyshtools==3.4.post0+5f24c7a from file:///Users/me/SphericalHarmonics/shtools-git
Collecting pyshtools
  1 location(s) to search for versions of pyshtools:
  * https://pypi.python.org/simple/pyshtools/
  Getting page https://pypi.python.org/simple/pyshtools/
  Looking up "https://pypi.python.org/simple/pyshtools/" in the cache
  Current age based on date: 511
  Freshness lifetime from max-age: 600
  Freshness lifetime from request max-age: 600
  The response is "fresh", returning cached response
  600 > 511
  Analyzing links from page https://pypi.python.org/simple/pyshtools/
    Found link https://pypi.python.org/packages/9c/e5/7fe23d6f7103cf868e8c859621d99a2f8bb837d418d0f4a106c2aa6450a4/pyshtools-3.4.tar.gz#md5=93fa41094bea6ccc7476b1da38d6c4ef (from https://pypi.python.org/simple/pyshtools/), version: 3.4
  Using version 3.4 (newest of versions: 3.4)
  Using cached wheel link: file:///Users/me/Library/Caches/pip/wheels/33/24/08/46c8ff4e47e1f1d7977d89d4167c1986e1858a2676b6193685/pyshtools-3.4-cp35-cp35m-macosx_10_11_x86_64.whl
Installing collected packages: pyshtools

Successfully installed pyshtools-3.4
Cleaning up..

The fortran files were not rebuilt. Furthermore, I note that a directory pyshtools and pyshtools-3.4-dist-info were created in /usr/local/lib/python3.5/site-packages These later directories seem to come from some sort of cache. However, since the compiled python .SO files are not rebuilt/re-copied in the local directory, when I start ipython in the local directory, it is impossible to import the pyshools module as the compiled files don't exist.

Map improvements

  • Add color bars to maps using the plot() methods.
  • Add labels in 30 degree intervals.
  • Add map projections following this.

problem caused by the origin of the longitude

Something seems wrong with the origin of the longitude for SHTOOLS in python version. When the origin of the longitude is set to zero, it works well for topo_grid.lons(), topo_grid.plot() and MakeGridPoint, but it gives the wrong result in Multitaper spectral analysis, which may be caused by the phase shift in longitude. In contrast, when the origin of the longitude is set to 180W(actually, it is the default case in SHTOOLS), it doesn't work well for topo_grid.lons(), topo_grid.plot() and MakeGridPoint, but it give the correct result in Multitaper spectral analysis. I think the inaccordance can be solved by setting the orign of longitude to an unified location, such as zero.

encoding error in pyshtools/constant/__init__.py

Hi,

I install pyshtools on windows, python3.6.

And when I call

import pyshtools

I got an encoding error:

Traceback (most recent call last):
  File "C:\Users\CGlab_Server\Desktop\test\sht.py", line 2, in <module>
    import pyshtools as st
  File "C:\Users\CGlab_Server\AppData\Local\Programs\Python\Python36\lib\site-packages\pyshtools\__init__.py", line 48, in <module>
    from . import constant
  File "C:\Users\CGlab_Server\AppData\Local\Programs\Python\Python36\lib\site-packages\pyshtools\constant\__init__.py", line 68, in <module>
    _pydoc = _pydocfile.read()
UnicodeDecodeError: 'cp950' codec can't decode byte 0xe2 in position 220: illegal multibyte sequence

I change line 67 in pyshtools\constant_init_.py to

with open(_path, encoding = 'utf8') as _pydocfile:
            _pydoc = _pydocfile.read()

then the error is fixed.

PLegendre & PLegendreA crash kernel if z > 1

I am reporting the crash caused by using z > 1 for PLegendre & PLegendreA:

Error --- PLegendreA
 ABS(Z) must be less than or equal to 1.
 Input value is    2.0000000000000000

It should be able to report the error to the user but not crash the kernel. Ipython notebook reports the kernel failed and will restart while ipython in the terminal completely crashes.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.