MeshArrays.jl

Gridded Earth variables, domain decomposition, and climate model C-grid support
Popularity
37 Stars
Updated Last
1 Year Ago
Started In
August 2018

MeshArrays.jl

MeshArrays.jl defines the MeshArray data structure (or type) that can contain, distribute, etc., collections of inter-connected arrays as generally done in climate models. This provides a simple yet efficient and general way to e.g. analyze climate system simulations and manipulate their output.

struct gcmarray{T, N} <: AbstractMeshArray{T, N}
   grid::gcmgrid
   meta::varmeta
   f::Array{Array{T,2},N}
   fSize::Array{NTuple{2, Int}}
   fIndex::Array{Int,1}
   version::String
end

Please refer to the Docs, Tutorials, and videos for more information.

CI codecov Binder DOI

Some features and related packages:

  • interpolate to geographic coordinates and visualize as maps
  • visualize on the sphere, in geographic coordinates, in various projections, or on the native grid
  • examples include interaction and animation using Makie.jl and Pluto.jl
  • accurately derive planetary scale transports on a global ocean model C-grid
  • efficiently compute trajectories of ocean plastic, plankton, etc over any supported C-grid configuration using MeshArrays.jl along with IndividualDisplacements.jl
  • reading and writing files in Netcdf (CF-compliant), CSV, or binary formats often used in climate sciences. NCTiles.jl readily supports domain decomposition with MeshArray.jl
  • support for the analysis of MITgcm model ouput and optimized, state estimate solutions are provided via MITgcmTools.jl and OceanStateEstimation.jl, with interfaces in MeshArray.jl

MeshArrays.jl was first introduced as as gcmfaces.jl in this presentation at JuliaCon 2018.