Dlaczego konwertować NC na HDF5?
Niektóre potoki naukowe i narzędzia akceptują HDF5, ale nie posiadają dedykowanego sterownika netCDF. Konwersja tworzy zwykły plik HDF5, który każdy czytnik obsługujący HDF5 (taki jak h5py lub HDFView) może otworzyć bez potrzeby posiadania biblioteki netCDF.
Jak przekonwertować NC na HDF5
nccopy FREE
Uruchom nccopy -k netCDF-4 input.nc output.nc, aby przekonwertować klasyczny plik netCDF na format netCDF-4/HDF5; zmień rozszerzenie wyniku na .hdf5, jeśli Twoje narzędzie tego wymaga.
Python (netCDF4 + h5py) OPEN-SOURCE
Zainstaluj za pomocą pip install netCDF4 h5py, odczytaj plik .nc przez netCDF4.Dataset(), a następnie zapisz każdą zmienną do pliku HDF5 używając h5py.File() i create_dataset().
O tych formatach
Plik .nc to plik netCDF (Network Common Data Form) - binarny format dla wielowymiarowych danych naukowych, takich jak zbiory danych klimatycznych, pogodowych i oceanicznych z NOAA, NASA i…
Otwórz szczegóły .NC →Plik .HDF5 jest powiązany z HDF5, który jest plikiem typu misc.
Otwórz szczegóły .HDF5 →Jakość i na co uważać
- netCDF-4 jest zbudowany bezpośrednio na HDF5 - jeśli
ncdump -k twojplik.nczgłaszanetCDF-4, możesz zmienić rozszerzenie pliku na.hdf5i otworzyć go w h5py lub HDFView bez żadnej konwersji. - Klasyczne pliki netCDF zaczynają się od bajtów
CDF(hex43 44 46) i nie są plikami HDF5 - wymagają one użycianccopylub skryptu Python do konwersji. - Odwrotna zależność nie zachodzi: zwykłe pliki HDF5 nie są prawidłowymi plikami netCDF, więc zmiana nazwy z
.hdf5na.ncnie zadziała bez restrukturyzacji układu wewnętrznego zgodnie z konwencjami netCDF.
Najczęściej zadawane pytania
Skąd mam wiedzieć, czy mój plik NC jest już w formacie HDF5?
ncdump -k twojplik.nc; jeśli zwróci netCDF-4, plik jest wewnętrznie HDF5. Możesz również sprawdzić, czy pierwsze dwa bajty to 89 48 (sygnatura HDF5).Czy h5py będzie w stanie odczytać przekonwertowany plik bezpośrednio?
nccopy plik jest prawidłowym kontenerem HDF5; nazwy zmiennych i dane pozostają nienaruszone, choć struktura wewnętrzna jest zgodna z konwencjami nazewnictwa netCDF.Czy metadane są zachowywane podczas konwersji?
nccopy. Przy bezpośrednim użyciu h5py musisz skopiować atrybuty ręcznie, ponieważ h5py nie przenosi automatycznie metadanych netCDF.