[发明专利]一种namelist文件的验证和纠正方法、装置、设备及可读介质有效
| 申请号: | 202110354371.X | 申请日: | 2021-04-01 | 
| 公开(公告)号: | CN113076214B | 公开(公告)日: | 2022-12-20 | 
| 发明(设计)人: | 张敏;刘羽 | 申请(专利权)人: | 山东英信计算机技术有限公司 | 
| 主分类号: | G06F11/07 | 分类号: | G06F11/07;G06F16/14;G06F16/16 | 
| 代理公司: | 北京连和连知识产权代理有限公司 11278 | 代理人: | 刘小峰;宋薇薇 | 
| 地址: | 250101 山东省济南市高新区*** | 国省代码: | 山东;37 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 一种 namelist 文件 验证 纠正 方法 装置 设备 可读 介质 | ||
本发明公开了一种namelist文件的验证和纠正方法,包括以下步骤:获取并基于namelist文件提取得到第一参数文件,获取并基于应用的应用代码读取得到第二参数文件;将第一参数文件与第二参数文件进行比对,以判断namelist文件与应用是否匹配;若是namelist文件与应用不匹配,进一步基于用户输入判断是否需要对namelist文件进行纠正;以及若是需要对namelist文件进行纠正,基于第二参数文件对第一参数文件进行写入和/或删除,并基于更新的第一参数文件对namelist文件进行纠正以得到适配namelist文件。本发明还公开了一种namelist文件的验证和纠正装置、计算机设备和可读存储介质。本发明快速高效生成正确的namelist文件,从而减少应用运行过程中因为namelist不匹配造成的错误。
技术领域
本发明涉及仿真应用技术领域,尤其涉及一种namelist文件的验证和纠正方法、装置、设备及可读介质。
背景技术
在大多数气象-海洋数值预报应用中,如GRAPES、WRF、NEMO等模式中常见到类似namelist.input,.nml文件或者namelist_cfg等文件。文件里会放入一些如预报区域范围、预报时间、技术方案选择及运行模式所需进程数等控制模式运行的配置变量。
namelist是Fortran中一种特殊的I/O读写格式,namelist把一组相关变量封装在一起,输入/出这一组变量时,只要在write/read中的nml字段赋值要使用哪一个namelist即可。
以NEMO模式的namelist_cfg其中的一组namelist格式如下:namdom为该组namelist的名字,/号结束这一组namelist,而这之间的内容则分别为变量名以及变量所取的值。当我们在应用中读取以及写入namelist一般需要先声明这些变量,之后会执行namelist的读入工作,当namelist读取成功之后,会进行下一步的计算。
随着应用版本的升级变化,对于有些应用来说,输入文件的namelist参数修改并不会有太大的变化,但是对于有些应用如NEMO来说,版本更新较快且namelist参数更改较多,当版本哪怕有一个小阶段的升级,就会导致应用本身对于namelist参数的需求不同,因此需要针对应用版本来对namelist进行相应的修改,否则会造成计算出错甚至会造成模式无法正常运行的问题。
由于我们对应用代码的结构本身了解不算太多且应用代码较庞大,版本升级的改变使得我们对相应namelist的修改也并不清楚,因此急需一种工具能够快速识别出我们得到的namelist文件是否与该版本的应用代码相符合,若不符合,需要我们能够自动快速的更改namelist文件,使得我们的namelist文件能够匹配现有的代码。
现有的技术方案是根据目前已有的namelist,来运行应用,当得到报错结果时,再根据报错结果在应用代码中寻找出错的位置,进一步定位是否符合代码格式,再定位到代码段该新加或者去除的参数的作用来手动定义合适的值,进一步修改namelist,如果该版本更改较多,就需要一次一次的运行应用来定位错误。基于手工运行,并且需要使用者有一定的能力去判断错误位置是否是基于namelist文件,对于应用的使用者要求较高。并且即使应用的使用者对应用了解较深,但是当不符合模式版本的namelist运行时,也无法高效率的生成正确的namelist文件,从而影响运行效率。
发明内容
有鉴于此,本发明实施例的目的在于提出一种namelist文件的验证和纠正方法、装置、设备及可读介质,快速高效生成正确的namelist文件,从而减少应用运行过程中因为namelist不匹配造成的错误。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东英信计算机技术有限公司,未经山东英信计算机技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110354371.X/2.html,转载请声明来源钻瓜专利网。





