import xarray as xr
from netCDF4 import Dataset
import numpy as np
import netCDF4 as nc
nc=Dataset(r'name.nc')
for var in nc.variables.keys():
data=nc.variables[var][:].data
hgt=nc['name']
h=np.array(hgt)
h[h==-9999] = 0
time = nc.variables['time'][:]
t ,b= np.zeros((62,163,283)),np.zeros((62,163,283))
for k in range(62):
for i in range(162):
for j in range(282):
if h[k,i,j]==0:
if h[k,i+1,j]!=0:
t[k,i,j]=h[k,i+1,j]
elif h[k,i-1,j]!=0:
t[k,i,j]=h[k,i-1,j]
elif h[k,i,j+1]!=0:
t[k,i,j]=h[k,i,j+1]
elif h[k,i,j-1]!=0:
t[k,i,j]=h[k,i,j-1]
elif h[k,i,j]!=0:
t[k,i,j]=h[k,i,j]
print(k)
for k in range(62):
for i in range(163):
for j in range(283):
if t[k,i,j]==0:
t[k,i,j]=np.NaN
## add data to variables
lon=nc.variables['lon'][:]
lat=nc.variables['lat'][:]
date_range = np.arange(1961,2023,1)
data2_da = xr.DataArray(t,coords=[time,lat,lon],dims=['time','lat','lon'])
ds = xr.Dataset({'name':data2_da})
ds.to_netcdf('newname.nc')