Reading 3-dimensional netcdf data
    7 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
    Gokhan Kayan
 am 18 Jun. 2020
  
    
    
    
    
    Kommentiert: Gokhan Kayan
 am 18 Jun. 2020
            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 Kommentare
Akzeptierte Antwort
  KSSV
      
      
 am 18 Jun. 2020
        
      Bearbeitet: KSSV
      
      
 am 18 Jun. 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 Kommentare
  KSSV
      
      
 am 18 Jun. 2020
				
      Bearbeitet: KSSV
      
      
 am 18 Jun. 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. 
Weitere Antworten (0)
Siehe auch
Kategorien
				Mehr zu NetCDF finden Sie in Help Center und File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

