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

Extend WellLog to offer an optional acquisition context #21

Open
2 tasks done
SnorreFossland opened this issue Mar 12, 2024 · 3 comments
Open
2 tasks done

Extend WellLog to offer an optional acquisition context #21

SnorreFossland opened this issue Mar 12, 2024 · 3 comments
Assignees

Comments

@SnorreFossland
Copy link
Contributor

SnorreFossland commented Mar 12, 2024

Finished criteria:

This issue is finished when the update is presented to the OSDU forum.

What is the scope of this issue?

Show how to import existing version of Welllog and model the extension in AKM and generate a CSV-file for import in OSDU.

Why

To implement a way to update OSDU Schema giving a better overview over the change and also better visualization of the details.

How

  • Run a test prototype of the whole procedure from import of existing to export of CSV.
  • Demo

Who

@dagkarlsen , @SnorreFossland

When

March 2024
Milestone ....

@SnorreFossland SnorreFossland self-assigned this Mar 12, 2024
@SnorreFossland
Copy link
Contributor Author

SnorreFossland commented Mar 12, 2024

Hei Snorre,

Here is my suggestion for a demo use case:

Goal: We need to extend WellLog to offer an optional acquisition ### context.

Prerequisites:

  1. There is an independent modeling exercise to define a WellLogAcquisition object. Its main purpose is to hold all details about a well log acquisition, which produces raw WellLog instances in potentially multiple runs, which contain multiple passes. (current proposal WellLogAcquisition.1.0.0 (1)).

  2. WellLogAcquisition.1.0.0 (1) is treated as ‘black box’, it is just there defined as a master-data group-type entity.

  3. WellLog.1.5.0 you already have, the next minor version, which should be extended – this is the basis or equivalent for the AKM import ().

In AKM

  1. You ‘somehow’ create a representation for the master-data WellLogAcquisition (without the detail inside)

  2. You create an abstract fragment AbstractLogAcquisitionRunPass with version 1.0.0. (The happy outcome is attached with the same name). But you create the prop-links for (the descriptions are in the attached proposal spreadsheet)

    a. WellLogAcquisitionID (string) – this is the relationship to WellLogAcquisition (aka foreign key) – I made this a mandatory property (JSON schema: required)

    b. RunIdentifier (string)

    c. PassIdentifier (string)

  3. The meta model is used to declare the WellLogAcquisitionID property as ‘relationship’ to master-data WellLogAcquisition.

  4. You load the work-product-component WellLog.1.5.0 as the ‘next version’ with all its elements. You may not need to ‘show’ all the details, which we are only adding new elements.

    a. You add a new property to WellLog ‘AcquisitionDetail’, type nested object by reference, referring to an abstract group-type, the name AbstractLogAcquisitionRunPass and the version 1.0.0 (we need to uniquely identify the semantic version number we include/use as composition).

Now you can explain the change by creating views. Eventually, the approval could be done in AKM and you could fill the “State” column Y with Accepted (for the demo).

Now the CSV ‘copy by value’ starts:

  1. Create a new abstract proposal for AbstractLogAcquisitionRunPass.1.0.0.xlsx – I attached a AbstractTemplate.1.0.0.xlsx for that purpose. It would have to be renamed as the name has to match the main type name.

  2. Open the WellLog.1.5.0 and add the one new row (or if you are brave and can recreate the entire content, the entire main 1.5.0 sheet.

Hilsen,
Thomas

@SnorreFossland
Copy link
Contributor Author

SnorreFossland commented Mar 18, 2024

Screenshots of the resulting Model

Imported WellLog

Image

Overview of the types involved

Image

WellLogAcquisition and AbstractLogAcquisitionRunPass with properties and refs

Image

@franklillehagen
Copy link
Collaborator

Snorre,

Jeg skal se mer på OSDU product and organization modelling i morgen.

Frank

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants