返回 Skill 列表
extension
分类: 数据与分析无需 API Key

GIS-LCA工具

GIS-LCA平台生命周期评价全流程技能,包括项目建模、过程构建、输入输出流管理、上下游连接、清单计算(LCI)、影响评价(LCIA)、贡献率/敏感性/不确定性分析等。支持创建过程、引用背景过程、流搜索与创建、自动/手动连接、多产品分配、计算任务创建及结果解读。

person作者: user_3987d14fhubcommunity

GIS-LCA 智能体技能:生命周期评价建模、计算与分析

技能概述

本技能用于指导AI智能体完成GIS-LCA平台上的生命周期评价(LCA)全流程工作,包括:项目建模、过程构建、流与连接管理、清单计算(LCI)、影响评价(LCIA)、贡献率/敏感性/不确定性分析等。

本技能依赖 GIS-LCA 平台的 MCP 连接器提供工具调用能力。加载本技能后,必须先执行下方的「MCP 自动配置」流程,确保 MCP 连接器已正确配置并启用,然后才能进行 LCA 相关操作。


零、MCP 自动配置(加载技能后必须首先执行)

配置信息

GIS-LCA MCP 连接器配置如下:

{
  "mcpServers": {
    "gis-lca": {
      "type": "sse",
      "url": "https://lca.qibebt.ac.cn/lca/mcp",
      "disabled": false
    }
  }
}

自动配置流程

加载本技能后,立即按以下步骤检查并配置 MCP(不要询问用户是否需要配置,直接执行):

Step 1 - 读取现有 MCP 配置文件

读取 ~/.workbuddy/mcp.json 文件(即 C:\Users\<用户名>\.workbuddy\mcp.json)。如果文件不存在,则视为空配置,跳到 Step 3。

Step 2 - 检查是否已配置 gis-lca

在读取到的 JSON 中检查 mcpServers 对象下是否已存在 "gis-lca" 键:

  • 如果已存在且 disabledfalse:MCP 已正确配置且已启用,无需操作,直接跳到「核心概念」章节开始 LCA 工作。告知用户:"GIS-LCA MCP 连接器已配置并启用,可以开始LCA工作了。"
  • 如果已存在但 disabledtrue:将 disabled 字段修改为 false,写回文件,然后按 Step 4 处理。
  • 如果不存在:继续 Step 3。

Step 3 - 添加 gis-lca MCP 配置

mcpServers 对象中添加 "gis-lca" 条目。注意保留原有的其他 MCP 配置,不要覆盖。完整写入后的文件格式示例:

{
  "mcpServers": {
    "其他已有的mcp": { ... },
    "gis-lca": {
      "type": "sse",
      "url": "https://lca.qibebt.ac.cn/lca/mcp",
      "disabled": false
    }
  }
}

使用 Write 工具将更新后的 JSON 写回 ~/.workbuddy/mcp.json

Step 4 - 通知用户

配置写入完成后,向用户说明:

GIS-LCA MCP 连接器已自动配置完成。新添加的 MCP 不会立即生效,需要手动启用:

  1. 打开 WorkBuddy 右上角的「连接器管理」页面
  2. 找到新增的 gis-lca 连接器
  3. 点击「信任(Trust)」按钮启用该连接器
  4. 启用后即可开始 LCA 工作

注意事项

  • 不要覆盖用户已有的其他 MCP 配置:读取后只添加或修改 gis-lca 条目,保留其余配置不变。
  • JSON 格式正确:写入前确保 JSON 格式合法(无尾逗号、引号匹配等)。
  • 不要运行 MCP 服务:只需写入配置文件,不需要启动服务进程。
  • 配置完成后仍需用户信任:MCP 配置写入后不会自动激活,用户需在连接器管理页面点击「信任」才能启用。

一、核心概念

1.1 LCA数据模型层级

项目(ProductSystem)
  └── 过程(Process)
        ├── 输入输出流(Exchange)
        │     ├── 产品流(PRODUCT_FLOW) - 中间流/经济流
        │     ├── 废弃物流(WASTE_FLOW) - 中间流/经济流
        │     └── 基本流(ELEMENTARY_FLOW) - 环境流
        ├── 参数(Parameter) - 公式变量
        └── 分配因子(AllocationFactor)
  └── 连接(ProcessLink) - 过程间的物质/能量流转

