批量下载ISCCP D2的hdf格式数据

2024-01-01 18:58

本文主要是介绍批量下载ISCCP D2的hdf格式数据,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ISCCP数据集介绍可见:国际卫星云气候计划ISCCP
ISCCP官网:International Satellite Cloud Climatology
Project 利用ISCCP
D2资料分析近20年全球不同云类云量变化的变化及其对气候可能的影响:论文链接
利用D2数据对云分析的各种图(来自官网):cloud Data Analysis to Understand Climate
ISCCP的GPC数据下载链接:GPC格式
ISCCP的hdf数据下载链接:hdf格式

Requirements

linux系统下
conda环境
python3
要求安装好requests库

批量下载前的准备

1.配置好python环境和requests库

conda install requests

2.Bash的身份验证

cd ~
touch .netrc
echo "machine urs.earthdata.nasa.gov login $USERNAME password $PASSWORD" > .netrc
chmod 0600 .netrc
touch .urs_cookies

hdf下载的python脚本

由于1983-1993年的文件名为3hrlymon_198306,1994之和的文件名为ISCCP.D2.0.GLOBAL.1994.02.99.9999.GPC.hdf或者ISCCP.D2.1.GLOBAL.1994.02.99.9999.GPC.hdf或者ISCCP.D2.2.GLOBAL.1994.02.99.9999.GPC.hdf这种类型的名字,下载的时候要自己甄别,修改url。
下载完成后的文件全部用ISCCP.D2.0.GLOBAL.1994.02.99.9999.GPC.hdf这种类型的文件名字存储好。

from requests import Session
session = Session()
session.auth = ('username', 'password')
for year in range(1983,1994):for mon in range(1,13):url='https://asdc.larc.nasa.gov/data/ISCCP/D2/'+str(year)+'/'+'{0:02d}/'.format(mon)+'d2_3hrlymon_'+str(year)+'{0:02d}'.format(mon)file_name='/mnt/d/research_work/cloudkernel/cloud-radiative-kernels-master/data/temp/'+'ISCCP.D2.0.GLOBAL.'+str(year)+'.'+'{0:02d}'.format(mon)+'.99.9999.GPC.hdf'print(url)print(file_name)_redirect = session.get(url)_response = session.get(_redirect.url)with open(file_name, 'wb') as file:file.write(_response._content)
for year in range(1995,2000):for mon in range(1,13):url='https://asdc.larc.nasa.gov/data/ISCCP/D2/'+str(year)+'/'+'{0:02d}/'.format(mon)+'ISCCP.D2.1.GLOBAL.'+str(year)+'.'+'{0:02d}'.format(mon)+'.99.9999.GPC.hdf'file_name='/mnt/d/research_work/cloudkernel/cloud-radiative-kernels-master/data/temp/'+'ISCCP.D2.0.GLOBAL.'+str(year)+'.'+'{0:02d}'.format(mon)+'.99.9999.GPC.hdf'print(file_name)_redirect = session.get(url)_response = session.get(_redirect.url)with open(file_name, 'wb') as file:file.write(_response._content)

这篇关于批量下载ISCCP D2的hdf格式数据的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/560187

相关文章

shell脚本批量导出redis key-value方式

《shell脚本批量导出rediskey-value方式》为避免keys全量扫描导致Redis卡顿,可先通过dump.rdb备份文件在本地恢复,再使用scan命令渐进导出key-value,通过CN... 目录1 背景2 详细步骤2.1 本地docker启动Redis2.2 shell批量导出脚本3 附录总

批量导入txt数据到的redis过程

《批量导入txt数据到的redis过程》用户通过将Redis命令逐行写入txt文件,利用管道模式运行客户端,成功执行批量删除以Product*匹配的Key操作,提高了数据清理效率... 目录批量导入txt数据到Redisjs把redis命令按一条 一行写到txt中管道命令运行redis客户端成功了批量删除k

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

Python实现批量提取BLF文件时间戳

《Python实现批量提取BLF文件时间戳》BLF(BinaryLoggingFormat)作为Vector公司推出的CAN总线数据记录格式,被广泛用于存储车辆通信数据,本文将使用Python轻松提取... 目录一、为什么需要批量处理 BLF 文件二、核心代码解析:从文件遍历到数据导出1. 环境准备与依赖库

C#监听txt文档获取新数据方式

《C#监听txt文档获取新数据方式》文章介绍通过监听txt文件获取最新数据,并实现开机自启动、禁用窗口关闭按钮、阻止Ctrl+C中断及防止程序退出等功能,代码整合于主函数中,供参考学习... 目录前言一、监听txt文档增加数据二、其他功能1. 设置开机自启动2. 禁止控制台窗口关闭按钮3. 阻止Ctrl +

java如何实现高并发场景下三级缓存的数据一致性

《java如何实现高并发场景下三级缓存的数据一致性》这篇文章主要为大家详细介绍了java如何实现高并发场景下三级缓存的数据一致性,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 下面代码是一个使用Java和Redisson实现的三级缓存服务,主要功能包括:1.缓存结构:本地缓存:使

SpringBoot 异常处理/自定义格式校验的问题实例详解

《SpringBoot异常处理/自定义格式校验的问题实例详解》文章探讨SpringBoot中自定义注解校验问题,区分参数级与类级约束触发的异常类型,建议通过@RestControllerAdvice... 目录1. 问题简要描述2. 异常触发1) 参数级别约束2) 类级别约束3. 异常处理1) 字段级别约束

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分

C#解析JSON数据全攻略指南

《C#解析JSON数据全攻略指南》这篇文章主要为大家详细介绍了使用C#解析JSON数据全攻略指南,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、为什么jsON是C#开发必修课?二、四步搞定网络JSON数据1. 获取数据 - HttpClient最佳实践2. 动态解析 - 快速