AstroIO.jl
I/O interface for astrophysical simulation codes
Installation
]add AstroIO
or
using Pkg; Pkg.add("AstroIO")
or
using Pkg; Pkg.add("https://github.com/JuliaAstroSim/AstroIO.jl")
To test the Package:
]test AstroIO
Documentation
- Dev — documentation of the in-development version.
For beginners, it is highly recommended to read the documentation of PhysicalParticles.jl.
Usage
using AstroIO
Gadget2
Suffixes gadget2
, Gadget2
, GADGET2
are supported
header, data = read_gadget2("snapshot.gadget2", uAstro)
write_gadget2("output.Gadget2", header, data)
# If only data provided, a default header would be generated
write_gadget2("output.GADGET2", data)
Supported units: uAstro
, uGadget2
, uSI
, uCSG
.
Use FileIO interfaces
header, data = load("snapshot.gadget2")
save("FileIO.gadget2", header, data)
Output CSV
write_csv("output", csv) # No suffix
Save and load with JLD2
write_gadget2_jld("output.jld2", header, data, uGadget2)
write_jld("NoHeader.jld2", data)
header, data = read_gadget2_jld("output.jld2")
data = read("NoHeader.jld2")
# Or simply use JLD2 interfaces
@load "NoHeader.jld2"
Package ecosystem
- Basic data structure: PhysicalParticles.jl
- File I/O: AstroIO.jl
- Initial Condition: AstroIC.jl
- Parallelism: ParallelOperations.jl
- Trees: PhysicalTrees.jl
- Meshes: PhysicalMeshes.jl
- Plotting: AstroPlot.jl
- Simulation: ISLENT
Contribution
Welcome issues and PRs. Need help for other snapshot formats.