【问题标题】:GeoTIFF to NetCDF with time variable enabled启用时间变量的 GeoTIFF 到 NetCDF
【发布时间】:2020-10-27 06:13:39
【问题描述】:

我有一千个 GeoTIFF 文件(自 1981 年以来的每月降水量),并希望将其转换为启用时间维度的单个 NetCDF。

我已阅读 StackOverflow 和 GIS StackExchange 中的各种类似主题,但找不到适合我的情况的最佳解决方案,要么脚本太复杂(我没有编程技能),要么解决方案没有涵盖时间维度已启用。

我所做的是:

  • 使用 GDAL 将文件夹中的所有 TIF 转换为 GRIB2:for i in *.tif; do gdal_translate -of GRIB $i ../GRIB/$i.grb2; done
  • 使用 CDO 将 GRIB2 转换为 NetCDF:for i in *.grb2; do cdo -r -f nc copy $i ../NetCDF/$i.nc; done
  • 使用 NCO 合并文件夹中的所有 NC:ncrcat *.nc merge.nc
  • 然后检查文件:ncdump -h merge.nc我知道了
netcdf merge {
dimensions:
    time = UNLIMITED ; // (467 currently)
    lon = 920 ;
    lat = 339 ;
variables:
    double time(time) ;
        time:standard_name = "time" ;
        time:units = "minutes since 1970-1-1 00:00:00" ;
        time:calendar = "proleptic_gregorian" ;
        time:axis = "T" ;
    double lon(lon) ;
        lon:standard_name = "longitude" ;
        lon:long_name = "longitude" ;
        lon:units = "degrees_east" ;
        lon:axis = "X" ;
    double lat(lat) ;
        lat:standard_name = "latitude" ;
        lat:long_name = "latitude" ;
        lat:units = "degrees_north" ;
        lat:axis = "Y" ;
    float param255.255.0(time, lat, lon) ;

// global attributes:
        :CDI = "Climate Data Interface version 1.9.8 (https://mpimet.mpg.de/cdi)" ;
        :Conventions = "CF-1.6" ;
        :history = "Tue Jul  7 09:49:30 2020: ncrcat idn_cli_chirps-v2.0.1981.01.tif.grb2.nc idn_cli_chirps-v2.0.1981.02.tif.grb2.nc idn_cli_chirps-v2.0.1981.03.tif.grb2.nc idn_cli_chirps-v2.0.1981.04.tif.grb2.nc idn_cli_chirps-v2.0.1981.05.tif.grb2.nc idn_cli_chirps-v2.0.1981.06.tif.grb2.nc idn_cli_chirps-v2.0.1981.07.tif.grb2.nc idn_cli_chirps-v2.0.1981.08.tif.grb2.nc idn_cli_chirps-v2.0.1981.09.tif.grb2.nc idn_cli_chirps-v2.0.1981.10.tif.grb2.nc idn_cli_chirps-v2.0.1981.11.tif.grb2.nc idn_cli_chirps-v2.0.1981.12.tif.grb2.nc idn_cli_chirps-v2.0.1982.01.tif.grb2.nc idn_cli_chirps-v2.0.1982.02.tif.grb2.nc idn_cli_chirps-v2.0.1982.03.tif.grb2.nc idn_cli_chirps-v2.0.1982.04.tif.grb2.nc idn_cli_chirps-v2.0.1982.05.tif.grb2.nc idn_cli_chirps-v2.0.1982.06.tif.grb2.nc idn_cli_chirps-v2.0.1982.07.tif.grb2.nc idn_cli_chirps-v2.0.1982.08.tif.grb2.nc idn_cli_chirps-v2.0.1982.09.tif.grb2.nc idn_cli_chirps-v2.0.1982.10.tif.grb2.nc idn_cli_chirps-v2.0.1982.11.tif.grb2.nc idn_cli_chirps-v2.0.1982.12.tif.grb2.nc idn_cli_chirps-v2.0.1983.01.tif.grb2.nc idn_cli_chirps-v2.0.1983.02.tif.grb2.nc idn_cli_chirps-v2.0.1983.03.tif.grb2.nc idn_cli_chirps-v2.0.1983.04.tif.grb2.nc idn_cli_chirps-v2.0.1983.05.tif.grb2.nc idn_cli_chirps-v2.0.1983.06.tif.grb2.nc idn_cli_chirps-v2.0.1983.07.tif.grb2.nc idn_cli_chirps-v2.0.1983.08.tif.grb2.nc idn_cli_chirps-v2.0.1983.09.tif.grb2.nc idn_cli_chirps-v2.0.1983.10.tif.grb2.nc idn_cli_chirps-v2.0.1983.11.tif.grb2.nc idn_cli_chirps-v2.0.1983.12.tif.grb2.nc idn_cli_chirps-v2.0.1984.01.tif.grb2.nc idn_cli_chirps-v2.0.1984.02.tif.grb2.nc idn_cli_chirps-v2.0.1984.03.tif.grb2.nc idn_cli_chirps-v2.0.1984.04.tif.grb2.nc idn_cli_chirps-v2.0.1984.05.tif.grb2.nc idn_cli_chirps-v2.0.1984.06.tif.grb2.nc idn_cli_chirps-v2.0.1984.07.tif.grb2.nc idn_cli_chirps-v2.0.1984.08.tif.grb2.nc idn_cli_chirps-v2.0.1984.09.tif.grb2.nc idn_cli_chirps-v2.0.1984.10.tif.grb2.nc idn_cli_chirps-v2.0.1984.11.tif.grb2.nc idn_cli_chirps-v2.0.1984.12.tif.grb2.nc idn_cli_chirps-v2.0.1985.01.tif.grb2.nc idn_cli_chirps-v2.0.1985.02.tif.grb2.nc idn_cli_chirps-v2.0.1985.03.tif.grb2.nc idn_cli_chirps-v2.0.1985.04.tif.grb2.nc idn_cli_chirps-v2.0.1985.05.tif.grb2.nc idn_cli_chirps-v2.0.1985.06.tif.grb2.nc idn_cli_chirps-v2.0.1985.07.tif.grb2.nc idn_cli_chirps-v2.0.1985.08.tif.grb2.nc idn_cli_chirps-v2.0.1985.09.tif.grb2.nc idn_cli_chirps-v2.0.1985.10.tif.grb2.nc idn_cli_chirps-v2.0.1985.11.tif.grb2.nc idn_cli_chirps-v2.0.1985.12.tif.grb2.nc idn_cli_chirps-v2.0.1986.01.tif.grb2.nc idn_cli_chirps-v2.0.1986.02.tif.grb2.nc idn_cli_chirps-v2.0.1986.03.tif.grb2.nc idn_cli_chirps-v2.0.1986.04.tif.grb2.nc idn_cli_chirps-v2.0.1986.05.tif.grb2.nc idn_cli_chirps-v2.0.1986.06.tif.grb2.nc idn_cli_chirps-v2.0.1986.07.tif.grb2.nc idn_cli_chirps-v2.0.1986.08.tif.grb2.nc idn_cli_chirps-v2.0.1986.09.tif.grb2.nc idn_cli_chirps-v2.0.1986.10.tif.grb2.nc idn_cli_chirps-v2.0.1986.11.tif.grb2.nc idn_cli_chirps-v2.0.1986.12.tif.grb2.nc idn_cli_chirps-v2.0.1987.01.tif.grb2.nc idn_cli_chirps-v2.0.1987.02.tif.grb2.nc idn_cli_chirps-v2.0.1987.03.tif.grb2.nc idn_cli_chirps-v2.0.1987.04.tif.grb2.nc idn_cli_chirps-v2.0.1987.05.tif.grb2.nc idn_cli_chirps-v2.0.1987.06.tif.grb2.nc idn_cli_chirps-v2.0.1987.07.tif.grb2.nc idn_cli_chirps-v2.0.1987.08.tif.grb2.nc idn_cli_chirps-v2.0.1987.09.tif.grb2.nc idn_cli_chirps-v2.0.1987.10.tif.grb2.nc idn_cli_chirps-v2.0.1987.11.tif.grb2.nc idn_cli_chirps-v2.0.1987.12.tif.grb2.nc idn_cli_chirps-v2.0.1988.01.tif.grb2.nc idn_cli_chirps-v2.0.1988.02.tif.grb2.nc idn_cli_chirps-v2.0.1988.03.tif.grb2.nc idn_cli_chirps-v2.0.1988.04.tif.grb2.nc idn_cli_chirps-v2.0.1988.05.tif.grb2.nc idn_cli_chirps-v2.0.1988.06.tif.grb2.nc idn_cli_chirps-v2.0.1988.07.tif.grb2.nc idn_cli_chirps-v2.0.1988.08.tif.grb2.nc idn_cli_chirps-v2.0.1988.09.tif.grb2.nc idn_cli_chirps-v2.0.1988.10.tif.grb2.nc idn_cli_chirps-v2.0.1988.11.tif.grb2.nc idn_cli_chirps-v2.0.1988.12.tif.grb2.nc idn_cli_chirps-v2.0.1989.01.tif.grb2.nc idn_cli_chirps-v2.0.1989.02.tif.grb2.nc idn_cli_chirps-v2.0.1989.03.tif.grb2.nc idn_cli_chirps-v2.0.1989.04.tif.grb2.nc idn_cli_chirps-v2.0.1989.05.tif.grb2.nc idn_cli_chirps-v2.0.1989.06.tif.grb2.nc idn_cli_chirps-v2.0.1989.07.tif.grb2.nc idn_cli_chirps-v2.0.1989.08.tif.grb2.nc idn_cli_chirps-v2.0.1989.09.tif.grb2.nc idn_cli_chirps-v2.0.1989.10.tif.grb2.nc idn_cli_chirps-v2.0.1989.11.tif.grb2.nc idn_cli_chirps-v2.0.1989.12.tif.grb2.nc idn_cli_chirps-v2.0.1990.01.tif.grb2.nc idn_cli_chirps-v2.0.1990.02.tif.grb2.nc idn_cli_chirps-v2.0.1990.03.tif.grb2.nc idn_cli_chirps-v2.0.1990.04.tif.grb2.nc idn_cli_chirps-v2.0.1990.05.tif.grb2.nc idn_cli_chirps-v2.0.1990.06.tif.grb2.nc idn_cli_chirps-v2.0.1990.07.tif.grb2.nc idn_cli_chirps-v2.0.1990.08.tif.grb2.nc idn_cli_chirps-v2.0.1990.09.tif.grb2.nc idn_cli_chirps-v2.0.1990.10.tif.grb2.nc idn_cli_chirps-v2.0.1990.11.tif.grb2.nc idn_cli_chirps-v2.0.1990.12.tif.grb2.nc idn_cli_chirps-v2.0.1991.01.tif.grb2.nc idn_cli_chirps-v2.0.1991.02.tif.grb2.nc idn_cli_chirps-v2.0.1991.03.tif.grb2.nc idn_cli_chirps-v2.0.1991.04.tif.grb2.nc idn_cli_chirps-v2.0.1991.05.tif.grb2.nc idn_cli_chirps-v2.0.1991.06.tif.grb2.nc idn_cli_chirps-v2.0.1991.07.tif.grb2.nc idn_cli_chirps-v2.0.1991.08.tif.grb2.nc idn_cli_chirps-v2.0.1991.09.tif.grb2.nc idn_cli_chirps-v2.0.1991.10.tif.grb2.nc idn_cli_chirps-v2.0.1991.11.tif.grb2.nc idn_cli_chirps-v2.0.1992.01.tif.grb2.nc idn_cli_chirps-v2.0.1992.02.tif.grb2.nc idn_cli_chirps-v2.0.1992.03.tif.grb2.nc idn_cli_chirps-v2.0.1992.04.tif.grb2.nc idn_cli_chirps-v2.0.1992.05.tif.grb2.nc idn_cli_chirps-v2.0.1992.06.tif.grb2.nc idn_cli_chirps-v2.0.1992.07.tif.grb2.nc idn_cli_chirps-v2.0.1992.08.tif.grb2.nc idn_cli_chirps-v2.0.1992.09.tif.grb2.nc idn_cli_chirps-v2.0.1992.10.tif.grb2.nc idn_cli_chirps-v2.0.1992.11.tif.grb2.nc idn_cli_chirps-v2.0.1992.12.tif.grb2.nc idn_cli_chirps-v2.0.1993.01.tif.grb2.nc idn_cli_chirps-v2.0.1993.02.tif.grb2.nc idn_cli_chirps-v2.0.1993.03.tif.grb2.nc idn_cli_chirps-v2.0.1993.04.tif.grb2.nc idn_cli_chirps-v2.0.1993.05.tif.grb2.nc idn_cli_chirps-v2.0.1993.06.tif.grb2.nc idn_cli_chirps-v2.0.1993.07.tif.grb2.nc idn_cli_chirps-v2.0.1993.08.tif.grb2.nc idn_cli_chirps-v2.0.1993.09.tif.grb2.nc idn_cli_chirps-v2.0.1993.10.tif.grb2.nc idn_cli_chirps-v2.0.1993.11.tif.grb2.nc idn_cli_chirps-v2.0.1993.12.tif.grb2.nc idn_cli_chirps-v2.0.1994.01.tif.grb2.nc idn_cli_chirps-v2.0.1994.02.tif.grb2.nc idn_cli_chirps-v2.0.1994.03.tif.grb2.nc idn_cli_chirps-v2.0.1994.04.tif.grb2.nc idn_cli_chirps-v2.0.1994.05.tif.grb2.nc idn_cli_chirps-v2.0.1994.06.tif.grb2.nc idn_cli_chirps-v2.0.1994.07.tif.grb2.nc idn_cli_chirps-v2.0.1994.08.tif.grb2.nc idn_cli_chirps-v2.0.1994.09.tif.grb2.nc idn_cli_chirps-v2.0.1994.10.tif.grb2.nc idn_cli_chirps-v2.0.1994.11.tif.grb2.nc idn_cli_chirps-v2.0.1994.12.tif.grb2.nc idn_cli_chirps-v2.0.1995.01.tif.grb2.nc idn_cli_chirps-v2.0.1995.02.tif.grb2.nc idn_cli_chirps-v2.0.1995.03.tif.grb2.nc idn_cli_chirps-v2.0.1995.04.tif.grb2.nc idn_cli_chirps-v2.0.1995.05.tif.grb2.nc idn_cli_chirps-v2.0.1995.06.tif.grb2.nc idn_cli_chirps-v2.0.1995.07.tif.grb2.nc idn_cli_chirps-v2.0.1995.08.tif.grb2.nc idn_cli_chirps-v2.0.1995.09.tif.grb2.nc idn_cli_chirps-v2.0.1995.10.tif.grb2.nc idn_cli_chirps-v2.0.1995.11.tif.grb2.nc idn_cli_chirps-v2.0.1995.12.tif.grb2.nc idn_cli_chirps-v2.0.1996.01.tif.grb2.nc idn_cli_chirps-v2.0.1996.02.tif.grb2.nc idn_cli_chirps-v2.0.1996.03.tif.grb2.nc idn_cli_chirps-v2.0.1996.04.tif.grb2.nc idn_cli_chirps-v2.0.1996.05.tif.grb2.nc idn_cli_chirps-v2.0.1996.06.tif.grb2.nc idn_cli_chirps-v2.0.1996.07.tif.grb2.nc idn_cli_chirps-v2.0.1996.08.tif.grb2.nc idn_cli_chirps-v2.0.1996.09.tif.grb2.nc idn_cli_chirps-v2.0.1996.10.tif.grb2.nc idn_cli_chirps-v2.0.1996.11.tif.grb2.nc idn_cli_chirps-v2.0.1996.12.tif.grb2.nc idn_cli_chirps-v2.0.1997.01.tif.grb2.nc idn_cli_chirps-v2.0.1997.02.tif.grb2.nc idn_cli_chirps-v2.0.1997.03.tif.grb2.nc idn_cli_chirps-v2.0.1997.04.tif.grb2.nc idn_cli_chirps-v2.0.1997.05.tif.grb2.nc idn_cli_chirps-v2.0.1997.06.tif.grb2.nc idn_cli_chirps-v2.0.1997.07.tif.grb2.nc idn_cli_chirps-v2.0.1997.08.tif.grb2.nc idn_cli_chirps-v2.0.1997.09.tif.grb2.nc idn_cli_chirps-v2.0.1997.10.tif.grb2.nc idn_cli_chirps-v2.0.1997.11.tif.grb2.nc idn_cli_chirps-v2.0.1997.12.tif.grb2.nc idn_cli_chirps-v2.0.1998.01.tif.grb2.nc idn_cli_chirps-v2.0.1998.02.tif.grb2.nc idn_cli_chirps-v2.0.1998.03.tif.grb2.nc idn_cli_chirps-v2.0.1998.04.tif.grb2.nc idn_cli_chirps-v2.0.1998.05.tif.grb2.nc idn_cli_chirps-v2.0.1998.06.tif.grb2.nc idn_cli_chirps-v2.0.1998.07.tif.grb2.nc idn_cli_chirps-v2.0.1998.08.tif.grb2.nc idn_cli_chirps-v2.0.1998.09.tif.grb2.nc idn_cli_chirps-v2.0.1998.10.tif.grb2.nc idn_cli_chirps-v2.0.1998.11.tif.grb2.nc idn_cli_chirps-v2.0.1998.12.tif.grb2.nc idn_cli_chirps-v2.0.1999.01.tif.grb2.nc idn_cli_chirps-v2.0.1999.02.tif.grb2.nc idn_cli_chirps-v2.0.1999.03.tif.grb2.nc idn_cli_chirps-v2.0.1999.04.tif.grb2.nc idn_cli_chirps-v2.0.1999.05.tif.grb2.nc idn_cli_chirps-v2.0.1999.06.tif.grb2.nc idn_cli_chirps-v2.0.1999.07.tif.grb2.nc idn_cli_chirps-v2.0.1999.08.tif.grb2.nc idn_cli_chirps-v2.0.1999.09.tif.grb2.nc idn_cli_chirps-v2.0.1999.10.tif.grb2.nc idn_cli_chirps-v2.0.1999.11.tif.grb2.nc idn_cli_chirps-v2.0.1999.12.tif.grb2.nc idn_cli_chirps-v2.0.2000.01.tif.grb2.nc idn_cli_chirps-v2.0.2000.02.tif.grb2.nc idn_cli_chirps-v2.0.2000.03.tif.grb2.nc idn_cli_chirps-v2.0.2000.04.tif.grb2.nc idn_cli_chirps-v2.0.2000.05.tif.grb2.nc idn_cli_chirps-v2.0.2000.06.tif.grb2.nc idn_cli_chirps-v2.0.2000.07.tif.grb2.nc idn_cli_chirps-v2.0.2000.08.tif.grb2.nc idn_cli_chirps-v2.0.2000.09.tif.grb2.nc idn_cli_chirps-v2.0.2000.10.tif.grb2.nc idn_cli_chirps-v2.0.2000.11.tif.grb2.nc idn_cli_chirps-v2.0.2000.12.tif.grb2.nc idn_cli_chirps-v2.0.2001.01.tif.grb2.nc idn_cli_chirps-v2.0.2001.02.tif.grb2.nc idn_cli_chirps-v2.0.2001.03.tif.grb2.nc idn_cli_chirps-v2.0.2001.04.tif.grb2.nc idn_cli_chirps-v2.0.2001.05.tif.grb2.nc idn_cli_chirps-v2.0.2001.06.tif.grb2.nc idn_cli_chirps-v2.0.2001.07.tif.grb2.nc idn_cli_chirps-v2.0.2001.08.tif.grb2.nc idn_cli_chirps-v2.0.2001.09.tif.grb2.nc idn_cli_chirps-v2.0.2001.10.tif.grb2.nc idn_cli_chirps-v2.0.2001.11.tif.grb2.nc idn_cli_chirps-v2.0.2001.12.tif.grb2.nc idn_cli_chirps-v2.0.2002.01.tif.grb2.nc idn_cli_chirps-v2.0.2002.02.tif.grb2.nc idn_cli_chirps-v2.0.2002.03.tif.grb2.nc idn_cli_chirps-v2.0.2002.04.tif.grb2.nc idn_cli_chirps-v2.0.2002.05.tif.grb2.nc idn_cli_chirps-v2.0.2002.06.tif.grb2.nc idn_cli_chirps-v2.0.2002.07.tif.grb2.nc idn_cli_chirps-v2.0.2002.08.tif.grb2.nc idn_cli_chirps-v2.0.2002.09.tif.grb2.nc idn_cli_chirps-v2.0.2002.10.tif.grb2.nc idn_cli_chirps-v2.0.2002.11.tif.grb2.nc idn_cli_chirps-v2.0.2002.12.tif.grb2.nc idn_cli_chirps-v2.0.2003.01.tif.grb2.nc idn_cli_chirps-v2.0.2003.02.tif.grb2.nc idn_cli_chirps-v2.0.2003.03.tif.grb2.nc idn_cli_chirps-v2.0.2003.04.tif.grb2.nc idn_cli_chirps-v2.0.2003.05.tif.grb2.nc idn_cli_chirps-v2.0.2003.06.tif.grb2.nc idn_cli_chirps-v2.0.2003.07.tif.grb2.nc idn_cli_chirps-v2.0.2003.08.tif.grb2.nc idn_cli_chirps-v2.0.2003.09.tif.grb2.nc idn_cli_chirps-v2.0.2003.10.tif.grb2.nc idn_cli_chirps-v2.0.2003.11.tif.grb2.nc idn_cli_chirps-v2.0.2003.12.tif.grb2.nc idn_cli_chirps-v2.0.2004.01.tif.grb2.nc idn_cli_chirps-v2.0.2004.02.tif.grb2.nc idn_cli_chirps-v2.0.2004.03.tif.grb2.nc idn_cli_chirps-v2.0.2004.04.tif.grb2.nc idn_cli_chirps-v2.0.2004.05.tif.grb2.nc idn_cli_chirps-v2.0.2004.06.tif.grb2.nc idn_cli_chirps-v2.0.2004.07.tif.grb2.nc idn_cli_chirps-v2.0.2004.08.tif.grb2.nc idn_cli_chirps-v2.0.2004.09.tif.grb2.nc idn_cli_chirps-v2.0.2004.10.tif.grb2.nc idn_cli_chirps-v2.0.2004.11.tif.grb2.nc idn_cli_chirps-v2.0.2004.12.tif.grb2.nc idn_cli_chirps-v2.0.2005.01.tif.grb2.nc idn_cli_chirps-v2.0.2005.02.tif.grb2.nc idn_cli_chirps-v2.0.2005.03.tif.grb2.nc idn_cli_chirps-v2.0.2005.04.tif.grb2.nc idn_cli_chirps-v2.0.2005.05.tif.grb2.nc idn_cli_chirps-v2.0.2005.06.tif.grb2.nc idn_cli_chirps-v2.0.2005.07.tif.grb2.nc idn_cli_chirps-v2.0.2005.08.tif.grb2.nc idn_cli_chirps-v2.0.2005.09.tif.grb2.nc idn_cli_chirps-v2.0.2005.10.tif.grb2.nc idn_cli_chirps-v2.0.2005.11.tif.grb2.nc idn_cli_chirps-v2.0.2005.12.tif.grb2.nc idn_cli_chirps-v2.0.2006.01.tif.grb2.nc idn_cli_chirps-v2.0.2006.02.tif.grb2.nc idn_cli_chirps-v2.0.2006.05.tif.grb2.nc idn_cli_chirps-v2.0.2006.06.tif.grb2.nc idn_cli_chirps-v2.0.2006.07.tif.grb2.nc idn_cli_chirps-v2.0.2006.08.tif.grb2.nc idn_cli_chirps-v2.0.2006.09.tif.grb2.nc idn_cli_chirps-v2.0.2006.10.tif.grb2.nc idn_cli_chirps-v2.0.2006.11.tif.grb2.nc idn_cli_chirps-v2.0.2006.12.tif.grb2.nc idn_cli_chirps-v2.0.2007.01.tif.grb2.nc idn_cli_chirps-v2.0.2007.02.tif.grb2.nc idn_cli_chirps-v2.0.2007.03.tif.grb2.nc idn_cli_chirps-v2.0.2007.04.tif.grb2.nc idn_cli_chirps-v2.0.2007.05.tif.grb2.nc idn_cli_chirps-v2.0.2007.06.tif.grb2.nc idn_cli_chirps-v2.0.2007.07.tif.grb2.nc idn_cli_chirps-v2.0.2007.08.tif.grb2.nc idn_cli_chirps-v2.0.2007.09.tif.grb2.nc idn_cli_chirps-v2.0.2007.10.tif.grb2.nc idn_cli_chirps-v2.0.2007.11.tif.grb2.nc idn_cli_chirps-v2.0.2007.12.tif.grb2.nc idn_cli_chirps-v2.0.2008.01.tif.grb2.nc idn_cli_chirps-v2.0.2008.02.tif.grb2.nc idn_cli_chirps-v2.0.2008.03.tif.grb2.nc idn_cli_chirps-v2.0.2008.04.tif.grb2.nc idn_cli_chirps-v2.0.2008.05.tif.grb2.nc idn_cli_chirps-v2.0.2008.06.tif.grb2.nc idn_cli_chirps-v2.0.2008.07.tif.grb2.nc idn_cli_chirps-v2.0.2008.08.tif.grb2.nc idn_cli_chirps-v2.0.2008.09.tif.grb2.nc idn_cli_chirps-v2.0.2008.10.tif.grb2.nc idn_cli_chirps-v2.0.2008.11.tif.grb2.nc idn_cli_chirps-v2.0.2008.12.tif.grb2.nc idn_cli_chirps-v2.0.2009.01.tif.grb2.nc idn_cli_chirps-v2.0.2009.02.tif.grb2.nc idn_cli_chirps-v2.0.2009.03.tif.grb2.nc idn_cli_chirps-v2.0.2009.04.tif.grb2.nc idn_cli_chirps-v2.0.2009.05.tif.grb2.nc idn_cli_chirps-v2.0.2009.06.tif.grb2.nc idn_cli_chirps-v2.0.2009.07.tif.grb2.nc idn_cli_chirps-v2.0.2009.08.tif.grb2.nc idn_cli_chirps-v2.0.2009.09.tif.grb2.nc idn_cli_chirps-v2.0.2009.10.tif.grb2.nc idn_cli_chirps-v2.0.2009.11.tif.grb2.nc idn_cli_chirps-v2.0.2009.12.tif.grb2.nc idn_cli_chirps-v2.0.2010.01.tif.grb2.nc idn_cli_chirps-v2.0.2010.02.tif.grb2.nc idn_cli_chirps-v2.0.2010.03.tif.grb2.nc idn_cli_chirps-v2.0.2010.04.tif.grb2.nc idn_cli_chirps-v2.0.2010.05.tif.grb2.nc idn_cli_chirps-v2.0.2010.06.tif.grb2.nc idn_cli_chirps-v2.0.2010.07.tif.grb2.nc idn_cli_chirps-v2.0.2010.08.tif.grb2.nc idn_cli_chirps-v2.0.2010.09.tif.grb2.nc idn_cli_chirps-v2.0.2010.10.tif.grb2.nc idn_cli_chirps-v2.0.2010.11.tif.grb2.nc idn_cli_chirps-v2.0.2010.12.tif.grb2.nc idn_cli_chirps-v2.0.2011.01.tif.grb2.nc idn_cli_chirps-v2.0.2011.02.tif.grb2.nc idn_cli_chirps-v2.0.2011.03.tif.grb2.nc idn_cli_chirps-v2.0.2011.04.tif.grb2.nc idn_cli_chirps-v2.0.2011.05.tif.grb2.nc idn_cli_chirps-v2.0.2011.06.tif.grb2.nc idn_cli_chirps-v2.0.2011.07.tif.grb2.nc idn_cli_chirps-v2.0.2011.08.tif.grb2.nc idn_cli_chirps-v2.0.2011.09.tif.grb2.nc idn_cli_chirps-v2.0.2011.10.tif.grb2.nc idn_cli_chirps-v2.0.2011.11.tif.grb2.nc idn_cli_chirps-v2.0.2011.12.tif.grb2.nc idn_cli_chirps-v2.0.2012.01.tif.grb2.nc idn_cli_chirps-v2.0.2012.02.tif.grb2.nc idn_cli_chirps-v2.0.2012.03.tif.grb2.nc idn_cli_chirps-v2.0.2012.04.tif.grb2.nc idn_cli_chirps-v2.0.2012.05.tif.grb2.nc idn_cli_chirps-v2.0.2012.06.tif.grb2.nc idn_cli_chirps-v2.0.2012.07.tif.grb2.nc idn_cli_chirps-v2.0.2012.08.tif.grb2.nc idn_cli_chirps-v2.0.2012.09.tif.grb2.nc idn_cli_chirps-v2.0.2012.10.tif.grb2.nc idn_cli_chirps-v2.0.2012.11.tif.grb2.nc idn_cli_chirps-v2.0.2012.12.tif.grb2.nc idn_cli_chirps-v2.0.2013.01.tif.grb2.nc idn_cli_chirps-v2.0.2013.02.tif.grb2.nc idn_cli_chirps-v2.0.2013.03.tif.grb2.nc idn_cli_chirps-v2.0.2013.04.tif.grb2.nc idn_cli_chirps-v2.0.2013.05.tif.grb2.nc idn_cli_chirps-v2.0.2013.06.tif.grb2.nc idn_cli_chirps-v2.0.2013.07.tif.grb2.nc idn_cli_chirps-v2.0.2013.08.tif.grb2.nc idn_cli_chirps-v2.0.2013.09.tif.grb2.nc idn_cli_chirps-v2.0.2013.10.tif.grb2.nc idn_cli_chirps-v2.0.2013.11.tif.grb2.nc idn_cli_chirps-v2.0.2013.12.tif.grb2.nc idn_cli_chirps-v2.0.2014.01.tif.grb2.nc idn_cli_chirps-v2.0.2014.02.tif.grb2.nc idn_cli_chirps-v2.0.2014.03.tif.grb2.nc idn_cli_chirps-v2.0.2014.04.tif.grb2.nc idn_cli_chirps-v2.0.2014.05.tif.grb2.nc idn_cli_chirps-v2.0.2014.06.tif.grb2.nc idn_cli_chirps-v2.0.2014.07.tif.grb2.nc idn_cli_chirps-v2.0.2014.08.tif.grb2.nc idn_cli_chirps-v2.0.2014.09.tif.grb2.nc idn_cli_chirps-v2.0.2014.10.tif.grb2.nc idn_cli_chirps-v2.0.2014.11.tif.grb2.nc idn_cli_chirps-v2.0.2014.12.tif.grb2.nc idn_cli_chirps-v2.0.2015.01.tif.grb2.nc idn_cli_chirps-v2.0.2015.02.tif.grb2.nc idn_cli_chirps-v2.0.2015.03.tif.grb2.nc idn_cli_chirps-v2.0.2015.04.tif.grb2.nc idn_cli_chirps-v2.0.2015.06.tif.grb2.nc idn_cli_chirps-v2.0.2015.07.tif.grb2.nc idn_cli_chirps-v2.0.2015.08.tif.grb2.nc idn_cli_chirps-v2.0.2015.09.tif.grb2.nc idn_cli_chirps-v2.0.2015.10.tif.grb2.nc idn_cli_chirps-v2.0.2015.11.tif.grb2.nc idn_cli_chirps-v2.0.2015.12.tif.grb2.nc idn_cli_chirps-v2.0.2016.01.tif.grb2.nc idn_cli_chirps-v2.0.2016.02.tif.grb2.nc idn_cli_chirps-v2.0.2016.03.tif.grb2.nc idn_cli_chirps-v2.0.2016.04.tif.grb2.nc idn_cli_chirps-v2.0.2016.05.tif.grb2.nc idn_cli_chirps-v2.0.2016.06.tif.grb2.nc idn_cli_chirps-v2.0.2016.07.tif.grb2.nc idn_cli_chirps-v2.0.2016.08.tif.grb2.nc idn_cli_chirps-v2.0.2016.09.tif.grb2.nc idn_cli_chirps-v2.0.2016.10.tif.grb2.nc idn_cli_chirps-v2.0.2016.11.tif.grb2.nc idn_cli_chirps-v2.0.2016.12.tif.grb2.nc idn_cli_chirps-v2.0.2017.01.tif.grb2.nc idn_cli_chirps-v2.0.2017.02.tif.grb2.nc idn_cli_chirps-v2.0.2017.03.tif.grb2.nc idn_cli_chirps-v2.0.2017.04.tif.grb2.nc idn_cli_chirps-v2.0.2017.05.tif.grb2.nc idn_cli_chirps-v2.0.2017.06.tif.grb2.nc idn_cli_chirps-v2.0.2017.07.tif.grb2.nc idn_cli_chirps-v2.0.2017.08.tif.grb2.nc idn_cli_chirps-v2.0.2017.09.tif.grb2.nc idn_cli_chirps-v2.0.2017.10.tif.grb2.nc idn_cli_chirps-v2.0.2017.11.tif.grb2.nc idn_cli_chirps-v2.0.2017.12.tif.grb2.nc idn_cli_chirps-v2.0.2018.01.tif.grb2.nc idn_cli_chirps-v2.0.2018.02.tif.grb2.nc idn_cli_chirps-v2.0.2018.03.tif.grb2.nc idn_cli_chirps-v2.0.2018.04.tif.grb2.nc idn_cli_chirps-v2.0.2018.05.tif.grb2.nc idn_cli_chirps-v2.0.2018.06.tif.grb2.nc idn_cli_chirps-v2.0.2018.07.tif.grb2.nc idn_cli_chirps-v2.0.2018.08.tif.grb2.nc idn_cli_chirps-v2.0.2018.09.tif.grb2.nc idn_cli_chirps-v2.0.2018.10.tif.grb2.nc idn_cli_chirps-v2.0.2018.11.tif.grb2.nc idn_cli_chirps-v2.0.2018.12.tif.grb2.nc idn_cli_chirps-v2.0.2019.01.tif.grb2.nc idn_cli_chirps-v2.0.2019.02.tif.grb2.nc idn_cli_chirps-v2.0.2019.03.tif.grb2.nc idn_cli_chirps-v2.0.2019.05.tif.grb2.nc idn_cli_chirps-v2.0.2019.06.tif.grb2.nc idn_cli_chirps-v2.0.2019.07.tif.grb2.nc idn_cli_chirps-v2.0.2019.08.tif.grb2.nc idn_cli_chirps-v2.0.2019.09.tif.grb2.nc idn_cli_chirps-v2.0.2019.10.tif.grb2.nc idn_cli_chirps-v2.0.2019.11.tif.grb2.nc idn_cli_chirps-v2.0.2019.12.tif.grb2.nc idn_cli_chirps-v2.0.2020.01.tif.grb2.nc idn_cli_chirps-v2.0.2020.02.tif.grb2.nc idn_cli_chirps-v2.0.2020.03.tif.grb2.nc idn_cli_chirps-v2.0.2020.04.tif.grb2.nc merge.nc\n",
            "Tue Jul 07 09:38:36 2020: cdo -r -f nc copy idn_cli_chirps-v2.0.1981.01.tif.grb2 ../NetCDF/idn_cli_chirps-v2.0.1981.01.tif.grb2.nc" ;
        :CDO = "Climate Data Operators version 1.9.8 (https://mpimet.mpg.de/cdo)" ;
        :NCO = "netCDF Operators version 4.9.3 (Homepage = http://nco.sf.net, Code = http://github.com/nco/nco)" ;
}

