Graphing and Interpretation
Purpose
Use this guide after a case has been solved and you need to connect graph shape to utility targets, target scope, and workflow decisions.
Prerequisites
Install openpinch[notebook] for Plotly figures or
openpinch[dashboard] for the Streamlit review surface.
Sample Case
Use basic_pinch.json for process-level graphs and pulp_mill.json or
zonal_site.json for Total Site profiles and SUGCC views.
Runnable Workflow
from OpenPinch import PinchProblem
problem = PinchProblem("basic_pinch.json")
problem.target.all_heat_integration()
summary = problem.summary_frame()
gcc = problem.plot.grand_composite_curve()
cc = problem.plot.composite_curve()
catalog = problem.plot.catalog()
Expected Output
summary_frame() gives the numerical context. problem.plot.* returns
Plotly figures or graph data for the solved target family. catalog() helps
confirm which graph families are available before exporting or displaying.
Interpretation
Use this order:
read the summary row and target scope
inspect the Grand Composite Curve for utility placement
inspect Composite Curves or shifted curves for overlap and pinch behavior
inspect Total Site profiles only after confirming the workflow is multizone
inspect exergetic graphs only after running exergy post-processing
After exergy enrichment:
problem.target.exergy()
gcc_x = problem.plot.exergetic_grand_composite_curve()
nlp_x = problem.plot.exergetic_net_load_profiles()
For portable review artifacts:
paths = problem.plot.export(
"graphs",
plot=problem.plot.grand_composite_curve,
)
Common mistakes are comparing a process-level row to a site-level graph, reading graph shape before checking utility targets, or treating a graph change as sufficient without confirming the metrics.
Next Steps
Graphs and Interpretation for graph meaning.
Exporting Results for Excel, HTML, and dashboard outputs.
Heat Pump and Refrigeration Workflows for HPR graph families.