- First dimension is longitude
- Second dimension is latitute
- Third dimension is time
creating time series on specific coordinates rainfall using .nc
    9 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
I downloaded the global-scale rainfall data from 2017 to 2021 from the climate.copernicus portal (climate.copernicus). The system downloaded an .nc file for each year.
I would first of all like to be able to merge these files if possible, or at a later date be able to plot the time series of rainfall from 2017 to 2021 on a single graph. Another important step is that I would like to be able to have the time series of a specific point with the following coordinates 58.491573, 25.778418; or alternatively use a rectangle where I can have the time series considering the centroid of the polygon. how can I do?
But at the end, I wasn't able to create one plot with data on x-axis and rainfall data on y-axis considenring specific coordinates.
For now I have this script that allows me to open the file and understand the internal variables.
ncfile = ('GPCC_total_precipitation_mon_0.5x0.5_global_2017_v2020.0.nc');
% To get information about the nc file
ncinfo(ncfile)
% to display nc file
ncdisp(ncfile)
Here there is output
Format:
           netcdf4
Dimensions:
           time = 12    (UNLIMITED)
           lon  = 720
           lat  = 360
Variables:
    time
           Size:       12x1
           Dimensions: time
           Datatype:   double
           Attributes:
                       standard_name = 'time'
                       units         = 'hours since 1891-1-1 00:00:00'
                       calendar      = 'proleptic_gregorian'
                       axis          = 'T'
    lon 
           Size:       720x1
           Dimensions: lon
           Datatype:   double
           Attributes:
                       standard_name = 'longitude'
                       long_name     = 'longitude'
                       units         = 'degrees_east'
                       axis          = 'X'
    lat 
           Size:       360x1
           Dimensions: lat
           Datatype:   double
           Attributes:
                       standard_name = 'latitude'
                       long_name     = 'latitude'
                       units         = 'degrees_north'
                       axis          = 'Y'
    pr  
           Size:       720x360x12
           Dimensions: lon,lat,time
           Datatype:   single
           Attributes:
                       standard_name = 'lwe_precipitation_rate'
                       long_name     = 'total monthly precipitation'
                       units         = 'mm/month'
                       code          = 20
                       _FillValue    = 3.000000060858434e+33
                       missing_value = 3.000000060858434e+33
                       institution   = 'DWD'
Then I split the data considering the Variables using this code
% to read a vriable 'var' exisiting in nc file
long = ncread(ncfile,'lon');
latt = ncread(ncfile,'lat');
time = ncread(ncfile,'time');
pr = ncread(ncfile, 'pr'); %rainfall data
0 Kommentare
Antworten (1)
  Cris LaPierre
    
      
 am 3 Okt. 2023
        Look at the size info to figure out the dimensions of pr
So if I wanted to extract all the pr values for a specific longitude and latitude, I would first figure out which row corresponds to the longitude of interest, and which column corresponds to the latitude of interest. Assuming the lon/lat coordinate exactly matches the data sample grid, that might look like this:
lon = 8.491573;
lat = 25.778418;
indx = long==lon;
indy = latt==lat;
prData = pr(indx,indy,:);
plot(time,prData)
Since you have multiple files, the first step might be to use fileDatastore to load all the data first, and then work on the data. You can write a custom function that can load the data from a single file, and use that as the ReadFcn for you fileDatastore.
0 Kommentare
Siehe auch
Kategorien
				Mehr zu Weather and Atmospheric Science 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!

