[ncl-talk] error creating netcdf files

Wang, Yaoping wang.3866 at buckeyemail.osu.edu
Fri Feb 26 14:07:14 MST 2016


Sorry. I figured out the problem. The day dimension assigned to ET_1km was non-numeric.

Yaoping Wang
________________________________
From: Wang, Yaoping
Sent: Friday, February 26, 2016 14:45
To: ncl-talk at ucar.edu
Subject: error creating netcdf files


Hello all,


I am using NCL to temporally concatenate MODIS evapotranspiration data and output them to netcdf. But some how the program keeps aborting:


**********

fatal:["NclFile.c":432]:FileAddVar: an error occurred while adding a variable to a file, check to make sure data type is supported by the output format
fatal:["Execute.c":8575]:Execute: Error occurred at or near line 107 in file make_netcdf.ncl

**********


Here is a snippet of my codes:

**********

    ET_1km = new( (/dimsizes(day), dimsizes(lat_pts), dimsizes(lon_pts)/), float ) ; time,lat,lon


    do jj = 0,dimsizes(day)-1
      f = addfile("./Y"+year(ii)+"/D"+day(jj)+"/MOD16A2.A"+year(ii)+ \
                  day(jj) + ".all.hdf.hdfeos", "r")

      ET_MODIS = short2flt_hdf( f->ET_1km_MOD_Grid_MOD16A2 )

      printVarSummary(ET_MODIS)

      lat_MODIS = f->YDim_MOD_Grid_MOD16A2
      lon_MODIS = f->XDim_MOD_Grid_MOD16A2

      printVarSummary(lat_MODIS) ; degrees_north
      printVarSummary(lon_MODIS) ; degrees_east, from -180 ~ 180

      if (jj .eq. 0) then ; create weights the first time
                     (omitted)
      end if

      ; re-grid
      res = True
      res at CopyVarAtts = False
      res at CopyVarCoords = False
      ET_1km(jj,:,:) = ESMF_regrid_with_weights( ET_MODIS, wgtFileName, res )

      delete(ET_MODIS)
      delete(lat_MODIS)
      delete(lon_MODIS)
      delete(f)
    end do

    ET_1km!0 = "time"
    ET_1km!1 = "lat"
    ET_1km!2 = "lon"
    ET_1km&time = day
    ET_1km&lat = lat_pts
    ET_1km&lon = lon_pts
    ET_1km at units = "km/m^2/8day or 5day6day"
    ET_1km at _FillValue = 32767
    ET_1km at long_name = "MOD16A2 -- MODIS Gridded 1KM 8-day Composite Evapotranspiration (ET)"

    printVarSummary(ET_1km)

    system("rm -f ./Y" + year(ii) + "/MOD16A2.A2000.all.nc")
    ncdf = addfile( "./Y" + year(ii) + "/MOD16A2.A2000.all.nc", "c" )

    ; do not create global attributes
    ; create dimensions
    filedimdef(ncdf, (/ "time","lat","lon" /), \
                     (/ -1, dimsizes(lat_pts), dimsizes(lon_pts)/), \
                     (/ True, False, False /) )

    ; create variables
    ncdf->ET = ET_1km     ; this is where error occurs

**********


>From my printed var summary I cannot see anything wrong.

**********

Variable: ET_1km
Type: float
Total Size: 4600 bytes
            1150 values
Number of Dimensions: 3
Dimensions and sizes:   [time | 46] x [lat | 5] x [lon | 5]
Coordinates:
            time: [001..361]
            lat: [30.62..34.4]
            lon: [-112.5..-107.5]
Number Of Attributes: 5
  long_name :   MOD16A2 -- MODIS Gridded 1KM 8-day Composite Evapotranspiration                                                       (ET)
  units :       km/m^2/8day or 5day6day
  missing_value :       32767
  remap :       remapped via ESMF_regrid_with_weights: Bilinear
  _FillValue :  32767
**********


Could someone help? Thank you very much,

Yaoping Wang
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20160226/3cc5175a/attachment.html 


More information about the ncl-talk mailing list