Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AVEVA™ Unified Supply Chain

Data publishing

  • Last UpdatedOct 06, 2025
  • 29 minute read

Data Publishing allows you to export data from your Plan and Network cases to a SQL database, or to several file formats (JSON, XML, zipped CSV files or zipped Parquet files). You can then import the published data into third-party applications, such as Microsoft Power BI or Microsoft Excel, for further processing and visualization. Alternatively, you can write your own analysis tool in your programming language of choice.

  • Consult this page for more information on importing JSON data into Power BI.

  • Consult this page for more information on importing external data in various formats into Excel.

  • Consult this page for more information on the Parquet format.

    Note: Publishing data from Schedule cases is not yet supported.

The following steps show how to publish data via the Publish Data button in the Model Explorer, shown below. Publishing from inside a case, analytic or case stack is described in the Publish After Optimization or Simulation section.

Part of the Model Explorer ribbon, with the mouse pointer on the Publish Data button

Follow these steps to set up the Publish Data dialog:

  1. In the Supply Chain Models tab of the Model Explorer, select the model you want to publish data from.

  2. In the case list, select the cases you want to publish data from. You can select one or more Plan or Network cases, including analytic cases.

  3. Click Publish Data in the Cases group of the Home ribbon tab. The Publish Data dialog opens.

    The Publish Data dialog opened from the Model Explorer, showing the options described in the text

