非常に簡単なはずですが、GrADS から .csv ファイルにデータをエクスポートするのが非常に困難です。問題のファイルは、アジアの降雨に関連する APHRODITE プロジェクトからのものです。基本的に、次を使用してこのファイルを GrADS に読み込むことができます。
open d:/aphro/aphro.ctl
そしてそれは私にそれを教えてくれます:
Data file d:/aphro/APHRO_MA_025deg_V1101R2.%y4 is open as file 1
Lon set to 60.125 149.875
Lat set to -14.875 54.875
Lev set to 1 1
Time values set: 1961:1:1:0 1961:1:1:0
E set to 1 1
私が実行した場合:
q ctlinfo
また、次の 3 つの変数があることもわかります。
precip 1 0 daily precipitation analysis
rstn 1 0 ratio of 0.05 degree grids with station
flag 1 0 ratio of 0.05 degree grids with snow
さて、私がやりたいことは、次の情報を含む .csv ファイル (または .txt) ファイルでリストを作成することだけです。
Precipitation Lon Lat Time(date)
とても簡単に聞こえますが、私にはできません。1 つの方法は、次を使用することです。
fprintf precip d:/output.csv %g 1
これにより、その日のデータ全体が 1 つの長い列に含まれる .csv ファイルが得られます (これが必要です)。異なるファイルで lon と lat に対して同じことを行い、それらを結合することもできます。問題は、出力ファイルに時間がかかることです。多くの列を気にしない場合ははるかに高速ですが、これを管理するのは面倒です。基本的に、この方法は遅すぎます。
もう 1 つの方法は、次の方法でデータを NetCDF ファイルとしてエクスポートすることです。
Set sdfwrite -4d d:/output.nc
define var = precip
sdfwrite precip
これにより、必要なすべてのデータを含む output.nc というファイルが非常に迅速に書き込まれます。RI を使用すると、すべての変数を個別に読み取ることができます。
f <- open.ncdf("D:/aphro/test.nc")
A <- get.var.ncdf(nc=f,varid="time")
B <- get.var.ncdf(nc=f,varid="rain")
D <- get.var.ncdf(nc=f,varid="lon")
E <- get.var.ncdf(nc=f,varid="lat")
しかし、私が望むのは、各行が時間、雨量、経度、緯度を示す出力ファイルを作成することです。rbind を試してみましたが、正しい時刻 (日付) を適切な雨量に関連付けることができません。同様に、数十万の雨データがありますが、日付はわずかで、360 の経度ポイントと 280 しかないため、経度と緯度が台無しになります。 lat ポイント (つまり、降雨データは、数日間にわたる毎日のデータのグリッドです)。これは簡単だと思いますが、どうすればいいですか?
助けてください
トニー