EMDS · Complete QGIS example · November 2026 · plugin 0.7.0

From watershed condition
to management priorities

Explore nine subwatersheds of Oregon’s Upper Chewaucan River basin. First inspect a prepared example, then reproduce a NetWeaver condition assessment and a Criterium DecisionPlus (CDP) prioritization.

The question: What does the available evidence say about watershed condition, and how does an explicit restoration strategy change where we would act first?

Choose your starting point

The teaching ZIP contains a complete shared EMDS workspace, starter GIS data, the two models, mappings, and reference outputs. Extract Chewaucan-QGIS-Example-202611.zip to a normal local folder before following this guide.

Start with the prepared workspace. You can inspect its model, map, and result tables before performing a new run. The optional rebuild section explains how those pieces were assembled.

Files in the extracted example folder
File or folderPurpose
Chewaucan-QGIS-Example.emdsworkspaceThe complete workspace to import through EMDS.
starter/Chewaucan-Starter.qgz and starter/data.gpkgA QGIS project and the six source layers for rebuilding the lesson.
models/chewWS.nw2 and models/ChewWS2.cdpxNetWeaver knowledge model and CDP restoration-priority model.
mappings/netweaver.json and mappings/cdp.jsonThe exact mappings used to prepare the example.
expected/netweaver.csv, expected/cdp.csv, expected/cdp-spatial.csvFull NetWeaver, CDP engine/history, and saved spatial references, associated with named subwatersheds.
expected/cdp-input-adjustments.csv, expected/README.txt, expected/results.jsonMapped raw/working differences, reference-file instructions, and a compact result summary.
validation.json and PROVENANCE.mdExecuted checks, remaining limits, source hashes, and attribution.

1. Prepare QGIS and EMDS

  1. Install QGIS 4 and the supplied EMDS for QGIS 2026.11 (plugin 0.7.0) Windows package. The plugin declares QGIS 4.0–4.99 support. The Windows review environment uses QGIS 4.2.2; consult validation.json for the actual package checks completed. macOS signing/native testing and Linux QGIS-host acceptance remain separate release gates.
  2. In QGIS, use Plugins → Manage and Install Plugins → Install from ZIP for the EMDS plugin ZIP, if it is not already installed. Finish the plugin’s dependency setup and restart QGIS if requested.
  3. Open the EMDS panel using Plugins → EMDS → Toggle EMDS Display. Its window is named EMDS Analysis Tasks. Select English if you want the labels to match this guide.
  4. Save any unrelated QGIS project before opening the teaching workspace.

The workspace contains vector data and uses the native NetWeaver and CDP engines supplied with EMDS. It does not require an ArcGIS license. AI explanations, a separate AI model download, and an online basemap are optional and are not required for this lesson.

The recordings were made with an earlier interface. This guide follows the existing EMDS task workflow; some video labels and button positions differ. Interactive acceptance and other platform checks are recorded separately from automated numerical validation.

2. Open the complete shared workspace

  1. In the EMDS panel, click Open shared EMDS workspace….
  2. Select Chewaucan-QGIS-Example.emdsworkspace from the extracted example folder. Select the inner workspace file, rather than the outer teaching ZIP.
  3. At Choose parent folder for imported workspace, choose a local folder where you keep examples. EMDS creates an imported workspace folder there.
  4. Wait for import to finish. EMDS opens the QGIS project and refreshes the Workbench tree. Read any Workspace compatibility message before continuing.
  5. Select the Advanced tab. Expand the workspace, study area, and analysis until the two tasks are visible.
Chewaucan Teaching Example
  FullWatershed
    Watershed Condition
      Baseline — NetWeaver
        Priorities — CDP

Check: the map should show the Chewaucan basin and its nine subwatersheds. Expand Base Layers in the QGIS Layers panel to see streams, reaches, subwatersheds, and basin boundary. Source layers and result layers serve different purposes.

Import is a workspace operation. Importing a workflow JSON or merely opening a .qgz file does not import the accompanying EMDS task metadata and model snapshots. If import reports an identity/revision conflict, retain the message and use a separate QGIS profile for a clean review; do not replace your normal catalog with a sample database.

3. Inspect the prepared results

Understand the study area

FullWatershed evaluates the subwats polygons as decision units. The basinBndry polygon is an included overlay carrying model parameters. The study contains nine features. The line layers provide geographic context; they are not nine additional decision units.

NetWeaver: what does the evidence support?

  1. Right-click Baseline in the Advanced tree and choose Open NetWeaver Viewer.
  2. Select a subwatershed in the result table or use Select in the viewer’s map. Read its watershed condition, upland condition, road density, and stream condition topics.
  3. Click Display NetWeaver Viewer to inspect the evaluated network. Select a node and follow its children. Read its model documentation before interpreting a score.

NetWeaver truth values run from −1 (evidence contradicts the proposition) to +1 (evidence supports it). A truth value is not a probability or a percent. Read each proposition: support for a desirable condition differs from support for a pressure or problem. Missing-data signals also need separate attention.

