@idm-plugin/ghg
Version:
idm plugin for greenhouse gas
129 lines (128 loc) • 4.22 kB
TypeScript
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;
};
}>;
}