How can I read many netcdf files with complex names by using loop in MATLAB?

2 Ansichten (letzte 30 Tage)
Hello Guys,
I would like to read many Netcdf files with this type of names:
3B-HHR.MS.MRG.3IMERG.20140401-S000000-E002959.0000.V03D.HDF5.nc?precipitationCal[960:969][986:992],lat[986:992],lon[960:969]
3B-HHR.MS.MRG.3IMERG.20140401-S003000-E005959.0030.V03D.HDF5.nc?precipitationCal[960:969][986:992],lat[986:992],lon[960:969]
3B-HHR.MS.MRG.3IMERG.20140401-S010000-E012959.0060.V03D.HDF5.nc?precipitationCal[960:969][986:992],lat[986:992],lon[960:969]
As you see the first number shows the date 20140401 and then time in order to hour, minute and second.
I need to use a loop to read them in order to sorting time!!
these three files as a sample are attached.
Thank you in advance for considering this question.
Regards,

Akzeptierte Antwort

Kelly Kearney
Kelly Kearney am 29 Jul. 2016
Are you reading these files locally? Or is it via OPeNDAP? If the files are local, it may be easiest to query all the filenames using dir, and then sort by the date portion of the files.
If you can't do that, then do you know how many files to expect? Start date, end date, and time interval between files? Do you know the pattern to the -E portion of the file name?
-Kelly
  5 Kommentare
ehsan
ehsan am 1 Aug. 2016
Dear Kelly,
Thank you for your consideration.
Your assumptions are right. all files are in the same folder and only date-time are changing.
Unfortunately my MATLAB version is R2014a and doesn't have "datetime" function. Therefore, I give the error message.
Do you have any other idea?
Kelly Kearney
Kelly Kearney am 1 Aug. 2016
You can replace the datetime call with
date = datenum(regexprep(tstr, '-S', ''), 'yyyymmddHHMMSS');
(datenum is a little less flexible than datetime in parsing formats with extra characters, hence the regexprep to get rid of the non-date characters).

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by