Skip to content

Commit b1aaa62

Browse files
author
Matt Garthwaite
authored
Merge pull request #356 from GeoscienceAustralia/release0.6.0
Release 0.6.0
2 parents c2260b9 + c0cdf6c commit b1aaa62

File tree

458 files changed

+26306
-4034
lines changed

Some content is hidden

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

458 files changed

+26306
-4034
lines changed

.github/workflows/build.yml

Lines changed: 51 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,38 @@
11
name: PyRate CI
22

3-
on: [push, pull_request]
3+
4+
on:
5+
pull_request:
6+
branches:
7+
- 'master'
8+
push:
9+
branches:
10+
- '**'
411

512
jobs:
613
build:
7-
runs-on: ubuntu-16.04
14+
if: ${{ ! (contains(github.event.head_commit.message, 'ci skip') || contains(github.event.head_commit.message, 'skip ci'))}}
15+
runs-on: ubuntu-18.04
816
name: Python ${{ matrix.python }}
9-
if: "!(contains(github.event.head_commit.message, '[skip ci]') || contains(github.event.pull_request.head_commit.message, '[ci skip]'))"
1017
strategy:
1118
matrix:
1219
include:
1320
- build: 1
14-
python-version: "3.6"
15-
GDALVERSION: "3.0.2"
16-
PROJVERSION: "6.1.1"
17-
- build: 2
1821
python-version: "3.7"
1922
GDALVERSION: "3.0.2"
2023
PROJVERSION: "6.2.1"
21-
- build: 3
24+
- build: 2
2225
python-version: "3.7"
2326
GDALVERSION: "3.0.4"
2427
PROJVERSION: "6.1.1"
25-
- build: 4
28+
- build: 3
2629
python-version: "3.8"
2730
GDALVERSION: "3.0.4"
2831
PROJVERSION: "6.1.1"
32+
- build: 4
33+
python-version: "3.9"
34+
GDALVERSION: "3.0.4"
35+
PROJVERSION: "6.3.2"
2936

3037
env:
3138
PIP_WHEEL_DIR: "/home/runner/.cache/pip/wheels"
@@ -36,6 +43,7 @@ jobs:
3643
PROJINST: "/home/runner/gdalinstall"
3744
PROJBUILD: "/home/runner/projbuild"
3845
PROJVERSION: ${{ matrix.PROJVERSION }}
46+
PYTHONVERSION: ${{ matrix.python-version }}
3947

