Skip to content

An extensible framework for high-performance geostatistics in Julia

License

Notifications You must be signed in to change notification settings

MLH-Fellowship/GeoStats.jl

 
 

Repository files navigation


Project goals

  • Design a comprehensive framework for geostatistics (or spatial statistics) in a modern programming language.
  • Address the lack of a platform for scientific comparison of different geostatistical algorithms in the literature.
  • Exploit modern hardware aggressively, including GPUs and computer clusters.
  • Educate people outside of the field about the existence of geostatistics.

For a guided tour, please watch our JuliaCon2021 talk:

Contributing and supporting

Contributions are very welcome, as are feature requests and suggestions. Please open an issue if you encounter any problems. We have written instructions to help you with the process.

GeoStats.jl was developed as part of academic research. It will always be open source and free of charge. If you would like to help support the project, please star the repository STARS and share it with your colleagues. If you have questions, don't hesitate to ask in our community channels:

GITTER ZULIP

Citing

If you find GeoStats.jl useful in your work, please consider citing it:

JOSS DOI

@ARTICLE{GeoStats.jl-2018,
  title={GeoStats.jl – High-performance geostatistics in Julia},
  author={Hoffimann, Júlio},
  journal={Journal of Open Source Software},
  publisher={The Open Journal},
  volume={3},
  pages={692},
  number={24},
  ISSN={2475-9066},
  DOI={10.21105/joss.00692},
  url={http://dx.doi.org/10.21105/joss.00692},
  year={2018},
  month={Apr}
}

Installation

Get the latest stable release with Julia's package manager:

] add GeoStats

Documentation

  • STABLEmost recently tagged version of the documentation.
  • LATESTin-development version of the documentation.

Tutorials

A set of Pluto notebooks demonstrating the current functionality of the project is available in GeoStatsTutorials with an accompanying series of videos:

Below is a quick preview of the high-level API:

using GeoStats
using Plots
using CSV

# data.csv:
#    x,    y,       station,        precip
# 25.0, 25.0,     palo alto,           1.0
# 50.0, 75.0,  redwood city,           0.0
# 75.0, 50.0, mountain view,           1.0

# read spatial data (e.g. geotable)
𝒯 = georef(CSV.File("data.csv"), (:x,:y))

# define spatial domain (e.g. Cartesian grid)
𝒟 = CartesianGrid(100, 100)

# define estimation problem for precipitation
𝒫 = EstimationProblem(𝒯, 𝒟, :precip)

# choose a solver from the list of solvers
𝒮 = Kriging(
  :precip => (variogram=GaussianVariogram(range=35.),)
)

# solve the problem
sol = solve(𝒫, 𝒮)

# plot the solution
contourf(sol)

Used at



Contributors

This project would not be possible without the contributions of:


Maarten Pronk

🚇

Martijn Visser

💻

Fredrik Ekre

🚇

Durand D'souza

💻

Morten Piibeleht

📖

Tony Kelman

🚇

M. A. Siddique

💬

Anshul Singhvi

📖

Zlatan Vasović

📖

Benoit Pasquier

💻

exepulveda

💻

Renato Aranha

⚠️

Patrick Kofod Mogensen

💻

Kai Xu

💻

Paul Matlashewski

💻

Riyad Muradov

💻

Alex Miltenberger

💻

Lakshya Khatri

💻

Milan Bouchet-Valat

📖

Rafael Caixeta

💻

Sam

🚇

Nitish Gadangi

📖 🚇

Mattriks

💻

cormullion

📖

Mauro

💻

Gaurav Wasnik

💻

Atreya Majumdar

📖

Hadrien Meyer

💻

Felix Cremer

📖

Jose Storopoli

🚇

Franco Naghetini

💻

About

An extensible framework for high-performance geostatistics in Julia

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Julia 100.0%