当前位置: 首页 > news >正文

CESM2代码下载

这半年忙着毕业写论文,好久好久好久不更新了∠( °ω°)/ ,今天准备开个新坑 ๑乛◡乛๑,学习一下CESM(Community Earth System Model),它是一个完全耦合的全球气候模型,可用于地球过去、现在和未来气候状态的模拟。

1 安装CESM2依赖的库

首先安装一些依赖的库,具体参考官网:
Introduction (CESM2.2)
在这里插入图片描述
这里其实和我之前写的教程WRF/CMAQ 安装教程有很多重复的部分,就不过多赘述了,另外lapack和blas的安装可以参考:lapack和blas安装教程;Cmake的安装可以参考:Linux安装CMake;ESMF的安装可以参考:CESM2移植全攻略

💡 注意:
1.NetCDF必须使用与CESM相同的Fortran编译器构建(我都用的intel)。
2.Parallel-netCDF(pnetcdf)是可选的。如果使用pnetcdf,则应该使用1.7.0或更高版本。它是一个文件格式与netCDF兼容的库,并通过MPI-IO提供更高的性能。pnetcddf通过设置Makefile中的$PNETCDF_PATH变量来启用。

2 CESM2代码下载

接下来就是下载CESM2的代码了,

{navigate to your home or work directory}
git clone https://github.com/ESCOMP/CESM.git src_cesm2_3_beta08
cd src_cesm2_3_beta08
git tag --list '*beta08*'  #to see options of tags
git checkout cesm2_3_beta08
./manage_externals/checkout_externals

前面都好好的,到这里就下载不动了ㄟ( ▔, ▔ )ㄏ ,看了一下官网的说明Downloading CESM2 (CESM2.2):

Access to the code requires both git and Subversion client software in
place that is compatible with GitHub and our Subversion server
software. You will need access to the command line clients, git (v1.8
or greater) and svn (v1.8 or greater but less than v1.11). Currently,
our Subversion server software is at version 1.8.17. For more
information or to download open source tools, visit Subversion and git
downloads.

