<div dir="ltr"><div>Thanks Mary. Trying that gave me a segmentation fault, though. When will the next version of NCL be released?<br><br></div>Kind regards,<br><br>Peter<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">

On Mon, Aug 25, 2014 at 5:58 PM, Mary Haley <span dir="ltr">&lt;<a href="mailto:haley@ucar.edu" target="_blank">haley@ucar.edu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div>
<div dir="ltr">
<div class="gmail_default" style="font-size:small">Hi Peter,</div>
<div class="gmail_default" style="font-size:small"><br>
</div>
<div class="gmail_default" style="font-size:small">You may have run into a bug that we fixed in the upcoming release of NCL. I&#39;ve attached a new &quot;ESMF_regridding.ncl&quot; script.  Try saving it to the same directory as your script, and then comment out this line:</div>


<div class="gmail_default" style="font-size:small"><br>
</div>
<div class="gmail_default" style="font-size:small">
<div class="gmail_default">load &quot;$NCARG_ROOT/lib/ncarg/nclscripts/esmf/ESMF_regridding.ncl&quot;</div>
<div class="gmail_default"><br>
</div>
<div class="gmail_default">and add this line after or before it:</div>
<div class="gmail_default"><br>
</div>
<div class="gmail_default">
<div class="gmail_default">load &quot;./ESMF_regridding.ncl&quot;</div>
<div><br>
</div>
</div>
<div>I&#39;m not entirely sure this will work, because you may need to have the latest version of NCL to use this, but it&#39;s worth a try.</div><span class="HOEnZb"><font color="#888888">
<div><br>
</div>
<div>--Mary</div>
</font></span></div>
</div><div><div class="h5">
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">On Mon, Aug 25, 2014 at 10:37 AM, Peter Watson <span dir="ltr">
&lt;<a href="mailto:watson@atm.ox.ac.uk" target="_blank">watson@atm.ox.ac.uk</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">
<div>
<div>
<div>
<div>
<div>Thanks for your help Dennis. I tried this again, this time providing the corner information as shown below, but got the same error message. My input netCDF file
<a href="http://regrid_cons_rg.nc" target="_blank">regrid_cons_rg.nc</a> (note I changed the filename) is now structured as follows:<br>
<br>
netcdf regrid_cons_rg {<br>
dimensions:<br>
    space = 35718 ;<br>
    corner = 4 ;
<div><br>
variables:<br>
    double data(space) ;<br>
    double lon1d(space) ;<br>
    double lat1d(space) ;<br>
</div>
    double corner_lons(space, corner) ;<br>
    double corner_lats(space, corner) ;<br>
}<br>
<br>
</div>
I added the corner_lons and corner_lats arrays, which define tessellating rectangular cells centred on each grid point (except at the northernmost and southernost latitudes, where the cells stretch to the pole). I transferred the file
<a href="http://regrid_cons_rg.nc" target="_blank">regrid_cons_rg.nc</a> by ftp as before.<br>
<br>
</div>
The following lines of ncl:<br>
<br>
load &quot;$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl&quot;<br>
load &quot;$NCARG_ROOT/lib/ncarg/nclscripts/esmf/ESMF_regridding.ncl&quot;<br>
file_in=addfile(&quot;<a href="http://regrid_cons_rg.nc" target="_blank">regrid_cons_rg.nc</a>&quot;,&quot;r&quot;)
<div><br>
data = file_in-&gt;data<br>
lats = file_in-&gt;lat1d<br>
lons = file_in-&gt;lon1d<br>
</div>
corner_lats = file_in-&gt;corner_lats<br>
corner_lons = file_in-&gt;corner_lons
<div><br>
Opt=True<br>
Opt@SrcGridLat = lats<br>
Opt@SrcGridLon = lons<br>
</div>
Opt@SrcGridCornerLat = corner_lats<br>
Opt@SrcGridCornerLon = corner_lons
<div><br>
Opt@DstGridType    = &quot;5x5&quot;<br>
Opt@ForceOverwrite   = True<br>
</div>
Opt@InterpMethod=&quot;conserve&quot;
<div><br>
Opt@DstLLCorner     = (/-85.0d, 0.0d /)<br>
Opt@DstURCorner     = (/ 85.0d, 355.0d /)<br>
<br>
Opt@Debug            = True<br>
<br>
data_latlon=ESMF_regrid(data,Opt)<br>
<br>
<br>
</div>
</div>
give the error:<br>
<br>
(0)    ESMF_regrid_gen_weights: &#39;ESMF_RegridWeightGen&#39; was successful.<br>
(0)    ESMF_regrid_with_weights: regridding using interpolation weights ...<br>
(0)    ESMF_regrid_with_weights: warning: destination grid is not<br>
(0)        completely covered by the source grid. This is not an error.<br>
(0)        It just means your destination grid covers a larger area<br>
(0)        than your source grid.<br>
(0)    ESMF_regrid_with_weights: Source Grid:<br>
(0)                              rank:      1<br>
(0)                              dimensions: 71432<br>
(0)                              original source rank: 1<br>
(0)                              latitude min/max: -89.1415/89.1415<br>
(0)                              longitude min/max:0.375/358.5<br>
(0)    ESMF_regrid_with_weights: Destination Grid:<br>
(0)                              dimensions: 35 72<br>
(0)                              latitude min/max: -85/85<br>
(0)                              longitude min/max:0/355
<div><br>
(0)    ESMF_regrid_with_weights: retrieving interpolation weights ...<br>
(0)    ESMF_regrid_with_weights: error: source data on the description<br>
(0)         file does not have proper dimensions.<br>
<br>
<br>
</div>
</div>
Is it possible to tell what is going wrong here? Or is there another way of doing this?<br>
<br>
</div>
Kind regards,<br>
<br>
Peter<br>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">
<div>On Sat, Aug 23, 2014 at 3:28 AM, Dennis Shea <span dir="ltr">&lt;<a href="mailto:shea@ucar.edu" target="_blank">shea@ucar.edu</a>&gt;</span> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>
<div>
<div dir="ltr">The attached works with the bilinear and patch methods. The conserve method requires &#39;corner&#39; information. NCL&#39;s implementation tries to derive the corner info but is not always successful. I think that is what is happening in your case. This
 will be looked at more when we get a chance.<br>
