Skip to content

Commit 609f7db

Browse files
authored
Merge pull request #10 from ESMG/dev
Finalize release 0.3.0
2 parents a9f9a89 + 0423efd commit 609f7db

Some content is hidden

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

70 files changed

+8343
-6755
lines changed

.github/workflows/base.yml

+15-7
Original file line numberDiff line numberDiff line change
@@ -45,17 +45,21 @@ jobs:
4545
echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}."
4646
echo "💡 The ${{ github.repository }} repository has been cloned to the runner."
4747
echo "🖥️ The workflow is now ready to test your code on the runner."
48-
uname -a
49-
pwd
50-
df -h
51-
printenv
48+
mkdir -p output
49+
uname -a > output/env.txt
50+
pwd >> output/env.txt
51+
df -h >> output/env.txt
52+
df -h . >> output/env.txt
53+
printenv >> output/env.txt
5254
5355
# The worker drops you in the middle of your checked out repository
5456
- name: Install
5557
run: |
56-
conda env create -q -f conda/gridTools_export.yml
58+
conda env create -q -f conda/gridTools_export-linux-64.yml
5759
conda activate gridTools
60+
conda list > output/conda.txt
5861
python -m pip install -q -e .
62+
pip list > output/pip.txt
5963
6064
# Run tests
6165
- name: Tests
@@ -64,5 +68,9 @@ jobs:
6468
conda activate gridTools
6569
cd tests
6670
pytest -rA
67-
68-
71+
# Archive output to github artifacts
72+
- name: Archive
73+
uses: actions/upload-artifact@v2
74+
with:
75+
name: artifact-output
76+
path: output/*.txt

.readthedocs.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,4 @@ formats:
1010
- pdf
1111

1212
conda:
13-
environment: binder/environment.yml
13+
environment: conda/gridTools_export-linux-64-RTD.yml

README.md

+19-19
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,11 @@ provided. Once software and libraries are installed, the remaining
108108
software should be installable via pip and/or python's virtual
109109
environment (venv).
110110

111+
**WARNING**: If a new enviroment is to be prepared with `conda/gridTools.yml`,
112+
be prepared to wait a VERY LONG TIME for conda to resolve the
113+
environment. It is highly recommened to load a new environment with
114+
`conda/gridTools_export.yml` or `conda/gridTools_explicit-linux-64.txt`.
115+
111116
## Step 2
112117

113118
[Download](https://github.com/ESMG/gridtools/archive/refs/heads/main.zip)
@@ -135,6 +140,15 @@ plan to install a copy of the grid generation software.
135140
NOTE: These workarounds should be automatically installed with
136141
an installation of gridtools in step 2 using pip.
137142

143+
## nodejs
144+
145+
OPTIONAL: This package is optional. If not using **conda**, this package
146+
is needed to avoid a warning when starting up jupyter.
147+
148+
```
149+
Could not determine jupyterlab build status without nodejs.
150+
```
151+
138152
## numpypi
139153

140154
Portable intrinsics for numpy ([REPO](https://github.com/adcroft/numpypi)).
@@ -151,20 +165,6 @@ xesmf and then pip replaces it with a fixed copy.
151165
Users using **venv**, a working compiled copy of ESMF and ESMPy need to
152166
be installed prior to installing gridutils via pip.
153167

154-
# Code contributions
155-
156-
## Lambert Conformal Conic Grid Generation
157-
Author: Niki Zadeh [REPO](https://github.com/nikizadehgfdl/grid_generation)
158-
* [regional_grid_spheical.ipynb](https://github.com/nikizadehgfdl/grid_generation/blob/dev/jupynotebooks/regional_grid_spherical.ipynb)
159-
160-
## Portable intrinsics for numpy
161-
Author: Alistair Adcroft [REPO](https://github.com/adcroft/numpypi)
162-
* To obtain bitwise-the-same floating-point values in certain non-time-critical calculations.
163-
164-
## ROMS to MOM6 Grid Converter
165-
Authors: Mehmet Ilicak; Alistair Adcroft [REPO](https://github.com/ESMG/pyroms)
166-
* [convert_ROMS_grid_to_MOM6.py](https://raw.githubusercontent.com/ESMG/pyroms/python3/examples/grid_MOM6/convert_ROMS_grid_to_MOM6.py)
167-
168168
# More
169169

170170
Until we can activate Sphinx to create our body of documentation we will have to resort
@@ -174,17 +174,17 @@ Documentation:
174174
* [conda](docs/conda/README.md)
175175
* [development](docs/development)
176176
* [CHANGELOG](docs/development/CHANGELOG.md): Development log of changes
177-
* [CREDITS](docs/development/CREDITS.md)
177+
* [CREDITS](docs/development/CREDITS.md) and citations
178178
* [Documentation](docs/development/Documentation.md)
179179
* [DEPLOY](docs/development/DEPLOY.md)
180180
* [Design](docs/development/Design.md): Design elements for the grid generation library
181181
* [Important References](docs/development/ImportantReferences.md): Things that helped this project work
182182
* [Jupyter](docs/development/Jupyter.md): Notes on embeddeding applications within a notebook
183183
* [python](docs/development/python)
184-
* [leaflet](docs/development/python/leaflet.md)
185-
* [panel](docs/development/python/panel.md)
186-
* [pyroms](docs/development/python/pyroms.md)
187-
* [xesmf](docs/development/python/xesmf.md)
184+
* [leaflet](docs/development/python/libraries/leaflet.md)
185+
* [panel](docs/development/python/libraries/panel.md)
186+
* [pyroms](docs/development/python/libraries/pyroms.md)
187+
* [xesmf](docs/development/python/libraries/xesmf.md)
188188
* [TODO](docs/development/TODO.md): Milestones, tasks, todos and wish list items
189189
* [archive](docs/archive) -- Archive of completed TODOs
190190
* [releases](docs/releases) -- Release information

binder/environment.yml

+78-26
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ dependencies:
88
- _openmp_mutex=4.5=1_gnu
99
- alabaster=0.7.12=py_0
1010
- alsa-lib=1.2.3=h516909a_0
11-
- anyio=3.2.0=py37h89c1867_0
11+
- anyio=3.2.1=py37h89c1867_0
12+
- appdirs=1.4.4=pyh9f0ad1d_0
1213
- argon2-cffi=20.1.0=py37h5e8e339_2
1314
- async_generator=1.10=py_0
1415
- attrs=21.2.0=pyhd8ed1ab_0
@@ -18,17 +19,22 @@ dependencies:
1819
- backports.functools_lru_cache=1.6.4=pyhd8ed1ab_0
1920
- bleach=3.3.0=pyh44b312d_0
2021
- bokeh=2.3.2=py37h89c1867_0
22+
- boost-cpp=1.74.0=hc6e9bd1_3
2123
- brotlipy=0.7.0=py37h5e8e339_1001
2224
- bzip2=1.0.8=h7f98852_4
2325
- c-ares=1.17.1=h7f98852_1
2426
- ca-certificates=2021.5.30=ha878542_0
27+
- cairo=1.16.0=h6cf1ce9_1008
2528
- cartopy=0.19.0.post1=py37h0c48da3_0
2629
- certifi=2021.5.30=py37h89c1867_0
2730
- cf_xarray=0.5.2=pyh6c4a22f_0
2831
- cffi=1.14.5=py37hc58025e_0
32+
- cfitsio=3.470=hb418390_7
2933
- cftime=1.5.0=py37h6f94858_0
3034
- chardet=4.0.0=py37h89c1867_1
31-
- click=8.0.1=py37h89c1867_0
35+
- click=7.1.2=pyh9f0ad1d_0
36+
- click-plugins=1.1.1=py_0
37+
- cligj=0.7.2=pyhd8ed1ab_0
3238
- cloudpickle=1.6.0=py_0
3339
- colorama=0.4.4=pyh9f0ad1d_0
3440
- colorcet=2.0.6=py_0
@@ -40,34 +46,44 @@ dependencies:
4046
- cycler=0.10.0=py_2
4147
- cython=0.29.23=py37hcd2ae1e_1
4248
- cytoolz=0.11.0=py37h5e8e339_3
43-
- dask=2021.6.1=pyhd8ed1ab_0
44-
- dask-core=2021.6.1=pyhd8ed1ab_0
49+
- dask=2021.6.2=pyhd8ed1ab_0
50+
- dask-core=2021.6.2=pyhd8ed1ab_0
4551
- dataclasses=0.8=pyhc8e2a94_1
4652
- datashader=0.13.0=py_0
4753
- datashape=0.5.4=py_1
4854
- dbus=1.13.6=h48d8840_2
4955
- decorator=5.0.9=pyhd8ed1ab_0
5056
- defusedxml=0.7.1=pyhd8ed1ab_0
51-
- distributed=2021.6.1=py37h89c1867_0
57+
- distributed=2021.6.2=py37h89c1867_0
5258
- docrep=0.2.7=py_0
5359
- docutils=0.16=py37h89c1867_3
5460
- entrypoints=0.3=pyhd8ed1ab_1003
55-
- esmf=8.1.1=nompi_hb4f3075_0
56-
- esmpy=8.1.1=nompi_py37hff16fce_0
61+
- esmf=8.1.0=nompi_hed08645_0
62+
- esmpy=8.1.0=nompi_py37hff16fce_0
5763
- expat=2.4.1=h9c3ff4c_0
64+
- fiona=1.8.18=py37h17d6ad9_1
5865
- fontconfig=2.13.1=hba837de_1005
5966
- freetype=2.10.4=h0708190_1
60-
- fsspec=2021.6.0=pyhd8ed1ab_0
67+
- freexl=1.0.6=h7f98852_0
68+
- fsspec=2021.6.1=pyhd8ed1ab_0
6169
- future=0.18.2=py37h89c1867_3
70+
- gdal=3.2.1=py37hc5bc4e4_7
71+
- geopandas=0.9.0=pyhd8ed1ab_0
6272
- geos=3.9.1=h9c3ff4c_2
73+
- geotiff=1.6.0=h2b14fbe_4
74+
- geoviews=1.9.1=py_0
75+
- geoviews-core=1.9.1=py_0
6376
- gettext=0.19.8.1=h0b5b191_1005
77+
- giflib=5.2.1=h36c2ea0_2
6478
- glib=2.68.3=h9c3ff4c_0
6579
- glib-tools=2.68.3=h9c3ff4c_0
6680
- gst-plugins-base=1.18.4=hf529b03_2
6781
- gstreamer=1.18.4=h76c114f_2
6882
- hdf4=4.2.15=h10796ff_3
6983
- hdf5=1.10.6=nompi_h6a2412b_1114
7084
- heapdict=1.0.1=py_0
85+
- holoviews=1.14.4=py_0
86+
- hvplot=0.7.2=py_0
7187
- icu=68.1=h58526e2_0
7288
- idna=2.10=pyh9f0ad1d_0
7389
- imagesize=1.2.0=py_0
@@ -77,64 +93,73 @@ dependencies:
7793
- ipykernel=5.5.5=py37h085eea5_0
7894
- ipython=7.24.1=py37h085eea5_0
7995
- ipython_genutils=0.2.0=py_1
80-
- jbig=2.1=h7f98852_2003
96+
- ipywidgets=7.6.3=pyhd3deb0d_0
8197
- jedi=0.18.0=py37h89c1867_2
8298
- jinja2=3.0.1=pyhd8ed1ab_0
8399
- jpeg=9d=h36c2ea0_0
100+
- json-c=0.15=h98cffda_0
84101
- json5=0.9.5=pyh9f0ad1d_0
85102
- jsonschema=3.2.0=pyhd8ed1ab_3
103+
- jupyter=1.0.0=py37h89c1867_6
86104
- jupyter_client=6.1.12=pyhd8ed1ab_0
105+
- jupyter_console=6.4.0=pyhd8ed1ab_0
87106
- jupyter_core=4.7.1=py37h89c1867_0
88-
- jupyter_server=1.8.0=pyhd8ed1ab_0
107+
- jupyter_server=1.9.0=pyhd8ed1ab_0
89108
- jupyterlab=3.0.16=pyhd8ed1ab_0
90109
- jupyterlab_pygments=0.1.2=pyh9f0ad1d_0
91110
- jupyterlab_server=2.6.0=pyhd8ed1ab_0
111+
- jupyterlab_widgets=1.0.0=pyhd8ed1ab_1
112+
- kealib=1.4.14=hcc255d8_2
92113
- kiwisolver=1.3.1=py37h2527ec5_1
93114
- krb5=1.19.1=hcc1bbae_0
94115
- latexcodec=2.0.1=pyh9f0ad1d_0
95116
- lcms2=2.12=hddcbb42_0
96117
- ld_impl_linux-64=2.35.1=hea4e1c9_2
97-
- lerc=2.2.1=h9c3ff4c_0
98118
- libblas=3.9.0=9_openblas
99119
- libcblas=3.9.0=9_openblas
100120
- libclang=11.1.0=default_ha53f305_1
101121
- libcurl=7.77.0=h2574ce0_0
102-
- libdeflate=1.7=h7f98852_5
122+
- libdap4=3.20.6=hd7c4107_2
103123
- libedit=3.1.20191231=he28a2e2_2
104124
- libev=4.33=h516909a_1
105125
- libevent=2.1.10=hcdb4288_3
106126
- libffi=3.3=h58526e2_2
107127
- libgcc-ng=9.3.0=h2828fa1_19
128+
- libgdal=3.2.1=h38ff51b_7
108129
- libgfortran-ng=9.3.0=hff62375_19
109130
- libgfortran5=9.3.0=hff62375_19
110131
- libglib=2.68.3=h3e27bee_0
111132
- libgomp=9.3.0=h2828fa1_19
112133
- libiconv=1.16=h516909a_0
134+
- libkml=1.3.0=h238a007_1013
113135
- liblapack=3.9.0=9_openblas
114136
- libllvm10=10.0.1=he513fc3_3
115137
- libllvm11=11.1.0=hf817b99_2
116-
- libnetcdf=4.8.0=nompi_hcd642e3_103
138+
- libnetcdf=4.7.4=nompi_h56d31a8_107
117139
- libnghttp2=1.43.0=h812cca2_0
118140
- libogg=1.3.4=h7f98852_1
119141
- libopenblas=0.3.15=pthreads_h8fe5266_1
120142
- libopus=1.3.1=h7f98852_1
121143
- libpng=1.6.37=h21135ba_2
122144
- libpq=13.3=hd57d9b9_0
145+
- librttopo=1.1.0=h1185371_6
123146
- libsodium=1.0.18=h36c2ea0_1
147+
- libspatialindex=1.9.3=h9c3ff4c_3
148+
- libspatialite=5.0.1=he52d314_3
124149
- libssh2=1.9.0=ha56f1ee_6
125150
- libstdcxx-ng=9.3.0=h6de172a_19
126-
- libtiff=4.3.0=hf544144_1
151+
- libtiff=4.2.0=hbd63e13_2
127152
- libuuid=2.32.1=h7f98852_1000
153+
- libuv=1.41.0=h7f98852_0
128154
- libvorbis=1.3.7=h9c3ff4c_0
129155
- libwebp-base=1.2.0=h7f98852_2
130156
- libxcb=1.13=h7f98852_1003
131157
- libxkbcommon=1.0.3=he3ba5ed_0
132158
- libxml2=2.9.12=h72842e0_0
133-
- libzip=1.8.0=h4de3113_0
134159
- llvmlite=0.36.0=py37h9d7f4d0_0
135160
- locket=0.2.0=py_2
136161
- lz4-c=1.9.3=h9c3ff4c_0
137-
- m2r2=0.2.7=pyhd3deb0d_0
162+
- m2r2=0.2.8=pyhd8ed1ab_0
138163
- markdown=3.3.4=pyhd8ed1ab_0
139164
- markupsafe=2.0.1=py37h5e8e339_0
140165
- matplotlib=3.4.2=py37h89c1867_0
@@ -144,27 +169,30 @@ dependencies:
144169
- more-itertools=8.8.0=pyhd8ed1ab_0
145170
- msgpack-python=1.0.2=py37h2527ec5_1
146171
- multipledispatch=0.6.0=py_0
147-
- mysql-common=8.0.25=ha770c72_2
148-
- mysql-libs=8.0.25=hfa10184_2
172+
- munch=2.5.0=py_0
173+
- mysql-common=8.0.25=ha770c72_0
174+
- mysql-libs=8.0.25=h935591d_0
149175
- nbclassic=0.3.1=pyhd8ed1ab_1
150176
- nbclient=0.5.3=pyhd8ed1ab_0
151-
- nbconvert=6.0.7=py37h89c1867_3
177+
- nbconvert=6.1.0=py37h89c1867_0
152178
- nbformat=5.1.3=pyhd8ed1ab_0
153179
- ncurses=6.2=h58526e2_4
154180
- nest-asyncio=1.5.1=pyhd8ed1ab_0
155-
- netcdf-fortran=4.5.3=nompi_hf3f1587_104
156-
- netcdf4=1.5.7=nompi_py37h946d57d_100
181+
- netcdf-fortran=4.5.3=nompi_h996563d_103
182+
- netcdf4=1.5.6=nompi_py37hf7b6e46_102
183+
- nodejs=15.14.0=h92b4a50_0
157184
- notebook=6.4.0=pyha770c72_0
158185
- nspr=4.30=h9c3ff4c_0
159186
- nss=3.67=hb5efdd6_0
160187
- numba=0.53.1=py37hb11d6e1_1
161-
- numpy=1.20.3=py37h038b26d_1
188+
- numpy=1.21.0=py37h038b26d_0
162189
- olefile=0.46=pyh9f0ad1d_1
163190
- openjpeg=2.4.0=hb52868f_1
164191
- openssl=1.1.1k=h7f98852_0
192+
- owslib=0.24.1=pyhd8ed1ab_0
165193
- packaging=20.9=pyh44b312d_0
166-
- pandas=1.2.4=py37h219a48f_0
167-
- pandoc=2.14.0.2=h7f98852_0
194+
- pandas=1.2.5=py37h219a48f_0
195+
- pandoc=2.14.0.3=h7f98852_0
168196
- pandocfilters=1.4.2=py_1
169197
- panel=0.11.3=py_0
170198
- param=1.10.1=py_0
@@ -175,10 +203,16 @@ dependencies:
175203
- pickleshare=0.7.5=py_1003
176204
- pillow=8.2.0=py37h4600e1f_1
177205
- pip=21.1.2=pyhd8ed1ab_0
206+
- pixman=0.40.0=h36c2ea0_0
178207
- pluggy=0.13.1=py37h89c1867_4
208+
- pooch=1.4.0=pyhd8ed1ab_0
209+
- poppler=0.89.0=h2de54a5_5
210+
- poppler-data=0.4.10=0
211+
- postgresql=13.3=h2510834_0
179212
- proj=7.2.0=h277dcde_2
180213
- prometheus_client=0.11.0=pyhd8ed1ab_0
181214
- prompt-toolkit=3.0.19=pyha770c72_0
215+
- prompt_toolkit=3.0.19=hd8ed1ab_0
182216
- psutil=5.8.0=py37h5e8e339_1
183217
- pthread-stubs=0.4=h36c2ea0_1001
184218
- ptyprocess=0.7.0=pyhd3deb0d_0
@@ -211,11 +245,15 @@ dependencies:
211245
- pyyaml=5.4.1=py37h5e8e339_0
212246
- pyzmq=22.1.0=py37h336d617_0
213247
- qt=5.12.9=hda022c4_4
248+
- qtconsole=5.1.0=pyhd8ed1ab_0
249+
- qtpy=1.9.0=py_0
214250
- readline=8.1=h46c0cb4_0
215251
- requests=2.25.1=pyhd3deb0d_0
252+
- requests-unixsocket=0.2.0=py_0
253+
- rtree=0.9.7=py37h0b55af0_1
216254
- ruamel_yaml=0.15.80=py37h5e8e339_1004
217255
- scipy=1.6.3=py37h29e03ee_0
218-
- send2trash=1.5.0=py_0
256+
- send2trash=1.7.1=pyhd8ed1ab_0
219257
- setuptools=49.6.0=py37h89c1867_3
220258
- shapely=1.7.1=py37h2d1e849_5
221259
- six=1.16.0=pyh6c4a22f_0
@@ -235,27 +273,41 @@ dependencies:
235273
- tblib=1.7.0=pyhd8ed1ab_0
236274
- terminado=0.10.1=py37h89c1867_0
237275
- testpath=0.5.0=pyhd8ed1ab_0
276+
- tiledb=2.2.9=h91fcb0e_0
238277
- tk=8.6.10=h21135ba_1
239278
- toml=0.10.2=pyhd8ed1ab_0
240279
- toolz=0.11.1=py_0
241280
- tornado=6.1=py37h5e8e339_1
242281
- tqdm=4.61.1=pyhd8ed1ab_0
243282
- traitlets=5.0.5=py_0
244283
- typing_extensions=3.10.0.0=pyha770c72_0
284+
- tzcode=2021a=h7f98852_1
285+
- tzdata=2021a=he74cb21_0
245286
- urllib3=1.26.5=pyhd8ed1ab_0
246287
- wcwidth=0.2.5=pyh9f0ad1d_2
247288
- webencodings=0.5.1=py_1
248289
- websocket-client=0.57.0=py37h89c1867_4
249290
- wheel=0.36.2=pyhd3deb0d_0
291+
- widgetsnbextension=3.5.1=py37h89c1867_4
250292
- xarray=0.18.2=pyhd8ed1ab_0
293+
- xerces-c=3.2.3=h9d8b166_2
251294
- xesmf=0.5.3=pyhd8ed1ab_0
252295
- xgcm=0.5.2=pyhd8ed1ab_0
296+
- xorg-kbproto=1.0.7=h7f98852_1002
297+
- xorg-libice=1.0.10=h7f98852_0
298+
- xorg-libsm=1.2.3=hd9c2040_1000
299+
- xorg-libx11=1.7.2=h7f98852_0
253300
- xorg-libxau=1.0.9=h7f98852_0
254301
- xorg-libxdmcp=1.1.3=h7f98852_0
302+
- xorg-libxext=1.3.4=h7f98852_1
303+
- xorg-libxrender=0.9.10=h7f98852_1003
304+
- xorg-renderproto=0.11.1=h7f98852_1002
305+
- xorg-xextproto=7.3.0=h7f98852_1002
306+
- xorg-xproto=7.0.31=h7f98852_1007
255307
- xz=5.2.5=h516909a_1
256308
- yaml=0.2.5=h516909a_0
257309
- zeromq=4.3.4=h9c3ff4c_0
258310
- zict=2.0.0=py_0
259311
- zipp=3.4.1=pyhd8ed1ab_0
260312
- zlib=1.2.11=h516909a_1010
261-
- zstd=1.5.0=ha95c52a_0
313+
- zstd=1.4.9=ha95c52a_0

0 commit comments

Comments
 (0)