原来需要git(v1.8或更高版本)和svn(v1.8或更高版本,但低于v1.11)。
查了一下git的版本符合要求(git --version),但是svn版本有点低(svn --version),于是更新了一下,参考了【Linux】centos7.x 升级svn版本到指定版本
(P.S. 因为毕业了,暂时莫得服务器用(;´д`)ゞ,所以这里用的是我之前的CentOS7虚拟机)
更新完了再重新:

./manage_externals/checkout_externals

结果:

ERROR: In directory/home/pc/src_cesm2_3_beta08/components 
Process did not run successfully; returned status 128:git clone --quiet https://github.com/ESCOMP/ctsm/ clm 
See above for output from failed command.

em…冲个浪找到:
安装CESM记录里面有:
在这里插入图片描述

git config --global http.sslverify “false”
git config --global url.“https://”.insteadOf git://

再试一下

./manage_externals/checkout_externals

又有报错(╬ ̄皿 ̄):

ERROR: Failed with output:fatal: bad config value for 'http.sslverify' in /home/pc/.gitconfig

继续冲浪找到fatal bad boolean config value ‘false;‘ for ‘http.sslverify‘解决问题(~ ̄▽ ̄)~ :

[pc@localhost src_cesm2_3_beta08]$ ./manage_externals/checkout_externals
Processing externals description file : Externals.cfg
Checking status of externals: ccs_config, cam, cice, cice6, cmeps, cdeps, cpl7, share, mct, parallelio, cime, cism, clm, fms, mom, mosart, pop, rtm, ww3, ww3dev, 
Checking out externals: ccs_config, cime, cam, Processing externals description file : Externals_CAM.cfg
Checking out externals: chem_proc, atmos_phys, atmos_cubed_sphere, mpas, carma, clubb, cosp2, pumas, pumas-frozen, silhs, 
cdeps, Processing externals description file : Externals_CDEPS.cfg
Checking out externals: fox, genf90, 
cice, cice6, Processing externals description file : Externals.cfg
Checking out externals: cice, 
cism, Processing externals description file : Externals_CISM.cfg
Checking out externals: source_cism, 
clm, Processing externals description file : Externals_CLM.cfg
Checking out externals: fates, 
cmeps, cpl7, mosart, pop, Processing externals description file : Externals_POP.cfg
Checking out externals: cvmix, marbl, 
rtm, ww3, mct, parallelio, share, 
[pc@localhost src_cesm2_3_beta08]$ ls
ccs_config          cime_config         doc            manage_externals
ChangeLog           CODE_OF_CONDUCT.md  Externals.cfg  README.rst
ChangeLog_template  components          libraries      share
cime                describe_version    LICENSE.txt

成功后可以用以下命令检查组件的情况:

[pc@localhost src_cesm2_3_beta08]$ ./manage_externals/checkout_externals -S
Processing externals description file : Externals.cfg
Processing externals description file : Externals_CAM.cfg
Processing externals description file : Externals.cfg
Processing externals description file : .gitmodules
Processing submodules description file : .gitmodules
Processing externals description file : Externals_CDEPS.cfg
Processing externals description file : Externals_CISM.cfg
Processing externals description file : Externals_CLM.cfg
Processing externals description file : Externals_POP.cfg
Checking status of externals: ccs_config, cam, chem_proc, carma, cosp2, clubb, silhs, pumas, pumas-frozen, atmos_phys, atmos_cubed_sphere, mpas, cice, cice6, cice, icepack, cmeps, cdeps, fox, genf90, cpl7, share, mct, parallelio, cime, cism, source_cism, clm, fates, fms, mom, mosart, pop, cvmix, marbl, rtm, ww3, ww3dev, ./ccs_config./cime./components/cam./components/cam/chem_proc./components/cam/src/atmos_phys./components/cam/src/dynamics/fv3/atmos_cubed_sphere./components/cam/src/dynamics/mpas/dycore./components/cam/src/physics/carma/base./components/cam/src/physics/clubb./components/cam/src/physics/cosp2/src./components/cam/src/physics/pumas./components/cam/src/physics/pumas-frozen./components/cam/src/physics/silhs./components/cdeps./components/cdeps/fox./components/cdeps/share/genf90./components/cice./components/cice6./components/cice6/src./components/cice6/src/icepack./components/cism./components/cism/source_cism./components/clm./components/clm/src/fates./components/cmeps./components/cpl7
e-o ./components/mom./components/mosart./components/pop./components/pop/externals/CVMix./components/pop/externals/MARBL./components/rtm./components/ww3
e-o ./components/ww3dev
e-o ./libraries/FMS./libraries/mct./libraries/parallelio./share
[pc@localhost src_cesm2_3_beta08]$

终于下载下来好啦ヾ(o・ω・)ノ

相关文章:

CESM2代码下载

这半年忙着毕业写论文,好久好久好久不更新了∠( ω)/ ,今天准备开个新坑 ๑乛◡乛๑,学习一下CESM(Community Earth System Model),它是一个完全耦合的全球气候模型,可用于地球过去、…...

编写OpenCL程序的基本步骤

opencl pyopencl OpenCL-Headers OpenCL(全称为Open Computing Langugae,开放运算语言)是第一个面向异构系统(此系统中可由CPU,GPU或其它类型的处理器架构组成)的并行编程的开放式标准。 它是跨平台的。 OpenCL由两部分组成,一是用于编写…...

计算机网络之TCP/IP协议第一篇:网络基础知识

文章目录 写给自己的话 一:前言 1:手握金刚钻的TCP/IP 2:计算机中的协议 3:分组...

虚拟机扩容

系统环境centos8,分两步,第一步先在vmware扩容,第二部在虚拟机内部扩容 1.vmware分配磁盘空间 2.虚拟机内部扩容 查看当前磁盘信息,这个是扩容之前的,扩容完成才会显示新的 df -h查看系统分区信息 fdisk -l查看目录…...

Linux下的系统编程——进程间的通信(九)

一、进程间通信常用方式 IPC方式: Linux环境下,进程地址空间相互独立,每个进程各自有不同的用户地址空间。任何一个进程的全局变量在另一个进程中都看不到,所以进程和进程之间不能相互访问,要交换数据必须通过内核&am…...

Qt QtableWidget、QtableView表格删除选中行、删除单行、删除多行

文章目录 Qt QtableWidget表格删除选中行只能选择一行,点击按钮后,删除一行可以选择中多行,点击按钮后,删除多行选中某一列中的不同行,点击按钮后,删除多行 QTableWidgetSelectionRange介绍QTableWidget的选…...

【代码随想录day24】不同的二叉搜索树

题目 给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。 示例 1: 输入:n 3 输出:5示例 2: 输入:n 1 输出&#xf…...

数学建模--Subplot绘图的Python实现

目录 1.Subplot函数简介 2.Subplot绘图范例1:绘制规则子图 3.Subplot绘图范例2:绘制不规则子图 4.Subplot绘图范例3:gridspec辅助实战1 5.Subplot绘图范例4:gridspec辅助实战2 1.Subplot函数简介 """ 最近在数学建模种需要绘制多张子图,发现对于subplot函…...

JMeter(三十九):selenium怪异的UI自动化测试组合

文章目录 一、背景二、JMeter+selenium使用过程三、总结一、背景 题主多年前在某社区看到有人使用jmeter+selenium做UI自动化测试的时候,感觉很是诧异、怪异,为啥?众所周知在python/java+selenium+testng/pytest这样的组合框架下,为啥要选择jmeter这个东西[本身定位是接口测…...

c++ 移动构造方法为什么要加noexcept

背景: 最近看了候捷老师的c的教程, 他说移动构造方法要加noexcept, 在vector扩容的时候, 如果有移动构造方法没有加noexcept,是不会调用的. 个人感觉有些神奇, 这就去查下一探究竟. 过程: 测试代码如下: #include <iostream> #include <vector> struct A {A(){s…...

鸿鹄工程项目管理系统 Spring Cloud+Spring Boot+前后端分离构建工程项目管理系统

工程项目管理软件&#xff08;工程项目管理系统&#xff09;对建设工程项目管理组织建设、项目策划决策、规划设计、施工建设到竣工交付、总结评估、运维运营&#xff0c;全过程、全方位的对项目进行综合管理 工程项目各模块及其功能点清单 一、系统管理 1、数据字典&am…...

手把手教你搭建园林园艺小程序商城

现如今&#xff0c;随着互联网的快速发展&#xff0c;小程序成为了企业和个人展示产品和服务的新方式。在园林园艺行业&#xff0c;构建一个园林园艺小程序能够更好地推广和销售自己的产品和服务。那么&#xff0c;如何构建一个园林园艺小程序呢&#xff1f;下面我们来详细介绍…...

Java Iterator(迭代器)

Java迭代器&#xff08;Iterator&#xff09;是 Java 集合框架中的一种机制&#xff0c;是一种用于遍历集合&#xff08;如列表、集合和映射等&#xff09;的接口。 它提供了一种统一的方式来访问集合中的元素&#xff0c;而不需要了解底层集合的具体实现细节。 Iterator 是 …...

Logstash同步MySQL数据到ElasticSearch

当MySQL数据到一定的数量级&#xff0c;而且索引不能实现时&#xff0c;查询就会变得非常缓慢&#xff0c;所以使用ElasticSearch来查询数据。本篇博客介绍使用Logstash同步MySQL数据到ElasticSearch&#xff0c;再进行查询。 测试环境 Windows系统MySQL 5.7Logstash 7.0.1El…...

【C++】运算符重载的示例实现和应用

C运算符重载的格式&#xff1a; operator 运算符 比如要重载 ! 运算符 &#xff1a; operator ! 下面是一个例子&#xff1a; class DemoText{DemoText(string str, int num){m_text str; m_number num;}string m_text;int m_number; }这里来定义两个对象&#xff1a;…...

Kubernetes禁止调度

在Kubernetes中&#xff0c;您可以通过几种方式来禁止某个Pod调度到节点上。以下是一些方法&#xff1a; Node Selector&#xff1a;您可以使用Node Selector来限制Pod只能调度到带有特定标签的节点上。如果您希望完全禁止Pod调度到某些节点上&#xff0c;可以确保这些节点不拥…...

CocosCreator3.8研究笔记(七)CocosCreator 节点和组件的介绍

相信很多新手朋友&#xff0c;肯定会问&#xff0c;CocosCreator 中什么是节点&#xff1f;什么是组件&#xff1f; 一、什么是组件&#xff08;Component&#xff09;&#xff1f; Cocos Creator 3.8 的工作流程是以组件式开发为核心&#xff0c;即以组合而非继承的方式进行游…...

Ceph入门到精通-C++入门知识点

C中的双冒号(::)是作用域分解运算符&#xff08;scope resolution operator&#xff09;。 它主要有以下两种用法&#xff1a; 用于区分同名的不同成员&#xff0c;例如在不同类中声明了同名的成员函数或成员变量&#xff0c;可以使用A::B的方式来特指A类的B成员。当全局变量…...

Ansible之playbook详解和应用实例

目录 一、playbook简介 1.什么是playbook 2.playbook组成 二、应用实例 1.使用playbook安装启用httpd服务 2.使用playbook安装启用nginx服务 三、ansible-playbook其他用法 1.检查yaml文件的语法是否正确 2.检查tasks任务 3.检查指定的主机 4.指定从某个task开始运行…...

经验萃取方法

【经验萃取】 经验萃取不是简单的总结提炼归纳&#xff01; 经验萃取需经过还原、复盘分析、萃取重构 一.经验萃取前三个准备 1.定主题&#xff1a; 萃取主题选择&#xff08;阐述原因、确定级别、差距/问题是源头&#xff09;->多维评分&#xff1a;普遍性、重要性、迫切…...

遍历 Map 类型集合的方法汇总

1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...

学校招生小程序源码介绍

基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码&#xff0c;专为学校招生场景量身打造&#xff0c;功能实用且操作便捷。 从技术架构来看&#xff0c;ThinkPHP提供稳定可靠的后台服务&#xff0c;FastAdmin加速开发流程&#xff0c;UniApp则保障小程序在多端有良好的兼…...

el-switch文字内置

el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

质量体系的重要

质量体系是为确保产品、服务或过程质量满足规定要求&#xff0c;由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面&#xff1a; &#x1f3db;️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限&#xff0c;形成层级清晰的管理网络&#xf…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)

在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

Python 包管理器 uv 介绍

Python 包管理器 uv 全面介绍 uv 是由 Astral&#xff08;热门工具 Ruff 的开发者&#xff09;推出的下一代高性能 Python 包管理器和构建工具&#xff0c;用 Rust 编写。它旨在解决传统工具&#xff08;如 pip、virtualenv、pip-tools&#xff09;的性能瓶颈&#xff0c;同时…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码

目录 一、&#x1f468;‍&#x1f393;网站题目 二、✍️网站描述 三、&#x1f4da;网站介绍 四、&#x1f310;网站效果 五、&#x1fa93; 代码实现 &#x1f9f1;HTML 六、&#x1f947; 如何让学习不再盲目 七、&#x1f381;更多干货 一、&#x1f468;‍&#x1f…...

如何应对敏捷转型中的团队阻力

应对敏捷转型中的团队阻力需要明确沟通敏捷转型目的、提升团队参与感、提供充分的培训与支持、逐步推进敏捷实践、建立清晰的奖励和反馈机制。其中&#xff0c;明确沟通敏捷转型目的尤为关键&#xff0c;团队成员只有清晰理解转型背后的原因和利益&#xff0c;才能降低对变化的…...

Java中HashMap底层原理深度解析:从数据结构到红黑树优化

一、HashMap概述与核心特性 HashMap作为Java集合框架中最常用的数据结构之一&#xff0c;是基于哈希表的Map接口非同步实现。它允许使用null键和null值&#xff08;但只能有一个null键&#xff09;&#xff0c;并且不保证映射顺序的恒久不变。与Hashtable相比&#xff0c;Hash…...

Linux 内存管理调试分析:ftrace、perf、crash 的系统化使用

Linux 内存管理调试分析&#xff1a;ftrace、perf、crash 的系统化使用 Linux 内核内存管理是构成整个内核性能和系统稳定性的基础&#xff0c;但这一子系统结构复杂&#xff0c;常常有设置失败、性能展示不良、OOM 杀进程等问题。要分析这些问题&#xff0c;需要一套工具化、…...