INTERVAL HIERARCHY AUDIT
Residual = modeled derived base minus referenced top, metres. Mesh-node counts are not well counts.

torquay                -> birdbear               n=13669 median=   -0.2 p10=   -2.8 p90=    2.4
bakken                 -> torquay                n=13934 median=    1.1 p10=   -2.0 p90=   11.6
souris_valley          -> bakken                 n=13755 median=    0.4 p10=   -7.4 p90=   10.3
tilston                -> souris_valley          n= 7278 median=    0.1 p10=   -5.2 p90=    6.9
alida                  -> tilston                n= 6224 median=    0.1 p10=   -7.8 p90=    8.3
kisbey                 -> alida                  n= 5306 median=   -0.1 p10=   -4.4 p90=    3.6
frobisher              -> kisbey                 n= 5139 median=   -0.4 p10=   -8.5 p90=    6.3
frobisher              -> alida                  n= 5184 median=    5.9 p10=   -2.3 p90=   13.6
frobisher_evaporite    -> frobisher              n= 1222 median=    0.0 p10=   -2.6 p90=    2.6
midale                 -> frobisher_evaporite    n= 1167 median=   -5.1 p10=  -10.2 p90=    0.8
midale                 -> frobisher              n= 4016 median=    0.1 p10=   -5.5 p90=    7.7
midale_evaporite       -> midale                 n= 2154 median=    0.0 p10=   -2.9 p90=   3.17
ratcliffe              -> midale_evaporite       n= 2136 median=   -7.8 p10=  -12.7 p90=   -1.5
ratcliffe              -> midale                 n= 3648 median=    0.0 p10=   -3.3 p90=   5.43
mississippian          -> bakken                 n=13922 median=   -0.5 p10=  -10.9 p90=    6.1
mississippian          -> souris_valley          n=13747 median= -113.0 p10=-147.14 p90=  -54.0
watrous                -> mississippian          n=12539 median=   -0.4 p10=   -7.7 p90=    6.0
lower_watrous          -> mississippian          n=11811 median=   -0.3 p10=   -9.0 p90=    5.9
gravelbourg            -> watrous                n=12360 median=    0.1 p10=   -4.3 p90=    4.3
jurassic               -> watrous                n=12505 median=  -33.0 p10= -44.46 p90=  -21.8
jurassic               -> lower_watrous          n=11783 median=    0.0 p10=   -6.7 p90=    7.7
jurassic               -> gravelbourg            n=13158 median=  -85.6 p10= -99.83 p90= -43.07
cantuar                -> jurassic               n=13509 median=   -0.4 p10=   -9.4 p90=    9.5
mannville              -> jurassic               n=13359 median=   -0.2 p10=   -8.9 p90=   10.5
mannville              -> cantuar                n=13853 median=  -68.9 p10=  -97.2 p90= -31.02

REFERENCE TOPS FROM SOURCE WELLS (model base sampled at wells)
red_river              -> Winnipeg        n=  325 median=   -0.7 p10= -12.36 p90=   6.29
birdbear               -> Duperow         n= 1094 median=  -1.58 p10= -10.12 p90=   6.75
torquay                -> Birdbear        n= 1292 median=  -1.57 p10=  -9.96 p90=   6.06
bakken                 -> Big_Valley      n=  538 median=  -0.66 p10=  -7.79 p90=   6.83
bakken                 -> Torquay         n= 1526 median=  -0.66 p10=  -8.25 p90=   8.62
watrous                -> Sub_Mes_Un      n= 3427 median=  -1.51 p10= -16.55 p90=   7.92
lower_watrous          -> Sub_Mes_Un      n= 3336 median=  -2.43 p10= -17.62 p90=    7.9
gravelbourg            -> Watrous         n= 1721 median=  -0.63 p10=  -7.69 p90=   6.13
jurassic               -> Watrous         n= 1731 median= -34.94 p10= -47.84 p90= -24.03
jurassic               -> Sub_Mes_Un      n= 3609 median=   42.1 p10=    7.3 p90=  77.85
jurassic               -> Lwatrous        n= 1683 median=  -0.07 p10= -10.91 p90=    7.8
souris_valley          -> Bakken_Und      n= 1552 median=  -0.89 p10= -10.93 p90=   11.1
tilston                -> Souris_Val      n= 1098 median=  -1.08 p10= -13.85 p90=  11.97
alida                  -> Tilston         n= 1038 median=   -0.1 p10= -14.62 p90=  11.88
kisbey                 -> Alida           n= 1127 median=  -1.52 p10= -17.17 p90=  10.32
frobisher              -> Kisbey          n=  994 median=  -1.22 p10= -15.02 p90=  10.67
frobisher              -> Alida           n=  978 median=   5.75 p10= -10.35 p90=  18.83
frobisher_evaporite    -> Frob            n=  560 median=   -1.4 p10=  -8.66 p90=   6.91
midale                 -> Frob_Evap       n=  689 median=  -6.17 p10= -13.36 p90=   2.58
midale                 -> Frob            n= 1264 median=  -1.34 p10= -11.12 p90=   8.37
midale_evaporite       -> Midale          n=  879 median=   -1.3 p10=  -9.65 p90=   7.27
ratcliffe              -> Midale_Eva      n=  882 median=  -8.95 p10= -16.91 p90=  -0.39
ratcliffe              -> Midale          n= 1072 median=  -1.25 p10= -10.74 p90=   9.31
mississippian          -> Bakken_Und      n= 1560 median=  -1.89 p10= -12.62 p90=   7.81
cantuar                -> Sub_Cantua      n= 1902 median=  -0.66 p10= -16.71 p90=  11.32
mannville              -> Sub_Cantua      n= 1884 median=  -0.21 p10=  -14.7 p90=  14.48

