卫星降雨量数据下载及生成栅格分布图(CMORPH)

news2024/9/23 11:22:17

一、 降雨 nc 数据下载

1. 登录网址(截至到20240712仅有2024年1月的降雨量)
https://www.ncei.noaa.gov/products/climate-data-records/precipitation-cmorph

2. 选择对应时间分辨率

8km×8km (30 min), 0.25°×0.25° (hourly, daily)(覆盖全球60°S-60°N)

--------- 这里以天为例:

3. 选择对应时间 nc 下载

4. 使用 python 批量下载

基于https://blog.csdn.net/weixin_45135078/article/details/138766135修改

# -*- coding: utf-8 -*-

import os
import calendar
import requests
from bs4 import BeautifulSoup
import concurrent.futures


# 降雨量数据时空分辨率:8km×8km(30 min), 0.25°×0.25° (hourly, daily)(覆盖全球60°S - 60°N))
def download_file(out_fl_path, url, year, month, day):
    if day != '':
        download_url = url + str(year) + '/' + f"{month:02d}/" + f"{day:02d}/"
        savePath = out_fl_path + str(year) + '/' + f"{month:02d}/" + f"{day:02d}/"
    else:
        download_url = url + str(year) + '/' + f"{month:02d}/"
        savePath = out_fl_path + str(year) + '/' + f"{month:02d}/"
    # print(download_url)
    response = requests.get(download_url)
    soup = BeautifulSoup(response.text, 'html.parser')
    if not os.path.exists(savePath):
        os.makedirs(savePath)
    for link in soup.select('a[href$=".nc"]'):
        name = link['href']
        nc = requests.get(download_url + name)
        with open(os.path.join(savePath, name), 'wb') as file:
            file.write(nc.content)
        print(name, '下载完成')


def get_rain_nc_from_cmorph(out_fl_path, time_resolution, year_start, year_end, month_start=1, month_end=12):
    url_pre = 'https://www.ncei.noaa.gov/data/cmorph-high-resolution-global-precipitation-estimates/access/'
    url = ''
    if time_resolution == 1:  # 30min
        url = url_pre + '30min/8km/'
    elif time_resolution == 2:  # hourly
        url = url_pre + 'hourly/0.25deg/'
    elif time_resolution == 3:  # daily
        url = url_pre + 'daily/0.25deg/'
    if url.split('/')[-3] == 'daily':
        day = ''
        with concurrent.futures.ThreadPoolExecutor(max_workers=12) as exe_code:
            future_url = {exe_code.submit(download_file, out_fl_path, url, year, month, day): (year, month, day) for year
                          in range(year_start, year_end + 1) for month in range(month_start, month_end+1)}
    else:
        with concurrent.futures.ThreadPoolExecutor(max_workers=12) as exe_code:
            future_url = {exe_code.submit(download_file, out_fl_path, url, year, month, day): (year, month, day) for year
                          in range(year_start, year_end + 1) for month in range(month_start, month_end+1) for day in
                          range(1, calendar.monthrange(year, month)[1] + 1)}


if __name__ == '__main__':
    output_path = '.\\'
    time_kind = 3   # daily
    start_year = 2023  # 开始年
    end_year = 2024  # 结束年
    get_rain_nc_from_cmorph(output_path, time_kind, start_year, end_year)
    # start_month = 1  # 开始月,默认为1
    # end_month = 2  # 结束月,默认12
    # get_rain_nc_from_cmorph(output_path, time_kind, start_year, end_year, start_month, end_month)

二、进行 nc 文件读取,并生成 tif 栅格

待更新...

 数据介绍及下载参考视频网址:https://www.bilibili.com/video/BV1yb421H7rF

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1929924.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ZStack Cloud 5.1.8正式发布

2024年7月5日,ZStack Cloud正式发布最新版本——ZStack Cloud 5.1.8,涵盖一系列重要功能,以下为您进行详细介绍。 亮点速览 GPU运维管理增强:新增GPU设备统一管理界面;支持GPU工作状态和实时负载监控报警三层网络运维…

校园工会体育报名小程序的设计

管理员账户功能包括:系统首页,个人中心,赛事公告管理,球员管理,球队信息管理,比赛信息,比赛报名管理 微信端账号功能包括:系统首页,比赛信息,比赛报名&#…

Linux多线程编程-哲学家就餐问题详解与实现(C语言)

在哲学家就餐问题中,假设有五位哲学家围坐在圆桌前,每位哲学家需要进行思考和进餐两种活动。他们的思考不需要任何资源,但进餐需要使用两根筷子(左右两侧各一根)。筷子是共享资源,哲学家们在进行进餐时需要…

Linux 网络配置与连接

一、网络配置 1.1 ifconfig 网卡配置查询 ifconfig #查看所有启动的网络接口信息 ifconfig 指定的网卡 #查看指定网络接口信息 1.2 修改网络配置文件 vim /etc/sysconfig/network-scripts/ifcfg-ens33 #ens33网络配置文…

【ASTGCN】模型调试学习笔记--数据生成详解(超详细)

利用滑动窗口生成时间序列 原理图示: 以PEMS04数据集为例。 该数据集维度为:(16992,307,3),16992表示时间序列的长度,307为探测器个数,即图的顶点个数,3为特征数,即流量,速度、平…

车间数据采集网关的工作原理和应用场景-天拓四方

在智能制造日益盛行的今天,车间数据采集作为整个生产流程中的关键环节,其重要性愈发凸显。数据采集网关作为这一环节的核心设备,扮演着承上启下的重要角色。本文旨在深入探讨车间数据采集网关的工作原理和应用场景。 一、数据采集网关的工作…

