I need to extract values from a netCDf file. I am pretty new to python and even newer this file format. I need to extract time series data at a specific location (lat, lon). I have found that there is a variable (called "base_time") in UNIX time and another variable (called "time") with "seconds since 2013-20-10 00:00:00" (which is the beginning of measurement time in UTC) for now.
When i interrogate the dataset's variables, I get this:
<type 'netCDF4.Variable'>
int32 base_time()
units: seconds since 1970-01-01 00:00:00 00:00
unlimited dimensions:
current shape = ()
filling off
<type 'netCDF4.Variable'>
float64 time(time)
units: seconds since 2013-10-20 00:00:00 00:00
interval(sec): 30.0
unlimited dimensions: time
current shape = (2880,)
filling off
When I read the values as arrays, like e.g.
time_var = dataset.variables['time'][:]
I can see that there are 2880 (size is 2880) values in the time variable, but just one (size is 1) in the base_time variable. I think that this answer does exactly what I need, but I have only trouble with the part where I need to convert the time. When I do:
dtime = netCDF4.num2date(time_var[:],time_var.units)
I get the error:
AttributeError: 'numpy.ndarray' object has no attribute 'units'
And I think that I need to convert the time variable (seconds since beginning of measurement) anyway, instead of converting the UNIX time (because there is only one value in the netCDf file?). I tried some variations of the datetime.dateime part but I just don't get it. I only need to convert the "seconds since 2013-10-20 00:00:00" to a readable format to be able to extract und plot the data. Thanks!