1.2 关键术语

| 术语 | 说明 | | ----------------------- | -------------------------------------------- | | 项目(ProductSystem) | LCA评价的顶层容器,包含一组关联的过程和连接 | | 过程(Process) | 单元过程(UNIT_PROCESS)或系统过程(LCI_RESULT),是建模的基本单元 | | 流(Flow) | 物质/能量/废弃物的载体,分为产品流、基本流、废弃物流 | | Exchange | 过程的输入/输出条目,关联流和数量 | | 连接(ProcessLink) | 上游过程输出 → 下游过程输入的物质流转关系 | | 功能流(FunctionalFlow) | 过程的定量参考流(产品输出或废弃物输入) | | 评价方法(ImpactMethod) | 如IPCC 2013、ReCiPe等,包含多个影响类别(ImpactCategory) | | LCI | 清单分析结果,环境流的物质量 | | LCIA | 影响评价结果,将清单结果乘以特征化因子得到环境影响值 |

1.3 过程类型

  • UNIT_PROCESS:单元过程,用户自定义的底层过程
  • LCI_RESULT:系统过程,来自数据库的聚合过程(如Ecoinvent)

1.4 流类型

  • ELEMENTARY_FLOW:基本流/环境流(如CO2排放、水资源消耗)
  • PRODUCT_FLOW:产品流(中间流,如电力、钢材)
  • WASTE_FLOW:废弃物流(中间流,如废渣、废水)

二、建模工作流

2.1 创建项目

触发场景:用户要求新建一个LCA评价项目

步骤

  1. 询问用户项目名称(必填)
  2. 询问项目位置(可选,默认青岛)
  3. 询问项目类型(可选,默认normal;可选:normal/tanpancha/yueqing)
  4. 调用 createProject 创建项目
createProject({
  name: "项目名称",
  description: "项目描述(可选)",
  projectType: "normal",
  locationName: "青岛市"
})

2.2 打开已有项目

触发场景:用户要查看或操作某个项目

步骤

  1. 调用 searchProjectopenProject 按名称搜索并打开
  2. 打开后 session 中会记录 currentProjectId,后续操作自动关联该项目

2.3 查看项目详情

触发场景:用户想了解项目结构和内容

步骤

  1. 调用 getProjectDetail 获取项目基本信息、节点和连接
  2. 可选调用 getProcessTreeOfProject 按标签分组查看过程树

2.4 创建过程

触发场景:用户要在项目中添加一个单元过程

前提:必须已打开项目(session中有currentProjectId)

步骤

  1. 确定过程名称(必填)
  2. 确定标签tags(可选,用于分组)
  3. 确定位置(可选,默认青岛)
  4. 调用 createProcess 创建过程
createProcess({
  name: "炼钢过程",
  tags: "生产",
  locationName: "北京市"
})

2.5 查找并引用背景过程

触发场景:当某个过程无法获取实景数据时,需要引用背景数据库中的过程数据来补充。典型场景如:

  • 生产手机时用到的电力,上游电厂数据可从背景数据库查询获取后引用
  • 使用钢材作为原材料时,钢厂的生产数据可从Ecoinvent等背景数据库获取
  • 运输过程中的物流数据,可引用背景数据库中的运输过程

引用背景过程后,该背景过程的输入输出流会自动带入当前过程,无需手动添加。

步骤

  1. 调用 searchProcess 搜索背景过程
    • processType 默认使用 LCI_RESULT(系统过程)
    • 可通过 locationName 筛选特定地区的过程,位置只支持英文,例如China,Shandong,US等
    • 建议用中英文及同义词增强搜索(如同时搜索"electricity"和"电力")
  2. 从结果中选择最合适的过程(注意匹配地区、技术路线等)
  3. 调用 reference 将背景过程引用到当前过程
reference({
  id: "当前过程id",
  referenceId: "背景过程id"
})

注意:引用背景过程后,该过程会变为系统过程(LCI_RESULT)类型,其输入输出由背景数据决定,用户仍可在此基础上进行调整。

2.6 为过程添加输入输出流

触发场景:用户要为过程添加物质/能量输入或环境排放

步骤

