我需要生成一個立方體,其中一個立方體的水平網格和另一個立方體的垂直網格一個溫度立方體和一個au風力立方體)。文檔缺乏上下文,我無法找到任何有用的谷歌搜索。我想像做複製溫度立方體,用立方體中的西格瑪和三角洲進行處理,然後在立方體上運行factory.update,但我無法完全理解語法。如何使一個立方體的水平網格和另一個垂直網格的立方體成爲一個立方體
0
A
回答
1
HybridHeightFactory附加到一個立方體,並根據請求產生「高度」座標。
它需要鏈接到合適的表面海拔座標才能工作 - 這意味着將其移動到具有不同水平網格的立方體並不那麼簡單。
所以我認爲「factory.update」不是一條很好的路線,只是做一個+附加一個新路線更簡單。
該計劃會像...
orog = hgrid_cube.coord('surface_altitude')
sigma = vgrid_cube.coord('sigma')
delta = vgrid_cube.coord('level_height')
factory = iris.aux_factory.HybridHeightFactory(delta=delta, sigma=sigma, orography=orog)
new_cube = ...
new_cube.add_aux_coord(orog, (2, 3)) # or whatever dimensions
new_cube.add_aux_coord(sigma, (0,)) # or whatever dimensions
new_cube.add_aux_coord(delta, (0,)) # or whatever dimensions
new_cube.add_aux_factory(factory)
注:從舊數據進行「new_cube」,您可能需要太刪除現有的輔助工廠。
0
def make_p_rho_cube(temp, u_wind):
'''
Given a temperature cube (on p level but theta levels)
and a u_wind cube (on rho levels but staggered)
create a cube for pressure on rho levels - on p points
but not non-staggered horizontal grid
'''
# make a pressure cube. Grid is a new one - horizontal grid
# is as temperature, but
# vertical grid is like u_wind. copy temperature cube then change
# name and units and vertical grid. NB need to set stash code as well
p_rho_cube = temp.copy()
p_rho_cube.rename('air_pressure')
p_rho_cube.units = 'Pa'
p_rho_cube.attributes['STASH'] = iris.fileformats.pp.STASH(1, 0, 407)
# now create and use a new hybrid height factory
# surface altitude on theta pts
surface_alt = temp.coord('surface_altitude')
# vertical grid from wind field
sigma = u_wind.coord('sigma')
delta = u_wind.coord('level_height')
# make a hybrid height factory with these variables
factory = iris.aux_factory.HybridHeightFactory(delta=delta, sigma=sigma,
orography=surface_alt)
# delete the old co-ordinates after saving their dimensions
surface_altitude_dim = p_rho_cube.coord_dims('surface_altitude')
p_rho_cube.remove_coord('surface_altitude')
sigma_dim = p_rho_cube.coord_dims('sigma')
p_rho_cube.remove_coord('sigma')
level_height_dim = p_rho_cube.coord_dims('level_height')
p_rho_cube.remove_coord('level_height')
p_rho_cube.remove_aux_factory(p_rho_cube.aux_factories[0])
# add the new ones
p_rho_cube.add_aux_coord(surface_alt, surface_altitude_dim)
p_rho_cube.add_aux_coord(sigma, sigma_dim)
p_rho_cube.add_aux_coord(delta, level_height_dim)
p_rho_cube.add_aux_factory(factory)
return p_rho_cube
+0
您可以在使用'sigma_dim = p_rho_cube.coord_dims('sigma')' – RuthC
+0
將其刪除之前獲得舊座標的尺寸。謝謝!這很好。我將在上面編輯我的代碼 –
相關問題
- 1. 如何將兩列上的立方體看作是一個立方體?
- 2. JOGL使用一個3D立方體
- 3. 使計算一個立方體
- 4. 繪製一個立方體的角度
- 5. 檢查一個完美的立方體
- 6. 建立一個流體水平導航
- 7. SSAS:來自多個立方體實例的中央立方體
- 8. 用GlDrawElements()繪製一個立方體?
- 9. 創建一個立方體書架
- 10. 在3d中創建一個立方體
- 11. 如何繪製立方體,立方體和金字塔
- 12. 在R^n中的立方體/球體網格搜索
- 13. 推導立方(一)從立方體(一)<-> A = A(惠譽)
- 14. Irrlicht - 創建3D平面/立方體網格
- 15. Numpy將立方體拆分成立方體
- 16. webgl如何繪製多個立方體
- 17. Android OpenGL觸摸方向上的一個立方體
- 18. 在一個立方體的表面上生成3D隨機點
- 19. 將視圖作爲一個立方體與CATransform3DRotate垂直而不是水平地旋轉?
- 20. 生成座標立方體
- 21. 使用數組和循環創建一個立方體
- 22. 如何在Matlab中繪製3D網格(立方體)
- 23. LWJGL立方體圖
- 24. 單位立方體
- 25. Hadoop超立方體
- 26. 重疊立方體
- 27. 沒有剛體的落體立方體
- 28. iOS,iSGL3D和立方體
- 29. 縮放圖像水平和垂直方向一個網格佈局
- 30. Unity3D - 檢測行星網格上沒有立方體的頂點
真的非常感謝。我確實有一些問題,例如拆除舊的混合高度工廠。我將在下面發佈我的功能。 –