我需要生成一個立方體,其中一個立方體的水平網格和另一個立方體的垂直網格一個溫度立方體和一個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. Bootstrap 4個網格「立方體」
- 3. 呈現一個立方體
- 4. 使網站成爲一個真正的立方體
- 5. 頂點的3d立方體網格C++
- 6. 繪製一個立方體並旋轉它:立方體的一部分消失
- 7. 如何將兩列上的立方體看作是一個立方體?
- 8. 使計算一個立方體
- 9. JOGL使用一個3D立方體
- 10. 繪製一個立方體的角度
- 11. 檢查一個完美的立方體
- 12. 建立一個流體水平導航
- 13. Swift SCNNode 3D立方體旋轉到立方體上的一個點
- 14. Three.js圍繞一個球體旋轉一個立方體
- 15. SSAS:來自多個立方體實例的中央立方體
- 16. 如何計算一個立方體內的一個隨機點
- 17. 我需要一個立方體嗎?
- 18. 在OpenGL中渲染一個立方體
- 19. 通過一個3x3立方體循環
- 20. 在3d中創建一個立方體
- 21. 創建一個立方體書架
- 22. 製作一個iPhone立方體課
- 23. 一個3D立方體摺疊選穴
- 24. 用GlDrawElements()繪製一個立方體?
- 25. 使用二維數組創建一個具有三維網格的立方體
- 26. Python/matplotlib:繪製一個3d立方體,一個球體和一個向量?
- 27. 立方體紋理在其中一個立方體表面上反轉
- 28. 水平對齊的立方體
- 29. olap立方體建築 - 多少個olap立方體?
- 30. 如何繪製立方體,立方體和金字塔
真的非常感謝。我確實有一些問題,例如拆除舊的混合高度工廠。我將在下面發佈我的功能。 –