NASA数据下载

DATA ACCESS:https://oceandata.sci.gsfc.nasa.gov/directdataaccess/

📌 问题分析
下载文件 每个只有 9.6KB,这可能是因为:

  1. 请求的文件并不存在,NASA 服务器返回的是 HTML 错误页面(例如 404 Not Found)。
  2. NASA 要求登录认证,而你没有提供 Earthdata 账户认证,导致下载的是 一个错误页面。
  3. 文件下载 URL 有问题,可能需要使用 requests.get(file_url, allow_redirects=True) 处理重定向。

解决过程

(在命令行下载 NASA MODIS 叶绿素数据)

在这里插入图片描述

第一步:生成 NASA Earthdata 认证 Cookie

  1. 在终端运行以下命令,替换 your_usernameyour_password
wget --save-cookies ~/.urs_cookies --keep-session-cookies --auth-no-challenge=on \
--user=your_username --password=your_password \
"https://oceandata.sci.gsfc.nasa.gov/cgi/getfile/AQUA_MODIS.20020701_20020731.L3m.MO.CHL.chlor_a.9km.nc"

这将:

  • 使用 your_username 和 your_password 登录 NASA Earthdata 服务器
  • 生成 ~/.urs_cookies 认证文件
  • 下载 AQUA_MODIS 叶绿素数据

第二步:使用 wget 获取文件列表

运行以下命令:

wget --post-data="results_as_file=1&sensor_id=7&dtid=1043&sdate=1967-01-01 00:00:00&edate=2025-01-01 00:00:00&subType=1&prod_id=chlor_a&resolution_id=9km&period=MO" -O file_list.txt https://oceandata.sci.gsfc.nasa.gov/api/file_search

✅ file_list.txt 现在包含 NASA 服务器返回的 .nc 文件名。

第三步:将文件名转换为完整的 NASA 下载链接

运行以下命令:

awk '{print "https://oceandata.sci.gsfc.nasa.gov/cgi/getfile/" $1}' file_list.txt > download_list.txt

✅ download_list.txt 现在包含完整的 NASA 下载链接。

第四步:批量下载多个文件

如果你有多个文件(例如 file_list.txt),你可以使用:

wget --load-cookies ~/.urs_cookies -i file_list.txt -P ./MODIS_Chlorophyll/

📌 说明

  • --load-cookies ~/.urs_cookies 👉 使用 NASA Earthdata 认证
  • -i download_list.txt 👉 从 download_list.txt 读取下载链接
  • -P ./MODIS_Chlorophyll/ 👉 将文件存放到 MODIS_Chlorophyll/ 目录

例2:下载 CZCS 叶绿素浓度(1978-1986)的 wget 指令
0. 要下载 CZCS 卫星叶绿素浓度(Chlorophyll-a) 数据,时间范围为 1978-10-30 到 1986-06-22,分辨率 9km,时间分辨率 Monthly(MO)
原始 wget 指令(网页提供的):

wget -q --post-data="results_as_file=1&sensor_id=11&dtid=1154&sdate=1978-10-30 00:00:00&edate=1986-06-22 00:00:00&subType=1&prod_id=chlor_a&resolution_id=9km&period=MO" -O - https://oceandata.sci.gsfc.nasa.gov/api/file_search

1. 修改后 wget 下载指令
该指令用于 获取 CZCS 叶绿素浓度 .nc 文件列表
获取 CZCS 叶绿素数据列表

wget --post-data="results_as_file=1&sensor_id=11&dtid=1154&sdate=1978-10-30 00:00:00&edate=1986-06-22 00:00:00&subType=1&prod_id=chlor_a&resolution_id=9km&period=MO" \
-O czcs_file_list.txt https://oceandata.sci.gsfc.nasa.gov/api/file_search

这将生成 czcs_file_list.txt,包含所有 .nc 文件的 URL
2. 转换文件列表为可下载的 URL

awk '{print "https://oceandata.sci.gsfc.nasa.gov/cgi/getfile/" $1}' czcs_file_list.txt > czcs_download_list.txt

3. 批量下载所有 CZCS 数据

wget --load-cookies ~/.urs_cookies -i czcs_download_list.txt -P ./CZCS_Chlorophyll/

例2:SeaWiFS 叶绿素浓度数据(1997-2010)下载命令
在这里插入图片描述

1️⃣ 获取 SeaWiFS 叶绿素浓度 .nc 文件列表

wget --post-data="..." -O seawifs_file_list.txt https://oceandata.sci.gsfc.nasa.gov/api/file_search

2️⃣ 检查是否有数据

cat seawifs_file_list.txt

3️⃣ 转换为可下载 URL

awk '{print "https://oceandata.sci.gsfc.nasa.gov/cgi/getfile/" $1}' seawifs_file_list.txt > seawifs_download_list.txt

4️⃣ 批量下载

wget --load-cookies ~/.urs_cookies -i seawifs_download_list.txt -P ./SeaWiFS_Chlorophyll/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值