Step 1 - 查找流

  • 调用 searchFlowsearchElementaryFlowResult 搜索需要的流
  • 产品流用 PRODUCT_FLOW,基本流用 ELEMENTARY_FLOW,废弃物流用 WASTE_FLOW
  • 优先使用系统自带的流,如果不存在,则调用saveFlowbatchSaveFlow创建新的流

Step 2 - 获取流的基准单位

  • 调用 getFlowReferenceDtoById 获取流的基准属性和单位
  • 或调用 getUnitListByFlow 获取流的所有可用单位

Step 3 - 创建Exchange: 按照以下参数创建单个Exchange:

createExchange({
  processId: 过程id,
  isInput: 0,  // 0=输出, 1=输入
  flowId: 流id,
  amount: 1.0,
  flowPropertyFactorId: 流属性转换因子id,
  unitId: 单位id,
  autoLink: 1  // 建议开启自动连接
})

或者调用createExchangeBatch批量创建输入输出。

Step 4(可选)- 查看结果

  • 调用 searchFlowDetailByProcess 查看过程的输入输出流详情
  • 调用 getBalanceInfo 查看物质能量平衡信息

2.7 建立过程连接

触发场景:用户要连接两个过程的中间流(产品流或废弃物流)

连接约束规则(重要):

  1. 一个原材料只能有一家供应商:同一个产品输入流(isInput=1的PRODUCT_FLOW)只能连接一个上游输出,即一种原材料只能由一个过程供应
  2. 一个废弃物只能有一个处理过程:同一个废弃物输出流(isInput=0的WASTE_FLOW)只能连接一个下游处理过程,即一种废弃物只能交给一个过程处理
  3. 多产品输出需要分配:如果一个过程生产多个产品(即有多个PRODUCT_FLOW的输出),则需对该过程设置分配因子,明确各产品分摊的环境负担比例(详见5.2分配因子)

方式一 - 自动连接(推荐,适用于模型较简单时):

autoLink({ productSystemId: 项目id })

系统自动匹配过程间flowId一致的产品流/废弃物流并创建连接。自动连接会遵守上述约束规则。

方式二 - 手动创建连接(适用于需要精确控制连接关系的场景):

  1. 调用 getIntermediateFlows 分别查看上下游过程的中间流
  2. 确定上游输出流和下游输入流
  3. 确认不会违反连接约束(同一原材料不重复连接供应商、同一废弃物不重复指定处理过程)
  4. 调用 createProcessLink 创建连接
createProcessLink({
  productSystemId: 项目id,
  sourceProcessId: 上游过程id,
  sourceExchangeId: 上游输出exchange id,
  targetProcessId: 下游过程id,
  targetExchangeId: 下游输入exchange id,
  flowId: 流id
})

多产品过程的处理:如果一个过程有多个产品输出,在建立连接后,需调用 calculateAllocation 计算分配因子,或通过 getAllocationFactors 查看并调整分配比例。

2.8 完整建模流程总结

典型的LCA建模流程如下:

1. createProject → 创建项目
2. createProcess → 根据项目需求,创建一个或多个单元过程,这些过程代表了整个LCA模型中各个主要的工序流程
3. 对于某些缺乏实景数据的过程:
   searchProcess + reference → 从背景数据库搜索并引用合适的背景过程
   (例如:生产手机用到的电力,可引用背景数据库中电厂数据)
4. 为每个过程添加输入输出流:
   searchFlow / searchElementaryFlowResult → 优先从数据库中查找已有的流
   saveFlow / batchSaveFlow → 仅当数据库中无合适流时才创建新流
   getFlowReferenceDtoById → 获取流的基准属性和单位
   createExchange → 为过程创建输入输出(注意:产品流/废弃物流为中间流,基本流为环境流)
5. 建立过程间连接:
   autoLink → 模型较简单时使用自动连接(系统会自动将上下游中flowId一致的输出和输入关联)
   createProcessLink → 模型较复杂时手动建立精确的连接关系
   ⚠️ 连接约束:一个原材料只能有一家供应商;一个废弃物只能有一个处理过程
6. 处理多产品过程(如有):
   calculateAllocation → 计算分配因子
   (分配的含义:如共排放CO2 100kg,需明确a产品分摊多少、b产品分摊多少)
7. getProjectDetail → 检查项目完整性(确认无孤立过程、无未连接的中间流)
8. 至此建模完成,可进入计算分析阶段

三、计算工作流

3.1 选择评价方法

