seisflowbench
SeisFlowBench is a reproducible scientific project for benchmarking seismic wave propagation and fluid flow simulations in porous media. Built with Julia and DrWatson.
Science Score: 54.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
✓DOI references
Found 3 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (17.4%) to scientific vocabulary
Repository
SeisFlowBench is a reproducible scientific project for benchmarking seismic wave propagation and fluid flow simulations in porous media. Built with Julia and DrWatson.
Basic Info
- Host: GitHub
- Owner: haoyunl2
- License: mit
- Language: Julia
- Default Branch: main
- Homepage: https://doi.org/10.5281/zenodo.14927938
- Size: 45.9 KB
Statistics
- Stars: 7
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 1
Metadata Files
README.md
SeisFlowBench: A Benchmarking Dataset for Seismic and Flow Simulations
This repository provides a reproducible scientific project built using Julia and DrWatson.jl.
It is designed for benchmarking seismic and flow simulations, ensuring consistency across computational environments.
📌 Project Overview
- Project Name:
SeisFlowBench - Authors: Haoyun Li and Abhinav Gahlot
- Focus Areas:
- Seismic Wave Propagation
- Fluid Flow in Porous Media
- Seismic-Flow Coupling Simulations
- Seismic Wave Propagation
- Technologies Used:
🚀 Getting Started
To reproduce this project locally, follow these steps:
1️⃣ Clone the Repository
Download the codebase using Git:
sh
git clone https://github.com/your-repo/SeisFlowBench.git
cd SeisFlowBench
🚨 Note: Raw data files are not included in version control (Git) and may need to be downloaded separately.
2️⃣ Set Up the Julia Environment
Open a Julia REPL and run the following commands:
julia
using Pkg
Pkg.add("DrWatson") # Install globally (needed for `quickactivate`)
Pkg.activate(".") # Activate this project's environment
Pkg.instantiate() # Install all required dependencies
✅ This will install all necessary Julia packages for the project to run correctly.
🛠 Using the Project
Many scripts in this repository begin with:
julia
using DrWatson
@quickactivate "SeisFlowBench"
This ensures that:
- The correct project environment is activated.
- Local paths are managed automatically using DrWatson.
After activation, you can run any script or experiment without manually setting paths.
📂 Project Structure
SeisFlowBench/
│── data/ # Processed and simulation data (not included in Git)
│── scripts/ # Main simulation and analysis scripts
│── src/ # Core project modules and functions
│── notebooks/ # Jupyter/Pluto notebooks for interactive analysis
│── Project.toml # Julia package dependencies
│── Manifest.toml # Exact dependency versions for reproducibility
│── README.md # This file
🔄 Converting JLD2 to HDF5
Simulation results are stored in JLD2 format, but you may need them in HDF5 for better compatibility.
📌 Convert JLD2 to HDF5
To convert all samples into a single HDF5 file, use the function provided in:
📄 scripts/convert_jld2_hdf5.jl
Run the script as follows:
julia
include("scripts/convert_jld2_hdf5.jl")
convert_all_samples_to_hdf5("2D_perm_perturb", 1:10, "all_samples.h5")
✅ This will save all data in one HDF5 file under /data/2D_perm_perturb/all_samples.h5.
📥 Loading Data from HDF5
To load and inspect simulation data from HDF5, use the provided function in:
📄 scripts/load_hdf5.jl
Example usage:
```julia
include("scripts/loadhdf5.jl")
hdf5file = datadir("2Dpermperturb", "allsamples.h5")
data = loadhdf5data(hdf5file)
Accessing a specific variable
Sarraysample1 = data["sample1"]["Sarray"] println("Loaded Sarray from sample1: Size = ", size(Sarraysample1)) ```
✅ This allows easy retrieval of seismic and flow simulation results.
📌 Additional Notes
- If any dependency is missing, run
Pkg.instantiate()again. - For issues, create a GitHub issue or contact the authors.
- This project follows reproducibility best practices using DrWatson.
✅ SeisFlowBench is now ready for seismic and flow simulation benchmarking! 🚀
Owner
- Name: Haoyun Li
- Login: haoyunl2
- Kind: user
- Repositories: 0
- Profile: https://github.com/haoyunl2
Georgia Tech Fall 2027 CSE Ph.D. UC Berkeley Fall 2022 Double Major Computer Science & Applied Math Undergraduate.
Citation (CITATION.bib)
@software{li_2025_14927938,
author = {Li, Haoyun and
Gahlot, Abhinav Prakash and
Herrmann, Felix},
title = {SeisFlowBench: A Benchmark for Seismic Wave
Propagation and Flow Simulations
},
month = feb,
year = 2025,
publisher = {Zenodo},
version = {v1.0.0},
doi = {10.5281/zenodo.14927938},
url = {https://doi.org/10.5281/zenodo.14927938},
swhid = {swh:1:dir:b4b17d18714ad22a4074d2eab80795ed8f1b58ed
;origin=https://doi.org/10.5281/zenodo.14927937;vi
sit=swh:1:snp:e6c05b68270e11e49d781a9fc5efa5aa06ac
b088;anchor=swh:1:rel:780566a7ba167fec1104d7853d26
c0e750978ac0;path=haoyunl2-SeisFlowBench-e3083dc
},
}
GitHub Events
Total
- Release event: 1
- Watch event: 7
- Push event: 9
- Create event: 3
Last Year
- Release event: 1
- Watch event: 7
- Push event: 9
- Create event: 3
Dependencies
- actions/checkout v4 composite
- julia-actions/cache v1 composite
- julia-actions/julia-buildpkg v1 composite
- julia-actions/setup-julia v1 composite