渦度相關(guān)通量介紹與數(shù)據(jù)處理方法
1 什么是渦度相關(guān)通量(Eddy Covariance Flux)?
能量流動(dòng)與物質(zhì)循環(huán)是地圈、生物圈與大氣圈相互作用的重要紐帶,也是生態(tài)系統(tǒng)生態(tài)學(xué)研究的核心內(nèi)容之一。渦度相關(guān)通量技術(shù)(Eddy Covariance, EC)是一種基于微氣象原理的觀測(cè)方法,通過(guò)測(cè)量垂直風(fēng)速與氣體濃度的瞬時(shí)變化,估算陸氣界面物質(zhì)(如CO?、水汽)與能量的交換通量。該方法通過(guò)計(jì)算垂直風(fēng)速與氣體或能量脈動(dòng)的協(xié)方差,能夠直接獲取植被冠層與大氣之間的能量和物質(zhì)交換,是目前國(guó)際上廣泛采用的標(biāo)準(zhǔn)通量觀測(cè)方法。相較于傳統(tǒng)的通量估算方法,渦度相關(guān)技術(shù)具有以下顯著優(yōu)勢(shì):
整合性強(qiáng):所測(cè)得的通量反映了整個(gè)生態(tài)系統(tǒng)與大氣之間的凈交換總量。例如,對(duì)CO?的觀測(cè)結(jié)果即為光合作用吸收與呼吸釋放的合成值,即凈生態(tài)系統(tǒng)交換量(NEE)。
時(shí)間連續(xù)性好:可實(shí)現(xiàn)全天候、全年無(wú)間斷的自動(dòng)化監(jiān)測(cè),提供從分鐘、小時(shí)到日、月、年及年際等多時(shí)間尺度上的連續(xù)觀測(cè)數(shù)據(jù)。
空間代表性強(qiáng):通量塔的“感應(yīng)面積”可覆蓋數(shù)百平方米至數(shù)平方千米,遠(yuǎn)超傳統(tǒng)的小尺度測(cè)量方式。
隨著該技術(shù)在全球碳水循環(huán)研究中的廣泛應(yīng)用,長(zhǎng)期、連續(xù)的渦度通量觀測(cè)正為以下研究提供關(guān)鍵數(shù)據(jù)支持與機(jī)理理解:生態(tài)系統(tǒng)碳匯能力評(píng)估、水分與能量平衡分析、生態(tài)系統(tǒng)對(duì)氣候變化的響應(yīng)反饋、區(qū)域與全球尺度模型的優(yōu)化與驗(yàn)證、以及極端氣候事件對(duì)生態(tài)系統(tǒng)結(jié)構(gòu)與功能的影響。通過(guò)單點(diǎn)長(zhǎng)期觀測(cè),可明確不同氣候區(qū)與植被類(lèi)型下的碳水通量強(qiáng)度基線(xiàn)及其季節(jié)性與年際變異特征;而多站點(diǎn)的聯(lián)網(wǎng)觀測(cè),則有助于揭示生態(tài)系統(tǒng)碳通量在區(qū)域與全球尺度的空間變異規(guī)律,進(jìn)一步探討溫度和降水等氣候因子在區(qū)域尺度上對(duì)碳通量格局的生物地理控制機(jī)制。渦度相關(guān)技術(shù)的原理與應(yīng)用可參考以下文章:
圖1 渦度相關(guān)技術(shù)通量觀測(cè)示意圖(以CO2通量觀測(cè)為例)(來(lái)源:陳世蘋(píng)等,2020)
2 渦度相關(guān)通量數(shù)據(jù)處理方法
通量數(shù)據(jù)處理一般遵循以下步驟:
1) 原始數(shù)據(jù)質(zhì)量控制(如去除異常值、儀器錯(cuò)誤)。
2) 通量計(jì)算與坐標(biāo)旋轉(zhuǎn)。
3) 通量修正
WPL 修正:考慮密度波動(dòng)引起的誤差
頻率響應(yīng)修正:補(bǔ)償儀器對(duì)高頻/低頻信號(hào)的衰減
u* 過(guò)濾:去除低湍流條件下的數(shù)據(jù)
4) 數(shù)據(jù)插補(bǔ)與間隙填補(bǔ)
5) 年尺度的GPP、Re、NEE推算。主要包括基于夜間NEE與溫度回歸,或者晝夜分割方法等。
2.1 使用REddyProc在線(xiàn)工具估算GPP
2.1.1 輸入數(shù)據(jù)準(zhǔn)備
REddyProc在線(xiàn)工具對(duì)于輸入數(shù)據(jù)格式要求較為嚴(yán)格,例如時(shí)間格式、時(shí)間戳(半小時(shí)或小時(shí))、變量命名、處理選項(xiàng)等方面。而REddyProc軟件包則在這方面供了更多靈活性。詳細(xì)數(shù)據(jù)輸入要求可參考:https://www.bgc-jena.mpg.de/5624918/Input-Format
REddyProc在線(xiàn)工具提供的示例輸入數(shù)據(jù)如下所示:
圖2 REddyProc在線(xiàn)工具的示例輸入數(shù)據(jù)格式
圖3 通量原始觀測(cè)數(shù)據(jù)(*_EP-Summary.txt)示例。
首先我們需要從通量原始觀測(cè)數(shù)據(jù)(*_EP-Summary.txt)中提取這些變量并按半小時(shí)時(shí)間序列排列。下面提供Python代碼可以將文件夾中所有*.txt文件中提取REddyProc在線(xiàn)工具輸入數(shù)據(jù)變量并保存輸出為*.txt格式。
import os
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
datapath = r'/Users/Documents/Projects'
savepath = r'/Users/Documents/Projects'
txtfiles = os.listdir(datapath)
DF = pd.DataFrame()
for i, txtfile in enumerate(txtfiles):
# 讀取 .txt 文件(請(qǐng)?zhí)鎿Q成你實(shí)際的路徑)
df = pd.read_csv(datapath + '/' + txtfile, sep='\t', comment='#', na_values=['NA', 'NaN'])
# 創(chuàng)建 datetime 字段
df['datetime'] = pd.to_datetime(df['date'] + ' ' + df['time'], errors='coerce')
# 添加 Year, DoY, Hour 列
df['Year'] = df['datetime'].dt.year
df['DoY'] = df['datetime'].dt.dayofyear
df['Hour'] = df['datetime'].dt.hour + df['datetime'].dt.minute / 60
# 重命名列名為 REddyProc 標(biāo)準(zhǔn)
df = df.rename(columns={
'co2_flux': 'NEE',
'LE': 'LE',
'H': 'H',
'SWIN_1_1_1': 'Rg', # 短波輻射
'TA_1_1_1': 'Tair',
'TS_1_1_1': 'Tsoil',
'RH': 'rH',
'VPD': 'VPD',
'u*': 'Ustar'
})
# 選擇需要的列
df_rproc = df[['Year', 'DoY', 'Hour', 'NEE', 'LE', 'H', 'Rg', 'Tair', 'Tsoil', 'rH', 'VPD', 'Ustar']]
DF = pd.concat([DF, df_rproc], ignore_index=True)
# 按時(shí)間排序
DF = DF.sort_values(by=['Year', 'DoY', 'Hour'])
# 判斷Year值為空的行
idx = DF['Year'].isna()
DF = DF[~idx]
# 確保 Year 和 DoY 為整數(shù)
DF['Year'] = DF['Year'].astype(int)
DF['DoY'] = DF['DoY'].astype(int)
# 保存為 CSV 文件供 R 使用
DF.to_csv(savepath + "/for_REddyProc.txt", sep='\t',index=False)
下面是輸出的for_REddyProc.txt數(shù)據(jù)
圖4 代碼輸出的結(jié)果示例
2.1.2 使用在線(xiàn)工具估算GPP
然后將上述輸出數(shù)據(jù)導(dǎo)入在線(xiàn)工具中,設(shè)置相關(guān)參數(shù)即可得到GPP估算結(jié)果:
圖5 REddyProc在線(xiàn)工具參數(shù)設(shè)置示例
2.2 使用夜間回歸法估算GPP
有時(shí)候通量觀測(cè)數(shù)據(jù)可能并不完整,例如在植被生長(zhǎng)季中存在部分?jǐn)?shù)據(jù)缺失情況。雖然大部分情況可以由REddyProc針對(duì)數(shù)據(jù)缺失提供的數(shù)據(jù)插補(bǔ)方法解決,然后當(dāng)數(shù)據(jù)缺失較多或者只有幾天不連續(xù)的數(shù)據(jù)時(shí),想要估算GPP則需要采用夜間回歸法。
夜間回歸法主要是假設(shè)夜間NEE等于夜間呼吸Reco,利用夜間NEE和溫度進(jìn)行擬合,然后將該模型外推到白天溫度,估算白天Reco。最后將Reco與NEE相加得到估算GPP。
2.2.1 選取夜間數(shù)據(jù)(例如輻射Rg<10 W/m2)
2.2.2 擬合夜間NEE和溫度(通常用指數(shù)函數(shù))

