【数值模型系列】link_grib.csh脚本解读

1 概述

在WPS中,ungrib.exe解析气象数据前会先链接GRIB气象数据(当然,不链接也行,拷贝过来也可以运行,但是非常浪费存储资源,因此使用软链接)为GRIBFILE.xxx,链接气象数据的脚本为link_grib.csh,以下对该脚本进行解读,加深对该过程的理解。

2 代码解读

link_grib.csh的代码内容为(#注释部分为解读):

#!/bin/csh -f            # csh脚本标志

set alpha = ( A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ) # 用于链接文件的命名(GRIBFILE.xxx)
set i1 = 1  # 第一个x在alpha的索引
set i2 = 1  # 第二个x在alpha的索引
set i3 = 1  # 第三个x在alpha的索引

# ${#argv}表示获取传入的参数个数,${2}表示第二个参数
if ( ( ${#argv} == 1 ) || ( ( ${#argv} == 2 ) && ( ${2} == "." ) ) ) then

   rm -f GRIBFILE.??? >& /dev/null  # 清除已有的GRIBFILE.xxx

   foreach f ( ${1}* )  # 对传入的第一个参数(为文件夹路径)下的所有文件进行遍历
   
      ln -sf ${f} GRIBFILE.$alpha[$i3]$alpha[$i2]$alpha[$i1] # 逐一链接,-f表示如存在同名链接则删除再创建,$alpha[$i3]表示获取alpha的索引为i3的字母
      @ i1 ++  # i1自增
   
      if ( $i1 > 26 ) then
         set i1 = 1 # 如果第一个x已经存在从A到Z共26个字母了,第二个x开始从1自增
         @ i2 ++
        if ( $i2 > 26 ) then
           set i2 = 1  # 如果第二个x已经存在从A到Z共26个字母了,第三个x开始从1自增
           @ i3 ++
           if ( $i3 > 26 ) then  # 如果第三个x已存在了从A到Z了,表示需要链接的气象文件数目超过该脚本能链接的最大数目了,这时候一般可以分段模拟。
              echo "RAN OUT OF GRIB FILE SUFFIXES!"
           endif
        endif
      endif
   
   end
# 入参多于1个且第二个不为'.'时的情况
else if ( ${#argv} > 1 ) then

   rm -f GRIBFILE.??? >& /dev/null # 删除已存在的链接

   foreach f ( $* )  # $*表示所有参数($1 $2 …$n的形式)
   
      if ( $f != "." ) then  # 如果没循环到软链接的目标目录(当前目录),则依次链接
         ln -sf ${f} GRIBFILE.$alpha[$i3]$alpha[$i2]$alpha[$i1]
         @ i1 ++
   
         if ( $i1 > 26 ) then
            set i1 = 1 # 如果第一个x已经存在从A到Z共26个字母了,第二个x开始从1自增
            @ i2 ++
            if ( $i2 > 26 ) then
               set i2 = 1 # 如果第二个x已经存在从A到Z共26个字母了,第三个x开始从1自增
               @ i3 ++
               if ( $i3 > 26 ) then # 如果第三个x已存在了从A到Z了,表示需要链接的气象文件数目超过该脚本能链接的最大数目了,这时候一般可以分段模拟。
                  echo "RAN OUT OF GRIB FILE SUFFIXES!"
               endif
            endif
         endif
      endif
   
   end
else if ( ${#argv} == 0 ) then # 如果未传入参数,则在屏幕上给出用法提示
   echo " " 
   echo " " 
   echo "   Please provide some GRIB data to link"
   echo "   usage: $0 path_to_grib_data/grib_data_root"
   echo " " 
   echo " " 
endif

3 用法总结

根据上面对源码的分析,可以知道最多能链接262626=17576个文件(夹),一般都是足够了的。主要有两种链接方法

3.1 批量链接

输入两个参数,第一个参数为要连接的气象数据的文件夹,第二个参数为链接目的地(当前位置,即’.')。例:

# 假如需要连接的气象数据均在metdata文件夹下,则可使用如下命令
./link_grib.csh /metdata/ .   

3.2 文件单个列出后再链接

输入多于两个参数,第一个至倒数第二个参数为要连接的气象数据的文件,最后一个参数为链接目的地(当前位置,即’.')。例:

# 假如需要连接的气象数据均在metdata文件夹下,分别为fileA和fileB,则可使用如下命令
./link_grib.csh /metdata/fileA  /metdata/fileB .   

“微思研”微信公众号,用于分享个人学习及工作生活趣事。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
### 回答1: 要下载matlab read_grib.r4工具箱,首先需要在Matlab官方网站上找到相应的下载链接。你可以通过在搜索引擎中输入“Matlab read_grib.r4工具箱下载”来找到官方网站。一旦找到下载链接,你可以单击链接进入下载页面。 在下载页面上,你可能需要登录你的Matlab账号。如果你没有账号,你需要先注册一个账号才能下载工具箱。注册账号通常是免费的,你可以按照页面上的注册步骤完成注册。 一旦你登录成功,下载页面会显示工具箱的详细信息,包括版本号、文件大小等。在页面上你可能还会找到一些相关的文档和说明。 点击下载按钮,工具箱文件会开始下载到你的计算机。下载的速度取决于你的网络连接和文件的大小。 下载完成后,你可以使用文件浏览器找到下载的文件。双击该文件,Matlab会自动进行安装。安装过程中可能会要求你选择安装路径和一些其他的配置选项,你可以根据个人需要进行选择。 安装完成后,你可以在Matlab的命令行中使用read_grib.r4工具箱了。你可以通过查阅官方文档或者搜索相关的教程来学习如何使用该工具箱的功能。 总的来说,下载和安装matlab read_grib.r4工具箱需要在Matlab官方网站上找到下载链接,登录或注册账号,选择下载并完成安装过程。安装完成后,你就可以在Matlab中使用该工具箱了。 ### 回答2: 要下载matlab read_grib.r4工具箱,您可以按照以下步骤进行操作。 首先,打开Matlab官方网站,网址为www.mathworks.com。在网站的首页中,您可以找到一个搜索栏。 在搜索栏中输入“read_grib.r4 toolbox”并点击搜索按钮。这将显示与您的搜索相关的结果。 在搜索结果中,找到适用于您的操作系统的工具箱版本,并点击进入该页面。 在工具箱页面上,您将看到有关工具箱的详细信息,包括功能、系统要求、下载链接等。 单击下载链接,这将会开始下载工具箱的安装文件。请确保您的计算机具有足够的存储空间来保存该文件。 下载完成后,使用文件管理器打开下载的安装文件。双击运行该文件,并按照安装向导的指示进行操作。 在安装过程中,您可能需要同意许可协议并选择安装路径。请确保选择合适的安装路径,并完成安装过程。 安装完成后,您可以打开Matlab,并在命令窗口中输入“help read_grib.r4”以查看工具箱的使用说明和示例。 下载和安装matlab read_grib.r4工具箱后,您可以使用它来读取和处理GRIB(Gridded Binary)文件。这个工具箱提供了一系列函数和方法,供您操作和分析GRIB数据。 希望以上回答能够对您有所帮助,谢谢! ### 回答3: 要下载MATLAB的read_grib.r4工具箱,可以按照以下步骤进行操作: 1. 在互联网浏览器中打开MATLAB官方网站(www.mathworks.com)。 2. 在网站上找到搜索框,输入“read_grib.r4工具箱”。 3. 点击搜索按钮,MATLAB网站将会显示与该工具箱有关的结果。 4. 从搜索结果中找到适合你的MATLAB版本和操作系统的read_grib.r4工具箱版本。 5. 点击所选择的工具箱,网站将会展示相关信息和下载选项。 6. 点击下载按钮,选择一个下载位置,并开始下载。 7. 下载完成后,查找下载的压缩文件,解压缩它到一个合适的文件夹。 8. 打开MATLAB软件,进入主界面。 9. 在主界面中点击“File(文件)”选项,选择“Set Path(设置路径)”,然后选择“Add with Subfolders(添加包含子文件夹的路径)”选项。 10. 导航到前面解压缩的文件夹,并选择它,然后点击“OK(确认)”按钮。 11. 现在,MATLAB已经添加了read_grib.r4工具箱的路径。 12. 接下来,你可以在MATLAB命令窗口中使用read_grib.r4工具箱的命令了。 这些步骤将允许你在MATLAB中下载和使用read_grib.r4工具箱来读取和处理GRIB格式文件。希望这个回答对你有帮助!
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

⁣北潇

老板大气!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值