4048
steps:
4149
- uses: actions/checkout@v2
@@ -44,35 +52,57 @@ jobs:
4452
with:
4553
path: |
4654
/home/runner/gdalinstall
47-
key: ${{ runner.os }}-GDAL-${{ matrix.GDALVERSION }}-proj-${{ matrix.PROJVERSION }}
55+
key: ${{ runner.os }}-cache-GDAL-${{ matrix.GDALVERSION }}-proj-${{ matrix.PROJVERSION }}
4856
- name: Set up Python ${{ matrix.python-version }}
4957
uses: actions/setup-python@v2
5058
with:
5159
python-version: ${{ matrix.python-version }}
52-
- name: Install packages
53-
run: sudo apt-get install libhdf5-serial-dev libgdal-dev libatlas-dev libatlas-base-dev gfortran openmpi-bin libopenmpi-dev
54-
- run: python -m pip install -U pip
55-
- run: python -m pip install wheel
60+
- name: Common set up ${{ matrix.python-version }}
61+
run: |
62+
sudo apt update
63+
sudo apt upgrade
64+
python -m pip install -U pip wheel
65+
- name: Install packages including openmpi
66+
if: env.PYTHONVERSION != '3.9'
67+
run: sudo apt install libhdf5-serial-dev libnetcdf13 libatlas-base-dev gfortran openmpi-bin libopenmpi-dev
68+
- name: Install packages except openmpi libraries
69+
if: env.PYTHONVERSION == '3.9'
70+
run: sudo apt install libhdf5-serial-dev libnetcdf13 libatlas-base-dev gfortran
5671
- name: Install proj ${{matrix.PROJVERSION}}
5772
run: |
5873
echo "PATH=$GDALINST/gdal-$GDALVERSION/bin:$PATH" >> $GITHUB_ENV
5974
echo "LD_LIBRARY_PATH=$GDALINST/gdal-$GDALVERSION/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV
6075
source ./scripts/ci_proj_install.sh
6176
- name: Install GDAL ${{matrix.GDALVERSION}}
6277
run: |
63-
source ./scripts/ci_gdal_install.sh
6478
echo "GDAL_DATA=$GDALINST/gdal-$GDALVERSION/share/gdal" >> $GITHUB_ENV
6579
echo "PROJ_LIB=$GDALINST/gdal-$GDALVERSION/share/proj" >> $GITHUB_ENV
66-
- name: Install PyRate
80+
echo "LDFLAGS=-L$GDALINST/gdal-$GDALVERSION/lib -Wl,-rpath,$GDALINST/gdal-$GDALVERSION/lib" >> $GITHUB_ENV
81+
source ./scripts/ci_gdal_install.sh
82+
- name: Python ${{ matrix.python-version }} with MPI
83+
if: env.PYTHONVERSION != '3.9'
6784
run: |
68-
sed -i '/^GDAL/d' requirements.txt
69-
pip install -r requirements.txt -r requirements-dev.txt -r requirements-test.txt
70-
pip install GDAL==$(gdal-config --version)
7185
python setup.py install
7286
rm -rf Py_Rate.egg-info # remove the local egg
73-
echo "PYTHONPATH=$PYRATEPATH:$PYTHONPATH" >> $GITHUB_ENV
87+
echo "PYTHONPATH=$(pwd):$PYTHONPATH" >> $GITHUB_ENV
7488
chmod 444 tests/test_data/small_test/tif/geo_070709-070813_unw.tif # makes the file readonly, used in a test
75-
- name: Test PyRate
89+
pip install -r requirements-dev.txt -r requirements-test.txt
90+
- name: Python ${{ matrix.python-version }} without MPI
91+
if: env.PYTHONVERSION == '3.9'
92+
run: |
93+
python setup.py install
94+
rm -rf Py_Rate.egg-info # remove the local egg
95+
echo "PYTHONPATH=$(pwd):$PYTHONPATH" >> $GITHUB_ENV
96+
chmod 444 tests/test_data/small_test/tif/geo_070709-070813_unw.tif # makes the file readonly, used in a test
97+
pip install -r requirements-test.txt
98+
- name: Test Pyrate in Python ${{ matrix.python-version }} with MPI
99+
if: env.PYTHONVERSION != '3.9'
76100
run: |
77101
pytest tests/ -m "slow"
102+
mpirun -n 3 pytest tests/test_shared.py -k test_tiles_split -s
78103
pytest --cov-config=.coveragerc --cov-report term-missing:skip-covered --cov=pyrate tests/ -m "not slow"
104+
- name: Test Pyrate in Python ${{ matrix.python-version }} without MPI
105+
if: env.PYTHONVERSION == '3.9'
106+
run: |
107+
pytest tests/ -m "not mpi and slow"
108+
pytest --cov-config=.coveragerc --cov-report term-missing:skip-covered --cov=pyrate tests/ -m "not slow and not mpi"

.travis.yml

Lines changed: 0 additions & 89 deletions
This file was deleted.

README.rst

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,21 +24,25 @@ Dependencies
2424

2525
The following system dependencies are required by PyRate:
2626

27-
- `Python <https://www.python.org/downloads/>`_, versions 3.6, 3.7 or 3.8.
27+
- `Python <https://www.python.org/downloads/>`_, versions 3.7, 3.8 or 3.9.
2828
- `GDAL <https://gdal.org/download.html>`_, versions 3.0.2 or 3.0.4
29+
30+
The following optional dependency is required for MPI processing capability:
31+
2932
- `Open MPI <https://www.open-mpi.org/software/ompi/v4.0/>`_, versions 2.1.6, 3.0.4, 3.1.4 or 4.0.2
3033

3134
The versions of each package stated above have been tested to work using `GitHub Actions <https://github.com/GeoscienceAustralia/PyRate/actions>`_ continuous integration testing.
3235

3336
Python dependencies for PyRate are::
3437

35-
joblib==0.14.1
38+
joblib==1.0.0
3639
mpi4py==3.0.3
37-
networkx==2.4
38-
numpy==1.18.3
39-
pyproj==2.6.0
40-
scipy==1.4.1
41-
numexpr==2.7.1
40+
networkx==2.5
41+
numpy==1.19.4
42+
pyproj==3.0.0
43+
scipy==1.5.4
44+
numexpr==2.7.2
45+
nptyping==1.4.0
4246

4347
Install
4448
-------

docs/PyRate_plot_screenshot.png

12.9 KB
Loading

docs/_build/html/404.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -374,7 +374,7 @@ <h1>
374374

375375
<div role="contentinfo">
376376
<p>
377-
&copy; Copyright 2020, Geoscience Australia
377+
&copy; Copyright 2021, Geoscience Australia
378378
</p>
379379
</div>
380380
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a

docs/authors.rst

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Development Lead
66
----------------
77

