How can I extract data from a netcdf file?

849 Views Asked by At

I have relatively new to Python. I have a NetCDF file and I want to extract rainfall information for a particular coordinate. I have used the following code:

from netCDF4 import Dataset 
import numpy as np
import pandas as pd



## Reading in the netCDF file
data = Dataset(r'F:\IMD_rainfall_netCDF\2021.nc', 'r')

lat_grid1 = 23.5
long_grid1 = 86.5

## Displaying the names of the variables
print(data.variables.keys())

## accessing the variables
rain = data.variables['RAINFALL']
#print(rain)

lat = data.variables['LATITUDE']
#print(lat)

time = data.variables['TIME']
#print(time)

long = data.variables['LONGITUDE']
#print(long)

#print(rain)


## accessing data from the variables

rain_data = data.variables['RAINFALL'][:]
print(rain_data)

time_data = data.variables['TIME'][:]
#print(time_data)
 
long_data = data.variables['LONGITUDE'][:]
#print(long_data)

rain = data.variables['RAINFALL']
print(rain)


## Creating an empty data frame
starting_date = data.variables['TIME'].units[11:21]
ending_date = data.variables['TIME'].units[11:13] + '01-12-30'

date_range = pd.date_range(start = starting_date, end= ending_date )
df = pd.DataFrame(0, columns=['Rainfall'], index = date_range)

dt = np.arange(0,data.variables['TIME'].size)

for time_index in dt:
    df.iloc[time_index] = rain[time_index, lat_grid1, long_grid1]
    
    df.to_csv('precipitation_2021.csv', index=True, header=True)

But all the values are shown in double dash line(--). what does it mean? how can I show my rainfall data ... my output CSV also shows all the precipitation values as 0.. can anyone have the solution? please help me

0

There are 0 best solutions below