UNPKG

@idm-plugin/ghg

Version:

idm plugin for greenhouse gas

129 lines (128 loc) 4.22 kB
import { FuelType } from '../../euets/src'; import type { EmissionFactor, Fuel } from '../../euets/src'; export type { EmissionFactor, Fuel } from '../../euets/src'; export { FuelType } from '../../euets/src'; export declare enum UKMRVLegCategory { UK_MRV_Non_UK = "Non UK", UK_MRV_Arrived_UK = "Arrived UK", UK_MRV_Departed_UK = "Departed UK", UK_MRV_Between_UK = "Between UK" } export declare class UKETSHelper { /** * 计算 UKETS Ratio * UK ETS 自2026-07-01起纳入海运(首个履约年为2026), 生效后即100%缴纳, 无EU ETS的40%/70%/100%分年比例 * @param year * @returns */ static getUKETSRatio(year: number): 0 | 1; /** * 计算单一燃料的GHG MRV (Monitoring/Reporting/Verification) * UK ETS 自生效起即覆盖 CO2, CH4, N2O 三种气体, 排放因子与GWP复用EU MRV标准 * @param cons 油耗, 单位 mt * @param type 油耗类型 * @param price 碳税价格, 单位 £/tCO2e * @param year 年份 * @param options * @return { * ghg, MRV需要报告的温室气体排放量, 包含CO2, CH4, N2O, 单位 mt * ghg2, UK ETS需要报告的温室气体排放量, 2026年生效后包含CO2, CH4, N2O, 单位 mt * ukas, 需要交纳的UKA份额, 生效后全额交纳, 单位 mt * price, 碳税价格, 单位 £/tCO2e, 常量 * year, 年份, 常量 * ratio, UKA交纳比例, 常量 * cost, UKA成本, 单位 £ * co2, CO2排放量, 单位 mt * ch4, CH4排放量, 单位 mt * n2o, N2O排放量, 单位 mt * } */ static calculateSingleGHGMRV(cons: number, type: FuelType | string, price?: number, year?: number, options?: { requestId?: string; factor?: EmissionFactor; }): { ghg: number; ghg2: number; ukas: number; price: number; year: number; ratio: number; cost: number; co2: { mrv: number; mrvGWP: number; ttw: number; ttwGWP: number; fc: number; cj: number | undefined; lcv: number | undefined; }; ch4: { mrv: number; mrvGWP: number; ttw: number; ttwGWP: number; fc: number | undefined; cj: number | undefined; lcv: number | undefined; }; n2o: { mrv: number; mrvGWP: number; ttw: number; ttwGWP: number; fc: number | undefined; cj: number | undefined; lcv: number | undefined; }; factor: EmissionFactor; }; /** * 计算多燃料的GHG MRV * @param fuels 按类型分组油耗类型及消耗 * @param year 年份 * @param price 碳税价格, 单位 £/tCO2e * @param options */ static calculateMultiGHGMRV(fuels: Fuel[], year?: number, price?: number, options?: { requestId?: string; }): { year: number; price: number; ratio: number; ghg: any; ghg2: any; ukas: any; cost: any; fuels: Record<string, any>; }; /** * 计算 UKMRV Category * UK ETS 仅覆盖英国国内航次(UK港到UK港, 含同港往返), 以及UK港口停泊/锚泊排放; * 国际航次航行段不纳入(无EU ETS的50%规则) * * areaRate.atSea 取值: * - 同区域国内航次(GB->GB 或 NI->NI): 1 (海上航行100%覆盖) * - 跨爱尔兰海航次(GB<->NI): 0.5 (海上航行按50%计算) * - 国际航次: 0 * 港口停泊/锚泊排放(departure/destination)均为1 * @param departure 出发地 * @param destination 目的地 * @param options 配置项 * @returns { category, areaRate } 是否在UK,以及对应计算比例 */ static calculateUKMRVCategory(departure?: { lat: number; lng: number; }, destination?: { lat: number; lng: number; }, options?: { requestId?: string; }): Promise<{ category: UKMRVLegCategory; areaRate: { [key: string]: number; }; }>; }