抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

这是我记录研究进展与思考轨迹的地方,若你对这一领域感兴趣,不妨读一读。

2025/11/05 周三

几乎毫无进展的一周:小老板还没有联系我她做没做完模型,她不进展我就没法继续。今天给她发了邮件询问,希望能有结果。

非要说干了什么的话,用develop_basin_mode跑通了predict,输出了生物多样性指标(BII)。不过貌似有点bug有一些地域的值异常的高或者低,能到达10的30次方左右笑。

2025年10月

2025/10/30 周四

周一跑的两个模型都没有跑通,于是准备用之前的develop_basin_mode分支来跑AgLU/AIM-PLUM的basinmode + predict。

但是之前merge了老师上传的PR之后 这个分支就充斥着bug,根本无法运行。于是只能一遍一遍退回commit来找到一个可以运行的版本。

回退了两次之后终于找到了一个似乎能用的,截止写文模型还在运行。

(晚上八点多模型终于跑完了,这次比上次还多用了2个小时,模型模拟的时间已经来到了8小时)

2025/10/27 周一

今天主要内容就是和学长确认了一下整个模型的进度以及接下来的やること。

用master分支跑一下AgLU/AIM-PLUM的basinmode + predict

用master分支测试一下AgLU/AIM-PLUM的regionmode

截止本文时间,模型已经跑完了但是结果确认需要等到周三去研究室才能进行

2025/10/20 周一

本来以为上周进展挺顺利,这周任务应该不重。但是今天又和老师来回mail了无数轮来确认模型运转时间长的原因,导致也没能早回家。

和老师交流后目前确认到的内容如下:

  • 之前downscale AIMHUB的时候,模型输出的是17地域数据,也就是把世界分成17份。downscale一共用时90分钟。现在AgLU模型把全世界分成400份(虽然不均匀)但是其中有一些区域的用时反而比之前多了。也就是说模型下推小的面积比大的面积用时还要长。老师怀疑模型根本没有输出确定解但是没有证据。
  • 模型一共用32个CPU线程;整个模型里一共400个流域,每一个流域要按时间计算10次(2010,2020,…,2100),所以一共是4000次计算。这四千个计算是随机分配到32个CPU线程里的!(当然对于每一个流域而言,靠后的年份肯定是在所有的前置年份计算完成后再计算的(因为后面的需要前面的数据))我之前以为是把400个流域随机分给32个线程,没想到是完全随机分的。
  • 两个很有经验的学长以及老师们对原因毫无头绪😅

接下来是等待小老板把需要改动的regionmode做完。

2025/10/17 周五

今天小老板给了我新版的AgLU模型,好像解决了昨天说的问题。截止写文模型还在跑。

AgLU400流域的下推至此就小告一段落,接下来的是把400流域的数据重置为17地域的数据并让AIM-PLUM跑通,这涉及如下几个小问题:

  • 如何把数据从细分的400地域映射到17地域
  • 如何让AIM-PLUM识别这些数据
  • 更改AIM-PLUM的数据输入部分使其能直接对应AgLU的最新标准输出

接下来就是一点一点做了。

2025/10/16 周四

模型运行结束了,虽然中间过程数据已生成,但最终的 nc 文件未出现预期更新,还是之前的零星几个国家的程度。

于是开始从头看代码,运行文件,报错文件。最后定位到 base year simulation那里,有20个流域(多为热带岛国,可能由于这些流域在地理或数据特征上的共性所致)在进行基准年计算的时候显示

Equation infeasible due to rhs value (约束条件右端值设置不当导致方程不可行)


所以导致该流域的base.gdx, 2005.gdx无法生成。后续也就无法继续根据基准年数据来模拟未来的结果(2010…2100.gdx)。因为没有后续数据,所以在整合gdx的时候,形成了一个空文件,导致在进行计算的时候报错,无法形成base_SSP2_BaU_NoCC.gdx导致后续所有都生成失败。

作为解决方法,我在第一次生成数据之后手动修改Plum_exe.sh;执行脚本文件,阻止其粘贴空文件到下一个执行文件夹。这样的话虽然少了20个流域,但是模型可以执行到最后并输出数据。后续计划加入在执行脚本中添加条件判断,避免空文件被复制至下一阶段目录。

下面这张图是本次进展的结果之一:这张是模型预测的2100年全球农作物分布图。图片下方的scale的caption有一个小错误——并不是%百分率而是占比,也就是说深红的那个格子百分之百都是农作物,而深蓝格子没有农作物出现。

模型下推图片
AgLU模型400流域集约结果下推图
更加详尽的研究介绍参见分类-研究-本科研究

2025/10/15 周三

写模型的老师告诉了我把 AIMPLUM的Aglu版 的设定更改为 global: on之后应该对应修改Plum.sh 。至此,困扰了我和前辈一个月的模型bug终于被解决了。其实这不是bug,而是沟通问题,如果老师能在递交模型的时候告诉我们参数设定对应的改动,就不会有后续的麻烦了(因为模型本身并没有readme或者说明doc)。

截止写总结,模型已经运行了3.5小时了,仍然没有结束。对于俄罗斯和加拿大的每个流域,每计算10年大概需要花40分钟,所以从2005年计算到2100就大致需要6个小时。大概是对比其他国家而言,上述的流域本身的面积非常大。

评论