owned this note
owned this note
Published
Linked with GitHub
# TClab數據處理
###### tags: `使用說明`, `數據處理`
[TOC]
## [數據處理說明](https://alex870521.github.io/AeroViz/)
### [AE33](https://alex870521.github.io/AeroViz/guide/instruments/AE33/)
### [BC1054](https://alex870521.github.io/AeroViz/guide/instruments/BC1054/)
### [NEPH](https://alex870521.github.io/AeroViz/guide/instruments/NEPH/)
### [Aurora](https://alex870521.github.io/AeroViz/guide/instruments/Aurora/)
## **TEOM**
### raw data
1. raw data (.csv) 選取欄位 以及 更改之欄位名稱 :
* **Time Stamp**
* **System status**
* **PM-2.5 base MC** -> **PM1.0_NV**
* **PM-2.5 MC** -> **PM1.0_Total**
* **PM-2.5 TEOM noise** -> **noise**
2. QC
* **System status** < $10^{-7}$
* **PM1.0_NV** and **PM1.0_Total** > 0
* **noise** <0.01
* **每小時資料比數** > 8
3. 輸出時間 : 6 分鐘平均
### data process
* Volatile fraction
* **Volatile fraction** = (**PM1.0_Total**-**PM1.0_NV**)/**PM1.0_Total**
* **Volatile fraction** > 0
* PM1.0/PM2.5
* **PM1.0_NV**/**PM2.5(外部資料)**
* 1 > **PM1.0/PM2.5** > 0
* 加上 **PM2.5 status** 欄位
* **PM1.0/PM2.5** > 1
## **OCEC**
### raw data (兩個讀檔程式)
1. LCRES (.csv) 欄位
* **Thermal/Optical OC (ugC/LCm^3)** -> **Thermal_OC**
* **Thermal/Optical EC (ugC/LCm^3)** -> **Thermal_EC**
* **OC=TC-BC (ugC/LCm^3)** -> **Optical_OC**
* **BC (ugC/LCm^3)** -> **Optical_EC**
* **Start Date/Time** -> **time**
* **Sample Volume Local Condition Actual m^3** -> **Sample Volume**
2. QC
* **Thermal_OC**, **Optical_OC** > 0.3
* **Thermal_EC**, **Optical_EC** > 0.015
3. 輸出時間 : 1 小時平均
----
1. RES (.csv)
* **OCPk1-ug C** -> **OC1**
* **OCPk2-ug C** -> **OC2**
* **OCPk3-ug C** -> **OC3**
* **OCPk4-ug C** -> **OC4**
* **Pyrolized C ug** -> **PC**
2. QC
* 全部 > 0
3. 輸出時間 : 1 小時平均
### data process
* OC1, OC2, OC3, OC4, PC
* **OC1** = **OCPk1-ug C(RES)**/**Sample Volume(LCRES)**
* **OC2** = **OCPk2-ug C(RES)**/**Sample Volume(LCRES)**
* ... 五項數據皆做相同處理
* SOC, POC, OC/EC
* 最小平方法 (相關係數最小處)
* 一個月為單位進行計算
* $SOC=ThermalOC-(OC/EC) \times Thermal EC$
* OC/EC 比例為假設
* 範圍 0.1 ~ 2.5 間隔 0.1 (皆為預設值 可更改)
* SOC 跟 Thermal_EC 最小R2之 OC/EC 即為答案
* **POC** = **Thermal_OC**-**SOC**
* 輸出 SOC, POC, OC/EC
* other ratio (PM2.5 為外部資料)
* **Thermal_OC/PM2.5**
* **Thermal_EC/PM2.5**
* **OC1-4/Thermal_OC**
* **PC/Thermal_OC**
* **OC1-4/PM2.5**
* **PC/PM2.5**
* **SOC/Thermal_OC**
* **POC/Thermal_OC**
* **SOC/PM2.5**
* **POC/PM2.5**
## **SMPS**
1. 拿到資料後留下粒徑分布、mode、total concentration的資料
2. 將數據平均成一小時,一小時內沒有超過7筆(包含7筆)數據,那個小時就當成缺值
3. 平均完後,400nm以上粒徑的bin,dN/dlogdp大於4000(#/cm3),全部刪掉
4. 留下來的數據再算成dN、dS/dlogdp、dS、dV/dlogdp、dV,包含dN/dlogdp,總共有6種資料
5. 輸出最小單位時間資料
7. 移除 total concentration<2000
8. 後處理
* ,使用先前算出來的時平均數據額外算GMD
* 將GMD、mode、total concentration放成一個表格,之後會放上大表數據中
* GMD > 350 刪掉
## **APS**
1. 拿到資料後留下粒徑分布、mode、total concentration的資料,小於523nm的那行資料也不要
2. 將數據平均成一小時,一小時內沒有超過21筆(包含21筆)數據,那個小時就當成缺值
3. 平均完後,全部刪掉;每小時總濃度超過700顆的資料也刪掉
4. 留下來的數據再算成dN、dS/dlogdp、dS、dV/dlogdp、dV,包含dN/dlogdp,總共有6種資料
5. 將先前的mode、total concentration這兩種數據也平均成一小時(21筆以上再留下來)
6. ,使用先前算出來的時平均數據額外算GMD
7. 將GMD、mode、total concentration放成一個表格,之後會放上大表數據中
## **ALWC**
NH3(ppb)換算至NH3(mol/m3)過程需使用理想氣體方程式,以下為推導

## **NOR、SOR and NHR**
### **Parameter**
* umol 轉換公式
* np( particle ) = particle(ug/m3) / molecular weight (ug/umol)
* particle (ug/m3)
* NO3- : 62.00
* SO42- : 96.06
* NH4+ : 18.04
* Cl- : 35.45
* ng( gas ) = (pressure * gas) / [ (AT + 273.15) * 0.082 ]
* AT (degree C)
* gas (ppb)
* NO2
* HNO3
* SO2
* NH3
* HCl
* pressure (atm)
* default = 1
### **Calculation**
1. NOR = [ np(NO3-) ] / [ np(NO3-) + ng(NO2) ]
3. NOR_diff = [ np(NO3-) + ng(HNO3) ] / [ np(NO3-) + ng(NO2) + ng(HNO3) ]
4. SOR = np(SO42-) / [ np(SO42-) + ng(SO2) ]
5. NTR = [ np(NH4+) ] / [ np(NH4+) + ng(NH3) ]
6. Measured ε(NO3-) = np(NO3-) / [ np(NO3-) + ng(HNO3) ]
7. Measured ε(NH4+) = np(NH4+) / [ np(NH4+) + ng(NH3) ]
8. Measured ε(SO42-) = np(SO42-) / [ np(SO42-) + ng(SO2) ]
9. Measured ε(Cl-) = np(Cl-) / [ np(Cl-) + ng(HCl) ]
## **PM~2.5~ 重建**
Reconstructed PM2.5 (Rec-PM2.5) =
[Inorganic ions] + [OM] + [EC] +[Soil] + [Sea Salt] + [Trace elements] + [Others]
* [Inorganic ions]= = 1.375[SO42-] + 1.29[NO3-]
* [OM] = 1.8[OC] =1.8 ( [OC1] + [OC2] + [OC3] + [OC4] + [PC])
* [EC] = [EC1] + [EC2] + [EC3] – [PC]
* [Soil] = 23.57 [Fe]
* [Sea Salt] = 1.8[Na+]
* [Trace elements] = 忽略不計
## **ISORROPIA**
### **Formula**
* umol 轉換公式
* np( particle ) = particle / molecular weight
* particle (ug/m3)
* Na+ : 22.99
* SO42- : 96.06
* NH4+ : 18.04
* NO3- : 62.00
* Cl- : 35.45
* Ca2+ : 40.078
* K+ : 39.098
* Mg2+ : 24.305
* ng( gas ) = (pressure * gas) / [ (AT + 273.15) * 0.082 ]
* AT (degree C)
* gas (ppb)
* NH3
* HNO3
* HCl
* pressure (atm)
* default = 1
### **Input data**
* **化學物種**
* **Na (µmol)**
* np(Na+)
* **SO4 (µmol)**
* np(SO42-)
* **NH3 (µmol)**
* ng(NH3) + np(NH4+)
* 只有 NH3 : ng(NH3)
* 只有 NH4+ : nan
* **NO3 (µmol)**
* ng(HNO3) + np(NO3-)
* 只有 HNO3 : nan
* 只有 NO3- : np(NO3-)
* **Cl (µmol)**
* ng(HCl) + np(Cl-)
* 只有 HCl : nan
* 只有 Cl- : np(Cl-)
* **Ca (µmol)**
* np(Ca+)
* **K (µmol)**
* np(K+)
* **Mg (µmol)**
* np(Mg2+)
* **others**
* **RH (ratio)**
* RH / 100
* Ratio range : 0-1
* **TEMP (K)**
* AT + 273
---
#### DataFrame
* 副檔名 (.txt 或 .csv 等等)
* 以 tab 分隔
```
Input units (0=umol/m3, 1=ug/m3)
0
Problem type (0=forward, 1=reverse); Phase state (0=solid+liquid, 1=metastable)
0, 1
Na SO4 NH3 NO3 Cl Ca K Mg RH TEMP
- 0.379 0.758 - 0 0.01 0.01 0.0 0.90 298.0
```
* 以 , 分隔
```
Input units (0=umol/m3, 1=ug/m3)
0
Problem type (0=forward, 1=reverse); Phase state (0=solid+liquid, 1=metastable)
0, 1
Na,SO4,NH3,NO3,Cl,Ca,K,Mg,RH,TEMP
-,0.027,0.616,0.002,0.019,0.003,0.001,-,0.79,302.6
```
### **output data**
* output file
* 單位
* ug/m3
* Name
* HLIQ
* WATER
* GNH3
* GHNO3
* GHCL
* NH4AER
* CLAER
* NO3AER
#### parameter
* H(mol/L)
* HLIQ (ug/m3) / [WATER / 1000]
* pH
* -Log10 (H(mol/L))
* 保留 SO42- 、 NH4+ 、 NO3- 同時存在之資料
* 保留 RH 20% ~ 95% 之資料
* ALWC
* WATER
* 與 pH 適用相同保留條件
* Predicted (or Simulation)
* Gas
* NH3 : GNH3
* HNO3 : GHNO3
* HCl : GHCL
* Particle
* NH4+ : NH4AER
* NO3- : NO3AER
* Cl- : CLAER
* Partition Ratio
* ε(NO3-) : NO3- / [ NO3- + HNO3 ]
* ε(NH4+) : NH4+ / [ NH4+ + NH3 ]
* ε(Cl-) : Cl- / [ Cl- + HCl ]