matlab——计算VPD(vapor pressure defict)

需求:

计算VPD(vapor pressure defict)。


介绍:

饱和水汽压差(简称VPD) 是指在一定温度下,饱和水汽压与空气中的实际水汽压之间的差值(百度百科)。

因此,温室中VPD的理想范围是0.45  kPa至1.25 kPa,理想情况下约为0.85 kPa。通常,大多数植物在VPD在0.8到0.95 kPa之间时生长良好(维基百科)。


计算方法:

  • 一、先计算饱和水汽压
  • 二、饱和水汽压减去实际水汽压。

世界气象组织推荐的Goff-Gratch公式如下(计算饱和水汽压)。

参考百度文库(https://wenku.baidu.com/view/0d5cc624657d27284b73f242336c1eb91a3733b5?fr=step_zhidao)

matlab——计算VPD(vapor pressure defict)_第1张图片


下载数据:

一、温度数据

二、实际水汽压数据

均下载自CRU(https://catalogue.ceda.ac.uk/uuid/89e1e34ec3554dc98594a5732622bce9

CRU TS4.04:气候研究单位(CRU)时间序列(TS)版本4.04的逐月气候变化高分辨率栅格数据(1901年1月至2019年12月)

下载tmp(温度,temperature,℃)和vap(蒸气压,vapor pressure,hpa)这两个数据集。

数据格式:.nc; 空间分辨率:0.5度; 时间分辨率:月

注意事项:

1、下载的nc数据需要自己调整,好像需要逆时针旋转九十度(rot90)

2、下载的vap(蒸气压)数据单位为hpa(百帕),需要除10,转换成一致的单位(matlab计算出来的饱和蒸气压为kpa,VPD也是kpa)。

3、下载的数据集温度单位为摄氏度,下面代码输入温度参数也是摄氏度,无需调整。


matlab代码(计算饱和水汽压):

参考:http://www.360doc.com/content/18/0804/10/54797756_775586486.shtml

子函数2调用子函数1,输入参数只有温度。

不知道为啥写两个子函数,明明合在一起就行。

子函数1:

%% 1.饱和水汽压Ei、Ew(单位:hPa)的常用对数lgE的计算。
function lgE = Goff_Gratch_WMO (t)
% 输入量t:空气温度,℃。请记为一个行向量。
% 输出量lgE:饱和水汽压Ew(单位:hPa。1hPa = 100Pa,h是hecto的缩写)的
%%%%%% 常量、常数 %%%%%%
t1 = 273.15 + 0.01 ;      
%%%%%% 因子 %%%%%%
c1 = + 0.1079574 * 10^2 ;     
c2 = - 0.502800 * 10 ;     
c3 = + 0.150475 * 10^(-3) ;
c4 = + 0.42873 * 10^(-3) ; 
c5 = + 0.78614 ;   
c6 = - 0.82969 * 10 ;   
c7 = + 0.476955 * 10 ;    
%%%%%% 绝度温度 %%%%%%
tk = t + 273.15 ;           % 将实验中测得的摄氏温度值转换为绝对温度值
%%%%%% 主体计算 %%%%%%
[row, column] = size(t) ;  
for i = 1:column  
    lgE(i) = c1 * ( 1 - t1/tk(i) )                ...
+ c2 * log10( tk(i)/t1 )              ...
+ c3 * ( 1 - 10^ ( c6 * (tk(i)/t1-1 ) ) )   ...
+ c4 * ( 10^ ( c7 * ( 1- t1/tk(i) ) ) -1 )   ...
+ c5 ;  %(单位:hPa)
end

子函数2

%% 2.饱和水汽压Ei、Ew(单位:kPa)的计算。
function E = E_Goff_Gratch_WMO (t)
% 输入量t:空气温度,℃。请记为一个行向量。
% 输出量E:饱和水汽压Ew(单位:kPa)
%%%%%% 常量、常数 %%%%%%
lgE = Goff_Gratch_WMO (t) ;  % 此处,饱和水汽压E(Ew)的单位是hPa(100Pa)
E_hPa = 10 .^ lgE ;           % E_hPa单位仍然是hPa
E = E_hPa / 10 ;             % E单位是是kPa

参考:

1、饱和水汽压的计算(作者提供了matlab代码)

http://www.360doc.com/content/18/0804/10/54797756_775586486.shtml

2、饱和水汽压的计算(百度文库)

https://wenku.baidu.com/view/0d5cc624657d27284b73f242336c1eb91a3733b5?fr=step_zhidao

3、VPD (饱和水汽压差)(基于HadISDH计算VPD 和 基于ERA计算VPD matlab代码)

https://www.jianshu.com/p/e7d0e3962a88

https://www.jianshu.com/p/31802fe97869

4、百度百科

https://baike.baidu.com/item/%E9%A5%B1%E5%92%8C%E6%B0%B4%E6%B1%BD%E5%8E%8B%E5%B7%AE/16845607?fr=aladdin

5、维基百科

https://en.wikipedia.org/wiki/Vapour-pressure_deficit

 

你可能感兴趣的:(MATLAB,VPD,计算饱和水汽压,Goff-Gratch公式,matlab)