Skip to content

Chemistry 模組

化學成分數據處理模組。

結構

Chemistry/
├── __init__.py       # Chemistry (Writer 入口)
├── _mass_volume.py   # 質量重建、體積計算、折射率
├── _calculate.py     # 衍生參數、氣粒分配比
├── _ocec.py          # OC/EC 比值計算
└── _isoropia.py      # ISORROPIA 熱力學模型

快速開始

from pathlib import Path
from AeroViz.dataProcess import DataProcess

dp = DataProcess('Chemistry', Path('./output'))
result = dp.reconstruction_basic(df_chem)

方法列表

方法 說明 相關理論
reconstruction_basic(df) 基本質量重建 質量重建
reconstruction_full(df) 完整質量重建 (含 ite) 質量重建
volume_RI(df) 體積分率與折射率 Mie 理論
kappa(df, df_RH) κ 吸濕參數 κ-Köhler
derived(df) 衍生化學參數 -
partition_ratios(df) 氣粒分配比 (SOR, NOR) -
ocec_ratio(df) OC/EC 比值分析 -
ISORROPIA(df) 熱力學平衡計算 -

輸出說明

reconstruction_basic

輸出 欄位
mass AS, AN, OM, EC, Soil, SS, PM25_rc
NH4_status Excess / Balance / Deficiency

volume_RI

輸出 欄位
volume {species}_volume
RI n, k

kappa

輸出 說明
kappa κ 值
gRH 成長因子

partition_ratios

輸出 公式
SOR SO₄²⁻/(SO₄²⁻+SO₂)
NOR NO₃⁻/(NO₃⁻+NO₂)
NTR NO₃⁻/(NO₃⁻+HNO₃)
epsilon_ite NO₃⁻/(NO₃⁻+Cl⁻)
epsilon_ss Cl⁻/(NO₃⁻+Cl⁻)

輸入格式

基本化學成分

required_columns = [
    'SO42-', 'NO3-', 'Cl-', 'Na+', 'NH4+', 'K+', 'Mg2+', 'Ca2+',
    'OC', 'EC', 'Al', 'Fe', 'Ti', 'PM25'
]

氣體成分(氣粒分配用)

gas_columns = ['SO2', 'NO2', 'HNO3', 'NH3']  # ppb 或 μg/m³

相關資源


API 參考

AeroViz.dataProcess.Chemistry.Chemistry

Chemistry(path_out=None, excel=True, csv=False)

Bases: Writer

Functions

ReConstrc_basic

ReConstrc_basic(*df_chem, df_ref=None, df_water=None, df_density=None, nam_lst=None)

Partition

Partition(df_data)

Calculate gas-particle partitioning ratios (SOR, NOR, NTR, epsilon).

Parameters:

Name Type Description Default
df_data DataFrame

Data containing particle and gas concentrations (μg/m³). Required: 'temp' column (temperature in Celsius) Optional species (at least one pair needed): - SO42-, SO2 : for SOR - NO3-, NO2 : for NOR - NH4+, NH3 : for NTR - Cl-, HCl : for chloride partitioning

required

Returns:

Type Description
DataFrame

Partitioning ratios: SOR, NOR, NOR_2, NTR, epls_* columns.

Notes
  • SOR > 0.1 indicates secondary sulfate formation
  • Values near 1.0: particle phase dominant
  • Values near 0.0: gas phase dominant

ISOROPIA

ISOROPIA(*df_chem, nam_lst=None)

OCEC_basic

OCEC_basic(df_lcres, df_mass=None, ocec_ratio=None, ocec_ratio_month=1, hr_lim=200, least_square_range=(0.1, 2.5, 0.1), WISOC_OC_range=(0.2, 0.7, 0.01))

volume_average_mixing

volume_average_mixing(df_volume, df_alwc=None)

Calculate volume-average refractive index and growth factor.

Parameters:

Name Type Description Default
df_volume DataFrame

Volume data with AS_volume, AN_volume, etc. and total_dry columns.

required
df_alwc DataFrame

Aerosol liquid water content data.

None

Returns:

Type Description
DataFrame

RI data with n_dry, k_dry, n_amb, k_amb, gRH columns.

kappa

kappa(df_data, diameter=0.5)

Calculate hygroscopicity parameter kappa.

Parameters:

Name Type Description Default
df_data DataFrame

Data containing gRH, AT (temperature in C), and RH (%).

required
diameter float

Particle dry diameter in micrometers.

0.5

Returns:

Type Description
DataFrame

Kappa values.

gRH

gRH(df_volume, df_alwc)

Calculate hygroscopic growth factor.

Parameters:

Name Type Description Default
df_volume DataFrame

Volume data with 'total_dry' column.

required
df_alwc DataFrame

Aerosol liquid water content with 'ALWC' column.

required

Returns:

Type Description
DataFrame

Growth factor data.