HIERARCHY
red_river: Internally includes Red River cycles, but none is separately modeled; base is consistent with source Winnipeg top.
birdbear: Base consistent with source Duperow top; Duperow is not modeled.
torquay: Base consistent with Birdbear top. Big Valley may intervene above Torquay and below Bakken.
bakken: Whole Bakken; no separately modeled Bakken members. Underlying Big Valley is a distinct possible interval, so do not force direct Bakken–Torquay contact everywhere.
souris_valley: Base consistent with Bakken top.
tilston: Base consistent with Souris Valley top.
alida: Base consistent with Tilston top; does not include separately mapped Kisbey.
kisbey: Mapped Kisbey is a separate interval between Alida top and Frobisher base. Its GIS interval need not match every publication’s broader genetic definition.
frobisher: Base matches Kisbey top more closely than Alida top; mapped Frobisher excludes separately mapped Kisbey. Marsh–Qing genetic-cycle usage is broader and should not redefine this mapped thickness.
frobisher_evaporite: Basal part of mapped Midale, above Frobisher top.
midale: Mapped interval includes basal Frobisher Evaporite; base matches Frobisher top. A carbonate-only facies discussion must be labeled as a subdivision, not the full mapped thickness.
midale_evaporite: Basal part of mapped Ratcliffe, above Midale top.
ratcliffe: Mapped interval includes basal Midale Evaporite; base matches Midale top.
mississippian: Base matches Bakken top, so this mapped total excludes Bakken despite the Bakken spanning the Devonian–Mississippian boundary. It can contain younger Mississippian strata not separately shown.
watrous: Includes Lower and Upper Watrous; Upper Watrous also lies within mapped Total Jurassic. Basal contact follows the sub-Mesozoic unconformity, not universally a Mississippian formation top.
lower_watrous: Base consistent with sub-Mesozoic unconformity. Geologic substrate changes regionally.
gravelbourg: Base consistent with Watrous top; internal subdivisions are not modeled.
jurassic: Base matches Lower Watrous top, not Total Watrous top. Mapped Total Jurassic therefore includes Upper Watrous and Gravelbourg but excludes Lower Watrous. It partially overlaps the displayed Total Watrous composite.
cantuar: Base follows sub-Cantuar unconformity, not universally Jurassic top; substrate can vary.
mannville: Includes Cantuar and unmodeled upper Mannville/Pense intervals; base follows sub-Cantuar unconformity.

METHOD / LIMITS
This is a same-source internal stratigraphic consistency audit, not independent reservoir or datum validation.
Node residuals use already exported, rounded model top and thickness arrays on their common valid support. Counts are common mesh nodes, not wells.
Well residuals use the model base sampled at accepted source wells and source KB-minus-TVD picks; interpolation differences are expected.
Accessed structure-layer names identify the unit, but descriptions repeat the regional grid method and do not explicitly define every top/base interval or geodetic vertical datum.
The mapped span conclusions are strongly supported by same-source geometry and established basal-evaporite nomenclature; no surfaces should be forcibly shifted to remove natural source/interpolation discrepancies.
The exact reported 31,794 selected-unit picks and 37,505 total retained fields were recomputed; 4,074 UWI rows are unique. Counts are field-level picks including composites and unconformity fields, not independent wells or independent observations.
All 20 present masks have at least one positive-contour-supported compartment; the potentially unsafe no-selected-polygon fallback is not exercised in this export.
Special near-zero boundary ZLEVEL codes are excluded from structure elevations and ordinary thickness values, then the named zero edge is used as a geometric zero-thickness constraint. This is distinct from interpreting the numeric code as thickness.
