气象干旱综合指数MCI

2023-11-03 04:20
文章标签 综合 指数 气象 干旱 mci

本文主要是介绍气象干旱综合指数MCI,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

气象干旱综合指数MCI

 

% MCI = Ka * (a*SPIW60 + b*MI30 + c*SPI90 +d*SPI150)
% a    SPIW   权重系数,北方及西部地区取 0.3,南方地区取 0.55
% b    MI     权重系数,北方及西部地区取 0.5,南方地区取 0.6;
% c    SPI90  权重系数,北方及西部地区取 0.3,南方地区取 0.2;
% d    SPI150 权重系数,北方及西部地区取 0.2,南方地区取 0.1;
% Ka   为季节调节系数,根据不同季节各地主要农作物生长发育阶段对土壤水分的敏感程度clc;clear;
data = xlsread('三门峡1957.1.1-2021.3.1.xlsx');
data(any((data(:,3)*100+data(:,4)==229),2),:)=[];
P = data(:,5);
daysOfYear=365;
% a=0.3;b=0.5;c=0.3;d=0.2;%北方
a=0.55;b=0.6;c=0.2;d=0.1;%南方
Ka = [0.4 0.8 1.0 1.2 1.2 1.2 1.2 1 1 0.8 0.6 0.4];
% 计算SWAP60
a=0.85; N=60;
omega=zeros(N+1,1);
for n=0:Nomega(n+1)= a^n;
end
ndays=length(P) - N ;
WAP=zeros( ndays , 1 );
for idays=1:ndaysfor n=0:NWAP(idays,1)=WAP(idays,1)+omega(n+1)*P(idays+N-n);end
end
% 将第一年的其他值删去
WAP=WAP(daysOfYear-N+1 :end ,1);
XS=WAP;
SWAP=zeros( length( XS ),1);
for is=1:daysOfYeartind=is:daysOfYear:length(XS);Xn=XS(tind);                   % 对应序数[zeroa]=find(Xn==0);    % Xn为0的序数Xn_nozero=Xn;Xn_nozero(zeroa)=[];q=length(zeroa)/length(Xn);parm=gamfit(Xn_nozero);Gam_xs=q+(1-q)*gamcdf(Xn,parm(1),parm(2));SWAP(tind)=norminv(Gam_xs);
end      % 计算SPI90
scale90= 90;
P90 = zeros(length(P)-scale90+1,1);
for j=1:length(P90)P90(j+scale90-1)=sum(P(j:j+scale90-1));
end
% 将第一年的其他值删去
P90=P90(366 :end ,1);
SPI90=zeros( length( P90 ),1);
for is=1:daysOfYeartind=is:daysOfYear:length(P90);Xn=P90(tind);                   % 对应序数[zeroa]=find(Xn==0);    % Xn为0的序数Xn_nozero=Xn;Xn_nozero(zeroa)=[];q=length(zeroa)/length(Xn);parm=gamfit(Xn_nozero);Gam_xs=q+(1-q)*gamcdf(Xn,parm(1),parm(2));SPI90(tind)=norminv(Gam_xs);
end      % 计算SPI150
scale150= 150;
P150 = zeros(length(P)-scale150+1,1);
for j=1:length(P150)P150(j+scale150-1)=sum(P(j:j+scale150-1));
end
% 将第一年的其他值删去
P150=P150(366 :end ,1);
SPI150=zeros( length( P150 ),1);
for is=1:daysOfYeartind=is:daysOfYear:length(P150);Xn=P150(tind);                   % 对应序数[zeroa]=find(Xn==0);    % Xn为0的序数Xn_nozero=Xn;Xn_nozero(zeroa)=[];q=length(zeroa)/length(Xn);parm=gamfit(Xn_nozero);Gam_xs=q+(1-q)*gamcdf(Xn,parm(1),parm(2));SPI150(tind)=norminv(Gam_xs);
end %%%计算PET= E0  注意表格数据气压单位百帕 风俗 两米风速
ELE = data(1,14); LAT = data(1,13);as = 0.25;bs = 0.5;
M = data(:,3);
Ri = data(:,4); J = (M-1)*30.4 + Ri;%日
R = data(:,5);            %降水量
Pre = data(:,6);            %气压
Tmean = data(:,7);        %平均温度
Ws = data(:,10);           %风速
Hum = data(:,11);         %湿度
Sun = data(:,12);         %日照
u2=Ws;%u2为2米高处的风速
%∆为饱和水汽压曲线的斜率
delta=4098*0.6108*exp(17.27*Tmean./(Tmean+237.3))./(Tmean+237.3).^2;
eS=0.6108*exp(17.27*Tmean./(Tmean+237.3));  %饱和水汽压
eA=eS.*Hum/100;                    %ea为实际水汽压
gamma1 = 0.665/10^3 *Pre/10;%r为湿度计常数,kPa/℃
Phi=LAT*pi/180;     %纬度 由度数化成弧度
%黄赤交角,是指地球公转轨道面(黄道面)与赤道面(天赤道面)的交角
Delt=0.408*sin(2*pi*J/365-1.39);
ws=acos(-tan(Phi)*tan(Delt));  %日落角
dr=1+0.033*cos(2*pi*J/365); %地 日 距离
Gsc=0.0820;  %太阳常数
%Ra为用相对应的蒸发单位表达的地球辐射值,mm/d
Ra=((24*60)/pi)*Gsc*dr.*(ws.*sin(Phi).*sin(Delt)+cos(Phi).*cos(Delt).*sin(ws));
Rso=(as+bs+2*ELE/100000).*Ra;%晴空辐射
N=24*ws/pi;                  %可能日照时数
Rs=(as+bs*(Sun./N)).*Ra;
alpha=0.23;          %作物反射率
Rns=(1-alpha)*Rs;    %短波辐射
%计算净长波辐射RnL
Tkmax=Tmean+273.16;Tkmin=Tmean+273.16;
fcd=1.35*Rs./Rso-0.35;
Rnl=(4.903*10^(-9))*fcd.*(0.34-0.14*sqrt(eA)).*((Tkmax.^4+Tkmin.^4)/2);
Rn=Rns-Rnl;
E0=(0.408 .* delta .*Rn+gamma1 *900 ./(Tmean+273) .*u2 .*(eS-eA))./(delta+gamma1 .*(1+0.34*u2));% 计算MI30
scale30= 30;
P30 = zeros(length(P)-scale30+1,1);
E30 = zeros(length(P)-scale30+1,1);
for j=1:length(P30)P30(j+scale30-1)=sum(P(j:j+scale30-1));E30(j+scale30-1)=sum(E0(j:j+scale30-1));
end
MI30 = (P30-E30) ./E30;
MI30 = MI30(366:end,1);MCI0 = a*SWAP + b*MI30 + c*SPI90 +d*SPI150;
MCI0 = [M(366:end) Ri(366:end) MCI0];
X = find(MCI0(:,1)==1);MCI(X,1)=Ka(1)*MCI0(X,3);
X = find(MCI0(:,1)==2);MCI(X,1)=Ka(2)*MCI0(X,3);
X = find(MCI0(:,1)==3);MCI(X,1)=Ka(3)*MCI0(X,3);
X = find(MCI0(:,1)==4);MCI(X,1)=Ka(4)*MCI0(X,3);
X = find(MCI0(:,1)==5);MCI(X,1)=Ka(5)*MCI0(X,3);
X = find(MCI0(:,1)==6);MCI(X,1)=Ka(6)*MCI0(X,3);
X = find(MCI0(:,1)==7);MCI(X,1)=Ka(7)*MCI0(X,3);
X = find(MCI0(:,1)==8);MCI(X,1)=Ka(8)*MCI0(X,3);
X = find(MCI0(:,1)==9);MCI(X,1)=Ka(9)*MCI0(X,3);
X = find(MCI0(:,1)==10);MCI(X,1)=Ka(10)*MCI0(X,3);
X = find(MCI0(:,1)==11);MCI(X,1)=Ka(11)*MCI0(X,3);
X = find(MCI0(:,1)==12);MCI(X,1)=Ka(12)*MCI0(X,3);
MCI = [data(366:end,2:4),MCI];

 

