Re: Regridding Daymet Joined Tiles with ESMF_Regridding on NCL 6.1.0

From: Ping Yang <pyang_at_nyahnyahspammersnyahnyah>
Date: Fri Nov 02 2012 - 15:38:29 MDT

Dear NCL,

I tried to regrid the joined Daymet netCDF files but with no success.I am
thinking we may need to do the regridding (or just reproject) first and
then join the rectilinear grid together.

Any Suggestions? Is there a ESMF specialist can help on this?

Looking forward to hearing from you.

Regards,

Ping

On Tue, Oct 30, 2012 at 6:40 PM, Dave Allured <dave.allured@noaa.gov> wrote:

> Ping,
>
> Your script is using sfile->lat and sfile->lon. If this is the same
> merged file that you showed yesterday, then sfile->lat and sfile->lon
> will contain gaps filled with zeros rather than valid lats and lons.
> This may or may not cause the regrid function to fail. Perhaps
> someone familiar with that function could say whether this would work.
>
> The simple remedy would be to operate on a rectangular subset of the
> merged file that does not have any coordinate gaps. The better remedy
> would be to fill in all of the missing lats and lons, which is beyond
> the scope of the current version of my join script.
>
> Another solution would be to have the regrid function compute source
> lats and lons from native grid projection parameters, rather than the
> source 2-D coordinates. I do not know whether *any* NCL regrid
> functions have this kind of support.
>
> --Dave
>
> On Tue, Oct 30, 2012 at 3:51 PM, Ping Yang <pyang@ccny.cuny.edu> wrote:
> > Dear NCL,
> >
> > I installed a new version of gcc and located the library directory to
> > DYLD_LIBRARY_PATH, and now it the libgomp.1.dylib issue went away. Thank
> you
> > so much.
> >
> > Can you have a look at this script(Regrid a curvilinear grid from 1km to
> > rectilinear grid at 4km, I was trying to find an example on NCL website,
> but
> > there is one regriding from WRF grid to the same resolution and another
> > template regridding to 1 degree, so I intended to compile them together):
> >
> > load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
> > load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
> > load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
> > load "$NCARG_ROOT/lib/ncarg/nclscripts/wrf/WRFUserARW.ncl"
> > load "$NCARG_ROOT/lib/ncarg/nclscripts/esmf/ESMF_regridding.ncl"
> > begin
> >
> > ;---Data file containing source grid
> > src_file = "~/Data/Daymet_NE_20100418_prcp.nc"
> > sfile = addfile(src_file,"r")
> > dst_file = "~/Data/Daymet_NE_20100418_Regridded_prcp.nc"
> > dfile = addfile(dst_file,"c")
> > ;---Get variable to regrid
> > varname = "prcp"
> > var = sfile->$varname$
> > src_lat = sfile->lat ;;---Change (maybe)
> > src_lon = sfile->lon ;;---Change (maybe)
> > ;---Set up regridding options
> > Opt = True
> > Opt@SrcFileName = src_file ; Name of source and
> > Opt@DstFileName = dst_file ; destination files
> > ;---"bilinear" is the default. "patch" and "conserve" are other options.
> > Opt@InterpMethod = "bilinear"
> > Opt@WgtFileName = "~/Data/curv_to_3minute.nc"
> >
> > Opt@SrcGridLat = src_lat ; source grid
> > Opt@SrcGridLon = src_lon
> > Opt@SrcRegional = True ;;--Change (maybe)
> > Opt@DstRegional = True
> >
> > newlon = fspan(-84.025,-64.875,384)
> > newlat = fspan(34.875,50.125,306)
> >
> > ;---Create the destination lat/lon grid
> > ; lat = fspan( 53.2420, 85.4022,nlat)
> > ; lon = fspan(135.7750,258.1880,nlon)
> >
> > Opt@DstGridType = "rectilinear"
> > Opt@DstGridLat = newlat
> > Opt@DstGridLon = newlon
> >
> > Opt@SrcRegional = True
> > Opt@DstRegional = True
> >
> > Opt@ForceOverwrite = True
> > Opt@PrintTimings = True
> > Opt@Debug = True
> >
> > var_regrid = ESMF_regrid(var,Opt) ; Do the regridding
> > printVarSummary(var_regrid)
> >
> > ;----------------------------------------------------------------------
> > ; Plotting section
> > ;
> > ; This section creates filled contour plots of both the original
> > ; data and the regridded data, and panels them.
> > ;----------------------------------------------------------------------
> > var@lat2d = src_lat ; Needed for plotting.
> > var@lon2d = src_lon
> >
> > wks = gsn_open_wks("pdf","curv_to_3min")
> > xwks = gsn_open_wks("x11","curv_to_3min")
> >
> > res = True
> >
> > res@gsnMaximize = True
> >
> > res@gsnDraw = False
> > res@gsnFrame = False
> >
> > res@cnFillOn = True
> > res@cnLinesOn = False
> > res@cnLineLabelsOn = False
> > res@cnFillMode = "RasterFill"
> >
> > res@lbLabelBarOn = False ; Turn on later in panel
> >
> > res@mpMinLatF = min(src_lat)
> > res@mpMaxLatF = max(src_lat)
> > res@mpMinLonF = min(src_lon)
> > res@mpMaxLonF = max(src_lon)
> >
> > ;;--Change (likely)
> > ; res@cnLevelSelectionMode = "ManualLevels"
> > ; res@cnMinLevelValF = 0
> > ; res@cnMaxLevelValF = 200
> > ; res@cnLevelSpacingF = 10
> >
> > ;---Resources for plotting regridded data
> > res@gsnAddCyclic = False ;;---Change (maybe)
> > res@tiMainString = "3 min grid (" + Opt@InterpMethod + ")"
> >
> > plot_regrid_p = gsn_csm_contour_map(wks,var_regrid(0,:,:),res)
> > plot_regrid_x = gsn_csm_contour_map(xwks,var_regrid(0,:,:),res)
> >
> > ;---Resources for plotting original data
> > dims = tostring(dimsizes(var))
> > res@gsnAddCyclic = False ;;---Change (maybe)
> > res@tiMainString = "Original curvilinear grid (" + \
> > str_join(dims," x ") + ")"
> >
> > plot_orig_p = gsn_csm_contour_map(wks,var,res)
> > plot_orig_x = gsn_csm_contour_map(xwks,var,res)
> > ;---Compare the plots in a panel
> > pres = True
> > pres@gsnMaximize = True
> > pres@gsnPanelLabelBar = True
> >
> > gsn_panel(wks,(/plot_orig_p,plot_regrid_p/),(/2,1/),pres)
> > gsn_panel(xwks,(/plot_orig_x,plot_regrid_x/),(/2,1/),pres)
> > end
> >
> > The information for the variable to be regrided:
> > Variable: x
> > Type: float
> > Total Size: 11613888 bytes
> > 2903472 values
> > Number of Dimensions: 3
> > Dimensions and sizes: [time | 1] x [y | 1872] x [x | 1551]
> > Coordinates:
> > time: [11055.5..11055.5]
> > Number Of Attributes: 6
> > long_name : daily total precipitation
> > units : mm/day
> > coordinates : lon lat
> > _FillValue : -9999
> > valid_range : ( 0, 200 )
> > cell_methods : area: sum time: sum
> >
> > It is running forever without seeing the end. I am not quite
> understanding
> > the example on the defining of the resource grid and destination grid, Is
> > the resource grid of the source file? and also about the destination
> grid(is
> > it will generate automatically?) this seems much complicated comparing to
> > the precious version.
> >
> > Looking forward to hearing from you.
> >
> > Regards,
> >
> > Ping
> >
> >
> >
> > _______________________________________________
> > ncl-talk mailing list
> > List instructions, subscriber options, unsubscribe:
> > http://mailman.ucar.edu/mailman/listinfo/ncl-talk
> >
>

_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Fri Nov 2 15:38:39 2012

This archive was generated by hypermail 2.1.8 : Tue Nov 06 2012 - 15:05:49 MST