2025-09-10 UFS系统开发协作流程研究 UFS系统开发协作流程研究 前言美国新一代天气预报系统UFS基于社区开发理念构建。从前文介绍的UFS软件栈可以看出,UFS非常复杂,由多个分量组件构成,其中一些分量模式由不同的组织开发团队主导开发维护工作。UFS系统集成了多个分量组件,涉及多个团队开发,因此其协作开发流程相比单一团队开发要复杂一些。基于Git/Github Fork工作流UFS使用Git/Github管理代码开发。UFS主仓库维护一个主分支develop,分支HEAD记录反映了最新的提交更改。由于不同分量组件由不同团队主导,各自有自己的Git仓库。因此,UFS通过Git Submodule管理各个分量组件。UFS仓库所有开发必须有一个相应的Github Issue。这使得代码管理员和社区能够讨论提议的开发的重要性和时间表。可以使用单个拉取请求 (PR) 修复多个issues,这就是为什么每个PR必须与至少一个issue联系。因为UFS面向社区开发,因此Git Fork工作流最合适。# 1. fork UFS仓库到自己的Github账号下 # 2. 克隆到本地机器 git clone https://github.com/<your_g... 2025年09月10日 13 阅读 0 评论
2025-09-10 日常开发场景Git使用技巧记录 日常开发场景Git使用技巧记录 记录日常开发场景中常遇到的Git使用技巧备查。撤销修改场景工作区文件修改了,但还没有进入版本管理,现在不想要了,如何回退、撤销已有的修改# 建议使用restore命令 git restore file # 也可以使用checkout git checkout -- file 合并本地多次提交记录场景场景:有时开发某一个功能时会提交很多次commit,这样会显得版本日志很乱,尤其是在多人协作的开发场景中。这时可以将多个紧密相关的commit合并成一个。简单情况:只是对最新一次的commit进行修正的话,可以使用git commit -v --amend更复杂情况:git rebase -i HEAD~4 # 合并最近4次提交记录 # 进入vi编辑模式,根据提示对相应commit选择命令,常用的包括pick,edit,squash,fixup s cacc52da add: qrcode s f072ef48 update: indexeddb hack s 4e84901a feat: add indexedDB floder p 8f33126c feat: ad... 2025年09月10日 13 阅读 0 评论
2025-09-10 美国UFS模式软件栈 美国UFS模式软件栈 美国UFS(Unified Forecast System)被设计为社区驱动、同时满足业务和研究需求的统一预报系统。不同于其它业务中心的模式系统,UFS呈现出多样化的分量模式。下表就是UFS复杂的软件栈,涉及软件框架、同化、大气海洋以及其它分量模式,每种模式类型有多个选择。由于用途广泛,UFS应用分为三大类:EPIC(Earth Prediction Innovation Center)发布的应用NOAA产品套件应用研发应用其中业务产品套件详情如下:上图色标说明如下从上表中可以看到了解美国业务天气模式系统的技术选型,比如JEDI应用情况RRFS v2动力核心的选择 MPAS vs FV3,扩展阅读Integration of MPAS Dycore into UFS物理套件CCPP的应用情况其它应用情况见原文档。最后很好奇UFS的Unified体现在哪里?参考资料https://ufs.epic.noaa.gov/wp-content/uploads/2024/08/UIFCW_2024_poster.pdfhttps://ufs.epic.noaa.gov/wp-content... 2025年09月10日 11 阅读 0 评论
2025-09-10 以史为鉴 可以知兴替 以史为鉴 可以知兴替 如果一本书能够引发人思考,改变固有认知,大体上这应该是一本好书。最近就读了这样一本好书,陈雨露和杨忠恕写的《中国是部金融史》。读这本书的缘由来自曾拜读过天涯KK的房地产三部曲,据网友猜测他真实身份就是本书作者的其中一位。因此非常感兴趣这是一本什么样的书。这本书以货币为抓手,洋洋洒洒介绍华夏三千年历史、封建王朝兴衰更替,串联起很多我们只知其名不知其义的历史事件和典故。作者这种“跟着钱走”的思考路径更容易拨开历史的迷雾,抓住时代的底层逻辑。作者在书中总结出了“封建王朝周期律”的两种统治模式:封建集权→货币官铸→击溃异族→经济衰退封建分权→货币私铸→经济兴盛→异族入侵→丧失半壁江山值得注意的是,书中介绍的很多历史人物事件和我们熟知的历史大相径庭。这很容易理解,历史由胜利者书写,又经过文学演义,可能早就和真实历史完全不同。不过书中内容仅为作者学术观点,一定要辩证的阅读本书,谨慎的接受《中国是部金融史》分上、下两部,第一部从西周到唐朝,第二部讲述宋、元、明三朝。下面摘抄一些书中文字。在历史的长焦镜头中,金钱永远可以代表利益,所谓“民心”不过是给大部分人一个公平赚钱的机会,这才是一个社会最大... 2025年09月10日 11 阅读 0 评论
2025-09-10 数据驱动模型对极端天气事件预报能力 数据驱动模型对极端天气事件预报能力 书接上回。前文提到Peter Bauer设想了未来NWP可能的技术路线:使用公里级模式生成再分析数据作为数据驱动机器学习模型的训练数据,然后每天业务运行推理模型生成预报产品。不过数据驱动模型替代物理模型进入业务链条需要解决一个问题(也是目前很多人质疑数据驱动模型的地方),即数据驱动模型能否可靠的预报极端天气事件。Olivetti and Messori在GMD上发表了论文“Do data-driven models beat numerical models in forecasting weather extremes? A comparison of IFS HRES, Pangu-Weather, and GraphCast”试图回答上面的问题。作者通过评估物理模型IFS HRES和两个数据驱动模型Pangu和GraphCast在近地面两米温度和十米风场极值的RMSE两个指标表现。它们使用相同的HRES初始条件,输出两米温度和十米风结果,假设ERA5数据为真值情况在1.5°分辨率下与其比较。试验评估全球以及多个区域,包括全部数据点、5%和1%极端数据点的RMSE。评估结... 2025年09月10日 12 阅读 0 评论
2025-09-10 NWP路在何方 NWP路在何方 Peter Bauer等人2015年在Nature上发表了文章《The quiet revolution of numerical weather prediction》,系统的总结了数值天气预报过去一百多年来取得的巨大进步,并给出了NWP未来的发展方向。但没有想到最近几年机器学习在NWP领域应用如火如荼的展开,基于数据驱动的模型在一些指标上展现出比物理模型更优的结果。Peter Bauer今年发表了文章《What if? Numerical weather prediction at the crossroads》,基于最新的科学发展展望NWP的未来,探讨了NWP业务中心未来的发展路径。作者在文章提出了四种“what if"(假如)场景:假如NWP静悄悄的革命已达到极限,业务中心下一代超级计算机提供的计算能力不满足业务运行大规模的公里级尺度集合预报?假如用于创建初始条件的资料同化和基于机器学习的预报效果都将优于基于物理的方法?假如大型科技公司继续投入NWP研究,进而产生替代的商业业务服务?假如机器学习模型规模继续增长,机器学习模型的训练将成为地球科学中最大的HPC应用?文章第2... 2025年09月10日 14 阅读 0 评论
2025-09-10 ECMWF IFS 9km计算资源需求 ECMWF IFS 9km计算资源需求 在之前的文章[[ECMWF进入集合预报时代]]中根据学术报告信息推算IFS 9km业务模式所需的计算资源。目前根据最新获得的信息来看推测错误了。根据ECMWF官网“How to optimise the computing aspects of numerical weather forecasts”文章(链接附后),IFS 9km模式预报15天需要大约50个计算节点。注:TCo1023分辨率为11km,TCo1270为9km。52+1表示模式计算使用52个节点,I/O使用1个节点。柱状图代表消耗时间(秒)。推算IFS预报一天能够在3.6分钟墙钟时间内完成。IFS运行计算机应该是博洛尼亚计算中心机器,每个计算节点为128核心,总计算资源数大概在6784核左右。ECMWF机器配置介绍见[[ECMWF超算跟踪]]此外,IFS更高分辨率系统在巴塞罗那超级计算中心 (BSC) 的 MareNostrum 5 计算机上测试结果如下图所示。对于4.5公里的IFS大气海洋耦合系统,使用800个节点计算速度超过了1 SYPD(365 SDPD)指标。参考资料https://www.ecmwf.i... 2025年09月10日 14 阅读 0 评论
2025-03-22 俄罗斯全球中期模式SLAV计算性能改进 俄罗斯全球中期模式SLAV计算性能改进 Fadeev et al.(2024)介绍了俄罗斯水文气象中心(Hydrometeorological Center of Russia)的全球中期预报模式SLAV(Semi-Lagrangian based on Absolute Vorticity)的计算优化工作。该模式近期升级其分辨率到10公里。相比原先20公里分辨率,计算量增长超过10倍(水平/垂直分辨率/时间步长翻倍)。10公里(SLAV10)和20公里(SLAV20)模式配置信息见下表。每个NWP业务中心对全球中期预报计算时间要求不同,比如:ECMWF要求在8分钟内完成一天的预报而俄罗斯水文气象中心要求在20分钟内完成一天预报SLAV10最初版本计算性能(不含I/O):14000核左右并行效率超过50%,但4000核计算一天预报需要超过40分钟。因此需要进行计算优化。第一个阶段优化工作包括:部分计算和MPI通信从双精度到单精度优化扩散算法改进增加时间步长参数化程序临时数组局地化和OpenMP并行循环的向量长度控制优化这些优化工作使10公里一天预报使用4000核从40分钟降到了10分钟左右,注意这里不包括I/O时间。另... 2025年03月22日 383 阅读 0 评论