WOFOST模型与PCSE模型应用

实现作物产量的准确估算对于农田生态系统响应全球变化、可持续发展、科学粮食政策制定、粮食安全维护都至关重要。传统的经验模型、光能利用率模型等估产模型原理简单,数据容易获取,但是作物生长发育非常复杂,中间涉及众多生理生化过程,使用经验模型或光能利用率模型缺乏一定的机理性,而作物模型是一种能够详细描述作物生长原理并能高精度模拟作物生长发育全过程的以天为步长的机理模型,在生产产模拟方面具有很大的优势。农业生产模拟在现代农业中具有重要的意义,它为农业决策制定、资源管理和食品生产提供了有力的工具和支持。

WOFOST(WorldFoodStudies)和PCSE(PythonCropSimulationEnvironment)是两个用于农业生产模拟的模型:WOFOST是一个经过多年开发和验证的模型,被广泛用于全球的农业生产模拟和农业政策分析;采用了模块化的结构,可以对不同的农作物和环境条件进行参数化和适应;WOFOST可用于长期模拟,能够模拟整个作物生长周期,包括播种、生长、收获等各个阶段;WOFOST积累了大量的实验数据,可用于验证模型的准确性,使其成为决策支持和政策分析的有力工具。PCSE是用Python编写的,这使得它易于学习和使用,尤其是对于具有Python编程经验的用户。PCSE是开源的,用户可以自由访问和修改其代码,以满足特定需求;PCSE可以与其他Python库和工具集成,使其更容易与数据科学工作流程和其他农业相关工具进行集成。选择使用哪个模型取决于具体的应用场景、用户的技能水平以及可用数据和计算资源。

本文将围绕两个模型运行展开,包括:数据准备,模型参数解读与设置,模型运行与结果输出,模型结果解读与决策支持等内容。本课程培训将你将学会如何使用WOFOST和PCSE这两个农业生产模型进行作物生长模拟,了解不同农作物的生长过程、对环境的响应以及如何进行模拟预测;使你深入了解作物的生长、发育和生态需求,包括光合作用、水分需求、营养吸收等;以帮助你在农业决策中更准确地评估不同因素的影响,如何根据气象、土壤和作物特性做出更明智的决策,例如何时种植、如何灌溉和施肥等;在模型应用过程中,你将需要处理和整理农田相关的数据,这有助于提高你的数据处理和分析能力;同时,你还会学习如何运用模型进行科学研究,如何设置实验和模拟,以及如何解释和分析模型结果。我们将为你提供一系列与农业生产模拟和科学研究相关的技能,这些技能可以在农业、科研和决策支持等领域中发挥作用。

点击查看原文

第一章、理论基础

农作物生长模型概述

1、介绍农作物生长模型的用途和应用领域

2、比较WOFOST模型和PCSE模型的特点和优势

图片

 

第二章、数据准备

1气象数据:

数据类型:温度、降水、湿度、风速等气象要素数据。

数据格式:时间序列数据,通常以日为单位。

获取方法:气象数据通常可以从气象站、卫星数据、气象模型输出或气象数据服务提供商处获取。

处理方法:数据需要按照WOFOST模型的要求进行格式化,包括将数据按照时间步长整理成日数据,并确保数据质量。

2土壤数据:

数据类型:土壤质地、有机质含量、土壤层次、土壤水分保持量等土壤属性。

数据格式:通常以土壤剖面的方式提供,包括不同深度的土壤属性数据。

获取方法:土壤数据可以通过土壤测量、土壤样本分析、土壤数据库或地理信息系统(GIS)来获取。

处理方法:需要将土壤数据与模型所需的土壤层次和深度相匹配,并确保数据质量和一致性。

3农田管理信息:

数据类型:包括灌溉、施肥、播种日期、收获日期等管理实践数据。

数据格式:通常以时间序列形式提供。

获取方法:这些数据通常由农场记录、农民提供或通过问卷调查获得。

处理方法:数据需要与模型的时间步长匹配,并与气象和土壤数据进行时间上的协调。

4作物参数:

数据类型:作物特性、生长速率、生育期、产量潜力等作物参数。

数据格式:通常以具体作物的参数表格或文件形式提供。

获取方法:这些数据可以从农业研究文献、农业扩展服务或专业农业组织获得。

