当前位置: 首页 > article >正文

gma中计算CWDI(作物水分亏缺指数)的源代码

这次是干货作物水分亏缺指数作物水分亏缺指数Crop Water Deficit IndexCWDI%从农田水分平衡出发引入了作物系数考虑了作物需水特性能很好好的反应作物缺水状况。计算公式如下源代码可以自由的适配和改造代码构建过程采用了向量化的思路进而提高计算效率并减少内存消耗对于巨量数据有效fromgma._algos.arrmtimportto_num_arrays_with_same_shapeimportnumpyasnp### to_num_arrays_with_same_shape 用于将数据数据格式化为统一的形状且保证为数字型整数、浮点数等数组。### 可选择性移除这个过程因为不是必须的。### 复杂度高是应为适应了n维数据按照不同轴axis计算classMoistureIndex: 降水-蒸散 构建的相关指数 def__init__(self,pre,et0,axisNone):## 初始化计算数据self._pre,self._et0to_num_arrays_with_same_shape(pre,et0)## 脱离 gma 不验证和处理原始数据直接使用下行代码#### self._pre, self._et0 pre, et0ifaxisisNone:self._preself._pre.flatten()self._et0self._et0.flatten()self._base_axis0else:self._base_axisaxis self._preself._pre.swapaxes(0,self._base_axis)self._et0self._et0.swapaxes(0,self._base_axis)self._shapeself._pre.shapedefCWDI(self,weights[0.3,0.25,0.2,0.15,0.1],duration_per_weight10):# etc 在这里是 self._et0## 确定每个计算单元所需的数据长度0轴上x_lenlen(weights)*duration_per_weight# 注意axis上前x_len-1是无数据的为np.nan因为不满足累积量weightsnp.array(weights)## 输出数组resnp.full(self._shape,np.nan)## 循环 x_len 次计算每个位置的结果foriinrange(x_len):## 每 x_len 个数据为一组末尾不足 x_len 的数据本轮计算时被丢弃d_num(self._shape[0]-i)%x_len d_endself._shape[0]-d_num c_pre,c_et0self._pre[i:d_end],self._et0[i:d_end]## 每 duration_per_weight 个数据为一组计算累加值以及i_cwdinew_shape(c_pre.shape[0]//duration_per_weight,duration_per_weight,*c_pre.shape[1:])c_prec_pre.reshape(new_shape).sum(axis1)c_et0c_et0.reshape(new_shape).sum(axis1)i_cwdi(1-c_pre/c_et0)*100i_cwdi[i_cwdi0]0## 每 len(weights) 个数据为一组计算 cwdii_cwdii_cwdi.reshape(i_cwdi.shape[0]//len(weights),len(weights),*i_cwdi.shape[1:])d_weightsweights[None,:,*([None]*(i_cwdi.ndim-2))]cwdi(i_cwdi*d_weights).sum(axis1)res[(ix_len-1)::x_len]cwdireturnres.swapaxes(0,self._base_axis)示例从 excel 开始计算in_filePRE_ET0.xlsx# 使用pandasimportpandasaspd dfpd.read_excel(in_file)pre,etcdf[PRE],df[ET0]##这里仅做演示实际使用时请使用真实的ETcmiMoistureIndex(pre,etc)cwdimi.CWDI()## 使用 gma3.0.0a12# from gma import gio, climet# xlsx_ly gio.open_vector(in_file)# df xlsx_ly.to_pandas()# pre, etc df[PRE], df[ET0] ##这里仅做演示实际使用时请使用真实的ETc# cwdi climet.index.CWDI(pre, etc)从 tif 开始计算## 使用 gma3.0.0a12fromgmaimportgio,climet ds_pregio.open_raster(rD:\BaiduNetdiskDownload\ne\第5章\PRE_Luoyang_1981-2020.tif)ds_etcgio.open_raster(rD:\BaiduNetdiskDownload\ne\第5章\ET0_Luoyang_1981-2020.tif)##这里仅做演示实际使用时请使用真实的ETc## 将两个 tif 组合为虚拟文件方便整体计算dsgio.VirtualRasterDataset([ds_pre,ds_etc])defcal(in_ar):# 一共 960 个波段其中前480个是 pre后480个是 etcprein_ar[:480]etcin_ar[480:]miMoistureIndex(pre,etc,axis0)cwdimi.CWDI()## 或者直接使用 gma 函数# cwdi climet.index.CWDI(pre, etc)cwdi[pre.mask]ds.nodata# 掩膜掉 nodatreturncwdi# algebraic 方法直接返回一个栅格数据集默认存储在内存中ndsds.algebraic(cal)### 或者直接保存到文件# out_file cwdi.tif# nds ds.algebraic(cal, out_dst out_file)获取本文用到的数据私信作者

