Download the model and its companion style to reproduce the workflow exactly and ensure consistent symbology in QGIS.
Warning
Model and style must be co‑located. The model file and its corresponding style file must reside in the same folder. If either file is moved or the directory structure changes, relative references will break and the style will not be applied at >runtime/build time.
This document describes a QGIS model that computes Soil Organic Carbon (SOC) as a depth‑weighted value in the top 0–30 cm. The workflow integrates datastream selection, 0–30 cm layer filtering, hierarchical joins across profile tables, weighted value computation per datastream, and final aggregation per soil plot.
Tip
For further information on model creation and execution, consult the official QGIS documentation for the Model Designer.
The model works exclusively on the SoilWise GeoPackage and uses the following tables/layers: profileelement, soilprofile, datastream, observation, soilplot. Expected relations: profileelement.ispartof → soilprofile.guid; datastream.guid_profileelement → profileelement.guid; observation.guid_datastream → datastream.guid; soilprofile.location → soilplot.guid.
[0, 30] cm.guid_observedproperty = '09b9f784-0bee-49ee-aaae-9320e0e258f6' - Carorgguid_observingprocedure = '9c6f5f47-352e-463b-9c4e-6320a154040a' - OrgC_wc-cro3-walkleyblackupper < 30 and lower > 0.soilprofile ↔ profileelement (filtered).datastream and retain only needed fields.observation to bring result_real and time.oc_0_30 (Field Calculator):
guid_3 (datastream) is unique → oc_0_30 = w; if repeated → see 5.2.
guid_3 (one row per datastream).location): use sum and rename to soc_0_30.soilplot and apply the CO_0_30.qml style.count(guid_3) = 1:count(guid_3) > 1:soilplot with attribute soc_0_30 (SOC 0–30 cm) and the CO_0_30.qml style applied.