linux下使用.csh脚本自动化下载GFS气象预报数据

简介: 在linux环境下使用脚本实现对于WRF模式的初始场强迫场资料–GFS数据进行自动化下载

在linux环境下使用脚本实现对于WRF模式的初始场强迫场资料–GFS数据进行自动化下载



GFS(Global Forecast System–全球预报系统)


GFS(Global Forecast System–全球预报系统)是WRF模式中常用的预报场资料,一般应用于业务预报。


Final Reanalysis Data再分析数据集


  • FNL是由美国气象环境预报中心(NCEP)和美国国家大气研究中心(NCAR)联合制作的,他们采用了当今最先进的全球资料同化系统和完善的数据库,对各种来源(地面、船舶、无线电探空、测风气球、飞机、卫星等)的观测资料进行质量控制和同化处理,获得了一套完整的再分析资料集,它不仅包含的要素多,范围广,而且延伸的时段长,是一个综合的数据集。与GFS相比,FNL中加入了同化技术,预报结果更准确,但是更新时间要落后GFS一定时间,6h左右的时间,所以FNL一般用于数据反演。
  • 数据是在全球按照一定的度数划分的数据网格,有1度的、0.5度和0.25度,数据更新的时间是每6小时,时间是以格里尼治时间为标准。
  • 环境:linux
  • 脚本:csh
  • 功能:实现指定时间范围内的GFS气象数据下载


使用csh脚本下载GFS资料


#!/bin/csh -xf
#-----------------------------------------------------------------------
#set debug
set cmd = $0
set cmd = $cmd:t
#-----------------------------------------------------------------------
# get args
#-----------------------------------------------------------------------
if ( $#argv >= "1" ) then
  set date    = $1  # start time 
  set res     = $2  # resolution :0p25\0p50\1p00
  set inter   = $3  # time interp:1\3\6
  set end     = $4  # end data
else
   echo "  "
   echo "  Usage: $cmd Initime"
   echo "  "
   exit 1
endif
  set SY4     = `echo $date | cut -c 1-4`  #year
  set SMM     = `echo $date | cut -c 5-6`  #month
  set SDD     = `echo $date | cut -c 7-8`  #day
  set SHH     = `echo $date | cut -c 9-10` #forrest start time
#-----------------------------------------------------------------------
# Ftp Server information
#-----------------------------------------------------------------------
  if ( ! $?ftpserver ) set  ftpserver = "https://ftp.ncep.noaa.gov/data/nccf/com/gfs/prod/"
#-----------------------------------------------------------------------
  mkdir $date
  cd $date
  set gfsdata = "${ftpserver}/gfs.${SY4}${SMM}${SDD}/${SHH}/atmos"
  set i=0
  while ( $i <= $end )
    set HH3 = `/Users/gfsdown/cvtno.pl 3 $i`
    wget  ${gfsdata}/gfs.t${SHH}z.pgrb2.${res}.f${HH3}
    @ i = $i + $inter
  end
  echo 'download gfs finish'
#-----------------------------------------------------------------------
exit 0


上述脚本中的cvtno.pl文件如下所示:


#!/usr/bin/perl -w
($#ARGV == 1) || die "Error ";
($len,$no)=@ARGV;
printf "%${len}.${len}d\n",$no;
exit;


FNL官网数据介绍


使用python下载FNL


FNL官网数据介绍
使用python下载FNL
import requests


读取FNL资料:

ds = xr.open_dataset('/home/mw/project/fnl_20180516_00_00.grib2',engine='pynio')
ds


引用参考


https://www.heywhale.com/mw/project/6199a9657d74800017253023

https://psl.noaa.gov/data/gridded/reanalysis/

https://ftp.ncep.noaa.gov/data/nccf/com/gfs/prod/

http://www.ihamodel.com/?p=17426

https://zhuanlan.zhihu.com/p/368000766

http://bbs.06climate.com/forum.php?mod=viewthread&tid=20582

https://www.cnblogs.com/tiandi/p/11045602.html


相关文章
|
2月前
|
数据采集 数据可视化 JavaScript
用 通义灵码和 PyQt5 爬虫智能体轻松爬取掘金,自动化采集技术文章和数据
本文介绍了如何利用智能开发工具通义灵码和Python的PyQt5框架,构建一个自动化爬取掘金网站技术文章和数据的智能爬虫系统。通过通义灵码提高代码编写效率,使用PyQt5创建可视化界面,实现对爬虫任务的动态控制与管理。同时,还讲解了应对反爬机制、动态内容加载及数据清洗等关键技术点,帮助开发者高效获取并处理网络信息。
|
1月前
|
传感器 人工智能 JavaScript
Playwright实战:写UI自动化脚本,速度直接起飞
简介: 测试工程师老王因UI自动化问题深夜奋战,反映出传统测试工具的局限性。微软开源的Playwright凭借智能等待、跨域操作、移动端模拟与网络拦截等强大功能,正迅速取代Selenium,成为新一代自动化测试标准。其稳定高效的设计显著降低维护成本,助力企业构建高质量测试流程。
|
4月前
|
Java Linux
自定义linux脚本用于快速jar包启动、停止、重启
自定义linux脚本用于快速jar包启动、停止、重启
226 29
|
3月前
|
机器学习/深度学习 Kubernetes 监控
Kubernetes 节点故障自愈方案:结合 Node Problem Detector 与自动化脚本
本文深入探讨了Kubernetes节点故障自愈方案,结合Node Problem Detector(NPD)与自动化脚本,提供技术细节、完整代码示例及实战验证。文章分析了硬件、系统和内核层面的典型故障场景,指出现有监控体系的局限性,并提出基于NPD的实时事件捕获与自动化诊断树的改进方案。通过深度集成NPD、设计自动化修复引擎以及展示内核死锁恢复的实战案例,文章详细说明了自愈流程的实现步骤与性能优势。此外,还提供了生产环境部署指南、高可用架构设计及安全防护措施,并展望了机器学习增强故障预测和混沌工程验证的进阶优化方向。全文约1.2万字,适合希望提升Kubernetes集群稳定性的技术人员阅读。
104 1
|
4月前
|
Linux Shell 数据安全/隐私保护
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
241 3
|
4月前
|
Linux Shell
Centos或Linux编写一键式Shell脚本删除用户、组指导手册
Centos或Linux编写一键式Shell脚本删除用户、组指导手册
109 4
|
5月前
|
Linux Shell
在Linux、CentOS7中设置shell脚本开机自启动服务
以上就是在CentOS 7中设置shell脚本开机自启动服务的全部步骤。希望这个指南能帮助你更好地管理你的Linux系统。
335 25
|
5月前
|
数据采集 JSON 前端开发
GraphQL接口采集:自动化发现和提取隐藏数据字段
本文围绕GraphQL接口采集展开,详解如何通过`requests`+`Session`自动化提取隐藏数据字段,结合爬虫代理、Cookie与User-Agent设置实现精准抓取。内容涵盖错误示例(传统HTML解析弊端)、正确姿势(GraphQL请求构造)、原因解释(效率优势)、陷阱提示(反爬机制)及模板推荐(可复用代码)。掌握全文技巧,助你高效采集Yelp商家信息,避免常见误区,快速上手中高级爬虫开发。
GraphQL接口采集:自动化发现和提取隐藏数据字段
|
5月前
|
安全 Linux
阿里云linux服务器使用脚本通过安全组屏蔽异常海外访问ip
公网网站可能会遭受黑客攻击导致访问异常,使用此脚本可以屏蔽掉异常IP 恢复访问。也可自行设置定时任务定期检测屏蔽。
394 28
|
5月前
|
关系型数据库 MySQL Linux
在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾
以上就是在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾的步骤。这个过程就像是一场接力赛,数据从MySQL数据库中接力棒一样传递到备份文件,再从备份文件传递到其他服务器,最后再传递回MySQL数据库。这样,即使在灾难发生时,我们也可以快速恢复数据,保证业务的正常运行。
249 28