Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit ee7093d

Browse filesBrowse files
committed
dev
1 parent 1045e7d commit ee7093d
Copy full SHA for ee7093d

4 files changed

+29-9Lines changed: 29 additions & 9 deletions

File tree

Expand file treeCollapse file tree
Open diff view settings
Filter options
Expand file treeCollapse file tree
Open diff view settings
Collapse file

‎MANIFEST.in‎

Copy file name to clipboardExpand all lines: MANIFEST.in
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ recursive-exclude cf/data *.rst
99
prune cf/test
1010
recursive-include cf/test __init__.py test_*.py
1111
recursive-include cf/test cfa_test.sh run_tests.py setup_create_field.py create_test_files*.py individual_tests.sh
12-
recursive-include cf/test test_file.nc test_file[2-4].nc file.nc file[1-9].nc ugrid_global_1.nc ugrid_global_2.nc create_test_files.npz create_test_files_2.npz wgdos_packed.pp extra_data.pp file1.pp *.cdl create_test_files.npz create_test_files_2.npz example_field_0.nc
12+
recursive-include cf/test test_file.nc test_file[2-4].nc file.nc file[1-9].nc ugrid_global_1.nc ugrid_global_2.nc create_test_files.npz create_test_files_2.npz wgdos_packed.pp extra_data.pp file1.pp *.cdl create_test_files.npz create_test_files_2.npz example_field_0.nc cell_measures.nc
1313
recursive-include cf/test/example_field_0.zarr[23] *
1414
include cf/test/example_field_0.kerchunk
1515
prune cf/test/dir
Collapse file

‎cf/test/cell_measures.nc‎

Copy file name to clipboard
34.3 KB
Binary file not shown.
Collapse file

‎cf/test/test_collapse.py‎

Copy file name to clipboardExpand all lines: cf/test/test_collapse.py
+28Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@ def setUp(self):
3737
self.filename2 = os.path.join(
3838
os.path.dirname(os.path.abspath(__file__)), "test_file2.nc"
3939
)
40+
self.cell_measures = os.path.join(
41+
os.path.dirname(os.path.abspath(__file__)), "cell_measures.nc"
42+
)
4043

4144
def test_Field_collapse_CLIMATOLOGICAL_TIME(self):
4245
verbose = False
@@ -853,6 +856,31 @@ def test_Field_collapse_HEALPix(self):
853856
g1.coordinate_reference("grid_mapping_name:latitude_longitude")
854857
)
855858

859+
def test_Field_cell_measures(self):
860+
"""Test collapse weights by area and volume cell measures."""
861+
f = cf.read(self.cell_measures)[0]
862+
self.assertEqual(f.shape, (1, 5, 5, 5))
863+
self.assertEqual(f.cell_measure("measure:area").shape, (5, 5))
864+
self.assertEqual(f.cell_measure("measure:volume").shape, (1, 5, 5, 5))
865+
866+
f.collapse("area: mean", weights="area")
867+
f.collapse("volume: mean", weights="volume")
868+
869+
self.assertEqual(f.weights("area").shape, (5, 5))
870+
self.assertEqual(f.weights("volume").shape, (5, 5, 5))
871+
872+
g = f[..., 0]
873+
874+
self.assertEqual(g.shape, (1, 5, 5, 1))
875+
self.assertEqual(g.cell_measure("measure:area").shape, (5, 1))
876+
self.assertEqual(g.cell_measure("measure:volume").shape, (1, 5, 5, 1))
877+
878+
g.collapse("area: mean", weights="area")
879+
g.collapse("volume: mean", weights="volume")
880+
881+
self.assertEqual(g.weights("area").shape, (5,))
882+
self.assertEqual(g.weights("volume").shape, (5, 5))
883+
856884

857885
if __name__ == "__main__":
858886
print("Run date:", datetime.datetime.now())
Collapse file

‎cf/weights.py‎

Copy file name to clipboardExpand all lines: cf/weights.py
-8Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1551,14 +1551,6 @@ def cell_measure(
15511551

15521552
# Squeeze out size 1 axes
15531553
clm.squeeze(inplace=True)
1554-
#if clm_axes != clm_axes0:
1555-
# # Squeeze out size1 axes
1556-
# iaxes = [
1557-
# clm_axes0.index(axis)
1558-
# for axis in clm_axes0
1559-
# if axis not in clm_axes
1560-
# ]
1561-
# clm.squeeze(iaxes, inplace=True)
15621554

15631555
if methods:
15641556
weights[tuple(clm_axes)] = measure + " cell measure"

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.