处理方法:将作物参数与特定作物的模型运行相关联。

5其他数据:

地理数据:可能需要地理信息、地形和地理坐标等数据来定义模型的运行区域。

观测数据:实际的农田观测数据,如产量、生长情况、土壤水分等,用于模型校准和验证。

6、处理和准备数据的方法:

数据清洗:确保输入数据没有缺失值或异常值,并进行必要的数据清洗和修复。

数据插值:在需要时,使用插值方法填充缺失的数据,以获得连续的时间序列。

数据格式转换:将数据转换成模型可以接受的格式,通常是文本或表格文件。

数据空间匹配:确保不同来源的数据在时间和空间上匹配,以便模型正确运行。

第三章、WOFOST模型基础

1、WOFOST模型基础:

WOFOST模型的基本原理和生理基础

设置模型输入数据和参数

运行WOFOST模型并解读输出结果

 

图片

2、WOFOST模型的主要参数包括:

    物候发育:根据温度和光照等因素,计算作物的发育阶段(DVS),从0(出苗)到1(开花)到2(成熟)。发育阶段决定了作物的生理状态和同化物的分配比例1。

图片

   光截获:根据叶面积指数(LAI)、辐射水平、散射系数等因素,计算作物冠层内的光强分布和被吸收的光能量。

图片

   CO2同化:根据叶片的光合速率-光响应曲线、温度、CO2浓度等因素,计算作物冠层内各层叶片的CO2同化率和总同化量。

图片

   呼吸作用:根据维持呼吸和生长呼吸的经验公式、温度、干物质含量等因素,计算作物各器官的呼吸消耗量。

图片

   同化物分配:根据发育阶段、干物质分配系数等因素,计算同化物在叶、茎、根、贮藏器官等部位的分配比例和累积量。

图片

   叶面积动态:根据叶片的形成速率、衰老速率和死亡速率等因素,计算叶面积指数(LAI)的变化和总叶面积。

   蒸腾作用:根据潜在蒸散量、气孔导度、土壤水分等因素,计算作物冠层内各层叶片的蒸腾率和总蒸腾量。

图片

   土壤水分平衡:根据降水、渗透、蒸发、蒸腾、排水等因素,计算土壤剖面内各层的土壤含水量和水分亏缺量。

图片

   土壤肥力:根据土壤氮素含量、氮素矿化速率、氮素淋失速率等因素,计算土壤对作物提供氮素的能力和氮素限制系数。

3、WOFOST模型安装和运行:

气象数据库建立:

WOFOST气象格式文件包含长期的月平均值(WOFOST气候)或每月平均时间序列(WOFOST天气)的有关气象变量。

气象数据库的编写遵循独自的语法规则该文件的前三行头文件是带有注释的信息,这些信息用于区分气象站点,此文件存储在.../WCC/METEO/CLIMD。作

气象数据库文件包括最低气温、最高气温、天气辐射、水汽压、风速、降水和每月降水天数。

作物数据库的建立

对每种模拟作物来说,必须为WOFOST模型提供一系列具体的参数。

参数是包括作物的物候学参数、同化和呼吸特征参数以及同化物分配到植物器官的参数等,这些参数保存在安装目录...\WCC\CROPD,在模型控制中心可以通过选择该作物调用该文件进行模拟。

土壤数据库的建立

土壤文件包含土壤物理特性的信息,这些土壤数据常常被模型用来模拟水分限制条件下的日土壤水分平衡,并确定作物的最佳种植日期。

绍WOFOST模型的软件环境、安装步骤、运行界面和操作指南。

图片

图片

4、WOFOST模型输出结果:

介绍WOFOST模型的输出结果类型、含义、展示和分析方法。

图片

图片

5、WOFOST模型校准和优化:

WOFOST模型的校准目标、方法、工具和评价指标。

模型验证:

 

图片

模型参数敏感性分析

 

 

图片

模型参数标定

作物本身的生长发育是一个非常复杂的过程,因此在利用作物模型模拟作物生长过程中涉及的输入参数较多,主要包括气象、作物、土壤、田间管理参数等,在模型参数敏感性分析的基础上,结合实验区实际情况,对敏感性较高的参数进行定标,参数标定部分可参阅文献和网站等资料。

6、WOFOST模型应用案例:

