Convert Dedalus HDF5 dataset to an Xarray DataArray.
(dset)
| 346 | |
| 347 | |
| 348 | def dedalus_h5_to_xarray(dset): |
| 349 | """Convert Dedalus HDF5 dataset to an Xarray DataArray.""" |
| 350 | dims = [dim.label for dim in dset.dims] |
| 351 | # Copy all coordinates |
| 352 | coords = {} |
| 353 | for dim in dset.dims: |
| 354 | for name, coord in dim.items(): |
| 355 | coords[name] = (dim.label, coord[:]) |
| 356 | # Add sim_time as dimensional coordinate for time |
| 357 | coords[dims[0]] = (dims[0], dset.dims[0]['sim_time'][:]) |
| 358 | # Build dataarray |
| 359 | name = dset.name.split('/')[-1] |
| 360 | return xarray.DataArray(dset[:], coords=coords, dims=dims, name=name) |
| 361 | |
| 362 | |
| 363 | def load_tasks_to_xarray(filename, tasks=None, squeeze_constant=True): |
no test coverage detected