启用时间变量的 GeoTIFF 到 NetCDF

GeoTIFF to NetCDF with time variable enabled

我有上千个 GeoTIFF 文件(从 1981 年开始的月降水量),想将其转换为启用时间维度的单个 NetCDF。

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

我所做的是:

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 如何使日期跟在输入文件名中可以​​找到的日期之后?

如果您愿意阅读手册,您可以使用 ncrename and add attributes to your heart's content with ncatted 轻松重命名任何变量。

我找到了一种将 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()