1
我有一個帶有標準浮點字段的大型netcdf文件,它只包含0.0或1.0。我想從命令行將其轉換爲字節類型以節省一些空間,並且還可以使數組更容易在Fortran中讀取字節類型。將netcdf文件中的浮點數轉換爲字節
我試圖用NCAP
ncap -s 'fire=byte(fire)' CAMS_2003-2017_frp_mask2_africa_zip.nc test.nc
,但它只是似乎歸零的所有字段。我在源文件上使用zip_6 netcdf4壓縮,我不確定這是否會使事情複雜化?
更新:我發現ncap2可與字節
ncap2 -s 'fire=byte(fire)' CAMS_2003-2017_frp_mask2_africa_zip.nc test.nc
但我不明白爲什麼這兩個有什麼區別?這可能是一個內存問題,因爲ncap和ncap2在嘗試轉換爲「int」而不是「byte」時會失敗並返回內存分配。
你得到所有零,如果你投以'int'取代'byte'? – jhamman
有趣的是,使用int而不是字節會導致內存故障。但我發現這個字節與ncap2一起工作......不知道爲什麼行爲不同,可能ncap也會遇到字節的內存問題? –
ncap2!= ncap。始終使用ncap2。 ncap已棄用。無法重現當前NCO在〜1度全局數據集中提到的內存故障。 –