介绍WOFOST模型在不同作物类型、气候条件、管理措施等方面的应用案例。

第四章、PythonCropSimulationEnvironment

1、PCSE模型基础:

"PCSE"通常指的是"PythonCropSimulationEnvironment",它是一个用于模拟农作物生长和生态系统互动的Python软件包。PCSE旨在帮助研究者和农民预测不同农作物在不同环境条件下的生长情况。

图片

2、安装和配置PCSE

1)已安装Python;

2)设置Python环境;

3)使用Python的包管理工具`pip`来安装PCSE。

3、创建PCSE项目:

以创建一个新的Python项目或文件,以开始使用PCSE。

4、设置PCSE输入数据和参数

导入PCSE模块:通导入PCSE的核心模块以及特定的作物模型

```python

frompcse.baseimportParameterProvider

frompcse.fileinputimportCABOFileReader

frompcse.modelsimportWofost71_WLP_FD

frompcse.utilimportWOFOST71SiteDataProvider

```

5、准备数据:

准备与作物模型相关的数据,如土壤性质、气象数据等。

图片

图片

6、配置作物模型:

设置作物种类、种植日期、品种等参数,创建一个包含这些信息的字典。

7、运行模拟:

根据气象数据、土壤属性和农田管理实践,模拟农作物的生长和水分需求。运行PCSE模型,并获取输出结果。

土壤水分情况:PCSE可以提供有关土壤水分的模拟结果,包括土壤水分的变化趋势和水分利用效率。

作物的生长情况:您可以获得作物的生长阶段、叶面积指数(LAI)以及根系水分吸收等信息。

灌溉建议:基于模拟结果,PCSE可能会提供有关何时进行灌溉以及灌溉的数量的建议。

8、分析和可视化:

分析和可视化模拟结果,以便了解农作物生长的预测和模拟。

第五章、案例拓展

1、模型应用和决策支持:

如何使用WOFOST和PCSE模型为农田提供农作物生长和产量预测

模型在灌溉管理、施肥、气候适应性等方面的应用

2、模型的局限性和不确定性:

讨论模型的局限性和假设

评估模型结果的不确定性


点击查看原文

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/54270.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java学数据结构(2)——树Tree 二叉树binary tree 二叉查找树 AVL树 树的遍历

