問題タブ [cdo-climate]
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.
python - ずれたグリッドでデータを使用する場合のグリッド中心値の計算
私は MITgcm と協力してシミュレーションを行い、特に内部波動モデルを操作しています。結果を含む .nc ファイルを取得しましたが、一部の変数がまったく同じ座標にありません。私は自分自身を説明します:私は速度の成分を計算したいのですが、完全には理解できないいくつかの数値的な理由から、水平速度座標はセルの左側にあり、垂直座標はセルの下部にあります. 速度データを操作するには、すべての座標の参照を統一する必要があります。
私はこのようなことをすることを考えました
したがって、座標はすべてセルの中心にあり、同じ参照になります。
Pythonを使用してNetCDFファイルを編集する方法がわかりません。すべてのuおよびvデータを抽出し、前述のように編集し、この 2 つの変数だけで新しい NetCDF ファイルを作成するだけで満足できます。
それは可能ですか?どうやってやるの?
編集:ncdump情報を追加
r - R スクリプト内で CDO を実行することは可能ですか?
私はnetcdfファイルを扱っています.CDOとRを使って分析を行っています.同じスクリプトでRから直接CDOを「呼び出す」ことができるかどうかを知りたいです. . 方法がわかりません(System()でコマンドを呼び出そうとしましたが、わかりません)。誰でもそれについて考えがありますか?? それは可能でしょうか??
よろしくお願いします
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
任意のヒント?
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 ファイルのクラシック ファイルです。
r - netCDF ファイル名の年、月、日をループします。
R で for ループを使用して、フォルダーから netCDF ファイルを読み取り、指定された経度、緯度のリストの値を抽出しています。1つの問題を除いて、動作しているように見えます。ループが日付に対して値を返す場合、2 月 28 日の後の 1 月 29 日から 31 日までが作成されます。ここに私のRコードがあります:
次のリンクから 3 か月間の毎日の netCDF データを確認できます: https://drive.google.com/open?id=0B8rqKaYt0VEaMWVGc1gzdXI1U28
netcdf - cdo showname は ncdump とは異なる変数を表示します
cdo と ncdump が異なる変数を表示する理由がわかりません。一般的な ncfile ( http://www.ncl.ucar.edu/Applications/wrfnetcdf.shtml )のように、WRF データには時間の座標変数がないことがわかりました。それで、すべての nc ファイルに時間変数を追加しました。この時間変数を追加した方法が、cdo showname に表示されない理由でしょうか? (これは以前と同じ質問ですが、うまくいけばより明確な言葉遣いです)
time 変数は ncdump でここに表示されます:
ここに cdo で示されている時間変数はありません。
python - CDO を使用して netcdf ファイル内の累積変数をタイムステップ値に変換する
1 つの変数を持つグリッド上に約 100 のタイムステップを持つ netcdf ファイルがあり、タイムステップにわたって累積されます。現在、変数の値に対する各時間ステップの寄与 (つまり、連続する時間ステップの差) を計算することに関心があります。
現在、次のシーケンスを使用しています。
- 私が使用する新しいファイルにすべてのタイムステップを抽出するには
cdo seltimestep,$i ...
、 - を使用して、各差分を新しいファイルに計算します
cdo sub $i ${i-1} ...
cdo mergetime ...
最後にこれらの新しいファイルを 1 つの結果ファイルにマージします。
それは非常に面倒で、パフォーマンスに関して理想的ではないように思えます。タイムステップの量が多いため、cdo パイプラインを使用できず、その間に多くのファイルを作成する必要があります。
cdo (または nco/ncl のような何か) を使用して累積変数をタイムステップ値に変換するためのより良い解決策はありますか?