用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再分析为例 的相关文章

  • 打印 STDOUT/STDERR 并将它们写入 Bash 中的文件?

    有没有办法让 Bash 将 STDOUT STDERR 重定向到文件 但仍然将它们打印到终端 这会将 STDOUT 和 STDERR 重定向到同一个文件 some command 2 gt 1 tee file log Example to
  • 为什么 %processor_architecture% 总是返回 x86 而不是 AMD64

    我正在尝试检索环境变量来检测系统是32位还是64位 但在64位服务器上环境变量 processor architecture 正在返回x86代替AMD64 有人对此有任何线索吗 您可能获得了错误的环境变量 如果您的应用程序是在 64 位操作
  • 在 Windows / Linux 中创建 Mac 包

    我自己努力制作一个 r 包 我按照 stackoverflow 中上一个问题的说明进行操作如何为外行开发软件包 http cran r project org bin windows Rtools 以下是我根据上一个问题采取的步骤 在新的
  • 后台地理围栏 Windows Phone 8.1 (WinRT)

    Issue 我试图在 WP8 1 WinRT 中发生地理围栏事件 进入 退出 时触发后台任务 我已经编写了一个示例应用程序来尝试让它工作 但似乎无法做到这一点 到目前为止 我已采取以下步骤来尝试让地理围栏在后台运行 检查位置功能 创建 注册
  • 获取文件夹及其子文件夹中最长文件路径的长度

    我正在寻找一个可以从命令行 批处理 PowerShell 运行的脚本 该脚本将遍历文件夹及其子文件夹 并返回一个数字 该数字是最长文件路径的长度 我已经看到了一些批处理和 PowerShell 脚本 例如 如何在 Windows 中查找路径
  • PSExec 中的会话 ID

    Psexec 无法在远程会话上为我显示记事本 GUI 因此 我尝试获取会话 ID 如下所示 c Users Amitra Downloads PSTools gt PsExec u administrator p force 135 20
  • 使用搜索词打开 Windows 资源管理器查找窗格

    我正在尝试创建一个应用程序 该应用程序打开 Windows 资源管理器搜索功能并搜索输入了指定术语的文件 文件夹 我已经有了 Windows Vista SP1 使用 Windows 索引服务引入的 search query 命令的代码 这
  • 使用 Linq to XML 将 XElement 添加到 XML 文件

    使用 Linq to XML 我尝试将 XElement 添加到现有 XML 文件 它必须在 Windows Phone NET 框架中完成 目前我的 XML 文件如下所示
  • 自动从 C# 代码进行调试过程并读取寄存器值

    我正在寻找一种方法来读取某个地址的 edx 注册表 就像这个问题中所问的那样 读取eax寄存器 https stackoverflow com questions 16490906 read eax register 虽然我的解决方案需要用
  • 如何从页眉和/或页脚确定 PE 可执行文件的大小

    假设您有要雕刻的数据流或字节块 如何确定可执行文件的大小 PE 可执行文件格式中有许多标头 但是我使用哪些标头部分来确定 如果可能 可执行文件的总长度 这是文件格式的图片 如果PE文件格式良好 计算可以简化为 伪代码 size IMAGE
  • “./somescript.sh”和“. ./somescript.sh”有什么区别

    今天我按照一些说明在 Linux 中安装软件 有一个需要首先运行的脚本 它设置一些环境变量 指令告诉我执行 setup sh 但是我执行时犯了一个错误 setup sh 所以环境没有设置 最后我注意到了这一点并继续进行 我想知道这两种调用脚
  • 在 MacO 和 Linux 上安装 win32com [重复]

    这个问题在这里已经有答案了 我的问题很简单 我可以安装吗win32com蟒蛇API pywin32特别是 在非 Windows 操作系统上 我一直在Mac上尝试多个版本pip install pywin32 都失败了 下面是一个例子 如果你
  • ARM 的内核 Oops 页面错误错误代码

    Oops 之后的错误代码给出了有关 ARM EX 中的恐慌的信息 Oops 17 1 PREEMPT SMP在这种情况下 17 给出了信息 在 x86 中它代表 bit 0 0 no page found 1 protection faul
  • 使用 terminfo 的终端颜色?

    我正在编写一个 C 类 允许在终端中使用颜色 我希望它适用于每个终端 在支持真彩色 24 位 的终端上打印 在支持它的终端上具有 256 色 6x6x6 其他都是基本的 16 种颜色 我曾经使用 termcap 编写过一次 C 函数 并且我
  • 匿名、身份验证、模拟和委派之间有什么区别,为什么委派需要 Kerberos?

    当我们的客户安装我们的软件时 他们通常选择 拆分安装 其中服务在一个机器上运行 数据库在另一个机器上 这些服务可能与其他服务通信 或者数据库可能包含需要与另一个数据库通信的存储过程 这将我们带入了 Kerberos 和 SetSPN 的黑暗
  • 如果目录不存在,有没有办法让 mv 创建要移动到的目录?

    因此 如果我在主目录中并且想将 foo c 移动到 bar baz foo c 但这些目录不存在 是否有某种方法可以自动创建这些目录 以便你只需要输入 mv foo c bar baz 一切都会顺利吗 似乎您可以将 mv 别名为一个简单的
  • 在Linux中将日期附加到文件名

    我想在文件名旁边添加日期 somefile txt 例如 somefile 25 11 2009 txt 或 somefile 25Nov2009 txt 或任何类似的内容 也许脚本或终端窗口中的某些命令可以执行 我正在使用Linux Ub
  • 为什么“script”命令会生成 ^[ 和 ^M 字符以及如何使用 vim 搜索和替换删除它们?

    在linux上 使用bash shell 当我使用script命令时 生成的文件称为typescript 当我用 vim 打开该文件时 每一行都包含 M字符 并且有几行 由于我的彩色命令提示符 包含一个字符 我想用任何东西替换这些字符 从而
  • 如何获取 bash 中从 Ping 接收到的数据包的百分比?

    当 ping 主机时 我希望输出仅显示收到的数据包 已发送 5 个 的百分比 我想我需要使用grep不知怎的 但我不知道如何 我是 bash 编程的新手 这是我所在的地方 ping c 5 q host grep grep 中应该包含什么
  • 将 bash 脚本作为守护进程运行

    我有一个脚本 它每 X 次运行我的 PHP 脚本 bin bash while true do usr bin php f my script php echo Waiting sleep 3 done 我怎样才能将它作为守护进程启动 要从

随机推荐

  • 特征选择-过滤式选择

    过滤式方法先按照某种规则对数据集进行特征选择 然后再训练学习器 特征选择过程与后续学习器无关 这相当于先用特征选择过程对初始特征进行 过滤 再用过滤后的特征来训练模型 某种规则 按照发散性或相关性对各个特征进行评分 设定阈值或者待选择阈值的
  • 数据密集、计算密集、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来批量转换 是一种比较便捷