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 美国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日 12 阅读 0 评论