<div dir="ltr">Hi, Tomoko<div><br></div><div>Would you try to use printVarSummary(var) to see what type of the data is ? </div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Nov 11, 2017 at 10:50 PM, Tomoko Koyama <span dir="ltr"><<a href="mailto:Tomoko.Koyama@colorado.edu" target="_blank">Tomoko.Koyama@colorado.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<br>
<br>
I am trying to regrid Sea Ice Area Fraction and Sea Ice Thickness data from some CMIP5 daily data to EASE 100km grid.<br>
The following script works for Sea Level Pressure, Near-Surface Temperature, Geopotential Height etc. but not for those ice parameters.<br>
<br>
The error message is “Assignment type mismatch, right hand side can't be coerced to type of left hand side†occurring at regridding;<br>
var_regrid = ESMF_regrid(var,Opt)<br>
<br>
Does anyone see why this might be???<br>
<br>
Thank you in advance,<br>
Tomoko<br>
<br>
<br>
+++++++++++++++++<br>
+ Error message +<br>
+++++++++++++++++<br>
<br>
Copyright (C) 1995-2015 - All Rights Reserved<br>
 University Corporation for Atmospheric Research<br>
 NCAR Command Language Version 6.3.0<br>
 The use of this software is governed by a License Agreement.<br>
 See <a href="http://www.ncl.ucar.edu/" rel="noreferrer" target="_blank">http://www.ncl.ucar.edu/</a> for more details.<br>
(0)Â Â Â get_src_grid_info: source lat dims = (384)<br>
(0)Â Â Â get_src_grid_info: source lon dims = (320)<br>
(0)Â Â Â get_src_grid_info: source grid type is 'rectilinear'<br>
(0)Â Â Â curvilinear_to_SCRIP: calculating grid corners...<br>
(0)Â Â Â curvilinear_to_SCRIP: one or more lat values are at the<br>
(0)Â Â Â Â Â Â poles, so calculating grid corners using<br>
(0)Â Â Â Â Â Â calc_SCRIP_corners_boundaries.<wbr>..<br>
(0)Â Â Â calc_SCRIP_corners_boundaries<br>
(0)Â Â Â Â Â min/max original lat: 1/384<br>
(0)Â Â Â Â Â min/max original lon: 1/320<br>
fatal:Assignment type mismatch, right hand side can't be coerced to type of left hand side<br>
^Mfatal:["Execute.c":8575]:<wbr>Execute: Error occurred at or near line 770 in file $NCARG_ROOT/lib/ncarg/<wbr>nclscripts/esmf/ESMF_<wbr>regridding.ncl<br>
<br>
^Mfatal:["Execute.c":8575]:<wbr>Execute: Error occurred at or near line 1744 in file $NCARG_ROOT/lib/ncarg/<wbr>nclscripts/esmf/ESMF_<wbr>regridding.ncl<br>
<br>
^Mfatal:["Execute.c":8575]:<wbr>Execute: Error occurred at or near line 1822 in file $NCARG_ROOT/lib/ncarg/<wbr>nclscripts/esmf/ESMF_<wbr>regridding.ncl<br>
<br>
^Mfatal:["Execute.c":8575]:<wbr>Execute: Error occurred at or near line 3851 in file $NCARG_ROOT/lib/ncarg/<wbr>nclscripts/esmf/ESMF_<wbr>regridding.ncl<br>
<br>
^Mfatal:["Execute.c":8575]:<wbr>Execute: Error occurred at or near line 3983 in file $NCARG_ROOT/lib/ncarg/<wbr>nclscripts/esmf/ESMF_<wbr>regridding.ncl<br>
<br>
^Mfatal:["Execute.c":8573]:<wbr>Execute: Error occurred at or near line 86<br>
<br>
++++++++++<br>
+ Script +<br>
++++++++++<br>
<br>
load "$NCARG_ROOT/lib/ncarg/<wbr>nclscripts/csm/gsn_code.ncl"<br>
load "$NCARG_ROOT/lib/ncarg/<wbr>nclscripts/csm/gsn_csm.ncl"<br>
load "$NCARG_ROOT/lib/ncarg/<wbr>nclscripts/csm/contributed.<wbr>ncl"<br>
load "$NCARG_ROOT/lib/ncarg/<wbr>nclscripts/esmf/ESMF_<wbr>regridding.ncl"<br>
<br>
method   = "bilinear"<br>
model    = "CCSM4"<br>
gridtype  = "latlon"<br>
<br>
rdiri    = "/work/koyama_sice"<br>
in_diri   = "/home/koyama/CMIP5/data/<wbr>input"<br>
esmf_diri  = in_diri + "/" + model<br>
<br>
begin<br>
 ; Source grid<br>
 srcGridDiri = rdiri + "/" + model<br>
 fili    = systemfunc("cd " + srcGridDiri + " ; ls sic*.nc")<br>
 nfil    = dimsizes(fili)<br>
<br>
 ; Destination grid<br>
 dstGridDiri ="/home/koyama/CMIP5/data/<wbr>grid_coord"<br>
 dstFileName = "NRims180x180.nc"<br>
 dstGridFili = dstGridDiri + "/" + dstFileName<br>
 dfile    = addfile(dstGridDiri + "/" + dstFileName, "r")<br>
 lat2d = dfile->latitude<br>
 lon2d = dfile->longitude<br>