<br>
<br>
</div>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">
<div>
<div>On Thu, Aug 21, 2014 at 1:52 PM, Peter Watson <span dir="ltr">&lt;<a href="mailto:watson@atm.ox.ac.uk" target="_blank">watson@atm.ox.ac.uk</a>&gt;</span> wrote:<br>
</div>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>
<div>
<div>
<div>
<div dir="ltr">
<div>
<div>
<div>
<div>
<div>
<div>
<div>Dear fellow NCL users,<br>
<br>
</div>
I am trying to do conservative regridding of precipitation data from a reduced Gaussian grid to a lat-lon grid using the ESMF_Regrid function in NCL 6.1.2, but I get an error that I do not understand. My input data is in a NetCDF file, with the precip data
 and the latitudes and longitudes of the grid points stored as 1D arrays. An ncdump -h of the input file gives:<br>
<br>
dimensions:<br>
    space = 35718 ;<br>
variables:<br>
    double data(space) ;<br>
    double lon1d(space) ;<br>
    double lat1d(space) ;<br>
<br>
<br>
</div>
I use the following lines of NCL, based on the example script at <a href="http://www.ncl.ucar.edu/Applications/Templates/ESMF_unstruct_to_0.25deg.ncl" target="_blank">
http://www.ncl.ucar.edu/Applications/Templates/ESMF_unstruct_to_0.25deg.ncl</a> :<br>
<br>
load &quot;$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl&quot;<br>
load &quot;$NCARG_ROOT/lib/ncarg/nclscripts/esmf/ESMF_regridding.ncl&quot;<br>
<br>
file_in=addfile(&quot;<a href="http://regrid_cons_irreg.nc" target="_blank">regrid_cons_irreg.nc</a>&quot;,&quot;r&quot;)<br>
data = file_in-&gt;data<br>
lats = file_in-&gt;lat1d<br>
lons = file_in-&gt;lon1d<br>
<br>
Opt=True<br>
Opt@SrcGridLat         = lats<br>
Opt@SrcGridLon        = lons<br>
Opt@DstGridType      = &quot;5x5&quot;<br>
Opt@ForceOverwrite  = True<br>
Opt@InterpMethod     = &quot;conserve&quot;<br>
Opt@DstLLCorner      = (/-85.0d, 0.0d /)<br>
Opt@DstURCorner     = (/ 85.0d, 355.0d /)<br>
<br>
Opt@Debug            = True<br>
<br>
data_latlon=ESMF_regrid(data,Opt)<br>
<br>
</div>
This gives the error:<br>
<br>
(0)    ESMF_regrid_with_weights: retrieving interpolation weights ...<br>
(0)    ESMF_regrid_with_weights: error: source data on the description<br>
(0)         file does not have proper dimensions.<br>
<br>
</div>
I don&#39;t understand why this fails. Is there something wrong with how I am reading in the data and coordinates? Are there any conditions that need to be satisfied, like the coordinates increasing monotonically (mine do not)? If anyone has a script and NetCDF
 file for which this sort of regridding succeeds that they could let me see, then that would be very helpful.<br>
<br>
</div>
Thanks very much for any help you can give.<br>
<br>
</div>
Kind regards,<br>
<br>
</div>
Peter Watson<br>
</div>
<br>
</div>
</div>
</div>
</div>
<div>
<div>_______________________________________________<br>
ncl-talk mailing list<br>
List instructions, subscriber options, unsubscribe:<br>
<a href="http://mailman.ucar.edu/mailman/listinfo/ncl-talk" target="_blank">http://mailman.ucar.edu/mailman/listinfo/ncl-talk</a><br>
<br>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</blockquote>
</div>
<br>
</div>
<br>
_______________________________________________<br>
ncl-talk mailing list<br>
List instructions, subscriber options, unsubscribe:<br>
<a href="http://mailman.ucar.edu/mailman/listinfo/ncl-talk" target="_blank">http://mailman.ucar.edu/mailman/listinfo/ncl-talk</a><br>
<br>
</blockquote>
</div>
<br>
</div>
</div></div></div>

</blockquote></div><br></div>