用NCL将GRIB/GRIB2文件转成nc文件(批量转),JRA-55再分析为例

2023-11-03

背景
答主最近需要用到JRA-55再分析数据,但在面对GRIB数据格式时犯难了,便想把GRIB格式转成nc文件再做分析。因为nc文件很容易用python或Matlab处理
尝试了好些方法,发现先安装NCL再用ncl来批量转换,是一种比较便捷的方式。在此记录下来与大家分享




第一部分:安装ncl,安装过程见这个帖子,很详细。https://blog.csdn.net/littlesqgg/article/details/112716228?spm=1001.2014.3001.5506

需要补充的是,在安装完时,只需要在Cygwin Terminal中输入ncl,当显示出如下内容时就表示已经安装完成。不需要像前面给出的链接中的答主那样“*输入 source ~/.bashrc,Enter执行, 再输入 ncl *”

$ ncl
 Copyright (C) 1995-2017 - All Rights Reserved
 University Corporation for Atmospheric Research
 NCAR Command Language Version 6.4.0
 The use of this software is governed by a License Agreement.
 See http://www.ncl.ucar.edu/ for more details.
ncl 0>


第二部分:将GRIB格式的文件批量转成nc文件

1. 首先你需要把所有要转的GRIB文件放在一个文件夹中,如下图所示,我的文件夹中有4个文件

在这里插入图片描述
2. 打开Cygwin terminal,并在终端中输入如下代码:

先进入到你想要存储的文件夹

cd "I:/Reanalysis/JRA-55/test"

执行转化的命令

find "I:/Reanalysis/JRA-55/test" -type f | grep -i "anl_surf" | xargs -I{} ncl_convert2nc {} -e grib
  • I:/Reanalysis/JRA-55/test” 内表示你的文件所在的路径
  • anl_surf” 表示你要转化的文件的通配符,也就是ncl会选取含有这一串字符的文件来做转化

3. 在输完上述代码后,就会显示如下信息,则说明文件被转化成nc文件了:

$ find "I:/Reanalysis/JRA-55/test" -type f | grep -i "anl_surf" | xargs -I{} ncl  _convert2nc {} -e grib
Processing file: I:/Reanalysis/JRA-55/test/anl_surf.033_ugrd.reg_tl319.196001_19  6012...
 Copyright (C) 1995-2017 - All Rights Reserved
 University Corporation for Atmospheric Research
 NCAR Command Language Version 6.4.0
 The use of this software is governed by a License Agreement.
 See http://www.ncl.ucar.edu/ for more details.
Classic model NetCDF does not support string types, converting initial_time0 to   a character array
Dimension 'ncl_strlen_0' will be added

4. 打开文件夹查看,发现得到了生成的nc文件
在这里插入图片描述


第三部分:将单个GRIB文件转成nc文件(比批量简单)

1. 先转到你想要存储的文件夹

cd "I:/Reanalysis/JRA-55/test"

2. 输入转化命令
下述引号内为要转的GRIB文件的路径

ncl_convert2nc "I:/Reanalysis/JRA-55/6-hourly/anl_surf.033_ugrd.reg_tl319.2019010100_2019013118" -e grib

3. 显示如下代码则表示成功

Processing file: anl_surf.033_ugrd.reg_tl319.2019010100_2019013118...
 Copyright (C) 1995-2017 - All Rights Reserved
 University Corporation for Atmospheric Research
 NCAR Command Language Version 6.4.0
 The use of this software is governed by a License Agreement.
 See http://www.ncl.ucar.edu/ for more details.
