基于python和免费软件的干旱指数计算

基于python和免费软件的干旱指数计算

1.懒人办法,直接用免费现成软件DrinC

优点:官网直接下载安装方便省事,结果可靠(验证过),官网还有很多说明文件和文献;
在这里插入图片描述
缺点:目前可计算的指数有限;
在这里插入图片描述

2.用python算

优点:很多很多…
缺点(可忽略):需要安装几个不太好装的库,我是用climate_indices算的(注意对python版本有要求)

在这里插入图片描述
上代码


# 相关包的导入
import numpy as np
import pandas as pd

from climate_indices import indices
from climate_indices import compute  # 计算SPEI的包

# 路径处理和基本变量定义
rootdir = r'D:\自己的文件夹哈\SPEI\\';
tampa_file = rootdir + 'pre_.csv'
outpath = rootdir + 'Result1001\\'

lat = 纬度
styr = 开始年
edyr = 结束年

# 气象数据读取
tampa_data = pd.read_csv(tampa_file)
pre_data = np.asarray(tampa_data['Pre'])  # 降水数据转换为np.array
tas_data = np.asarray(tampa_data['Tas'])  # 温度数据转换为np.array

# 潜在蒸散发计算-桑斯维特方法
pet_data = indices.pet(temperature_celsius=tas_data,
                       latitude_degrees=lat,
                       data_start_year=styr)

# 计算SPEI
spei = indices.spei(precips_mm=pre_data,
                    pet_mm=pet_data,  
                    scale=9,  # 3个月尺度
                    distribution=indices.Distribution.gamma,
                    periodicity=compute.Periodicity.monthly,
                    data_start_year=styr,
                    calibration_year_initial=styr,
                    calibration_year_final=edyr,
                    )

spei[np.isnan(spei)] = -99  # nan转换为-99
spei_df = pd.DataFrame(data=spei, columns=['SPEI_9'])  # 计算结果转换为DataFrame

# 计算结果写出
spei_df.to_csv(outpath + 'SPEI9.csv', index=False)

print('Finished.')

可以根据自己需求改指数和时间尺度

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
MCI(Moisture Content Index)干旱指数是用于评估气候干旱情况的一种方法。Python语言提供了丰富的科学计算库和数据处理工具,可以进行MCI的计算。 首先,我们需要收集一定的数据来计算MCI指数。收集的数据包括每日的降雨量和蒸散发量。可以从气象台、气象网站或其他当地气象数据源获取这些数据。存储数据时,可以选择使用列表或数组等数据结构。 在进行计算之前,需要先对数据进行预处理。预处理的步骤可以包括缺失值处理、异常值处理和数据平滑等。确保数据质量良好,以保证计算结果的准确性。 接下来,可以利用计算公式来计算MCI指数。MCI的计算过程涉及到多个步骤。首先,根据降雨量和蒸散发量计算得到水分盈余(Water Surplus or Deficiency)。然后,根据之前一段时间内的水分盈余数据,计算得到长期平均值(Long-term Average)。最后,利用水分盈余和长期平均值计算得到MCI指数。 使用Python语言,可以定义函数来实现MCI指数计算过程。函数的输入参数包括降雨量数据、蒸散发量数据等,输出为MCI指数结果。 最后,可以将计算得到的MCI指数进行可视化展示,例如绘制折线图来显示干旱指数的变化趋势。可以使用matplotlib等数据可视化库来实现这一步骤。 总之,使用Python进行MCI干旱指数计算涉及数据收集、数据预处理、计算公式的实现以及结果的可视化展示等步骤。Python提供了灵活且功能强大的工具来进行这些操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值