Clip unstructured grid (ugrid)#
import CHM as pc
import uxarray as ux
# Large number of triangles (large meshes) needs out of core dask support
from dask_jobqueue import PBSCluster
from dask.distributed import Client
cluster = PBSCluster(
cores=80,
processes=40,
memory='185GB',
interface='ib0',
local_directory='$TMPDIR',
queue='development',
walltime='06:00:00',
job_script_prologue=["spack env activate analysis"]
)
print(cluster.job_script())
cluster.scale(jobs=25)
client = Client(cluster)
client
# ugrid expects mesh and vars to be seperate
ds = ux.open_mfdataset('output_2016.nc', 'output_2016.nc')
ds
<xarray.UxDataset> Size: 12TB
Dimensions: (n_face: 28495325, n_max_face_nodes: 3,
n_node: 14638167, time: 8737)
Coordinates:
* time (time) datetime64[ns] 70kB 2016-10-01 ... 2017-09-30
Mesh2_face_x (n_face) float64 228MB dask.array<chunksize=(28495325,), meta=np.ndarray>
Mesh2_face_y (n_face) float64 228MB dask.array<chunksize=(28495325,), meta=np.ndarray>
Dimensions without coordinates: n_face, n_max_face_nodes, n_node
Data variables: (12/51)
Mesh2 int32 4B ...
Mesh2_face_nodes (n_face, n_max_face_nodes) uint32 342MB dask.array<chunksize=(28495325, 3), meta=np.ndarray>
Mesh2_node_x (n_node) float64 117MB dask.array<chunksize=(14638167,), meta=np.ndarray>
Mesh2_node_y (n_node) float64 117MB dask.array<chunksize=(14638167,), meta=np.ndarray>
Mesh2_node_z (n_node) float64 117MB dask.array<chunksize=(14638167,), meta=np.ndarray>
Mesh2_node_z_paraview (n_node) float64 117MB dask.array<chunksize=(14638167,), meta=np.ndarray>
... ...
param_Ninja7_V (n_face) float64 228MB dask.array<chunksize=(2035381,), meta=np.ndarray>
Elevation (n_face) float64 228MB dask.array<chunksize=(2035381,), meta=np.ndarray>
Slope (n_face) float64 228MB dask.array<chunksize=(2035381,), meta=np.ndarray>
Aspect (n_face) float64 228MB dask.array<chunksize=(2035381,), meta=np.ndarray>
Area (n_face) float64 228MB dask.array<chunksize=(2035381,), meta=np.ndarray>
owner (n_face) int32 114MB dask.array<chunksize=(4070761,), meta=np.ndarray><xarray.UxDataset> Size: 12TB
Dimensions: (n_face: 28495325, n_max_face_nodes: 3,
n_node: 14638167, time: 8737)
Coordinates:
* time (time) datetime64[ns] 70kB 2016-10-01 ... 2017-09-30
Mesh2_face_x (n_face) float64 228MB dask.array<chunksize=(28495325,), meta=np.ndarray>
Mesh2_face_y (n_face) float64 228MB dask.array<chunksize=(28495325,), meta=np.ndarray>
Dimensions without coordinates: n_face, n_max_face_nodes, n_node
Data variables: (12/51)
Mesh2 int32 4B ...
Mesh2_face_nodes (n_face, n_max_face_nodes) uint32 342MB dask.array<chunksize=(28495325, 3), meta=np.ndarray>
Mesh2_node_x (n_node) float64 117MB dask.array<chunksize=(14638167,), meta=np.ndarray>
Mesh2_node_y (n_node) float64 117MB dask.array<chunksize=(14638167,), meta=np.ndarray>
Mesh2_node_z (n_node) float64 117MB dask.array<chunksize=(14638167,), meta=np.ndarray>
Mesh2_node_z_paraview (n_node) float64 117MB dask.array<chunksize=(14638167,), meta=np.ndarray>
... ...
param_Ninja7_V (n_face) float64 228MB dask.array<chunksize=(2035381,), meta=np.ndarray>
Elevation (n_face) float64 228MB dask.array<chunksize=(2035381,), meta=np.ndarray>
Slope (n_face) float64 228MB dask.array<chunksize=(2035381,), meta=np.ndarray>
Aspect (n_face) float64 228MB dask.array<chunksize=(2035381,), meta=np.ndarray>
Area (n_face) float64 228MB dask.array<chunksize=(2035381,), meta=np.ndarray>
owner (n_face) int32 114MB dask.array<chunksize=(4070761,), meta=np.ndarray>uxarray.UxDataset
- n_face: 28495325
- n_max_face_nodes: 3
- n_node: 14638167
- time: 8737
- time(time)datetime64[ns]2016-10-01 ... 2017-09-30
- standard_name :
- time
- long_name :
- Time
array(['2016-10-01T00:00:00.000000000', '2016-10-01T01:00:00.000000000', '2016-10-01T02:00:00.000000000', ..., '2017-09-29T22:00:00.000000000', '2017-09-29T23:00:00.000000000', '2017-09-30T00:00:00.000000000'], shape=(8737,), dtype='datetime64[ns]') - Mesh2_face_x(n_face)float64dask.array<chunksize=(28495325,), meta=np.ndarray>
- standard_name :
- latitude
- long_name :
- Characteristics latitude of 2D mesh triangle (e.g. circumcenter coordinate).
- units :
- degrees_north
Array Chunk Bytes 217.40 MiB 217.40 MiB Shape (28495325,) (28495325,) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - Mesh2_face_y(n_face)float64dask.array<chunksize=(28495325,), meta=np.ndarray>
- standard_name :
- latitude
- long_name :
- Characteristics latitude of 2D mesh triangle (e.g. circumcenter coordinate).
- units :
- degrees_north
Array Chunk Bytes 217.40 MiB 217.40 MiB Shape (28495325,) (28495325,) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray
- Mesh2()int32...
- cf_role :
- mesh_topology
- long_name :
- Topology data of 2D unstructured mesh
- topology_dimension :
- 2
- node_coordinates :
- Mesh2_node_x Mesh2_node_y
- face_node_connectivity :
- Mesh2_face_nodes
- face_dimension :
- nMesh2_face
- face_coordinates :
- Mesh2_face_x Mesh2_face_y
[1 values with dtype=int32]
- Mesh2_face_nodes(n_face, n_max_face_nodes)uint32dask.array<chunksize=(28495325, 3), meta=np.ndarray>
- cf_role :
- face_node_connectivity
- long_name :
- Maps every triangular face to its three corner nodes.
Array Chunk Bytes 326.10 MiB 326.10 MiB Shape (28495325, 3) (28495325, 3) Dask graph 1 chunks in 2 graph layers Data type uint32 numpy.ndarray - Mesh2_node_x(n_node)float64dask.array<chunksize=(14638167,), meta=np.ndarray>
- standard_name :
- longitude
- long_name :
- Longitude of 2D mesh nodes.
- units :
- degrees_east
Array Chunk Bytes 111.68 MiB 111.68 MiB Shape (14638167,) (14638167,) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - Mesh2_node_y(n_node)float64dask.array<chunksize=(14638167,), meta=np.ndarray>
- standard_name :
- latitude
- long_name :
- Latitude of 2D mesh nodes.
- units :
- degrees_north
Array Chunk Bytes 111.68 MiB 111.68 MiB Shape (14638167,) (14638167,) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - Mesh2_node_z(n_node)float64dask.array<chunksize=(14638167,), meta=np.ndarray>
- standard_name :
- altitude
- long_name :
- Z coordinate of 2D mesh nodes.
- units :
- m
- mesh :
- Mesh2
- location :
- node
Array Chunk Bytes 111.68 MiB 111.68 MiB Shape (14638167,) (14638167,) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - Mesh2_node_z_paraview(n_node)float64dask.array<chunksize=(14638167,), meta=np.ndarray>
- standard_name :
- scaled_altitude
- long_name :
- Scaled Z coordinate of 2D mesh nodes.
- units :
- m
- mesh :
- Mesh2
- location :
- node
Array Chunk Bytes 111.68 MiB 111.68 MiB Shape (14638167,) (14638167,) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - global_id(n_face)uint64dask.array<chunksize=(28495325,), meta=np.ndarray>
- mesh :
- Mesh2
- location :
- face
Array Chunk Bytes 217.40 MiB 217.40 MiB Shape (28495325,) (28495325,) Dask graph 1 chunks in 2 graph layers Data type uint64 numpy.ndarray - local_id(n_face)uint64dask.array<chunksize=(28495325,), meta=np.ndarray>
- mesh :
- Mesh2
- location :
- face
Array Chunk Bytes 217.40 MiB 217.40 MiB Shape (28495325,) (28495325,) Dask graph 1 chunks in 2 graph layers Data type uint64 numpy.ndarray - Mesh2_face_z(n_face)float64dask.array<chunksize=(28495325,), meta=np.ndarray>
- standard_name :
- altitude
- long_name :
- Characteristics latitude of 2D mesh triangle (e.g. circumcenter coordinate).
- units :
- m
Array Chunk Bytes 217.40 MiB 217.40 MiB Shape (28495325,) (28495325,) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - frac_precip_rain(time, n_face)float64dask.array<chunksize=(1, 2035381), meta=np.ndarray>
- _QuantizeBitGroomNumberOfSignificantDigits :
- 4
- mesh :
- Mesh2
- location :
- face
Array Chunk Bytes 1.81 TiB 15.53 MiB Shape (8737, 28495325) (1, 2035381) Dask graph 122318 chunks in 2 graph layers Data type float64 numpy.ndarray - p(time, n_face)float64dask.array<chunksize=(1, 2035381), meta=np.ndarray>
- _QuantizeBitGroomNumberOfSignificantDigits :
- 4
- mesh :
- Mesh2
- location :
- face
Array Chunk Bytes 1.81 TiB 15.53 MiB Shape (8737, 28495325) (1, 2035381) Dask graph 122318 chunks in 2 graph layers Data type float64 numpy.ndarray - p_snow(time, n_face)float64dask.array<chunksize=(1, 2035381), meta=np.ndarray>
- _QuantizeBitGroomNumberOfSignificantDigits :
- 4
- mesh :
- Mesh2
- location :
- face
Array Chunk Bytes 1.81 TiB 15.53 MiB Shape (8737, 28495325) (1, 2035381) Dask graph 122318 chunks in 2 graph layers Data type float64 numpy.ndarray - snowdepthavg_vert(time, n_face)float64dask.array<chunksize=(1, 2035381), meta=np.ndarray>
- _QuantizeBitGroomNumberOfSignificantDigits :
- 4
- mesh :
- Mesh2
- location :
- face
Array Chunk Bytes 1.81 TiB 15.53 MiB Shape (8737, 28495325) (1, 2035381) Dask graph 122318 chunks in 2 graph layers Data type float64 numpy.ndarray - swe(time, n_face)float64dask.array<chunksize=(1, 2035381), meta=np.ndarray>
- _QuantizeBitGroomNumberOfSignificantDigits :
- 4
- mesh :
- Mesh2
- location :
- face
Array Chunk Bytes 1.81 TiB 15.53 MiB Shape (8737, 28495325) (1, 2035381) Dask graph 122318 chunks in 2 graph layers Data type float64 numpy.ndarray - t(time, n_face)float64dask.array<chunksize=(1, 2035381), meta=np.ndarray>
- _QuantizeBitGroomNumberOfSignificantDigits :
- 4
- mesh :
- Mesh2
- location :
- face
Array Chunk Bytes 1.81 TiB 15.53 MiB Shape (8737, 28495325) (1, 2035381) Dask graph 122318 chunks in 2 graph layers Data type float64 numpy.ndarray - param_Ninja1(n_face)float64dask.array<chunksize=(2035381,), meta=np.ndarray>
- _QuantizeBitGroomNumberOfSignificantDigits :
- 4
- mesh :
- Mesh2
- location :
- face
Array Chunk Bytes 217.40 MiB 15.53 MiB Shape (28495325,) (2035381,) Dask graph 14 chunks in 2 graph layers Data type float64 numpy.ndarray - param_watermask(n_face)float64dask.array<chunksize=(2035381,), meta=np.ndarray>
- _QuantizeBitGroomNumberOfSignificantDigits :
- 4
- mesh :
- Mesh2
- location :
- face
Array Chunk Bytes 217.40 MiB 15.53 MiB Shape (28495325,) (2035381,) Dask graph 14 chunks in 2 graph layers Data type float64 numpy.ndarray - param_svf(n_face)float64dask.array<chunksize=(2035381,), meta=np.ndarray>
- _QuantizeBitGroomNumberOfSignificantDigits :
- 4
- mesh :
- Mesh2
- location :
- face
Array Chunk Bytes 217.40 MiB 15.53 MiB Shape (28495325,) (2035381,) Dask graph 14 chunks in 2 graph layers Data type float64 numpy.ndarray - param_Ninja3_V(n_face)float64dask.array<chunksize=(2035381,), meta=np.ndarray>
- _QuantizeBitGroomNumberOfSignificantDigits :
- 4
- mesh :
- Mesh2
- location :
- face
Array Chunk Bytes 217.40 MiB 15.53 MiB Shape (28495325,) (2035381,) Dask graph 14 chunks in 2 graph layers Data type float64 numpy.ndarray - param_Ninja5_V(n_face)float64dask.array<chunksize=(2035381,), meta=np.ndarray>
- _QuantizeBitGroomNumberOfSignificantDigits :
- 4
- mesh :
- Mesh2
- location :
- face
Array Chunk Bytes 217.40 MiB 15.53 MiB Shape (28495325,) (2035381,) Dask graph 14 chunks in 2 graph layers Data type float64 numpy.ndarray - param_Ninja6(n_face)float64dask.array<chunksize=(2035381,), meta=np.ndarray>
- _QuantizeBitGroomNumberOfSignificantDigits :
- 4
- mesh :
- Mesh2
- location :
- face
Array Chunk Bytes 217.40 MiB 15.53 MiB Shape (28495325,) (2035381,) Dask graph 14 chunks in 2 graph layers Data type float64 numpy.ndarray - param_Ninja5(n_face)float64dask.array<chunksize=(2035381,), meta=np.ndarray>
- _QuantizeBitGroomNumberOfSignificantDigits :
- 4
- mesh :
- Mesh2
- location :
- face
Array Chunk Bytes 217.40 MiB 15.53 MiB Shape (28495325,) (2035381,) Dask graph 14 chunks in 2 graph layers Data type float64 numpy.ndarray - param_LAI(n_face)float64dask.array<chunksize=(2035381,), meta=np.ndarray>
- _QuantizeBitGroomNumberOfSignificantDigits :
- 4
- mesh :
- Mesh2
- location :
- face
Array Chunk Bytes 217.40 MiB 15.53 MiB Shape (28495325,) (2035381,) Dask graph 14 chunks in 2 graph layers Data type float64 numpy.ndarray - param_Ninja4(n_face)float64dask.array<chunksize=(2035381,), meta=np.ndarray>
- _QuantizeBitGroomNumberOfSignificantDigits :
- 4
- mesh :
- Mesh2
- location :
- face
Array Chunk Bytes 217.40 MiB 15.53 MiB Shape (28495325,) (2035381,) Dask graph 14 chunks in 2 graph layers Data type float64 numpy.ndarray - param_Ninja1_U(n_face)float64dask.array<chunksize=(2035381,), meta=np.ndarray>
- _QuantizeBitGroomNumberOfSignificantDigits :
- 4
- mesh :
- Mesh2
- location :
- face
Array Chunk Bytes 217.40 MiB 15.53 MiB Shape (28495325,) (2035381,) Dask graph 14 chunks in 2 graph layers Data type float64 numpy.ndarray - param_Ninja6_V(n_face)float64dask.array<chunksize=(2035381,), meta=np.ndarray>
- _QuantizeBitGroomNumberOfSignificantDigits :
- 4
- mesh :
- Mesh2
- location :
- face
Array Chunk Bytes 217.40 MiB 15.53 MiB Shape (28495325,) (2035381,) Dask graph 14 chunks in 2 graph layers Data type float64 numpy.ndarray - param_Ninja2_U(n_face)float64dask.array<chunksize=(2035381,), meta=np.ndarray>
- _QuantizeBitGroomNumberOfSignificantDigits :
- 4
- mesh :
- Mesh2
- location :
- face
Array Chunk Bytes 217.40 MiB 15.53 MiB Shape (28495325,) (2035381,) Dask graph 14 chunks in 2 graph layers Data type float64 numpy.ndarray - param_Ninja2_V(n_face)float64dask.array<chunksize=(2035381,), meta=np.ndarray>
- _QuantizeBitGroomNumberOfSignificantDigits :
- 4
- mesh :
- Mesh2
- location :
- face
Array Chunk Bytes 217.40 MiB 15.53 MiB Shape (28495325,) (2035381,) Dask graph 14 chunks in 2 graph layers Data type float64 numpy.ndarray - param_area(n_face)float64dask.array<chunksize=(2035381,), meta=np.ndarray>
- _QuantizeBitGroomNumberOfSignificantDigits :
- 4
- mesh :
- Mesh2
- location :
- face
Array Chunk Bytes 217.40 MiB 15.53 MiB Shape (28495325,) (2035381,) Dask graph 14 chunks in 2 graph layers Data type float64 numpy.ndarray - param_Ninja3_U(n_face)float64dask.array<chunksize=(2035381,), meta=np.ndarray>
- _QuantizeBitGroomNumberOfSignificantDigits :
- 4
- mesh :
- Mesh2
- location :
- face
Array Chunk Bytes 217.40 MiB 15.53 MiB Shape (28495325,) (2035381,) Dask graph 14 chunks in 2 graph layers Data type float64 numpy.ndarray - param_id(n_face)float64dask.array<chunksize=(2035381,), meta=np.ndarray>
- _QuantizeBitGroomNumberOfSignificantDigits :
- 4
- mesh :
- Mesh2
- location :
- face
Array Chunk Bytes 217.40 MiB 15.53 MiB Shape (28495325,) (2035381,) Dask graph 14 chunks in 2 graph layers Data type float64 numpy.ndarray - param_Ninja8_V(n_face)float64dask.array<chunksize=(2035381,), meta=np.ndarray>
- _QuantizeBitGroomNumberOfSignificantDigits :
- 4
- mesh :
- Mesh2
- location :
- face
Array Chunk Bytes 217.40 MiB 15.53 MiB Shape (28495325,) (2035381,) Dask graph 14 chunks in 2 graph layers Data type float64 numpy.ndarray - param_landcover(n_face)float64dask.array<chunksize=(2035381,), meta=np.ndarray>
- _QuantizeBitGroomNumberOfSignificantDigits :
- 4
- mesh :
- Mesh2
- location :
- face
Array Chunk Bytes 217.40 MiB 15.53 MiB Shape (28495325,) (2035381,) Dask graph 14 chunks in 2 graph layers Data type float64 numpy.ndarray - param_Ninja5_U(n_face)float64dask.array<chunksize=(2035381,), meta=np.ndarray>
- _QuantizeBitGroomNumberOfSignificantDigits :
- 4
- mesh :
- Mesh2
- location :
- face
Array Chunk Bytes 217.40 MiB 15.53 MiB Shape (28495325,) (2035381,) Dask graph 14 chunks in 2 graph layers Data type float64 numpy.ndarray - param_Ninja4_V(n_face)float64dask.array<chunksize=(2035381,), meta=np.ndarray>
- _QuantizeBitGroomNumberOfSignificantDigits :
- 4
- mesh :
- Mesh2
- location :
- face
Array Chunk Bytes 217.40 MiB 15.53 MiB Shape (28495325,) (2035381,) Dask graph 14 chunks in 2 graph layers Data type float64 numpy.ndarray - param_Ninja6_U(n_face)float64dask.array<chunksize=(2035381,), meta=np.ndarray>
- _QuantizeBitGroomNumberOfSignificantDigits :
- 4
- mesh :
- Mesh2
- location :
- face
Array Chunk Bytes 217.40 MiB 15.53 MiB Shape (28495325,) (2035381,) Dask graph 14 chunks in 2 graph layers Data type float64 numpy.ndarray - param_Ninja2(n_face)float64dask.array<chunksize=(2035381,), meta=np.ndarray>
- _QuantizeBitGroomNumberOfSignificantDigits :
- 4
- mesh :
- Mesh2
- location :
- face
Array Chunk Bytes 217.40 MiB 15.53 MiB Shape (28495325,) (2035381,) Dask graph 14 chunks in 2 graph layers Data type float64 numpy.ndarray - param_Ninja3(n_face)float64dask.array<chunksize=(2035381,), meta=np.ndarray>
- _QuantizeBitGroomNumberOfSignificantDigits :
- 4
- mesh :
- Mesh2
- location :
- face
Array Chunk Bytes 217.40 MiB 15.53 MiB Shape (28495325,) (2035381,) Dask graph 14 chunks in 2 graph layers Data type float64 numpy.ndarray - param_Ninja7(n_face)float64dask.array<chunksize=(2035381,), meta=np.ndarray>
- _QuantizeBitGroomNumberOfSignificantDigits :
- 4
- mesh :
- Mesh2
- location :
- face
Array Chunk Bytes 217.40 MiB 15.53 MiB Shape (28495325,) (2035381,) Dask graph 14 chunks in 2 graph layers Data type float64 numpy.ndarray - param_Ninja8(n_face)float64dask.array<chunksize=(2035381,), meta=np.ndarray>
- _QuantizeBitGroomNumberOfSignificantDigits :
- 4
- mesh :
- Mesh2
- location :
- face
Array Chunk Bytes 217.40 MiB 15.53 MiB Shape (28495325,) (2035381,) Dask graph 14 chunks in 2 graph layers Data type float64 numpy.ndarray - param_Ninja7_U(n_face)float64dask.array<chunksize=(2035381,), meta=np.ndarray>
- _QuantizeBitGroomNumberOfSignificantDigits :
- 4
- mesh :
- Mesh2
- location :
- face
Array Chunk Bytes 217.40 MiB 15.53 MiB Shape (28495325,) (2035381,) Dask graph 14 chunks in 2 graph layers Data type float64 numpy.ndarray - param_CanopyHeight(n_face)float64dask.array<chunksize=(2035381,), meta=np.ndarray>
- _QuantizeBitGroomNumberOfSignificantDigits :
- 4
- mesh :
- Mesh2
- location :
- face
Array Chunk Bytes 217.40 MiB 15.53 MiB Shape (28495325,) (2035381,) Dask graph 14 chunks in 2 graph layers Data type float64 numpy.ndarray - param_Ninja1_V(n_face)float64dask.array<chunksize=(2035381,), meta=np.ndarray>
- _QuantizeBitGroomNumberOfSignificantDigits :
- 4
- mesh :
- Mesh2
- location :
- face
Array Chunk Bytes 217.40 MiB 15.53 MiB Shape (28495325,) (2035381,) Dask graph 14 chunks in 2 graph layers Data type float64 numpy.ndarray - param_Ninja4_U(n_face)float64dask.array<chunksize=(2035381,), meta=np.ndarray>
- _QuantizeBitGroomNumberOfSignificantDigits :
- 4
- mesh :
- Mesh2
- location :
- face
Array Chunk Bytes 217.40 MiB 15.53 MiB Shape (28495325,) (2035381,) Dask graph 14 chunks in 2 graph layers Data type float64 numpy.ndarray - param_Ninja8_U(n_face)float64dask.array<chunksize=(2035381,), meta=np.ndarray>
- _QuantizeBitGroomNumberOfSignificantDigits :
- 4
- mesh :
- Mesh2
- location :
- face
Array Chunk Bytes 217.40 MiB 15.53 MiB Shape (28495325,) (2035381,) Dask graph 14 chunks in 2 graph layers Data type float64 numpy.ndarray - param_Ninja7_V(n_face)float64dask.array<chunksize=(2035381,), meta=np.ndarray>
- _QuantizeBitGroomNumberOfSignificantDigits :
- 4
- mesh :
- Mesh2
- location :
- face
Array Chunk Bytes 217.40 MiB 15.53 MiB Shape (28495325,) (2035381,) Dask graph 14 chunks in 2 graph layers Data type float64 numpy.ndarray - Elevation(n_face)float64dask.array<chunksize=(2035381,), meta=np.ndarray>
- _QuantizeBitGroomNumberOfSignificantDigits :
- 4
- mesh :
- Mesh2
- location :
- face
Array Chunk Bytes 217.40 MiB 15.53 MiB Shape (28495325,) (2035381,) Dask graph 14 chunks in 2 graph layers Data type float64 numpy.ndarray - Slope(n_face)float64dask.array<chunksize=(2035381,), meta=np.ndarray>
- _QuantizeBitGroomNumberOfSignificantDigits :
- 4
- mesh :
- Mesh2
- location :
- face
Array Chunk Bytes 217.40 MiB 15.53 MiB Shape (28495325,) (2035381,) Dask graph 14 chunks in 2 graph layers Data type float64 numpy.ndarray - Aspect(n_face)float64dask.array<chunksize=(2035381,), meta=np.ndarray>
- _QuantizeBitGroomNumberOfSignificantDigits :
- 4
- mesh :
- Mesh2
- location :
- face
Array Chunk Bytes 217.40 MiB 15.53 MiB Shape (28495325,) (2035381,) Dask graph 14 chunks in 2 graph layers Data type float64 numpy.ndarray - Area(n_face)float64dask.array<chunksize=(2035381,), meta=np.ndarray>
- _QuantizeBitGroomNumberOfSignificantDigits :
- 4
- mesh :
- Mesh2
- location :
- face
Array Chunk Bytes 217.40 MiB 15.53 MiB Shape (28495325,) (2035381,) Dask graph 14 chunks in 2 graph layers Data type float64 numpy.ndarray - owner(n_face)int32dask.array<chunksize=(4070761,), meta=np.ndarray>
- mesh :
- Mesh2
- location :
- face
Array Chunk Bytes 108.70 MiB 15.53 MiB Shape (28495325,) (4070761,) Dask graph 7 chunks in 2 graph layers Data type int32 numpy.ndarray
- timePandasIndex
PandasIndex(DatetimeIndex(['2016-10-01 00:00:00', '2016-10-01 01:00:00', '2016-10-01 02:00:00', '2016-10-01 03:00:00', '2016-10-01 04:00:00', '2016-10-01 05:00:00', '2016-10-01 06:00:00', '2016-10-01 07:00:00', '2016-10-01 08:00:00', '2016-10-01 09:00:00', ... '2017-09-29 15:00:00', '2017-09-29 16:00:00', '2017-09-29 17:00:00', '2017-09-29 18:00:00', '2017-09-29 19:00:00', '2017-09-29 20:00:00', '2017-09-29 21:00:00', '2017-09-29 22:00:00', '2017-09-29 23:00:00', '2017-09-30 00:00:00'], dtype='datetime64[ns]', name='time', length=8737, freq=None))
Show Grid Information
<uxarray.Grid> Original Grid Type: UGRID Grid Dimensions: * n_node: 14638167 * n_face: 28495325 * n_max_face_nodes: 3 Grid Coordinates (Spherical): * node_lon: (14638167,) * node_lat: (14638167,) Grid Coordinates (Cartesian): Grid Connectivity Variables: * face_node_connectivity: (28495325, 3) Grid Descriptor Variables:
uxarray.UxDataset.uxgrid
- n_face: 28495325
- n_max_face_nodes: 3
- n_node: 14638167
- time: 8737
- node_lon(n_node)float64-123.5 -124.0 ... -116.7 -116.3
- standard_name :
- longitude
- long_name :
- Longitude of 2D mesh nodes.
- units :
- degrees_east
array([-123.495496, -123.989748, -123.376207, ..., -116.345551, -116.651683, -116.2619 ], shape=(14638167,)) - node_lat(n_node)float64...
- standard_name :
- latitude
- long_name :
- Latitude of 2D mesh nodes.
- units :
- degrees_north
[14638167 values with dtype=float64]
- face_node_connectivity(n_face, n_max_face_nodes)int645249 1100 ... 14619849 14631514
- cf_role :
- face_node_connectivity
- long_name :
- Maps every triangular face to its three corner nodes.
- _FillValue :
- -9223372036854775808
array([[ 5249, 1100, 1101], [ 12217, 7918, 8789], [ 2380, 15236, 5197], ..., [14637962, 14637963, 14622670], [14624414, 14632693, 14632672], [14635661, 14619849, 14631514]], shape=(28495325, 3))
- source_grid_spec :
- UGRID
# save just mesh
# if this isn't done it can lead to file lock issues later
ds.chm.uxgrid_to_netcdf('mesh.nc')
del ds
# chunk depending on your data set
ds = ux.open_mfdataset('mesh.nc', 'output_2016.nc', chunks={'time':1})
# global id needed for output
# use the Slice to preserve the time dim
ds = ds[['t','global_id']].isel(time=slice(0,2)).chm.clip(shp_file_path='buffered_FABDEM-clip.shp')
ds.chm.uxgrid_to_netcdf('mesh_subset.nc')
ds.chm.vars_to_netcdf('vars_subset.nc')
(
ds.t.isel(time=0).plot() + ds.t.isel(time=1).plot()
).cols(1)