Skip to content

Commit 19eb6a9

Browse files
author
Mark Wieczorek
authored
Merge pull request SHTOOLS#57 from SHTOOLS/develop
Version 3.4
2 parents debb90a + b55fa4c commit 19eb6a9

File tree

282 files changed

+203316
-811
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

282 files changed

+203316
-811
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
*.so.dSYM/
77
NONE/
88
build/
9+
dist/
910
pyshtools/doc/
1011
examples/notebooks/.ipynb_checkpoints/
1112
pyshtools.egg-info/

.travis.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ before_install:
1919
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
2020
brew install fftw --with-fortran;
2121
else
22+
sudo apt-get update;
2223
sudo apt-get install libblas-dev liblapack-dev g++ gfortran libfftw3-dev tcsh;
2324
fi
2425

@@ -45,10 +46,17 @@ install:
4546
numpy
4647
scipy
4748
matplotlib
49+
jupyter
50+
- conda install nbconvert
4851
- source activate test-environment
4952
- pip install --no-deps .
5053

5154
script:
55+
- if [[ "${PYTHON_VERSION:0:1}" == '2' ]]; then
56+
make notebooks2;
57+
else
58+
make notebooks3;
59+
fi
5260
- mkdir empty
5361
- cd empty
5462
- python -c "import pyshtools"

MANIFEST.in

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,10 @@ graft examples/ExampleDataFiles
99
recursive-include examples/fortran *.f95 input* Makefile
1010
recursive-include examples/python *.py Makefile
1111
recursive-include examples/notebooks *.ipynb
12-
include examples/python/ClassInterface/topo.dat.gz
1312

1413
graft src/pydoc
1514
graft src/fdoc
16-
recursive-include src *.py
15+
recursive-include src *.py *.pyf
1716

1817
graft man
1918
graft www

Makefile

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,12 @@
9797
# make clean-python-tests
9898
# Detele all compiled python tests
9999
#
100+
# make notebooks
101+
# Detele all compiled python tests
102+
#
103+
# make clean-notebooks
104+
# Detele all compiled python tests
105+
#
100106
# make doc
101107
# Create the man and html-man pages from input Markdown files.
102108
# These are PRE-MADE in the distribution. To remake these
@@ -109,7 +115,7 @@
109115
#
110116
#####################################################################################
111117

112-
VERSION = 3.3
118+
VERSION = 3.4
113119
LIBNAME = SHTOOLS
114120
LIBNAMEMP = SHTOOLS-mp
115121

@@ -119,6 +125,8 @@ F2PY3 = f2py3
119125
PYTHON = python
120126
PYTHON3 = python3
121127
PYTHON_VERSION = all
128+
JUPYTER = "jupyter nbconvert --ExecutePreprocessor.kernel_name=python2"
129+
JUPYTER3 = "jupyter nbconvert --ExecutePreprocessor.kernel_name=python3"
122130

123131
SYSLIBPATH = /usr/local/lib
124132

@@ -136,6 +144,7 @@ LIBDIR = lib
136144
INCDIR = modules
137145
FEXDIR = examples/fortran
138146
PEXDIR = examples/python
147+
NBDIR = examples/notebooks
139148

140149
LIBPATH = $(PWD)/$(LIBDIR)
141150
MODPATH = $(PWD)/$(INCDIR)
@@ -200,7 +209,7 @@ endif
200209
run-python2-tests run-python3-tests install-fortran install-python\
201210
install-python2 install-python3 uninstall fortran-mp clean\
202211
clean-fortran-tests clean-python-tests clean-python2 clean-python3\
203-
clean-libs
212+
clean-libs clean-notebooks notebooks notebooks2 notebooks3
204213

205214

206215
all: fortran python
@@ -240,14 +249,17 @@ ifeq ($(PYTHON_VERSION),all)
240249
python: python2 python3
241250
install-python: install-python2 install-python3
242251
python-tests: python2-tests python3-tests
252+
notebooks: notebooks3 notebooks2
243253
else ifeq ($(PYTHON_VERSION),2)
244254
python: python2
245255
install-python: install-python2
246256
python-tests: python2-tests
257+
notebooks: notebooks2
247258
else ifeq ($(PYTHON_VERSION),3)
248259
python: python3
249260
install-python: install-python3
250261
python-tests: python3-tests
262+
notebooks: notebooks3
251263
else
252264
$(error $(PYTHON_VERSION) is unsupported.)
253265
endif
@@ -381,6 +393,14 @@ remove-doc:
381393
@echo
382394
@echo REMOVED MAN AND HTML-MAN FILES
383395

396+
notebooks2:
397+
@$(MAKE) -C $(NBDIR) -f Makefile JUPYTER=$(JUPYTER)
398+
@echo NOTEBOOK HTML FILES SUCCESSFULLY CREATED
399+
400+
notebooks3:
401+
@$(MAKE) -C $(NBDIR) -f Makefile JUPYTER=$(JUPYTER3)
402+
@echo NOTEBOOK HTML FILES SUCCESSFULLY CREATED
403+
384404
clean: clean-fortran-tests clean-python-tests clean-python2 clean-python3 clean-libs
385405

386406
clean-fortran-tests:
@@ -425,12 +445,18 @@ clean-libs:
425445
-rm -rf build
426446
-rm -rf pyshtools.egg-info
427447
-rm -f src/_SHTOOLS-f2pywrappers.f src/_SHTOOLSmodule.c
448+
-rm -f dist
428449
@echo
429450
@echo REMOVED LIB, MODULE, OBJECT FILES, COMPILED PYTHON FILES AND TESTS
430451
@echo
431452
@echo \*\*\* If you installed pyshtools using \"pip install -e .\" you should
432453
@echo \*\*\* also execute \"pip uninstall pyshtools\".
433454

