<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
Dear NCL help,
<div class=""><br class="">
</div>
<div class="">I am having trouble regridding my WRF precipitation data (4 km) to a coarser grid (10 km grid with a polar stereographic projection) using the “conserve” method. I should note that it works for the “bilinear method”. I get the following error
 when using the “conserve” method. I am using NCL V6.3.</div>
<div class=""><br class="">
</div>
<div class="">
<div style="margin: 0px; font-size: 13px; font-family: Menlo;" class="">20170621 172919.788 INFO &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; PET0 Running with ESMF Version 6.3.0rp1</div>
<div style="margin: 0px; font-size: 13px; font-family: Menlo;" class="">20170621 172940.034 ERROR&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; PET0 ~~~~~~~~~~~~~~~~~~~~ Concave Element Detected ~~~~~~~~~~~~~~~~~~~~</div>
<div style="margin: 0px; font-size: 13px; font-family: Menlo;" class="">20170621 172940.034 ERROR&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; PET0 &nbsp; concave elem. id=683007</div>
<div style="margin: 0px; font-size: 13px; font-family: Menlo;" class="">20170621 172940.034 ERROR&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; PET0&nbsp;</div>
<div style="margin: 0px; font-size: 13px; font-family: Menlo;" class="">20170621 172940.034 ERROR&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; PET0 &nbsp; concave elem. coords (lon [-180 to 180], lat [-90 to 90]) (x,y,z)</div>
<div style="margin: 0px; font-size: 13px; font-family: Menlo;" class="">20170621 172940.034 ERROR&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; PET0 &nbsp; -----------------------------------------------------------------</div>
<div style="margin: 0px; font-size: 13px; font-family: Menlo;" class="">20170621 172940.034 ERROR&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; PET0 &nbsp; &nbsp; 0&nbsp; (-100.720581,&nbsp; 89.804306)&nbsp; (-0.000635, -0.003356, 0.999994)</div>
<div style="margin: 0px; font-size: 13px; font-family: Menlo;" class="">20170621 172940.034 ERROR&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; PET0 &nbsp; &nbsp; 1&nbsp; (-76.010437,&nbsp; 89.767494)&nbsp; (0.000981, -0.003938, 0.999992)</div>
<div style="margin: 0px; font-size: 13px; font-family: Menlo;" class="">20170621 172940.034 ERROR&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; PET0 &nbsp; &nbsp; 2&nbsp; (-133.219574,&nbsp; 89.857407)&nbsp; (-0.001704, -0.001814, 0.999997)</div>
<div style="margin: 0px; font-size: 13px; font-family: Menlo;" class="">20170621 172940.034 ERROR&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; PET0 &nbsp; &nbsp; 3&nbsp; (130.780121,&nbsp; 89.925125)&nbsp; (-0.000854, 0.000990, 0.999999)</div>
<div style="margin: 0px; font-size: 13px; font-family: Menlo;" class="">20170621 172940.034 ERROR&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; PET0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</div>
<div style="margin: 0px; font-size: 13px; font-family: Menlo;" class="">20170621 172940.035 ERROR&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; PET0 ESMCI_Regrid_F.C:178 c_esmc_regrid_create() Invalid argument - Dst contains a concave cell</div>
<div style="margin: 0px; font-size: 13px; font-family: Menlo;" class="">20170621 172940.035 ERROR&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; PET0 ESMCI_Regrid_F.C:434 c_esmc_regrid_create() Invalid argument Internal subroutine call returned Error</div>
<div style="margin: 0px; font-size: 13px; font-family: Menlo;" class="">20170621 172940.035 ERROR&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; PET0 ESMF_Regrid.F90:321 ESMF_RegridStore Invalid argument - Internal subroutine call returned Error</div>
<div style="margin: 0px; font-size: 13px; font-family: Menlo;" class="">20170621 172940.035 ERROR&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; PET0 ESMF_FieldRegrid.F90:1008 ESMF_FieldRegridStoreNX Invalid argument - Internal subroutine call returned Error</div>
<div style="margin: 0px; font-size: 13px; font-family: Menlo;" class="">20170621 172940.035 ERROR&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; PET0 ESMF_RegridWeightGen.F90:1152 ESMF_RegridWeightGenFile Invalid argument - Internal subroutine call returned Error</div>
<div style="margin: 0px; font-size: 13px; font-family: Menlo;" class=""><br class="">
</div>
</div>
<div class=""><br class="">
</div>
<div class="">&nbsp;I have searched the archives regarding this error and have changed the longitudes of both the source and destination grids so that it goes from 0-360 instead of -180 to 180 as suggested, &nbsp;but I still get the same error. &nbsp;I have FTP’d the files
 in the following script.</div>