步骤

  1. 调用 searchImpactMethod 查询可用评价方法(优先使用IPCC 2021)
  2. 调用 getImpactCategories 查看评价方法包含的影响类型
  3. 常用方法ID参考:IPCC 2021 → 3706615340222912096

3.2 创建计算任务

触发场景:建模完成后,用户要进行LCA计算

步骤

  1. 确定评价方法(methodId)
  2. 确定最终需求(finalDemand),即功能单位;需要通过getProcessTreeOfProject选择当前项目中要计算的过程,然后调用getFunctionalFlows选择该过程的某个功能流(生产的产品)
  3. 确定计算类型(calculateType):
    • LCI - 清单分析
    • LCIA - 影响评价
    • CONTRIBUTION - 贡献率分析
    • SENSITIVITY - 敏感性分析
    • 多个类型用逗号分割
  4. 调用 createCalculationTask 创建任务
createCalculationTask({
  productSystemId: 项目id,
  methodId: 3706615340222912096, 
  calculateType: "LCI,LCIA,CONTRIBUTION,SENSITIVITY",
  finalDemand: [{
    exchangeId: 输入输出id,
    processId: 过程id,
    flowPropertyId: 流属性id,
    flowId: 流id,
    amount: 1.0,
    unitId: 单位id
  }]
})

四、分析工作流

4.1 清单分析(LCI)

查看清单结果

getLci({
  taskId: 任务id,
  pageNo: 1,
  pageSize: 20,
  name: "流名称(可选,用于查询)",
  type: 0  // 0=输入, 1=输出, 2=总需求
})

查看清单子列表(某流的详细组成):

getLciSubList({
  taskId: 任务id,
  flowId: 流id
})

4.2 影响评价(LCIA)

影响类别优先选择GWP100或类似的,主要用于评价二氧化碳排放量。 可以通过getImpactCategory获取当前任务的所有影响类别,然后根据名称获取最合适的类别。

查看影响评估总览

getLcia({ taskId: 任务id })

查看影响类型列表

getImpactCategory({ taskId: 任务id })

查看LCIA详细子列表(某影响类别的过程贡献):

getLciaSubList({
  taskId: 任务id,
  categoryId: 影响类别id,
  processId: 过程id(可选,不填/null为所有过程)
})

标准化和加权分析

normalizeAndWeight({ taskId: 任务id })

4.3 贡献率分析

按过程查看贡献率排名

getLciaContributionByProcess({
  taskId: 任务id,
  categoryId: 影响类别id,
  limit: 10
})

按流查看贡献率排名

getLciaContributionByFlow({
  taskId: 任务id,
  categoryId: 影响类别id,
  limit: 10
})

分组查看贡献率(阶段贡献分析):

getLciaGroupResult({
  taskId: 任务id,
  categoryId: 影响类别id(可选),
  type: "tag"  // null/tag=普通分组, cbam, ghg
})

贡献树(层级结构):

getImpactContributionTree({
  taskId: 任务id,
  impactCategoryId: 影响类别id,
  minPercent: 0.001,
  maxLevel: 20
})

4.4 敏感性分析

基于LCIA影响类别的敏感性(常用敏感性分析方法,分析项目对某个环境影响的敏感性)

getSensitivityOfLcia({
  taskId: 任务id,
  categoryId: 影响类别id,
  limit: 10
})

4.5 不确定性分析(蒙特卡洛)

基于环境影响的不确定性

getUncertaintyOfImpact({
  taskId: 任务id,
  categoryId: 影响类别id
})

注意:不确定性分析需在创建计算任务时指定 UNCERTAINTY 类型并设置 monteCarloNumber(蒙特卡洛次数,不得超过1000)。

4.6 桑基图分析

环境影响桑基图(影响在各过程中的流转):

getImpactSankey({
  taskId: 任务id,
  impactCategoryId: 影响类别id,
  minPercent: 0.001(即0.1%),
  maxLevel: 20
})

4.7 对比分析

过程对比

compareProcess({
  processIds: ["过程id1", "过程id2"],
  methodId: 评价方法id
})

项目对比

compareProject({
  productSystemIds: ["项目id1", "项目id2"],
  methodId: 评价方法id
})

4.8 供应链追溯

查看过程上游

getUpstream({
  processId: 过程id
})

五、辅助工具

5.1 参数管理(不常用)