相关文章:

gma中计算CWDI(作物水分亏缺指数)的源代码

这次是干货 作物水分亏缺指数 作物水分亏缺指数(Crop Water Deficit Index,CWDI,%)从农田水分平衡出发,引入了作物系数,考虑了作物需水特性,能很好好的反应作物缺水状况。计算公式如下&#xff…...

手把手教你用IndexTTS-2-LLM:快速搭建多语种语音合成服务

手把手教你用IndexTTS-2-LLM:快速搭建多语种语音合成服务 1. 引言:为什么选择IndexTTS-2-LLM 语音合成技术正在改变我们与数字世界的交互方式。想象一下,你的应用能够用自然流畅的声音朗读任何文本,无论是中文新闻还是英文报告&…...

UDOP-large入门指南:零基础部署,快速实现英文文档智能理解

UDOP-large入门指南:零基础部署,快速实现英文文档智能理解 1. UDOP-large简介:你的英文文档智能助手 Microsoft UDOP-large是微软研究院开发的通用文档处理模型,专门用于理解和分析英文文档。这个模型结合了视觉理解和文本理解能…...

零代码操作:SiameseAOE中文观点抽取Web界面使用指南

零代码操作:SiameseAOE中文观点抽取Web界面使用指南 1. 认识SiameseAOE观点抽取工具 观点抽取是自然语言处理中的一项实用技术,它能从文本中自动识别出人们对事物的评价和看法。想象一下,当你面对成千上万条商品评论时,手动阅读…...

创建 Django 应用指南

安装 Django确保 Python 已安装在系统中,推荐使用 Python 3.8 或更高版本。 通过 pip 安装 Django:pip install django验证安装是否成功:django-admin --version创建项目使用以下命令创建一个新的 Django 项目:django-admin start…...

小白友好!Llama-3.2V-11B-cot快速入门:上传图片提问,看AI推理全过程

小白友好!Llama-3.2V-11B-cot快速入门:上传图片提问,看AI推理全过程 1. 引言:像聊天一样使用AI视觉推理 想象一下,你手头有一张图片——可能是旅游时拍的风景照,或是工作中遇到的图表,又或是孩…...

AI股票分析师场景应用:快速搭建本地化金融分析工具全流程

AI股票分析师场景应用:快速搭建本地化金融分析工具全流程 1. 引言:金融分析的智能化转型 在金融投资领域,及时获取专业分析报告是做出投资决策的关键。传统方式需要依赖券商研究报告或付费咨询,不仅成本高昂,还存在隐…...

FlashAttention优化技巧:从矩阵分块到IO感知计算

1. FlashAttention的核心优化原理 FlashAttention之所以能成为大模型训练的标准配置,关键在于它解决了传统注意力机制的两个致命问题:显存访问效率低下和计算资源浪费。想象一下,你正在用一台老式电脑处理超大Excel表格,每次只能查…...

大模型在多核CPU上的推理优化:线程亲和性与NUMA感知

一台 128 核的服务器,跑大模型推理的吞吐量却不如 32 核机器——这种情况在实际工程中并不罕见。根本原因往往不是核数不够,而是线程之间的"沟通成本"太高,以及内存访问路径不对。 本篇聚焦两个关键优化方向:线程亲和性…...

DIC vs 传统方法:铜铝复层材料应变测量全对比(附实测数据)