CDP: how does the strategy set priorities?

  1. Close or move the NetWeaver viewer. Right-click Priorities and choose Open CDP Viewer.
  2. Open Prioritization and inspect the named alternatives and PriorityScores. Compare the same subwatershed across the map and table.
  3. Use Criteria / Levels and Contributions to inspect the criteria and their roles. Additional tabs can include Sensitivity and Tradeoffs; interpret them within the inputs available for this model.

This historical restoration model explicitly favors a “save the best and fix the rest” strategy. A poor condition score does not automatically mean the highest restoration priority. The priority reflects the model’s value functions, weights, and strategy. A CDP score is not a probability of restoration success.

4. Reproduce the analysis

Work in the imported teaching copy. Keep the downloaded archive and the files under expected/ as your reference; rerunning can replace the current result layers in the working copy.

  1. Right-click the Baseline task and choose Run Task. Wait for completion and confirm nine processed features. If the engine reports a failure, read that error before continuing.
  2. Open the NetWeaver viewer and compare a named feature against expected/netweaver.csv. Confirm feature identity as well as its values.
  3. Right-click the Priorities child task and choose Run Task. It consumes the NetWeaver result. Wait for completion and confirm nine alternatives.
  4. Open the CDP viewer and compare the named alternatives against expected/cdp.csv. Check the mapping table below if the rankings or scores differ.
  5. Save the QGIS project and keep the original teaching ZIP. Use Export/share EMDS workspace… to create a portable archive, then import it into a fresh destination and check the same features and values. An ordinary QGIS project save does not rebuild a portable archive.

Run parent, then child. The task context menu’s Run Task command runs the selected task. Running Baseline does not establish that Priorities was also refreshed. Select task nodes explicitly rather than assuming that an analysis-level pipeline command has the same scope.

Use the November release for this example. Its default NetWeaver renderer retains missing-data handling with finite exportable bounds. The earlier 0.6.0 release could reject a rerun or restyle with Invalid renderer range; those older installers have not been relabeled. The release’s restyle/export/fresh-import checks are recorded in its acceptance report.

5. Build the example from the starter

This longer route explains workspace creation and field mapping. Use a new workspace name, such as Chewaucan Practice, to keep your exercise separate from the imported prepared example.

A. Create the workspace and study area

  1. Save your current project. In QGIS, open starter/Chewaucan-Starter.qgz from the extracted example folder. Keep its adjacent data.gpkg in place.
  2. In the EMDS Advanced tab, click Create Workspace. Enter your practice name, add a description, select all six source layers, and finish. The workspace receives copies of the source layers.
  3. Select your workspace and click Create Study Area. Name it FullWatershed.
  4. Set the layer ending in subwats to Include as Target, and the layer ending in basinBndry to Include in Study Area. Exclude the other layers from this study calculation.
  5. On Feature Selection, click Select All Features. Confirm Selected: 9 features. Review the summary, then finish.

B. Create the NetWeaver task

  1. Select FullWatershed and click Create Analysis. Name the analysis Watershed Condition and choose the NetWeaver engine.
  2. In Create NetWeaver Task, name the task Baseline. Select Run NetWeaver when the wizard finishes.
  3. On Model and Topics, browse to models/chewWS.nw2. Select the watershed evaluation branch and use Add ->.
  4. On Field Mapping, review every required mapping against the table below. Verify proposed matches; similar names alone do not establish a correct connection. A model-ignored variable is distinct from an accidentally missing required input.
  5. On Topics To Add To Map, select watershed condition, upland condition, road density, and stream condition. Finish and inspect the result.
NetWeaver mappings for the prepared study overlay
Model variableInput field
cd1chewaucan_basinBndry_CD1
cd2chewaucan_basinBndry_CD2
canopyDensityinput_CANOPYDENS
so3chewaucan_basinBndry_SO3
so4chewaucan_basinBndry_SO4
seralOpeningsinput_SERALOPENI
rct1chewaucan_basinBndry_rct1
rct2chewaucan_basinBndry_rct2
roadCrossinput_roadCross
streamLengthinput_streamLength
rd1chewaucan_basinBndry_RD1
rd2chewaucan_basinBndry_RD2
roadLengthinput_roadLength
hectaresinput_hectares
access1chewaucan_basinBndry_ACCESS1
access2chewaucan_basinBndry_ACCESS2
streamAccessinput_STREAMACCE
reachConditioninput_REACHCONDI
rosgenTypeinput_ROSGENTYPE
finesinput_fines
wt1chewaucan_basinBndry_WT1
wt2chewaucan_basinBndry_WT2
waterTempinput_WATERTEMP

A rebuilt overlay may use a different prefix derived from its layer names. Match each field to the same source attribute; do not choose a different measurement merely to fill a row. The baseline package’s JSON mappings document the exact prepared configuration.

