★周末写了两个晚上,主要是大段的公式排版比较费时间,昨晚写完了草稿,但第二天还要上班,没精力整理公众号格式了。今天下班这会整理一下发出来。明天出差,明晚还要去见我那可怜的读博ing的前小弟,肯定没时间整理,时间就要往后拖了。
今天开始 bigleaf 的内容。作为长期使用叶片尺度设备的我来讲,这部分内容倍感亲切,很多内容是套用的叶片尺度的模型。下面很多名词来自文献中我的翻译(当然依赖于网络),但我没认真核对,翻译未必准确,毕竟我的首要目标是学习使用这部分的数据处理,其实最主要的原因是忙??。
bigleaf 介绍bigleaf 通过从 EC, EC)通量观测和气象测量中推导气象、空气动力学和生理生态系统属性的开源工具集。它采用“大叶模型”框架,将植被视为单一均匀层,从测量的通量自上而下(即从宏观到微观、从整体到局部的分析或推导方法)推导出生态系统整体特征。该工具包的核心是计算整体表面/冠层导度()和整体空气动力学导度(),其中后者包括湍流和冠层边界层组分的公式,以及如何推导物理陆地表面特征,例如表面粗糙度参数、风廓线、空气动力学和辐射表面温度、表面水汽压亏缺(VPD)、潜在蒸散发、强制和平衡蒸散发,以及植被大气解耦系数。此外,bigleaf 还提供了计算生理生态系统属性(气孔斜率参数、气孔对VPD的敏感性、整体气孔内 浓度、冠层光合能力)、能量平衡特征(闭合度、生物化学能量)、辅助气象变量(湿度计算常数、饱和水汽压、空气密度等)、常用单位换算和数据过滤的计算程序。
上面写了一大段,实际上抄的软件包文献的摘要,下面这幅图则更清晰一些:
数字表示以下函数计算的功能:
roughness.parameters());stability.parameter())、稳定性修正(stability.correction())、风廓线(wind.profile());surface.conductance())、气孔敏感性(stomatal.sensitivity())、气孔斜率(stomatal.slope());potential.ET())、平衡施加蒸散发(equilibrium.imposed.ET())、水分利用效率指标(WUE.metrics());aerodynamic.conductance())、解耦系数(decoupling());energy.closure());surface.conditions());light.response())、光能利用效率(light.use.efficiency());intercellular.CO2())、光合能力(photosynthetic.capacity())、生物化学能量(biochemical.energy())、能量利用效率(energy.use.efficiency());radiometric.surface.temp())使用 LI-6800 做叶片尺度光合的同志们看到后应该马上就看到叶片尺度的画面,几乎一模一样。软件包提供的所有函数均基于"大叶模型"框架",其核心假设如下:
模型假设
源汇平面定位: 位于高度 处( 为零平面位移高度, 为热力粗糙度长度)的单一平面是所有物质和能量通量的唯一源汇。
风速分布: 风速在 高度( 为动量粗糙度长度)为零,并随高度呈指数增长。
模型特征
结果解释: 通过该模型推导的表面量应视为通量塔足迹范围内的平均状态(但具有代表性)。bigleaf 软件包的核心原理是采用自上而下(反演)方法,从观测数据推演生态系统表面属性。
安装按正常方式安装即可:
install.packages("bigleaf")
library(bigleaf)
数据使用示例数据:
data(DE_Tha_Jun_2014)
tha = DE_Tha_Jun_2014
仅显示前 10 列的数据:
同时为了演示完整功能还需要叶面积指数等 (一般主要用到的仪器就是 LAI-2200C, LI-3100C, LI-3000C):
LAI = 7.6
# leaf area index LAI-2200C
zh = 26.5
# average vegetation height (m)
zr =42
# sensor height (m)
Dl = 0.01
# leaf characteristic dimension (m) LI-3000 LI-3100C
# diameter
这里为方便使用,假定这些参数整个数据时间范围内无变化,使用了是固定值。如有变化,这需要的输入为与数据具有相同时间序列的数据框。
必须确保提供的变量采用 *正确单位*,因大多数情况下系统不会自动检查输入单位的合理性。所有函数采用 统一的单位体系,常量、单位转换与符号约定如下:
bigleaf.constants() 列表常量集合
通过bigleaf.constants()调用预设常量列表,所有函数自动继承这些常量值
支持显式修改特定常量
单位转换系统
latent.heat.vaporization() | ||
psychrometric.constant() | ||
Esat.slope() | ||
air.density() | ||
virtual.temp() | ||
wetbulb.temp() | 缺气压时可用 | |
dew.point() | pressure.from.elevation() |
★注:所有函数均采用教科书标准算法,详见各函数帮助文档。
bigleaf 包函数输入要求:
主要输入形式:
矩阵或(更常见的)数据框(data.frame)默认参数支持:
双模式参数输入:
字符型向量 | |
数值型向量 |
例如:
head(potential.ET(tha,Tair="Tair",pressure="pressure",Rn="Rn",VPD="VPD",
approach="Priestley-Taylor"))
head(potential.ET(tha))
head(potential.ET(tha,Tair=tha$Tair))
head(potential.ET(tha,Tair=25))
potential.ET(Tair=25,pressure=100,Rn=200)
# ------------------------------ #
Ground heat flux G is not provided and set to 0.
Energy storage fluxes S are not provided and set to 0.
ET_pot LE_pot
1 -2.596751e-05 -64.21362
2 -2.515126e-05 -62.20768
3 -2.414967e-05 -59.75787
4 -2.276982e-05 -56.36450
5 -2.304099e-05 -57.04286
6 -2.272105e-05 -56.27986
# ------------------------------ #
Ground heat flux G is not provided and set to 0.
Energy storage fluxes S are not provided and set to 0.
ET_pot LE_pot
1 -2.596751e-05 -64.21362
2 -2.515126e-05 -62.20768
3 -2.414967e-05 -59.75787
4 -2.276982e-05 -56.36450
5 -2.304099e-05 -57.04286
6 -2.272105e-05 -56.27986
# ------------------------------ #
Ground heat flux G is not provided and set to 0.
Energy storage fluxes S are not provided and set to 0.
ET_pot LE_pot
1 -2.596751e-05 -64.21362
2 -2.515126e-05 -62.20768
3 -2.414967e-05 -59.75787
4 -2.276982e-05 -56.36450
5 -2.304099e-05 -57.04286
6 -2.272105e-05 -56.27986
# ------------------------------ #
Ground heat flux G is not provided and set to 0.
Energy storage fluxes S are not provided and set to 0.
ET_pot LE_pot
1 -3.323078e-05 -81.14125
2 -3.235177e-05 -78.99494
3 -3.143512e-05 -76.75670
4 -2.993272e-05 -73.08822
5 -3.038997e-05 -74.20471
6 -3.038997e-05 -74.20471
# ------------------------------ #
Ground heat flux G is not provided and set to 0.
Energy storage fluxes S are not provided and set to 0.
ET_pot LE_pot
17.637154e-05186.4802
第一行可以看到,默认的数据文件名与参数默认的名称相同,所以输入与否与第二行结果相同。后面自定义的输入结果则不同。
这种处理方式非常灵活,在研究一些变量对环境参数敏感性上十分有帮助,例如 Priestley-Taylor 对净辐射的敏感性可以通过下面的方式进行定量:
potential.ET(Tair=25,pressure=100,Rn=200)
potential.ET(Tair=25,pressure=100,Rn=400)
Ground heat flux G is not provided and set to 0.
Energy storage fluxes S are not provided and set to 0.
ET_pot LE_pot
17.637154e-05186.4802
# ------------------------------ #
Ground heat flux G is not provided and set to 0.
Energy storage fluxes S are not provided and set to 0.
ET_pot LE_pot
10.0001527431372.9604
尽管数据的变量名并不需要与 bigleaf 参数一致,但是很明显,如果修改为一致的名称,后续处理在调用其中的函数时会比较省力,是一种一劳永逸的操作。
可用能量(Available Energy)的计算公式为:
其中:
实际应用中:
bigleaf 包提供两种缺失值处理方式:
missing.G.as.NA = TRUE | ||
missing.S.as.NA = TRUE | ||
| 未启用上述选项时 |
如果有测量 ,在参数中必须明确指出。否则将使用二者默认值 0 来计算,在 bigleaf 中仅会使结果存在较小的偏差。如果确实有 的数据,那么需要在调用函数时明确添加这两项内容。
根据 vignette 的内容,这里根据主要函数演示 bigleaf 的使用流程。
在计算生态系统属性前进行数据过滤主要基于两个原因:
数据质量控制
气象条件筛选,部分衍生属性仅在特定气象条件下具有意义,例如:
需要注意:
bigleaf 包不提供 EC 数据质量评估功能REddyProc)生成质量控制标志(QC flags)bigleaf 通过 QC flags 过滤低质量数据关于数据处理的流程,可以参考 R4DS。
基于以上内容,bigleaf 提供了 filter.data 来实现数据筛选的目的。下面的代码基于各个变量的质量控制参数(quality.control = TRUE)来进行数据的筛选:
tha_filtered1 = filter.data(tha,quality.control=TRUE,
vars.qc=c("LE","H","NEE","Tair","VPD","wind"),
quality.ext="_qc",good.quality = c(0,1),missing.qc.as.bad=TRUE)
Quality control:
LE: 0 data points (0%) set to NA
H: 2 data points (0.14%) set to NA
NEE: 7 data points (0.49%) set to NA
Tair: 0 data points (0%) set to NA
VPD: 0 data points (0%) set to NA
wind: 3 data points (0.21%) set to NA
使用的参数的基本功能如下:
vars.qc
指定需要进行质量过滤的变量列表:
character vector)c("LE", "H") 表示对潜热通量和显热通量进行质量控制过滤quality.ext
定义质量控制标识列的命名后缀:
"LE" 的质量控制列默认为 "LE_qc"good.quality
指定可接受的质量标识值:
NAgood.quality = c(0,1) 时,LE_qc > 1 的 LE 值将被过滤,这也是最常用的质量控制标识。missing.qc.as.bad
处理质量控制列缺失值的策略:
TRUE(保守处理)NA 时,自动过滤对应数据过滤的结果会在输出中显示。
因为 bigleaf 相当于冠层尺度的植物生理参数,很多结果都必须是生长季节的才有意义,在 data.filter 内实现也很方便 (filter.growseas=TRUE):
tha_filtered2 = filter.data(tha, quality.control=FALSE,
filter.growseas=TRUE, filter.vars=c("PPFD","ustar","LE","VPD"),
filter.vals.min=c(200,0.2,0,0.01), filter.vals.max=c(NA,NA,NA,NA),
NA.as.invalid = TRUE,
# arguments for growing season filter:
GPP="GPP",doy="doy",year="year",tGPP=0.4,ws=15,min.int=5)
Data filtering:
0 data points (0%) excluded by growing season filter
0 additional data points (0%) excluded by precipitation filter (0 data points =
0 % in total)
697 additional data points (48.4%) excluded by PPFD filter (697 data points =
48.4 % in total)
38 additional data points (2.64%) excluded by ustar filter (176 data points =
12.22 % in total)
75 additional data points (5.21%) excluded by LE filter (339 data points = 23.54
% in total)
0 additional data points (0%) excluded by VPD filter (0 data points = 0
% in total)
810 data points (56.25%) excluded in total
630 valid data points (43.75%) remaining.
filter.vars、filter.vals.min 以及 filter.vals.max 控制将要被删除的变量,通过最小值和最大值的方式进行,这里主要是通过光合有效辐射、摩擦风速、潜热通量和水汽压亏缺的值进行过滤,本质上讲就是粗略的划分正常光合进行的条件(生长季节)。如果有些值不需要最大值或者最小值,那就赋值 NA,这里的 NA 倒不是无需进行限制,只不过正常情况下的因子,例如 PPFD 再高也不能高超过太阳条件的限制,而且我们这个值本身很离谱的话,也可以提前过滤,例如出现不可能的光强为 9000 的值。所以我们这里为了省事,直接设置 NA 即可,其他几个参数条件类似。
如果 filter.growseas=TRUE,该函数会基于每日平滑的 GPP(总初级生产力)时间序列实现一个简单的生长季过滤器。在半小时或小时时间尺度上,需要提供 GPP、doy(一年中的第几天)和 year 这三个参数。GPP 会在函数内部被聚合成每日总和。
参数 tGPP、ws 和 min.int 决定了生长季是如何被过滤的。 决定了每日 GPP 相对于当年峰值的最低比例。在这种情况下,值为 0.4 表示平滑后的 GPP 至少要达到 95% 分位数的 40%。 控制时间序列的平滑程度(其目的是尽量减少 GPP 在天与天之间的高变异性),通常建议在 10 到 20 天之间。 是一个参数,避免数据在生长季内外频繁切换,但它也决定了生长季的最短天数。
生长季过滤器适用于所有站点,无论是一个生长季还是多个生长季,但建议根据站点的不同使用其他参数设置。
这里过滤生长季其实并没有太大意义,因为只有一个月的数据,而且这里也确定是使用的生理活跃的生长季的数据。如果 filter.growseas=TRUE,它不会过滤掉任何数据。
在函数的输出中,几乎一半的数据因为光照不足(夜间)被过滤掉了。还有 23.5% 的数据因为显示出负的潜热通量(LE)值而被过滤掉。然而,这些数据大多发生在夜间,只有 5.2% 的数据不是被辐射过滤器过滤掉的。
最后将过滤掉降水事件期间的数据。因为在降雨期间及降雨后不久的数据并不能提供太多关于植被生理活动的信息(即这些数据中包含了大量来自土壤和植物表面的蒸发量)。过滤的主要目的是尽量减少土壤和截留蒸发在总水汽通量中的比例,这里简单地排除了降水事件之后的时间段。降水事件被定义为任意一个时间步长内记录的降水量高于 (单位为 mm/时间步长)。该函数会过滤掉所有降水事件之后的时间段。被排除的时间段数量由参数 precip.hours 控制。在这里,我们排除了降水事件及其之后的 24 小时数据。records.per.hour 表示半小时内需要两次降水的观测记录。
tha_filtered3 = filter.data(tha,
quality.control = FALSE,
filter.growseas = FALSE,
filter.precip = TRUE,
precip = "precip",
tprecip = 0.02,
records.per.hour = 2,
precip.hours = 24
)
Data filtering:
0 data points (0%) excluded by growing season filter
556 additional data points (38.61%) excluded by precipitation filter (556
data points = 38.61 % in total)
556 data points (38.61%) excluded in total
884 valid data points (61.39%) remaining.
最后我们可以将上述过程整合在一起进行:
tha_filtered = filter.data(
tha,
quality.control = TRUE,
filter.growseas = TRUE,
filter.precip = TRUE,
filter.vars = c("PPFD", "ustar", "LE", "VPD"),
filter.vals.min = c(200, 0.2, 0, 0.01),
filter.vals.max = c(NA, NA, NA, NA),
NA.as.invalid = TRUE,
vars.qc = c("GPP", "LE", "H", "NEE", "Tair", "VPD", "wind"),
quality.ext = "_qc",
good.quality = c(0, 1),
missing.qc.as.bad = TRUE,
GPP = "GPP",
doy = "doy",
year = "year",
tGPP = 0.4,
ws = 15,
min.int = 5,
precip = "precip",
tprecip = 0.02,
records.per.hour = 2,
precip.hours = 24
)
Quality control:
GPP: 7 data points (0.49%) set to NA
LE: 0 data points (0%) set to NA
H: 2 data points (0.14%) set to NA
NEE: 7 data points (0.49%) set to NA
Tair: 0 data points (0%) set to NA
VPD: 0 data points (0%) set to NA
wind: 3 data points (0.21%) set to NA
-------------------------------------------------------------------
Data filtering:
0 data points (0%) excluded by growing season filter
556 additional data points (38.61%) excluded by precipitation filter (556
data points = 38.61 % in total)
403 additional data points (27.99%) excluded by PPFD filter (697 data points =
48.4 % in total)
29 additional data points (2.01%) excluded by ustar filter (176 data points =
12.22 % in total)
25 additional data points (1.74%) excluded by LE filter (339 data points = 23.54
% in total)
0 additional data points (0%) excluded by VPD filter (0 data points = 0
% in total)
1013 data points (70.35%) excluded in total
427 valid data points (29.65%) remaining.
使用这些设置,总共排除了 1013 个数据点(占总数据的 70.35%)。最终,只有 29.65% 的数据保留了下来。filter.data 函数的输出是另一个数据框(tha_filtered),其中所有被过滤的时间步长都被设置为 NA(默认情况。如果我们添加 filtered.data.to.NA=TRUE,数据将保持不变,但会在数据框中添加一个额外的列“valid”,用于指定时间点是否符合标准)。在接下来的示例中,我们将主要使用经过过滤的数据框 tha_filtered。
气动导度()是“大叶模型”中的一个核心概念,已有多种计算公式被提出。 可以表示为:
其中, 是动量传递的气动阻力,其主要传输机制是湍流; 是冠层(准层流)边界层阻力(“额外阻力”),其主要传输机制是分子扩散。
在 EC 测量点, 可以直接计算为:
其中, 是摩擦速度, 测量高度处的风速。
公式 (2) 隐式地考虑了大气稳定度对 的影响。下面的公式则显式地考虑了大气稳定度的影响:
其中:
stability.correction() 计算 。两个粗糙度参数 和 需要预先确定。函数 roughness.parameters() 提供了三种方法:
对于冠层(准层流)边界层导度()的计算,有多种公式来计算。一个简单的经验模(Gb.Thom())为:
bigleaf 中仅限于能够在 EC 站点使用的公式。Gb.Choudhury() 函数实现的方式为:
其中:
高度 (或任何其他高度 )处的风速可以通过对数风廓线函数(wind.profile())估算:
其中, 是动量稳定度修正函数的积分形式(在 stability.correction() 中计算)。
bigleaf 包中实现的第三个模型(Gb.Su()):
其中:
公式 (7) 的分母通常被称为 参数,其定义为:
需要注意的是, 对于大气中的不同标量(热量、水汽、 和其他痕量气体)是相同的,而 则存在差异。基于 可以计算出 的 :
其中, 是普朗特数(0.71), 是 的施密特数。为了简化计算,假设 对于热量和水汽传输是相同的(即 )。这种差异虽然是几个百分点,但与其他不确定性相比,影响是较小的。
由于 和 的计算是独立的,因此可以通过公式 (2)、(3) 和 (4)–(7) 的逆运算来计算热量传输的总气动导度()。主要函数 aerodynamic,返回上述公式的结果。如果提供了一个或多个额外的施密特数,则会为相应的量计算 和 。由于 bigleaf 的模块化设计,这些算法的每一个都可以单独计算。
我们从最简单的版本开始,根据 Thom (1972) 的方法,基于摩擦速度()经验性地计算 :
summary(aerodynamic.conductance(tha_filtered))
Note new column 'z0h' in the function output for'bigleaf' versions > 0.7.5.
Ga_m Ra_m Ga_h Ra_h
Min. :0.02062 Min. : 2.031 Min. :0.01501 Min. : 9.559
1st Qu.:0.09274 1st Qu.: 5.606 1st Qu.:0.04689 1st Qu.:13.562
Median :0.12768 Median : 7.832 Median :0.05926 Median :16.875
Mean :0.13680 Mean : 9.307 Mean :0.05981 Mean :18.757
3rd Qu.:0.17839 3rd Qu.:10.783 3rd Qu.:0.07374 3rd Qu.:21.327
Max. :0.49227 Max. :48.500 Max. :0.10461 Max. :66.639
NA's :1013 NA's :1013 NA's :1013 NA's :1013
Gb_h Rb_h kB_h z0h
Min. :0.05513 Min. : 5.854 Min. :1.487 Min. : NA
1st Qu.:0.09469 1st Qu.: 7.865 1st Qu.:1.948 1st Qu.: NA
Median :0.11086 Median : 9.020 Median :2.108 Median : NA
Mean :0.11096 Mean : 9.450 Mean :2.097 Mean :NaN
3rd Qu.:0.12714 3rd Qu.:10.561 3rd Qu.:2.257 3rd Qu.: NA
Max. :0.17083 Max. :18.139 Max. :2.616 Max. : NA
NA's :1013 NA's :1013 NA's :1013 NA's :1440
zeta psi_h Ra_CO2 Ga_CO2
Min. : NA Min. : NA Min. :11.42 Min. :0.01382
1st Qu.: NA 1st Qu.: NA 1st Qu.:16.07 1st Qu.:0.04076
Median : NA Median : NA Median :19.89 Median :0.05028
Mean :NaN Mean :NaN Mean :21.75 Mean :0.05098
3rd Qu.: NA 3rd Qu.: NA 3rd Qu.:24.54 3rd Qu.:0.06223
Max. : NA Max. : NA Max. :72.38 Max. :0.08755
NA's :1440 NA's :1440 NA's :1013 NA's :1013
Gb_CO2
Min. :0.04188
1st Qu.:0.07194
Median :0.08422
Mean :0.08430
3rd Qu.:0.09659
Max. :0.12979
NA's :1013
需要注意的是,由于没有提供额外的参数,因此函数会采用默认值( ?aerodynamic.conductance)。在这种情况下( Rb_model="Thom_1972"),我们也不需要提供该函数的大多数参数。只有当我们使用更复杂的 计算公式时,才需要这些参数。该函数的输出是一个新的数据框,其中包含不同标量(默认为动量、热量和 )的导度和阻力的单独列。
为了进行比较,我们现在计算 的第二个估计值,相比简单的输入,它需要更多的输入变量。特别是,我们需要叶面积指数(LAI)、叶片特征尺寸(,这里假设为 1 厘米)、传感器和冠层高度( 和 ),以及位移高度(假设为 ):
Ga_Su = aerodynamic.conductance(tha_filtered, Rb_model = "Su_2001",
LAI = LAI, zh = zh, d = 0.7 * zh, zr = zr, Dl = Dl)
summary(Ga_Su)
tha_filtered = cbind(tha_filtered,Ga_Su)
Ga_m Ra_m Ga_h Ra_h
Min. :0.02062 Min. : 2.031 Min. :0.02060 Min. : 3.148
1st Qu.:0.09274 1st Qu.: 5.606 1st Qu.:0.07228 1st Qu.: 8.801
Median :0.12768 Median : 7.832 Median :0.09320 Median :10.730
Mean :0.13680 Mean : 9.307 Mean :0.09335 Mean :12.420
3rd Qu.:0.17839 3rd Qu.:10.783 3rd Qu.:0.11363 3rd Qu.:13.835
Max. :0.49227 Max. :48.500 Max. :0.31766 Max. :48.540
NA's :1013 NA's :1013 NA's :1013 NA's :1013
Gb_h Rb_h kB_h z0h
Min. : 0.1112 Min. :0.03081 Min. :0.0033 Min. : NA
1st Qu.: 0.2717 1st Qu.:2.50054 1st Qu.:0.5440 1st Qu.: NA
Median : 0.3258 Median :3.06938 Median :0.7823 Median : NA
Mean : 0.7712 Mean :3.11317 Mean :0.7522 Mean :NaN
3rd Qu.: 0.3999 3rd Qu.:3.68027 3rd Qu.:1.0017 3rd Qu.: NA
Max. :32.4622 Max. :8.99503 Max. :1.5551 Max. : NA
NA's :1013 NA's :1013 NA's :1013 NA's :1440
zeta psi_h Ra_CO2 Ga_CO2
Min. : NA Min. : NA Min. : 3.189 Min. :0.02060
1st Qu.: NA 1st Qu.: NA 1st Qu.: 9.655 1st Qu.:0.06692
Median : NA Median : NA Median :11.676 Median :0.08565
Mean :NaN Mean :NaN Mean :13.404 Mean :0.08531
3rd Qu.: NA 3rd Qu.: NA 3rd Qu.:14.943 3rd Qu.:0.10357
Max. : NA Max. : NA Max. :48.553 Max. :0.31355
NA's :1440 NA's :1440 NA's :1013 NA's :1013
Gb_CO2
Min. : 0.08446
1st Qu.: 0.20643
Median : 0.24752
Mean : 0.58590
3rd Qu.: 0.30382
Max. :24.66232
NA's :1013
这里最后将函数的输出(Ga_Su)添加到我们过滤后的 tha_filtered 中。这些值与第一个经验估计值有所不同。因为这里考虑了额外的气动相关属性(例如 ),而简单的经验公式并未考虑这些属性。
通量测量通常伴随着在与通量测量大致相同高度进行的气象测量,通常这个高度在冠层上方几米处。如果确定了气动导度 (G_a),则可以通过反转体积传输关系来求解表层变量 (surface.conditions()):
其中:
下标 和 分别表示空气和表层。需要注意的是,在公式 (10) 至 (13) 中,“表层条件”指的是假想的冠层表面 (原理图)。此外,也可以通过将公式 (10) 和 (11) 中的 或公式 (13) 中的 替换为 ,来推断冠层内部空间的条件。函数 surface.conditions() 返回、、、、 和 。如果已知相应的 这种方法也可以应用于在 EC 站点测量的其他大气成分(例如甲烷、氮氧化物、臭氧)。
另一种估算表层温度的方法是基于物理原理,即任何物体都会根据其温度发射长波辐射,这由斯特藩-玻尔兹曼定律描述。这种辐射计量的表层温度 , 可以表示为(radiometric.surface.temp()):
其中, 和 分别是向上和向下的长波辐射, 是斯特藩-玻尔兹曼常数, 是表层的发射率。
表层对水汽的导度 () 描述了整个表层的导度,即包括土壤和植被冠层成分。它通常是通过逆向 Penman-Monteith (PM) 方程来计算的(surface.conductance()):
全部评论(0条)
LI-COR 涡度协方差分析系统
报价:面议 已咨询 230次
LI-7700开路式CH4/CO2/H2O通量分析系统
报价:面议 已咨询 223次
LI-7500RS/DS 涡度协方差分析系统
报价:面议 已咨询 266次
LI-710 蒸散测量仪 LI-COR(莱阔)
报价:面议 已咨询 270次
美国LI-COR LI-7500DS 开路式CO2/H2O智能分析系统
报价:面议 已咨询 246次
美国LI-COR Biomet 生物气象辅助传感器系统
报价:面议 已咨询 239次
SmartFlux® 实时在线通量计算模块 LI-COR (莱阔)
报价:面议 已咨询 201次
美国LI-COR EddyPro 涡度协方差数据处理软件
报价:面议 已咨询 249次
①本文由仪器网入驻的作者或注册的会员撰写并发布,观点仅代表作者本人,不代表仪器网立场。若内容侵犯到您的合法权益,请及时告诉,我们立即通知作者,并马上删除。
②凡本网注明"来源:仪器网"的所有作品,版权均属于仪器网,转载时须经本网同意,并请注明仪器网(www.yiqi.com)。
③本网转载并注明来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品来源,并自负版权等法律责任。
④若本站内容侵犯到您的合法权益,请及时告诉,我们马上修改或删除。邮箱:hezou_yiqi
优云谱 可升降冷冻干燥机 YP-DG20特点
参与评论
登录后参与评论