我想更改变量名称并将param255.255.0(time, lat, lon) ; 的内容编辑成如下内容:

float precipitation(time,lat,lon) ;
    precipitation:_FIllValue = -9999.9f ;
    precipitation:_CodeMissingValue = "-9999.9f" ;
    precipitation:_DimensionNames = "time,lat,lon" ;
    precipitation:_Units = "mm/month" ;
    precipitation:_missing_values = -9999.9f ;
    precipitation:_units = "mm" ;

是否可以使用 NCO 或 CDO?如果是,该怎么做? 我在上面所做的过程是否正确且有意义?欢迎任何建议。

在 Panoply 中打开 merge.nc 时,我发现所有日期都是 1970-01-01 如何使日期跟在输入文件名中可以​​找到的日期之后?

【问题讨论】:

    标签: gdal netcdf netcdf4 nco cdo-climate


    【解决方案1】:

    我找到了一种将 CHIRPS GeoTIFF 数据文件夹转换为启用时间维度的单个 NetCDF 文件的方法,即 CF-Compliant

    这是基于 Rich Signell 在 StackExchange 上的回答:https://gis.stackexchange.com/a/70487,我对其进行了修改,以便可以使用 CHIRPS dekad 数据。 如果对 CHIRPS 使用其他时间步长数据,则需要进行调整。并且NCO必须在使用这个脚本之前安装。

    #!/usr/bin/env python
    
    import numpy as np
    import datetime as dt
    import os
    import gdal
    import netCDF4
    import re
    
    ds = gdal.Open('/path/to/dir/chirps-v2.0.1981.01.1.tif') # Data location
    a = ds.ReadAsArray()
    nlat,nlon = np.shape(a)
    
    b = ds.GetGeoTransform() #bbox, interval
    lon = np.arange(nlon)*b[1]+b[0]
    lat = np.arange(nlat)*b[5]+b[3]
    
    basedate = dt.datetime(1980,1,1,0,0,0)
    
    
    # Create NetCDF file
    nco = netCDF4.Dataset('chirps_dekads.nc','w',clobber=True) # Output name
    
    
    # Chunking is optional, but can improve access a lot: 
    # (see: http://www.unidata.ucar.edu/blogs/developer/entry/chunking_data_choosing_shapes)
    chunk_lon=10
    chunk_lat=10
    chunk_time=12
    
    
    # Create dimensions, variables and attributes:
    nco.createDimension('lon',nlon)
    nco.createDimension('lat',nlat)
    nco.createDimension('time',None)
    
    timeo = nco.createVariable('time','f4',('time'))
    timeo.units = 'days since 1980-1-1 00:00:00'
    timeo.standard_name = 'time'
    timeo.calendar = 'gregorian'
    timeo.axis = 'T'
    
    lono = nco.createVariable('lon','f4',('lon'))
    lono.units = 'degrees_east'
    lono.standard_name = 'longitude'
    lono.long_name = 'longitude'
    lono.axis = 'X'
    
    lato = nco.createVariable('lat','f4',('lat'))
    lato.units = 'degrees_north'
    lato.standard_name = 'latitude'
    lato.long_name = 'latitude'
    lato.axis = 'Y'
    
    # Create container variable for CRS: lon/lat WGS84 datum
    crso = nco.createVariable('crs','i4')
    crso.long_name = 'Lon/Lat Coords in WGS84'
    crso.grid_mapping_name='latitude_longitude'
    crso.longitude_of_prime_meridian = 0.0
    crso.semi_major_axis = 6378137.0
    crso.inverse_flattening = 298.257223563
    
    # Create float variable for precipitation data, with chunking
    pcpo = nco.createVariable('precip', 'f4',  ('time', 'lat', 'lon'), 
       zlib=True,chunksizes=[chunk_time,chunk_lat,chunk_lon],fill_value=-9999.)
    pcpo.units = 'mm'
    pcpo.standard_name = 'convective precipitation rate'
    pcpo.long_name = 'Climate Hazards group InfraRed Precipitation with Stations'
    pcpo.time_step = 'dekad'
    pcpo.missing_value = -9999.
    pcpo.geospatial_lat_min = -50.
    pcpo.geospatial_lat_max = 50.
    pcpo.geospatial_lon_min = -180.
    pcpo.geospatial_lon_max = 180.
    pcpo.grid_mapping = 'crs'
    pcpo.set_auto_maskandscale(False)
    
    # Additional attributes
    nco.Conventions='CF-1.6'
    nco.title = "CHIRPS v2.0"
    nco.history = "created by Climate Hazards Group. University of California at Santa Barbara"
    nco.version = "Version 2.0"
    nco.comments = "time variable denotes the first day of the given dekad."
    nco.website = "https://www.chc.ucsb.edu/data/chirps"
    nco.date_created = "2020-12-10"
    nco.creator_name = "Ethan Hunt"
    nco.creator_email = "ethan.hunt@mi6.imf"
    nco.institution = "Impossible Mission Force"
    nco.note = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua"
    
    
    # Write lon,lat
    lono[:]=lon
    lato[:]=lat
    
    pat = re.compile('chirps-v2.0.[0-9]{4}\.[0-9]{2}\.[0-9]{1}')
    itime=0
    
    # Step through data, writing time and data to NetCDF
    for root, dirs, files in os.walk('/path/to/dir/'):
        dirs.sort()
        files.sort()
        for f in files:
            if re.match(pat,f):
                # read the time values by parsing the filename
                year=int(f[12:16])
                mon=int(f[17:19])
                dekad=int(f[20:21])
                date=dt.datetime(year,mon,dekad,0,0,0)
                print(date)
                dtime=(date-basedate).total_seconds()/86400.
                timeo[itime]=dtime
               # precipitation
                pcp_path = os.path.join(root,f)
                print(pcp_path)
                pcp=gdal.Open(pcp_path)
                a=pcp.ReadAsArray()  #data
                pcpo[itime,:,:]=a
                itime=itime+1
    
    nco.close()
    

    【讨论】:

      【解决方案2】:

      如果您愿意阅读手册,您可以轻松地使用ncrename 重命名任何变量,并使用ncatted 为您的内容添加属性。

      【讨论】:

      • 是不是类似于:ncrename -d param255.255.0,precipitation file.nc,然后是ncatted -a units,precipitation,modify,c,'mm' fileinput.nc
      • 请举止得体。你为什么要问这个问题?您提供了 nco 命令并询问它们是否有效。有一种方法可以尝试这个。自己运行它们。
      猜你喜欢
      • 2021-06-25
      • 1970-01-01
      • 2021-10-31
      • 2019-02-02
      • 2018-04-04
      • 1970-01-01
      • 2020-02-09
      • 2018-07-07
      • 1970-01-01
      相关资源
      最近更新 更多