C. Add the CDP child task

  1. Select Baseline in the tree, then choose Add Subtask. In the task dialog, choose Simple Task using CDP Prioritization.
  2. Name the prioritization Priorities. Browse to models/ChewWS2.cdpx. Use this model, not a differently named export or an edited copy.
  3. Confirm that the input is the Baseline NetWeaver result. Apply the eight mappings in the next table. Set Display Field to input_SUB_NAME and Primary Key to fid.
  4. On Validation, retain Use scale average (default) for unrated and unknown values, and Clamp to scale limits (default) for off-scale values. These correspond to stored values 2, 2, 2. Review any model rules and the summary before finishing.
  5. Run Priorities if it did not run on finishing. Confirm nine named alternatives and inspect the results.
CDP mappings: condition evidence and original measurements
Model criterionInput fieldMeaning
WS conditionnw0__watershed_conditionNetWeaver support for watershed condition.
Reach conditionnw0__reach_conditionNetWeaver reach-condition result.
Stream accessnw0__passage_barriersNetWeaver passage-barrier topic used by this criterion.
Seral openingsinput_SERALOPENIOriginal percentage of recent openings.
Water tempinput_WATERTEMPOriginal seven-day maximum temperature, degrees Fahrenheit.
Canopy densityinput_CANOPYDENSOriginal canopy-cover percentage.
Road densityinput_RDDENSITYOriginal road density, miles per square mile.
Culvertsinput_roadCrossRoad-crossing count used as the teaching example’s culvert proxy.

The prepared workspace uses the nw0__ prefix for its NetWeaver result fields. A rebuilt task or another EMDS version may use a different prefix. Select the same topic from your own Baseline result; use the accompanying mappings/cdp.json to check the prepared example’s exact configuration.

Culverts mapping: the example uses the subwatershed’s input_roadCross count as a proxy. The basin field chewaucan_basinBndry_CD1 is a model parameter, not a count of culverts. An earlier tutorial script suggested that parameter; follow the audited mapping here. A proxy is a modeling assumption, not a verified culvert inventory.

6. Check the result, not just the map

  1. Count: there should be nine decision units and nine result rows for each engine.
  2. Identity: compare by subwatershed name and the source feature key, not table row position. Within the supplied workspace, check fid, RowID where present, input_OBJECTID, and input_SUB_NAME. A newly built overlay can assign different local fid values, so retain the source identity and name for that comparison.
  3. NetWeaver values: compare each named feature’s topic values with expected/netweaver.csv. Review the model and mappings if the associated values differ.
  4. CDP spatial values: compare the saved map/table with expected/cdp-spatial.csv. It preserves every carried NetWeaver input attribute. Compare engine/history results with expected/cdp.csv, which records the engine’s working copy. Names, criteria and priority outputs must agree by feature identity.
  5. Evidence: expected/results.json records reference details. validation.json lists the engine and package checks actually performed. A successful engine run and import check do not establish a complete interactive QGIS walkthrough.

CDP CSV note: ogc_fid is an internal row ordinal, not the subwatershed identity. It can be regenerated when the task reloads rows in source-feature order. Compare the stable keys, names, topic values, criteria values, and priority scores instead of ogc_fid or row position.

Raw inputs and working values have different roles. The model’s off-scale policy clamps a working copy of mapped measurements to its scale limits. This example has 15 adjustments among 72 mapped values. expected/cdp-input-adjustments.csv identifies each affected feature, criterion, source field, raw value and working value. The spatial table retains the original carried attributes; the engine/history reference retains the working values. Keep both when explaining a result.

The reference outputs come from the new engine runs identified in the validation record; older saved Chewaucan result tables are not included. Independent checks compare stable feature associations and all reference fields within 1 × 10−12. The report records the actual outcome and remaining limits. Interactive acceptance and other platform checks are recorded separately.

If something differs

The first three video lessons

These links require an internet connection. The local data, model files, and this written guide remain available offline.

  1. What EMDS Is — 3:18.
  2. Creating Your First EMDS Workspace — 4:06.
  3. Prioritizing Decisions — 3:17.

Scope, coordinate-system limits, and attribution

A historical teaching example. These regional data and models explain a decision process. They are not a current assessment of Chewaucan conditions, a present restoration recommendation, a survey, or a calibrated model for another region. Review assumptions, data age, measurements, and local ecological knowledge before applying this approach elsewhere.

A reconstructed coordinate system. The source spatial reference was lost. A local recovery assigned a custom Lambert Conformal Conic CRS with an assumed NAD83 datum and a fitted false origin. Source coordinates were retained. The recovery documentation reports agreement with watershed boundaries at roughly 50 metres; that positional estimate was not independently re-established for this teaching release. Use it for this watershed-scale example, not precise boundary or survey work.

What this release covers. NetWeaver condition assessment followed by CDP prioritization on QGIS. Portfolio funding choices, ArcGIS Pro numerical equivalence, Online execution, and AI interpretation accuracy are separate topics. The presence of a feature in another EMDS product is not an acceptance result for this package.

Attribution and permission. The Chewaucan subwatershed decision model retains its attribution to Keith Reynolds; the CDP model notes its original creation on July 1, 2002. The data and model owner authorized redistribution of this example on October 30, 2026. EMDS example packaging and guide: Mountain View Business Group. Product names identify the tools involved and do not imply agency endorsement.

Read PROVENANCE.md for the source identities, reconstruction details, and the distinction between historical results and this package’s new runs.