netcdf - 如何使用 NCO 编辑 netcdf 文件中的全局属性

标签 netcdf nco

我正在尝试编辑 netcdf 文件中的全局属性之一:

START_DATE = "2016-05-12_00:00:00"

我想将日期字符串更改为另一个日期。你如何用 nco 包做到这一点?

我已经看到我可以使用
ncatted [-a ...] [-D dbg_lvl] [-h] [-l path] [-O] [-o out.nc] [-p path] [-R] [-r] in.nc [[out.nc]]

我已阅读文档,但显示的示例有限。

这是我使用它的方式:
ncatted -O -h -a START_DATE,,m,c,"2016-06-12_00:00:00" wrfchemi_d01.nc wrfnew.nc 

使用 ncdump 检查输出时,全局属性没有改变,如下所示:
// global attributes:
        :TITLE = " OUTPUT FROM *             PROGRAM:WRF-Chem V4.1.2 MODEL" ;
        :START_DATE = "2016-05-12_00:00:00" ;
        :WEST-EAST_GRID_DIMENSION = 70 ;
        :SOUTH-NORTH_GRID_DIMENSION = 70 ;
        :BOTTOM-TOP_GRID_DIMENSION = 51 ;
        :DX = 25000.f ;
        :DY = 25000.f ;
        :AERCU_OPT = 0 ;
        :AERCU_FCT = 1.f ;
        :IDEAL_CASE = 0 ;
        :DIFF_6TH_SLOPEOPT = 0 ;
        :AUTO_LEVELS_OPT = 2 ;
        :DIFF_6TH_THRESH = 0.1f ;
        :DZBOT = 50.f ;
        :DZSTRETCH_S = 1.3f ;
        :DZSTRETCH_U = 1.1f ;
        :GRIDTYPE = "C" ;
        :DIFF_OPT = 1 ;
        :KM_OPT = 4 ;
        :DAMP_OPT = 3 ;
        :DAMPCOEF = 0.2f ;
        :KHDIF = 0.f ;
        :KVDIF = 0.f ;
        :MP_PHYSICS = -1 ;
        :RA_LW_PHYSICS = 1 ;
        :RA_SW_PHYSICS = 1 ;
        :SF_SFCLAY_PHYSICS = 2 ;
        :SF_SURFACE_PHYSICS = 2 ;
        :BL_PBL_PHYSICS = 2 ;
        :CU_PHYSICS = 5 ;
        :SF_LAKE_PHYSICS = 0 ;
        :SURFACE_INPUT_SOURCE = 1 ;
        :SST_UPDATE = 0 ;
        :GRID_FDDA = 0 ;
        :GFDDA_INTERVAL_M = 0 ;
        :GFDDA_END_H = 0 ;
        :GRID_SFDDA = 0 ;
        :SGFDDA_INTERVAL_M = 0 ;
        :SGFDDA_END_H = 0 ;
        :HYPSOMETRIC_OPT = 2 ;
        :USE_THETA_M = 1 ;
        :GWD_OPT = 0 ;
        :SF_URBAN_PHYSICS = 0 ;
        :SF_SURFACE_MOSAIC = 0 ;
        :SF_OCEAN_PHYSICS = 0 ;
        :WEST-EAST_PATCH_START_UNSTAG = 1 ;
        :WEST-EAST_PATCH_END_UNSTAG = 69 ;
        :WEST-EAST_PATCH_START_STAG = 1 ;
        :WEST-EAST_PATCH_END_STAG = 70 ;
        :SOUTH-NORTH_PATCH_START_UNSTAG = 1 ;
        :SOUTH-NORTH_PATCH_END_UNSTAG = 69 ;
        :SOUTH-NORTH_PATCH_START_STAG = 1 ;
        :SOUTH-NORTH_PATCH_END_STAG = 70 ;
        :BOTTOM-TOP_PATCH_START_UNSTAG = 1 ;
        :BOTTOM-TOP_PATCH_END_UNSTAG = 50 ;
        :BOTTOM-TOP_PATCH_START_STAG = 1 ;
        :BOTTOM-TOP_PATCH_END_STAG = 51 ;
        :GRID_ID = 1 ;
        :PARENT_ID = 1 ;
        :I_PARENT_START = 1 ;
        :J_PARENT_START = 1 ;
        :PARENT_GRID_RATIO = 1 ;
        :DT = 150.f ;
        :CEN_LAT = 14.60003f ;
        :CEN_LON = 120.98f ;
        :TRUELAT1 = 14.6f ;
        :TRUELAT2 = 14.6f ;
        :MOAD_CEN_LAT = 14.60003f ;
        :STAND_LON = 120.98f ;
        :POLE_LAT = 90.f ;
        :POLE_LON = 0.f ;
        :GMT = 0.f ;
        :JULYR = 2016 ;
        :JULDAY = 133 ;
        :MAP_PROJ = 1 ;
        :MAP_PROJ_CHAR = "Lambert Conformal" ;
        :MMINLU = "USGS" ;
        :NUM_LAND_CAT = 28 ;
        :ISWATER = 16 ;
        :ISLAKE = 28 ;
        :ISICE = 24 ;
        :ISURBAN = 1 ;
        :ISOILWATER = 14 ;
        :HYBRID_OPT = 2 ;
        :ETAC = 0.2f ;

有人可以告诉我这个简单的更改是如何完成的吗?

谢谢!

最佳答案

它是一个全局属性,您调用的语法只会更改该名称的所有变量属性的属性,而不是全局属性。阅读关于这一点的文档并尝试

ncatted -O -h -a START_DATE,global,m,c,"2016-06-12_00:00:00" wrfchemi_d01.nc wrfnew.nc

关于netcdf - 如何使用 NCO 编辑 netcdf 文件中的全局属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59729526/

相关文章:

python - 具有填充值/缺失值的 NetCDF 变量

netcdf - 无法使用 nco 附加两个 netcdf 文件

edit - 删除 NetCDF 文件中的维度

bash - 如何计算 bash 中 netcdf 文件中随时间维度求和的缺失值数量

netcdf - 在批处理脚本中使用时强制 NCKS 尝试附加

python - 在 Swift 和 Pythonkit 中使用 Python 模块

python - xarray - 将字符串存储为 'string' 数据类型,而不是 Python2.7 的 'char' (n 维字符数组)

python - 如何在 PyPy 中导入 .so 模块?

netcdf - 使用 cdo(气候数据运算符)按每日时间步存储的变量的每月总和

python - 使用 nco 工具添加多个 netcdf 变量