DIC技术与传统应变测量方法在铜铝复层材料测试中的深度对比 铜铝复层材料因其优异的导电性、导热性和机械性能,在电子、航空航天等领域应用广泛。然而,这类材料的应变测量一直是科研人员和工程师面临的挑战。传统的引伸计和应变电测方法虽然成熟&#x…...

协议层延迟骤增87%?揭秘AIAgent微服务间通信协议设计的4层降本增效架构实践,今天不看明天宕机

第一章:AIAgent架构中的通信协议设计 2026奇点智能技术大会(https://ml-summit.org) 在多智能体协同系统中,通信协议是决定Agent间语义对齐、时序可控与容错能力的核心基础设施。不同于传统微服务间RESTful或gRPC调用,AIAgent需支持异步事件…...

AIAgent目标分解到底难在哪?5大认知陷阱正在拖垮你的智能体落地进度

第一章:AIAgent目标分解到底难在哪?5大认知陷阱正在拖垮你的智能体落地进度 2026奇点智能技术大会(https://ml-summit.org) 目标分解是AI Agent架构设计的“第一道闸门”,却也是最常被轻率跨过的雷区。当团队将“用户订机票”直接拆解为“调…...

AIAgent记忆泄漏正在 silently 拖垮你的O1推理成本——从Python GC钩子到WASM沙箱隔离的3层防御体系

第一章:AIAgent架构中的记忆机制设计 2026奇点智能技术大会(https://ml-summit.org) AI Agent 的长期有效性高度依赖其记忆系统——它不仅是信息暂存的“缓存”,更是支撑推理连贯性、任务持续性与自我演化的认知基座。现代 AIAgent 架构普遍采用分层记忆…...

AI写的AI写小说软件

星灿AI小说写作助手 是一款专为网络小说创作者设计的智能写作工具,集成了AI辅助创作、小说管理、章节编辑等功能,帮助作者高效完成小说创作。 核心功能: - 书架管理:创建、管理多部小说,支持导出TXT格式 - 章节编辑&am…...

霸州发到佛山海运发货流程

霸州到佛山船运物流时效,霸州发到佛山海运运输多久,霸州到佛山货柜水运发货流程 霸州到佛山的船运物流,因需结合陆运完成两端接驳,整体时效受海运航程、陆运调度及港口作业效率等多因素影响。而船运需先将货物从霸州陆运至天津港&…...

python rioxarray

# 聊聊Python里的rioxarray:当遥感数据遇上xarray 最近在处理一些地理空间数据时,又用到了rioxarray这个库。说实话,第一次接触它的时候,觉得这不过又是一个处理栅格数据的工具罢了。但用久了才发现,它解决了一些实际工…...

实测智码方舟:花100元用AI生成毕设代码,完整记录从注册到答辩的全过程

一、前言:我为什么实测这个工具 2026年了,计算机专业的毕业设计还用纯手写代码吗?这个问题我纠结了很久。 我是普通本科计算机专业的学生,成绩中上,技术基础一般。大三下学期开始准备实习和秋招,完全没把…...

IndexTTS2 V23实战体验:上传音频秒变同款语气,效果惊艳

IndexTTS2 V23实战体验:上传音频秒变同款语气,效果惊艳 最近在语音合成圈子里,IndexTTS2的V23版本成了热门话题。大家都在讨论它那个“上传音频秒变同款语气”的功能到底有多神奇。作为一个对AI语音技术保持关注的技术爱好者,我第…...

RTX 4090高效利用:Anything to RealCharacters 2.5D转真人引擎Xformers加速教程

RTX 4090高效利用:Anything to RealCharacters 2.5D转真人引擎Xformers加速教程 1. 引言:从二次元到写实世界,一键转换 你有没有想过,把喜欢的动漫头像、游戏立绘或者2.5D插画,变成一张看起来像真人照片的图片&#…...

智能优化算法专题(7)【讲解+报告】基于PID控制与模糊PID控制搭建一阶倒立摆仿真(在线整定PID参数)-对比小车位移与摆杆角度

智能优化算法专题(7)【讲解报告】基于PID控制与模糊PID控制搭建一阶倒立摆仿真(在线整定PID参数)-对比小车位移与摆杆角度阅读前注意: 1、 此平台私信不回复,统一在b站回复,展示内容与b站一致&a…...

translategemma-4b-it代码实例:Python调用Ollama API实现图文翻译自动化

translategemma-4b-it代码实例:Python调用Ollama API实现图文翻译自动化 1. 了解translategemma-4b-it模型 translategemma-4b-it是一个基于Google Gemma 3模型系列构建的轻量级翻译模型。这个模型专门设计用来处理图文翻译任务,支持55种语言之间的互译…...

GLDAS数据变量单位速查与避坑指南:别再搞混土壤湿度和蒸散发单位了!

GLDAS数据变量单位解析与科研避坑实战指南 科研工作中最令人沮丧的瞬间之一,莫过于花费数周时间分析数据后,发现因为单位换算错误导致所有结论需要推倒重来。GLDAS数据集作为全球陆地水文研究的重要数据源,其NOAH、VIC等模型输出的土壤湿度、…...

Jmeter压测实战—Jmeter二次开发之自定义函数

🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 1、前言 Jmeter是Apache基金会下的一款应用场景非常广的压力测试工具,具备轻量、高扩展性、分布式等特性。Jmeter已支持实现随机数、计数器、时间戳…...

从脚本NPC到自主决策体,SITS2026实测对比:AIAgent使玩家沉浸时长提升217%,你还在用状态机?

第一章:SITS2026分享:AIAgent游戏NPC应用 2026奇点智能技术大会(https://ml-summit.org) 在SITS2026大会上,AIAgent技术首次系统性地应用于开放世界游戏NPC行为建模,突破了传统状态机与行为树的响应边界。通过将LLM推理能力、记…...

AIAgent强化学习实战跃迁:从OpenAI Gym到工业级决策系统,3周完成Agent训练闭环

第一章:AIAgent强化学习实战跃迁:从OpenAI Gym到工业级决策系统,3周完成Agent训练闭环 2026奇点智能技术大会(https://ml-summit.org) 本章聚焦真实工业场景下的Agent训练闭环构建——以电力调度优化任务为载体,将经典CartPole环…...

告别重复造轮子:OpenAI Codex高效生成脚本实战指南

告别重复造轮子:OpenAI Codex高效生成脚本实战指南 在开发者的日常工作中,“重复造轮子”是一个高频痛点——无论是简单的自动化部署脚本、繁琐的数据处理逻辑,还是基础的测试用例生成,往往需要花费大量时间编写重复代码,不仅降低开发效率,还容易因手动编码出现疏漏。而…...

C#.NET IL 中间码 深入解析:从 C# 编译结果到 CLR 执行链路

简介 很多人第一次认真看 IL,通常不是因为“想学一门汇编”,而是因为碰到了这些问题: 同一段 C#,编译之后到底变成了什么async/await、yield、lock 这些语法糖到底被编译成了什么样为什么有些代码看着简单,运行时却没你…...

AGENTS.md的最佳实践

如果把 AI 编程助手比作一台超跑,那么 AGENTS.md就是它的方向盘和导航仪。它是位于项目根目录的特定配置文件(目前已被 Cursor、Windsurf、Claude Code 等主流 AI 编辑器广泛支持),本质上相当于给 AI 注入的“系统级提示词”。 为了让 AI 从“听话的执行者”进阶为“懂你的…...

使用C#代码在 Excel 中创建数据透视图

数据透视图是数据透视表的图形化展示形式。数据透视表用于对数据进行汇总并支持灵活分析,而数据透视图则将这些汇总结果以可视化图表的方式呈现出来。随着数据透视表内容的变化,数据透视图也会自动更新,因此在数据分析与报表展示中具有重要作…...

赋能智能车与机器人技术转型:大联大世平集团携手AutoSys举办线上研讨会

大联大控股旗下世平集团宣布,于4月1日携手AutoSys(先进智能系统)成功举办“Edge AI赋能智能车与机器人产业的感知技术转型路径”线上研讨会。 当前,智能车与机器人技术正加速融合,AI大模型深度赋能感知与决策&#xff…...