Classic model NetCDF does not support string types, converting initial_time0 to a character array
Dimension 'ncl_strlen_0' will be added
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用NCL将GRIB/GRIB2文件转成nc文件(批量转),JRA-55再分析为例 的相关文章

  • /sys/device/ 和 dmidecode 报告的不同 CPU 缓存大小

    我正在尝试获取系统中不同缓存级别的大小 我尝试了两种技术 a 使用 sys device 中的信息 这是输出 cat sys devices system cpu cpu0 cache index1 size 32K cat sys dev
  • 如何在 C++ 中急于提交分配的内存?

    总体情况 带宽 CPU 使用率和 GPU 使用率都极其密集的应用程序需要每秒从一个 GPU 向另一个 GPU 传输约 10 15GB 的数据 它使用 DX11 API 来访问 GPU 因此上传到 GPU 只能在每次上传都需要映射的缓冲区中进
  • Windows 上的 Openssl 错误 0x02001005 和 0x2006D002?

    我正在尝试使用 openssl 将 cer 证书转换为 p12 证书 这是我正在使用的命令 C OpenSSL Win32 bin gt openssl x509 inform der in developer identity cer o
  • 更改 mingw' 启动目录或创建 mingw 符号链接

    设置 mingw 控制台启动目录的最简单方法是什么 我只使用 mingw 进行编译 但由于缺乏编辑器甚至符号链接 我很困惑如何告诉 mingw 控制台出现在不同的目录而不是常规的主目录中 如果有人知道如何像 cygwin 那样将 真正的 符
  • 确定用于映射网络驱动器的域和用户名

    使用带有 SP1 的 Windows 7 Enterprise 但我希望得到适用于 Windows XP 2003 2008 Vista 7 的通用答案 从命令提示符处 我执行net use命令将 Z 驱动器映射到另一台计算机上的共享 但我
  • 用于验证 IIS 设置的 Powershell 脚本

    是否可以使用 Power Shell 脚本获取 IIS 设置 我希望使用脚本获取 检查以下信息 检查 Windows 身份验证提供程序是否正确列出 协商 NTLM 检查是否启用了 Windows 身份验证 Windows 身份验证高级设置
  • 移动/调整窗口大小时闪烁

    我开发了一个显示 jpeg 图像的应用程序 它可以显示 4 个图像 屏幕的每个象限各一个 为此 它使用了 4 个窗口 窗口没有边框 框架 也没有标题栏 当加载新图像时 窗口大小会根据新图像进行调整 然后显示该图像 尤其是当窗户做得较大时 经
  • 如何在线程创建和退出时调用函数?

    include
  • 检测计算机何时解锁 Windows

    我用过这个优秀的方法 https stackoverflow com questions 20733441 lock windows workstation using python 20733443锁定 Windows 计算机 那部分工作
  • 以编程方式从 java 代码中查找 java.exe 的绝对路径

    如果我有一个由用户启动的 java jar 或类文件 假设在环境变量中设置了 java 路径 那么我如何从代码中找出 java exe javaw exe 的绝对路径文件正在启动 就像在 ubuntu 上一样 我们可以运行 which ja
  • vmsplice() 和 TCP

    在原来的vmsplice 执行 有人建议 http lwn net Articles 181169 如果您的用户态缓冲区是管道中可容纳的最大页面数的 2 倍 则缓冲区后半部分成功的 vmsplice 将保证内核使用缓冲区的前半部分完成 但事
  • 如何在Windows上分离“Git bash”中启动的“git gui”?

    例如 我开始 git bash 我导航到某个目录 I start git gui 我关闭控制台窗口或按 Ctrl C Git gui 的窗口消失了 即使我用过git gui disown 即使当我按 Ctrl C 时它不在前台 如何正确分离
  • 访问图像的 Windows“标签”元数据字段

    我正在尝试进行一些图像处理 所以现在我正在尝试读取图像 exif 数据 有 2 个内置函数可用于读取图像的 exif 数据 问题是我想读取图像标签 exifread and imfinfo这两个函数都不显示图像标签 Is there any
  • 本地推送通知到在应用程序内运行 JS 代码的 Win8 Live Tile

    我正在尝试将更新发送到我的应用程序的磁贴 当应用程序运行时 这可以正常工作 例如 当用户单击按钮时 我可以轻松地将磁贴更新通知发送到磁贴 我无法解决的是当应用程序无法运行时如何更新磁贴 我找到的唯一选择是使用以下命令从远程 Web 服务器拉
  • 如何在Windows上模拟socket.socketpair

    标准Python函数套接字 套接字对 https docs python org 3 library socket html socket socketpair不幸的是 它在 Windows 上不可用 从 Python 3 4 1 开始 我
  • 仅使用containerd(不使用Docker)修剪容器镜像

    如果我刚刚containerd安装在 Linux 系统上 即 Docker 是not安装 如何删除未使用的容器映像以节省磁盘空间 Docker 就是这么方便docker system prune https docs docker com
  • 游戏内的java.awt.Robot?

    我正在尝试使用下面的代码来模拟击键 当我打开记事本时 它工作正常 但当我打开我想使用它的游戏时 它没有执行任何操作 所以按键似乎不起作用 我尝试模拟鼠标移动和点击 这些动作确实有效 有谁知道如何解决这个问题 我发现这个问题 如何在游戏中使用
  • ALSA:snd_pcm_writei 调用时缓冲区不足

    当运行我最近从灰烬中带回来的旧程序时 我遇到了缓冲区不足的情况 该程序将原始声音文件完全加载到内存中 2100 字节长 525 帧 并准备 ALSA 进行输出 44 1khz 2 通道 有符号 16 位 if err snd pcm set
  • 为什么 Linux 没有 DirectX API?

    在考虑现代显卡的 Windows 系统上 DirectX API 的驱动程序端实现时 我想知道为什么此实现在非 Windows 系统 尤其是 Linux 上不可用 由于明显缺乏此功能 我只能假设有一个我无视的充分理由 但在我的原始理解中 我
  • NodeJS Express Windows 最大连接数设置

    在哪里设置nodejs的最大连接数 用于使用express get 在 Windows 10 中 与linux中的最大文件 描述符 设置有关吗 有该设置的 Windows 版本吗 最好是在nodejs中进行设置 以便在迁移到unix时兼容

