問題タブ [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.
r - netcdf ファイルの変数を操作し、再度書き込みます
いくつかの netcdf ファイルがあります。各 nc ファイルにはいくつかの変数があります。「Soil_Moisture」と「Soil_Moisture_Dqx」の 2 つの変数だけに関心があります。
「Soil_Moisture_Dqx」に基づいて「Soil_Moisture」をフィルタリングしたいと思います。対応する「Soil_Moisture_Dqx」ピクセルの値が 0.04 より大きい場合は常に、「Soil_Moisture」の値を NA に置き換えたいと考えています。
:ダウンロードするファイルは次のとおりです。
1- このループを試してみましたが、f[1] または f[2] と入力すると、ループが正しくないという奇妙な結果が得られました。
2- 誰かもう一度書いてくれませんか?
python - NetCDF から GRIB2 への変換
wgrib2のようなファイルを に変換しgrib
、grib2
フォーマットをファイルに変換するソフトウェアがあることは知っていますがNetCDF
、別の方法で変換する必要があります。NetCDF
grib2
grib2
1 つの解決策は、NetCDF4-Python ライブラリ(またはその他) を使用してNetCDF
ファイルを読み取り、 pygribを使用してgrib2
.
より良い方法はありますか?
netcdf - grib を netcdf ファイルに変換する
Windows で grib ファイルを NetCDF 形式に変換する方法はありますか?
という名前のソフトウェアを使用していますtkdegrib
が、1つの引数ごとに1つの引数をキャッチしますが、同じファイルにすべてのグリブの引数が必要です。残念ながら、Linux は使用できません。
r - Rを使用してGrib1をNetcdfに変換する方法は?
いくつかの気候データを grib 形式でダウンロードしました。「R」を使用してNetCDF形式に変換したい。
さらに、ファイルはさまざまな変数で構成されているため、一度に 1 つの変数を個別のファイルに抽出したいと考えています。
r - R で解像度 (または再グリッド) データを変更する方法
1961 年から 1970 年までの経度、緯度、および月平均変数 (気温や降水量など) で構成されるデータセットがあります。 Rでデータを抽出したNCファイル:
拡張グリッド (E) は、変数の 31,104,000 行で構成されるデータ テーブルであり、拡張グリッド (D) は、経度/緯度の 259,200 行で構成されるデータ テーブルです。259,200 × 10 年 × 12 か月を掛けると、31,104,000 になります。したがって、テーブル E は、以下を使用して月ごとの値に分割できます。
したがって、I は現在、経度、緯度、および変数で構成される最初の月 (つまり 1961 年 1 月) のデータ テーブルです。データの例を以下に示します。
さて、私の質問です。グリッドの現在の解像度は 0.5 * 0.5 度です。解像度が 0.25 * 0.25 度になるようにデータを「再グリッド化」したいと考えています。私はデータで特に巧妙なことをしたくないので、0.25 グリッドに 0.5 グリッドの値を取得させたいだけです。つまり、各 0.5*0.5 グリッドには 4 つの 0.25*0.25 グリッドが含まれています。 4 0.25*0.25 グリッドは、0.5*0.5 グリッドと同じ値になります。
ラスターを見てきましたが、それで何もできないようです。
r - Rで緯度/経度の境界を使用してnetCDFファイルからサブセットを取得する方法
R.
私のnetCDFファイルの要約は以下の通りです。2 つの次元 (緯度と経度) と 1 つの変数 (10U_GDS4_SFC) があります。これは基本的に、風の値を含む緯度/経度のグリッドです。
緯度変数は +90 から -90 まで、経度変数は 0 から 360 までです。
次の地理的なコーナー境界を使用して、グリッド全体のサブセットを抽出したいと考えています。
左下隅: 緯度: 34.5°、経度: 355°、左上隅: 緯度: 44.5°、経度: 355°、右上隅: 緯度: 44.5°、経度: 12°、右下隅: 緯度: 34.5° 、ロング:12°
コマンドを使用して変数の一部を抽出できることを認識していますget.var.ncdf()
(以下の例):
ただし、変数値を含むサブセット化された空間グリッドになるように、緯度/経度をどのように組み込むことができるかを理解できません。私はRでnetCDF値を扱うのが初めてで、アドバイスをいただければ幸いです。どうもありがとう!
python - グリッド化された netCDF ファイルで、選択領域内の変数の平均を計算します
TRMM 降水データがあるとします。各ファイルは各月のデータを表します。たとえば、フォルダー内のファイルは次のとおりです。
これらのファイルの寸法は、Xsize=1440、Ysize=400、Zsize=1、Tsize=1 です。経度を 0 ~ 360 に設定し、緯度を -50 ~ 50 に設定します。特定の地域の降水量を計算したいと考えていますlon=98.5, lon=100 and lat=4, lat=6.5
。これは、この領域でのみ変数を読み取ることを意味します -:
--------------------
|lon:98.5 lat:6.5|
| |
|lat:4 lon:100 |
---------------------
以前は GrADS (Grid Analysis and Display System) でこれを行っていました。GrADS では、これは次のように行うことができます: (簡易版)
Pythonで同じことをしようとしましたが、何かがうまくいきませんでした。いくつかの提案の後、ここにいます:
このスクリプトは、(私の場合) CSV ファイル内の 15 個の値のリストを生成します。しかし、別の地域の値を取得しようとして、必要と思われるものを調整しようとすると、次のようになります。
最初のものと同じ値を取得します。
firstarea=[0.511935,1.0771,0.613548,1.48839,0.445161,1.39161,1.03548,0.452903, 3.07725,2.84613 0.701613,2.10581,2.47839,3.84097,2.41065,1.38387]
secondarea=[0.511935,1.0771,0.613548,1.48839,0.445161,1.39161,1.03548,0.452903, 3.07725,2.84613,0.701613,2.10581,2.47839,3.84097,2.41065,1.38387]
別のスクリプトでテストしましたが、それでも同じ値が得られます。マップ (以前に作成) を確認しましたが、値はこれら 2 つの地域で異なります (12 月の平均)。
理由はありますか?これを書く他のエレガントな方法はありますか?どうも。
python - netcdf の特定のセルを上書きする
netcdf ファイル内の特定のセルを上書きするために使用できる netcdf 演算子 (nco または任意の python netcdf ライブラリから) はありますか?
全球気候データを含む netcdf ファイル内の小さな領域の値を変更したいと考えています。ありがとう!
grib - .grib2 から読み取り可能な値を抽出する方法
wgrib2 と degrib をインストールしましたが、特定の緯度/経度の値 (人間が読める形式) を抽出する方法がわかりません。
私に与えます:
ありがとう!
r - 補間のための R の netcdf データの regrid
したがって、4D 配列 (x、y、z、t) にある .nc ファイルの変数がいくつかあります。問題は、z 座標が x 座標と y 座標のように等間隔に配置されていないことです。つまり、z は 25 メートル、75m、125、175、...、500、600、700、...、20000 のようになります。 21000、22000。データを線形補間して、z 全体で均一な 50m 間隔を取得しようとしています。しかし、R の approx 関数の動作が遅すぎます (配列が大きすぎると思います)。
これをより速く行う方法はありますか?または、これを簡単にするためにデータを再グリッド化することを検討するよう誰かに言われましたが、彼が何を意味しているのかよくわかりません。誰かが私を助けることができますか?ありがとう。