455+
clean-notebooks:
456+
$(MAKE) -C $(NBDIR) -f Makefile clean
457+
@echo
458+
@echo REMOVED NOTEBOOK HTML FILES
459+
434460
fortran-tests: fortran
435461
$(MAKE) -C $(FEXDIR) -f Makefile all F95=$(F95) F95FLAGS="$(F95FLAGS)" LIBNAME="$(LIBNAME)" FFTW="$(FFTW)" LAPACK="$(LAPACK)" BLAS="$(BLAS)"
436462
@echo

README.md

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
![LOGO](logo.png)
1+
![LOGO](misc/logo.png)
22

33
[![Join the chat at https://gitter.im/SHTOOLS/SHTOOLS](https://badges.gitter.im/SHTOOLS/SHTOOLS.svg)](https://gitter.im/SHTOOLS/SHTOOLS?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
44
[![DOI](https://zenodo.org/badge/doi/10.5281/zenodo.60010.svg)](http://dx.doi.org/10.5281/zenodo.60010)
@@ -40,29 +40,28 @@ brew install fftw --with-fortran
4040
```
4141

4242
#### Python Library ####
43-
[Download](https://github.com/SHTOOLS/SHTOOLS/zipball/master) or clone the SHTOOLS repository. Enter the SHTOOLS folder that contains the file ```setup.py```, and then execute one of the following commands:
43+
```bash
44+
pip install pyshtools
45+
```
46+
Or, to install a developer version, [download](https://github.com/SHTOOLS/SHTOOLS/zipball/master) or clone the SHTOOLS repository, enter the SHTOOLS folder and then execute one of the following commands:
4447
```bash
4548
pip install . # installs into the active python environment lib folder
4649
pip install -v -e . # installs into the SHTOOLS/pyshtools folder and links to the active python environment
4750
```
4851

49-
#### Fortran Library and Manual Installation ####
50-
To install the Fortran 95 library or compile the Python 2 and Python 3 components manually
51-
enter one of the following
52-
```
52+
#### Fortran Library ####
53+
To install the Fortran 95 library, enter one of the following
54+
```bash
5355
make fortran
54-
make python2
55-
make python3
5656
make fortran-mp # Open-MP Fortran routines
5757
```
5858

59-
#### Brew package manager (OSX) ####
60-
61-
To install the Fortran 95, Python 2, and Python 3 components using the [brew](http://brew.sh/) package manager, enter
62-
```
59+
Or, with OSX, use the [brew](http://brew.sh/) package manager:
60+
```bash
6361
brew tap shtools/shtools
6462
brew install shtools
6563
```
64+
To also install the OpenMP components, add ```--with-openmp``` to the last command.
6665

6766
More installation instructions and options can be found in the [web documentation](https://shtools.ipgp.fr) and GitHub
6867
[wiki](https://github.com/SHTOOLS/SHTOOLS/wiki).
@@ -77,14 +76,14 @@ well as simple interfaces.
7776

7877
To get started, check out the following Python tutorial notebooks:
7978

80-
* [Introduction 1: A simple introduction to pyshtools: Grids and Coeffs](examples/notebooks/Introduction-1.ipynb)
81-
* [Introduction 2: A simple introduction to pyshtools: Localization windows and spectral analysis](examples/notebooks/Introduction-2.ipynb)
82-
* [tutorial 1: Simple Spherical Harmonic Expansions](examples/notebooks/tutorial_1.ipynb)
83-
* [tutorial 2: Localized Spectral Analysis on the Sphere](examples/notebooks/tutorial_2.ipynb)
84-
* [tutorial 3: The SHTOOLS Class Interface](examples/notebooks/tutorial_3.ipynb)
85-
* [tutorial 4: Spherical Harmonic Normalizations and Parseval's theorem](examples/notebooks/tutorial_4.ipynb)
86-
* [tutorial 5: Multitaper Spectral Estimation - SHWindows Class Interface](examples/notebooks/tutorial_5.ipynb)
87-
* [tutorial 6: 3D Spherical Harmonic Plots](examples/notebooks/tutorial_6.ipynb)
79+
* Introduction 1: Grids and Spherical Harmonic Coefficients [\[ipynb\]](examples/notebooks/Introduction-1.ipynb)
80+
* Introduction 2: Localization Windows and Spectral Analysis [\[ipynb\]](examples/notebooks/Introduction-2.ipynb)
81+
* Tutorial 1: Simple Spherical Harmonic Expansions [\[ipynb\]](examples/notebooks/tutorial_1.ipynb)
82+
* Tutorial 2: Localized Spectral Analysis on the Sphere [\[ipynb\]](examples/notebooks/tutorial_2.ipynb)
83+
* Tutorial 3: The SHTOOLS Class Interface [\[ipynb\]](examples/notebooks/tutorial_3.ipynb)
84+
* Tutorial 4: Spherical Harmonic Normalizations and Parseval's theorem [\[ipynb\]](examples/notebooks/tutorial_4.ipynb)
85+
* Tutorial 5: Multitaper Spectral Estimation - SHWindows Class Interface [\[ipynb\]](examples/notebooks/tutorial_5.ipynb)
86+
* Tutorial 6: 3D Spherical Harmonic Plots [\[ipynb\]](examples/notebooks/tutorial_6.ipynb)
8887

8988
You can keep up to date by following SHTOOLS on [Twitter](https://twitter.com/SH_tools).
9089

VERSION

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
SHTOOLS Version: 3.3
2-
Released August 11, 2016
1+
SHTOOLS Version: 3.4
2+
Released August 30, 2016

0 commit comments

Comments
 (0)