GithubHelp home page GithubHelp logo

softwareunderground / awesome-open-geoscience Goto Github PK

View Code? Open in Web Editor NEW
1.4K 1.4K 455.0 1.19 MB

Curated from repositories that make our lives as geoscientists, hackers and data wranglers easier or just more awesome

License: Creative Commons Zero v1.0 Universal

awesome awesome-list cheatsheet geochemistry geology geophysics geoscience geosciences geospatial geostatistics groundwater modflow open-data open-science open-source python reservoir-modeling seismic simulation subsurface

awesome-open-geoscience's People

Contributors

abuseki avatar amoodie avatar antoine-cate avatar banesullivan avatar botellaa avatar btobers avatar da-wad avatar evanbianco avatar iannesbitt avatar jesperdramsch avatar juliohm avatar justingosses avatar kerinpithawala avatar kwinkunks avatar leomiquelutti avatar leouieda avatar mdpiper avatar mgravey avatar mheriyanto avatar mmcint avatar muellerseb avatar mycarta avatar pemn avatar perolavsvendsen avatar philippeverney avatar prisae avatar rabernat avatar roliveira avatar rowanc1 avatar sinanozaydin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

awesome-open-geoscience's Issues

Icons for Programming Languages

The descriptions are usually something along the lines of "Python package for..." and "Matlab code that does...".

We could add little icons for programming languages and shift the focus of the utility rather than the dependency. What do you think?

Add back Digital Rocks Portal

PR #76 removed the Digital Rocks Portal data repository because their SSL certificate is messed up. We should add it back eventually when the site is back up. Here is the entry:

