fxarray
April 28, 2026 ยท View on GitHub
A modern Fortran library for labeled multi-dimensional arrays, inspired by xarray.
fxarray provides registry-based state management for scientific simulations, with support for NetCDF/HDF5 I/O, parallel computing via MPI, and GPU/parallel kernel dispatch via Kokkos.
Features
- Labeled arrays: Named dimensions and coordinates on multi-dimensional data
- Registry-based state: Organize variables into hierarchical namespaces
- I/O: Read and write NetCDF-4, HDF5, and Zarr formats
- Parallel computing: MPI topology, halo exchange, and reductions
- GPU/CPU backends: Kokkos-powered buffer management and kernel dispatch
Installation
CMake (recommended)
cmake -B build -S .
cmake --build build -j$(nproc)
cd build && ctest --output-on-failure
cmake --install build --prefix /your/install/path
fpm (core Fortran API only)
fpm test
Note: fpm builds the core labeled-array API. For Kokkos GPU backends, parallel I/O, and MPI topology support, use CMake.
Dependencies
- Fortran, C, and C++ compilers
- CMake >= 3.18
- NetCDF-Fortran
- HDF5 with Fortran bindings
- Kokkos (CMake builds)
- MPI (optional, for parallel computing)
Documentation
Full documentation is available at: https://fxarray.github.io/fxarray
License
MIT License. See LICENSE.