eo-tides 0.6.1.dev6__tar.gz → 0.6.2.dev8__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/.github/workflows/on-release-main.yml +6 -3
  2. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/PKG-INFO +1 -1
  3. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/eo_tides/model.py +55 -15
  4. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/pyproject.toml +1 -1
  5. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/tests/test_utils.py +10 -13
  6. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/tests/testing.ipynb +39 -4
  7. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/.editorconfig +0 -0
  8. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  9. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  10. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/.github/actions/setup-python-env/action.yml +0 -0
  11. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/.github/workflows/check-links.yml +0 -0
  12. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/.github/workflows/main.yml +0 -0
  13. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/.github/workflows/paper.yml +0 -0
  14. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/.gitignore +0 -0
  15. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/.pre-commit-config.yaml +0 -0
  16. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/CITATION.cff +0 -0
  17. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/CONTRIBUTING.md +0 -0
  18. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/Dockerfile +0 -0
  19. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/LICENSE +0 -0
  20. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/Makefile +0 -0
  21. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/README.md +0 -0
  22. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/codecov.yaml +0 -0
  23. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/docs/api.md +0 -0
  24. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/docs/assets/dtu23_download.jpg +0 -0
  25. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/docs/assets/eo-tides-abstract.gif +0 -0
  26. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/docs/assets/eo-tides-logo-128.png +0 -0
  27. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/docs/assets/eo-tides-logo-256.png +0 -0
  28. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/docs/assets/eo-tides-logo.gif +0 -0
  29. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/docs/assets/eo-tides-logo.png +0 -0
  30. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/docs/assets/eot20_download.jpg +0 -0
  31. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/docs/assets/fes_ftp.jpg +0 -0
  32. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/docs/assets/fes_myproducts.jpg +0 -0
  33. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/docs/assets/fes_productselection.jpg +0 -0
  34. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/docs/assets/fes_subscriptions.jpg +0 -0
  35. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/docs/assets/got_download.jpg +0 -0
  36. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/docs/assets/tide_models_clipped.jpg +0 -0
  37. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/docs/assets/tpxo_download.jpg +0 -0
  38. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/docs/changelog.md +0 -0
  39. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/docs/credits.md +0 -0
  40. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/docs/index.md +0 -0
  41. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/docs/install.md +0 -0
  42. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/docs/migration.md +0 -0
  43. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/docs/notebooks/Case_study_intertidal.ipynb +0 -0
  44. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/docs/notebooks/Model_tides.ipynb +0 -0
  45. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/docs/notebooks/Satellite_data.ipynb +0 -0
  46. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/docs/notebooks/Tide_statistics.ipynb +0 -0
  47. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/docs/notebooks/Validating_tides.ipynb +0 -0
  48. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/docs/setup.md +0 -0
  49. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/docs/stylesheets/extra.css +0 -0
  50. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/eo_tides/__init__.py +0 -0
  51. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/eo_tides/eo.py +0 -0
  52. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/eo_tides/stats.py +0 -0
  53. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/eo_tides/utils.py +0 -0
  54. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/eo_tides/validation.py +0 -0
  55. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/mkdocs.yml +0 -0
  56. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/paper/benchmarking.ipynb +0 -0
  57. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/paper/figures/joss_abstract.png +0 -0
  58. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/paper/figures/joss_fig_gesla.png +0 -0
  59. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/paper/figures/joss_fig_list.png +0 -0
  60. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/paper/figures/joss_fig_pixel.png +0 -0
  61. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/paper/figures/joss_fig_stats.png +0 -0
  62. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/paper/paper.bib +0 -0
  63. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/paper/paper.md +0 -0
  64. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/paper/paper.pdf +0 -0
  65. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/tests/conftest.py +0 -0
  66. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/tests/data/GESLA3_ALL 2.csv +0 -0
  67. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/tests/data/IDO71013_2020.csv +0 -0
  68. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/tests/data/broome-62650-aus-bom +0 -0
  69. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/tests/data/san_diego_ca-569a-usa-uhslc +0 -0
  70. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/tests/data/sydney_fort_denison-60370-aus-bom +0 -0
  71. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/tests/data/tide_models.tar.gz +0 -0
  72. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/tests/test_eo.py +0 -0
  73. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/tests/test_model.py +0 -0
  74. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/tests/test_stats.py +0 -0
  75. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/tests/test_validation.py +0 -0
  76. {eo_tides-0.6.1.dev6 → eo_tides-0.6.2.dev8}/uv.lock +0 -0
