[ncl-talk] ESMF regrid for large array data
Anil Kumar - NOAA Affiliate
anil.kumar at noaa.gov
Wed Apr 6 11:14:41 MDT 2022
Dennis,
I am still not able to mask out the WRF selected region from a large
covered region on unstructured data.
any advice or suggestion to try. Thanks Anil
*********************************
src_file = "../fort.63.nc"
sfile = addfile(src_file,"r")
;printVarSummary(sfile)
lat1D = sfile->y
lon1D = sfile->x
var = sfile->zeta(89,:)
dst_file = "../geo_em.d01.nc" //WRF grid
dfile = addfile(dst_file,"r")
dst_lat = dfile->XLAT_M(0,:,:) ; Be sure to use
appropriate names
dst_lon = dfile->XLONG_M(0,:,:) ; here.
Opt at SrcGridLat = lat1D
Opt at SrcGridLon = lon1D
Opt at SrcRegional = True ;;--Change (maybe)
Opt at SrcInputFileName = src_file ; optional, but good idea
Opt at SrcGridCornerLat = (/ min(dst_lat), max(dst_lat)/)
;sfile->lat_vertices ; corners are necessary
Opt at SrcGridCornerLon = (/ min(dst_lon), max(dst_lon)/)
;sfile->lon_vertices ; for "conserve" method
On Fri, Apr 1, 2022 at 11:04 AM Anil Kumar - NOAA Affiliate <
anil.kumar at noaa.gov> wrote:
> Hi Dennis,
> Thanks for getting back to me.
> Opt at SrcGridCornerLat and Opt at SrcGridCornerLon points provided through WRF
> max and min coordinates.
> I don't know Is this way we can do it.
> Src grid (Unstructured) is covering the Gulf and Atlantic and I want to
> mask out the region where my wrf grid is located. For example WRF grid is
> set up over the Houston Coastal region.
> Is this correct?
> Thanks
>
> dst_file = "../geo_em.d01.nc" //WRF grid
> dfile = addfile(dst_file,"r")
>
>
> dst_lat = dfile->XLAT_M(0,:,:) ; Be sure to use
> appropriate names
> dst_lon = dfile->XLONG_M(0,:,:) ; here.
>
> Opt at SrcGridLat = lat1D
> Opt at SrcGridLon = lon1D
> Opt at SrcRegional = True ;;--Change (maybe)
> Opt at SrcInputFileName = src_file ; optional, but good idea
>
> Opt at SrcGridCornerLat = (/ min(dst_lat), max(dst_lat)/)
> ;sfile->lat_vertices ; corners are necessary
> Opt at SrcGridCornerLon = (/ min(dst_lon), max(dst_lon)/)
> ;sfile->lon_vertices ; for "conserve" method
>
>
> On Mon, Mar 28, 2022 at 9:22 PM Dennis Shea <shea at ucar.edu> wrote:
>
>> 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
>>
>>
>
> --
> Dr. Anil Kumar
> Environmental Modeling Center/NCEP/NWS/NOAA
> College Park, MD, USA
>
>
>
--
Dr. Anil Kumar
Environmental Modeling Center/NCEP/NWS/NOAA
College Park, MD, USA
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.ucar.edu/pipermail/ncl-talk/attachments/20220406/c3b525a2/attachment.html>
More information about the ncl-talk
mailing list