APSIM作物生长模型学习

news2024/11/17 13:45:04

由于研究需要,将对APSIM模型使用进行一定学习,特做此笔记,也供该模型的初学者共同进步。
首先是版本选择,这个模型发展较长,有经典的classic版本和次世代版本,而经过实际验证,次世代版本和经典版本的模型文件不互通,就是说不能打开彼此的模型,而绝大部分教程都是基于经典版本,因此建议各位使用经典版本,毕竟算法上没有本质区别。

首先软件的基本功能栏
使用上面的基础操作
其中除了框选出的基本功能,还包括了:

  1. 导出允许您以多种格式导出图表。
  2. Checkpoint 创建模拟快照,允许您在比较之前和之后进行操作或还原更改。
  3. 插入新图形会弹出“添加新”图形向导。
  4. Excel 允许您将输出文件导出为逗号分隔的文本文件。
  5. Factorials是一个高级主题,将在单独的模块中进行研究。
  6. Generate生成一个 zip 文件,其中包含远程运行所需的提交文件。
  7. 帮助将您定向到本地帮助文件;但是,有许多支持选项将在单独的模块中讨。

练习1:休耕地的水平衡

我们将创建一个模拟,以检验土壤类型不同的两个位置的休耕地随时间的水分平衡。

  1. 点击new,会看到这样一个窗口。

    因为所有模拟通常共享相同的基础组件,所以不建议从头开始建立新文件。最好的方法是选择最接近你要构建的模型,然后对其进行修改。在本练习中,我们将使用连续小麦模拟。单击“Continuous Wheat.apsim”,然后单击“打开”。
  2. 单击save。创建一个名为“Apsim Training”的新文件夹以保存你的所有工作。请记住此位置,因为您将将所有培训模块保存到此位置。将文件另存为Module1.apsim。现在将看到加载的新模拟。

    Apsim UI由四个面板组成;顶部的主工具栏,左侧的模拟树列出了加载文件中的所有组件,右侧的模块属性窗格和底部的栏列出了可用的工具箱。

工具箱

Apsim中的所有可用组件都包含在工具箱中。每当您需要向模拟中添加新组件时,您可以在屏幕底部的一个工具箱中找到它。可以添加自己的工具箱;例如,您可能有一些经常使用的组件,并希望使它们更易于访问。也许你写了一些脚本,想和同事分享。或者您已经定制了一些标准组件并希望重用它们。我们将加载一个预先制作的工具箱,以便更容易地访问一些土壤数据。

  1. 单击选项按钮。单击“添加工具箱”。导航到APSIM安装文件夹(默认情况下,该文件夹位于C:\Program Files(x86)\APSIM[version]-r[revision]\UserInterface\Toolboxes文件夹中)。单击Training.xml,然后单击打开。您现在应该看到以下内容(您的路径将不同):

    单击“确定”,您将在APSIM窗口底部的工具箱栏中看到新工具箱。此工具箱包含可在培训课程中使用的组件。

    通过从模拟中拖放组件,可以将自己的组件添加到工具箱中。您也可以直接从另一个工具箱复制它们。请注意,您不能将任何内容添加到此培训工具箱,因为Program Files文件夹是写保护的。

建立模型

  1. 首先,我们将确保使用正确的天气数据。在仿真视图中单击相交构件。您应该能够看到加载的Goondiwindi的天气数据。
    在这里插入图片描述

  2. 接下来,我们将设置模拟的开始和结束日期。在时钟组件中,将开始日期设置为1/1/1989,将结束日期设置为31/12/1989。
    在这里插入图片描述

  3. 现在我们要改变土壤。单击先前加载的训练工具箱。从工具箱中拖动“重粘土”土壤节点,并将其放置在模拟中的围场节点上。

  4. 通过单击旧土壤并按Delete键删除旧土壤。通过右键单击并选择“上移/下移”,可以对零部件重新排序。

  5. 我们需要设定土壤的起始水和氮条件。展开新的土壤节点,然后单击“初始水”。确保选中“从顶部填充”,并将可用分数设置为10%。

  6. 单击初始氮组分,将起始NO3设置为50 kg/ha,将起始NH4设置为3 kg/ha。我们将在整个土壤剖面上均匀分布。首先,我们需要告诉APSIM,我们希望以千克/公顷为单位,而不是ppm。注意列标题文本的颜色。这表示可以通过右键单击列标题来更改单位。将NO3和NH4更改为kg/ha,然后输入以下值。

  7. 我们希望氮在整个土壤剖面上均匀分布。要了解纵断面的深度,请单击“土壤”下的“水”节点。

    我们可以看到土壤剖面有180厘米深,分为七层。返回初始氮气节点,将深度更改为0-180。

  8. 在“表面有机物质”节点中,检查“有机物质类型”是否为小麦,“初始表面残留物”是否为1000 kg/ha。这意味着我们开始模拟1000公斤/公顷的小麦秸秆。这会随着时间的推移而腐烂,将营养物质放回土壤中。它还将减少表面蒸发。

  9. 删除肥料和小麦成分以及管理器文件夹,因为休耕模拟不需要它们。现在应该是这样的:

  10. 重命名模型。为此,右键单击Continuous Wheat并选择“重命名”。输入“Clay Fallow”。

  11. 模拟结果在“outputfile”节点中找到。这也是设置要报告哪些变量以及报告频率的地方。单击“outputfile”节点,删除除第一个变量“dd/mm/yyyy as Date”之外的所有变量。

输入新变量有两种方法。您可以将它们直接键入“输出文件列”列表,或从右侧窗格中选择它们(双击或拖动)。此窗格显示所选组件的所有可用变量。通过右键单击并选择向上/向下移动,或使用键盘快捷键(Ctrl+向上/向下箭头),可以更改它们在列表中的顺序。

输入要报告的以下变量:
在这里插入图片描述
15. 单击“报告频率”以指定变量写入输出文件的频率。您可以选择定期间隔,例如每天或每月/年一次等,也可以指定事件。例如,您可能希望在播种、收获或施肥时输出。一个输出文件中可以有多个事件,但如果一天同时满足这两个条件,这将导致重复写入。
对于此模拟,我们希望每天输出,因此删除“harvesting”(没有作物可收割,因此不会写入)并键入“end_day”。

16.我们已经完成了模拟的构建。单击主工具栏上的“运行”按钮。
17. 运行完成后,单击“outputfile”组件以查看结果。这只是一个文本文件,因此您可以轻松地将其导入其他程序进行分析。它将保存在模拟所在的同一目录中,文件名为<simulation_name>.out。如果没有可用文件,则表示运行失败。检查“summaryfile”中的错误。

结果绘图

Apsim能够在用户界面中进行基本的可视化和分析。让我们使用内置的APSIM图形以图形形式显示输出文件。

我们将创建日期与ESW和雨(右手轴)的关系图。
在这里插入图片描述
在这里插入图片描述
尝试创建日期与径流(run off)和雨水(右手轴)的图表。将图形类型更改为“点线”并将点类型设置为“无”。提示:您可以通过将图表拖动到您希望它出现的节点来复制图表。尝试将您的图形复制到输出文件节点,然后编辑新图形。要删除变量,请单击它并按删除。它应该是这样的:
在这里插入图片描述

图像比较

您经常会想要检查多个模拟之间的差异。 让我们来看看径流对两种不同土壤类型的水平衡的影响。 为此,我们将复制模拟以创建一个完全相同的新模拟。

  1. 将 Clay Fallow 节点向上拖动到顶部模拟节点。
    在这里插入图片描述

  2. 将这个新模拟重命名为“Sand Fallow”。
    在这里插入图片描述

  3. 将 Sand soil 从 Training 工具箱拖到新的 Sand Fallow 模拟下的paddock上。然后删除重粘土。在删除旧土壤之前添加新土壤非常重要,这样引用该土壤的其他组件就不会丢失它们的链接。如果没有土壤成分,您将需要重新设置它们。
    在这里插入图片描述

  4. 因为我们有一个新的土壤,我们需要重新设置初始水和氮。将初始水从顶部填充至 10%,氮气至 NO3 至 50 kg/ha,NH4 至 3 kg/ha,深度至 0-180。

  5. 运行 Apsim。

  6. 通过将 XY 图拖到树中顶部的“模拟”节点上,将两个模拟绘制在一起。将其重命名为runoff。

  7. 在右手轴上创建日与径流(累积)和降雨的图表。要使径流累积,使用与右手轴相同的程序,只需从弹出菜单中选择“累积”。将点类型设置为“无”。
    在这里插入图片描述

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

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

相关文章

RHCSA 第六天笔记

网络配置 1,ip 命令 ip a 2,修改配置文件(不推荐) 3,nmcli命令 4,nmtui命令 5,cockpit 网络接口是指网络中的计算机或网络设备与其他设备实现通讯的进出口。这里,主要是指计算机的网络接口即网…

学习笔记之Vue组件化编程(二)

Vue组件化编程(二)Vue组件化编程一、模块与组件,模块化与组件化1.1 对组件的理解1.2 模块1.3 组件1.4 模块化1.5 组件化(二)Vue组件化编程 一、模块与组件,模块化与组件化 1.1 对组件的理解 在传统式编写…

Centos7下mysql8.0读写分离的配置

1.前言 1.关于读写分离的原理,这里不做太多赘述。主要从服务器去读取主服务的binlog日志,完成数据同步的过程。 这里我在mac开启了2个虚拟机,ip分别为192.168.31.109 ,192.168.31.208系统为centos 2.配置主从分离之前,需要安装…

第二十五讲:OSPF路由协议邻居认证配置

在相同OSPF区域的路由器上启用身份验证的功能,只有经过身份验证的同一区域的路由器才能互相通告路由信息。这样做不但可以增加网络安全性,对OSPF重新配置时,不同口令可以配置在新口令和旧口令的路由器上,防止它们在一个共享的公共…

android血量条的制作

最近,项目中需要用到血量条,想到血量条这东西,在游戏中经常见到。那么,再android开发中如何制作血量条呢?这里本人想到了两种方法,在网上找到一种最优方案。 方法一:用多张相同的图片拼凑而成的…

Docker安装nginx以及nginx-gui控制面板

一、安装nginx 1、搜索镜像 docker search nginx2、拉取镜像 docker pull nginx3、创建Nginx挂载配置文件 # 创建挂载目录 mkdir -p /install/nginx/conf mkdir -p /install/nginx/log mkdir -p /install/nginx/html# 生成容器 # 将容器nginx.conf文件复制到宿主机 # 将容器…

公网远程连接本地socket服务【内网穿透】

文章目录1. 配置本地socket服务2. 本地socket服务暴露至公网2.1 创建隧道映射9999端口2.2 获取公网地址3. 公网连接本地socket服务端1. 配置本地socket服务 Java 服务端demo环境 jdk1.8框架:springbootmaven开发工具:IDEA 在pom文件引入第三包封装的netty框架maven坐标 <…

【MyBatis】安装 + 框架搭建 + 优化 + 增删改查(全程一条龙服务讲解~)

目录 前言 一、准备工作 1.1、下载MyBatis 1.2、数据库设计 二、搭建框架 2.1、创建Maven项目 2.2、jar包、引入依赖 2.3、创建MyBatis核心配置文件 2.4、映射文件 2.5、通过junit测试功能 2.6、框架优化 三、增删改查优化 四、小结——注意事项 前言 本篇全程从0…

软件测试工程师的发展道路

最近看到一些测试朋友&#xff0c;对测试未来比较迷茫&#xff0c;不知该如何前行&#xff0c;无方向感。目前来看&#xff0c;业界目前存在一个普遍的矛盾&#xff0c;一方面很多人会觉得测试没有发展前途&#xff0c;另一方面&#xff0c;又有非常多的企业急需专业的测试人员…

React学习05-React Router 5

React Router 5 相关理解 SPA 单页Web应用&#xff08;single page web application&#xff0c;SPA&#xff09;。整个应用只有一个完整的页面。点击页面中的链接不会刷新页面&#xff0c;只会做页面的局部更新。数据都需要通过ajax请求获取, 并在前端异步展现。 路由 什么…

全球十大数据安全事件

2021年&#xff0c;数据隐私泄露事件频发&#xff0c;涉及面广&#xff0c;影响力大&#xff0c;企业因此陷入数据保护合规与社会舆情压力的双重危机。近日&#xff0c;有国外媒体梳理了2021年十大数据泄密事件&#xff0c;并对事件进行了点评分析&#xff0c;可供读者参考。据…

第二十九讲:神州路由器DHCP协议的配置

实验拓扑图如下所示 操作步骤&#xff1a; 步骤1&#xff1a;按照图1&#xff0c;正确连接拓扑结构图。 步骤2&#xff1a;为路由器设置主机名称和配置接口IP地址。 Router>enable &#xff01;进入特权模式 Router #config &a…

MySQL高级【SQL性能分析】

目录 1&#xff1a;SQL性能分析 1.1&#xff1a;SQL执行频率 1.2&#xff1a;慢查询日志 1.3&#xff1a;profile详情 1.4&#xff1a;explain 1&#xff1a;SQL性能分析 1.1&#xff1a;SQL执行频率 MySQL 客户端连接成功后&#xff0c;通过 show [session|global] sta…

2022年的5G行业:“5G+”很火,5G网络迟迟未能普及

作者 | 曾响铃 文 | 响铃说 2022年&#xff0c;5G行业依旧是如火如荼地发展&#xff0c;5G技术继续深刻地改变着我们的生活与生产&#xff0c;影响社会经济发展的方方面面。 回顾过去的一年&#xff0c;5G行业有看点&#xff0c;也有疑虑。 5G网络已基本覆盖全国。截至 202…

PaddleNLP开源基于UIE的情感分析,解决小样本难题,助力客户意见洞察与舆情分析!

情感分析&#xff08;Sentiment Analysis&#xff09;是近年来国内外研究的热点&#xff0c;旨在对带有情感色彩的主观性文本进行分析、处理、归纳和推理。情感分析具有广泛的应用场景&#xff0c;可被应用于消费决策、舆情分析、个性化推荐等领域。 如上图所示&#xff0c;情…

移位操作符、位操作符,原码、反码、补码

整数的二进制的表达形式有3种。原码反码补码下面我们举一个例子吧十进制的2原码&#xff1a;00000000000000000000000000000010&#xff08;常见的形式&#xff09;反码&#xff1a;00000000000000000000000000000010补码&#xff1a;00000000000000000000000000000010小结 正整…

k8s集群部署02

k8s集群部署02k8s集群部署02仍然报错若镜像拉取过慢原因k8s集群部署02 一、pod基本操作Pod是可以创建和管理Kubernetes计算的最小可部署单元&#xff0c;一个Pod代表着集群中运行的一个进程&#xff0c;每个pod都有一个唯一的ip。一个pod类似一个豌豆荚&#xff0c;包含一个或…

Hack the Box CTF 比赛 简单难度 XOR 密码学题目 Crypto 流程| Multikey Walkthrough

这是近期参加HTB夺旗战时遇到的一道难度为简单的密码学Crypto题目。但是我觉得挺有意思&#xff0c;就做下记录。 1. 题目&#xff1a; 题干没有太多的内容&#xff0c;就是一段python程序&#xff0c;和一个output的加密结果&#xff0c;如下。 Python&#xff1a; import …

【数据结构】手推堆实现,拳打堆排序,脚踩Top-k

目录一.完全二叉树的顺序结构二.堆的概念及结构三.堆的实现1.堆向下调整2.向下调整建堆3.向下调整建堆时间复杂度4.堆的插入&#xff08;向上调整&#xff09;5.向上调整建堆6.向上调整建堆时间复杂度7.堆的删除8.堆的代码实现四.Top-K问题五.堆排序一.完全二叉树的顺序结构 堆…

GPIO实验

一、GPIO简介 GPIO&#xff08;General-purpose input/output&#xff09;即通用型输入输出&#xff0c;GPIO可以控制连接在其之上的引脚实现信号的输入和输出 芯片的引脚与外部设备相连&#xff0c;从而实现与外部硬件设备的通讯、控制及信号采集等功能 实验步骤1. 通过电路…