npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

wellioviz

v0.0.34

Published

Provides functionality to visualize well logs, particularly those already converted to JSON, using d3.js visualization library.

Downloads

70

Readme

wellio_Viz.js

WELLIOVIZ is a JavaScript library that provides functionality to visualize well logs, particularly those already converted to JSON, using the d3.js visualization library.

NPM

Demos & Examples

Full Websites

  1. HTML demo as github pages page in this repository
    • Status: Up to Date (almost always).
    • Link: Basic webpage demo here: https://justingosses.github.io/wellioviz/demo.html Note that the user interface on this page is part of the demo but not the only way to use wellioviz as wellioviz is just the visualization capability.
    • Who for: People who want to see it work with a well log provided by the website, so they don't have to provide one, or people who went to load their own well log file into the browser from their local computer. All data stays in the browser window, nothing leaves your browser.

Observable Demos

  1. Hello Wellioviz Mini Demo in ObservableHQ.com
    • Link: https://observablehq.com/@justingosses/hello-wellioviz
    • Status: Up to date.
    • Who for: People who wnat to see what it does quickly. Litterally the hello world version. Loads well that exists at an URL.
  2. Demo that consumes well logs directly from Government Open Data sites, so you don't have to download files locally
    • Link: https://observablehq.com/@justingosses/a-notebook-using-wellio-js-wellioviz-js-for-quick-looks-of-la
    • Status: Up to date
    • Who for: People who want to check out well logs that exist on a government site without having to download the file and work with it locally. Requires each well log to be in LAS 2.0 file format and downloadable from a specific URL.
  3. Demo in Observable of Most Recent Published Code with 3 Examples:
    • Link: https://observablehq.com/@justingosses/first-wellio-example-with-all-wellioviz-functions-from-npm
    • Status: Code is pulled from NPM, so this reflects the latest code that has been published to NPM. May lag slightly compared to the code on this github repository in master branch.
    • Who for: Good demo to check out if you want to see wellioviz work with both well log data in wellio.js style JSON and sparse style JSON. Uses whatever most recent version of wellioviz and wellio published to NPM.
  4. Observable Notebook Where Code is Developed. Has functions written-out inline.
    • Status: Stale. Development has shifted to local development with UI using demo.html found in docs folder.
    • Link: here
    • Who for: If you want to see some of the actual functions in a setting where all changes are live, with the understanding that this code is old and some functions might have changed,this is a good one to check out as it is decidedly less "magical". Brings in well log that exists at an URL.

Alterative Observable-notebook-based demos out of date

  • Status: Way out of date! but usefull to check out for illustrative purposes maybe.
  • Link: Other older Observable notebooks that use older versions of wellioviz code but give further idea what is possible are:
  • https://observablehq.com/@justingosses/well-log-in-d3-js-v5
  • https://observablehq.com/@justingosses/overly-simplified-stratigraphic-modeling
  • https://observablehq.com/@justingosses/well-log-curve-cross-sections

Data in the demos

Data for the demos is mostly wells from an open source dataset of the Mannville Group from Alberta Canada. A preprocessed version of this dataset can be found on dataunderground along with many other well dataset.

DOCS

Docs are here: https://justingosses.github.io/wellioviz/

Architecture

For more information on how wellioviz is organized, check out the ARCHITECTURE.MD document.

Why?

Most geologists who make charts of well logs via code seem to do so in Python, often working in Jupyter notebooks. This is fine for a lot of things, but there are some use-cases where having a JavaScript visualization library makes for a better option.

  1. GUIs for well correlation. Currently, there really isn't a free open-source application for well log correlation, at least to the best of my knowledge. This means if you don't have Enterprise scale money, (academics, non-profits, hobbyest, students, people in between jobs, etc.) you're often limited to correlating a handfull of wells at most using paper and pencil. Wellio (something to convert LAS files to JSON) and Wellioviz (something to visualize well logs as JSON into SVGs on a webpage) are critical pieces for a free non-code web-based well log visualization to exist. Although a full GUI (graphic user interface) is slightly out of scope for wellioviz, wellioviz could be extended to do this.

  2. Websites that provide well logs to audiences on the web. Although PNG images of well logs could be created and stored on server before being sent on demand to the front-end, this is less than ideal as all the images have to be created, stored, and loaded before the user needs them. This takes a lot of storage space. Additionally, it prevents scrolling, zooming, and overlays. Visualizing the logs on the fly in JavaScript is a better option for websites that want to given users an idea what a well log contains.

  3. Interactive well plotting with export into SVG or full HTML Pages from inside Jupyter Notebook Building the visualization in JavaScript also opens up the possibility of working in a Jupyter notebook and exporting wells as SVGs or full HTML webpages. Additionally, there aren't any limits on interactivity that you might hit in a python visualization package that is wrapping JavaScript behind the scenes. Kepler.gl in Jupyter is an example of this functionality where beautiful maps get created inside Jupyter notebook and get published as self-contained front-end only full HTML/CS/JS pages.

Point of Caution: To some of extent, all of these are not completely in scope of the project. Wellioviz is a visualization library. 1,2,&3 also require graphic user interfaces and other things that are better to be built as projects that utilize wellioviz.

Contributing

Check out the Contributing Guidelines. Issues, documentation, pull requests, examples, test cases, and questions needed!

I also have a description in Contributing.md of how I tend to work on the project and what things to expect will always be in sync in case there are questions on that.

Organization of Issues on Kanban board here: https://github.com/JustinGOSSES/wellioviz/projects/1

Code of Conduct

Code of Conduct

Further Thinking...

BRAINSTORM.md AUDIENCES.md