<div class=""><br class="">
</div>
<div class="">
<div class="">load &quot;$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl&quot;</div>
<div class="">load &quot;$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl&quot;</div>
<div class="">load &quot;$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl&quot;</div>
<div class="">load &quot;$NCARG_ROOT/lib/ncarg/nclscripts/esmf/ESMF_regridding.ncl&quot;</div>
<div class=""><br class="">
</div>
<div class="">begin</div>
<div class="">;---Data file containing source grid</div>
<div class="">&nbsp; &nbsp; src_file = &quot;/home/umalmonj/Jan_Apr_monthly_total_2d.nc&quot; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;;;---Change (likely)</div>
<div class="">&nbsp; &nbsp; src_constants = &quot;/global/scratch/umalmonj/WRF/juris/CTRL/2D/wrfout_conus_constants.nc&quot;</div>
<div class="">&nbsp; &nbsp; sfile &nbsp; &nbsp;= addfile(src_file,&quot;r&quot;)</div>
<div class="">&nbsp; &nbsp; constants = addfile(src_constants,&quot;r&quot;)</div>
<div class=""><br class="">
</div>
<div class="">;---Get variable to regrid</div>
<div class="">prec_acc_nc = sfile-&gt;PREC_ACC_NC</div>
<div class="">var = dim_sum_n_Wrap(prec_acc_nc,0) ; this sums the variable for the 4 months</div>
<div class="">&nbsp; &nbsp; src_lat &nbsp;= constants-&gt;XLAT(0,:,:) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ;;---Change (maybe)</div>
<div class="">&nbsp; &nbsp; src_lon &nbsp;= constants-&gt;XLONG(0,:,:) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ;;---Change (maybe)</div>
<div class="">&nbsp; &nbsp; var@lat2d = src_lat &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;;;---Change (likely)</div>
<div class="">&nbsp; &nbsp; src_lon = where(src_lon.lt.0,src_lon&#43;360,src_lon)</div>
<div class="">&nbsp; &nbsp; var@lon2d=src_lon</div>
<div class=""><br class="">
</div>
<div class="">;---Data file containing destination grid</div>
<div class="">&nbsp; &nbsp; dst_file = &quot;/global/scratch/umalmonj/WRF/juris/CaPA/AccumulatedtotalPrecipitation.nc&quot; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;;;---Change (likely)</div>
<div class="">&nbsp; &nbsp; dfile &nbsp; &nbsp;= addfile(dst_file,&quot;r&quot;)</div>
<div class="">&nbsp; &nbsp; dst_lat &nbsp;= dfile-&gt;gridlat_0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ;;---Change (likely)</div>
<div class="">&nbsp; &nbsp; dst_long &nbsp;= dfile-&gt;gridlon_0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;;;---Change (likely)</div>
<div class="">&nbsp; &nbsp; dst_lon = where(dst_long.lt.0,dst_long&#43;360,dst_long)</div>
<div class=""><br class="">
</div>
<div class="">;---Set up regridding options</div>
<div class="">&nbsp; &nbsp; Opt &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = True</div>
<div class=""><br class="">
</div>
<div class="">;---&quot;bilinear&quot; is the default. &quot;patch&quot; and &quot;conserve&quot; are other options.</div>
<div class="">&nbsp; &nbsp; Opt@InterpMethod &nbsp; &nbsp; &nbsp;= &quot;conserve&quot; &nbsp; &nbsp; &nbsp; ; might want to use conservative for precip</div>
<div class=""><br class="">
</div>
<div class="">&nbsp; &nbsp; Opt@WgtFileName &nbsp; &nbsp; &nbsp; = &quot;curv_to_curv.nc&quot; &nbsp;; optional</div>
<div class=""><br class="">
</div>
<div class="">&nbsp; &nbsp; Opt@SrcGridLat &nbsp; &nbsp; &nbsp; &nbsp;= src_lat &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ; source grid</div>
<div class="">&nbsp; &nbsp; Opt@SrcGridLon &nbsp; &nbsp; &nbsp; &nbsp;= src_lon</div>
<div class="">&nbsp; &nbsp; Opt@SrcRegional &nbsp; &nbsp; &nbsp; = True &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;;;--Change (maybe)</div>
<div class="">&nbsp; &nbsp; Opt@SrcFileName &nbsp;= src_file &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;; optional, but good idea</div>
<div class="">&nbsp; &nbsp; Opt@SrcGridMask &nbsp; &nbsp; &nbsp; &nbsp; = where(.not.ismissing(var),1,0) ; Necessary if has</div>
<div class="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;; missing values.</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class="">&nbsp; &nbsp; Opt@DstGridLat &nbsp; &nbsp; &nbsp; &nbsp;= dst_lat &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ; destination grid</div>
<div class="">&nbsp; &nbsp; Opt@DstGridLon &nbsp; &nbsp; &nbsp; &nbsp;= dst_lon</div>
<div class="">&nbsp; &nbsp; Opt@DstRegional &nbsp; &nbsp; &nbsp; = True &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;;;--Change (maybe)</div>
<div class="">&nbsp; &nbsp; Opt@DstGridMask = where(.not.ismissing(dst_lat).and.\</div>
<div class="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .not.ismissing(dst_lon),1,0) ; Necessary if lat/lon</div>
<div class="">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ; has missing values.</div>
<div class="">; there is an attribute in the dest. file called &quot;corners&quot;, but there are four</div>
<div class="">; diff. numbers for both the lon and lat variables</div>
<div class="">; just let NCL figure out the corners...</div>
<div class="">; &nbsp; &nbsp;Opt@DstLLCorner = (/12.21208,217.1075/)</div>
<div class="">; &nbsp; &nbsp;Opt@DstURCorner = (/79.82558,147.6248/)</div>
<div class="">&nbsp; &nbsp; Opt@ForceOverwrite &nbsp; &nbsp;= True</div>
<div class="">&nbsp; &nbsp; Opt@PrintTimings &nbsp; &nbsp; &nbsp;= True</div>
<div class="">&nbsp; &nbsp; Opt@Debug &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = True</div>
<div class=""><br class="">
</div>
<div class="">&nbsp; &nbsp; var_regrid = ESMF_regrid(var,Opt) &nbsp; &nbsp; ; Do the regridding</div>
<div class=""><br class="">
</div>
<div class="">&nbsp; &nbsp; printVarSummary(var_regrid)</div>
<div class=""><br class="">
</div>
</div>
<div class=""><br class="">
</div>
<div class="">Any help would be greatly appreciated,</div>
<div class=""><br class="">
</div>
<div class="">Juris</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
</body>
</html>