Reading CryoGrid Output
CryoGrid-pyTools provides functionality to read CryoGrid output files into Python. Currently, it supports reading regridded FCI2 output files.
Reading FCI2 Output Files
Use the read_OUT_regridded_FCI2_file
function to read a regridded FCI2 output file:
import cryogrid_pytools as cg
# Read a single output file
ds = cg.read_OUT_regridded_FCI2_file(
'path/to/your/output_file.mat',
deepest_point=-5 # Set the deepest point in meters
)
The function returns an xarray Dataset with the following variables:
- time
: Time coordinate (datetime64)
- depth
: Depth coordinate in meters
- T
: Temperature
- water
: Water content
- ice
: Ice content
- class_number
: Class number
- FCI
: Frozen/Thawed state
- elevation
: Surface elevation
Reading Multiple Files
For spatial runs with multiple output files, use read_OUT_regridded_FCI2_clusters
:
# Read multiple output files
ds = cg.read_OUT_regridded_FCI2_clusters(
'path/to/output/directory/*.mat', # Glob pattern for output files
deepest_point=-5
)
The resulting Dataset will have an additional gridcell
dimension for the spatial component.
Data Structure
The output is an xarray Dataset with:
- Dimensions:
time
: Timesteps in the simulationdepth
: Vertical grid points-
gridcell
: (Only for cluster runs) Spatial grid points -
Variables:
- All variables are stored as dask arrays for efficient memory usage
- Temperature and other fields are stored with dimensions (time, depth) or (gridcell, depth, time)
Working with the Data
Being an xarray Dataset, you can use all standard xarray operations:
```python
Select a specific time
ds.sel(time='2000-01-01')
Get mean temperature over time
ds.T.mean(dim='time')
Plot temperature profile
ds.T.plot()