Reading 3-dimensional netcdf data
7 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I downloaded precipitation data from SIM2RAIN. It is 3 dimensional and temporal resolution is 1 day. For example for year 2005, my file size is 365(days)*1440(long)*720(lat). I want to show precipitation data for each day in matrix (1440,720). So, It means ı will have 365 files. My file name is CCI_SM2RAIN_2005_BC.nc. I can do it by using Arcmap but it is very time consuming. How can I do this in matlab ? Thanks for help.
0 commentaires
Réponse acceptée
KSSV
le 18 Juin 2020
Modifié(e) : KSSV
le 18 Juin 2020
You can read your nc file like shown below....Change the variables in the below to your variables naming converntion in your file.
ncfile='CCI_SM2RAIN_2005_BC.nc'
lon = ncread(ncfile,'Longitude') ; nx = length(lon) ;
lat = ncread(ncfile,'Latitude') ; ny = length(lat) ;
time = ncread(ncfile,'Time') ;
for i = 1:length(time)
z = ncread(ncfile,'Rainfall',[i 1 1 ],[1, nx ny]) ;
z = squeeze(z) ;
pcolor(lon,lat,z') ;
title(sprintf("Time step = %d",i)) ;
shading interp
drawnow
end
9 commentaires
KSSV
le 18 Juin 2020
Modifié(e) : KSSV
le 18 Juin 2020
Also you can read the entire data into MATLAB workspace using:
z = ncread(ncfile.'Rainfall') ;
for i = 1:length(time)
R = squeeze(z(i,:,:)) ;
pcolor(lon,lat,R')
shading interp
drawnow
end
I have edited the original answer again.....now it will work..check it.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur NetCDF dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!