英文:
Decompressing a netCDF file
问题
我有一个名为in.nc
的压缩 netCDF 文件(_DeflateLevel=4)。我想要解压这个文件。
我已经尝试使用以下命令,但没有改变:
nccopy -d 0 in.nc out.nc
以下是in.nc
的规格:
time_counter = UNLIMITED ; // (12 currently)
y = 552 ;
x = 552 ;
variables:
float Q16c(time_counter, y, x) ;
Q16c:long_name = "深层沉积有机物" ;
Q16c:units = "mg C/m2" ;
Q16c:online_operation = "average" ;
Q16c:interval_operation = "900 s" ;
Q16c:interval_write = "1 month" ;
Q16c:cell_methods = "time: mean (interval: 900 s)" ;
Q16c:_FillValue = 1.e+20f ;
Q16c:missing_value = 1.e+20f ;
Q16c:coordinates = "time_centered nav_lat nav_lon" ;
Q16c:_Storage = "chunked" ;
Q16c:_ChunkSizes = 1, 552, 552 ;
Q16c:_DeflateLevel = 4 ;
Q16c:_Endianness = "little" ;
英文:
I have a compressed netCDF file called in.nc
with a (_DeflateLevel=4). I want to decompress the file.
I've already tried using the following command but it doesn't change anything:
nccopy -d 0 in.nc out.nc
Here are the in.nc
specifications:
time_counter = UNLIMITED ; // (12 currently)
y = 552 ;
x = 552 ;
variables:
float Q16c(time_counter, y, x) ;
Q16c:long_name = "Deep Sediment Particulate organic Matter" ;
Q16c:units = "mg C/m2" ;
Q16c:online_operation = "average" ;
Q16c:interval_operation = "900 s" ;
Q16c:interval_write = "1 month" ;
Q16c:cell_methods = "time: mean (interval: 900 s)" ;
Q16c:_FillValue = 1.e+20f ;
Q16c:missing_value = 1.e+20f ;
Q16c:coordinates = "time_centered nav_lat nav_lon" ;
Q16c:_Storage = "chunked" ;
Q16c:_ChunkSizes = 1, 552, 552 ;
Q16c:_DeflateLevel = 4 ;
Q16c:_Endianness = "little" ;
答案1
得分: 2
解压缩使用NCO的压缩文件的方法很简单:
ncks -L 0 in.nc out.nc
附注:这种方法应该适用于大多数常见的编解码器,包括DEFLATE、Zstandard和Bzip2。
英文:
The way to decompress a compressed file with NCO is straightforward:
ncks -L 0 in.nc out.nc
p.s.: this method should work for the most common codecs, including DEFLATE, Zstandard, and Bzip2.
答案2
得分: 1
我认为在cdo中解压文件的方法是
cdo -z zip_0 copy in.nc out.nc
如果它们是使用2字节的shorts以及add_offset
和scale_factor
(例如ERA5等)进行压缩,那么可以通过以下方式将其解压缩为浮点数:
cdo unpack in.nc out.nc
或者
cdo -b f32 copy in.nc out.nc
英文:
I think the way to decompress files in cdo is
cdo -z zip_0 copy in.nc out.nc
If they are compressed using 2 byte shorts with an add_offset
and scale_factor
(e.g. ERA5 etc) then you can decompress those by converting to float like this
cdo unpack in.nc out.nc
or alternatively
cdo -b f32 copy in.nc out.nc
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论