2.2.3 模型外推至白天溫度,估算白天Reco
2.2.4 估算GPP

下面是代碼實(shí)現(xiàn):
# %% GPP calculation
df = pd.read_csv(savepath + "/for_REddyProc.txt", sep='\t', comment='#', na_values=['NA', 'NaN'])
df.loc[(df['NEE']<-40)>10)] = np.nan # Remove outliers
df = df.fillna(0) # Fill missing values with -9999
df['Tair'] = df['Tair'] - 273.15 # Convert Kelvin to Celsius
# Filter nighttime data (PAR ~ 0)
night = df[df['Rg'] < 10] # Adjust threshold if needed
# Fit exponential respiration model: NEE = Reco = R0 * exp(E0 * T)
def resp_model(x, a, b):
return a * np.exp(b * x)
params, _ = curve_fit(resp_model, night['Tair'], night['NEE'])
# Estimate Reco for all time
df['Reco'] = resp_model(df['Tair'], *params)
df.loc[df['Reco']<0.2,'Reco'] = np.nan
# Estimate GPP
df['GPP'] = df['Reco'] - df['NEE']
# save df
df.to_csv(savepath + "/GPP_estimated.csv", index=False)
# Plot GPP
df['GPP'].plot(title='Estimated GPP (Nighttime Regression Method)', ylabel='GPP (μmol m?2 s?1)', figsize=(10, 5))
plt.grid()
plt.show()
來(lái)源:本文轉(zhuǎn)載微信公眾號(hào)生態(tài)學(xué)筆記,由Rhine(筆名)整理。轉(zhuǎn)在的目的在于傳遞更多的知識(shí),如有侵權(quán)行為,請(qǐng)聯(lián)系我們,我們會(huì)立即刪除。