<br>
 do ifil = 0, nfil-1<br>
  srcGridFili = fili(ifil)<br>
  sfile    = addfile(srcGridDiri + "/" + srcGridFili, "r")<br>
  dSizes   = getfiledimsizes(sfile)<br>
  var     = sfile->sic<br>
<br>
  lat1d = ndtooned(lat2d)<br>
  lon1d = ndtooned(lon2d)<br>
  lon1d = where(lon1d.lt.0,360.0+lon1d,<wbr>lon1d)<br>
  latlon_dims = dimsizes(lat2d)         ; 180x180<br>
<br>
  Opt         = True<br>
<br>
  Opt@ForceOverwrite = True<br>
<br>
  Opt@SrcFileName   = esmf_diri + "/" + model +"_SCRIP.nc"   ; output file names<br>
  Opt@DstFileName   = esmf_diri + "/" + "EASE_ESMF.nc"<br>
  Opt@WgtFileName   = esmf_diri + "/" + model +"_2_EASE_"+method+".nc"<br>
<br>
  Opt@SrcInputFileName  = srcGridFili     ; optional, but good idea<br>
  Opt@DstInputFileName  = dstGridFili<br>
<br>
  Opt@SkipSrcGrid  = False<br>
  Opt@SkipDstGrid  = False<br>
  Opt@SkipWgtGen   = False<br>
  Opt@DstESMF    = True<br>
<br>
  Indexes = ind(.not.ismissing(lon1d))<br>
  Opt@DstGridType  = "unstructured"     ; Destination grid<br>
  Opt@DstGridLat   = lat1d(Indexes)     ; Strip off missing data<br>
  Opt@DstGridLon   = lon1d(Indexes)<br>
<br>
  Opt@RemapIndexes  = True          ; This is necessary to remap<br>
  Opt@Indexes    = Indexes        ; regridded values back to<br>
  Opt@IndexesDims  = latlon_dims      ; locations on destination grid<br>
<br>
  Opt@InterpMethod  = method<br>
<br>
  Opt@Debug     = True<br>
  Opt@PrintTimings  = True<br>
<br>
  Opt@CopyVarCoords = False         ; we can't copy the coords because<br>
                        ; the weights on the file are only<br>
                        ; for the non-missing lat/lon values.<br>
<br>
  Opt@SrcGridMask   = where(ismissing(var(0,:,:)),0,<wbr>1)<br>
<br>
  var_regrid = ESMF_regrid(var,Opt)  ; Regrid var<br>
<br>
  copy_VarAtts(var,var_regrid)<br>
  var_regrid@_FillValue = 1.e+20<br>
  var_regrid@missing_value = 1.e+20<br>
  var_regrid@_FillValue = var@_FillValue<br>
<br>
  var_regrid!0 = "time"<br>
  var_regrid!1 = "i"<br>
  var_regrid!2 = "j"<br>
<br>
  time  = ispan(1,dSizes(3),1)   ; CCSM4<br>
  time!0 = "time"<br>
  time@long_name = "time"<br>
  time@units   = "month"<br>
  time&time    = time<br>
<br>
  var_regrid&time = time<br>
  var_regrid&i  = lat2d&i<br>
  var_regrid&j  = lat2d&j<br>
<br>
  delete( var_regrid@lat1d )<br>
  delete( var_regrid@lon1d )<br>
  if ( isatt( var_regrid, "lat2d" ) ) then<br>
   delete( var_regrid@lat2d )<br>
  end if<br>
  if ( isatt( var_regrid, "lon2d" ) ) then<br>
   delete( var_regrid@lon2d )<br>
  end if<br>
<br>
;;----------------------------<wbr>------------------------------<wbr>------------<br>
;; Write regridded data to file<br>
;;----------------------------<wbr>------------------------------<wbr>------------<br>
  str   = str_split(srcGridFili, ".")<br>
  filo  = str(0) + ".<a href="http://rgrd.nc" rel="noreferrer" target="_blank">rgrd.nc</a>"<br>
<br>
  if ( isfilepresent(srcGridDiri+"/"+<wbr>filo) .eq. True ) then<br>
   system( "rm " + filo )<br>
  end if<br>
<br>
  setfileoption("nc","Format","<wbr>LargeFile")<br>
  fo = addfile( srcGridDiri + "/" + filo,"c")<br>
  fo->var = var_regrid<br>
  fo->lat = lat2d<br>
  fo->lon = lon2d<br>
<br>
  ;; Clean up<br>
  delete( var )<br>
  delete( sfile )<br>
  delete( Opt )<br>
  delete( filo )<br>
  delete( fo )<br>
  delete( var_regrid )<br>
<br>
 end do<br>
<br>
 delete( dfile )<br>
 delete( lat2d )<br>
 delete( lon2d )<br>
<br>
end<br>
<br>
<br>
______________________________<wbr>_________________<br>
ncl-talk mailing list<br>
<a href="mailto:ncl-talk@ucar.edu">ncl-talk@ucar.edu</a><br>
List instructions, subscriber options, unsubscribe:<br>
<a href="http://mailman.ucar.edu/mailman/listinfo/ncl-talk" rel="noreferrer" target="_blank">http://mailman.ucar.edu/<wbr>mailman/listinfo/ncl-talk</a><br>
</blockquote></div><br></div>