@ojizousama01

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

xarray.dataset.assignができないことについて(降雪量分布図作成の作業途中)

解決したいこと

気象庁GSMデータ(grib2形式)を用いて、降雪量の分布を図示しようとしています

pygribでなぜか降水量データ(APCP)のデータだけ読み込むことができなかったので、一度netCDF形式に変換したのち、xarrayでの処理を試みました。

降水量(APCP)と温度(TMP)から、降雪量の演算をし、xarray.dataset.assign(参考1)により、降雪量を新規変数(variable)として割り当てようと思ったのですが、xr.open.datasetでnetCDFを読み込むと、read only fileになるようで(参考2)、割り当てができません。
dataset.load()により、内部メモリに読み込んで作業しても同様です(参考3)。

何かアドバイスをいただけないでしょうか?

発生している問題・エラー

エラーにはなりませんが、変数一覧に、元データの「TMP_2maboveground」、「APCP_surface」のみ表示され、assignで割り当てたはずの「yuki」という変数が、表示されません。(そのため「yuki」を使った演算ができません)

該当するソースコード

nc=xr.open_mfdataset(["c:/Users/user/documents/ok1.nc","c:/Users/user/documents/ok2.nc","c:/Users/user/documents/ok3.nc"]).load()
nc.assign(yuki=nc['APCP_surface']*2.25/(1+np.exp((nc['TMP_2maboveground']-273.15-0.413)/0.814)))
print(nc)


<xarray.Dataset>
Dimensions:            (latitude: 80, longitude: 60, time: 101)
Coordinates:
  * latitude           (latitude) float64 30.0 30.2 30.4 30.6 ... 45.4 45.6 45.8
  * longitude          (longitude) float64 130.0 130.2 130.5 ... 144.5 144.8
  * time               (time) datetime64[ns] 2021-01-01 ... 2021-01-06T12:00:00
Data variables:
    TMP_2maboveground  (time, latitude, longitude) float32 286.2 285.9 ... 269.6
    APCP_surface       (time, latitude, longitude) float32 nan nan ... 13.38
Attributes:
    Conventions:          COARDS
    History:              created by wgrib2
    GRIB2_grid_template:  0

参考にしたHP

参考1
http://xarray.pydata.org/en/stable/generated/xarray.Dataset.assign.html
参考2
http://xarray.pydata.org/en/stable/generated/xarray.open_mfdataset.html
参考3
http://xarray.pydata.org/en/stable/io.html

0 likes

No Answers yet.

Your answer might help someone💌