roms-tools 2.5.0__py3-none-any.whl → 2.6.0__py3-none-any.whl
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.
- ci/environment-with-xesmf.yml +16 -0
- roms_tools/analysis/roms_output.py +303 -177
- roms_tools/analysis/utils.py +137 -0
- roms_tools/plot.py +351 -214
- roms_tools/regrid.py +154 -9
- roms_tools/setup/boundary_forcing.py +22 -22
- roms_tools/setup/datasets.py +40 -44
- roms_tools/setup/grid.py +28 -28
- roms_tools/setup/initial_conditions.py +23 -31
- roms_tools/setup/nesting.py +3 -3
- roms_tools/setup/river_forcing.py +17 -18
- roms_tools/setup/surface_forcing.py +14 -13
- roms_tools/setup/tides.py +7 -7
- roms_tools/setup/topography.py +2 -2
- roms_tools/tests/test_analysis/test_roms_output.py +244 -188
- roms_tools/tests/test_regrid.py +85 -2
- roms_tools/tests/test_setup/test_river_forcing.py +44 -48
- roms_tools/utils.py +11 -7
- roms_tools/vertical_coordinate.py +1 -0
- {roms_tools-2.5.0.dist-info → roms_tools-2.6.0.dist-info}/METADATA +22 -11
- {roms_tools-2.5.0.dist-info → roms_tools-2.6.0.dist-info}/RECORD +24 -22
- {roms_tools-2.5.0.dist-info → roms_tools-2.6.0.dist-info}/WHEEL +1 -1
- {roms_tools-2.5.0.dist-info → roms_tools-2.6.0.dist-info/licenses}/LICENSE +0 -0
- {roms_tools-2.5.0.dist-info → roms_tools-2.6.0.dist-info}/top_level.txt +0 -0
|
@@ -394,13 +394,16 @@ class TestRiverForcingGeneral:
|
|
|
394
394
|
|
|
395
395
|
|
|
396
396
|
class TestRiverForcingWithoutPrescribedIndices:
|
|
397
|
+
start_time = datetime(1998, 1, 1)
|
|
398
|
+
end_time = datetime(1998, 3, 1)
|
|
399
|
+
|
|
397
400
|
def test_logging_message(self, iceland_test_grid, caplog):
|
|
398
401
|
|
|
399
402
|
with caplog.at_level(logging.INFO):
|
|
400
403
|
RiverForcing(
|
|
401
404
|
grid=iceland_test_grid,
|
|
402
|
-
start_time=
|
|
403
|
-
end_time=
|
|
405
|
+
start_time=self.start_time,
|
|
406
|
+
end_time=self.end_time,
|
|
404
407
|
)
|
|
405
408
|
# Verify the info message in the log
|
|
406
409
|
assert "No river indices provided." in caplog.text
|
|
@@ -427,21 +430,20 @@ class TestRiverForcingWithoutPrescribedIndices:
|
|
|
427
430
|
)
|
|
428
431
|
|
|
429
432
|
with pytest.raises(ValueError, match="No relevant rivers found."):
|
|
430
|
-
RiverForcing(
|
|
431
|
-
grid=grid,
|
|
432
|
-
start_time=datetime(1998, 1, 1),
|
|
433
|
-
end_time=datetime(1998, 3, 1),
|
|
434
|
-
)
|
|
433
|
+
RiverForcing(grid=grid, start_time=self.start_time, end_time=self.end_time)
|
|
435
434
|
|
|
436
435
|
|
|
437
436
|
class TestRiverForcingWithPrescribedIndices:
|
|
438
|
-
|
|
437
|
+
start_time = datetime(1998, 1, 1)
|
|
438
|
+
end_time = datetime(1998, 3, 1)
|
|
439
|
+
|
|
440
|
+
def test_logging_message(self, single_cell_indices, caplog, iceland_test_grid):
|
|
439
441
|
|
|
440
442
|
with caplog.at_level(logging.INFO):
|
|
441
443
|
RiverForcing(
|
|
442
444
|
grid=iceland_test_grid,
|
|
443
|
-
start_time=
|
|
444
|
-
end_time=
|
|
445
|
+
start_time=self.start_time,
|
|
446
|
+
end_time=self.end_time,
|
|
445
447
|
indices=single_cell_indices,
|
|
446
448
|
)
|
|
447
449
|
# Verify the info message in the log
|
|
@@ -450,16 +452,13 @@ class TestRiverForcingWithPrescribedIndices:
|
|
|
450
452
|
@pytest.mark.parametrize(
|
|
451
453
|
"indices_fixture", ["single_cell_indices", "multi_cell_indices"]
|
|
452
454
|
)
|
|
453
|
-
def test_indices_stay_untouched(self,
|
|
455
|
+
def test_indices_stay_untouched(self, indices_fixture, request, iceland_test_grid):
|
|
454
456
|
indices = request.getfixturevalue(indices_fixture)
|
|
455
457
|
|
|
456
|
-
start_time = datetime(1998, 1, 1)
|
|
457
|
-
end_time = datetime(1998, 3, 1)
|
|
458
|
-
|
|
459
458
|
river_forcing = RiverForcing(
|
|
460
459
|
grid=iceland_test_grid,
|
|
461
|
-
start_time=start_time,
|
|
462
|
-
end_time=end_time,
|
|
460
|
+
start_time=self.start_time,
|
|
461
|
+
end_time=self.end_time,
|
|
463
462
|
indices=indices,
|
|
464
463
|
)
|
|
465
464
|
river_forcing.original_indices == indices
|
|
@@ -506,7 +505,7 @@ class TestRiverForcingWithPrescribedIndices:
|
|
|
506
505
|
assert river_forcing == river_forcing_with_prescribed_single_cell_indices
|
|
507
506
|
|
|
508
507
|
def test_reproducibility_with_flipped_dictionary_entries(
|
|
509
|
-
self,
|
|
508
|
+
self, tmp_path, iceland_test_grid
|
|
510
509
|
):
|
|
511
510
|
indices = {
|
|
512
511
|
"Hvita(Olfusa)": [(8, 6)],
|
|
@@ -526,20 +525,17 @@ class TestRiverForcingWithPrescribedIndices:
|
|
|
526
525
|
"Bruara": [(8, 6)],
|
|
527
526
|
}
|
|
528
527
|
|
|
529
|
-
start_time = datetime(1998, 1, 1)
|
|
530
|
-
end_time = datetime(1998, 3, 1)
|
|
531
|
-
|
|
532
528
|
river_forcing = RiverForcing(
|
|
533
529
|
grid=iceland_test_grid,
|
|
534
|
-
start_time=start_time,
|
|
535
|
-
end_time=end_time,
|
|
530
|
+
start_time=self.start_time,
|
|
531
|
+
end_time=self.end_time,
|
|
536
532
|
indices=indices,
|
|
537
533
|
)
|
|
538
534
|
|
|
539
535
|
river_forcing_from_flipped_indices = RiverForcing(
|
|
540
536
|
grid=iceland_test_grid,
|
|
541
|
-
start_time=start_time,
|
|
542
|
-
end_time=end_time,
|
|
537
|
+
start_time=self.start_time,
|
|
538
|
+
end_time=self.end_time,
|
|
543
539
|
indices=flipped_indices,
|
|
544
540
|
)
|
|
545
541
|
|
|
@@ -568,8 +564,8 @@ class TestRiverForcingWithPrescribedIndices:
|
|
|
568
564
|
):
|
|
569
565
|
RiverForcing(
|
|
570
566
|
grid=iceland_test_grid,
|
|
571
|
-
start_time=
|
|
572
|
-
end_time=
|
|
567
|
+
start_time=self.start_time,
|
|
568
|
+
end_time=self.end_time,
|
|
573
569
|
indices=indices,
|
|
574
570
|
)
|
|
575
571
|
|
|
@@ -581,8 +577,8 @@ class TestRiverForcingWithPrescribedIndices:
|
|
|
581
577
|
):
|
|
582
578
|
RiverForcing(
|
|
583
579
|
grid=iceland_test_grid,
|
|
584
|
-
start_time=
|
|
585
|
-
end_time=
|
|
580
|
+
start_time=self.start_time,
|
|
581
|
+
end_time=self.end_time,
|
|
586
582
|
indices=fake_indices,
|
|
587
583
|
)
|
|
588
584
|
|
|
@@ -590,8 +586,8 @@ class TestRiverForcingWithPrescribedIndices:
|
|
|
590
586
|
with pytest.raises(ValueError, match="`indices` must be a dictionary."):
|
|
591
587
|
RiverForcing(
|
|
592
588
|
grid=iceland_test_grid,
|
|
593
|
-
start_time=
|
|
594
|
-
end_time=
|
|
589
|
+
start_time=self.start_time,
|
|
590
|
+
end_time=self.end_time,
|
|
595
591
|
indices="invalid",
|
|
596
592
|
)
|
|
597
593
|
|
|
@@ -602,8 +598,8 @@ class TestRiverForcingWithPrescribedIndices:
|
|
|
602
598
|
):
|
|
603
599
|
RiverForcing(
|
|
604
600
|
grid=iceland_test_grid,
|
|
605
|
-
start_time=
|
|
606
|
-
end_time=
|
|
601
|
+
start_time=self.start_time,
|
|
602
|
+
end_time=self.end_time,
|
|
607
603
|
indices={},
|
|
608
604
|
)
|
|
609
605
|
|
|
@@ -612,8 +608,8 @@ class TestRiverForcingWithPrescribedIndices:
|
|
|
612
608
|
with pytest.raises(ValueError, match="River name `123` must be a string."):
|
|
613
609
|
RiverForcing(
|
|
614
610
|
grid=iceland_test_grid,
|
|
615
|
-
start_time=
|
|
616
|
-
end_time=
|
|
611
|
+
start_time=self.start_time,
|
|
612
|
+
end_time=self.end_time,
|
|
617
613
|
indices=indices,
|
|
618
614
|
)
|
|
619
615
|
|
|
@@ -624,8 +620,8 @@ class TestRiverForcingWithPrescribedIndices:
|
|
|
624
620
|
with pytest.raises(ValueError, match="must be a list of tuples."):
|
|
625
621
|
RiverForcing(
|
|
626
622
|
grid=iceland_test_grid,
|
|
627
|
-
start_time=
|
|
628
|
-
end_time=
|
|
623
|
+
start_time=self.start_time,
|
|
624
|
+
end_time=self.end_time,
|
|
629
625
|
indices=indices,
|
|
630
626
|
)
|
|
631
627
|
|
|
@@ -636,8 +632,8 @@ class TestRiverForcingWithPrescribedIndices:
|
|
|
636
632
|
with pytest.raises(ValueError, match="must be a tuple of length 2"):
|
|
637
633
|
RiverForcing(
|
|
638
634
|
grid=iceland_test_grid,
|
|
639
|
-
start_time=
|
|
640
|
-
end_time=
|
|
635
|
+
start_time=self.start_time,
|
|
636
|
+
end_time=self.end_time,
|
|
641
637
|
indices=indices,
|
|
642
638
|
)
|
|
643
639
|
|
|
@@ -648,8 +644,8 @@ class TestRiverForcingWithPrescribedIndices:
|
|
|
648
644
|
with pytest.raises(ValueError, match="First element of tuple for river"):
|
|
649
645
|
RiverForcing(
|
|
650
646
|
grid=iceland_test_grid,
|
|
651
|
-
start_time=
|
|
652
|
-
end_time=
|
|
647
|
+
start_time=self.start_time,
|
|
648
|
+
end_time=self.end_time,
|
|
653
649
|
indices=indices,
|
|
654
650
|
)
|
|
655
651
|
|
|
@@ -658,8 +654,8 @@ class TestRiverForcingWithPrescribedIndices:
|
|
|
658
654
|
with pytest.raises(ValueError, match="Second element of tuple for river"):
|
|
659
655
|
RiverForcing(
|
|
660
656
|
grid=iceland_test_grid,
|
|
661
|
-
start_time=
|
|
662
|
-
end_time=
|
|
657
|
+
start_time=self.start_time,
|
|
658
|
+
end_time=self.end_time,
|
|
663
659
|
indices=indices,
|
|
664
660
|
)
|
|
665
661
|
|
|
@@ -668,8 +664,8 @@ class TestRiverForcingWithPrescribedIndices:
|
|
|
668
664
|
with pytest.raises(ValueError, match="Value of eta_rho for river"):
|
|
669
665
|
RiverForcing(
|
|
670
666
|
grid=iceland_test_grid,
|
|
671
|
-
start_time=
|
|
672
|
-
end_time=
|
|
667
|
+
start_time=self.start_time,
|
|
668
|
+
end_time=self.end_time,
|
|
673
669
|
indices=indices,
|
|
674
670
|
)
|
|
675
671
|
|
|
@@ -678,8 +674,8 @@ class TestRiverForcingWithPrescribedIndices:
|
|
|
678
674
|
with pytest.raises(ValueError, match="Value of xi_rho for river"):
|
|
679
675
|
RiverForcing(
|
|
680
676
|
grid=iceland_test_grid,
|
|
681
|
-
start_time=
|
|
682
|
-
end_time=
|
|
677
|
+
start_time=self.start_time,
|
|
678
|
+
end_time=self.end_time,
|
|
683
679
|
indices=indices,
|
|
684
680
|
)
|
|
685
681
|
|
|
@@ -688,7 +684,7 @@ class TestRiverForcingWithPrescribedIndices:
|
|
|
688
684
|
with pytest.raises(ValueError, match="Duplicate location"):
|
|
689
685
|
RiverForcing(
|
|
690
686
|
grid=iceland_test_grid,
|
|
691
|
-
start_time=
|
|
692
|
-
end_time=
|
|
687
|
+
start_time=self.start_time,
|
|
688
|
+
end_time=self.end_time,
|
|
693
689
|
indices=indices,
|
|
694
690
|
)
|
roms_tools/utils.py
CHANGED
|
@@ -3,6 +3,7 @@ from pathlib import Path
|
|
|
3
3
|
import re
|
|
4
4
|
import glob
|
|
5
5
|
import logging
|
|
6
|
+
import warnings
|
|
6
7
|
|
|
7
8
|
|
|
8
9
|
def _load_data(
|
|
@@ -139,13 +140,16 @@ def _load_data(
|
|
|
139
140
|
if "time" in dim_names and time_chunking:
|
|
140
141
|
chunks[dim_names["time"]] = 1
|
|
141
142
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
143
|
+
with warnings.catch_warnings():
|
|
144
|
+
warnings.filterwarnings("ignore", category=UserWarning, module="xarray")
|
|
145
|
+
|
|
146
|
+
ds = xr.open_mfdataset(
|
|
147
|
+
matching_files,
|
|
148
|
+
decode_times=decode_times,
|
|
149
|
+
chunks=chunks,
|
|
150
|
+
**combine_kwargs,
|
|
151
|
+
**kwargs,
|
|
152
|
+
)
|
|
149
153
|
|
|
150
154
|
# Rechunk the dataset along the tidal constituent dimension ("ntides") after loading
|
|
151
155
|
# because the original dataset does not have a chunk size of 1 along this dimension.
|
|
@@ -220,6 +220,7 @@ def compute_depth_coordinates(
|
|
|
220
220
|
depth = compute_depth(zeta, h, grid_ds.attrs["hc"], Cs, sigma)
|
|
221
221
|
|
|
222
222
|
# Add metadata
|
|
223
|
+
depth.name = f"{depth_type}_depth_{location}"
|
|
223
224
|
depth.attrs.update(
|
|
224
225
|
{"long_name": f"{depth_type} depth at {location}-points", "units": "m"}
|
|
225
226
|
)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: roms-tools
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.6.0
|
|
4
4
|
Summary: Tools for running and analysing UCLA-ROMS simulations
|
|
5
5
|
Author-email: Nora Loose <nora.loose@gmail.com>, Thomas Nicholas <tom@cworthy.org>
|
|
6
6
|
License: Apache-2
|
|
@@ -32,8 +32,11 @@ Requires-Dist: PyYAML
|
|
|
32
32
|
Requires-Dist: pyamg
|
|
33
33
|
Requires-Dist: bottleneck
|
|
34
34
|
Requires-Dist: regionmask
|
|
35
|
+
Requires-Dist: xgcm
|
|
36
|
+
Requires-Dist: numba
|
|
35
37
|
Provides-Extra: dask
|
|
36
38
|
Requires-Dist: dask[diagnostics]; extra == "dask"
|
|
39
|
+
Dynamic: license-file
|
|
37
40
|
|
|
38
41
|
# ROMS-Tools
|
|
39
42
|
[](https://anaconda.org/conda-forge/roms-tools)
|
|
@@ -46,37 +49,45 @@ Requires-Dist: dask[diagnostics]; extra == "dask"
|
|
|
46
49
|
> [!Warning]
|
|
47
50
|
> **This project is still in an early phase of development.**
|
|
48
51
|
>
|
|
49
|
-
> The [
|
|
52
|
+
> The [Python API](https://roms-tools.readthedocs.io/en/latest/api.html) is not yet stable.
|
|
50
53
|
> Therefore whilst you are welcome to try out using the package, we cannot yet guarantee backwards compatibility.
|
|
51
54
|
> We expect to reach a more stable version in Q1 2025.
|
|
52
55
|
|
|
53
56
|
## Overview
|
|
54
57
|
|
|
55
|
-
A suite of Python tools for setting up a [ROMS](https://github.com/CESR-lab/ucla-roms) simulation.
|
|
58
|
+
A suite of Python tools for setting up and analyzing a [UCLA-ROMS](https://github.com/CESR-lab/ucla-roms) simulation.
|
|
56
59
|
|
|
57
60
|
## Installation
|
|
58
61
|
|
|
59
|
-
### Installation from
|
|
62
|
+
### ⚡️ **Installation from Conda-Forge**
|
|
63
|
+
|
|
64
|
+
To install `ROMS-Tools` with all dependencies, including `xesmf` and `dask`, use:
|
|
60
65
|
|
|
61
66
|
```bash
|
|
62
67
|
conda install -c conda-forge roms-tools
|
|
63
68
|
```
|
|
64
69
|
|
|
65
|
-
|
|
70
|
+
> [!Note]
|
|
71
|
+
> Installation from Conda-Forge is the recommended installation method to ensure all features of `ROMS-Tools` are available.
|
|
72
|
+
|
|
73
|
+
### 📦 **Installation from PyPI (pip)**
|
|
66
74
|
|
|
67
|
-
|
|
75
|
+
You can also install `ROMS-Tools` from `pip`:
|
|
68
76
|
|
|
69
77
|
```bash
|
|
70
78
|
pip install roms-tools
|
|
71
79
|
```
|
|
72
80
|
|
|
73
|
-
If you want to use `ROMS-Tools`
|
|
74
|
-
install `ROMS-Tools` along with the additional dependency via:
|
|
81
|
+
If you want to use `ROMS-Tools` with `dask` (recommended for parallel and out-of-core computation), install it with the additional dependency:
|
|
75
82
|
|
|
76
83
|
```bash
|
|
77
84
|
pip install roms-tools[dask]
|
|
78
85
|
```
|
|
79
86
|
|
|
87
|
+
> [!Note]
|
|
88
|
+
> The PyPI versions of `ROMS-Tools` do not include `xesmf`, so some features will be unavailable.
|
|
89
|
+
|
|
90
|
+
|
|
80
91
|
### Installation from GitHub
|
|
81
92
|
|
|
82
93
|
To obtain the latest development version, first clone the source repository:
|
|
@@ -89,7 +100,7 @@ cd roms-tools
|
|
|
89
100
|
Next, install and activate the following conda environment:
|
|
90
101
|
|
|
91
102
|
```bash
|
|
92
|
-
conda env create -f ci/environment.yml
|
|
103
|
+
conda env create -f ci/environment-with-xesmf.yml
|
|
93
104
|
conda activate romstools-test
|
|
94
105
|
```
|
|
95
106
|
|
|
@@ -99,7 +110,7 @@ Finally, install `ROMS-Tools` in the same environment:
|
|
|
99
110
|
pip install -e .
|
|
100
111
|
```
|
|
101
112
|
|
|
102
|
-
If you want to use `ROMS-Tools`
|
|
113
|
+
If you want to use `ROMS-Tools` with `dask` (recommended for parallel and out-of-core computation), you can
|
|
103
114
|
install `ROMS-Tools` along with the additional dependency via:
|
|
104
115
|
|
|
105
116
|
```bash
|
|
@@ -1,27 +1,29 @@
|
|
|
1
|
+
ci/environment-with-xesmf.yml,sha256=c8x2YFBBpZvy6pnlUMTO1-8myyKsVm0Y-IWPigT3PKo,217
|
|
1
2
|
ci/environment.yml,sha256=Ehxy6nYiVQXoS7EGlmNm2G0ZPHg6VFBGY1IflApIhIY,207
|
|
2
3
|
roms_tools/__init__.py,sha256=jRghiteCoPjJvJjkFI36ocGyqzcTN5m-5eCa_DNQ9Dw,988
|
|
3
4
|
roms_tools/download.py,sha256=W6S_DFVJDXat2w9MfyyHyushrswbpUI2hxegSuua1XE,6248
|
|
4
|
-
roms_tools/plot.py,sha256=
|
|
5
|
-
roms_tools/regrid.py,sha256=
|
|
6
|
-
roms_tools/utils.py,sha256=
|
|
7
|
-
roms_tools/vertical_coordinate.py,sha256=
|
|
8
|
-
roms_tools/analysis/roms_output.py,sha256=
|
|
5
|
+
roms_tools/plot.py,sha256=33ft1wN0kc_vIvyy_sIoY-nc0k4THXWLc_k7wEavNq8,17578
|
|
6
|
+
roms_tools/regrid.py,sha256=BNtsJS5Oxmg0ivDQ-MLgVumeeLX15LZ7cp_RHAhUIOI,10222
|
|
7
|
+
roms_tools/utils.py,sha256=eveBkWuDsXNJADFMWFgRMHdbXkZlTyVK9dN2YAnjYJ4,13323
|
|
8
|
+
roms_tools/vertical_coordinate.py,sha256=txObO4Duf-8Ef2r4JgK3C1PsDmaF7KeRngDTKx7MPHg,7034
|
|
9
|
+
roms_tools/analysis/roms_output.py,sha256=Wm91jUICcmKFOaayt7ADWUopowBcfuh2dyk6Id65ICo,27915
|
|
10
|
+
roms_tools/analysis/utils.py,sha256=RwV7SDBjx-pzJOJ7fG3q0qwfbwXThkcI6wAgeIe1bzY,5431
|
|
9
11
|
roms_tools/setup/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10
|
-
roms_tools/setup/boundary_forcing.py,sha256=
|
|
11
|
-
roms_tools/setup/datasets.py,sha256=
|
|
12
|
+
roms_tools/setup/boundary_forcing.py,sha256=LpNBurvcUhiemmubglI5aEgbOuPpjCDBj3C8XmRV60k,43609
|
|
13
|
+
roms_tools/setup/datasets.py,sha256=WDEkMbLrzmdHxU5G9x_ECJASYVpmPa2i3oXWg9Rvxc4,84822
|
|
12
14
|
roms_tools/setup/fill.py,sha256=YQes_9uADZ-XZ6dBqXyvG7OAp7UrWhX-p3pR1gD6Od4,11120
|
|
13
|
-
roms_tools/setup/grid.py,sha256=
|
|
14
|
-
roms_tools/setup/initial_conditions.py,sha256=
|
|
15
|
+
roms_tools/setup/grid.py,sha256=DWNPXoG2D76u6QMjOf_f5byvzGXT8gFOfiantUvnVjg,49408
|
|
16
|
+
roms_tools/setup/initial_conditions.py,sha256=uVLkqpo1l1uw_LNjugypNVX2Tio5Hmi4txJoGC7P8G8,36012
|
|
15
17
|
roms_tools/setup/mask.py,sha256=IK2SrVnMJwZjE4jNFtzMQhp1c5c8SUO45OIpCIrNSis,3413
|
|
16
|
-
roms_tools/setup/nesting.py,sha256=
|
|
17
|
-
roms_tools/setup/river_forcing.py,sha256=
|
|
18
|
-
roms_tools/setup/surface_forcing.py,sha256=
|
|
19
|
-
roms_tools/setup/tides.py,sha256=
|
|
20
|
-
roms_tools/setup/topography.py,sha256=
|
|
18
|
+
roms_tools/setup/nesting.py,sha256=j8l2zVCfhxNNtN4ZiSpipSlPXYmaoZWIPw6zImafsuk,26511
|
|
19
|
+
roms_tools/setup/river_forcing.py,sha256=vH8sGGZ4fmcb8gDFfnwd1s9DflYksNI8e61WQyP1MxY,32824
|
|
20
|
+
roms_tools/setup/surface_forcing.py,sha256=HwIiA0qS64gBcq2ktqZx8ZhTIFRjweRZZe3haMTjCOg,23980
|
|
21
|
+
roms_tools/setup/tides.py,sha256=2eFzQMVnlcHsG83AEhTUfGgQbO0CqI_pDb8YeZ5APTU,27088
|
|
22
|
+
roms_tools/setup/topography.py,sha256=s1dSF0ZWCNdrZ25yv-pUcCgufxRmGgy3yr_VhdRM7LU,14126
|
|
21
23
|
roms_tools/setup/utils.py,sha256=S9_alsNEORLjEA74LVbgaxhWyVKa-PqFSPida9MQNxw,40911
|
|
22
24
|
roms_tools/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
23
|
-
roms_tools/tests/test_regrid.py,sha256=-
|
|
24
|
-
roms_tools/tests/test_analysis/test_roms_output.py,sha256=
|
|
25
|
+
roms_tools/tests/test_regrid.py,sha256=-wzZ31BkUdSn81jq5NF1wnuaBRfd0aiYgQZEv5E_h9w,4682
|
|
26
|
+
roms_tools/tests/test_analysis/test_roms_output.py,sha256=bckL5onorFl7tx9Mu5gZ1SyPmJya0j5IaiF4TcNjj8s,16556
|
|
25
27
|
roms_tools/tests/test_setup/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
26
28
|
roms_tools/tests/test_setup/test_boundary_forcing.py,sha256=gET86PiGnMBejTBe69-inXpaEZL8YH4FMqyT_b8V-Zk,21183
|
|
27
29
|
roms_tools/tests/test_setup/test_datasets.py,sha256=EInjmCLFNWJoO8nIQJhDtmFmMFmjcrr5L_5vJYm-qno,16435
|
|
@@ -29,7 +31,7 @@ roms_tools/tests/test_setup/test_fill.py,sha256=gDHuM58d3ECQE317ZntChYt4hWCfo4eV
|
|
|
29
31
|
roms_tools/tests/test_setup/test_grid.py,sha256=e1S8TYt21TVczaEfyeYoAU-qxUhAgiugkHA3EDAGtIQ,14095
|
|
30
32
|
roms_tools/tests/test_setup/test_initial_conditions.py,sha256=4LiULWmuktHoOty94asiFXgGNysag2okiosxG00om9M,15697
|
|
31
33
|
roms_tools/tests/test_setup/test_nesting.py,sha256=WUhyP9mlMYwAJQgbgqjEU1zOyb8QD3XMgSZvHR_9LE8,18764
|
|
32
|
-
roms_tools/tests/test_setup/test_river_forcing.py,sha256=
|
|
34
|
+
roms_tools/tests/test_setup/test_river_forcing.py,sha256=gtqq67gdo4M0r5NgZT2C6gwYRikbjMuMwfE29VyLoIM,23839
|
|
33
35
|
roms_tools/tests/test_setup/test_surface_forcing.py,sha256=uZAZLbX6zK_e5CYOVZvZLp_i28A1o372naeaOeF83vE,27626
|
|
34
36
|
roms_tools/tests/test_setup/test_tides.py,sha256=ACFXytda3Am984QMKGxtML00KPX1LvLWlSL0FpZTqyc,8085
|
|
35
37
|
roms_tools/tests/test_setup/test_topography.py,sha256=EAF-zCHfo6XnXQfBTrSZLuZDVzegWHHlrf9oBmvY0hM,4963
|
|
@@ -1063,8 +1065,8 @@ roms_tools/tests/test_setup/test_data/tidal_forcing.zarr/v_Re/.zattrs,sha256=2z7
|
|
|
1063
1065
|
roms_tools/tests/test_setup/test_data/tidal_forcing.zarr/v_Re/0.0.0,sha256=33Gl8otBmgqVarmAnZuEqTYS2_hVJUJh-iN1HzvaDuo,96
|
|
1064
1066
|
roms_tools/tests/test_tiling/test_partition.py,sha256=b6EepZndVDv1B6Qt5_MbDfrFF2LtR0BF7i1t30xHEvA,7977
|
|
1065
1067
|
roms_tools/tiling/partition.py,sha256=ZxDNGIKXZf_7eEzw9cxGP2XR_WBhZ4WCeIMl7_IdskA,12302
|
|
1066
|
-
roms_tools-2.
|
|
1067
|
-
roms_tools-2.
|
|
1068
|
-
roms_tools-2.
|
|
1069
|
-
roms_tools-2.
|
|
1070
|
-
roms_tools-2.
|
|
1068
|
+
roms_tools-2.6.0.dist-info/licenses/LICENSE,sha256=yiff76E4xRioW2bHhlPpyYpstmePQBx2bF8HhgQhSsg,11318
|
|
1069
|
+
roms_tools-2.6.0.dist-info/METADATA,sha256=QehIrzcMOtZk3NgvS1nFrp2ZvQfMrI9IgQUFiErw1b4,4698
|
|
1070
|
+
roms_tools-2.6.0.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
|
|
1071
|
+
roms_tools-2.6.0.dist-info/top_level.txt,sha256=aAf4T4nYQSkay5iKJ9kmTjlDgd4ETdp9OSlB4sJdt8Y,19
|
|
1072
|
+
roms_tools-2.6.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|