hypergas.ime_csf module
IME/CSF method of calculating gas emission rates
- class hypergas.ime_csf.IME_CSF(sensor, longitude_source, latitude_source, plume_nc_filename, plume_name, ipcc_sector, gas='ch4', wind_source='ERA5', wspd_manual=None, sp_manual=None, land_only=True, land_mask_source='OSM')[source]
Bases:
objectInitialize IME_CSF.
- Parameters:
sensor (str) – satellite sensor name.
longitude_source (float) – longitude of plume source.
latitude_source (float) – latitude of plume source.
plume_nc_filename (str) – plume NetCDF file generated by
hypergas.emiss.Emiss.export_plume_nc().plume_name (str) – the plume name (e.g., “plume0”).
ipcc_sector (str) – The IPCC sector name: “Electricity Generation (1A1)”, “Coal Mining (1B1a)”, “Oil & Gas (1B2)”, “Livestock (4B)”, “Solid Waste (6A)”, “Other”.
gas (str) – the trace gas name.
wind_source (str) – wind source name (“ERA5” or “GEOS-FP”).
wspd_manual (float) – Default:
None(using the wspd from wind_source data), units: m/s.sp_manual (float) – Default:
None(using the surface pressure from wind_source data), units: Pa.land_only (bool) – whether only considering land pixels.
land_mask_source (str) – the data source of land mask (“OSM”, “GSHHS” or “Natural Earth”), Default: “OSM”.
- calc_emiss()[source]
Calculate emission rate (kg/h) using all available methods:
ime(),ime_fetch(),ime_cm(), andcsf(),
- csf(npixel_interval=2.5)[source]
Calculate the emission rate (kg/h) using the Cross-Sectional Flux (CSF) method.
- Parameters:
npixel_interval (float) – interval of CSF lines (unit: n*pixel_res).
- Returns:
ds_csf (
Dataset) – The xarray dataset saves the CSF line coords and emission rates for each line.n_csf (int) – The number of CSF lines.
l_csf (float) – The length (unit: meter) of the curved CSF line.
u_eff (float) – The effective wind speed (m/s).
Q (float) – The emission rate (kg/h).
Q_err (float) – The total estimate error (kg/h).
err_random (float) – The uncertainty (kg/h) caused by the retrieval random error.
err_wind (float) – The uncertainty (kg/h) caused by the wind speed error.
err_calib (float) – The uncertainty (kg/h) caused by the wind calibration error.
- ime()[source]
Calculate the emission rate (kg/h) using the integrated mass enhancement (IME) method.
- Returns:
sp (float) – The mean surface pressure (Pa) in the plume mask.
wspd (float) – The mean wind speed (m/s) in the plume mask.
wdir (float) – The mean wind direction (deg) in the plume mask.
wspd_all (list) – The list of available wind speed (m/s) data.
wdir_all (list) – The list of available wind direction (deg) data.
l_ime (float) – The geometric plume length (m).
l_eff (float) – The effctive plume length (m).
u_eff (float) – The effective wind speed (m/s).
IME (float) – The total gas mass enhancement (kg).
Q (float) – The emission rate (kg/h).
Q_err (float) – The total estimate error (kg/h).
err_random (float) – The uncertainty (kg/h) caused by the retrieval random error.
err_wind (float) – The uncertainty (kg/h) caused by the wind speed error.
err_calib (float) – The uncertainty (kg/h) caused by the wind calibration error.
- ime_cm()[source]
Calculate the emission rate (kg/h) using Carbon Mapper’s method.
- Returns:
IME (float) – The total gas mass enhancement (kg).
L (float) – The length (m) of plume hull.
Q (float) – The emission rate (kg/h).
- ime_fetch()[source]
Calculate the emission rate (kg/h) using the IME-fetch method.
- Returns:
Q (float) – The emission rate (kg/h).
Q_err (float) – The total estimate error (kg/h).
err_ime (float) – The uncertainty (kg/h) caused by the IME error.
err_wind (float) – The uncertainty (kg/h) caused by the wind speed error.