@idm-plugin/ghg
Version:
idm plugin for greenhouse gas
200 lines (199 loc) • 5.31 kB
TypeScript
export interface EmissionFactor {
co2: number;
ch4?: number;
n2o?: number;
cj?: number;
lcv?: number;
wtt?: number;
E?: number;
}
export interface Fuel {
type: FuelType | string;
cons: number;
areaRate: number;
customFactor?: EmissionFactor;
}
/**
* ETS配额缴纳比例
*/
export declare const YearRadio: {
[key: number]: number;
};
/**
* FuelEU风帆奖励系数:
*
* 使用风力辅助推进系统 (WAPS) 的船舶在其最终计算的温室气体强度上获得直接降低。
* 奖励因子 (f 风力) 的范围从 0.01(降低 1%)到最大
* 0.05(降低 5%),具体取决于风力提供的推进功率的计算份额。
* 如果风力贡献占总推进功率的 15% 或更多,则适用最大 5% 的降低。
*/
export declare enum WindRewardFactor {
PROP5 = 0.99,
PROP10 = 0.97,
PROP15 = 0.95
}
/**
* 各种燃料的排放因子
* 参考官方文件: https://eur-lex.europa.eu/legal-content/EN/TXT/PDF/?uri=CELEX:02015R0757-20240101
* https://eur-lex.europa.eu/legal-content/EN/TXT/PDF/?uri=CELEX:32023R1805
*/
export declare const GHGEmissionFactor: {
[key: string]: EmissionFactor;
};
/**
* Global warming potential
*/
export declare const GWP_AR5: {
[key: string]: number;
};
export declare const GWP_AR4: {
[key: string]: number;
};
export declare enum FuelType {
HFO = "HFO",
LFO = "LFO",
LSFO = "LSFO",
DGO = "DGO",
MGO = "MGO",
MDO = "MDO",
LNG_OTTO_MEDIUM_SPD = "LNG_OTTO_MEDIUM_SPD",
LNG_OTTO_SLOW_SPD = "LNG_OTTO_SLOW_SPD",
LNG_DIESEL_SLOW_SPD = "LNG_DIESEL_SLOW_SPD",
LNG_LBSI = "LNG_LBSI",
LPG = "LPG",
LNG = "LNG",
METHANOL = "METHANOL",
BIODIESEL = "BIODIESEL"
}
export declare enum EUMRVLegCategory {
EU_MRV_Non_EU = "Non EU",
EU_MRV_Arrived_EU = "Arrived EU",
EU_MRV_Departed_EU = "Departed EU",
EU_MRV_Between_EU = "Between EU"
}
export declare class EUTESHelper {
/**
* 计算MRV
* @param cons 油耗, 单位 mt
* @param fc 排放因子
* @param cj 燃料泄漏系数
* @param lcv
* @param ch4 是否是 CH4
*/
static calculateMRV(cons: number, fc: number, cj: number | undefined, lcv: number, ch4?: boolean): {
mrv: number;
ttw: number;
};
/**
*计算WtT GHG Intensity
* @param factor
*/
static calculateWtT(factor: EmissionFactor): number;
static calculateCO2MRV(cons: number, type: FuelType | string, customFactor?: EmissionFactor, options?: {
requireId?: string;
}): {
mrv: number;
ttw: number;
};
static calculateCH4MRV(cons: number, type: FuelType | string, customFactor?: EmissionFactor, options?: {
requireId?: string;
}): {
mrv: number;
ttw: number;
};
static calculateN2OMRV(cons: number, type: FuelType | string, customFactor?: EmissionFactor, options?: {
requireId?: string;
}): {
mrv: number;
ttw: number;
};
/**
* @param cons 油耗, 单位 mt
* @param type 油耗类型
* @param year 年份
* @param price 碳税价格
* @param areaRate 区域税率
* @param options
*/
static calculateGHGMRV(cons: number, type: FuelType | string, price?: number, year?: number, areaRate?: number, options?: {
requireId?: string;
factor?: EmissionFactor;
}): {
ghg: number;
ghg2: number;
euas: number;
price: number;
year: number;
radio: number;
cost: number;
energy: number;
lcv: number;
wtt: number;
ttw: number;
co2: {
mrv: number;
ttw: number;
};
ch4: {
mrv: number;
ttw: number;
};
n2o: {
mrv: number;
ttw: number;
};
};
/**
* 计算MRV及FuelEU
* @param fuels 按类型分组油耗类型及消耗
* @param year 年份
* @param price 碳税价格
* @param options
*/
static calculateGHGMRV2(fuels: Fuel[], year?: number, price?: number, options?: {
requireId?: string;
fwind?: WindRewardFactor | number;
}): {
ghg2: number;
euas: number;
cost: number;
energy: number;
wtwEmission: number;
wttGhgi: number;
ttwGhgi: number;
actualGhgi: number;
targetGhgi: number;
balance: number;
penalty: number;
fwind: any;
fuels: {
cons: number;
ghg2: number;
euas: number;
cost: number;
energy: number;
wtt: number;
ttw: any;
wtw: number;
lcv: number;
type: string;
wttEmission: number;
ttwEmission: number;
}[];
};
static calculateGHGITarget(year: number): number;
static calculateEUMRVLegCategory(departure?: {
lat: number;
lng: number;
}, destination?: {
lat: number;
lng: number;
}, fuelEU?: boolean, options?: {
requireId?: string;
}): Promise<{
category: EUMRVLegCategory;
areaRate: {
[key: string]: number;
};
}>;
}