Script simple
import xarray as xr
ds = xr.open_mfdataset("lokasi file/*.nc", combine='by_coords')
ds.to_netcdf("output.nc")
Looping
import xarray as xr
date_range = pd.date_range(start='2022-01-01', end='2022-12-31', freq='D')
for single_date in date_range:
date_str = single_date.strftime('%Y%m%d')
date_str1 = single_date.strftime('%d')
date_str2 = single_date.strftime('%m')
file_pattern = f'D:/GSMAP NC 2022/{date_str2}/{date_str1}/GSMaP*.nc'
output_file = f'D:/GSMAP NC 2022/{date_str2}/{date_str1}/{date_str}.nc'
print(f'Combine {output_file} (this may take some time)...')
ds = xr.open_mfdataset(file_pattern, combine='by_coords')
ds.to_netcdf(output_file)
print('Done')'''
Menggabungkan dengan memfilter Latitude dan Longitude
import xarray as xr
import glob
# Definisikan rentang latitude dan longitude yang diinginkan (hapus pagarnya bila digunakan)
# lat_min, lat_max = 0, 10
# lon_min, lon_max = 100, 120
base_dir = "base"
output_file = "output.nc"
files = sorted(glob.glob(f"{base_dir}/*.nc"))
# Temukan dan filter file netCDF berdasarkan rentang latitude dan longitude (hapus pagarnya bila digunakan)
#filtered_files = [f for f in files if (f"{lat_min}:{lat_max}" in f) and (f"{lon_min}:{lon_max}" in f)]
print(f'Menggabungkan file (ini mungkin memakan waktu)...')
try:
ds = xr.open_mfdataset(filtered_files, combine='by_coords')
except:
ds = xr.open_mfdataset(files, combine='by_coords')
ds.to_netcdf(output_file)
print('Selesai')