| 操作 | 工具 | | ---- | ----------------- | | 查询参数 | searchParameter | | 新建参数 | createParameter | | 更新参数 | updateParameter | | 删除参数 | deleteParameter |

参数可用于Exchange的amountFormula中,实现动态计算。

5.2 分配因子

| 操作 | 工具 | | -------- | ---------------------- | | 查询分配因子 | getAllocationFactors | | 计算默认分配因子 | calculateAllocation |

分配类型:PHYSICAL(物理)、ECONOMIC(经济)、CAUSAL(因果)

5.3 类别体系

getCategoryTree({
  modelType: "FLOW",      // FLOW/PROCESS/FLOW_PROPERTY/UNIT_GROUP
  subType: "ELEMENTARY_FLOW"  // 可选
})

5.4 数据质量

| 操作 | 工具 | | -------- | ------------------- | | 查询数据质量系统 | getDqSystemList | | 查看数据质量详情 | getDqSystemDetail |

5.5 计算历史

| 操作 | 工具 | | ------ | --------------------------- | | 查询计算历史 | getCalculationTaskHistory | | 查看任务详情 | getCalculationTaskDetail | | 删除计算任务 | deleteCalculationTask |


六、典型场景工作流

场景1:从零开始建模并计算钢材碳足迹

Step 1: createProject({ name: "钢材碳足迹评价", locationName: "青岛市" })
Step 2: createProcess({ name: "钢材生产", tags: "核心" })
Step 3: searchProcess({ name: "iron steel production", processType: "LCI_RESULT" })
        → 选择合适的背景过程
Step 4: reference({ id: "钢材生产过程id", referenceId: "背景过程id" })
Step 5: searchFlow({ name: "二氧化碳", flowType: "ELEMENTARY_FLOW" })
        → 找到CO2排放流
Step 6: createExchange({ processId, isInput: 1, flowId, amount: 2.5, ... })
        → 添加CO2排放输出
Step 7: autoLink({ productSystemId })
Step 8: searchImpactMethod({ name: "IPCC" })
        → 确认IPCC 2013方法
Step 9: createCalculationTask({
          productSystemId, methodId: 44645931,
          calculateType: "LCI,LCIA,CONTRIBUTION",
          finalDemand: [{ processId, flowId, amount: 1.0, unitId }]
        })
Step 10: getTaskStatus() → 等待完成
Step 11: getLcia({ taskId }) → 查看温室效应影响值
Step 12: getLciaContributionByProcess({ taskId, categoryId, limit: 5 })
         → 查看贡献最大的过程

场景2:分析已有项目的环境影响

Step 1: searchProject({ name: "项目名" }) 或 openProject({ name: "项目名" })
Step 2: getProjectDetail({ mode: 2 }) → 查看项目结构
Step 3: getProcessTreeOfProject({ type: "tags" }) → 按标签查看过程
Step 4: createCalculationTask({ ... calculateType: "LCI,LCIA,CONTRIBUTION,SENSITIVITY" })
Step 5: getImpactCategory({ taskId }) → 获取影响类别列表
Step 6: getLcia({ taskId }) → 查看各影响类别总结果
Step 7: getLciaContributionByProcess({ taskId, categoryId, limit: 10 })
        → 分析主要贡献源
Step 8: getSensitivityOfLcia({ taskId, categoryId })
        → 敏感性分析,找出关键过程
Step 9: getImpactSankey({ taskId, impactCategoryId })
        → 桑基图展示影响流转

场景3:对比两个方案的环境表现

Step 1: 确保两个项目已建模完成
Step 2: 分别对两个项目创建计算任务
Step 3: compareProject({
          productSystemIds: ["项目1id", "项目2id"],
          methodId: 44645931
        })
Step 4: 解读对比结果,给出建议

场景4:不确定性分析

Step 1: 建模时为Exchange设置不确定度分布(distributionType, parameter1/2/3)
Step 2: createCalculationTask({
          calculateType: "LCI,LCIA,UNCERTAINTY",
          monteCarloNumber: 1000
        })
Step 3: getUncertainty({ taskId, flowIdList: "关键流id" })
        → 查看流的蒙特卡洛结果
Step 4: getUncertaintyOfImpact({ taskId, categoryId })
        → 查看影响类别的不确定性分布

七、智能体行为规范

