Erstens, sind Sie sicher, dass NetCDF die richtige Wahl ist? Wenn Sie mit anderen Programmen interagieren möchten, die große Datenmengen einlesen müssen und NetCDF bereits unterstützen, ist dies wahrscheinlich eine gute Wahl. Es gibt nicht viele standardisierte und gut unterstützte Dateiformate, die große mehrdimensionale Arrays unterstützen. Wenn Sie jedoch nur Dateien aus C# lesen und schreiben, ist dies möglicherweise keine gute Wahl.
Ich bin ein großer Fan des "klassischen" NetCDF-Dateiformats. Es ist kompakt und extrem einfach, aber flexibel genug, um viele gängige Arten von mehrdimensionalen, gut strukturierten Daten zu unterstützen. Ich brauchte nur einen Tag, um einen kompletten Parser für die klassische NetCDF zu schreiben, und es dauerte nur eine Stunde, um ein Programm zu schreiben, das einen wohlgeformten Spezialfall einer klassischen NetCDF-Datei ausgab. Sie könnten eine reine C# NetCDF-Bibliothek selbst implementieren und es wäre nicht viel Mühe. Sie könnten einfach damit beginnen, nur die Funktionen zu implementieren, die Sie benötigen. Here's the specification.
Leider hat NetCDF-4 gewählt, HDF-5 als sein Datenformat zu verwenden. Es fügt eine Menge Komplexität hinzu und macht es viel schwieriger, einen vollständigen NetCDF-Parser in einer anderen Sprache zu schreiben. HDF-5 ist sehr allgemein und meiner Meinung nach war es überentwickelt - es versucht, zu viele Dinge zu viele Menschen zu sein. Ich würde nicht empfehlen, direkt damit zu arbeiten, es sei denn, Sie planen, einen Monat lang Testeinheiten zu schreiben. Wenn Sie netCDF-4/HDF-5 von C# verwenden müssen, wäre Ihre einzige realistische Option, die C-Bibliothek mit SWIG oder ähnlichem zu umhüllen.
Beachten Sie, dass NetCDF für Python nur ein Wrapper um den C-Code ist, also ist es nicht wirklich hilfreich; Wenn Sie eine umschlossene C-Bibliothek verwenden, können Sie auch einfach einen C# -Wrapper schreiben, anstatt Python als mittlere Ebene zu verwenden.
Ich habe das nicht verwenden, also nimm es von wo es kommt. Der Hauptentwickler des CodePlex-Projekts (an dem er nicht mehr arbeitet) schlägt [link] (http://sds.codeplex.com/) als Alternative vor. Der Name bedeutet ** SDS: Scientific DataSet-Bibliothek und -Tools ** und schließt NetCDF-Unterstützung ein. Es scheint Dokumentation zu haben und ist nicht in der Betaversion. Während ich dieses 2011-10-14 schreibe, ist das letzte Update über ein Jahr alt (2010-07-18) jedoch. –