GNU/Linux >> Belajar Linux >  >> Linux

Apakah ada cara untuk memotong file NETCDF?

Ya, menggunakan ncks dari NCO paket:http://nco.sourceforge.net/nco.html

Jika Anda mengetahui indeks yang sesuai dengan rentang lintang/bujur yang Anda inginkan, katakanlah mereka adalah 30-40 untuk lintang dan 25-50 untuk bujur misalnya, maka Anda dapat memotong file netCDF dengan

ncks -d lat,30,40 -d lon,25,50 example.nc -O cropped_example.nc

pastikan Anda menentukan indeks dengan nilai integer.

Jika tidak, Anda juga dapat langsung menentukan rentang nilai lat dan lon yang Anda inginkan, tetapi dalam hal ini Anda harus pastikan untuk menggunakan titik desimal untuk meneruskan rentang sebagai pelampung.

 ncks -d lat,30.,-10. -d lon,-30.,60. example.nc -O cropped_example.nc

nco berfungsi dengan baik, tetapi hanya untuk membuat daftar alternatif, seseorang juga dapat melakukannya menggunakan cdo (operator data iklim), yang menurut saya lebih mudah diingat. Anda dapat menentukan nilai bujur dan lintang secara langsung dengan cara ini:

cdo sellonlatbox,lon1,lon2,lat1,lat2 infile.nc outfile.nc

di mana lon1,lon2,lat1,lat2 menentukan batas area yang Anda butuhkan.

Perhatikan bahwa bujur dapat ditentukan menggunakan konvensi 0:360 atau juga -180:180 terlepas dari yang digunakan dalam file input. Konvensi output akan mengikuti yang digunakan dalam perintah cdo. Ini perintah ini juga dapat digunakan untuk mengonversi file dari satu format ke format lainnya.

Untuk detail lebih lanjut tentang mengekstraksi subregional, saya telah memposting tutorial video ini di youtube

Jika Anda tidak memiliki cdo sudah terinstal, Anda bisa mendapatkannya di Ubuntu dengan

sudo apt-get install cdo

cdo memiliki banyak fungsi lain untuk memproses, menggabungkan dan memisahkan file dan dokumentasi online yang sangat baik. Perhatikan bahwa untuk cdo untuk bekerja variabel koordinat (lat/lon) perlu didefinisikan sesuai dengan konvensi CF, jadi dengan cara itu nco solusi lebih kuat.


Jika Anda menggunakan Linux atau macOS, Anda dapat melakukannya dengan mudah menggunakan nctoolkit (https://nctoolkit.readthedocs.io/en/latest/) di Python.

import nctoolkit as nc
data = nc.open_data("example.nc")
data.crop(lon = [25, 50], lat = [30, 40])
data.to_nc("output.nc")

Di bawah tenda, nctoolkit menggunakan CDO. Jadi di atas setara dengan pendekatan CDO yang disebutkan di atas:

cdo sellonlatbox,lon1,lon2,lat1,lat2 infile.nc outfile.nc

Linux
  1. Cara Memodifikasi File Di Tempat?

  2. Linux – Sinkronisasi File Waktu Nyata?

  3. Apakah ada cara untuk menentukan ukuran file .bz2 yang didekompresi?

  1. Apakah ada cara untuk mengedit bookmark nautilus (pengelola file) yang ada?

  2. Apakah ada cara untuk mengubah pintasan di tengah malam komandan?

  3. Apakah ada cara untuk menyalin teks di htop?

  1. Cara Cerdas Untuk Mendefragmentasi Sistem File yang Gemuk?

  2. Cara teraman untuk menutup paksa deskriptor file

  3. Apakah ada cara yang tepat untuk menghapus log?