C++:链表插入排序/删除重复节点题解

插入排序 插入排序的思路很简单,基本都知道。 关键是放在链表中, 1.要建立一个哨兵位,这个哨兵位的下一个节点,始终指向val最小的节点。 2.prev指针作为cur的前一个节点,始终指向val最大的节点。它的下一个节点始终…

玩转HarmonyOS NEXT之IM应用首页布局

本文从目前流行的垂类市场中,选择即时通讯应用作为典型案例详细介绍HarmonyOS NEXT的各类布局在实际开发中的综合应用。即时通讯应用的核心功能为用户交互,主要包含对话聊天、通讯录,社交圈等交互功能。 应用首页 创建一个包含一列的栅格布…

Eureka——Spring Cloud中的服务注册与发现组件

目录 1. 前言2. Eureka的概述2.1 Eureka的核心功能2.2 Eureka的角色与特点2.3 Eureka的使用优势 3. 创建 Spring Cloud 的注册中心3.1 创建一个父项目3.2 创建Spring Cloud的注册中心Eureka 4. 创建服务提供者5. 创建一个消费者Consumer,调用服务提供者Provider 1. …

利用OSMnx进行城市路网数据的速度与通行时间推算及分析

本文还是以广州市路网为例,通过osmmx调用ox.add_edge_speeds(G)时,该函数会遍历图G 中的每条边(即每条街道),并基于一些预设的规则或街道属性(如街道类型、是否为主要道路、是否有速度限制等)来…

netdata 监控软件安装与学习

netdata官网 netdata操作文档 前言: netdata是一款监控软件,可以监控多台主机也可以监控单台主机,监控单台主机时,开箱即用,web ui很棒。 环境: [root192 ~]# cat /etc/system-release CentOS Linux rel…

【qt】正则表达式来判断是否为邮箱登录

正则表达式是用来匹配字符串的神器. 在Qt中我们需要使用到QRegExp这个类 用exactMatch来进行匹配. [] 使用方括号 [] 来定义字符类,表示匹配方括号内的任意一个字符 A-Za-z0-9是字符的匹配范围. 是用于指定字符或字符类出现的次数,常见的如下 *(匹配 0…

树结构添加分组,向上向下添加同级,添加子级

树结构添加分组&#xff0c;向上向下添加同级&#xff0c;添加子级 效果代码实现页面js 效果 代码实现 页面 <el-tree :data"treeData" :props"defaultProps" :expand-on-click-node"false":filter-node-method"filterNode" :ref&…

pico+unity3d手部动画

在 Unity 开发中&#xff0c;输入系统的选择和运用对于实现丰富的交互体验至关重要。本文将深入探讨 Unity 中的 Input System 和 XR Input Subsystem 这两种不同的输入系统&#xff0c;并详细介绍它们在控制手部动画方面的应用。 一、Input System 和 XR Input Subsystem 的区…

有关电力电子技术的一些相关仿真和分析:⑤交-直-交全桥逆变+全波整流结构电路(MATLAB/Siumlink仿真)

全桥逆变+全波整流结构 参数:Vin=500V, Vo=200V, T=2:1:1, RL=10Ω, fs=100kHz, L=1mH, C=100uF (1)给定输入电压,输出电压和主电路参数,仿真研究电路工作原理,分析工作时序; (2)调节负载电阻,实现电流连续和断续,并仿真验证; (3)调节占空比,分析占空比与电…

【2024开发插件大赛】如何为 ONLYOFFICE 开发插件

我们发布了 2024 插件开发大赛&#xff1a;为 ONLYOFFICE 开发适合中国用户的插件&#xff0c;获得福利与证书。如果您想要参加&#xff0c;阅读本文了解如何为 ONLYOFFICE 开发插件。 关于 ONLYOFFICE ONLYOFFICE 是一个国际开源项目&#xff0c;由领先的 IT 公司 Ascensio Sy…

Microsoft Edge(简称Edge)

Microsoft Edge&#xff08;简称Edge&#xff09;是一款由微软开发的网页浏览器&#xff0c;它为用户提供了许多便捷的功能和选项。以下是Edge浏览器的使用方法&#xff1a; 一、基本使用方法 打开Edge浏览器&#xff1a; 可以在Windows的开始菜单中找到“Microsoft Edge”并点…

Flink Window 窗口【更新中】

Flink Window 窗口 在Flink流式计算中&#xff0c;最重要的转换就是窗口转换Window&#xff0c;在DataStream转换图中&#xff0c;可以发现处处都可以对DataStream进行窗口Window计算。 窗口&#xff08;window&#xff09;就是从 Streaming 到 Batch 的一个桥梁。窗口将无界流…

【数据结构取经之路】二叉搜索树的实现

目录 前言 二叉搜索树 概念 性质 二叉搜索树的实现 结点的定义 插入 查找 删除 二叉搜索树完整代码 前言 首先&#xff0c;二叉搜索树是一种数据结构&#xff0c;了解二叉搜素树有助于理解map和set的特性。 二叉搜索树 概念 二叉搜索树又称二叉排序树&#xff0c…

推荐系统之MIND用户多兴趣网络

目录 引言MIND算法原理1. 算法概述2. 模型结构3. 多兴趣提取层4. 标签感知注意力层 实践应用应用场景1. 电商平台2. 社交媒体3. 视频流媒体4. 内容分发平台 结论 引言 随着大数据和人工智能技术的快速发展&#xff0c;推荐系统已成为电商平台、社交媒体和内容分发平台的重要组成…