@@ -12,7 +12,7 @@ jobs:
12
12
  steps:
13
13
  - uses: actions/checkout@v4
14
14
  with:
15
- fetch-depth: 0 # Need full history for tags
15
+ fetch-depth: 0 # Need full history for tags
16
16
 
17
17
  - name: Export tag
18
18
  id: vars
@@ -27,12 +27,15 @@ jobs:
27
27
  RELEASE_VERSION: ${{ steps.vars.outputs.tag }}
28
28
  if: ${{ github.event_name == 'release' }}
29
29
 
30
- # For merges to main, use ".devN" suffix based on commits since tag
30
+ # For merges to main, incremement patch version by one
31
+ # and use ".devN" suffix based on commits since tag
31
32
  - name: Set dev version
32
33
  run: |
33
34
  LATEST_TAG=$(git describe --tags --abbrev=0)
35
+ IFS='.' read -r MAJOR MINOR PATCH <<< "$LATEST_TAG"
36
+ PATCH=$((PATCH + 1))
34
37
  DEV_NUM=$(git rev-list $LATEST_TAG..HEAD --count)
35
- DEV_VERSION="$LATEST_TAG.dev$DEV_NUM"
38
+ DEV_VERSION="$MAJOR.$MINOR.$PATCH.dev$DEV_NUM"
36
39
  sed -i "s/^version = \".*\"/version = \"$DEV_VERSION\"/" pyproject.toml
37
40
  if: ${{ github.event_name == 'push' }}
38
41
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: eo-tides
3
- Version: 0.6.1.dev6
3
+ Version: 0.6.2.dev8
4
4
  Summary: Tide modelling tools for large-scale satellite earth observation analysis
5
5
  Project-URL: Homepage, https://GeoscienceAustralia.github.io/eo-tides/
6
6
  Project-URL: Repository, https://github.com/GeoscienceAustralia/eo-tides
@@ -3,6 +3,7 @@ from __future__ import annotations
3
3
 
4
4
  import os
5
5
  import textwrap
6
+ import warnings
6
7
  from concurrent.futures import ProcessPoolExecutor
7
8
  from concurrent.futures.process import BrokenProcessPool
8
9
  from functools import partial
@@ -83,6 +84,7 @@ def _model_tides(
83
84
  cutoff,
84
85
  crop,
85
86
  crop_buffer,
87
+ append_node,
86
88
  ):
