|
# WellLog entity : Meta only (record) consistency
|
|
# WellLog entity : Meta only (record) consistency
|
|
|
|
|
|
|
|
## Rules
|
|
see [WellLog schema](https://community.opengroup.org/osdu/data/data-definitions/-/blob/v0.14.0/E-R/work-product-component/WellLog.1.2.0.md).
|
|
see [WellLog schema](https://community.opengroup.org/osdu/data/data-definitions/-/blob/v0.14.0/E-R/work-product-component/WellLog.1.2.0.md).
|
|
|
|
|
|
- _rule 1_: Each `CurveID` listed in `data.Curves.CurveID` must be unique.
|
|
- _rule 1_: Each `CurveID` listed in `data.Curves.CurveID` must be unique.
|
|
|
|
|
|
- _rule 2_: Ensure `data.ReferenceCurveID` exists in `data.Curves.CurveID` list.
|
|
- _rule 2_: Ensure `data.ReferenceCurveID` exists in `data.Curves.CurveID` list.
|
|
|
|
|
|
Welllog record example:
|
|
## Example
|
|
|
|
|
|
|
|
wellog record:
|
|
````json
|
|
````json
|
|
{
|
|
{
|
|
"id": "...",
|
|
"id": "...",
|
|
"data": {
|
|
"data": {
|
|
"ReferenceCurveID": "MD",
|
|
"ReferenceCurveID": "MD",
|
|
"SamplingStart": 7627.0,
|
|
"SamplingStart": 7627.0,
|
|
"SamplingStopt": 7627.7,
|
|
"SamplingStopt": 7627.6,
|
|
"Curves": [
|
|
"Curves": [
|
|
{
|
|
{
|
|
"CurveID": "CSHG",
|
|
"CurveID": "CSHG",
|
... | @@ -34,7 +36,6 @@ Welllog record example: |
... | @@ -34,7 +36,6 @@ Welllog record example: |
|
}
|
|
}
|
|
````
|
|
````
|
|
|
|
|
|
In the example:
|
|
|
|
|
|
|
|
- _rule 1_: Each `Curves.CurveID` is unique, here `MD` and `CSHG`.
|
|
- _rule 1_: Each `Curves.CurveID` is unique, here `MD` and `CSHG`.
|
|
|
|
|
... | @@ -46,6 +47,8 @@ In the example: |
... | @@ -46,6 +47,8 @@ In the example: |
|
|
|
|
|
WellLog record can exist without bulk data.
|
|
WellLog record can exist without bulk data.
|
|
|
|
|
|
|
|
## Rules
|
|
|
|
|
|
When bulk is added\edited following checks to be done :
|
|
When bulk is added\edited following checks to be done :
|
|
|
|
|
|
- _rule 3_: Ensure `Curves.CurveID` listed in the record **match** the `column names` in the bulk.
|
|
- _rule 3_: Ensure `Curves.CurveID` listed in the record **match** the `column names` in the bulk.
|
... | @@ -54,18 +57,25 @@ When bulk is added\edited following checks to be done : |
... | @@ -54,18 +57,25 @@ When bulk is added\edited following checks to be done : |
|
|
|
|
|
- _rule 5_: For each curve, ensure that `NumberOfColumns` **matches** the `column` count in the bulk for this curve.
|
|
- _rule 5_: For each curve, ensure that `NumberOfColumns` **matches** the `column` count in the bulk for this curve.
|
|
|
|
|
|
|
|
## Example
|
|
|
|
|
|
WellLog bulk example:
|
|
WellLog bulk data:
|
|
|
|
|
|
| DEPTH | CSHG[0] | CSHG[1] | CSHG[2] | CSHG[3] |
|
|
| DEPTH | CSHG[0] | CSHG[1] | CSHG[2] | CSHG[3] |
|
|
|--------|---------|---------|---------|---------|
|
|
|--------|---------|---------|---------|---------|
|
|
| 7627.0 | 0.573 | ... | ... | ... |
|
|
| **7627.0** | 0.573 | 0.573 | 0.573 | 0.573 |
|
|
| 7627.0 | 0.531 | ... | ... | ... |
|
|
| 7627.1 | 0.531 | 0.531 | 0.531 | 0.531 |
|
|
| 7627.0 | 0.653 | ... | ... | ... |
|
|
| 7627.2 | 0.653 | 0.653 | 0.653 | 0.653 |
|
|
| 7627.0 | 0.788 | ... | ... | ... |
|
|
| 7627.3 | 0.788 | 0.788 | 0.788 | 0.788 |
|
|
| 7627.0 | 0.034 | ... | ... | ... |
|
|
| 7627.4 | 0.034 | 0.034 | 0.034 | 0.034 |
|
|
| 7627.0 | 0.035 | ... | ... | ... |
|
|
| 7627.5 | 0.035 | 0.035 | 0.035 | 0.035 |
|
|
| 7627.7 | 0.607 | ... | ... | ... |
|
|
| **7627.6** | 0.607 | 0.607 | 0.607 | 0.607 |
|
|
|
|
|
|
|
|
- _rule 3_: `Curves.CurveID` list, `DEPTH` and `CSHG` matches the `column names` in the bulk. Here `CSHG` is an array with 4 columns: CSHG[0], CSHG[1], CSHG[2], CSHG[3].
|
|
|
|
|
|
|
|
- _rule 4_: The values associated to the `ReferenceCurveID`,`DEPTH`, are monotonic: no duplicates, strictly increasing, no missing values.
|
|
|
|
|
|
|
|
- _rule 5_: `DEPTH.NumberOfColumns` **matches** the `column` count in the bulk ==> **1**. `CSHG.NumberOfColumns` **matches** the `column` count in the bulk ==> **4**, CSHG[0], CSHG[1], CSHG[2], CSHG[3].
|
|
|
|
|
|
|
|
|
|

|
|

|
... | | ... | |