当前位置:网站首页>Matlab/ArcGIS processing GPM global monthly precipitation data
Matlab/ArcGIS processing GPM global monthly precipitation data
2022-08-01 00:02:00 【PeanutbutterBoh】
GPMPrecipitation data website:https://disc.gsfc.nasa.gov/datasets/GPM_3IMERGM_06/summary?keywords=GPM
The spatial resolution of the precipitation data is0.1°(大约10km),Global scope includes sea.
1 数据下载
After the access to the site general selectionSubset,Because not need global area precipitation,Can according to their own needs to cut.But need to register before downloading data,点击网站右上角loginWill lead to the registration screen,进行注册即可.Attention must remember the user name and password,Need to use when subsequent batch download.
注册完成之后,使用subsetThe data date selection、Processing, such as cutting,Note if you select the area cut toUse ‘Refine Region’ for geo-spatial subsetting To check on the data from otherwise equal to didn't cut or global area
2 批量下载数据
I'm here for the south China sea area2001年1月到2021年12Month precipitation data,点击Get Data.
Wait a moment will appear242A file download link,So many can't one by one click to download.点击Download links list,会下载一个txt文本文件,This file contains all the data download link.
这个时候就需要用IDMTo create a task for batch download,如何使用IDM可以自行百度一下.
首先要在IDM选项——The site management add an authorization:站点地址为https://urs.earthdata.nasa.gov,The user name and password is registered website just now that
After adding the authorization,复制txtAll the links in the file,在IDMClick the task,Select add from the clipboard batch download,Automatically identify all of the file download link.
出现error先不用管(If you just add authorized under the condition of no problem),And then all select、To save the path,Can be downloaded on the points directly determine the.Automatically identify the precipitation data download.
After the download is complete can the next processing.
3 matlabThe data unit conversion
首先得用arcgis读取一个nc文件,然后将其转换为tif格式
arcgis中使用创建NetCDFGrid file tools,Then the data export(以下均使用arcgis pro操作其实都是一样的)
导出tifAlso note that when the dimension of the data size,Behind this to and read onmatlabThe data in the same size or we can't use the geographic coordinate system to save the data.
随后就可以在matlabIn the batch conversion unit,Because what I want is an average annual rainfall of,So the year directly to the12Months for the synthesis of,But ideas are all the same just change a code.
clear all; clc
[ncname,ncpath] = uigetfile('.nc4','请选择ncFile can be multiple','MultiSelect','on');
% ncdisp([ncpath,ncname])
[tifname,tifpath] = uigetfile('.tif','选择tif数据'); % 选择刚才导出的tif文件
[A,GeoRef] = geotiffread([tifpath,tifname]);
k = 1;
for i = 1:numel(ncname)
scs_pr = ncread([ncpath,ncname{
i}],'precipitation');
% The geographic distribution of data need to flip up and down is true
scs_pr_true = flipud(scs_pr);
year = str2num(ncname{
i}(21:24));
mon = str2num(ncname{
i}(25:26));
monthd = [31,28,31,30,31,30,31,31,30,31,30,31];
if ((mod(year,4)==0 && mod(year,100)~=0) || mod(year,400)==0)
monthd(2) = 29; % 判断是否闰年
end
mon_days = monthd(mon);
scs_pr_mon(:,:,mon) = scs_pr_true .* 24 .* mon_days; % Get the monthly precipitation data,单位mm
if mod(mon,12) == 0
scs_pr_year = sum(scs_pr_mon,3); % And the annual precipitation
scs_pr_year_k(:,:,k) = scs_pr_year;
exp = ['geotiffwrite(''SCS_Pr_year_',num2str(year),'.tif'',scs_pr_year,GeoRef)'];
eval(exp);
clear scs_pr_mon scs_pr_year;
k = k+1;
end
end
scs_pr_year_mean = mean(scs_pr_year_k,3);
geotiffwrite('SCS_Pr_2001to2020_mean.tif',scs_pr_year_mean,GeoRef); % 得到近20Annual average rainfall
Finally you can get close to20In an average annual rainfall of the south China sea!!!
4 About the accuracy of the data
I try to download the before2021年7月和8Month precipitation data,The scope of and extract the henan province,Calculation about thisGPMHenan province2021年7月和8The months of rain,Found that is more consistent,有些偏高了.
边栏推荐
- 硬件设备计算存储及数据交互杂谈
- leetcode:126. 单词接龙 II
- [微服务]分布式事务解决方案-Seata
- 什么是动态规划,什么是背包问题
- lua入门案例实战123DIY
- 周总结
- Named Entity Recognition - Model: BERT-MRC
- Interview Blitz 69: Is TCP Reliable?Why?
- Google Earth Engine——Error: Image.clipToBoundsAndScale, argument ‘input‘: Invalid type的错误解决
- @JsonFormat(pattern="yyyy-MM-dd") time difference problem
猜你喜欢
硬件设备计算存储及数据交互杂谈
【Acwing】The 62nd Weekly Game Solution
vector的基本实现
什么是动态规划,什么是背包问题
Mysql environment installation under Linux (centos)
Shell common scripts: Nexus batch upload local warehouse enhanced version script (strongly recommended)
Matlab / ArcGIS 处理GPM全球月均降水数据
I don't know what to do with sync issues
日常--Kali开启SSH(详细教程)
Redis五种数据类型简介
随机推荐
精心总结十三条建议,帮你创建更合适的MySQL索引
(26)Blender源码分析之顶层菜单的关于菜单
SQL injection Less42 (POST type stack injection)
LeetCode--打家劫舍问题
基于单片机GSM的防火防盗系统的设计
内核对设备树的处理
[Reading Notes -> Data Analysis] 02 Data Analysis Preparation
Flutter教程之 02 Flutter 桌面程序开发入门教程运行hello world (教程含源码)
/etc/sysconfig/network-scripts 配置网卡
继承和友元,静态成员的关系
Design of Fire and Anti-theft System Based on Single Chip GSM
thymeleaf iterates the map collection
Program processes and threads (concurrency and parallelism of threads) and basic creation and use of threads
The role of /etc/resolv.conf
【Acwing】第62场周赛 题解
[Cloud Residency Co-Creation] [HCSD Big Celebrity Live Broadcast] Personally teach the secrets of interviews in big factories
面试题:实现死锁
IJCAI2022 | 代数和逻辑约束的混合概率推理
SQL injection Less47 (error injection) and Less49 (time blind injection)
Advanced Algebra _ Proof _ Any matrix is similar to an upper triangular matrix