WellLog entity : Meta only (record) consistency
Rules
see WellLog schema.
-
rule 1: Each
CurveID
listed indata.Curves.CurveID
must be unique. -
rule 2: Ensure
data.ReferenceCurveID
exists indata.Curves.CurveID
list.
Example
wellog record:
{
"id": "...",
"data": {
"ReferenceCurveID": "MD",
"SamplingStart": 7627.0,
"SamplingStopt": 7627.6,
"Curves": [
{
"CurveID": "CSHG",
"Mnemonic": "CSHG",
"LogCurveFamilyID": "data-partition-id:reference-data--LogCurveFamily:Core%20Mercury%20Saturation:",
"NumberOfColumns": 4
},
{
"CurveID": "MD",
"CurveUnit": "data-partition-id:reference-data--UnitOfMeasure:ft:",
"Mnemonic": "MD",
"LogCurveFamilyID": "data-partition-id:reference-data--LogCurveFamily:Measured%20Depth:",
"NumberOfColumns": 1
}
],
}
-
rule 1: Each
Curves.CurveID
is unique, hereMD
andCSHG
. -
rule 2:
ReferenceCurveID
is set toMD
andMD
existsCurves.CurveID
list.
WellLog entity : Meta data (record) & Bulk data consistency
WellLog record can exist without bulk data.
Rules
When bulk is added\edited following checks to be done :
-
rule 3: Ensure
Curves.CurveID
listed in the record match thecolumn names
in the bulk. -
rule 4: For each curve, ensure that
NumberOfColumns
matches thecolumn
count in the bulk for this curve.
Example
WellLog bulk data:
DEPTH | CSHG[0] | CSHG[1] | CSHG[2] | CSHG[3] |
---|---|---|---|---|
7627.0 | 0.573 | 0.573 | 0.573 | 0.573 |
7627.1 | 0.531 | 0.531 | 0.531 | 0.531 |
7627.2 | 0.653 | 0.653 | 0.653 | 0.653 |
7627.3 | 0.788 | 0.788 | 0.788 | 0.788 |
7627.4 | 0.034 | 0.034 | 0.034 | 0.034 |
7627.5 | 0.035 | 0.035 | 0.035 | 0.035 |
7627.6 | 0.607 | 0.607 | 0.607 | 0.607 |
using previous section well log record.
-
rule 3:
Curves.CurveID
list,DEPTH
andCSHG
matches thecolumn names
in the bulk. HereCSHG
is an array with 4 columns: CSHG[0], CSHG[1], CSHG[2], CSHG[3]. -
rule 4:
DEPTH.NumberOfColumns
matches thecolumn
count in the bulk ==> 1.CSHG.NumberOfColumns
matches thecolumn
count in the bulk ==> 4, CSHG[0], CSHG[1], CSHG[2], CSHG[3].
Additional rules when the reference is type "Measured Depth".
The following rules are only applied if the reference is type "Measured Depth".
Rules
-
rule 5: The values associated to the
ReferenceCurveID
in the record are monotonic. -
rule 6: The top and bottom bulk values associated to the
ReferenceCurveID
should match valuesdata.SamplingStart
anddata.SamplingStop
in the record.
Example
from previous record and bulk data:
record:
{
"id": "...",
"data": {
"ReferenceCurveID": "MD",
"SamplingStart": 7627.0,
"SamplingStop": 7627.6,
bulk:
DEPTH | ... |
---|---|
7627.0 | ... |
7627.1 | ... |
7627.2 | ... |
7627.3 | ... |
7627.4 | ... |
7627.5 | ... |
7627.6 | ... |
-
rule 5: The values associated to the
ReferenceCurveID
,DEPTH
, are monotonic: no duplicates, strictly increasing, no missing values. -
rule 6:
data.SamplingStart
matches bulkDEPTH
top value ==> 7627.0.data.SamplingStop
matches bulkDEPTH
bottom value ==> 7627.6.