当前位置: 首页 > 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;普遍性、重要性、迫切…...

eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)

说明&#xff1a; 想象一下&#xff0c;你正在用eNSP搭建一个虚拟的网络世界&#xff0c;里面有虚拟的路由器、交换机、电脑&#xff08;PC&#xff09;等等。这些设备都在你的电脑里面“运行”&#xff0c;它们之间可以互相通信&#xff0c;就像一个封闭的小王国。 但是&#…...

Cursor实现用excel数据填充word模版的方法

cursor主页&#xff1a;https://www.cursor.com/ 任务目标&#xff1a;把excel格式的数据里的单元格&#xff0c;按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例&#xff0c;…...

黑马Mybatis

Mybatis 表现层&#xff1a;页面展示 业务层&#xff1a;逻辑处理 持久层&#xff1a;持久数据化保存 在这里插入图片描述 Mybatis快速入门 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6501c2109c4442118ceb6014725e48e4.png //logback.xml <?xml ver…...

376. Wiggle Subsequence

376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

VTK如何让部分单位不可见

最近遇到一个需求&#xff0c;需要让一个vtkDataSet中的部分单元不可见&#xff0c;查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行&#xff0c;是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示&#xff0c;主要是最后一个参数&#xff0c;透明度…...

在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?

uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件&#xff0c;用于在原生应用中加载 HTML 页面&#xff1a; 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...

《C++ 模板》

目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板&#xff0c;就像一个模具&#xff0c;里面可以将不同类型的材料做成一个形状&#xff0c;其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式&#xff1a;templa…...

JS设计模式(4):观察者模式

JS设计模式(4):观察者模式 一、引入 在开发中&#xff0c;我们经常会遇到这样的场景&#xff1a;一个对象的状态变化需要自动通知其他对象&#xff0c;比如&#xff1a; 电商平台中&#xff0c;商品库存变化时需要通知所有订阅该商品的用户&#xff1b;新闻网站中&#xff0…...

【从零学习JVM|第三篇】类的生命周期(高频面试题)

前言&#xff1a; 在Java编程中&#xff0c;类的生命周期是指类从被加载到内存中开始&#xff0c;到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期&#xff0c;让读者对此有深刻印象。 目录 ​…...

Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换

目录 关键点 技术实现1 技术实现2 摘要&#xff1a; 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式&#xff08;自动驾驶、人工驾驶、远程驾驶、主动安全&#xff09;&#xff0c;并通过实时消息推送更新车…...