- [Digital Rocks Portal](https://www.digitalrocksportal.org/) – Powerful data portal for images of varied porous micro-structures

Travis CI keeps failing due to link issues that aren't easy to understand

Travis CI keeps failing due to link issues that aren't easy to understand

Need someone to spend some time learning about the script being used for CI and what those error messages mean and then prevent them.

I've been merging using admin rights as it seems there is a CI error of ambiguous meaning or no consequence every time.

LINK TO A RUN EXAMPLE:
https://travis-ci.org/github/softwareunderground/awesome-open-geoscience/builds/774515998

Maybe should abandon current CI methods and go to GitHub Actions that runs a link check every month and then adds issue if there is a fail. Current set-up tends to slow merging of pull requests for little benefit.

Testing for broken links?

It should be possible to build a script that parses the README for all the links then checks those links... could this be implemented on Travis?

Noticed colorcet has a broken link and thought of this

Add package health badges

Suggestion: For packages on PyPI it could be helpful to give visitors the indication of package health from Synk.

e.g. [![segyio](https://snyk.io/advisor/python/segyio/badge.svg)](https://snyk.io/advisor/python/segyio) gives segyio

Any thoughts?

Maintain app

Contact Details

[email protected]

Why

I enjoy this list and frequently use it as reference. I’m relatively new to SWUNG and want to get more involved. I also want to learn maintainer skills.

How have you participated

I’m relatively new to swung (about 1yr). I participate in discussions on the slack/Mattermost channels. I frequently use the resources on this repo for my daily work as a geo data scientist @ThinkOnward (formerly Studio X).

I’m a geoscientist by education, with a BS and MS from Kansas State. I worked as a geophysicist at APC/OXY from 2014-2021 in the GoM. I left to pursue an opportunity in data science.

Code of Conduct

  • I agree to follow this project's Code of Conduct

GeologicPatterns without License

The GeologicPatterns library does not seem to have a license, we should remove it for now and wait for it to have a proper open license.

GeoStat-Framework

Hey there,

this is a nice collection. Maybe our GeoStat-Framework fits in here.
We provide a set of Python packages for geostatistical simulations:

  • GSTools: GeoStatTools provides geostatistical tools for various purposes:
    • random field generation
    • conditioned field generation
    • incompressible random vector field generation
    • simple and ordinary kriging
    • variogram estimation and fitting
    • many readily provided and even user-defined covariance models
    • plotting and exporting routines
  • ogs5py: A python-API for the OpenGeoSys 5 scientific modeling package. OGS5 is an open-source, finite-element solver for thermo-hydro-mechanical-chemical processes in porous and fractured media.
  • welltestpy: A python-package for handling well based field campaigns with a special focus on estimating parameters of aquifer heterogeneity from standard pumping test data.
  • AnaFlow: A python-package containing (semi-)analytical solutions for the groundwater flow equation with a focus on effective type curves for heterogeneous aquifers.
  • Walks: The Ministry of Random Walks provides methods for:
    • particle tracking
    • Lagrangian transport
    • travel time estimations

All these packages are working nicely together to generate workflows for simulating geostatistical setups.

Cheers,
Sebastian

climate / ocean / weather in scope?

Thanks for maintaining this amazing list!

Your list is heavy on the solid-earth side of geosciences. Are packages for climate / ocean / atmospheric science in scope? If so, I can make a PR with some suggestions?

FYI, I come from the pangeo project and found this list via @lheagy.

What defines "awesome"?

The description in https://github.com/softwareunderground/awesome-open-geoscience/blame/master/awesome.md#L9 is vague to me... I'm curious if there is a checklist of what might make software "awesome" and ready to be added to this list?

I'm asking because I've seen a few projects show up in PRs that maybe aren't as awesome as some of the projects listed here.

Example

Compare GemPy (on the awesome list) and a proposed change like that in #74

GemPy is pretty awesome in my opinion - it has excellent documentation, a new-user-friendly README, lots of tutorials for new users to get up an running, and it's generally accessible (installable via a package manager like pip).

Meanwhile I’m struggling to find these aspects of the project in #74 which proposes adding MB-System. This software has a difficult to read/understand README, no API documentation (or at least after clicking around their website, I did not immediately see it), and no(?) existing examples for new users to get their hands dirty. Although it does appear to be generally accessible (installable using Homebrew)

Proposal to get more maintainers

Summary of our potential maintainer sustainability problem:

Looking at the contributions graph data: https://github.com/softwareunderground/awesome-open-geoscience/graphs/contributors confirms that I've become the main source of pull request approvals, though @amoodie and @banesullivan have also done some approvals. For a couple reasons, I would like to see more diverse pull request approvals. One is the bus factor. The term bus factor refers to what happens if someone gets hit by a bus tomorrow.

Hypothesized Social Dynamics:

I suspect there's a couple things going on to cause this pattern.

  • I can sometimes be quick to jump on easy pull-request approvals as I'm on github for work and non-work reasons most days. This unfortunately takes away opportunities from others to make quick approvals.
  • It can be less than obvious whether to approve inclusion on the list for early projects that lack a long record of community engagement as shown by stars, forks, etc. To figure out whether to approve those projects often takes installing them and going through an example or two to make sure they work and do what they say they do.
    • For newbies, they might think doing this work requires someone more experienced?
    • For more experienced folks, they can sometimes be less interested in messing with code they're not going to use?

Maintainer Tasks Before Pull Request Approval:

For clarity, I'll summarize the typical maintainer tasks related to pull requests.

  • Go through the checklist as the user fills it out in the pull-request and see if there is anything not-checked there that is critical.
  • Go to the README or project page of the project and see if there is pre-existing high levels of engagement as demonstrated by forks, stars, issues, and pull-requests that seem to come from outside the core owners group. If so, probably can go ahead and approve.
  • If the project is new and lacks an existing community, it might still be awesome, but this requires more work. At a minimum, the maintainer should (1) make sure the code is installable (2) run a few examples (3) determine if there's a reasonable chance the functionality of the code is elegant and broad enough to be useful to others.

Rough Proposed Solution:

  • Move to have at least 3 listed "Current Maintainers" on the README.
  • Add a "How to be a Maintainer" markdown file linked to from the CONTRIBUTING.md file that explains the tasks of the maintainers and sets some base expectations in terms of:
    • X days after a pull-request is submitted, there should be some response in the thread.
    • Maintainers can let each other know they're going to be "off" for a month or quarter due to other responsibilities.
    • Any maintainer who responds to more than 75% of the pull requests, should perhaps consider making space for others and how to to about doing that.
    • Plus some suggestions on setting up GitHub notifications such that PRs on the awesome-open-geoscience repository do not get lost in the shuffle.
  • Pitch being a listed maintainer as:
    • Ideal for newbie and intermediate coders.
    • A learning opportunity where you get to try out new code.
    • A learning opportunity for what is involved in being a project maintainer, but with relatively low stakes and low complexity.
    • Something people can list on their resume if they'd like.
  • Source listed maintainers from:
    • Mention the need in CONTRIBUTING file and README.
    • SoftwareUnderground Slack.
    • Ping previous contributors in last 3 years in an announcement issue.

NOTE: This is a quick proposal. Fee free to offer modifications, additions, or completely different takes.

Platforms Category

We have the platform category with Open dtect. Qgis would fit in there as well. However, these also fit in seismic and geospatial respectively.

Should we put them in the seismic/geospatial categories? Platform category? Or double them and put them in both?

Icons for dataset contents?

I'd like to suggest some small set of icons that we could use to indicate what kinds of data files are contained within the various open data collections.

This would require a little bit of graphic design work. Any takers?

Icons might include:

Standard formats:

  • stacked seismic (SEGY)
  • prestack seismic (SEGY)
  • VSP (SEGY)
  • petrophysical data (LAS)
  • petrophysical data (DLIS)
  • Shapefiles (lines, points, and polygons)
  • etc.

Non-standard formats (this will be harder to contain)

  • horizon files (ASCII, csv, etc)
  • Deviation surveys (ASCII, csv)
  • Time-depth tables / checkshots (ASCII)
  • Well tops markers (ASCII, CSV)

etc.

Perhaps such a feature could be used to incorporate the notion of a standardized summary page for each dataset. Consistently documented and curated. Could even write a script to build such a summary directly from the data set itself – as a first order entrance exam to test the data quality of the dataset.

Suggestion: add Radar or GPR category

Would it make sense to add a ground penetrating radar (GPR) category? I see no category under which open GPR processing software like GPRPy, RGPR, or readgssi can fit (disclaimer: readgssi is my own software, so whether or not it's awesome is arguably not my place to decide).

I would love to see a place where open GPR software is enumerated and this repository seems perfect for that purpose.

What makes for an "awesome" dataset?

Would it be worthwhile to a sub-category to datasets along the lines of "data in bulk", "bulk download available", or "machine-learning ready"?

A lot of the open datasets out there take a lot human typing to extract large enough datasets to do something with. Wells, especially, have this problem.

Alternatively, should we limit "awesome" datasets to those that don't take a lot of prep or extraction to get working with?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.