Function to pull 110 years of data from .nc files?
Mostrar comentarios más antiguos
I'm trying to write a function that does the following:
metdriver=ncread('shtfl.2006.nc', 'shtfl');
but for my entire 110 year dataset(1900-2010).
Ideally the end result would be:
metdriveryear, with that year's data.
Any ideas? I'm new to .nc files, and it's taking some rethinking. Thanks a bunch!
Respuestas (1)
Sean de Wolski
el 25 de Jun. de 2013
1 voto
8 comentarios
Kate
el 25 de Jun. de 2013
Sean de Wolski
el 25 de Jun. de 2013
Stack the variables from each file into a cell-array. Then concatenate it.
So you right now have 110 files
shtf1.1900.c, shtf2.1901.nc
etc. right? And you need to grab a variable from each and store it?
Kate
el 25 de Jun. de 2013
Kate
el 25 de Jun. de 2013
Kate
el 25 de Jun. de 2013
Sean de Wolski
el 25 de Jun. de 2013
Yes, so you'll want to use a cell-array. For example:
metdrivers = cell(110,1); %empty cell
years = 1900:2009
for ii = 1:110
metdrivers{ii} = ncread(['shtf1.' num2str(years(ii)) '.nc'],'shtf1');
end
Now you have a variable metdrivers that has all of the data for all of the years.
If you want the one for year 1900:
metdrivers{1}
With this you can then do anything!
Sean de Wolski
el 25 de Jun. de 2013
ps. this is pretty much exactly what the FAQ discusses.
Tanmoyee Bhattacharya
el 22 de Mzo. de 2016
I have a same question.I have daily nc files reading like this ncread('\','RF'); Now the name is 3B42_daily.1999.01.01.7.nc,3B42_daily.1999.01.02.7.nc,3B42_daily.1999.01.03.7.nc like that 2015.10.31.7.nc. In above code by Sean de Wolski what we have to change.
Categorías
Más información sobre Time Series Events en Centro de ayuda y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!