目录 引出什么是树Tree?树的实现二叉树binary tree查找树ADT——二叉查找树Binary Search Tree1.contains方法2.findMax和findMin方法3.insert方法4.remove方法(复杂)二叉查找树的深度 AVL(Adelson-Velskii和Landis)树——平衡条件(balance c…

流处理详解

【今日】 目录 一 Stream接口简介 Optional类 Collectors类 二 数据过滤 1. filter()方法 2.distinct()方法 3.limit()方法 4.skip()方法 三 数据映射 四 数据查找 1. allMatch()方法 2. anyMatch()方法 3. noneMatch()方法 4. findFirst()方法 五 数据收集…

Day43|leetcode 1049.最后一块石头的重量II、494.目标和、474.一和零

leetcode 1049.最后一块石头的重量II 题目链接:1049. 最后一块石头的重量 II - 力扣(LeetCode) 视频链接:动态规划之背包问题,这个背包最多能装多少?LeetCode:1049.最后一块石头的重量II_哔哩…

date_range()函数--Pandas

1. 函数功能 生成连续的日期时间序列 2. 函数语法 pandas.date_range(startNone, endNone, periodsNone, freqNone, tzNone, normalizeFalse, nameNone, inclusiveboth, *, unitNone, **kwargs)3. 函数参数 参数含义start可选参数,起始日期end可选参数&#xff…

01-Flask-简介及环境准备

Flask-简介及环境准备 前言简介特点Flask 与 Django 的比较环境准备 前言 本篇来介绍下Python的web框架–Flask。 简介 Flask 是一个轻量级的 Web 框架,使用 Python 语言编写,较其他同类型框架更为灵活、轻便且容易上手,小型团队在短时间内…

QtCreator指定Windows Kits版本

先说下事件起因:之前一直在用Qt5.12.6+vs2017在写程序,后面调研了一个开源库Qaterial,但是翻来覆去的编译都有问题,后面升级到了Qt5.15.2+vs2019来进行cmake的编译,搞定了Qaterial,但…

软考A计划-系统集成项目管理工程师-小抄手册(共25章节)-下

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列 👉关于作者 专注于Android/Unity和各种游…

深度学习经典检测方法的概述

深度学习经典的检测方法 two-stage(两阶段):Faster-rcnn Mask-Rcnn系列 两阶段(two-stage)是指先通过一个区域提取网络(region proposal network,RPN)生成候选框,再通过…

SLAM十四讲学习笔记 第二期:部分课后实践代码

持续更新.... 前期准备第二讲实验一:简单输出 第五讲任务一:imageBasics(Ubuntu配置opencv)任务二:双目匹配点云(Ubuntu配置pangolin)检验部分我认为可以加深对CMake的理解 任务三:r…

pandas数据分析——groupby得到分组后的数据

groupbyagg分组聚合对数据字段进行合并拼接 Pandas怎样实现groupby聚合后字符串列的合并(四十) groupby得到分组后的数据 pandas—groupby如何得到分组里的数据 date_range补齐缺失日期 在处理时间序列的数据中,有时候会遇到有些日期的数…

springboot源码编译问题

问题一 Could not find artifact org.springframework.boot:spring-boot-starter-parent:pom:2.2.5.RELEASE in nexus-aliyun (http://maven.aliyun.com/nexus/content/groups/public/) 意思是无法在阿里云的镜像仓库中找到资源 解决:将配置的镜像删除即可&#…

STM32 CAN 波特率计算分析

这里写目录标题 前言时钟分析时钟元到BIT 前言 CubeMX中配置CAN波特率的这个界面刚用的时候觉得非常难用,怎么都配置不到想要的波特率。接下来为大家做一下简单的分析。 时钟分析 STM32F4的CAN时钟来自APB1 在如下界面配置,最好配置为1个整一点的数。…

cpolar做一个内网穿透

因为不在公司,需要访问公司的数据库,所以做一个内网穿透 下载安装 下载地址: https://dashboard.cpolar.com/get-started 下载后是个压缩包,解压后傻瓜式安装 操作隧道 安装后打开Cpolar Web UI 登录账号,查看隧…

如何评估分类模型的好坏

如何评估分类模型的好坏 评估分类预测模型的质量,常用一个矩阵、三条曲线和六个指标。 一个矩阵:混淆矩阵;三条曲线:ROC曲线、PR曲线、KS曲线;六个指标:正确率Acc、查全率R、查准率P、F值、AUC、BEP值、KS…

【设计模式--原型模式(Prototype Pattern)

一、什么是原型模式 原型模式(Prototype Pattern)是一种创建型设计模式,它的主要目的是通过复制现有对象来创建新的对象,而无需显式地使用构造函数或工厂方法。这种模式允许我们创建一个可定制的原型对象,然后通过复制…

SVM详解

公式太多了,就用图片用笔记呈现,SVM虽然算法本质一目了然,但其中用到的数学推导还是挺多的,其中拉格朗日约束关于α>0这块证明我看了很长时间,到底是因为悟性不够。对偶问题也是,用了一个简单的例子才明…

软考A计划-系统集成项目管理工程师-小抄手册(共25章节)-上

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列 👉关于作者 专注于Android/Unity和各种游…

求生之路2私人服务器开服搭建教程centos

求生之路2私人服务器开服搭建教程centos 大家好我是艾西,朋友想玩求生之路2(left4dead2)重回经典。Steam玩起来有时候没有那么得劲,于是问我有没有可能自己搭建一个玩玩。今天跟大家分享的就是求生之路2的自己用服务器搭建的一个心路历程。 &#xff0…

React+Typescript 父子组件事件传值

好 之前我们将 state 状态管理简单过了一下 那么 本文 我们来研究一下事假处理 点击事件上文中我们已经用过了 这里 我们就不去讲了 主要来说说 父子之间的事件 我们直接来编写一个小dom 我们父组件 编写代码如下 import Hello from "./components/hello";functio…

记录 JSONObject.parseObject json对象转换 对象字段为null

1.业务背景 使用websocket 接收消息都是String类型,没办法自定义实体类接收,所以接发都必须将json 转 对象 对象转 json。 这是我最开始的实体类,也就是转换的类型 package com.trinity.system.domain;import lombok.AllArgsConstructor; im…