7.1 交互规范

  1. 创建项目时:先提醒用户输入名称,再询问位置(可选),类型默认normal
  2. 创建过程时:需要先进入项目,否则提示"请先进入项目"
  3. 搜索过程时:应将用户关键字翻译为中英文及同义词增强搜索
  4. 搜索结果处理:对搜索结果进行筛选后再呈现,避免直接堆砌原始数据
  5. 过程ID处理:创建过程后不需要将过程id告诉用户,但内部需要记录以供后续操作
  6. 计算任务创建后:应主动查询任务状态,完成后再展示结果

7.2 数据校验

  1. 创建Exchange前,必须通过 getFlowReferenceDtoByIdgetUnitListByFlow 获取正确的流属性和单位
  2. 建立连接前,建议先通过 getIntermediateFlows 确认上下游过程的中间流
  3. 计算前,建议通过 getProjectDetail 检查项目完整性(是否有孤立过程、未连接的流等)
  4. 功能流(定量参考流)必须正确设置,它是计算的功能单位基础

7.3 错误处理

| 错误场景 | 处理方式 | | ----------------- | ------------------------------------------------- | | MCP 连接器未配置或未信任 | 重新执行「MCP 自动配置」流程,并提醒用户在连接器管理页面点击「信任」 | | MCP 工具调用失败/超时 | 提示用户检查网络连接,确认 MCP 服务地址 https://lca.qibebt.ac.cn/lca/mcp 可达 | | token为空 | 提示用户需要登录 | | 未进入项目 | 提示用户先打开或创建项目 | | 搜索无结果 | 建议换用同义词或英文搜索 | | 过程不属于当前项目 | 提示用户检查过程归属 | | 计算任务失败 | 检查项目建模完整性,确认功能流和连接是否正确 | | 自动连接正在执行 | 提示用户稍后重试 |

7.4 结果解读指导

智能体在返回分析结果时,应:

  1. LCI结果:重点关注数量级最大的前5个环境流,说明其物理意义
  2. LCIA结果:重点解读GWP100(全球变暖潜势)等关键指标,给出数值和单位
  3. 贡献率分析:指出贡献最大的过程/流及其占比
  4. 敏感性分析:指出最敏感的过程,说明改变该过程参数对结果的潜在影响
  5. 不确定性分析:给出置信区间,说明结果的可信程度
  6. 桑基图:描述主要的影响流转路径

八、工具速查表

项目管理

| 工具 | 用途 | | ------------------------ | -------- | | createProject | 创建项目 | | openProject | 打开项目 | | searchProject | 搜索项目 | | searchProjectPage | 分页搜索项目 | | getProjectDetail | 项目详情 | | updateProject | 更新项目信息 | | deleteProject | 删除项目 | | copyProject | 复制项目 | | getProductSystemByUser | 获取用户项目列表 |

过程管理

| 工具 | 用途 | | -------------------------- | --------- | | createProcess | 创建过程 | | searchProcess | 搜索过程 | | searchProcessPage | 分页搜索过程 | | getDetail | 过程详情 | | getProcessBrief | 过程简况 | | updateProcessGeneralInfo | 更新过程信息 | | deleteProcess | 删除过程 | | batchDeleteProcess | 批量删除过程 | | reference | 引用背景过程 | | commitProcess | 提交过程到个人空间 | | getAllProcessOfProject | 获取项目所有过程 | | getProcessTags | 获取过程标签 | | getProcessTreeOfProject | 获取过程树 | | getUpstream | 获取上游过程 |

流与Exchange管理

| 工具 | 用途 | | ---------------------------- | ----------- | | searchFlow | 搜索流 | | searchElementaryFlowResult | 分页搜索流 | | getFlowDetail | 流详情 | | getFlowReferenceDtoById | 流的基准属性和单位 | | getUnitListByFlow | 流的可用单位列表 | | saveFlow | 新增自定义流 | | update | 修改自定义流 | | deleteFlow | 删除自定义流 | | batchSaveFlow | 批量新增流 | | createExchange | 创建输入输出流 | | updateExchange | 修改输入输出流 | | deleteExchange | 删除输入输出流 | | searchFlowDetailByProcess | 过程的输入输出流详情 | | getIntermediateFlows | 过程的中间流 | | getFunctionalFlows | 过程的功能流 | | getBalanceInfo | 物质能量平衡信息 | | getExchangeByFlow | 按流查Exchange | | clearProcessExchanges | 清空过程流 |