87
89
  """Worker function applied in parallel by `model_tides`. Handles the
88
90
  extraction of tide modelling constituents and tide modelling using
@@ -104,12 +106,12 @@ def _model_tides(
104
106
  lon,
105
107
  lat,
106
108
  type=pytmd_model.type,
107
- crop=crop,
109
+ crop=True if crop == "auto" else crop,
108
110
  buffer=crop_buffer,
109
111
  method=method,
110
112
  extrapolate=extrapolate,
111
113
  cutoff=cutoff,
112
- append_node=False,
114
+ append_node=append_node,
113
115
  )
114
116
 
115
117
  # TODO: Return constituents
@@ -117,16 +119,45 @@ def _model_tides(
117
119
  # print(amp.shape, ph.shape, c)
118
120
  # print(pd.DataFrame({"amplitude": amp}))
119
121
 
120
- # Raise error if constituent files no not cover analysis extent
122
+ except ValueError:
123
+ # If on-the-fly cropping is auto, try again with crop turned off
124
+ if crop == "auto":
125
+ warnings.warn(
126
+ "On-the-fly cropping is not compatible with the provided "
127
+ "clipped model files; running with `crop=False`."
128
+ )
129
+
130
+ # Read tidal constants and interpolate to grid points
131
+ amp, ph, c = pytmd_model.extract_constants(
132
+ lon,
133
+ lat,
134
+ type=pytmd_model.type,
135
+ crop=False,
136
+ buffer=crop_buffer,
137
+ method=method,
138
+ extrapolate=extrapolate,
139
+ cutoff=cutoff,
140
+ append_node=append_node,
141
+ )
142
+
143
+ # Otherwise, raise error if cropping if set to True
144
+ else:
145
+ error_msg = (
146
+ "On-the-fly cropping (e.g. `crop=True`) is not compatible with your "
147
+ "provided clipped model files. Please set `crop=False` or `crop='auto'`, "
148
+ "or run your analysis on unclipped global model files to avoid this error."
149
+ )
150
+ raise Exception(error_msg) from None
151
+
152
+ # Raise error if constituent files do not cover analysis extent
121
153
  except IndexError:
122
- error_msg = f"""
123
- The {model} tide model constituent files do not cover the analysis extent
124
- ({min(lon):.2f}, {max(lon):.2f}, {min(lat):.2f}, {max(lat):.2f}).
125
- This can occur if you are using clipped model files to improve run times.
126
- Consider using model files that cover your entire analysis area, or set `crop=False`
127
- to reduce the extent of tide model constituent files that is loaded.
128
- """
129
- raise Exception(textwrap.dedent(error_msg).strip()) from None
154
+ error_msg = (
155
+ f"The {model} tide model constituent files do not cover the analysis extent "
156
+ f"({min(lon):.2f}, {max(lon):.2f}, {min(lat):.2f}, {max(lat):.2f}). "
157
+ "This can occur if you are using clipped model files to improve run times. "
158
+ "Consider using model files that cover your entire analysis area."
159
+ )
160
+ raise Exception(error_msg) from None
130
161
 
131
162
  # Calculate complex phase in radians for Euler's
132
163
  cph = -1j * ph * np.pi / 180.0
@@ -397,8 +428,9 @@ def model_tides(
397
428
  method: str = "linear",
398
429
  extrapolate: bool = True,
399
430
  cutoff: float | None = None,
400
- crop: bool = True,
431
+ crop: bool | str = "auto",
401
432
  crop_buffer: float | None = 5,
433
+ append_node: bool = False,
402
434
  parallel: bool = True,
403
435
  parallel_splits: int | str = "auto",
404
436
  parallel_max: int | None = None,
@@ -503,15 +535,22 @@ def model_tides(
503
535
  Extrapolation cutoff in kilometers. The default is None, which
504
536
  will extrapolate for all points regardless of distance from the
505
537
  valid tide modelling domain.
506
- crop : bool, optional
538
+ crop : bool or str, optional
507
539
  Whether to crop tide model constituent files on-the-fly to
508
- improve performance. Defaults to True; use `crop_buffer`
509
- to customise the buffer distance used to crop the files.
540
+ improve performance. Defaults to "auto", which will attempt to
541
+ apply on-the-fly cropping where possible (some clipped model
542
+ files restricted entirely to the western hemisphere are not
543
+ suitable for on-the-fly cropping). Set `crop_buffer` to
544
+ customise the buffer distance used to crop the files.
510
545
  crop_buffer : int or float, optional
511
546
  The buffer distance in degrees used to crop tide model
512
547
  constituent files around the modelling area. Defaults to 5,
513
548
  which will crop constituents using a five degree buffer on
514
549
  either side of the analysis extent.
550
+ append_node: bool, optional
551
+ Apply adjustments to harmonic constituents to allow for periodic
552
+ modulations over the 18.6-year nodal period (lunar nodal tide).
553
+ Default is False.
515
554
  parallel : bool, optional
516
555
  Whether to parallelise tide modelling. If multiple tide models
517
556
  are requested, these will be run in parallel. If enough workers
@@ -600,6 +639,7 @@ def model_tides(
600
639
  cutoff=np.inf if cutoff is None else cutoff,
601
640
  crop=crop,
602
641
  crop_buffer=crop_buffer,
642
+ append_node=append_node,
603
643
  )
604
644
 
605
645
  # If automatic parallel splits, calculate optimal value
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "eo-tides"
3
- version = "0.6.1.dev6"
3
+ version = "0.6.2.dev8"
4
4
  description = "Tide modelling tools for large-scale satellite earth observation analysis"
5
5
  authors = [
6
6
  { name = "Robbi Bishop-Taylor" },
@@ -72,7 +72,7 @@ def test_clip_models():
72
72
 
73
73
  # Set modelling location
74
74
  x, y = 122.28, -18.06
75
- time = pd.date_range(start="2000-01", end="2001-03", freq="5h")
75
+ time = pd.date_range(start="2000-01", end="2001-02", freq="5h")
76
76
 
77
77
  # Model using unclipped vs clipped files
78
78
  df_unclipped = model_tides(
@@ -81,7 +81,7 @@ def test_clip_models():
81
81
  time=time,
82
82
  model="HAMTIDE11",
83
83
  directory=in_dir,
84
- crop=False,
84
+ # crop=False,
85
85
  )
86
86
  df_clipped = model_tides(
87
87
  x=x,
@@ -89,7 +89,6 @@ def test_clip_models():
89
89
  time=time,
90
90
  model="HAMTIDE11",
91
91
  directory=out_dir,
92
- crop=False,
93
92
  )
94
93
 
95
94
  # Verify both produce the same results
@@ -98,15 +97,15 @@ def test_clip_models():
98
97
 
99
98
  # Test clipping across multiple global locations using synthetic HAMTIDE11 data
100
99
  @pytest.mark.parametrize(
101
- "bbox, name",
100
+ "bbox, point, name",
102
101
  [
103
- ((-166, 14, -151, 29), "hawaii"), # entirely W of prime meridian
104
- ((-13, 49, 6, 60), "uk"), # crossing prime meridian
105
- ((105.292969, -47.872144, 160.312500, -5.266008), "aus"), # entirely E of prime meridian
106
- ((-256.640625, 7.013668, -119.794922, 63.391522), "pacific"), # crossing antimeridian
102
+ ((-166, 14, -151, 29), (19.60, -155.46), "hawaii"), # entirely W of prime meridian
103
+ ((-13, 49, 6, 60), (51.47, 0.84), "uk"), # crossing prime meridian
104
+ ((105, -48, 160, -5), (-25.59, 153.03), "aus"), # entirely E of prime meridian
105
+ ((-257, 7, -120, 63), (19.59, -155.45), "pacific"), # crossing antimeridian
107
106
  ],
108
107
  )
109
- def test_clip_models_bbox(bbox, name):
108
+ def test_clip_models_bbox(bbox, point, name):
110
109
  # Set input and output paths
111
110
  in_dir = "tests/data/tide_models_synthetic/"
112
111
  out_dir = f"tests/data/tide_models_synthetic_{name}/"
@@ -121,8 +120,8 @@ def test_clip_models_bbox(bbox, name):
121
120
  )
122
121
 
123
122
  # Set modelling location based on bbox centroid
124
- x, y = odc.geo.geom.BoundingBox(*bbox, crs="EPSG:4326").polygon.centroid.xy
125
- time = pd.date_range(start="2000-01", end="2001-03", freq="5h")
123
+ y, x = point
124
+ time = pd.date_range(start="2000-01", end="2001-02", freq="5h")
126
125
 
127
126
  # Model using unclipped vs clipped files
128
127
  df_unclipped = model_tides(
@@ -131,7 +130,6 @@ def test_clip_models_bbox(bbox, name):
131
130
  time=time,
132
131
  model="HAMTIDE11",
133
132
  directory=in_dir,
134
- crop=False,
135
133
  )
136
134
  df_clipped = model_tides(
137
135
  x=x,
@@ -139,7 +137,6 @@ def test_clip_models_bbox(bbox, name):
139
137
  time=time,
140
138
  model="HAMTIDE11",
141
139
  directory=out_dir,
142
- crop=False,
143
140
  )
144
141
 
145
142
  # Verify both produce the same results
@@ -175,7 +175,7 @@
175
175
  },
176
176
  {
177
177
  "cell_type": "code",
178
- "execution_count": 3,
178
+ "execution_count": 2,
179
179
  "metadata": {},
180
180
  "outputs": [
181
181
  {
@@ -235,11 +235,46 @@
235
235
  },
236
236
  {
237
237
  "cell_type": "code",
238
- "execution_count": null,
238
+ "execution_count": 3,
239
239
  "metadata": {},
240
- "outputs": [],
240
+ "outputs": [
241
+ {
242
+ "name": "stdout",
243
+ "output_type": "stream",
244
+ "text": [
245
+ "\u001b[1m============================= test session starts ==============================\u001b[0m\n",
246
+ "platform linux -- Python 3.10.15, pytest-8.3.3, pluggy-1.5.0 -- /env/bin/python3.10\n",
247
+ "cachedir: .pytest_cache\n",
248
+ "rootdir: /home/jovyan/Robbi/eo-tides\n",
249
+ "configfile: pyproject.toml\n",
250
+ "plugins: anyio-4.6.2.post1, nbval-0.11.0\n",
251
+ "collected 25 items / 20 deselected / 5 selected \u001b[0m\u001b[1m\n",
252
+ "\n",
253
+ "tests/test_utils.py::test_clip_models \u001b[32mPASSED\u001b[0m\u001b[33m [ 20%]\u001b[0m\n",
254
+ "tests/test_utils.py::test_clip_models_bbox[bbox0-point0-hawaii] \u001b[32mPASSED\u001b[0m\u001b[33m [ 40%]\u001b[0m\n",
255
+ "tests/test_utils.py::test_clip_models_bbox[bbox1-point1-uk] \u001b[32mPASSED\u001b[0m\u001b[33m [ 60%]\u001b[0m\n",
256
+ "tests/test_utils.py::test_clip_models_bbox[bbox2-point2-aus] \u001b[32mPASSED\u001b[0m\u001b[33m [ 80%]\u001b[0m\n",
257
+ "tests/test_utils.py::test_clip_models_bbox[bbox3-point3-pacific] \u001b[32mPASSED\u001b[0m\u001b[33m [100%]\u001b[0m\n",
258
+ "\n",
259
+ "\u001b[33m=============================== warnings summary ===============================\u001b[0m\n",
260
+ "<frozen importlib._bootstrap>:241\n",
261
+ " <frozen importlib._bootstrap>:241: RuntimeWarning: numpy.ndarray size changed, may indicate binary incompatibility. Expected 16 from C header, got 96 from PyObject\n",
262
+ "\n",
263
+ "tests/test_utils.py: 20 warnings\n",
264
+ " /env/lib/python3.10/site-packages/pyproj/transformer.py:817: DeprecationWarning: Conversion of an array with ndim > 0 to a scalar is deprecated, and will error in future. Ensure you extract a single element from your array before performing this operation. (Deprecated NumPy 1.25.)\n",
265
+ " return self._transformer._transform_point(\n",
266
+ "\n",
267
+ "tests/test_utils.py::test_clip_models_bbox[bbox0-point0-hawaii]\n",
268
+ " /home/jovyan/Robbi/eo-tides/eo_tides/model.py:127: UserWarning: On-the-fly cropping is not compatible with the provided clipped model files; running with `crop=False`.\n",
269
+ " warnings.warn(\"On-the-fly cropping is not compatible with the provided \"\n",
270
+ "\n",
271
+ "-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html\n",
272
+ "\u001b[33m================ \u001b[32m5 passed\u001b[0m, \u001b[33m\u001b[1m20 deselected\u001b[0m, \u001b[33m\u001b[1m22 warnings\u001b[0m\u001b[33m in 16.32s\u001b[0m\u001b[33m ================\u001b[0m\n"
273
+ ]
274
+ }
275
+ ],
241
276
  "source": [
242
- "!export EO_TIDES_TIDE_MODELS=./tests/data/tide_models && pytest tests/test_utils.py --verbose -k test_clip_models_bbox"
277
+ "!export EO_TIDES_TIDE_MODELS=./tests/data/tide_models && pytest tests/test_utils.py --verbose -k test_clip_models"
243
278
  ]
244
279
  },
245
280
  {
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes