收藏本站 劰载中...网站公告 | 吾爱海洋论坛交流QQ群:835383472

nsidc数据wget批量下载操作说明

[复制链接]
以下资源来自网络,本文仅转载,希望可以帮到有需要的同学们!
) }; k1 d3 n5 R1 F; v/ Q3 D$ ?2 B: h3 s6 C" b+ c" m& m+ ~5 B3 x
【前提】 最近有同学问如何批量下载海冰密集度的数据,很久前在家园里了解到了wget,今天以这个为例整理一哈…当然,实现的方式还有很多,这里用的是shell来完成。
( K4 C& {: S* W% u/ q6 R  t' g6 v: p
A【数据】
A.1 数据名Sea Ice Concentrations from Nimbus-7 SMMR and DMSP SSM/I-SSMISPassive Microwave Data, Version 1
A.2 数据主页 https://nsidc.org/data/nsidc-0051/
数据说明 www.52ocean.cn
表1 数据介绍
, F6 c, {0 a# p$ A4 G0 k! W
( O! _4 `  j; o* H# j' h. [% t/ J
B 【需求】
B.1 需要下载该数据集海冰的数据,由于数据存放方式是根据时间建立的路径,需要遍历下载。如/n5eil01u.ecs.nsidc.org/PM/NSIDC-0051.001/2000.04.22
. M3 B) C' q1 s" y+ |# y% k7 S
图1 数据存放示意图
C【实现方式】
创建文件$ vim down_sea_ice.sh
根据需求修改代码

  A0 _, n1 X$ W, f/ M( |
在终端中$bashdown_sea_ice.sh
$ z  c' `1 w" Y; i3 s# P7 q* r
7 f6 |5 H0 Q8 z' A' s0 o6 s7 R
图2 下载示意图

. R' ?0 q, M6 a0 F$ O' y
# T0 q9 e3 V& `  J- w, Y
C.1 使用语言:shell。MATLAB、python等也可,后面介绍。
C.2 思路:通过wget进行下载
利用shell,设置起始时间和结束时间,循环生成每个路径后,再利用wget进行下载。

. W, \4 P# ~- m/ N  {! |
C.3 代码
  • #
  • # www.52ocean.cn
  • startdate=2000-01-01
  • enddate=2010-12-31
  • sDateTs=`date -j -f "%Y-%m-%d" $startdate "+%s"`
  • eDateTs=`date -j -f "%Y-%m-%d" $enddate "+%s"`
  • dateTs=$sDateTs
  • offset=86400
  • while [ "$dateTs" -le "$eDateTs" ]
  • do
  •           date=`date -j -f "%s" $dateTs "+%Y-%m-%d"`
  •           year=`date -j -f "%s" $dateTs "+%Y"`
  •           month=`date -j -f "%s" $dateTs "+%m"`
  •           day=`date -j -f "%s" $dateTs "+%d"`
  •           printf "wget --load-cookies ~/.urs_cookies --save-cookies ~/.urs_cookies --keep-session-cookies --no-check-certificate --auth-no-challenge=on -r --reject \047index.html*\047 -np -e robots=off www.52ocean.cn\n" $year $month $day $year $month $day
  •          wget --load-cookies ~/.urs_cookies --save-cookies ~/.urs_cookies --keep-session-cookies --no-check-certificate --auth-no-challenge=on  -r --reject 'index.htm;*' -c -np -e robots=off -A "*_n.*" "https://n5eil01u.ecs.nsidc.org/PM/NSIDC-0051.001/${year}.${month}.${day}/"
  •           dateTs=$(($dateTs+$offset))
  • done

  • 5 V- T+ Z7 D, S; Q8 R
; ^5 L2 _9 ]" K' R  k! v/ z
[color=rgb(255, 0, 0) !important]复制代码
2 ?& P* c7 s, \. x  T9 _
5 {, |. p  Q  N( C$ {
代码中配置时间,循环时间,生成路径,wget下载【linux】
wget--load-cookies ~/.urs_cookies --save-cookies ~/.urs_cookies--keep-session-cookies --no-check-certificate --auth-no-challenge=on  -r --reject 'index.htm;*' -c -np -erobots=off -A "*_n.*" "https://n5eil01u.ecs.nsidc.org/PM/NSIDC-0051.001/${year}.${month}.${day}/"   
【windows】
wget--http-user=[USERNAME] --http-password=[PASSWORD] --load-cookies mycookies.txt--save-cookies mycookies.txt --keep-session-cookies--no-check-certificate--auth-no-challenge -r --reject "index.html*" –c-np -e robots=off -A "*_n.*""https://n5eil01u.ecs.nsidc.org/PM/NSIDC-0051.001/${year}.${month}.${day}/"   
基本参考冰雪中心给的下载方式(下面有网址),额外加了
1. -c:断点
2. -A "*_n.*" :通配符,可下载北极的数据,见图1中的蓝色方框。若只下载bin文件,则改为-A "*_n.bin"
3. www.52ocean.cn${year}.${month}.${day}/路径用变量传入

* p' {( ~, z  j9 n- l( D2 ?+ }
参考网址:https://nsidc.org/support/faq/what-options-are-available-bulk-downloading-data-https-earthdata-login-enabled
) x- m8 d; ^& A# X; E
1 i+ S, w8 j% t! L
- R7 s8 A% j9 E9 w+ \
图3 程序示意图
C.4 遇到的问题:
最初使用了绝对路径,发现出现了404错误,排查发现是
文件名是nt_20100105_f17_v1.1_n.bin。之前以为‘f17‘是不变的。
下面是错误记录

7 T* g( q# ~3 D9 ]5 E
1 B# }; U/ P, |7 x# F' m  ]$ e
【报错】 下载2000年的数据发现404报错
wget --load-cookies ~/.urs_cookies --save-cookies~/.urs_cookies --keep-session-cookies --no-check-certificate--auth-no-challenge=on -r --reject 'index.html*' -np -e robots=offwww.52ocean.cn
--2019-06-11 16:12:15-- www.52ocean.cn
Resolving n5eil01u.ecs.nsidc.org... 128.138.97.102
Connecting to n5eil01u.ecs.nsidc.org|128.138.97.102|:443...connected.
HTTP request sent, awaiting response... 404 Not Found
2019-06-11 16:12:17 ERROR 404: Not Found.
【原因】 文件名发生变化 变成了f07 不是 n07
nt_20100105_f17_v1.1_n.bin
【解决思路】
1 找到f编号的规则
或者 变通配符
6 K  P" U7 A, k4 F9 Y* ?1 W
参考
a 通配符www.52ocean.cn
a2 wget 说明,与a.1相似www.52ocean.cn
b 数据下载说明:www.52ocean.cn

: V* W2 N- h( U7 h3 z" N+ y+ b9 K同时我也记录在了气象家园的网上 www.52ocean.cn

: P, z. a' s& S! V& r3 Y1 M
回复

举报 使用道具

相关帖子

全部回帖
暂无回帖,快来参与回复吧
懒得打字?点击右侧快捷回复 【吾爱海洋论坛发文有奖】
您需要登录后才可以回帖 登录 | 立即注册
admin
活跃在3 天前
快速回复 返回顶部 返回列表