连接管理

| 工具 | 用途 | | ------------------- | ------- | | createProcessLink | 创建连接 | | updateLink | 修改连接 | | deleteLink | 删除连接 | | updateLinkEdge | 修改连接边信息 | | autoLink | 自动连接 | | getLinksOfProcess | 获取过程连接 | | getLinkDetail | 连接详情 |

计算与分析

| 工具 | 用途 | | ------------------------------ | ----------- | | createCalculationTask | 创建计算任务 | | calculateProcess | 单过程快速计算 | | getTaskStatus | 查询任务状态 | | getCalculationTaskDetail | 任务详情 | | getCalculationTaskHistory | 计算历史 | | deleteCalculationTask | 删除任务 | | getLci | 清单分析结果 | | getLciSubList | 清单子列表 | | getEnvFlowList | 环境流列表 | | getLcia | 影响评估总览 | | getLciaSubList | LCIA详细子列表 | | getLciaGroupResult | 分组LCIA结果 | | getImpactCategory | 影响类型列表 | | normalizeAndWeight | 标准化加权 | | getLciaContributionByProcess | 过程贡献率 | | getLciaContributionByFlow | 流贡献率 | | getImpactContributionTree | 贡献树 | | getSensitivity | 敏感性分析(基础流) | | getSensitivityOfLcia | 敏感性分析(LCIA) | | getUncertainty | 不确定性分析(流) | | getUncertaintyOfImpact | 不确定性分析(影响) | | getImpactSankey | 环境影响桑基图 | | getInventorySankey | 清单桑基图 | | compareProcess | 过程对比 | | compareProject | 项目对比 |

评价方法

| 工具 | 用途 | | ---------------------------- | ------- | | searchImpactMethod | 搜索评价方法 | | getImpactCategories | 方法的影响类型 | | getCharacterizationFactors | 特征化因子 |

辅助工具

| 工具 | 用途 | | ------------------------ | -------- | | searchParameter | 查询参数 | | createParameter | 新建参数 | | updateParameter | 更新参数 | | deleteParameter | 删除参数 | | getAllocationFactors | 查询分配因子 | | calculateAllocation | 计算默认分配因子 | | getCategoryTree | 查询类别树 | | getAllFlowPropertyList | 流属性列表 | | getDqSystemList | 数据质量系统列表 | | getDqSystemDetail | 数据质量详情 |


九、计算原理说明

9.1 矩阵计算框架

LCA计算基于以下矩阵方程:

  • 技术矩阵:A · s = f
  • 环境矩阵:B · s = g

其中:

  • A = 技术矩阵(过程×产品)
  • B = 环境矩阵(环境流×产品)
  • s = 缩放因子向量
  • f = 需求向量(功能单位)
  • g = 清单结果向量

解得:

  • s = A⁻¹ · f
  • g = B · A⁻¹ · f
  • M = B · A⁻¹(强度矩阵)

9.2 LCIA计算

环境影响 = Q · g = Q · M · f

其中 Q 为特征化因子矩阵。

9.3 分配方法

多功能过程的输入输出流需进行分配:

  • 物理分配(PHYSICAL):按产品质量比
  • 经济分配(ECONOMIC):按产品经济价值比
  • 因果分配(CAUSAL):按物理因果关系

十、注意事项

  1. token必传:所有需要身份验证的工具都必须传入token参数
  2. 项目上下文:很多操作依赖session中的currentProjectId,需先打开项目
  3. 流属性匹配:创建Exchange时flowPropertyFactorId和unitId必须与流的属性匹配
  4. 自动连接:建议创建Exchange时设置autoLink=1,系统会自动匹配并创建连接,但是并不一定是你所需要的连接
  5. 计算类型:不确定性分析需在计算任务中包含UNCERTAINTY类型,并设置蒙特卡洛次数;但是耗费资源多时间长,非必须不用
  6. 评价方法选择:碳足迹评价通常使用IPCC 2021 GWP 100a;综合评价可使用ReCiPe
  7. 过程引用:引用背景过程时,背景过程的输入输出流会自动带入当前过程
  8. 位置信息:过程的位置会参与GIS分析和本地化率计算,建议填写准确位置