Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

wellio <-> welly objects (python) #6

Closed
JustinGOSSES opened this issue Jan 15, 2018 · 16 comments
Closed

wellio <-> welly objects (python) #6

JustinGOSSES opened this issue Jan 15, 2018 · 16 comments
Labels
enhancement New feature or request help wanted Extra attention is needed no-issue-activity

Comments

@JustinGOSSES
Copy link
Owner

Would be nice to be able to convert back and forth between a welly.py object and a wellio.js JSON object. They are both objects, so this is probably just a matter of mapping? I'm assuming both retain all the information in the original LAS file.

https://github.com/agile-geoscience/welly

@JustinGOSSES JustinGOSSES added enhancement New feature or request help wanted Extra attention is needed labels Jan 15, 2018
@github-actions
Copy link

github-actions bot commented Feb 1, 2020

Stale issue message

@discover-volve
Copy link

I'm very close to creating a welly object from a JSON file. I'm able to parse the header, location and curve data. But I'm looking for help in creating the curve object. Let me know if you are open to collaborate.

@JustinGOSSES
Copy link
Owner Author

Sorry, just seeing this now. We got something working a while back for this but it was fragile.

Can you say a little more about what you were trying or provide a link?

@discover-volve
Copy link

Here is a link to the code for converting a JSON file to a welly object: https://www.discovervolve.com/2020/09/26/navigating-well-log-formats-in-the-volve-oilfield-data-with-the-welly-library/

Also, I have created pull request for this function on the Welly page: agilescientific/welly#138

@dcslagel
Copy link
Collaborator

Hi @JustinGOSSES , @discover-volve, It looks like @discover-volve's is working with importing and exporting to JSON that conforms to the Petroware JSON Well Log Format: https://jsonwelllogformat.org. That is interesting, because there was some interest in it back when we built the Wellio.js to Lasio JSON exchange functionality.

@JustinGOSSES
Copy link
Owner Author

JustinGOSSES commented Sep 30, 2020

@discover-volve for some context:

JSON the file format and JSON the well log format are not the same thing. Petroware made a very bad decision by using a file format name for a well log format. It confuses people.

JSON files are defined here: https://www.w3schools.com/js/js_json_intro.asp and here: https://fileinfo.com/extension/json#:~:text=A%20JSON%20file%20is%20a,web%20application%20and%20a%20server.

The petroware JSON well log format is a specific schema for writing JSONs that contain well logs. Not all well logs in JSON files are readable by Petroware's JSON projects (some of which are paid products).

For example, wellio.js predates Petroware's work, so it doesn't follow their schema.
You can't use their software to open JSON's of well logs converted from LAS to JSON by wellio.js.
Wellio.js was created to convert well logs to JSON so you can use them in data visualizations on the web. Pretty much all web-based data visualization tools consume JSON. <-- JSON here being the file format, not the petroware well log schema in the JSON file format.

I've stayed away from converting wellio.js and wellioviz.js to Petroware's version of JSON as they haven't been very clear on open licensing and some things are expressly paid products. Basically, I suspect there is a risk of being sued if you write conversion software using their schema. <--- Correction: looks like things are more clear & open now than they were the last time I looked, which admittedly was when Petroware's JSON project first came out.

@JustinGOSSES JustinGOSSES reopened this Sep 30, 2020
@JustinGOSSES
Copy link
Owner Author

Also, if memory serves, LASIO already has a JSON functionality and Welly wraps LASIO, so not sure what parts of LASIO are accessible by Welly?

@JustinGOSSES
Copy link
Owner Author

JustinGOSSES commented Sep 30, 2020

We have some examples here in this notebook but probably need to get back to this and clean it up and then reference from README.md https://github.com/JustinGOSSES/wellio.js/blob/master/notebooks/wellio.js%20and%20lasio%20test.ipynb

Made as issue #55

@discover-volve
Copy link

discover-volve commented Sep 30, 2020

Welly wraps LASIO only for the LAS format. However, it doesn't wrap the JSON functionality of LASIO and I had to code a function to let Welly handle JSON files. The conversion was from DLIS, LIS, ASC well log formats to JSON for the Volve dataset and the JSON files were provided by Petroware. LAS files are not available.
It is unfortunate that wellio JSON and Petroware JSON formats are incompatible. Maybe, collaboration can help. I'll drop a message to Petroware regarding this.
The Github repository of Petroware : https://github.com/JSONWellLogFormat/JSONWellLogFormat mentions that the data is shared under the Apache 2.0 license.

@discover-volve
Copy link

I understand that JSON file format and JSON well log format are two different things. Let's name it as LJS : Log JSON Standard, similar to the LAS, LIS naming convention. Just saying!!!!

@dcslagel
Copy link
Collaborator

Adding @kinverarity1, since there was earlier coordination for the LAS-JSON interface between LASIO and WELLIO.JS and it may make sense to continue collaboration on LAS-JSON interfaces.

@ghost
Copy link

ghost commented Sep 30, 2020

A clarification:

The JSON Well Log Format is free and open and has no links to any commercial entity. It has a steering committee of individuals from different parts of the industry. The tools for the format supplied in GitHub are shared under the Apache 2.0 license.

Petroware is a company using and promoting this technology; They make reference implementations to prove its sustainability. They have created products and tools that have been contributed to the community, and they also provide commercial products like the bulk-converter they used to convert Volve to JSON. Other than this they have no role with the format whatsoever.

"JSON" may be confusing as it may refer to many different things, the JSON Well Log Format has its own schema and may be referred to as JWLF to avoid confusing it with other JSON formats.

@kinverarity1
Copy link

Yeah surely simplest way here is to use the existing bridges between lasio, wellio.js and welly.

@discover-volve if you create a LASFile object from the JSON Well Log Format directly, then you can load it in welly via Well.from_lasio, and the existing bridge to wellio.js will work fine.

https://lasio.readthedocs.io/en/latest/building.html

@discover-volve
Copy link

@kinverarity1 That's exactly what my function does.

@kinverarity1
Copy link

Ah yep sorry I misread the code.

I suggest removing e.g. lines 385-392 where the LAS file is written to disk as it's presumably unnecessary.

@discover-volve
Copy link

The LAS file needs to be stored on the disk so that it can be imported. I'll check if this can be done in memory.

@github-actions github-actions bot closed this as completed Oct 9, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed no-issue-activity
Projects
None yet
Development

No branches or pull requests

4 participants