-
Notifications
You must be signed in to change notification settings - Fork 0
w4h.run() Conceptual Diagram
RJbalikian edited this page May 1, 2024
·
2 revisions
The diagram below is intended to illustrate the relationships between the different types of data and how they interact with each other during the running of the w4h.run() function.
flowchart TD
sampleGrid['Sample Grid Points']
SAData['Study Area']
subgraph w4h
direction TB
Lith
rasterData
SA
WD
MD
WDM
end
subgraph outputs
direction TB
classifyData
layers
classifyData-->layers
end
subgraph SA['Study Area']
direction TB
SAInput[("Input\nread_study_area()")]---->SAData
SAData-.->clipData
end
subgraph MG['Model Grid']
direction TB
MGIN[('Input')]---->MGReproj['Reproject as needed']
MGReproj-.->clipData-.-> alignRasters['Coregister/Align Raster Data']
MGReproj-.->alignRasters
end
subgraph SE['Surf. Elev.']
direction TB
SEIN[('Input')]---->SEReproj['Reproject as needed']
SEReproj-.->clipData -.-> alignRasters
SEReproj-.->alignRasters
end
subgraph clipData['Clip data']
clipGrid['Clip Grid Data']
end
subgraph classifyData['Classify Data']
exactDef['Define Exact Matches']
startDef['Define by initial matches']
wildcardDef["Define by 'wildcard' matches"]
depthClassify["Define by depth"]
fillUnclassified["Fill Unclassified (with np.nan)"]
interpret["Interpret Classifications to lithologies"]
exactDef -.->startDef
exactDef -.->wildcardDef
startDef -.->wildcardDef
exactDef-.->depthClassify
startDef-.->depthClassify
wildcardDef-.->depthClassify
depthClassify-->fillUnclassified
fillUnclassified-->interpret
end
subgraph rasterData['Raster Data']
direction TB
SE
BE
MG['Model Grid']
alignRasters
getThick['Get Drift Thickness']
end
subgraph layers["Layer Calculations"]
direction TB
layerThick["Calculate Layer Thickness"]
targetThick["Calculate Thickness of target material per layer"]
targetInterpolate["Interpolate Thickness of target material at well points to layer rasters"]
getThick --> layerThick
layerThick -->targetThick
targetThick-->targetInterpolate
end
subgraph export['Export']
direction LR
interpTargPerLayer[('Per layer data')]
targetThickAtWells[('Per Well data')]
surfElev[("Reprojected/Aligned Surface Elevation")]
bedrockElev[("Reprojected/Aligned Bedrock Elevation")]
targetInterpolate-->interpTargPerLayer
targetInterpolate-->targetThickAtWells
targetInterpolate-->surfElev
targetInterpolate-->bedrockElev
end
subgraph BE['Bedrock Elev.']
direction TB
beIN[('Input')]---->beReproj['Reproject as needed']
beReproj-.->clipData -.-> alignRasters
beReproj-.->alignRasters
alignRasters--"Surface Elev. - Bedrock Elev."--->getThick
end
subgraph MD['MetaData']
direction TB
MDIN[('Input')]-->MDDtypes['Define Datatypes']
end
subgraph WD['Well Data']
direction TB
WDIN[('Input')]-->WDDtypes['Define Datatypes']
end
WDDtypes-->MergeData['MergeData']
MDDtypes-->MergeData['MergeData']
subgraph WDM['Merged Data']
direction TB
MergeData-->ConvertGDF['Convert to GeoDataFrame']
ConvertGDF -."clip_well_data()".->clipData-.->AddCtrlPts['Add Control Points']
ConvertGDF --> AddCtrlPts
AddCtrlPts --> CD
subgraph CD['Clean Data]
direction TB
remDataNoCoords["Remove Data with no Coordinates"]
remDataNoCoords-->remDataNoTopo["Remove Data without Topography"]
remDataNoTopo-->remDataNoDepth["Remove Data without Depth Info."]
remDataNoDepth-->remDataBadDepth["Remove Data with Bad Depth Info."]
remDataBadDepth-->remDataNoGeo["Remove Data with no Geology Info."]
end
CD --> sampleGrid
end
subgraph Lith['Lithologies']
direction TB
lithIN[('Input')]-->DefineDTypes
end
rasterData-->classifyData
WDM------>classifyData
Lith-->classifyData