Follow these steps to publish to a SQL database. Go to the next set of steps if you want to publish to file instead.

  1. Select the Publish to Database option.

  2. From the Server list select the local SQL server you want to connect to. Alternatively, type or paste the address of a remote SQL server.

  3. In the Authentication field, select the desired authentication method by clicking the downward arrow icon and choosing an entry from the list. Click the plus icon to enter a custom user name and password. Click the pencil icon to edit the selected authentication method, unless it is set to Integrated. A message below this field shows whether the selected authentication method is successful.

    Detail of the Authentication field showing a choice between integrated authentication and custom credentials

  4. If you have entered the address of a remote SQL server, click Connect and wait for a connection to be established.

  5. In the Database field, enter the name of the database where you want to publish the data and do either of the following:

    • If you want to publish the entire model to the database, click Create.

    • If you want to publish selected data according to a template, click the arrow next to the Create button and select Create with template. The Select Template File dialog opens. Select a template and click Open.

    Alternatively, choose a database name from the drop-down list to publish to an existing database.

  6. Click OK. The model data is saved to the database.

    Tip: You can publish data from multiple models, and multiple times from the same model, to the same database. Each set of published data is labeled with a unique ExportId value, stored in the Plan.Export table and used as foreign key in all other tables. For each set of published data, the Plan.Export table also stores the schema version, the date and time of publishing and the name of the user who published the data.

    The database includes by default a number of views, modeled after various pages and tabs in the Plan and Network environments.

    Follow these steps to publish to one or multiple files. Go to the previous set of steps if you want to publish to a SQL database instead.

    1. Select the Publish to File option.

    2. Select Use Template option if you want to publish via a template. If your desired template is not already selected, click the ellipsis button (Ellipsis button) to the right of the template path field. The Select Template File dialog opens. Choose the template you want to use and click Open.

      1. If your desired output folder is not already selected, click the ellipsis button (Ellipsis button) at the end of the Publish to row. The Browse for Folder dialog opens. Choose the folder where to save the output file and click OK.

      2. If desired, change the output file name and/or extension (.json, .xml, .csv.zip or .parquet.zip) in the File name field. The default is a JSON file named after the selected model and case, with case stack instead of a case name if multiple cases are selected.

      3. Click OK. The file with the published data is saved to disk.

        The time needed to publish your data depends on the number and size of the cases you have selected. While your data is being published, you can still perform other tasks in AVEVA Unified Supply Chain. However, any changes you make to the selected cases after clicking the Publish Data button will not be included in the published data.

        In the bottom left corner of the Model Explorer, a progress bar shows you the advancement of the data publishing job. Click the red square icon next to the progress bar to cancel the data publishing.

        Part of the Model Explorer status bar, with the Publishing progress bar, the red stop button and the remaining time

        Publish after optimization or simulation

        You can publish your data right after optimization or simulation in the Plan, Network, analytic and case stack environments.

        The Modelling group of the Plan environment ribbon, with the Publish Settings button highlighted

        Follow these steps to configure the data publishing.

        1. Click Publish Settings in the Modelling group of the Home ribbon tab. The Publish Settings dialog opens.

          The Publish Data dialog, showing the options described in the text

        2. Select Show Publish Settings on Run at the bottom of the dialog to open the Publish Settings dialog every time you click the Run button. This is useful if you want to review your publishing settings before each run.

        3. Select the Do not Publish option if you don't want any data to be published after optimization or simulation. To publish to a SQL database or to file, follow the corresponding set of steps below.

          Follow these steps to publish to a SQL database. Go to the next set of steps if you want to publish to file instead.

          1. Select the Publish to Database option.

          2. From the Server list select the local SQL server you want to connect to. Alternatively, type or paste the address of a remote SQL server.

          3. In the Authentication field, select the desired authentication method by clicking the downward arrow icon and choosing an entry from the list. Click the plus icon to enter a custom user name and password. Click the pencil icon to edit the selected authentication method, unless it is set to Integrated. A message below this field shows whether the selected authentication method is successful.

            Detail of the Authentication field showing a choice between integrated authentication and custom credentials

          4. If you have entered the address of a remote SQL server, click Connect and wait for a connection to be established.

          5. In the Database field, enter the name of the database where you want to publish the data and do either of the following:

            • If you want to publish the entire model to the database, click Create.

            • If you want to publish selected data according to a template, click the arrow next to the Create button and select Create with template. The Select Template File dialog opens. Select a template and click Open.

            Alternatively, choose a database name from the drop-down list to publish to an existing database.

          6. Click OK. Your settings are saved.

            Tip: You can publish data from multiple models, and multiple times from the same model, to the same database. Each set of published data is labeled with a unique ExportId value, stored in the Plan.Export table and used as foreign key in all other tables. For each set of published data, the Plan.Export table also stores the schema version, the date and time of publishing and the name of the user who published the data.

            The database includes by default a number of views, modeled after various pages and tabs in the Plan and Network environments.

            Follow these steps to publish to one or multiple files. Go to the previous set of steps if you want to publish to a SQL database instead.

            1. Select the Publish to File option.

            2. Select the Use Template option if you want to publish via a template. If your desired template is not already selected, click the ellipsis button (Ellipsis button) to the right of the template path field. The Select Template File dialog opens. Choose the template you want to use and click Open.

            3. If your desired output folder is not already selected, click the ellipsis button (Ellipsis button) at the end of the Publish to row. The Browse for Folder dialog opens. Choose the folder where to save the output data file and click OK.

            4. Change the format of the output file name in the Single Case filename or Case Stack filename text box, according to your needs. Click the blue links below each box to add the model name, the case name (for single cases only) or the publishing date and time to the output file name. Hover the mouse pointer on a blue link to display a tooltip with more information.

              Part of the Publish Configuration dialog, with the tooltip for the date link to insert the date and time in the field above

            5. Select the output format (JSON, XML, zipped CSV or zipped Parquet) from the Data Format list.

            6. Select Merge generated data into a single file to publish all the data into a single file. You cannot access or manipulate the file until the publishing process has completed.

              If the option is not selected, the published data is saved into multiple files. You can then start reviewing published data in the available files, before the publishing process has completed. This can be useful when you publish large amounts of data, for example case stacks or analytic cases with many subcases.

              When you publish to multiple files, a suffix with the publishing date and time and a progressive number is added to each file name, to help you distinguish the various files. This also ensures that no files are accidentally overwritten if the data is published again. This suffix is added irrespective of the format specified in the Case Stack filename text box.

              This option is not available if you have selected Do not publish any data.

            7. Click OK. Your settings are saved.

              When you click Run, the data is published after optimization or simulation, unless you have selected Do not publish any data in the configuration dialog. If you have chosen to publish to file, click Open Folder in the Modelling group of the Home ribbon tab to open the folder containing the published data.

              Versioning

              Version numbers for the data publishing format follow the pattern major.minor.revision, for example 1.0.0.

              Updates to each major version are backward compatible. For example, workflows you develop based on version 1.0.0 will work with any 1.x.y version. When a new major version is introduced (for example version 2.0.0) you can keep exporting to the previous major version until you are ready to transition to the new one.

              See the following table for the schema version included with each release.

              Release

              Schema version

              2021.2

              0.1.0

              2021.3

              0.2.0

              2021.4

              0.3.0

              2022.1

              1.0.0

              2023.1

              1.1.0

              2023.2

              1.2.0

              2023.3

              1.3.0

              2023.4

              2.0.0

              2024.1

              2.1.0

              2024.2

              2.2.0

              2024.3

              3.0.0

              2024.4

              4.0.0

              2025.1

              4.1.0

              2025.2

              4.2.0

              2025.3

              5.0.0

              2025.4

              5.1.0

              Templates

              Templates are JSON files you can use to customize what is included in the published data. Use templates to publish smaller files in less time by including only the data you need.

              AVEVA Unified Supply Chain supports two types of templates:

              • Basic templates let you include or exclude major sections of the published data, for example all the purchases or all the calculations.

              • Advanced templates give you more fine-grained control, allowing you to include or exclude each data item. For example, you may decide to include purchases but exclude the Description field from each purchase.

              Both basic and advanced templates are further subdivided into inclusion and exclusion templates. See the sections on each template type for more information on how inclusion and exclusion work.

              Note: If you publish via a template, only the reference data used by the published portion of the model are included in the output.
              For example, if a certain feedstock is used only in purchases, and you have excluded purchases from the published data via a template, the reference data for that feedstock will not be published either.

              Tip: In a template file, Version indicates the template version number, while SchemaVersion indicates the version of the data publishing format used by the template. If SchemaVersion is omitted, it defaults to the latest version.
              If your template does not work as expected, please ensure that you have specified the correct schema version.

              Basic templates

              Basic templates let you include or exclude major sections of the published data, for example all the purchases or all the calculations.

              • Basic inclusion templates let you specify which parts of the model to include in the published data.

              • Basic exclusion templates work in the opposite way, allowing you to specify which parts of the model to exclude from the published data.

              Basic inclusion and exclusion templates work by listing the names of the output file sections you want to either include or omit. The following example is a basic exclusion template, as set by the Type value. Change this value to BasicInclusion to turn this into a basic inclusion template.

              This example lists all the supported section names:

              • Publishing a case using this basic exclusion template would result in an almost empty output file, containing just some general information about the model.

              • Turning this into a basic inclusion template, on the contrary, would include all the sections in the output. The result would be the same as publishing the case without a template.

              You can copy and paste this code to create your own template, by changing the Type value and deleting section names as appropriate.

              {

              "DataTemplate": {

              "Name": "ExcludeAll",

              "Version": "0.1.0",

              "SchemaVersion": "1.0.0",

              "Type": "BasicExclusion",

              "Description": "Excludes all data sections from publishing",

              "General": [],

              "Network": [

              "Periods",

              "NetworkMetrics",

              "Nodes",

              "Plants",

              "Supplies",

              "Demands",

              "SupplyGroups",

              "CargoGroups",

              "CargoDistributions",

              "DemandGroups",

              "Exchanges",

              "TerminalBlends",

              "TerminalInventories",

              "TerminalInventoryGroups",

              "TerminalOperations",

              "TerminalOperationGroups",

              "TransportModes",

              "TransportLinks",

              "TransportLinkGroups",

              "TransportLinkMaterialResults",

              "TransportLinkMaterialPropertyResults",

              "NetworkCalculations",

              "NetworkGlobalParameters",

              "Diagnostics"

              ],

              "Plan": [

              "Metrics",

              "MultiStartMetrics",

              "StreamRoutingSplittingRules",

              "Calculations",

              "Modes",

              "OperatingParameters",

              "GlobalParameters",

              "Purchases",

              "PurchaseGroups",

              "UtilityPurchases",

              "Sales",

              "SaleGroups",

              "UtilitySales",

              "Inventories",

              "UtilityBaseLoads",

              "FlowResults",

              "ModeFlowResults",

              "ModeInputFlowResults",

              "FeedstockFlowResults",

              "Feeds",

              "FeedstockGroups",

              "PropertyResults",

              "ModePropertyResults",

              "UtilityProcessUnitResults",

              "StreamValues",

              "Diagnostics",

              "Products",

              "BlendDetails"

              ],

              "ReferenceData": [

              "Grades",

              "Feedstocks",

              "TradedMaterials",

              "MaterialTypes",

              "Markets",

              "Locations",

              "BlendRules",

              "Utilities",

              "Flowsheets"

              ]

              }

              }

              Advanced templates

              Advanced templates let you decide whether to include or exclude each data item in the published data structure.

              Unlike in basic templates, instead of just listing an item you also specify a true or false value. Anything you mark as true is included, and anything you mark as false is excluded.

              Marking a whole section as true or false includes or excludes all the contents of that section. For example, you could replace the Metrics section with the single "Metrics": false line, instead of having to set each of the section elements to false.

              Like basic templates, advanced templates can be of two types. The difference between the two types is in how omitted data items are treated.

              • In inclusion templates, anything you omit is excluded.

              • In exclusion templates, anything you omit is included.

              Set the Type value in the template file to Inclusion or Exclusion to specify the type of template.

              The following code snippet show the first lines of an inclusion template. If you have not received a full template file to customize with your AVEVA Unified Supply Chain release, please contact AVEVA Support.

              {

              "DataTemplate": {

              "Name": "Advanced template example",

              "Version": "0.1.0",

              "SchemaVersion": "1.0.0",

              "Type": "Inclusion",

              "Description": "Anything omitted or marked false is excluded.",

              "Model": {

              "ModelId": true,

              "ModelName": true,

              "Description": false,

              "Share": true,

              "Changeset": true,

              "Creator": true,

              ...

              Note that, when filtering objects within an array, you have to include an intermediate level specifying the singular name of the object. For example:

              "Grades": {

              "Grade": {

              "GradeName": true

              }

              }

              For diagnostic messages, the singular name should always be Diagnostic instead of Error, Warning or Information. For example, this is the code to include only the Message element of errors:

              "Networks": {

              "Network":{

              "Diagnostics": {

              "Errors": {

              "Diagnostic": {

              "Message": true

              }

              }

              }

              }

              }

              SDK support

              Data publishing is supported in the AVEVA Unified Supply Chain SDK.

              The DataPublishingService class has a Publish method you can invoke to publish model data. All the information needed for the publishing, such as the case to publish, the output file path and the optional template file path, are passed in a DataPublishingRequest instance.

              The method returns a DataPublishingResponse object, with a Success boolean property indicating whether the operation succeeded, and a Diagnostics string property containing more information in case of failure.

              For more information about these classes, see the Spiral.Suite.chm file in the SDK folder of your AVEVA Unified Supply Chain installation. A code example is available in the UnifiedSupplyChainDemo solution in the Examples folder.

              Data structure

              This section provides a high-level description of the data structure of a typical data publishing output.

              The description is based on the JSON format output, but the XML format is referenced whenever necessary (for example, to point out the XML tag corresponding to an unnamed JSON array).

              The top array in the JSON data export corresponds to the Export tag in the XML format.

              One level below, the Model key contains information about the model you have published the data from.

              Solution and Marginal Units of Measure

              In the top level of the Model key contents, four keys show the global units of measure for solutions and marginal values:

              • MassSolutionUom

              • MassMarginalUom

              • VolumeSolutionUom

              • VolumeMarginalUom

              These are used in the following sections:

              • Purchases

              • PurchaseGroups

              • Sales

              • SaleGroups

              • Supplies

              • SupplyGroups

              • Demands

              • DemandGroups

              • TransportLinks

              • TransportLinkGroups

              For example, a purchase would have these keys among others:

              • Solution and SolutionUom: the solution value and unit of measure as shown in the AVEVA Unified Supply Chain user interface.

              • MassSolution and VolumeSolution: the solution value as expressed in the mass-based and volume-based global units of measure mentioned above.

              Similarly, marginal values are shown as they appear in the user interface, and also expressed in the global units of measure.

              This allows you to have consistent and comparable solution and marginal values in your exported cases, in addition to the values shown in AVEVA Unified Supply Chain.

              Networks

              Within the Model key, one or more Networks keys contain all the exported cases.

              Note: The Networks key is always present, even when you export a single Plan case.
              Internally, a Plan case is represented as a single-period mini-network composed of just one plant. This allows the data publishing format to be consistent between Plan and Network models.

              Within the Networks key, the following keys are found:

              • The NetworkMetrics key is populated only for Network cases. It contains all the values found in the Solution Metrics dialog box after optimizing the case. Inside this key, the NetworkMultiStartMetrics key contains all the values found in the Multi-Start Metrics dialog box. The key value is an array, with each array element corresponding to a row of values in the Multi-Start Metrics dialog box. Metrics for single plant cases are described below in the Metrics section.

              • The Periods key contains an array of periods. For a Plan case, this is just the single planning period. For a Network case, this contains all the periods defined in the case.

                In the top level of the Model key contents, the DurationMarginalUom and DurationSolutionUom values show the global units of measure used in the published data for solution and marginal period duration values. In addition, each period section contains the solution and marginal values in the units shown in the AVEVA Unified Supply Chain user interface. For example, a period would contain these keys among others:

                • Solution and SolutionUom: the solution value and unit of measure as shown in the AVEVA Unified Supply Chain user interface.

                • Marginal and MarginalUom: the marginal value and unit of measure as shown in the AVEVA Unified Supply Chain user interface.

                • DurationSolution and DurationMarginal: the solution and marginal values as expressed in the global units of measure mentioned above.

              • The Nodes key contains an array of nodes, that is, places where a particular type of activity occurs. For a Plan case, there is just a single plant node representing the plant modeled in the case. For a Network case, this contains all the nodes defined in the case.

              • The Plants key contains all the plants defined in the model. It is always one plant for a Plan case, it can be several for a Network case.

              Within the Plants key, the Cases key is where the bulk of the case data is stored.

              The following code snippet shows data from a planning case exported in JSON format. The keys described so far in the text are included. Some data items in the original file have been deleted for brevity.

              {

              "Version": "4.3.0",

              ...

              "Model": {

              "ModelId": "c5af1bac-1785-4ce2-9138-22809c2ca2b7",

              "ModelName": "Corsicana",

              ...

              "GasVolumeProportionSolutionUom": "proportion by gas volume",

              "GasVolumeProportionMarginalUom": "M$/proportion by gas volume",

              "Networks": [

              {

              "NetworkId": "d0d20035-9b24-42f9-990c-c02215446700",

              "NetworkName": "Default Network",

              ...

              "Periods": [

              {

              "PeriodName": "Planning Period",

              "StartDate": "2016-01-01T00:00:00Z",

              "EndDate": "2016-02-01T00:00:00Z"

              }

              ],

              "Nodes": [

              {

              "NodeName": "Default Plant Node",

              "NodeType": "Plant"

              }

              ],

              "Plants": [

              {

              "PlantName": "Default Plant",

              "Cases": [

              {

              "CaseId": "d0d20035-9b24-42f9-990c-c02215446700",

              "CaseName": "Master Case",

              The following sections describe the main data structures inside each Cases element.

              Metrics

              The Metrics key contains all the values found in the Solution Metrics dialog box after optimizing the case.

              The MultiStartMetrics key contains all the values found in the Multi-Start Metrics dialog box. The key value is an array, with each array element corresponding to a row of values in the Multi-Start Metrics dialog box.

              "Metrics": {

              "ResultCode": 0.0,

              "EconomicObjective": 1.2970030006111966,

              "EconomicObjectiveUom": "M$/d",

              "OptimizerObjective": 1.297003000611294,

              "OptimizerObjectiveUom": "M$/d",

              ...

              "LastRun": "2021-01-26T16:46:33Z"

              },

              "MultiStartMetrics": [

              {

              "EconomicObjective": 1.2970030006112538,

              "EconomicObjectiveUom": "M$/d",

              "OptimizerObjective": 1.2970030006112041,

              "OptimizerObjectiveUom": "M$/d",

              ...

              "OptimizationConvergenceStatus": "OptimalFullyConverged"

              }

              Blends

              The Products key contains an array with all the blend products in the case. For each blend product, the SpecificationValues key contains another array listing all the property specifications for the product.

              "Products": [

              {

              "ElementId": "cb4d8b03-f69d-48bf-9727-95afeef5f4f5",

              "ElementName": "Gasoline RBOB Regular USGC - Example Grade",

              ...

              "SpecificationValues": [

              {

              "SpecificationValueId": "f4812701-da05-41b0-8f52-aca45a3c8610",

              "Active": true,

              "Property": "Research Octane Number",

              ...

              "Solution": 92.0000000001433,

              "SolutionUom": "none",

              "Marginal": -0.0620270658073869,

              "MarginalUom": "M$/d/none"

              },

              ...

              ]

              },

              ...

              ]

              The BlendDetails key contains an array describing all blend matrices in the case. Each element of the array is an element of a blend matrix, that is, the relation between a blend input and a blend output.

              "BlendDetails": [

              {

              "BlendDetailId": "6668b7af-d34d-4efe-84a6-a9838fd7d3f6",

              "InputSourceElementId": "1552b8be-b88f-45c5-9c22-9e119293f819",

              "InputSourceElementName": "I111H",

              ...

              "InputDestinationSocketName": "DS LGO",

              ...

              "OutputPipeName": "ULSD",

              ...

              "Allowed": true,

              ...

              "DisplaySolution": 88.537435441400817,

              "DisplaySolutionUom": "% by volume",

              ...

              "Volume": 4.1013520783308106,

              "VolumeUom": "km3/d",

              "Mass": 3.4529902147364275,

              "MassUom": "kt/d"

              },

              ...

              ]

              Stream routing splitting rules

              The StreamRoutingSplittingRules key contains the information shown in the Splitting tab of the Stream Routing page in the Plan environment. Each array element contains information about one splitting rule.

              "StreamRoutingSplittingRules": [

              {

              "SourceElementId": "6d50c409-72d7-4411-936e-78a8f6e6e3f8",

              "SourceElementName": "LVGO Splitter",

              "SourceModeId": "d4adbcbf-7045-4e35-8bbe-fc9e2d73ef34",

              "SourceModeName": "Default",

              ...

              "Availability": 100,

              "AvailabilityUom": "%",

              "Solution": 100,

              "SolutionUom": "%",

              "Marginal": null,

              "MarginalUom": "M$/d/%"

              },

              ...

              ]

              Calculations, modes, operating parameters and global parameters

              The Calculations key contains an array with all the calculations listed in the Constraints and Alerts page. Look at the Type key inside each array element to see the item type, corresponding to the Type column in the Constraints and Alerts page.

              The Modes key contains an array with all the modes defined in the model.

              The Operating Parameters key contains an array of all the operating parameters defined for each process model.

              The Global Parameters key contains an array of all the global parameters defined in the Constraints and Alerts page.

              "Calculations": [

              {

              "CalculationId": "1fb43803-7814-42eb-af66-8dfde40fd9fe",

              "CalculationName": "FCC Coke Make",

              "Active": true,

              "Type": "Quality Limit",

              "Description": "",

              "Formula": "FCC_Coke/FCC_FCCFeed*100",

              ...

              "Solution": 5.8635820909418772,

              "SolutionUom": "none",

              "Marginal": null,

              "MarginalUom": "M$/d/none"

              },

              ...

              ],

              "Modes": [

              {

              "ModeId": "e4474600-8ddd-4127-8867-021934259052",

              "ModeName": "Default",

              "ElementId": "78cf35d0-5332-4ab6-8af3-98b6ecf06d38",

              "ElementName": "I221",

              "Index": 0,

              "Description": null,

              "Active": null

              },

              ...

              ],

              "OperatingParameters": [

              {

              "OperatingParameterId": "224f7697-ad56-41ee-bff0-5920e01bd278",

              "OperatingParameterName": "RVP Ethanol Content",

              "ElementId": "6bde95a9-5364-43d7-8020-42af888fb56a",

              "ElementName": "Ethanol Processor",

              ...

              "ValidRangeLower": 0.0,

              "ValidRangeUpper": 0.2,

              "ValidRangeUom": "proportion"

              },

              ...

              ],

              "GlobalParameters": [

              {

              "GlobalParameterId": "a0a77b58-201e-4ad4-834c-78b64e38fde9",

              "GlobalParameterName": "Renewables Proportion",

              "Active": true,

              "Type": "Time averaged",

              ...

              "Solution": 0.13,

              "SolutionUom": "none",

              "Marginal": 0.0,

              "MarginalUom": "M$/d/none"

              },

              ...

              ]

              Purchases and sales

              The Purchases key contains an array with all the purchases listed in the Crudes and Imports tabs of the Purchases page.

              The PurchaseGroups key contains an array with all the groups defined in the Purchase Groups tab of the Purchases page. A list of members for each group is provided in the PurchaseMembers array.

              The UtilityPurchases key contains an array with all the purchases listed in the Utilities tab of the Purchases page.

              Similarly to purchases, the Sales key contains an array with all the sales listed in the Products tab of the Sales page.

              The SaleGroups key contains an array with all the groups defined in the Sale Groups tab of the Sales page. A list of members for each group is provided in the SaleMembers array.

              The UtilitySales key contains an array with all the sales listed in the Utilities tab of the Sales page.

              "Purchases": [

              {

              "PurchaseId": "611ede01-3c40-473a-a076-9f8c12e1892b",

              "PurchaseName": "Bonny Light",

              "Active": true,

              ...

              "Price": 67.3,

              "PriceUom": "$/bbl",

              "PriceSetName": "Training Crude Price Set 2018",

              "PriceScenarioName": "2018 04 Apr",

              "PriceIsFromPriceSet": true,

              "Priority": 1.0

              },

              ...

              ],

              "PurchaseGroups": [

              {

              "PurchaseGroupId": "13c46614-6980-408a-969c-039a335e1fd5",

              "PurchaseGroupName": "High Sulfur Crude Purchases",

              "Active": true,

              "Description": "Purchases of crudes with high Sulfur content.",

              ...

              "PurchaseMembers": [

              {

              "PurchaseMemberId": "5150d40d-ea95-4fad-94ee-c980dc79bced",

              "Active": true,

              "PurchaseId": "5494f742-be49-4891-95a8-420b016b485f",

              "PurchaseName": "Upper Zakum",

              ...

              "VolumeProportionSolution": 0.0,

              "VolumeProportionMarginal": null

              },

              ...

              ]

              },

              ...

              ],

              "UtilityPurchases": [

              {

              "UtilityPurchaseId": "e77a2981-d206-4d5d-8ab8-ba36043b4920",

              "UtilityPurchaseName": "Electricity",

              "Active": false,

              ...

              "Price": 0.1,

              "PriceUom": "$/kWh",

              "PriceSetName": null,

              "PriceScenarioName": null,

              "PriceIsFromPriceSet": false,

              "Priority": 1.0

              },

              ...

              ],

              "Sales": [

              {

              "SaleId": "df7b5523-316f-41ab-8562-e74dd3f38ab1",

              "SaleName": "LPG",

              "Active": true,

              ...

              "Price": 0.8625,

              "PriceUom": "$/tonne",

              "PriceSetName": "Training Product Price Set 2018",

              "PriceScenarioName": "2018 04 Apr",

              "PriceIsFromPriceSet": true,

              "Priority": 1.0

              },

              ...

              ],

              "SaleGroups": [

              {

              "SaleGroupId": "f9172c46-8672-43df-a11d-0088f446f85b",

              "SaleGroupName": "Gasoline Sales",

              "Active": true,

              "Description": "Sales of all gasoline products.",

              ...

              "SaleMembers": [

              {

              "SaleMemberId": "4394a372-05ca-497a-867c-b51fbab04a7d",

              "Active": true,

              "SaleId": "3700ed81-e202-4922-bf67-d450e7b5203e",

              "SaleName": "Gasoline (Regular) (Central America)",

              ...

              "VolumeProportionSolution": 0.0,

              "VolumeProportionMarginal": null

              },

              ...

              ]

              },

              ...

              ],

              "UtilitySales": [

              {

              "UtilitySaleId": "b012c218-0e43-4635-9f87-daeeb410d351",

              "UtilitySaleName": "Fuel",

              "Active": true,

              ...

              "Price": 0.0,

              "PriceUom": "$/GJ",

              "PriceSetName": null,

              "PriceScenarioName": null,

              "PriceIsFromPriceSet": false,

              "Priority": 1.0

              },

              ...

              ]

              Utilities

              In addition to the utility sales and purchases mentioned in the previous section, more information on utilities can be included in the published data.

              The UtilityBaseLoads key contains an array with information on all the base loads defined in the Utility Base Load page.

              "UtilityBaseLoads": [

              {

              "UtilityBaseLoadId": "d874fa02-69ba-4501-88d1-894bdcc586a3",

              "UtilityPropertyEnvironment": "Variable Operating Costs",

              "UtilityId": "b87a2484-3dd9-4e0e-99e3-15faa19acd21",

              "UtilityName": "Variable Operating Costs",

              ...

              "StandardBaseLoadUom": "$/d"

              },

              ...

              ]

              The UtilityProcessUnitResults key contains an array with information on utility production and consumption for all process units and modes. This information is available in the Watch window of the planning environment by using formulae such as ProcessUnit(Distillate Hydrotreater).Mode(Default).Utility(Catalyst Usage).

              "UtilityProcessUnitResults": [

              {

              "ElementId": "ca2e9606-e355-44d0-bd21-d574e628f18f",

              "ElementName": "Naphtha Hydrotreater",

              "ElementModeId": "8f4789dd-6f3b-4925-868d-2f120becd5c3",

              "ElementModeName": "Default",

              "UtilityPropertyEnvironment": "Steam",

              ...

              "StandardMarginalUom": "M$/tonne"

              },

              ]

              Inventories

              The Inventories key contains an array with information on all the planning inventories defined in the case, including opening and closing amounts, constraints, solution values and properties.

              "Inventories": [

              {

              "InventoryId": "f4959c9e-3d58-46f7-a44e-3a0ec1e859f7",

              "InventoryName": "FCC Feed",

              "Active": true,

              "MaterialTypeId": "17645535-56cf-4f3e-a130-09794d7fedd2",

              "MaterialTypeName": "Fuel Oil",

              ...

              "ClosingGasVolumeMarginal": null,

              "PropertyResults": [

              {

              "PropertyEnvironmentId": "f00ef106-14d5-475a-86aa-24ec9c2b594d",

              "PropertyEnvironment": "Carbon Residue (MCRT)",

              "Value": 5.934285936017967,

              "ValueUom": "%"

              },

              ...

              ]

              },

              ...

              ]

              Flow and property results

              Detailed information is available about flow rates for all connections between plant assets. Assets include feeds, tanks, mixers, splitters, manifolds, blenders, process units and distillation units.

              • The FlowResults key contains an array with total flow rates for each connection between two assets, expressed in weight- and volume-based units. This is the information you can find in the Pipe Flows inspector in the Flowsheet page.

              • The FeedstockFlowResults key contains an array with flow rates for each component feedstock of the material flowing through a pipe between two assets.

              • The PropertyResults key contains an array with all available property values for the material flowing through a pipe between two assets.

              • The ModePropertyResults key is similar to PropertyResults, but property values are given separately for each mode of the source.

              In all the above cases, the SourceElementName and DestinationElementName keys in each array element give you the name of the source and destination assets, which you can search for in the Flowsheet page. Similarly, the SourceSocketName and DestinationSocketName keys give you the names of the source and destination connections.

              "FlowResults": [

              {

              "SourceElementId": "ca2e9606-e355-44d0-bd21-d574e628f18f",

              "SourceElementName": "Naphtha Hydrotreater",

              "SourceSocketId": "669cd767-278f-4eb4-b84e-de5a8f53f38a",

              "SourceSocketName": "DS LNap",

              "PipeId": "f76eb3a7-0d72-431a-a927-5e4863e41f84",

              "PipeName": "DS LNap",

              "DestinationElementId": "3a707e47-11c5-4d1c-9fb5-ac8b1c5f6153",

              "DestinationElementName": "DS LNap Splitter",

              "DestinationSocketId": "0f41f8b8-dc17-4abc-8dfc-8eec5d1be9f5",

              "DestinationSocketName": "DS LNap",

              "Volume": 1.0115457162517671,

              "VolumeUom": "kt/d",

              "Mass": 1.5281313791529021,

              "MassUom": "km3/d"

              },

              ...

              ],

              "FeedstockFlowResults": [

              {

              "SourceElementId": "6d50c409-72d7-4411-936e-78a8f6e6e3f8",

              "SourceElementName": "LVGO Splitter",

              "SourceSocketId": "8df52e68-ff5a-4e2b-ad54-95e5e2222887",

              "SourceSocketName": "LVGO",

              "PipeId": "492cad78-63ef-4b92-bd61-3797b0bcd536",

              "PipeName": "LVGO",

              "DestinationElementId": "9752503d-581c-4934-b59d-ad021a8ca0a7",

              "DestinationElementName": "LVGO",

              "DestinationSocketId": "7a4589df-bae0-4684-b1ed-b062d4f11820",

              "DestinationSocketName": "LVGO",

              "FeedstockId": "80cf3d68-d5a4-4cef-b7a8-bb2c87785067",

              "FeedstockName": "Agbami",

              "Volume": 0.4116526998669725,

              "VolumeUom": "kt/d",

              "Mass": 0.46862241523259612,

              "MassUom": "km3/d"

              },

              ...

              ],

              ...

              "PropertyResults": [

              {

              "SourceElementId": "ca2e9606-e355-44d0-bd21-d574e628f18f",

              "SourceElementName": "Naphtha Hydrotreater",

              "SourceSocketId": "669cd767-278f-4eb4-b84e-de5a8f53f38a",

              "SourceSocketName": "DS LNap",

              "PipeId": "f76eb3a7-0d72-431a-a927-5e4863e41f84",

              "PipeName": "DS LNap",

              "DestinationElementId": "3a707e47-11c5-4d1c-9fb5-ac8b1c5f6153",

              "DestinationElementName": "DS LNap Splitter",

              "DestinationSocketId": "0f41f8b8-dc17-4abc-8dfc-8eec5d1be9f5",

              "DestinationSocketName": "DS LNap",

              "PropertyEnvironment": "Sulphur (Total)",

              "Value": 1.0,

              "ValueUom": "ppm"

              },

              ...

              ],

              "ModePropertyResults": [

              {

              "SourceElementId": "ca2e9606-e355-44d0-bd21-d574e628f18f",

              "SourceElementName": "Naphtha Hydrotreater",

              "SourceElementModeId": "8f4789dd-6f3b-4925-868d-2f120becd5c3",

              "SourceElementModeName": "Default",

              "SourceSocketId": "669cd767-278f-4eb4-b84e-de5a8f53f38a",

              "SourceSocketName": "DS LNap",

              "PipeId": "f76eb3a7-0d72-431a-a927-5e4863e41f84",

              "PipeName": "DS LNap",

              "DestinationElementId": "3a707e47-11c5-4d1c-9fb5-ac8b1c5f6153",

              "DestinationElementName": "DS LNap Splitter",

              "DestinationSocketId": "0f41f8b8-dc17-4abc-8dfc-8eec5d1be9f5",

              "DestinationSocketName": "DS LNap",

              "PropertyEnvironment": "Cumulative Yield at 76.67C by vol",

              "Value": 81.875548242809757,

              "ValueUom": "%"

              },

              ...

              ]

              Feeds and feedstock groups

              The Feeds key contains information on all the feeds defined in the case, including associated mode and feedstock.

              "Feeds": [

              {

              "FeedId": "d5fea610-25cc-45bb-94eb-7ac80c5cc0dd",

              "ElementId": "a53a2b32-7872-4a48-8c18-fcf814117dd5",

              "ElementName": "FCC VGO Import",

              "ModeId": "bc7ab687-d8eb-433d-a085-f923664d5a20",

              "ModeName": "Default",

              "FeedstockGroupId": "1aa5763b-e100-4c6c-bc6a-f874c9af5e8f",

              "FeedstockGroupName": "FCC Feed"

              },

              ...

              ]

              The FeedstockGroups key is an array of all the feedstock groups defined in the case. Inside each element, the FeedstockGroupMembers array lists all the members of the feedstock group.

              "FeedstockGroups": [

              {

              "FeedstockGroupId": "0d8f6b2f-ce45-4881-a9d7-243f4699b839",

              "FeedstockGroupName": "Reformate Purchase",

              "Description": "Reformate Purchase Feedstock Group",

              "FeedstockGroupMembers": [

              {

              "FeedstockGroupMemberId": "a8d662da-d0b4-489d-901a-e4fb28c06e98",

              "FeedstockId": "3b5dfef5-1ba2-4ee2-90a8-1a88770938b0",

              "FeedstockName": "Reformate - Example Feedstock"

              },

              ...

              ]

              },

              ...

              ]

              Stream values

              The StreamValues key contains detailed information on all stream values, including lists of individual contributions when applicable.

              "StreamValues": [

              {

              "Type": "ElementModeInputSocket",

              "SourceElementId": "8633a0db-3ae5-410c-9724-000f6b82628d",

              "SourceElementName": "CDU1",

              ...

              "TotalMassStreamValueSolution": 0.1935938852108719,

              "TotalMassStreamValueSolutionUom": "M$/kt",

              "TotalVolumeStreamValueSolution": 0.16583051525676554,

              "TotalVolumeStreamValueSolutionUom": "M$/km3",

              "Contributions": [

              {

              "Name": "HGO Splitter",

              "Type": "FlowBalance",

              "Category": "Flow",

              "Direction": "Downstream",

              "ModeId": "8cfcd643-b5e8-4923-a2f6-0add844e9a60",

              "ModeName": "Default",

              "Location": {

              "ElementId": "59e0ca51-0086-4d95-b791-45d83027c32e",

              "ElementName": "HGO Splitter",

              "ModeId": "8cfcd643-b5e8-4923-a2f6-0add844e9a60",

              "ModeName": "Default"

              },

              "MassStreamValueSolution": 0.1935938852108719,

              "MassStreamValueSolutionUom": "M$/kt",

              "VolumeStreamValueSolution": 0.16583051525676554,

              "VolumeStreamValueSolutionUom": "M$/km3"

              }

              ]

              },

              ...

              ]

              Supplies and demands

              For Network cases, several keys after the Plants key contain information related to supplies and demands, including supply and demand groups:

              • Supplies: lists all the supplies defined in the model.

              • SupplyGroups: lists all the supply groups defined in the model. For each group, three arrays list the group members: SupplyMembers (individual supplies), SupplyGroupMembers (other supply groups) and PurchaseMembers (purchases imported from Plan cases).

              • Demands: lists all the demands defined in the model.

              • DemandGroups: lists all the demand groups defined in the model. For each group, three arrays list the group members: DemandMembers (individual demands), DemandGroupMembers (other demand groups) and SaleMembers (sales imported from cases).

                "Supplies": [

                {

                "SupplyId": "c5f60362-d56d-4253-be61-f29c69bf9075",

                "SupplyName": "143 - Castilla Blend - Lake Charles Supply - P 03 Mar 18",

                ...

                "VolumeSolution": 0.0,

                "VolumeMarginal": -0.044191358120767216,

                "PeriodResults": [

                {

                "PeriodId": "9f5f4cd0-5fd0-4933-91a3-1d85d5965548",

                "PeriodName": "P 03 Mar 18",

                "PeriodSortIndex": 1.0,

                "Solution": 0.0,

                "Marginal": -7.0258644868152853,

                "MassSolution": 0.0,

                "MassMarginal": -0.046973448579222053,

                "VolumeSolution": 0.0,

                "VolumeMarginal": -0.044191358120767216

                },

                ...

                ]

                },

                ...

                ],

                "SupplyGroups": [

                {

                "SupplyGroupId": "a0cd148f-07c0-43d9-8a9c-c64c19a2ff45",

                "SupplyGroupName": "Light crudes",

                ...

                "VolumeSolution": 5.3616324284852457,

                "VolumeMarginal": null,

                "PeriodResults": [

                {

                "PeriodId": "eca709f3-2c61-43f2-9dc3-5ab13307d9bc",

                "PeriodName": "P 02 Feb 18",

                "PeriodSortIndex": 0.0,

                ...

                },

                ...

                ],

                "SupplyMembers": [

                {

                "SupplyMemberId": "36cb1796-4762-4a95-9213-3da67177aee4",

                "Active": true,

                "SupplyId": "1e00b610-68b0-48e4-95b8-4cf36a04c4d1",

                "SupplyName": "110 - Arab Light - Lake Charles Supply - P 07 Jul 18",

                ...

                },

                ...

                ],

                "SupplyGroupMembers": [

                {

                "SupplyGroupMemberId": "3bc62102-384c-4c0a-947b-168a35a3a348",

                "Active": true,

                "SupplyGroupId": "44f2ae8a-d176-4955-b894-2a5d724aab5f",

                "SupplyGroupName": "Basrah Light",

                ...

                },

                ...

                ],

                "PurchaseMembers": [

                {

                "PurchaseMemberId": "5786bc8e-ed64-4304-bc1c-0338b023b953",

                "Active": true,

                "PlantId": "27dcf870-b548-408a-b998-0b9f56d7c755",

                "PlantName": "Corsicana Refinery",

                ...

                },

                ...

                ]

                },

                ...

                ],

                "Demands": [

                {

                "DemandId": "e49a8669-2926-4a23-b13d-aff403749f73",

                "DemandName": "250 - Jet JP5 - Houston Demand - P 03 Mar 18 - ",

                ...

                "VolumeSolution": 0.0,

                "VolumeMarginal": null,

                "PeriodResults": [

                {

                "PeriodId": "9f5f4cd0-5fd0-4933-91a3-1d85d5965548",

                "PeriodName": "P 03 Mar 18",

                "PeriodSortIndex": 1.0,

                ...

                },

                ...

                ]

                },

                ...

                ],

                "DemandGroups": [

                {

                "DemandGroupId": "40e46821-63df-4580-b20a-98e72ce5c1f8",

                "DemandGroupName": "Gasoline",

                ...

                "VolumeSolution": 460.73064087820853,

                "VolumeMarginal": null,

                "PeriodResults": [

                {

                "PeriodId": "eca709f3-2c61-43f2-9dc3-5ab13307d9bc",

                "PeriodName": "P 02 Feb 18",

                "PeriodSortIndex": 0.0,

                ...

                },

                ...

                ],

                "DemandMembers": [

                {

                "DemandMemberId": "1b3bbc6b-ef97-4ea4-b865-ba922b5bcea6",

                "Active": true,

                "DemandId": "553f7740-2007-4627-8654-87c07b6d4fdb",

                "DemandName": "156 - Gasoline (Regular) - Houston Demand - P 07 Jul 18 - ",

                ...

                },

                ...

                ],

                "DemandGroupMembers": [

                {

                "DemandGroupMemberId": "1e49c00c-6829-4f7b-a663-3f67d714a3d6",

                "Active": true,

                "DemandGroupId": "ffaca06c-91b0-4552-868d-ccd55839b116",

                "DemandGroupName": "Gasoline - Premium",

                ...

                },

                ...

                ],

                "SaleMembers": [

                {

                "SaleMemberId": "8c5ecd48-4fe4-4be2-86fd-d1219f34add1",

                "Active": true,

                "PlantId": "b02bd4ef-9931-4917-a330-b6822841b803",

                "PlantName": "Corsicana Refinery",

                ...

                },

                ...

                ]

                },

                ...

                ]

              Exchanges

              For Network cases, the Exchanges key contains information about the exchanges defined in the model. Mass and volume solutions for each period are available in the PeriodResults array. Three more arrays list the members of the exchange, divided by type: ExchangeMembers, DemandMembers and SupplyMembers.

              "Exchanges": [

              {

              "ExchangeId": "192a4c25-e87f-4c61-a28a-86c09a3ade91",

              "ExchangeName": "Competitor Exchange",

              "Active": true,

              ...

              "VolumeSolution": 4045.6333167844978,

              "VolumeMarginal": null,

              "PeriodResults": [

              {

              "PeriodId": "140024ee-2819-4263-90fd-05e4414d4e3c",

              "PeriodName": "Period 1",

              ...

              "VolumeSolution": 4045.6062240857477,

              "VolumeMarginal": null

              },

              ...

              ],

              "ExchangeMembers": [

              {

              "ExchangeMemberId": "01fc1339-efb4-4aab-b7e5-c9c5e4851469",

              "Active": true,

              "ExchangeId": "54762d32-4ea5-4de5-abfa-0bf0a937330b",

              "ExchangeName": "Exchange Group",

              ...

              },

              ...

              ],

              "DemandMembers": [

              {

              "DemandMemberId": "85d235cc-7d99-4767-a26f-4e2a1ecf9489",

              "Active": true,

              "DemandId": "06512a64-dc48-466e-9342-c920cc198cd9",

              "DemandName": "Demand 6",

              ...

              },

              ...

              ],

              "SupplyMembers": [

              {

              "SupplyMemberId": "fe12b158-a683-4121-829a-407bdf8906ed",

              "Active": true,

              "SupplyId": "b1df6a1d-64c2-4af1-aca6-070cd4b67736",

              "SupplyName": "Supply 5",

              ...

              },

              ...

              ]

              },

              ...

              ]

              Terminal blends

              For Network cases, the TerminalBlends key contains information about the terminal blends defined in the model. Mass and volume solutions for each period are available in the PeriodResults array.

              "TerminalBlends": [

              {

              "TerminalBlendId": "b1fec0cf-2e5d-4365-ab95-5e8a10ace1d9",

              "TerminalBlendName": "Corpus Christi Dist Terminal Gasoline RBOB Regular USGC - Example Grade",

              "Active": true,

              ...

              "MassSolution": 0.0007981355242367321,

              "VolumeSolution": 0.0011085215614401245,

              "PeriodResults": [

              {

              "PeriodId": "eca709f3-2c61-43f2-9dc3-5ab13307d9bc",

              "PeriodName": "P 02 Feb 18",

              ...

              "MassSolution": 0.000655621488409189,

              "VolumeSolution": 0.0009105854005683194

              },

              ...

              ]

              },

              ...

              ]

              Terminal inventories

              For Network cases, two keys after the TerminalBlends key contain information related to terminal inventories:

              • TerminalInventories: lists all the terminal inventories defined in the model. Opening and closing solution values are available for each period in the PeriodResults array.

              • TerminalInventoryGroups: lists all the terminal inventory groups defined in the model. The overall Solution value is available, together with solution values for each period in the PeriodResults array. Two more arrays list the group members: TerminalInventoryMembers (individual terminal inventories) and TerminalInventoryGroupMembers (other terminal inventory groups).

                "TerminalInventories": [

                {

                "TerminalInventoryId": "0ed14f2a-7b40-4bbe-afff-150ccd79278c",

                "TerminalInventoryName": "Lubbock Dist Terminal Gasoline RBOB Regular USGC - Example Grade",

                "Active": true,

                ...

                "ClosingMaxActive": false,

                "ConstraintUom": "kbbl",

                "PeriodResults": [

                {

                "PeriodId": "eca709f3-2c61-43f2-9dc3-5ab13307d9bc",

                "PeriodName": "P 02 Feb 18",

                ...

                "ClosingVolumeSolution": 0.0,

                "ClosingVolumeMarginal": -13.848731716915552

                },

                ...

                ]

                },

                ...

                ],

                "TerminalInventoryGroups": [

                {

                "TerminalInventoryGroupId": "b4fb7dc8-0ae8-461c-93b4-e7d3fe82d179",

                "TerminalInventoryGroupName": "Gasoline",

                "Active": true,

                ...

                "VolumeSolution": 0.011491675657105006,

                "VolumeMarginal": null,

                "PeriodResults": [

                {

                "PeriodId": "eca709f3-2c61-43f2-9dc3-5ab13307d9bc",

                "PeriodName": "P 02 Feb 18",

                ...

                "VolumeSolution": 0.033021167601506307,

                "VolumeMarginal": 0.0

                },

                ...

                ],

                "TerminalInventoryMembers": [

                {

                "TerminalInventoryMemberId": "296151ee-7dbf-43e2-9e23-c989ccfc5fc7",

                "Active": true,

                "TerminalInventoryId": "c43ca7a7-6332-45ef-9cdb-f81a0f346439",

                "TerminalInventoryName": "Lafeyette Dist Terminal Gasoline RBOB Regular USGC - Example Grade",

                ...

                },

                ...

                ],

                "TerminalInventoryGroupMembers": [

                {

                "TerminalInventoryGroupMemberId": "142d2cb8-772b-4506-b6c3-906c1a21b7a9",

                "Active": true,

                "TerminalInventoryGroupId": "75791ae7-4467-4887-9095-2030d151a87f",

                "TerminalInventoryGroupName": "Gasoline Regular",

                ...

                },

                ...

                ]

                },

                ...

                ]

              Terminal operations

              For Network cases, two keys after the TerminalInventoryGroups key contain information related to terminal operations:

              • TerminalOperations: lists all the terminal operations defined in the model. Solution values are available for each period in the PeriodResults array.

              • TerminalOperationGroups: lists all the terminal operation groups defined in the model. The overall Solution value is available, together with solution values for each period in the PeriodResults array. Two more arrays list the group members: TerminalOperationMembers (individual terminal operations) and TerminalOperationGroupMembers (other terminal operation groups).

                "TerminalOperations": [

                {

                "TerminalOperationId": "ea524550-1085-489a-b905-3933762b3bfc",

                "TerminalOperationName": "Terminal Operation 2",

                "Active": true,

                ...

                "VolumeSolution": 23.264545270591953,

                "VolumeMarginal": null,

                "PeriodResults": [

                {

                "PeriodId": "eca709f3-2c61-43f2-9dc3-5ab13307d9bc",

                "PeriodName": "P 02 Feb 18",

                ...

                "VolumeSolution": 22.961476447127016,

                "VolumeMarginal": null

                },

                ...

                ]

                },

                ...

                ],

                "TerminalOperationGroups": [

                {

                "TerminalOperationGroupId": "b7ddcb3e-6e65-42f1-ae1f-eaf204113c28",

                "TerminalOperationGroupName": "Dist Operations",

                "Active": true,

                ...

                "VolumeSolution": 466.13096595132663,

                "VolumeMarginal": null,

                "PeriodResults": [

                {

                "PeriodId": "eca709f3-2c61-43f2-9dc3-5ab13307d9bc",

                "PeriodName": "P 02 Feb 18",

                ...

                "VolumeSolution": 493.12855998410629,

                "VolumeMarginal": null

                },

                ...

                ],

                "TerminalOperationMembers": [

                {

                "TerminalOperationMemberId": "87d168f0-b044-49a4-9ff1-637f7f57fb0a",

                "Active": true,

                "TerminalOperationId": "48313aac-d3e1-4db5-9e8f-1b5cc57c8050",

                "TerminalOperationName": "Dallas Operation ",

                ...

                },

                ...

                ],

                "TerminalOperationGroupMembers": [

                {

                "TerminalOperationGroupMemberId": "720034d4-1655-40db-bde4-e1474fcde3d6",

                "Active": true,

                "TerminalOperationGroupId": "cd84b669-d58d-4fbf-a9d3-b820b155bd68",

                "TerminalOperationGroupName": "Austin Operation Group",

                ...

                },

                ...

                ]

                },

                ...

                ]

              Transports

              For Network cases, several keys after the TerminalOperationGroups key contain information related to transports:

              • TransportModes: lists all the transport modes defined in the model.

              • TransportLinks: lists all the transport links defined in the model. For each transport link, these other keys are worth describing:

                • TransportMaterials contains an array with all the traded materials associated with the transport link.

                • TransportGrades contains an array with all the grades associated with the transport link, if any.

                • PeriodResults contains an array with transport link result values for each period. Values for Departing, InTransit and Arriving quantities are available.

              • TransportLinkGroups: lists all the transport link groups defined in the model. The overall Solution value is available, together with solution values for each period in the PeriodResults array. Two more arrays list the group members: TransportLinkMembers (individual transport links) and TransportLinkGroupMembers (other transport link groups).

              • TransportLinkMaterialResults: lists solutions in mass- and volume-based units for each traded material, transport link and period. Solutions are given for departing arriving and in transit quantities.

              • TransportLinkMaterialPropertyResults: lists solution property values for each traded material, transport link and period.

                "TransportModes": [

                {

                "TransportModeId": "cea4f08a-2851-41a3-a5ab-c749c59c6e6f",

                "TransportModeName": "Catear Ships",

                "Active": true,

                "Description": "",

                "Modality": "Ship",

                "ParcelAmount": null,

                "ParcelAmountUom": "tonne",

                "Cost": null,

                "CostUom": "$/tonne/m"

                },

                ...

                ],

                "TransportLinks": [

                {

                "TransportLinkId": "0f73fca0-dda1-4bc2-8c7d-8a616cccd50c",

                "TransportLinkName": "Houston Dist Terminal - Any < Corn Inc Louisiana Supply via Corn Inc Trucks",

                "Active": true,

                ...

                "TransportMaterials": [

                {

                "TradedMaterialId": "b8dd7f7b-c3fc-4d41-864e-192316518768",

                "TradedMaterialName": "Kalkaska Michigan"

                },

                ...

                ],

                "TransportGrades": [],

                ...

                "PeriodResults": [

                {

                "PeriodId": "eca709f3-2c61-43f2-9dc3-5ab13307d9bc",

                "PeriodName": "P 02 Feb 18",

                "PeriodSortIndex": 0.0,

                "Departing": 1.1080628524743803,

                "InTransit": 0.0,

                "Arriving": 1.1080628524743803,

                "Marginal": null,

                "MassDeparting": 0.5385143008998573,

                "MassInTransit": 0.0,

                "MassArriving": 15.078400425196005,

                "MassMarginal": null,

                "VolumeDeparting": 0.67822959811065142,

                "VolumeInTransit": 0.0,

                "VolumeArriving": 0.67822959811065142,

                "VolumeMarginal": null

                },

                ...

                ]

                },

                ...

                ],

                "TransportLinkGroups": [

                {

                "TransportLinkGroupId": "80c9a664-e22a-4926-9be1-c06bc09103b5",

                "TransportLinkGroupName": "Total Inter Plant Transfer",

                "Active": true,

                ...

                "PeriodResults": [

                {

                "PeriodId": "eca709f3-2c61-43f2-9dc3-5ab13307d9bc",

                "PeriodName": "P 02 Feb 18",

                "PeriodSortIndex": 0.0,

                "Solution": 1123.1693879776931,

                "Marginal": null,

                "MassSolution": 1.1231693879776932,

                "MassMarginal": null,

                "VolumeSolution": 1.6198000980353233,

                "VolumeMarginal": null

                },

                ...

                ],

                "TransportLinkMembers": [

                {

                "TransportLinkMemberId": "f9f6931b-f0c7-4b3e-99fb-8738cc6f8cfc",

                "Active": true,

                "TransportLinkId": "7aab88ca-1760-43d9-a1b9-a4d74de5b47c",

                "TransportLinkName": "Corsicana Plant - Any < Lake Charles Plant",

                ...

                },

                ...

                ],

                "TransportLinkGroupMembers": [

                {

                "TransportLinkGroupMemberId": "37079cfe-964a-404f-a9ec-4c9eb0c05b66",

                "Active": true,

                "TransportLinkGroupId": "bf7609c3-2654-4208-a55e-935ca8cda1ff",

                "TransportLinkGroupName": "Corsicana Links",

                ...

                },

                ...

                ]

                },

                ...

                ],

                "TransportLinkMaterialResults": [

                {

                "TransportLinkId": "b4d52c18-47e7-4501-9699-0bf516f2fb85",

                "TransportLinkName": "Odessa Demand - Any < Lubbock Dist Terminal via CL Trucks",

                "PeriodId": "3d30b5bb-180d-4f68-8b74-63da23113838",

                "PeriodName": "P 04 Apr 18",

                "PeriodSortIndex": 2.0,

                "TradedMaterialId": "f4c5538a-8702-4831-ae44-f16c3b5770b9",

                "TradedMaterialName": "ULSD Summer US - Example Material",

                "DepartingMassSolution": 4.8986449739986939E-05,

                "DepartingVolumeSolution": 5.7585259433030158E-05,

                "InTransitMassSolution": 0.0,

                "InTransitVolumeSolution": 0.0,

                "ArrivingMassSolution": 4.8986449739986939E-05,

                "ArrivingVolumeSolution": 5.7585259433030158E-05

                },

                ...

                ],

                "TransportLinkMaterialPropertyResults": [

                {

                "TransportLinkId": "b4d52c18-47e7-4501-9699-0bf516f2fb85",

                "TransportLinkName": "Odessa Demand - Any < Lubbock Dist Terminal via CL Trucks",

                "PeriodId": "3d30b5bb-180d-4f68-8b74-63da23113838",

                "PeriodName": "P 04 Apr 18",

                "PeriodSortIndex": 2.0,

                "TradedMaterialId": "f4c5538a-8702-4831-ae44-f16c3b5770b9",

                "TradedMaterialName": "ULSD Summer US - Example Material",

                "PropertyEnvironment": "Viscosity (kinematic) at 15C",

                "Value": 2.9651807693561993,

                "ValueUom": "cSt"

                },

                ...

                ]

              Network calculations and global parameters

              For Network cases, the NetworkCalculations and NetworkGlobalParameters keys contain information on all the calculations and global parameters created in the Network case, rather than in the embedded plant cases.

              "NetworkCalculations": [

              {

              "NetworkCalculationId": "5781f21e-0a7c-4d33-acf3-9f7ca547553d",

              "NetworkCalculationName": "CDU Feed",

              "Active": true,

              "Type": "Period",

              ....

              "Marginal": null,

              "MarginalUom": "M$/tonne/d",

              "PeriodResults": [

              {

              "PeriodId": "eca709f3-2c61-43f2-9dc3-5ab13307d9bc",

              "PeriodName": "P 02 Feb 18",

              "PeriodSortIndex": 0.0,

              "Solution": 72376.95218928023,

              "Marginal": null

              },

              ...

              ]

              },

              ...

              ],

              "NetworkGlobalParameters": [

              {

              "NetworkGlobalParameterId": "f79542d4-ffc1-4dd6-b825-68c9dd8602a0",

              "NetworkGlobalParameterName": "Renewables Proportion",

              "Active": true,

              "Type": "Global",

              ...

              "PeriodResults": [

              {

              "PeriodId": "eca709f3-2c61-43f2-9dc3-5ab13307d9bc",

              "PeriodName": "P 02 Feb 18",

              "PeriodSortIndex": 0.0,

              "Solution": 0.13653788,

              "Marginal": null

              },

              ...

              ]

              },

              ...

              ]

              Reference data

              A number of keys at the same level of the Networks key list the reference data used by the supply chain model. You can list the reference data in your model by opening the Show Contents pane.

              Note: Not all the reference data listed in the Show Contents pane appear in the published data. Only the reference data actually used in the model are included.
              If you publish via a template, only the reference data used by the published portion of the model are included in the output.
              For example, if a certain feedstock is used only in purchases, and you have excluded purchases from the published data via a template, the reference data for that feedstock will not be published either.

              • Grades: lists all the product grades used in the model. For each grade, the SpecificationValues key contains an array with the property specifications that define the grade.

              • Feedstocks: lists all the feedstocks used in the model, including any property Measurements.

              • TradedMaterials: lists all the traded materials used in the model.

              • MaterialTypes: lists all the material types used in the model. Optionally, a material type may have one or more MaterialTypeChildren.

              • Markets: lists all the markets used in the model.

              • Locations: lists all the locations used in the model. This is populated only for Network models.

                "Grades": [

                {

                "GradeId": "4c2ca642-a015-4e8b-9f6d-64b7a35fe5c5",

                "GradeName": "LSFO - Example Grade",

                "Share": "Example Data",

                "Description": "",

                "LastModified": "2016-08-19T14:49:27Z",

                "TradedMaterialId": "96d9b8ac-cdaf-4f8a-b43b-18299f12f0ae",

                "TradedMaterialName": "LSFO - Example Material",

                "SpecificationValues": [

                {

                "SpecificationValueId": "a547f101-18e1-4faf-9644-1ec4604442e7",

                "Active": true,

                "Property": "Pour Point",

                ...

                "Max": 30.0,

                "MaxMargin": null,

                "MaxActive": true,

                "Uom": "C"

                },

                ...

                ]

                },

                ...

                ],

                "Feedstocks": [

                {

                "FeedstockId": "3b5dfef5-1ba2-4ee2-90a8-1a88770938b0",

                "FeedstockName": "Reformate - Example Feedstock",

                "Share": "Example Data",

                ...

                "TradedMaterialId": "1bfc7ac1-b1cd-40b9-8ddc-b9dfee3e9b55",

                "TradedMaterialName": "Reformate - Example Feedstock Material",

                "Recommended": null,

                "Measurements": [

                {

                "MeasurementId": "e3736d25-5925-44ae-8c4d-f02b2935550a",

                "Property": "Density at 15C",

                "Value": 0.79,

                "Uom": "g/cc"

                },

                ...

                ]

                },

                ...

                ],

                "TradedMaterials": [

                {

                "TradedMaterialId": "4867de3f-1b02-0c12-1bd0-0e46a40ee290",

                "TradedMaterialName": "Agbami",

                "Share": "Spiral Reference Data",

                "Description": "",

                "LastModified": "2011-08-05T15:02:09Z",

                "MaterialTypeId": "c93a3fea-085a-4e32-835d-74a6b7ae3c20",

                "MaterialTypeName": "Crude",

                "Hidden": null

                },

                ...

                ],

                "MaterialTypes": [

                {

                "MaterialTypeId": "30b39b04-1d8f-4ff3-b249-0ccc0c47b13e",

                "MaterialTypeName": "VGO",

                "Share": "Core Reference Data",

                "Description": "",

                "LastModified": "2017-02-24T14:34:13Z",

                "MaterialTypeChildren": [

                {

                "MaterialTypeId": "c874b43b-8981-47e4-b53f-27e6d0adba61",

                "MaterialTypeName": "LVGO",

                "Index": 2.0

                },

                {

                "MaterialTypeId": "df7bebef-426d-4323-8741-6d10964db417",

                "MaterialTypeName": "HVGO",

                "Index": 1.0

                }

                ]

                },

                ...

                ],

                "Markets": [

                {

                "MarketId": "5aef5313-2423-4f87-bed5-2754ef34b323",

                "MarketName": "Central America",

                "Share": "Example Data",

                "Description": "",

                "LastModified": "2013-12-17T11:38:52Z",

                "LocationId": null,

                "LocationName": null

                },

                ...

                ],

                "Locations": [

                {

                "LocationId": "1c0c328e-f608-4abc-9bb1-865cef15b9e5",

                "LocationName": "Amarillo,TX,USA",

                "Share": "Example Data",

                "Description": "",

                "LastModified": "2017-08-11T08:31:06",

                "Latitude": 35.18,

                "Longitude": -101.83,

                "AreaCode": "",

                "Region1": "Amarillo",

                "Region2": "TX",

                "Region3": "USA",

                "Region4": null,

                "NotCrudeSync": true

                },

                ...

                ]

              Blend rules

              After the Locations key, the BlendRules key contains information on all the blend rulesDetail of the Authentication field showing a choice between integrated authentication and custom credentials defined in the model, including formulae and valid ranges.

              "BlendRules": [

              {

              "BlendRuleId": "57e05891-6fd1-4945-81a1-f82dd16b2c19",

              "BlendRuleName": "Freeze Point Index",

              "Share": "Spiral Reference Data",

              "Description": "Standard blend rule for freeze point blending",

              "LastModified": "2016-07-28T06:28:25",

              "AmountType": "Volume",

              "Formula": "exp(2.35+0.03638*X)",

              "ValidRangeLower": -200.0,

              "ValidRangeUpper": 200.0,

              "Uom": "F"

              },

              ...

              ]

              Flowsheets

              The Flowsheets key includes information on the assets in the topology of each plant in the model. Each flowsheet has a unique FlowsheetId value which is repeated in the Plants section, allowing you to match each topology with the corresponding plant.

              For each flowsheet, an array of Elements lists every asset in the topology. Name, unique ID and type of the asset are reported, together with a list of InputSockets and OutputSockets.

              "Flowsheets": [

              {

              "FlowsheetId": "d98a37e6-a3aa-4631-b822-ac09604c3a91",

              "Elements": [

              {

              "ElementId": "ca2e9606-e355-44d0-bd21-d574e628f18f",

              "ElementName": "Naphtha Hydrotreater",

              "Type": "Process Unit",

              "InputSockets": [

              {

              "InputSocketId": "ba842d2e-44f8-4123-b658-a432d26444aa",

              "InputSocketName": "NHT Feed",

              "Index": 0

              },

              ...

              ],

              "OutputSockets": [

              {

              "OutputSocketId": "0a879adb-257c-41f0-8a76-2f563ea418ab",

              "OutputSocketName": "HNap HT SG",

              "Index": 0

              },

              ...

              ]

              },

              ...

              ]

              },

              ...

              ]

              In This Topic
              Related Links
              TitleResults for “How to create a CRG?”Also Available in