这篇关于气象干旱综合指数MCI的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/335555

相关文章

便携式气象仪器的主要特点

TH-BQX9】便携式气象仪器,也称为便携式气象仪或便携式自动气象站,是一款高度集成、低功耗、可快速安装、便于野外监测使用的高精度自动气象观测设备。以下是关于便携式气象仪器的详细介绍:   主要特点   高精度与多功能:便携式气象仪器能够采集多种气象参数,包括但不限于风速、风向、温度、湿度、气压等,部分高级型号还能监测雨量和辐射等。数据采集与存储:配备微电脑气象数据采集仪,具有实时时钟、数据存

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

STL经典案例(四)——实验室预约综合管理系统(项目涉及知识点很全面,内容有点多,耐心看完会有收获的!)

项目干货满满,内容有点过多,看起来可能会有点卡。系统提示读完超过俩小时,建议分多篇发布,我觉得分篇就不完整了,失去了这个项目的灵魂 一、需求分析 高校实验室预约管理系统包括三种不同身份:管理员、实验室教师、学生 管理员:给学生和实验室教师创建账号并分发 实验室教师:审核学生的预约申请 学生:申请使用实验室 高校实验室包括:超景深实验室(可容纳10人)、大数据实验室(可容纳20人)、物联网实验

生信圆桌x生信分析平台:助力生物信息学研究的综合工具