随机推荐

  • 特征选择-过滤式选择

    过滤式方法先按照某种规则对数据集进行特征选择 然后再训练学习器 特征选择过程与后续学习器无关 这相当于先用特征选择过程对初始特征进行 过滤 再用过滤后的特征来训练模型 某种规则 按照发散性或相关性对各个特征进行评分 设定阈值或者待选择阈值的
  • 数据密集、计算密集、IO密集,hadoop如何应对?

    I O bound I O密集型 I O bound 指的是系统的CPU效能相对硬盘 内存的效能要好很多 此时 系统运作 大部分的状况是 CPU 在等 I O 硬盘 内存 的读 写 此时 CPU Loading 不高 计算密集型 CPU b
  • 【AD错误】“Could not find board outline using primitives...“解决办法

    参考 https blog csdn net ReCclay article details 82960495 解决办法 主要是PCB上有的元件封装也有Keep out layer 的画线 CTRL A设定板子大小时会把里面的元件封装的画线
  • 数据治理-DAMA元数据模块总结

    最近在看DAMA元数据模块做了如下的总结 供大家参考学习 1 什么是元数据 元数据的定义是关于数据的数据 它不仅仅包括了技术和业务流程 数据规则和约束 还包括逻辑数据结构和物理数据结构等 它描述的是数据本身 2 元数据的作用 元数据对于数据
  • qt获取ftp服务器信息,qt获取ftp服务器目录

    qt获取ftp服务器目录 内容精选 换一换 Linux x86 64 64位 服务器 常见的有EulerOS Ubuntu Debian CentOS OpenSUSE等 Windows 7及以上版本 请参见JRE地址下载JRE Linux
  • Take Control

    Turn Off Notifications Remove Toxic Apps Remove apps that profit off of addiction distraction outrage polarization and m
  • 【HTML基础汇总】

    HTML 前期整体脉络 2017年1月7日 14 23 24 0 序 HTML 前期整体脉络 序 前言 总览 HTML 基础 1 HTML简介 11 什么是标记语言 2 HTML 基础结构 3 标签 31 什么是标签 32 块元素标签 32
  • 一起实战Springboot开发后端管理系统4:数据库连接池Druid和HikariCP

    上一篇文章主要讲解了如何再Matrix Web中使用Mybatis Plus Mybatis Plus作为Orm框架 连接数据库需要连接数据库的依赖 WEB 系统高并发环境下 频繁的进行数据库连接操作 造成系统技术瓶颈问题 无效的资源开销
  • 剑指offer第二版面试题5:替换空格(java)

    题目 请实现一个函数 把字符串中的每个空格替换成 20 例如输入 We are happy 则输出 We 20are 20happy 说明 在网络编程中 如果URL参数中含有特殊字符 如 空格 等 可能导致服务器端无法获得正确的参数值 我们
  • [OtterCTF 2018]之Misc篇(NSSCTF)刷题记录⑦

    NSSCTF Misc篇 OtterCTF 2018 OtterCTF 2018 General Info OtterCTF 2018 Play Time OtterCTF 2018 Silly Rick OtterCTF 2018 Wha
  • linux 查看端口被哪个进程占用

    linux 查看端口被哪个进程占用及对应程序安装地址 查询端口被哪个进程占用 查看进行号28998对应的物理地址 杀掉1827号进程 查询端口被哪个进程占用 查看9995端口被哪个进程占用 lsof i tcp 9995 查看进行号2899
  • Mac系统下android studio无法识别手机

    1 设置 辅助功能 开发人员工具 勾选 USB调试 允许模拟位置 这两项 2 将手机连接电脑 选择连接方式 媒体设备 MTP 3 打开mac电脑的 关于本机 系统报告 系统信息硬件中找到USB USB设备中找到连接的手机 在下面栏中找到 厂
  • db2 xml 转 table【XQuery系列】

    版本 DB2 Version 9 1 1 创建测试表 初始化数据 create table emp doc XML INSERT INTO EMP VALUES
  • 机考[71-80]

    华为机考 071 整数编码 072 整数对最小和 073 整型数组按个位值排序 074 执行时长 075 字符串变换最小字符串 076 字符串分割 077 字符串加密 078 字符串筛选排序 079 字符串统计 080 字符串序列判定 07
  • docker命令学习

    docker运行mysql并允许外网访问 docker run p 3306 3306 name mysql e MYSQL ROOT PASSWORD 123456 d docker io mysql latest p 外网映射 e设置m
  • 13. Jupyter Notebook介绍、安装及使用

    一 什么是Jupyter Notebook 1 简介 Jupyter Notebook是基于网页的用于交互计算的应用程序 其可被应用于全过程计算 开发 文档编写 运行代码和展示结果 Jupyter Notebook官方介绍 简而言之 Jup
  • 《电子相框》--2.fb设备与图片显示

    接着上一篇博客的总结 继续项目的技术点展示 一 fb设备显示图片基础的步骤 1 确定打开的设备 一般设备在 dev fbxx 2 两个与显示有关的结构体变量 struct fb fix screeninfo finfo struct fb
  • ajax加密url参数,JS加解密URL参数encodeURIComponent() decodeURIComponent()

    参考1 http www w3school com cn js jsref encodeURIComponent asp 参考2 http www w3school com cn js jsref decodeURIComponent as
  • JS原型详解

    原型 原型是 JavaScript 面向对象特性中重要的概念 也是大家太熟悉的概念 因为在绝大多 数的面向对象语言中 对象是基于类的 例如 Java 和 C 对象是类实例化的结果 而在 JavaScript 语言中 没有类的概念 对象由对象
  • 用NCL将GRIB/GRIB2文件转成nc文件(批量转),JRA-55再分析为例

    背景 答主最近需要用到JRA 55再分析数据 但在面对GRIB数据格式时犯难了 便想把GRIB格式转成nc文件再做分析 因为nc文件很容易用python或Matlab处理 尝试了好些方法 发现先安装NCL再用ncl来批量转换 是一种比较便捷