88
`PyRate` has been developed by `Geoscience Australia <http://www.ga.gov.au>`__
9-
with assistance from the `National Computational Infrastructure <http://nci.org.au/>`__.
9+
with some initial assistance from the `National Computational Infrastructure <http://nci.org.au/>`__.
1010

1111
Contact: `Geoscience Australia InSAR team <mailto:insar@ga.gov.au>`__
1212

@@ -25,9 +25,11 @@ Thanks to `all the contributors`_ who helped to build the ship and raise the sai
2525
* Matt Garthwaite (GA)
2626
* Simon Knapp (GA)
2727
* Sarah Lawrie (GA)
28+
* Jonathan Mettes (GA)
2829
* Negin Moghaddam (GA)
2930
* Brenainn Moushall (GA)
3031
* Vanessa Newey (GA)
3132
* Chandrakanta Ojha (GA)
3233
* Garrick Paskos (GA)
3334
* Nahidul Samrat (GA)
35+
* Richard Taylor (GA)

docs/conf.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import sphinx_rtd_theme
66

77

8-
__version__ = "0.5.0"
8+
__version__ = "0.6.0"
99
# -- General configuration ------------------------------------------------
1010

1111
# If your documentation needs a minimal Sphinx version, state it here.
@@ -25,7 +25,8 @@
2525
'matplotlib.sphinxext.plot_directive',
2626
'IPython.sphinxext.ipython_console_highlighting',
2727
'IPython.sphinxext.ipython_directive',
28-
'sphinxcontrib.programoutput'
28+
'sphinxcontrib.programoutput',
29+
'm2r2'
2930
]
3031

3132
# Add any paths that contain templates here, relative to this directory.
@@ -52,9 +53,9 @@
5253
# built documents.
5354
#
5455
# The short X.Y version.
55-
version = "0.4.0"
56+
version = __version__
5657
# The full version, including alpha/beta/rc tags.
57-
release = "0.4.0"
58+
release = __version__
5859

5960
# The language for content autogenerated by Sphinx. Refer to documentation
6061
# for a list of supported languages.

docs/config.rst

Lines changed: 0 additions & 5 deletions
This file was deleted.

docs/configuration.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
Configuration Module
2+
====================
3+
4+
.. automodule:: pyrate.configuration
5+
:members:

docs/contributing.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -112,8 +112,8 @@ Before you submit a pull request, check that it meets these guidelines:
112112
1. The pull request should include tests that cover new functionality.
113113
2. If the pull request adds functionality, the documentation should be updated.
114114
Put your new functionality into a function with a docstring.
115-
3. The pull request should work for Python 3.6+.
115+
3. The pull request should work for Python 3.7+.
116116

117-
Check https://travis-ci.org/GeoscienceAustralia/PyRate
118-
under pull requests for active pull requests or run the ``tox`` command and
117+
Check https://github.com/GeoscienceAustralia/PyRate/actions
118+
for active pull requests or run the ``tox`` command and
119119
make sure that the tests pass for all supported Python versions.

docs/demerror.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
DEM Error Correction Module
2+
===========================
3+
4+
.. automodule:: pyrate.core.dem_error
5+
:members:

docs/dependencies.rst

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,21 @@ Dependencies
44
The following dependencies need to be on your system (or in your working
55
environment) prior to `PyRate` installation:
66

7-
- Python_, versions 3.6, 3.7 or 3.8.
7+
- Python_, versions 3.7, 3.8 or 3.9.
88
- GDAL_, versions 3.0.2 or 3.0.4
9+
10+
The following optional dependency should be on your system if you want to make
11+
use of MPI processing:
12+
913
- `Open MPI`_, versions 2.1.6, 3.0.4, 3.1.4 or 4.0.2
1014

1115
The versions of each package stated above have been tested to work using
12-
`Travis CI`_ continuous integration testing.
16+
`GitHub Actions`_ continuous integration testing.
1317

1418
.. _Python: https://www.python.org/downloads/
1519
.. _GDAL: https://gdal.org/download.html
1620
.. _`Open MPI`: https://www.open-mpi.org/software/ompi/v4.0/
17-
.. _`Travis CI`: https://travis-ci.org/github/GeoscienceAustralia/PyRate
21+
.. _`GitHub Actions`: https://github.com/GeoscienceAustralia/PyRate/actions
1822

1923
Other Python dependencies that will be installed are listed in
2024
``PyRate/requirements.txt``.

docs/geometry.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
Geometry Module
2+
===============
3+
4+
.. automodule:: pyrate.core.geometry
5+
:members:

0 commit comments

Comments
 (0)