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 -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.