From bd3d507277f4c4fe0b452503ed76626a0579be0a Mon Sep 17 00:00:00 2001 From: Philip Chmielowiec Date: Thu, 23 May 2024 23:23:09 -0600 Subject: [PATCH 1/7] start geos reader --- uxarray/io/_geos.py | 46 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 uxarray/io/_geos.py diff --git a/uxarray/io/_geos.py b/uxarray/io/_geos.py new file mode 100644 index 000000000..ba843788f --- /dev/null +++ b/uxarray/io/_geos.py @@ -0,0 +1,46 @@ +import xarray as xr +import numpy as np + +from uxarray.constants import INT_DTYPE +from uxarray.conventions import ugrid + + +def _read_geos_cs(in_ds: xr.Dataset): + out_ds = xr.Dataset() + + node_lon = in_ds["corner_lons"].values.ravel() + node_lat = in_ds["corner_lats"].values.ravel() + + out_ds["node_lon"] = xr.DataArray( + data=node_lon, dims=ugrid.NODE_DIM, attrs=ugrid.NODE_LON_ATTRS + ) + + out_ds["node_lat"] = xr.DataArray( + data=node_lat, dims=ugrid.NODE_DIM, attrs=ugrid.NODE_LAT_ATTRS + ) + + nf, nx, ny = in_ds["corner_lons"].shape + + # Generate indices for all corner nodes + idx = np.arange(nx * ny * nf, dtype=INT_DTYPE).reshape(nf, nx, ny) + + # Calculate indices of corner nodes for each face + tl = idx[:, :-1, :-1] + tr = idx[:, :-1, 1:] + bl = idx[:, 1:, :-1] + br = idx[:, 1:, 1:] + + # Reshape indices for concatenation + tl = tl.reshape(-1) + tr = tr.reshape(-1) + bl = bl.reshape(-1) + br = br.reshape(-1) + + # Concatenate corner node indices for all faces + face_node_connectivity = np.column_stack((br, bl, tl, tr)) + + out_ds["face_node_connectivity"] = xr.DataArray( + data=face_node_connectivity, + dims=ugrid.FACE_NODE_CONNECTIVITY_DIMS, + attrs=ugrid.FACE_NODE_CONNECTIVITY_ATTRS, + ) From d3ead67bcf1d17b9d5baa14795e5a8cdb94ef4f3 Mon Sep 17 00:00:00 2001 From: Philip Chmielowiec Date: Fri, 24 May 2024 09:34:11 -0600 Subject: [PATCH 2/7] add geos parser --- .../meshfiles/geos-cs/c12/test-c12.native.nc4 | Bin 0 -> 267045 bytes test/test_geos.py | 20 ++++++++ uxarray/core/utils.py | 47 ++++++++++-------- uxarray/grid/grid.py | 3 ++ uxarray/io/_geos.py | 2 + uxarray/io/utils.py | 2 + 6 files changed, 54 insertions(+), 20 deletions(-) create mode 100644 test/meshfiles/geos-cs/c12/test-c12.native.nc4 create mode 100644 test/test_geos.py diff --git a/test/meshfiles/geos-cs/c12/test-c12.native.nc4 b/test/meshfiles/geos-cs/c12/test-c12.native.nc4 new file mode 100644 index 0000000000000000000000000000000000000000..9263df454b495cce4f695c4618bd53c63396fd37 GIT binary patch literal 267045 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 xo{rz5U5P#76OyVoP3@GLkS+ri literal 0 HcmV?d00001 diff --git a/test/test_geos.py b/test/test_geos.py new file mode 100644 index 000000000..c95fdf292 --- /dev/null +++ b/test/test_geos.py @@ -0,0 +1,20 @@ +import uxarray as ux + +import os +from pathlib import Path + +current_path = Path(os.path.dirname(os.path.realpath(__file__))) + +gridfile_geos_cs = current_path / "meshfiles" / "geos-cs" / "c12" / "test-c12.native.nc4" + + + +def test_read_geos_cs_grid(): + + uxgrid = ux.open_grid(gridfile_geos_cs) + + pass + + +def test_read_geos_cs_uxds(): + uxds = ux.open_dataset(gridfile_geos_cs, gridfile_geos_cs) diff --git a/uxarray/core/utils.py b/uxarray/core/utils.py index 14d569094..3cb7c1df7 100644 --- a/uxarray/core/utils.py +++ b/uxarray/core/utils.py @@ -7,28 +7,35 @@ def _map_dims_to_ugrid( remaps the original dimension name to match the UGRID conventions (i.e. "nCell": "n_face")""" - keys_to_drop = [] - for key in _source_dims_dict.keys(): - # obtain all dimensions not present in the original dataset - if key not in ds.dims: - keys_to_drop.append(key) + if grid.source_grid_spec == "GEOS-CS": + for var_name in list(ds.coords) + list(ds.data_vars): + if all(key in ds[var_name].sizes for key in ["nf", "Ydim", "Xdim"]): + ds[var_name] = ds[var_name].stack(n_face=["nf", "Ydim", "Xdim"]) + if all(key in ds[var_name].sizes for key in ["nf", "YCdim", "XCdim"]): + ds[var_name] = ds[var_name].stack(n_node=["nf", "YCdim", "XCdim"]) + else: + keys_to_drop = [] + for key in _source_dims_dict.keys(): + # obtain all dimensions not present in the original dataset + if key not in ds.dims: + keys_to_drop.append(key) - for key in keys_to_drop: - # drop dimensions not present in the original dataset - _source_dims_dict.pop(key) + for key in keys_to_drop: + # drop dimensions not present in the original dataset + _source_dims_dict.pop(key) - for dim in set(ds.dims) ^ _source_dims_dict.keys(): - # obtain dimensions that were not parsed source_dims_dict and attempt to match to a grid element - if ds.sizes[dim] == grid.n_face: - _source_dims_dict[dim] = "n_face" - elif ds.sizes[dim] == grid.n_node: - _source_dims_dict[dim] = "n_node" - elif ds.sizes[dim] == grid.n_edge: - _source_dims_dict[dim] = "n_edge" + for dim in set(ds.dims) ^ _source_dims_dict.keys(): + # obtain dimensions that were not parsed source_dims_dict and attempt to match to a grid element + if ds.sizes[dim] == grid.n_face: + _source_dims_dict[dim] = "n_face" + elif ds.sizes[dim] == grid.n_node: + _source_dims_dict[dim] = "n_node" + elif ds.sizes[dim] == grid.n_edge: + _source_dims_dict[dim] = "n_edge" - # Possible Issue: https://github.com/UXARRAY/uxarray/issues/610 + # Possible Issue: https://github.com/UXARRAY/uxarray/issues/610 - # rename dimensions to follow the UGRID conventions - ds = ds.swap_dims(_source_dims_dict) + # rename dimensions to follow the UGRID conventions + ds = ds.swap_dims(_source_dims_dict) - return ds + return ds diff --git a/uxarray/grid/grid.py b/uxarray/grid/grid.py index 716a1983b..e8bebf468 100644 --- a/uxarray/grid/grid.py +++ b/uxarray/grid/grid.py @@ -21,6 +21,7 @@ from uxarray.io._esmf import _read_esmf from uxarray.io._vertices import _read_face_vertices from uxarray.io._topology import _read_topology +from uxarray.io._geos import _read_geos_cs from uxarray.io.utils import _parse_grid_type from uxarray.grid.area import get_all_face_area_from_coords @@ -198,6 +199,8 @@ def from_dataset( grid_ds, source_dims_dict = _read_mpas(dataset, use_dual=use_dual) elif source_grid_spec == "ESMF": grid_ds, source_dims_dict = _read_esmf(dataset) + elif source_grid_spec == "GEOS-CS": + grid_ds, source_dims_dict = _read_geos_cs(dataset) elif source_grid_spec == "Shapefile": raise ValueError("Shapefiles not yet supported") else: diff --git a/uxarray/io/_geos.py b/uxarray/io/_geos.py index ba843788f..ec62531e4 100644 --- a/uxarray/io/_geos.py +++ b/uxarray/io/_geos.py @@ -44,3 +44,5 @@ def _read_geos_cs(in_ds: xr.Dataset): dims=ugrid.FACE_NODE_CONNECTIVITY_DIMS, attrs=ugrid.FACE_NODE_CONNECTIVITY_ATTRS, ) + + return out_ds, None diff --git a/uxarray/io/utils.py b/uxarray/io/utils.py index 59846443b..26bc957e7 100644 --- a/uxarray/io/utils.py +++ b/uxarray/io/utils.py @@ -37,6 +37,8 @@ def _parse_grid_type(dataset): mesh_type = "MPAS" elif "maxNodePElement" in dataset.dims: mesh_type = "ESMF" + elif all(key in dataset.sizes for key in ["nf", "YCdim", "XCdim"]): + mesh_type = "GEOS-CS" else: raise RuntimeError("Could not recognize dataset format.") return mesh_type From fb17ca27d89e19fda4221801d1c1f99df5890ac7 Mon Sep 17 00:00:00 2001 From: Philip Chmielowiec Date: Fri, 24 May 2024 10:42:39 -0600 Subject: [PATCH 3/7] update user guide --- docs/user-guide/grid-formats.rst | 11 +++++++++++ uxarray/core/utils.py | 2 +- uxarray/io/_geos.py | 12 ++++++++++++ 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/docs/user-guide/grid-formats.rst b/docs/user-guide/grid-formats.rst index 7152b1f5e..f103cc52a 100644 --- a/docs/user-guide/grid-formats.rst +++ b/docs/user-guide/grid-formats.rst @@ -17,6 +17,7 @@ NetCDF file format. As of the most recent release, the following grid formats ar * SCRIP * EXODUS * ESMF +* GEOS CS While each of these formats can be encoded in the UGRID conventions, the amount of information that is parsed from them varies. The following sections describes how each format is converted into the UGRID conventions and what variables @@ -106,6 +107,16 @@ complex, coupled modeling systems and includes data structures and utilities for ESMF supports a custom unstructured grid file format for describing meshes, which is more compatible than the SCRIP format. +GEOS CS +======= + +The Goddard Earth Observing System (GEOS) Cube Sphere (CS) grid format is equidistant gnomonic cubed-sphere grid with +6 identical faces that wrap a sphere, with some number of grid cells per face. + +References +---------- +* https://gmao.gsfc.nasa.gov/gmaoftp/ops/GEOSIT_sample/doc/CS_Description_c180_v1.pdf + References ---------- * https://earthsystemmodeling.org/about/ diff --git a/uxarray/core/utils.py b/uxarray/core/utils.py index 3cb7c1df7..f1e4f1faf 100644 --- a/uxarray/core/utils.py +++ b/uxarray/core/utils.py @@ -38,4 +38,4 @@ def _map_dims_to_ugrid( # rename dimensions to follow the UGRID conventions ds = ds.swap_dims(_source_dims_dict) - return ds + return ds diff --git a/uxarray/io/_geos.py b/uxarray/io/_geos.py index ec62531e4..29ea4a498 100644 --- a/uxarray/io/_geos.py +++ b/uxarray/io/_geos.py @@ -19,6 +19,18 @@ def _read_geos_cs(in_ds: xr.Dataset): data=node_lat, dims=ugrid.NODE_DIM, attrs=ugrid.NODE_LAT_ATTRS ) + if "lons" in in_ds: + face_lon = in_ds["lons"].values.ravel() + face_lat = in_ds["lats"].values.ravel() + + out_ds["face_lon"] = xr.DataArray( + data=face_lon, dims=ugrid.FACE_DIM, attrs=ugrid.FACE_LON_ATTRS + ) + + out_ds["face_lat"] = xr.DataArray( + data=face_lat, dims=ugrid.FACE_DIM, attrs=ugrid.FACE_LAT_ATTRS + ) + nf, nx, ny = in_ds["corner_lons"].shape # Generate indices for all corner nodes From fab5ade5232bda9a13cda246dc2424be867c1e95 Mon Sep 17 00:00:00 2001 From: Philip Chmielowiec Date: Fri, 24 May 2024 13:14:42 -0600 Subject: [PATCH 4/7] update geos reader --- uxarray/io/_geos.py | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/uxarray/io/_geos.py b/uxarray/io/_geos.py index 29ea4a498..bf908166d 100644 --- a/uxarray/io/_geos.py +++ b/uxarray/io/_geos.py @@ -37,16 +37,10 @@ def _read_geos_cs(in_ds: xr.Dataset): idx = np.arange(nx * ny * nf, dtype=INT_DTYPE).reshape(nf, nx, ny) # Calculate indices of corner nodes for each face - tl = idx[:, :-1, :-1] - tr = idx[:, :-1, 1:] - bl = idx[:, 1:, :-1] - br = idx[:, 1:, 1:] - - # Reshape indices for concatenation - tl = tl.reshape(-1) - tr = tr.reshape(-1) - bl = bl.reshape(-1) - br = br.reshape(-1) + tl = idx[:, :-1, :-1].reshape(-1) + tr = idx[:, :-1, 1:].reshape(-1) + bl = idx[:, 1:, :-1].reshape(-1) + br = idx[:, 1:, 1:].reshape(-1) # Concatenate corner node indices for all faces face_node_connectivity = np.column_stack((br, bl, tl, tr)) From 7dac4bfdc888cc9acf823ebf61db751877f4419f Mon Sep 17 00:00:00 2001 From: Philip Chmielowiec <67855069+philipc2@users.noreply.github.com> Date: Wed, 29 May 2024 15:18:01 -0500 Subject: [PATCH 5/7] update docs and add docstrings --- docs/user-guide/grid-formats.rst | 28 +++++++++++++++++++++++----- uxarray/core/utils.py | 1 + uxarray/io/_geos.py | 9 +++++++-- 3 files changed, 31 insertions(+), 7 deletions(-) diff --git a/docs/user-guide/grid-formats.rst b/docs/user-guide/grid-formats.rst index f103cc52a..9f39b0f41 100644 --- a/docs/user-guide/grid-formats.rst +++ b/docs/user-guide/grid-formats.rst @@ -107,6 +107,11 @@ complex, coupled modeling systems and includes data structures and utilities for ESMF supports a custom unstructured grid file format for describing meshes, which is more compatible than the SCRIP format. +References +---------- +* https://earthsystemmodeling.org/about/ +* https://earthsystemmodeling.org/docs/release/ESMF_8_0_1/ESMF_refdoc/node3.html#SECTION03028200000000000000 + GEOS CS ======= @@ -117,11 +122,6 @@ References ---------- * https://gmao.gsfc.nasa.gov/gmaoftp/ops/GEOSIT_sample/doc/CS_Description_c180_v1.pdf -References ----------- -* https://earthsystemmodeling.org/about/ -* https://earthsystemmodeling.org/docs/release/ESMF_8_0_1/ESMF_refdoc/node3.html#SECTION03028200000000000000 - Parsed Variables ================ @@ -168,6 +168,7 @@ Coordinates SCRIP EXODUS ESMF + GEOS-CS node_latlon @@ -176,6 +177,7 @@ Coordinates Yes No Yes + Yes edge_latlon @@ -184,6 +186,8 @@ Coordinates No No No + No + face_latlon @@ -192,6 +196,7 @@ Coordinates Yes No Yes + Yes node_xyz @@ -200,6 +205,7 @@ Coordinates No Yes No + No edge_xyz @@ -208,6 +214,7 @@ Coordinates No Yes No + No face_xyz @@ -216,6 +223,7 @@ Coordinates No Yes No + No @@ -253,6 +261,7 @@ Connectivity SCRIP EXODUS ESMF + GEOS-CS face_node @@ -261,6 +270,7 @@ Connectivity Yes Yes Yes + Yes face_edge @@ -269,6 +279,7 @@ Connectivity No No No + No face_face @@ -277,6 +288,7 @@ Connectivity No No No + No edge_node @@ -285,6 +297,7 @@ Connectivity No No No + No edge_edge @@ -293,6 +306,7 @@ Connectivity No No No + No edge_face @@ -301,6 +315,7 @@ Connectivity No No No + No node_node @@ -309,6 +324,7 @@ Connectivity No No No + No node_edge @@ -317,6 +333,7 @@ Connectivity No No No + No node_face @@ -325,5 +342,6 @@ Connectivity No No No + No diff --git a/uxarray/core/utils.py b/uxarray/core/utils.py index f1e4f1faf..550dc1012 100644 --- a/uxarray/core/utils.py +++ b/uxarray/core/utils.py @@ -8,6 +8,7 @@ def _map_dims_to_ugrid( "nCell": "n_face")""" if grid.source_grid_spec == "GEOS-CS": + # stack dimensions to flatten them to map to nodes or faces for var_name in list(ds.coords) + list(ds.data_vars): if all(key in ds[var_name].sizes for key in ["nf", "Ydim", "Xdim"]): ds[var_name] = ds[var_name].stack(n_face=["nf", "Ydim", "Xdim"]) diff --git a/uxarray/io/_geos.py b/uxarray/io/_geos.py index bf908166d..af0de78ee 100644 --- a/uxarray/io/_geos.py +++ b/uxarray/io/_geos.py @@ -6,6 +6,10 @@ def _read_geos_cs(in_ds: xr.Dataset): + """Reads and encodes a GEOS Cube-Sphere grid into the UGRID conventions. + + https://gmao.gsfc.nasa.gov/gmaoftp/ops/GEOSIT_sample/doc/CS_Description_c180_v1.pdf + """ out_ds = xr.Dataset() node_lon = in_ds["corner_lons"].values.ravel() @@ -33,10 +37,10 @@ def _read_geos_cs(in_ds: xr.Dataset): nf, nx, ny = in_ds["corner_lons"].shape - # Generate indices for all corner nodes + # generate indices for all corner nodes idx = np.arange(nx * ny * nf, dtype=INT_DTYPE).reshape(nf, nx, ny) - # Calculate indices of corner nodes for each face + # calculate indices of corner nodes for each face tl = idx[:, :-1, :-1].reshape(-1) tr = idx[:, :-1, 1:].reshape(-1) bl = idx[:, 1:, :-1].reshape(-1) @@ -51,4 +55,5 @@ def _read_geos_cs(in_ds: xr.Dataset): attrs=ugrid.FACE_NODE_CONNECTIVITY_ATTRS, ) + # GEOS-CS does not return a source_dims_dict return out_ds, None From 63f37460ffc6cc72c4c0e906d9904ccb1d10c748 Mon Sep 17 00:00:00 2001 From: Philip Chmielowiec <67855069+philipc2@users.noreply.github.com> Date: Wed, 29 May 2024 15:24:04 -0500 Subject: [PATCH 6/7] update testsS --- docs/user-guide/grid-formats.rst | 3 ++- test/test_geos.py | 13 ++++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/docs/user-guide/grid-formats.rst b/docs/user-guide/grid-formats.rst index 9f39b0f41..b252ce764 100644 --- a/docs/user-guide/grid-formats.rst +++ b/docs/user-guide/grid-formats.rst @@ -116,7 +116,8 @@ GEOS CS ======= The Goddard Earth Observing System (GEOS) Cube Sphere (CS) grid format is equidistant gnomonic cubed-sphere grid with -6 identical faces that wrap a sphere, with some number of grid cells per face. +6 identical faces that wrap a sphere, with some number of grid cells per face. For example, a C720 GEOS-CS grid has +6 faces, each with 720x720 elements. References ---------- diff --git a/test/test_geos.py b/test/test_geos.py index c95fdf292..95ef721d5 100644 --- a/test/test_geos.py +++ b/test/test_geos.py @@ -10,11 +10,22 @@ def test_read_geos_cs_grid(): + """Tests the conversion of a CS12 GEOS-CS Grid to the UGRID conventions. + + A CS12 grid has 6 faces, each with 12x12 faces and 13x13 nodes each. + """ uxgrid = ux.open_grid(gridfile_geos_cs) - pass + n_face = 6 * 12 * 12 + n_node = 6 * 13 * 13 + + assert uxgrid.n_face == n_face + assert uxgrid.n_node == n_node def test_read_geos_cs_uxds(): + """Tests the creating of a UxDataset from a CS12 GEOS-CS Grid.""" uxds = ux.open_dataset(gridfile_geos_cs, gridfile_geos_cs) + + assert uxds['T'].shape[-1] == uxds.uxgrid.n_face From b2776a8659fb12e9f8b87742f64543f6ddb1188e Mon Sep 17 00:00:00 2001 From: Philip Chmielowiec Date: Mon, 3 Jun 2024 12:05:45 -0500 Subject: [PATCH 7/7] add comment about geos dimensions --- uxarray/io/utils.py | 1 + 1 file changed, 1 insertion(+) diff --git a/uxarray/io/utils.py b/uxarray/io/utils.py index 26bc957e7..9c836d47a 100644 --- a/uxarray/io/utils.py +++ b/uxarray/io/utils.py @@ -38,6 +38,7 @@ def _parse_grid_type(dataset): elif "maxNodePElement" in dataset.dims: mesh_type = "ESMF" elif all(key in dataset.sizes for key in ["nf", "YCdim", "XCdim"]): + # expected dimensions for a GEOS cube sphere grid mesh_type = "GEOS-CS" else: raise RuntimeError("Could not recognize dataset format.")