[ncl-talk] ESMF regrid for large array data
Dennis Shea
shea at ucar.edu
Mon Mar 28 19:22:03 MDT 2022
Given no responses, I speculate no user knows how to generate the edge
vertices.
*https://www.ncl.ucar.edu/Applications/ESMF.shtml*
<https://www.ncl.ucar.edu/Applications/ESMF.shtml>
Example 6 reads the vertices from a file.
ESMF_regrid_6.ncl: Opt at SrcGridCornerLat = sfile->lat_vertices ;
corners are necessary
ESMF_regrid_6.ncl: Opt at SrcGridCornerLon = sfile->lon_vertices ; for
"conserve" method
===
The text above the examples contains:
" You can (and are highly recommended to) provide your own grid corners via
the special Src/Dst/GridCornerLat/Lon resources. They must be provided as
an *N* x 4 array, where *N* represents the dimensionality of the center
lat/lon grid. For example, if the center lat/lon grid is dimensioned 256 x
220, then the corner arrays must be 256 x 220 x 4. Sometimes the corner
grids are provided on the file along with the center grids, with names like
"lat_vertices"/"lon_vertices" or "lat_bounds"/"lon_bounds"."
Good Luck
On Wed, Mar 23, 2022 at 7:17 AM Anil Kumar - NOAA Affiliate via ncl-talk <
ncl-talk at mailman.ucar.edu> wrote:
> Hi All,
> I am using ncl script for esmf regrid and converting unstructured onto WRF
> grid.
> There is nothing wrong with the script, it was working fine with the
> previous unstructured grid nodes ( node = 1813443).
> Now I am facing issues running these scripts for new unstructured data
> nodes ( node = 6057307). It is taking a long time and CPU time terminates
> the script and even job_script takes more than 8 hours and time limitation
> issues with job_scripts.
> Any suggestions to resolve this issue? Below is my script
>
> However, when I run script, it says
> This can be VERY slow if you have a large array.
> (0) To speed up code, provide your own edge
> vertices via the
> (0) 'ElementVertices' option.
> How to use ElementVertices?
>
> *******************************************************
> src_file = "../fort.63.nc"
> sfile = addfile(src_file,"r")
> lat1D = sfile->y
> lon1D = sfile->x
> var = sfile->zeta(89,:)
>
> dst_file = "../geo_em.d01.nc"
> dfile = addfile(dst_file,"r")
> Opt = True
>
> ;---"bilinear" is the default. "patch" and "conserve" are other options.
> Opt at InterpMethod = "neareststod" ;;---Change (maybe)
> Opt at WgtFileName = "unstruct_to_rect_2906_D1.nc"
> Opt at SrcGridLat = lat1D
> Opt at SrcGridLon = lon1D
> Opt at SrcRegional = False ;;--Change (maybe)
> Opt at SrcInputFileName = src_file ; optional, but good idea
>
> Opt at SrcMask2D = where(.not.ismissing(var),1,0) ; Necessary if
> has
> ; missing values.
>
> dst_lat = dfile->XLAT_M(0,:,:) ; Be sure to use
> appropriate names
> dst_lon = dfile->XLONG_M(0,:,:) ; here.
> Opt at DstGridLon = dst_lon
> Opt at DstGridLat = dst_lat
> Opt at DstRegional = True ;;--Change (maybe)
> Opt at ForceOverwrite = True
> Opt at Debug = True
> Opt at PrintTimings = True
> var_regrid = ESMF_regrid(var,Opt) ; Do the regridding
> printVarSummary(var_regrid)
>
> --
> Dr. Anil Kumar
> Environmental Modeling Center/NCEP/NWS/NOAA
> College Park, MD, USA
>
>
> _______________________________________________
> ncl-talk mailing list
> ncl-talk at mailman.ucar.edu
> List instructions, subscriber options, unsubscribe:
> https://mailman.ucar.edu/mailman/listinfo/ncl-talk
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.ucar.edu/pipermail/ncl-talk/attachments/20220328/4d96c6b2/attachment.html>
More information about the ncl-talk
mailing list