介绍 少走弯路,高效分析;了解生信云,访问 【生信圆桌x生信专用云服务器】 : www.tebteb.cc 生物信息学的迅速发展催生了众多生信分析平台,这些平台通过集成各种生物信息学工具和算法,极大地简化了数据处理和分析流程,使研究人员能够更高效地从海量生物数据中提取有价值的信息。这些平台通常具备友好的用户界面和强大的计算能力,支持不同类型的生物数据分析,如基因组、转录组、蛋白质组等。

【2025】基于Python的空气质量综合分析系统的设计与实现(源码+文档+调试+答疑)

博主介绍:     ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W+粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台的优质作者。通过长期分享和实战指导,我致力于帮助更多学生完成毕业项目和技术提升。 技术范围:     我熟悉的技术领域涵盖SpringBoot、Vue、SSM、HLMT

综合DHCP、ACL、NAT、Telnet和PPPoE进行网络设计练习

描述:企业内网和运营商网络如上图所示。 公网IP段:12.1.1.0/24。 内网IP段:192.168.1.0/24。 公网口PPPOE 拨号采用CHAP认证,用户名:admin 密码:Admin@123 财务PC 配置静态IP:192.168.1.8 R1使用模拟器中的AR201型号,作为交换路由一体机,下图的WAN口为E0/0/8口,可以在该接口下配置IP地址。 可以通过

FPGA随记——小说 可综合和不可综合

当然我在网络上找到了些可综合和不可综合的解释 感觉也很有参考价值: https://wenda.so.com/q/1378362174074040 综合就是把你写的rtl代码转换成对应的实际电路。 比如你写代码assign a=b&c; EDA综合工具就会去元件库里拿一个二输入与门出来,然后输入端分别接上b和c,输出端接上a 假如你写了很多这样的语句 assign a=b&c; assig

生命科学、食品科学信息类综合全文数据库

一、Nature系列资源 《Nature》杂志1869年创刊于英国,是最早的国际性科技期刊,其办刊宗旨是“将科学发现的重要结果介绍给公众,让公众尽早知道全世界自然知识的每一分支中取得的所有进展”。它报道和评论全球科技领域里最重要的突破,经过一个半世纪,它已经被国际学术界充分认可,成为当今自然科学界国际影响最大的重要期刊之一,是所有学术界人士心中的“圣坛”。 检索: 当你想查询的论文信息较

【python 百度指数抓取】python 模拟登陆百度指数,图像识别百度指数

一、算法思想 目的奔着去抓取百度指数的搜索指数,搜索指数的爬虫不像是其他爬虫,难度系数很高,分析之后发现是图片,坑爹的狠,想了下,由于之前做过身份证号码识别,验证码识别之类,豁然开朗,不就是图像识别麽,图像识别我不怕你,于是就有了思路,果然有异曲同工之妙,最后成功被我攻破了,大致思路如下: 1、首先得模拟登陆百度账号(用selenium+PhantomJS模拟登陆百度,获取cookie) 2

Flink重点难点:Flink任务综合调优(Checkpoint/反压/内存)

在阅读本文之前,你应该阅读过的系列: 《Flink重点难点:时间、窗口和流Join》 《Flink重点难点:网络流控和反压》 《Flink重点难点:维表关联理论和Join实战》 《Flink重点难点:内存模型与内存结构》 《Flink重点难点:Flink Table&SQL必知必会(一)》 Flink重点难点:Flink Table&SQL必知必会(二) CheckPoint调优