2017-12-13 12 views
0

グローバルマップ(経度、緯度、深さ)がnetcdfファイル(サイズ:236,1440)であり、経度を-180/180から-270/90に「シフト」したいので、セル番号0 = -270等(オーストラリア大陸はグリッドセル番号0〜300付近に位置することを意味する)。どのように私はこれをPythonで行うことができますか?これまでのところ、私はpythonを使ってグリッドセル番号を基準にしてnetcdfデータセットをシフトする方法はありますか?

Bathy=Dataset('/path/to/file', 'r+', format="NETCDF4") 

lon=Bathy.variables[u'x'][:] 

lat=Bathy.variables[u'y'][:] 

depth=Bathy.variables[u'z'][:] 

lon=lon[:]-90 

Bathy.variables[u'x'][:]=lon 

Bathy.close() 

を持っている。しかし、これはあくまでも参考フレームをシフトしていない実際のグリッドは、事前に感謝(つまり0度経度は西オーストラリアなどにシフトしていることを意味します)!

答えて

0

[OK]を、私はnp.rollでこれを行うにはどのような方法を見つけました:

Bathy=Dataset('/path/to/file', 'r+', format="NETCDF4") 
lon=Bathy.variables[u'x'][:] 
lat=Bathy.variables[u'y'][:] 
depth=Bathy.variables[u'z'][:] 

depth_new=np.roll(depth,360,axis=1) 
lon_new=lon[:]-90 

Bathy.variables[u'x'][:]=lon_new 
Bathy.variables[u'z'][:]=depth_new 
Bathy.close() 

それは深さが私の中で-90度経度で右(に軸1に沿って360個のグリッドセル値シフト場合)。

関連する問題