资料同化 | 搭建docker环境-1

news2024/11/20 20:29:46

Community Gridpoint Statistical Interpolation (GSI) system

DTC 是一个分布式设施,NWP 社区可以在这里测试和评估用于研究和操作的新模型和技术。

DTC

DTC的目标包括:

  • 链接研究和操作社区

  • 研究成果转化为实际操作的速度

  • 加快改善天气预报

  • 开发和测试有前途的数值预报新技术

  • 为模型和数据同化系统的循环或实时测试提供机会

开发测试中心(Developmental Testbed Center,DTC)目前维护并支持 GSI 系统的社区版本(现在是3.7版本)。GSI 是由美国国家海洋和大气管理局(NOAA)、美国国家航空航天局(美国国家航空航天局)和国家大气研究中心(nCAR)共同开发的一个数据同化系统。下面演示如何在Linux系统上搭建一个数据同化系统,再次之前已经在系统上安装好了WRF以及docker。

前期准备

你必须要在你的系统上拥有docker软件,前往以下网页进行下载和安装docker

  • https://www.docker.com

docker

  • 对于mac用户

只需从其官方网站下载“ docker”并安装即可。

  • 对于 Debian/Ubuntu based Linux systems (recent releases)
    使用以下命命令进行安装
   curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
   sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
   sudo apt-get update
   apt-cache policy docker-ce
   sudo apt-get install -y docker-ce

注意: 如果curl命令不可用,则改为使用 wget,如下所示:

wget https://download.docker.com/linux/ubuntu/gpg; cat gpg | apt-key add -

一般来说,你需要系统管理员权限才能安装 docker。

  • 对于 Windows 用户,强烈建议安装 VirtualBox,然后安装基于 Ubuntu 的虚拟机在这个基于 Ubuntu 的虚拟机中,你可以按照上面的步骤安装 docker

由于我所使用的Linux系统已经提取装好了docker,所以下面我直接开始使用啦

下载GSI Docker Container

下载地址:

  • https://dtcenter.org/community-code/gridpoint-statistical-interpolation-gsi/download

Download

Get and run comgsi/docker

  • 参考教程:https://dtcenter.org/sites/default/files/community-code/gsi/release-notes/README.GSI_Docker

1 获取 comgsi/docker image

存在两种获取comgsi/docker的方法,一个是直接通过docker拉取,另一个是通过下载源文件,我这里是通过下载源文件进行的

  • 获取方法1

在linux 界面直接创建一个自己的mygsidocker文件夹后,使用wget命令下载docker,然后解压下载的压缩包,最后使用docker命令加载解压缩的文件

mkdir mygsidocker
cd mygsidocker
wget https://dtcenter.org/dfiles/code/gsi/comgsi_docker.tar.gz
gunzip comgsi_docker.tar.gz
docker load -i comgsi_docker.tar

wget

命令

  • 获取方法2

docker pull comgsi/docker

Docker 会自动从 hub.docker.com 下载 comgsi/docker

Comgsi/docker 容器的大小为695 MB。

如果从 hub.docker.com 下载速度太慢,请考虑方法1

2 启动容器:comgsi/docker

运行以下命令,为了获取一个运行脚本:"rungsidocker"来启动comgsi/docker

echo 'docker run -h mygsidocker -v "$(pwd)":/tutorial -ti --rm comgsi/docker' > rungsidocker; chmod +x rungsidocker 

这里的mygsidocker是我创建的文件夹名称,可以自己根据自己创建的文件夹名称进行相应更改。运行完上述命令后,你会发现mygsidocker下面多个了脚本:./rungsidocker

现在,您可以每次输入 ./rungsidocker来启动 comgsi/docker

如果运行过程中出现:

权限警告

需要运行以下命令更改目标目录的权限:

sudo chmod 777 . 

然后再次运行./rungsidocker

一旦 comgsi/docker 成功启动,您将在 docker 中看到类似如下的输出:

comgsi@mygsidocker:/tutorial$

  • 注意1: 这个/tutorail 是主机系统下的目录映射,您可以在其中执行 rungsidocker命令。这个映射允许您从主机系统访问 docker 中的文件,并且您的文件不会消失

  • 注意2: 在 /tutorial 下将自动创建三个目录 /build, /case_data, /run

重新打开一个Linux页面,使用docker ps 命令,可以查看当前的运行容器内容

现在您知道 comgsi/docker 容器 ID 是: 08aeab0a3728,输入

docker exec -it 08aeab0a3728 bash

