<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>