問題タブ [nco]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
netcdf - 「時間」という次元が存在しますが、変数「時間」は別の次元を使用しています
この奇妙な netCDF ファイルに適切な時間軸を与えるにはどうすればよいでしょうか?
「時間」は次元と変数の両方として存在しますが、時間変数は「シリアル\日付\番号」を次元として使用します。
2 つの課題があります。1. 変数とディメンションの問題。2. 「serial\ date\ number」は、一部のシステムではスペース (バックスラッシュ区切り記号付き) を示しているように見えますが、他のシステムではアンダースコア (「serial_date_number」) が含まれています。
python - Python : netCDF4 を使用して netcdf ファイルの値を置き換える
複数の値 < 0 を持つ netcdf ファイルがあります。それらすべてを 1 つの値 (たとえば -1) に置き換えたいと考えています。netCDF4 を使用してそれを行うにはどうすればよいですか? 私はこのようにファイルを読んでいます:
python - NetCDF ファイル - レコードの次元を固定した後、ファイルのサイズが 1/3 になるのはなぜですか?
私はこれを理解するのに苦労しています。
次の次元と変数を使用して netcdf4 ファイルを作成します (特に無制限のpoint
次元に注意してください)。
このファイルにループ内のデータを入力するPythonプログラムがあります(したがって、無制限のレコード次元-ファイルの大きさはアプリオリにわかりません)。
ファイルに入力すると、サイズは 103MB になります。
私の問題は、このファイルからのデータの読み取りが非常に遅いことです。これは、チャンキングと無制限のpoint
次元に関係していると思いますか?
私はncks --fix_rec_dmn
ファイルを実行し、(多くの攪拌の後) サイズがわずか 32MB の新しい netCDF ファイルを生成しました (これは、含まれるデータにほぼ適したサイズです)。
これはサイズの大きな違いです。なぜ元のファイルはこれほど肥大化しているのでしょうか? また、このファイル内のデータへのアクセスは桁違いに高速です。たとえば、Python では、hs
変数の内容を読み取るのに、元のファイルでは 2 秒、固定レコード次元ファイルでは 40 ミリ秒かかります。
私が抱えている問題は、いくつかのファイルに多くのポイントが含まれており、大きすぎて実行できないように見えることですncks
(私のマシンはメモリが不足していて、8GB あります)。そのため、すべてのデータを固定レコード次元に変換できません。 .
なぜファイル サイズが大きく異なるのか、元のファイルを小さくして読みやすくする方法を説明できる人はいますか?
ところで、私は zlib 圧縮を使用していません (浮動小数点値を整数 short にスケーリングすることを選択しました)。
クリス
編集 私のPythonコードは、基本的に、3か月にわたる複数の個々のモデル予測ファイルから、配置されたモデルと観測データの1つの時系列ファイルを構築しています。私の予測モデルは 1 日に 4 回実行され、3 か月分のデータを集計しているため、約 120 ファイルになります。
プログラムは、各ファイルから予測期間のサブセットを抽出するため (et T+24h -> T+48h)、ファイルを連結するのは簡単なことではありません。
これは私のコードが行っていることの大まかな概算です (実際にはより多くの変数を読み書きしますが、わかりやすくするためにここでは 2 つだけ示しています)。
興味深いことに、出力サイズを期待どおりのサイズにするのNETCDF3_CLASSIC
ではなく、出力ファイル形式を作成した場合。NETCDF4
NETCDF4 の出力が肥大化しているようです。
netcdf - netCDF ファイル内の変数の 1 つに新しい次元を定義します
多くの変数 (1d、2d、3d、および 4d) を含む NetCDF ファイルがあります。3d 変数の 1 つに新しい次元を追加したいと考えています。
より明確にするために、次のように仮定します。
3d 変数があります: A(d1, d2, d3)
4d 変数が欲しい: A(d1, d2, d3, d4)
実際、d4 は変数に追加したい新しい次元です。ファイルに d4 がありません。値が 1 つしかないことはわかっています。
誰かが私を案内してくれれば幸いです。
python - 境界変数を netcdf ファイルに追加する
既存の netCDF ファイルに緯度の境界を追加したいと考えています。http://www.cgd.ucar.edu/cms/eaton/netcdf/CF-20010629.htm#bnds
境界の定義については、 を参照してください。
境界を自動的に追加できるコマンドはありますか? nco、netCDF4、または cdms ツールキットを使用した任意のソリューションを受け入れます。ただし、後処理ソリューションにすることをお勧めします。
python - netcdf ファイルですべての変数と次元を int/float から double に変換します
foll を含む netCDF ファイルがあります。ncdump:
すべての変数と次元を int/float から double に変換する nco コマンドはありますか?
私はこれを見つけました:
ただし、これは一度に1つの変数しか機能せず、ファイルには約30の変数があります
netcdf - ncrcat を使用した NetCDF 連結、異なる lon 範囲のファイル
時間 (レコード) 軸に沿って 2 つの NetCDF ファイルを連結しようとしています。
両方のファイルの経度次元の値の数は同じですが、最初のファイルの経度座標値の範囲は 0.5 から 359.5 で、2 番目のファイルの経度座標値の範囲は -179.5 から 179.5 です。そのため、Panoply でプロットされた連結ファイルの最終タイム ステップを表示すると、空間的には適切に見えるが、マップ上の間違った位置に配置されている値が表示されます。連結を実行する前に、2 番目のファイルのすべての lon 値に 180 を追加してこれを修正しようとしましたが、同様の結果が得られます。
私がこれに使用しているコマンド:
以下は、連結している 2 つのファイルの ncdump -h 出力です。
私は何を間違っているのでしょうか?
bash - nco または cdo を使用して、netcdf ファイル内の最初の肯定的なエントリの日時を見つける方法は?
値の時系列があり、データ系列が正になる最初の時間ステップの時刻または日付を見つけたいと考えています。Python、R、または Fortran スクリプトに読み込んで実行できることはわかっていますが、おそらく nco または cdo を使用して、BASH のコマンド ラインから実行できるかどうか疑問に思っていました。
使おうと思った
マスクを作るのですが、あまり役に立ちません。どういうわけか、データの符号に従ってファイルを分割する必要があり、次を使用して日付を簡単に取得できます
awk にパイプされます。
ここに小さなサンプル ファイルへのリンクがあります。
http://clima-dods.ictp.it/Users/tompkins/se/trmm_per10_pc0_year2000_nc2.nc
任意のヒント?
python - nco ツールを使用して複数の netcdf 変数を追加する
単一の netcdf ファイルに複数の変数を追加して新しい変数を作成する nco オペレーターはありますか? ncdiff を使用して減算できることは知っていますが、加算に相当する演算子はありますか?
netcdf - nco を使用して 2 つの netcdf ファイルを追加できない
netcdf 演算子を使用して、2 つの NCEP netCDF ファイルを一緒に追加しています。これらのファイルはサイズが異なりますが、同じ大気変数、つまりジオポテンシャルの高さを表しています。1 つは 1000 hPa で、もう 1 つは 925 hPa です。これらは同じ寸法で、緯度と経度の範囲も同じです。どちらも同じ時刻を表します
これは私が使用しているコマンドです - ncks -A hgt_1000.nc hgt_925.nc
コマンドは問題なく実行されますが、hgt_925.nc の出力を見ると、ファイルがマージされていないように見えます。NCO のドキュメントを見ると、追加するには同じサイズでなければならないようです。別の方法がありますか、または追加する独自のコードを作成する必要がありますか? これらは、nccopy を使用してダウンロードされた netCDF4 ファイルのクラシック ファイルです。