没有合适的资源?快使用搜索试试~ 我知道了~
软件X 10(2019)100271原始软件出版物jDSSAT:DSSAT-CSM集成的JavaScript模块Jonas de Abreu Resenesa, Willingthon Pavana,Carlos Amaral Hölbiga,José Maurício Cunha Fernandesa,Vakhtang Sheliab,Cheryl Porterb,Gerrit Hoogenboomb巴西帕索丰多大学应用计算研究生课程b美国佛罗里达州盖恩斯维尔佛罗里达大学农业和生物工程ar t i cl e i nf o文章历史记录:收到2019年2019年6月24日接受保留字:DSSAT作物模拟JavaScripta b st ra ctDSSAT是一个计算机程序和工具的集合,集成到一个单一的软件包中,以促进作物模拟模型在研究和决策中的应用。DSSAT Shell是一个用户界面程序,使用户能够轻松地选择和使用任何DSSAT组件。它读取文本文件,包括输入和输出的固定宽度格式,为用户提供信息,并能够运行模型。读取DSSAT文件和处理信息以显示给用户的逻辑依赖于Shell本身,并且不能被任何其他系统重用,这使得更难实现DSSATShell的替代方案,因为没有可用的框架来实现处理DSSAT文件的复杂性。DSSAT工具是使用旧的编程技术构建的,如Visual Basic和Delphi,这些技术应该被现代化和标准化的软件开发方法所取代,以获得更好的可维护性。此外,这些工具是独立的,它们不共享代码,这增加了维护它们的工作量。这项工作提出了jDSSAT,一个多平台的JavaScript模块。jDSSAT为读取和处理DSSAT文件提供了一种标准的可重用方法。通过这种方法,我们隔离了处理DSSAT文件的复杂性,以允许在任何环境中集成DSSAT。它还与DSSAT-CSM集成,使其更容易在Linux,Windows和MacOS中运行DSSAT模型。因此,我们提出了一个多平台的用户界面原型创建运行DSSAT作物模型使用的jDSSAT的主要功能此外,与R环境的集成扩展了DSSAT集成的可能性©2019作者由爱思唯尔公司出版这是CC BY许可下的开放获取文章(http://creativecommons.org/licenses/by/4.0/)中找到。代码元数据当前代码版本2.0.0-rc.24用于此代码版本的代码/存储库的永久链接https://github.com/ElsevierSoftwareX/SOFTX_2019_156法律代码许可证列出其中一个已批准的许可证使用git的代码版本控制系统使用JavaScript的软件代码语言、工具和服务编译要求、操作环境依赖性Git和Node如果可用,链接到开发人员文档/手册https://github.com/jabreuar/jdssat/技术jabreu.ar @ gmail.com软件元数据当前软件版本https://www.npmjs.com/package/jdssat此版本可执行文件的永久链接https://www.npmjs.com/package/jdssat合法软件许可证列出其中一个已批准的许可证计算平台/操作系统分布式/基于安装要求依赖Git和Nodehttps://www.npmjs.com/package/jdssat如果可用,请链接到用户手册-如果正式出版,请在参考列表https://www.npmjs.com/package/jdssat技术jabreu.ar @ gmail.com*通讯作者。电子邮件地址:jabreu.ar @ gmail.com(J. de AbreuResenes),pavan@upf.br(W.Pavan),holbig@upf.br(C.A.Hölbig),mauricio. embrapa.br(J.M.C. Fernandes),vakhtang. ufl.edu(五)Shelia),cporter@ufl.edu(C. Porter),gerrit@ufl.edu(G.Hoogenboom)。https://doi.org/10.1016/j.softx.2019.1002712352-7110/©2019作者。 由Elsevier B.V.出版。这是一篇开放获取的文章,使用CC BY许可证(http://creativecommons.org/licenses/by/4.0/)。可在ScienceDirect上获得目录列表SoftwareX期刊主页:www.elsevier.com/locate/softx2J. de Abreu Resenes,W.Pavan,C.A.Hölbig等人/SoftwareX 10(2019)1002711. 介绍作物系统的模拟在过去40年中取得了显著进展[1]。作物建模可以帮助研究人员它也可以作为帮助科学家确定研究优先事项的一种手段。使用模型来估计某些参数的重要性和影响,研究人员可以观察哪些因素应该在未来的研究中进行更多的研究,从而增加对系统的理解[3]。决策支持工具旨在通过引导用户通过明确的决策阶段并呈现不同选项导致各种结果的可能性来帮助用户做出更有效的决策[4]。这些可以是动态软件工具,其建议根据用户的输入而变化农业技术转让决策支持系统(DSSAT)是由国际农业技术转让基准点网络(IBSNAT)科学家DSSAT是作物模拟模型(CSM)、数据库管理程序和决策支持系统(DSS)的组合。CSM是根据先前建立的计算和土壤,天气和作物管理实践的输入数据模拟作物生长和产量的计算机程序[6]。DSSAT-CSM可以模拟一系列作物的产量,二十多年来一直被世界各地的许多科学家、决策者和研究人员使用。它的目的是促进作物模型的应用,在一个系统的方法,农艺研究组成的42个以上的模型。在DSSAT开发之前,作物模型是可用的,但这些模型主要用于创建它们的实验室[7],并且没有一套程序和模型套件可以用作决策工具以及预测种植系统中的一种或多种作物[8]。DSSAT外壳程序提供了一个用户友好的工作环境,其中各种独立的工具和应用程序与DSSAT作物模型无缝集成。 在shell中,用户可以启动应用程序来创建和修改数据文件,运行作物模型并分析结果[9]。然而,DSSAT Shell和DSSAT系统的其他应用程序是单独安装的,是使用寿命终止支持下的技术(如Visual Basic)构建的。另一点是DSSAT工具,包括Shell,仅适用于Windows操作系统,这需要Linux和MacOS的用户处理命令行以在DSSAT-CSM中运行模型。这种方法需要非常好地理解DSSAT-CSM命令,这对某些用户来说可能是痛苦的其他工具,如pyDSSAT[10],在Linux上执行原始Fortran程序的python库,是为了改善DSSAT在Linux操作系统中终端命令行执行的用户体验而构建的还有DASST,这是一个R包,用于读取,处理和写入DSSAT文件[11]。它使用R中可用的工具进行统计和图形分析。此包旨在简化存储在.OUT文件中的DSSAT模拟值的后处理,这些文件提供了将这些数据公开为属于数据.frame对象集合的方法,这些对象可以被认为是表。然而,无论是pyDSSAT还是DASST都无法像DSSAT Shell那样提供完整的它们也不提供多平台JavaScript模块,允许任何用户界面轻松读取和处理DSSAT文件。像DSSAT Shell这样的工具只读取为用户提供信息和运行模型所需的文件。文件处理的实现依赖于DSSAT Shell代码本身,因此它不能在其他任何地方使用。任何与用户界面相关的代码都应该只涉及用户界面代码[12]。还需要实施软件工程最佳实践,如跨平台原则,使DSSAT用户能够轻松地从Windows,Linux和MacOS运行和可视化模拟jDSSAT是一个JavaScript模块,被创建为DSSAT集成的标准方法。该模块能够处理不同的DSSAT文件,如CDE,输出,实验和实验。它被设计为一个模块,可以在客户端1或后端2上运行,方便DSSAT社区的开发人员为DSSAT Shell创建替代方案,而不必担心互操作性和额外的工具安装。jDSSAT模块是跨平台的3,并提供了一系列的JavaScript函数DSSAT-CSM集成,允许任何开发人员建立自己的用户界面运行DSSAT 模型在Linux,Windows和MacOS。本文件其余部分的结构如下。第2节介绍了指导jDSSAT开发的关键技术要求。第3节介绍了jDSSAT的设计和体系结构。第4节介绍了jDSSAT的主要功能及其实现细节。第5节描述了jDSSAT功能的使用模式。最后,第6节提出了我们的结论和未来的研究方向。2. 要求有四个主要功能要求指导了jDSSAT的实施:1. 可移植性:jDSSAT应该在不同的操作系统上运行相同的代码库,这是降低开发成本的关键问题。支持的操作系统此外,它应该与DSSAT-CSM集成,以便在支持的操作系统上运行模型,而无需开发人员指定它。2. 可配置性:为了避免在新的DSSAT版本发布时重写代码,我们将设计一个可配置的系统,可以应用于各种场景。以下是jDSSAT设置选项的汇总列表:• DSSAT工作目录• 支持的DSSAT版本• 支持的输出文件3. 基于Web:jDSSAT模块应通过HTTP访问,其中处理是通过外部服务器上的互联网完成的。应该提供一个REST接口,以允许与不同的编程语言集成4. 可重用性:以各种格式重用jDSSAT工件。它应该在客户端通过NPM使用Web技术,在服务器端通过REST API使用“即jDSSAT旨在以组织良好且易于使用的数据结构(如对象、列表和向量)返回数据。我们将jDSSAT的数据结构描述如下:方法,它们不是为了提供替代方案来创建现代DSSAT外壳本研究的动机是需要应用软件工程技术,建立一个可重用的方法DSSAT集成。我们已经在一个1 从服务器请求页面,并将它们显示给用户。 在大多数情况下,客户端是Web浏览器或离线应用程序。2 负责服务页面。3 是在多个计算平台上实现的计算机软件J. de Abreu Resenes,W.Pavan,C.A.Hölbig等人/SoftwareX 10(2019)1002713图1.一、 使用Facade设计模式的jDSSAT概述。这些入口点代表门面客户端访问系统,并隐藏实现细节。图二. jDSSAT组件体系结构和业务系统集成。用户界面向jDSSAT发送请求,以检索和显示作物、实验和处理等jDSSAT使用节点模块来运行操作,例如进程FLEX和DSSAT-CSM中的运行命令矢量表示具有单一值的列表,例如DSSAT中提供的作物。包含属性名称和属性值的复杂对象。对象数组作为复杂对象的列表,如输出和实验文件。3. jDSSAT模块设计我们已经实现了jDSSAT,使架构尽可能优化和简单。该模块遵循门面软件设计模式,图。1,为子系统中的一组接口提供统一的接口。Facade定义了一个更高级别的接口,使子系统更容易使用[13]。facade模式提供了一个更加孤立的功能实现,并降低了添加问题的风险那些没有被改变的子系统。 这种模式特别适用于系统非常复杂或困难的情况。邪教的理解,因为系统有大量的相互依存的逻辑。jDSSAT运行在Node环境中。图2、我们在用户界面上下文中展示了架构组件。用户界面将jDSSAT作为依赖项加载,并通过jDSSAT向用户提供信息然后,jDSSAT加载NodeJS [15]模块来访问文件系统,子进程和操作系统。例如,如果用户界面需要显示给定作物的可用实验,jDSSAT将处理作物文件夹中的在jDSSAT启动之前,必须初始化与DSSAT的任何集成。它首先识别正在运行的平台(Windows、Linux或MacOS),然后使用操作系统···4J. de Abreu Resenes,W.Pavan,C.A.Hölbig等人/SoftwareX 10(2019)100271表1CSM操作模式改编自DSSAT 4种植系统模型(CSM)概述[14]。运行模式描述命令行参数批处理实验和处理列在批处理文件B batchfilename灵敏度分析屏幕交互式修改输入参数的用户界面E文件X处理#序列分析土壤过程是连续的,作物序列列在批处理文件Q batchfilename空间分析在空间上模拟一种或多种作物S批文件名季节性分析在相同初始条件下运行多年N批次文件名交互式屏幕用户界面,用于交互式选择实验和处理(无)运行所有处理指定实验的所有处理均运行A FileX不调用输入模块读取FLEX、土壤文件或栽培品种文件。而是读取临时输入文件(inpfile)D输入文件表2辅助jDSSAT函数及其说明。功能描述path()返回本地DSSAT安装路径version()返回jDSSAT使用的DSSAT版本platform()返回运行jDSSAT的平台(Win32、Darwin或Linuxtree()返回文件夹模型对象的数组。experimentDescription(experiment,filePath)返回一个带有实验描述的字符串jdssat.jdssatBashFile(crop,experiments[])使用模板outFiles(crop)返回一个输出文件名数组cde()返回一个包含cde、标签和描述字段的对象数组openExternalTool(name)打开DSSAT Shell外部工具jdssat.openDssatFolder()打开当前DSSAT文件夹jdssat.openFileInEditor(crop,fileName)在编辑器中打开文件。使用的编辑器取决于平台jdssat.getDataFiles(crop)返回以.* 结尾的裁剪中的所有文件A或.*T延伸folders()返回DSSAT安装路径中的所有文件夹filePreview(crop,fileName)返回html标记batchCommand创建一个批处理命令runBatchFile(crop)使用子进程节点模块运行批处理命令提供包含平台名称(win32、darwin或linux)的对象的模块。然后,为外部工具配置DSSAT CSM可执行文件名、文件系统模式和文件夹名称。这些配置存储在配置文件中,以避免在未来DSSAT版本中发生某些路径更改时更改代码。最后,jDSSAT查找用户计算机上安装的最新DSSAT版本,并将此版本作为模拟期间的默认值。作为jDSSAT初始化的结果,我们现在可以使用jDSSAT公共函数(表2)来读取、处理和写入DSSAT-CSM文件。当一个函数需要读取文件夹或文件内容时,jDSSAT使用Node中的File System(fs)模块进行文件系统调用。fs模块提供了一个API,用于以一种紧密围绕标准POSIX函数建模的方式与文件系统进行交互[16]。DSSAT-CSM提供了一种运行模型模拟的机制,通过命令行执行命令,这是由jDSSAT使用。jDSSAT中的命令行集成是由子进程模块完成的,该子进程模块允许访问操作系统功能。因此,一旦调用jDSSAT模拟函数,就会在操作系统上执行命令其他组件和实现细节将在后面的章节中讨论。4. 实现和测试jDSSAT的实现分为两个主要部分:DSSAT文件处理和DSSAT-CSM集成。本节讨论jDSSAT当前版本的实现以及我们如何测试其功能。4.1. DSSAT文件处理jDSSAT能够为特定实验处理FLEX。该文件包含有关处理、田间条件、作物管理和模拟控制的数据[14],使用 *.* 裁剪文件夹X扩展。此外,jDSSAT可以处理包含模拟结果的作物模型生成的OUTPUT文件。 通用DSSAT配置文件,命名为DSSATPRO,进行处理,以提供信息,如扩展,命令行和路径的每一个作物。4.1.1. 裁剪文件夹jDSSAT使用DSSAT安装目录内容来查找DSSATPRO文件,该文件指定DSSAT中使用的所有程序和数据文件的位置[9]。DSSATPRO扩展文件取决于安装的DSSAT版本,在Windows,Linux 和 MacOS 上 , 最 新 发 布 的 DSSAT 版 本 是 v47 。 为 了 在DSSAT中提供可用作物的列表,jSSAT必须在Windows上读取并解析DSSATPRO.v47文件,以构建包含作物名称、位置文件夹和作物扩展名的对象数组内容中没有FLEX的文件夹将不会返回。4.1.2. 阅读实验读取实验功能将查找所有FLEX文件夹内的内容。该函数将查找以 *.* 结尾的文件裁剪文件夹中的X扩展名。对于每个FLEX文件,算法1创建一个实验数组,对象包含描述、修改日期、名称和编号作为对象字段。4.1.3. 阅读治疗治疗功能(图3)将接收FLEX名称数组作为输入。每个FLEX包含一个治疗部分,如图所示。4行17到22,将用于检索治疗信息 。 jDSSAT 首 先 加 载 FLEX 内 容 , 然 后 它 将 通 过 执 行 *CULTIVARS索引的子字符串来解析内容。 之后,通过子字符串的行进行循环,以获得治疗,治疗编号和实验,以格式化对象作为函数响应的一部分发送。J. de Abreu Resenes,W.Pavan,C.A.Hölbig等人/SoftwareX 10(2019)1002715图三. 治疗功能实现。对于作为输入接收的每个FLEX,函数加载其内容,并在文件中查找治疗部分,并加载治疗对象数组作为结果。见图4。 来自大麦作物的FLEX(IEBR8201.BAX)的部分含量。jDSSAT从这个文件中读取第17到22行的处理,并返回格式化的响应治疗属性为编号(N)和名称(TNAME)。4.1.4. 正在读取.OUT文件作物模拟模型可以提供模拟作物的非常详细的输出。然而,分析输出是令人困惑的。jDSSAT提供了一种简单的方法来读取和处理这些文件。模拟的结果存储在.OUT扩展名文件中,这些文件包含固定的宽度格式。 参见图 5,第11行是表示变量名称的标题,每行后标题是变量值,如果模拟运行了多个实验(第7行)或治疗(第9行),该文件将在其内容上具有更多的标题和变量值读取输出文件函数接收裁剪名称和输出文件名称作为输入。裁剪名称变量值将用于标识输出文件在用户6J. de Abreu Resenes,W.Pavan,C.A.Hölbig等人/SoftwareX 10(2019)100271图五. OUT文件的部分内容,jDSSAT的读取输出文件函数将处理第11到31行,结果将返回一个对象数组,变量名及其值,因此输出文件中的列数将是结果数组中的对象数算法1:获取给定裁剪算法输入:作物输出:实验数组1 当作物内容不为空时,2个指令;3如果是FLEX,则4在实验数组中添加对象;5其他6继续;7端端8机找到输出文件位置后,jDSSAT将读取outfile文件内容,如下所示:1. 使用索引、长度和变量名创建头对象2. 初始化对象数组以存储实验、治疗编号、治疗及其值。3. 循环播放。4. 查找运行编号、实验和处理。这些信息中的每一个都有一个前缀。这一步是通过查看运行,模型和实验在行乞的回报。如果找到其中一个标识符,jDSSAT将读取后面的内容行。5. 读取模拟值。在DSSAT输出文件中,@当jDSSAT在在行的开头,它创建一个辅助数组来存储标题。空格之间的每个值将是头数组上的一个见图6。读取输出文件函数对象结果。它显示找到的全部变量和部分变量及其值的内容。6. 获取每个标头变量的值该算法应考虑循环中的下一行将包含数据,类似于EasyGrapher这个过程应该一直执行,直到算法找不到下一次运行。7. 如果中有多个运行,请重复所有步骤输出文件。读取DSSAT输出文件的结果将是一个数组,我们在图中看到。6 , 包 含 每 次 运 行 的 对 象 。 jDSSAT 还 读 取Summary.OUT 和Overview.OUT以提供有关仿真结果的更多信息。J. de Abreu Resenes,W.Pavan,C.A.Hölbig等人/SoftwareX 10(2019)1002717图7.第一次会议。一 个运行DSSAT模型的用户界面,使用jDSSAT函数响应构建。该UI有四个主要组件:(一)选择器,用于用户选择作物;(b)数据,显示可用于作物选择的实验;(c)可用于所选实验的处理;以及(d)文件预览,显示FLEX预览。(For对本图图例中所指颜色的解释,读者可参考本文的网络版见图8。 玉米模拟实验的结果。利用jDSSAT的读取输出函数,反演了植株的营养重(橙色线)和冠重(蓝线)变量值。(关于此图例中颜色的参考解释,请读者参考本文的网络版本4.2. DSSAT-CSM集成DSSAT-CSM将所有作物的模型整合在一套代码中。运行模式由调用模型时的命令行参数指定。如果模型使用DSSAT shell运行,这些命令行对用户是透明的[14]。CSM有一组可用的命令,表1,运行模式批次和灵敏度在当前的jDSSAT版本中可用。jDSSAT中的子进程Node模块允许通过运行任何系统命令来访问操作系统功能。4.2.1. 运行仿真要运行CSM模型,首先我们需要选择要模拟的实验和处理。一组实验和处理可以在单个模拟或批处理模式中运行。单个实验/治疗可以作为批量模拟或灵敏度模式运行[18]。jDSSAT方法是批处理模拟。模拟分为两个步骤。1. 创建批处理文件:批处理文件是一组用于运行模型(例如实验和治疗列表)的配置。在jDSSAT中有一个此文件的预构建模板该函数使用此模板填充配置,以便以批处理模式运行模型。2. 运行命令:在创建批处理文件之后,jDSSAT使用子进程节点模块[19]来执行在命令行解释器中创建的命令。4.3. 辅助功能在其他方面也有辅助功能,以帮助用户了解其他信息,如DSSAT版本和正在使用的路径。辅助功能的完整列表见表2。4.4. 模块测试我们已经使用jDSSAT函数创建了一个用户界面,如图所示。7、运行DSSAT模型。该用户界面为用户提供选择作物、实验和处理的功能。此外,它还显示正在处理的文件的预览。运行模拟的选项在屏幕上的蓝色按钮中可用。用户界面还提供了一个图形生成器,图Fig. 8,为用户可视化的模拟结果,它提供了选择作物的选项,什么输出文件和什么变量绘制在一个图形.创建了一个简单的R包来测试HTTP上的jDSSAT。这个包在本地机器上下载jDSSAT,并启动一个API将请求从R发送到jDSSAT。图9给出了R.5. 实际应用本节讨论jDSSAT的实际使用及其功能。有一个框架项目,需要根据下一个会话的指令使用该项目的基本配置来运行jDSSAT函数8J. de Abreu Resenes,W.Pavan,C.A.Hölbig等人/SoftwareX 10(2019)100271见图9。实验函数在R中通过jDSSAT API运行。右侧显示了从大麦作物中检索实验的代码示例,左侧显示了实验结果函数的帧。图10个。 用于初始化、读取实验和处理、运行模拟和检索结果的jDSSAT函数示例。5.1. 安装jDSSAT 可 以 通 过 Node 包 管 理 器 ( npm ) 获 得 , npm 是JavaScript的包管理器[20]。下载可以通过运行npm install jdssat命令完成。jDSSAT下载完成后,节点模块下会自动创建一个文件夹。项目应用node_modulejdssat源5.2. 功能代码见图。10显示了如何初始化和使用实验,治疗,模拟和读取输出文件功能。初始化功能需要jdssat模块,默认初始化功能识别平台Windows(win32),Linux和MacOS(darwin),然后通过查看Win32上的“C:/”或Darwin和Linux平台上的“/”来查找用户机器上安装的最新DSSAT版本此外,它还加载了一系列配置,例如操作系统的基本路径,DSSATPRO [7]的版本和其他用于管理固定宽度格式属性的额外数据。实验功能输入是一种作物,它从所选作物中读取所有FLEX。此外,实验被用作处理函数的输入运行DSSAT模型J. de Abreu Resenes,W.Pavan,C.A.Hölbig等人/SoftwareX 10(2019)1002719在模拟中,jDSSAT运行模拟函数期望作物和具有所选实验的对象阵列。参见图10(第18、19和20行),阵列内的对象由实验、治疗和治疗编号组成。最后,读取输出函数输入的是一个作物选定并输出的文件名。6. 结论和今后的工作在本文中,我们提出了jDSSAT,一个灵活和强大的JavaScript模块,抽象的复杂性读取和处理DSSAT文件。该模块与DSSAT-CSM集成jDSSAT的实施还突出了互操作性的好处,这一直是DSSAT工具中的一个问题。此外,jDSSAT被设计为DSSAT集成的标准模块,这减少了在其他编程语言(如R)中构建与DSSAT集成的工作jDSSAT是一个正在进行的项目。我们打算重用它的代码,以便在Web上运行DSSAT模型。还需要开发一个端到端用户界面,作为目前DSSAT外壳的替代。竞合利益本文的一位或多位作者已经披露了潜在或相关的利益冲突,其中可能包括直接或间接收到付款,机构支持,或与生物医学领域的实体有关联,这些实体可能被认为与这项工作有潜在的利益冲突 有关完整披露声明,请参阅https://doi.org/10.1016/j.softx。2019.100271。致谢非常感谢我的顾问Willingthon Pavan教授和我的共同顾问CarlosAmaral Holbig 教 授 博 士 的 所 有 支 持 和 反 馈 。 此 外 , 感 谢 JoséMaurício Cunha Fernandes教授在这项工作中的反馈和合作。特别感谢Gerrit Hoogenboom博士的所有支持,并开放和接受DSSAT社区的这项工作引用[1]Boote KJ,Jones JW,Hoogenboom G,White JW.作物系统模拟在农业和环境 中 的 作 用 。 Int J Agric Environ Inform Syst 2010;1 ( 1 ) : 41-54.http://dx.doi.org/10.4018/jaeis.2010101303网站。[2]Liu H,Liu H,Lei Q,Zhai L,Wang H,Zhang J,Zhu Y,Liu S,Li S,Zhang J,Liu X.利用DSSAT模型对华北平原小麦-玉米两熟制下的小麦产量和土 壤 有 机 碳 进 行 了 模 拟 。 J Integrative Agric2017;16 ( 10 ) : 2300-7 。http://dx.doi.org/10.1016/S2095-3119(17)61678-2.[3]Dourado-NetoD,Teruel D,Reichardt K,Nielsen D,Frizzone JA,BacchiOOS.作物建模与仿真原理:一、作物建模与仿真的基本原理数学模型在农业科学中的应用。农业科学1998;55(SPE):46-50.[4]RoseDC,Sutherland WJ,Parker C,Lobley M,Winter M,Morris C,Twining S,Ffoulkes C,Amano T,Dicks LV.农业决策支持工具:实现有效的设计和交付。Agric Syst2016;149:165-74.[5]Sarkar R,et al.使用DSSAT模拟种植系统。CAB Rev 2009;4(025):1-12。http://dx.doi.org/10.1079/PAVSNNR20094025网站。[6]Sarkar R,Kar S.利用DSSAT季节分析评价可持续稻麦种植系统的管理策略。农业科学杂志2006;144(5):421-34.[7]Jones J , Hoogenboom G , Porter C , Boote K , Batchelor W , Hunt L ,Wilkens P,Singh U,Gijsman A,Ritchie J. DSSAT种植系统模型。Eur JAgron 2003;18(3):235-65. http://dx.doi.org/10.1016/S1161-0301(02)00107-7.[8]萨卡河农业技术转让的决策支持系统。In:Licht- fouse E,editor.有机肥料、土壤质量和人类健康。Dordrecht:Springer Netherlands; 2012,p. 263-99.http://dx.doi.org/10的网站。1007/978-94-007-4113-3_10。[9]Wilkens PW,Hoogenboom G,Porter CH,Jones JW,Uryasev O. DSSATv4数据管理和分析工具:第2卷。国际农业系统应用联合会; 2004年,p. 177.[10]何晓,彭丽,孙华.pyDSSAT文档1.0版2 0 1 5 年,http://xiaoganghe.github.io/pyDSSAT/doc/index.html。[2018年9月16日访问]。[11]洛扎·H Dasst:用于读取、处理和写入DSSAT文件的工具,R软件包版本0.3.3,阿根廷布宜诺斯艾利斯。2017年,https://github.com/hlozza/Dasst。[2018年7月10日访问]。[12]福勒M 分隔用户界面代码。 IEEE Softw2001;18(2):96-7.[13] 伽 马 E 设 计 模 式 : 可 重 用 面 向 对 象 软 件 的 元 素 。 Pearson EducationIndia;1995.[14]Porter CH,Wilkens PW.DSSAT v4.5概述:卷。1.一、[15] Nodejs Foundation. Node.js. 2018年12 月28日, https://nodejs.org/en/。[2018年9月24日访问]。[16]赫伦·DNode web development.Packt Publishing Ltd; 2013.[17]Yang J,Huffman ET. EasyGrapher:DSSAT输出的图形和统计验证软件。计算机电子农业2004;45(1):125-32.http://dx.doi.org/10.1016/j.compag.2004.06.006网站。[18]Jones JW,Tsuji GY,Hoogenboom G,Hunt LA,Thornton PK,WilkensPW,Imamura DT,Bowen WT,Singh U.农业技术转让决策支持系统:DSSAT v3。In:Tsuji GY,Hoogenboom G,Thornton PK,editors.了解农业 生 产 的 选 择 。 Dordrecht : Springer Netherlands; 1998 , p. 157-77.http://dx.doi.org/10.1007/978-94-017-3624-4_8.[19] Wilson J. Node.js 8 The Right Way : Practical , server-side JavaScriptthatscales.实用书架;2018.[20]npm公司节点包管理器。 2018年12月28日,https://www.npmjs.com/。[2018年7月10日访问]。
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- IPQ4019 QSDK开源代码资源包发布
- 高频组电赛必备:掌握数字频率合成模块要点
- ThinkPHP开发的仿微博系统功能解析
- 掌握Objective-C并发编程:NSOperation与NSOperationQueue精讲
- Navicat160 Premium 安装教程与说明
- SpringBoot+Vue开发的休闲娱乐票务代理平台
- 数据库课程设计:实现与优化方法探讨
- 电赛高频模块攻略:掌握移相网络的关键技术
- PHP简易简历系统教程与源码分享
- Java聊天室程序设计:实现用户互动与服务器监控
- Bootstrap后台管理页面模板(纯前端实现)
- 校园订餐系统项目源码解析:深入Spring框架核心原理
- 探索Spring核心原理的JavaWeb校园管理系统源码
- ios苹果APP从开发到上架的完整流程指南
- 深入理解Spring核心原理与源码解析
- 掌握Python函数与模块使用技巧
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功