你会进入一个新的shell页面,这类似于游戏里面的双开了哈哈哈(懂的都懂

3 在comgsi/docker中运行 GSI/EnKF

以下所有步骤都在 comgsi/docker 容器的 shell 中完成,即运行./rungsidocker之后的页面

使用wget下载 GSI/EnKF 压缩包:

wget https://dtcenter.org/sites/default/files/comGSIv3.7_EnKFv1.3.tar.gz

docker/tutorial目录下,可以看到
comGSIv3.7_EnKFv1.3.tar.gz

使用tar命令进行解压缩:

tar xvfz comGSIv3.7_EnKFv1.3.tar.gz

编译GSI/EnKF

cd build
cmake ../comGSIv3.7_EnKFv1.3
make

根据主机的不同,需要10 ~ 20分钟才能完成编译。


  • 如果不想从源代码进行编译,可以跳过步骤(2)并下载预编译的代码可执行文件
wget http://dtcenter.org/com-GSI/MPMC/precompiled.tar.gz
tar xvfz precompiled.tar.gz

链接可执行文件到 run/

cd ../run
ln -sf ../build/bin/gsi.x . 
ln -sf ../build/bin/enkf_wrf.x . 

现在,您可以按照 DTC 网站上的说明在 run/目录下运行所有教程案例

注意1:你可以下载案例的数据到/tutorial/case_data目录下面
注意2:在comgsi/docker下面,如果你的系统支持并行运算,可以进行多核计算

    e.g.:   mpirun -n 2 run.case03-conv.ksh

检测运行

进入docker环境,进入build/bin/ 文件夹,运行 ./gsi.x

没有啥问题,下一步就可以进行后续的案例测试啦

https://dtcenter.org/about

https://dtcenter.org/sites/default/files/community-code/gsi/release-notes/README.GSI_Docker

本文由mdnice多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1675048.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

NSSCTF | [SWPUCTF 2021 新生赛]babyrce

打开题目&#xff0c;显示了一个php脚本 我们来分析一下这个脚本是什么意思 <?php error_reporting(0); header("Content-Type:text/html;charsetutf-8"); highlight_file(__FILE__); if($_COOKIE[admin]1) {include "../next.php"; } elseecho &quo…

深入解析RedisJSON:在Redis中直接处理JSON数据

码到三十五 &#xff1a; 个人主页 JSON已经成为现代应用程序之间数据传输的通用格式。然而&#xff0c;传统的关系型数据库在处理JSON数据时可能会遇到性能瓶颈。为了解决这一问题&#xff0c;Redis推出了RedisJSON模块&#xff0c;它允许开发者在Redis数据库中直接存储、查询…

Ceph集群扩容及数据再均衡原理分析

用户文件在Ceph RADOS中存储、定位过程大概包括&#xff1a;用户文件切割成对象、对象映射到PG、PG分组PGP、PG映射到OSD。这些过程中&#xff0c;可能涉及了大量概念和变量&#xff0c;而其实它们大部分是通过HASH、CRUSH等算法计算出来的&#xff0c;初始参数可能也就只有这么…

号卡极团分销管理系统 ue_serve.php 任意文件上传漏洞复现

0x01 产品简介 号卡极团分销管理系统,同步对接多平台,同步订单信息,支持敢探号一键上架,首页多套UI+商品下单页多套模板,订单查询支持实时物流信息、支持代理商自定义域名、泛域名绑定,内置敢探号、172平台、号氪云平台第三方接口以及号卡网同系统对接! 0x02 漏洞概述…

caj文件是什么?caj是什么文件?考研学生赶紧收藏!

在学术研究的广阔领域中&#xff0c;尤其是对于那些致力于深入研究、不断拓宽知识边界的考研学子们来说&#xff0c;了解并掌握各种学术资源的获取与利用方法显得尤为重要。其中&#xff0c;CAJ文件作为一种常见的学术文件格式&#xff0c;其重要性和使用频率不容忽视。那么&am…

在Linux上安装并启动Redis

目录 安装gcc环境 上传redis文件 启动redis-server 后台启动redis-server 查看redis启动状态 参考文章&#xff1a;Linux 安装 Redis 及踩坑 - 敲代码的阿磊 - 博客园 (cnblogs.com) 准备&#xff1a;打开VMware Workstation&#xff0c;创建一个虚拟机&#xff0c;进入管…

FinnConverter格式转换工具

FinnConverter简介 1. 简洁的操作界面 2. 支持多种格式相互转换 支持word转pdf&#xff1b;ppt转pdf&#xff1b;raw格式转png/jpng…&#xff1b;其他格式相互转换 2.1 输入格式支持 bmp、cr2、cr3、crw、cur、dcr、dng、doc、docx、gif、ico、jpeg、jpg、kdc、mos、nef、…

具身智能论文(四)

目录 1. Alexa Arena: A User-Centric Interactive Platform for Embodied AI2. EDGI: Equivariant Diffusion for Planning with Embodied Agents3. Efficient Policy Adaptation with Contrastive Prompt Ensemble for Embodied Agents4. Egocentric Planning for Scalable E…

ICode国际青少年编程竞赛- Python-5级训练场-综合练习5

ICode国际青少年编程竞赛- Python-5级训练场-综合练习5 1、 a 16 for i in range(6):Dev.step(1)Dev.turnLeft()Dev.step(a)Dev.step(-a)Dev.turnRight()while Dev.energy < 100:wait()Dev.step(1)a a - 5 i2、 for i in range(5):Dev.step(11 - i * 2)Dev.turnRight()wh…

1146 -Table ‘performance schema.session variables‘ doesn‘t exist的错误解决

一、问题出现 今天在本地连数据库的时候&#xff0c;发现这个问题&#xff0c;哎呦我擦&#xff0c;差点吓死了 二、解决办法 1&#xff09;找文件 用everything搜一下MySQL Server 5.7 然后去Windows服务找一下MySQL配置文件的具体路径 如果知道那最好&#xff0c;不知道那…

水雨情监测系统—实时监测水位信息

TH-SW3水雨情监测系统是一种专门用于实时监测和收集水文气象数据的自动化系统。它能够实时获取区域内降雨和水情数据&#xff0c;并将其存储到数据库中进行分析处理&#xff0c;从而为防汛指挥人员提供及时准确的信息服务。 水雨情监测系统的主要功能包括实时监测水位、流速、流…

qt cmake加入程序exe图标

可以看到qt自动编译出来的图标是默认的&#xff0c;如下图所示 我想要更改成自定义的图标&#xff0c;比如下方的样子 下边是操作步骤&#xff1a; 图标选择与转化成ico 通过这个网站将正常图片转化成ico&#xff1a;https://www.bitbug.net/创建rc文件 将ico复制到cmakelis…

Windows内核--Kernel API简析(3.1)

如果所有的内核提供的功能&#xff0c;内核提供进程/线程创建和终止&#xff0c;内存分配和释放&#xff0c;文件操作&#xff0c;网络功能&#xff0c;驱动程序加载和卸载等功能。这些API将在后面陆续介绍&#xff0c;如下先介绍Kernel提供的基础API(Kernel自身或Driver使用).…

k8s v1.20二进制部署 部署 CNI 网络组件 部署 Calico

一、部署 flannel 1.1.K8S 中 Pod 网络通信 ●Pod 内容器与容器之间的通信 在同一个 Pod 内的容器&#xff08;Pod 内的容器是不会跨宿主机的&#xff09;共享同一个网络命名空间&#xff0c;相当于它们在同一台机器上一样&#xff0c;可以用 localhost 地址访问彼此的端口。…

【Web】2023香山杯决赛 security system 题解

目录 step -1 step 0 step 1 step 2 step 3 step -1 ①题目hint&#xff1a;想办法修改属性值后进入java的原生反序列化&#xff0c;然后利用jackson链写入内存马 ②jackson反序列化基础&#xff1a; ObjectMapper objectMapper new ObjectMapper(); String jsonStrin…

Java毕业设计 基于SpringBoot vue药店管理系统

Java毕业设计 基于SpringBoot vue药店管理系统 SpringBoot 药店管理系统 功能介绍 员工 登录 个人中心 修改密码 个人信息 查看供应商信息 查看药品 查看进货 查看销售 管理员 登录 个人中心 修改密码 个人信息 供应商类型管理 供应商信用等级类型管理 药品类型管理 供应商信…

基于STM32F401RET6智能锁项目(BS82166A_3触摸按键)

一、BS81x 特征 • 工作电压&#xff1a; 2.2V~5.5V • 低待机电流 • 自动校准功能 • 可靠的触摸按键检测 • 自动切换待机 / 工作模式 • 最长按键输出时间检测 • 具备抗电压波动功能 • Level Hold &#xff0c;可选高有效或低有效 • NMOS 输出内建上…

卷积网络项目:实现识别鲜花四分类对比LeNet5、VGG16、ResNet18、ResNet34分类网络

卷积四分类项目 Gitee传送门 分类目标选取 鲜花 杏花 apricot_blossom桃花 peach_blossom梨花 pear_blossom梅花 plum_blossom 模型选择 卷积 LeNet5VGG16ResNet18ResNet34 以图搜图 获取相似度前10的搜图结果 数据清洗 鲜花四分类 删除非图片文件 删除重复图片 整理…

RS3236-3.3YUTDN4功能和参数介绍及PDF资料

RS3236-3.3YUTDN4功能和参数介绍及PDF资料-公司新闻-配芯易-深圳市亚泰盈科电子有限公司 品牌: RUNIC(润石) 封装: XDFN-4-EP(1x1) 描述: 带过温保护 输出类型: 固定 最大输入电压: 7.5V 输出电压: 3.3V 最大输出电流: 500mA RS3236-3.3YUTDN4 是一款低压差线性稳压器&#x…

数据结构 顺序表1

1. 何为顺序表&#xff1a; 顺序表是一种线性数据结构&#xff0c;是由一组地址连续的存储单元依次存储数据元素的结构&#xff0c;通常采用数组来实现。顺序表的特点是可以随机存取其中的任何一个元素&#xff0c;并且支持在任意位置上进行插入和删除操作。在顺序表中&#xf…