Skip to content

Instantly share code, notes, and snippets.

@jmarrec
Created October 31, 2023 16:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jmarrec/f6b30d347c9a9340907f9f8c4f814b59 to your computer and use it in GitHub Desktop.
Save jmarrec/f6b30d347c9a9340907f9f8c4f814b59 to your computer and use it in GitHub Desktop.
OpenStudio Workflow Diagram

OpenStudio Workflow Diagram

flowchart TB
    InitialOSM[Active OSM Model]
    FinalOSM[Final OSM Model]
    subgraph RunModelMeasures ["Run ModelMeasures"]
        direction TB
        ModelMeasureSignature[/"run(model, runner, user_arguments)"/]
        ModelMeasureSignature ~~~ ModelMeasureA[[ModelMeasure A]] -- Modified OSM --> ModelMeasureB[[ModelMeasure B]] -- Modified OSM --> ModelMeasureC[[ModelMeasure C]]
    end

    classDef action fill:#f96;

    InitialOSM --> RunModelMeasures
    RunModelMeasures --> FinalOSM
    ForwardTranslation(((OSM => IDF:\nForwardTranslation)))
    class ForwardTranslation action;
    InitalIDF["Initial Workspace (IDF)"]
    FinalIDF["Final Workspace (IDF)"]
    subgraph RunEnergyPlusMeasures ["Run EnergyPlusMeasures"]
        direction TB
        EnergyPlusMeasureSignature[/"run(workspace², runner, user_arguments)"/]
        EnergyPlusMeasureSignature ~~~ EnergyPlusMeasureA[[EnergyPlusMeasure A]] -- Modified Workspace --> EnergyPlusMeasureB[[EnergyPlusMeasure B]] -- Modified Workspace --> EnergyPlusMeasureC[[EnergyPlusMeasure C]]
    end
    EnergyPlusOutputRequests["EnergyPlus\nOutput\nRequests: energyPlusOutputRequests(runner, user_arguments)"]
    style EnergyPlusOutputRequests fill:#93C47D
    FinalOSM --> ForwardTranslation --> InitalIDF --> RunEnergyPlusMeasures --> EnergyPlusOutputRequests --> FinalIDF

    RunEnergyPlus(((Run EnergyPlus)))
    class RunEnergyPlus action;
    SQLResults[EnergyPlus\nSQL\nResults]
    FinalIDF --> RunEnergyPlus --> SQLResults

    subgraph RunReportingMeasures ["Run ReportingMeasures: run(runner, user_arguments)"]
        direction TB
        subgraph ReportingMeasureGroupA[ReportingMeasure A]
            direction LR
            ReportingMeasureA[[ReportingMeasure A]] --> reportA["HTML Report"]
        end
        subgraph ReportingMeasureGroupB[ReportingMeasure B]
            direction LR
            ReportingMeasureB[[ReportingMeasure B]] --> reportB["HTML Report"]
        end
        subgraph ReportingMeasureGroupC[ReportingMeasure C]
            direction LR
            ReportingMeasureC[[ReportingMeasure C]] --> reportC["HTML Report"]
        end
        ReportingMeasureSignature[/"run(runner, user_arguments)\nUse: runner.lastOpenStudioModel, lastEnergyPlusWorkspace, lastEnergyPlusSqlFile, lastEpwFile"/]
        ReportingMeasureSignature ~~~ ReportingMeasureGroupA --> ReportingMeasureGroupB --> ReportingMeasureGroupC

    end

    FinalOSM ----------> RunReportingMeasures
    FinalIDF -----> RunReportingMeasures
    SQLResults --> RunReportingMeasures
    %% RunReportingMeasures-.->EnergyPlusOutputRequests
    RunReportingMeasures-->End
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment