[ncl-talk] accumulate data on grid

Dennis Shea shea at ucar.edu
Sun Oct 18 12:25:24 MDT 2020


Maybe the *"bin"  examples
<https://www.ncl.ucar.edu/Applications/binning.shtml> /* *functions*: *
bin_sum
<https://www.ncl.ucar.edu/Document/Functions/Built-in/bin_sum.shtml>* ,*
bin_avg*
<https://www.ncl.ucar.edu/Document/Functions/Built-in/bin_avg.shtml>

Assuming the data are randomly located: d(npts), dlat(npts), dlon(npts)
***AND***
the target grid is *RECTILINEAR* with grid locations/sizes: glon[mlon],
glat[nlat]

  gbin  = *new*
<https://www.ncl.ucar.edu/Document/Functions/Built-in/new.shtml> (
(/nlat,mlon/), float )
  gknt  = *new*
<https://www.ncl.ucar.edu/Document/Functions/Built-in/new.shtml> (
(/nlat,mlon/), integer)

  gbin  = 0.0                      ; initialization
  gknt  = 0

  *bin_sum*(gbin,gknt,glon,glat,dlon,dlat,d)

;*****************************************************************
; User must perform averaging
;*****************************************************************
                                    ; avoid division by 0
  gknt     = *where*
<https://www.ncl.ucar.edu/Document/Functions/Built-in/where.shtml>(gknt.eq.0
, gknt at _FillValue, gknt)

  gbin     = gbin/gknt

  gbin!0   = "lat"
  gbin!1   = "lon"
  gbin&lat =  glat
  gbin&lon =  lon

  *copy_VarCoords*
<https://www.ncl.ucar.edu/Document/Functions/Contributed/copy_VarCoords.shtml>(gbin,
gknt)        ; copy coords

  if (*isfilevaratt*
<https://www.ncl.ucar.edu/Document/Functions/Built-in/isfilevaratt.shtml>(f,
vNam, "long_name")) then
      gbin at long_name = "BINNED: "+vNam
      gknt at long_name = "BINNED COUNT: "+vNam
  end if

  if (*isfilevaratt*
<https://www.ncl.ucar.edu/Document/Functions/Built-in/isfilevaratt.shtml>(f,
vNam, "units")) then
      gbin at units     = f->$vNam$@units
  end if

  printVarSummary(gbin)
  printMinMax(gbin,1)
  print("=========")
  print("=========")
  printVarSummary(gknt)
<https://www.ncl.ucar.edu/Document/Functions/Built-in/ndtooned.shtml>
<https://www.ncl.ucar.edu/Document/Functions/Built-in/ndtooned.shtml>
<https://www.ncl.ucar.edu/Document/Functions/Built-in/ndtooned.shtml>
  printMinMax(gbin,1)

====

Note: If the target grid is *CURVILINEAR*: [ glat(nlat,mlon),
glon(nlat,mlon], there is no NCL function to accomplish the task.


On Sun, Oct 18, 2020 at 11:32 AM Paimazumder, Debasish via ncl-talk <
ncl-talk at mailman.ucar.edu> wrote:

> Dave- getind_latlon2d needs two-dimensional lat/lon while my output grid
> 1-d lat/lon.
> Interpolation from location to 1-d grid could be an option but we won’t
> get the accumulation (sum) at the output grid.
>
> Best regards,
> Dave
>
> On Oct 18, 2020, at 12:54 PM, Barry Lynn <barry.h.lynn at gmail.com> wrote:
>
> 
> *This message is from an external sender; be cautious with links and
> attachments.*
>
> Right, that can be done.  Or, you can interpolate the data from the fine
> to coarse grid.
>
> I am not sure if the latter will conserve the averages like doing the
> averaging in a loop.
>
> On Sun, Oct 18, 2020 at 6:58 PM Dave Allured - NOAA Affiliate via ncl-talk
> <ncl-talk at mailman.ucar.edu> wrote:
>
>> Use the function *getind_latlon2d* to get the (i,j) grid point indices
>> for the point data coordinates.  Then do a single loop over the point data
>> to accumulate sums and counts on the output grid.
>>
>>
>> On Sun, Oct 18, 2020 at 9:09 AM Paimazumder, Debasish via ncl-talk <
>> ncl-talk at mailman.ucar.edu> wrote:
>>
>>> Hi Barry,
>>> Thanks for your response. Actually I don’t have time dimension. I have
>>> location level data (at high resolution).
>>> For example, x(m) with lat(m) and lon (m) where m = 300k location
>>>
>>> My output grid is 32x32 km and I would like to do following
>>> 1. Estimate the number of locations are in each 32x32 km grid
>>> 2. Accumulate (sum) the x at each output grid.
>>> For example- if I have 100 locations at one of the 32x32km grid, I will
>>> sum all x from 100 locations and assign the sum to the output grid.
>>>
>>> Best regards,
>>> Dave
>>>
>>> On Oct 18, 2020, at 3:50 AM, Barry Lynn <barry.h.lynn at gmail.com> wrote:
>>>
>>> Hi:
>>>
>>> If you have two grids of the same dimensions, but different times, you
>>> can simply add them together.
>>>
>>> If you have grids of a different size, you can interpolate the data to
>>> this grid, one grid at a time.
>>>
>>> See for example:
>>>
>>> https://www.ncl.ucar.edu/Applications/regrid.shtml
>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.ncl.ucar.edu_Applications_regrid.shtml&d=DwMFaQ&c=kn4_INW_mBCDHV_xJEVJkg&r=fpudUXThXLQwAKQPDCnmVaSzm2dwE9OxcWi7MuJ0jbo&m=IaFm8AuXStzIPZXMbIRmp6fjt5zy74eAUUQzoQb5pBc&s=tUIMDu-yehcnE2-mHTaX2NhZiAg5eBHJsqf3e1Bmbl8&e=>
>>>
>>> This may also help.
>>>
>>> https://www.ncl.ucar.edu/Document/Functions/Built-in/dim_sum_n.shtml
>>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.ncl.ucar.edu_Document_Functions_Built-2Din_dim-5Fsum-5Fn.shtml&d=DwMFaQ&c=kn4_INW_mBCDHV_xJEVJkg&r=fpudUXThXLQwAKQPDCnmVaSzm2dwE9OxcWi7MuJ0jbo&m=IaFm8AuXStzIPZXMbIRmp6fjt5zy74eAUUQzoQb5pBc&s=4tdKFBxFBOUpMYFj95WyO8MUdUcYRniTWsJIvCCbhAE&e=>
>>>
>>> On Sun, Oct 18, 2020 at 7:59 AM Paimazumder, Debasish via ncl-talk <
>>> ncl-talk at mailman.ucar.edu> wrote:
>>>
>>>> Hi NCL users
>>>>
>>>> I have location level data and 2d lat, lon grid and I’m trying to
>>>> accumulate the data on  2d lat, lon grid.
>>>>
>>>>
>>>>
>>>> For example
>>>>
>>>> Input - x (n) with lat(n), lon(n)
>>>>
>>>> Output grid - lat(i)xlon(j)
>>>>
>>>> I’m trying to estimate number of location within each grid and
>>>> accumulate x at each grid.
>>>>
>>>> Is there any function in NCL that will solve this problem?
>>>>
>>>>
>>>>
>>>> With regards
>>>>
>>>> -Debasish
>>>>
>>>>
>>>>
>>>> *Debasish PaiMazumder, PhD |*Tel +1 215 255 6052
>>>> <%2B1%20215%20255%206371> | Cell +1 267 449 5226
>>>> <%2B1%20718%20913%206946> |*Debasish.Paimazumder at aig.com
>>>> <Debasish.Paimazumder at aig.com>*
>>>>
>>> _______________________________________________
>> ncl-talk mailing list
>> ncl-talk at mailman.ucar.edu
>> List instructions, subscriber options, unsubscribe:
>> https://mailman.ucar.edu/mailman/listinfo/ncl-talk
>> <https://urldefense.proofpoint.com/v2/url?u=https-3A__mailman.ucar.edu_mailman_listinfo_ncl-2Dtalk&d=DwMFaQ&c=kn4_INW_mBCDHV_xJEVJkg&r=fpudUXThXLQwAKQPDCnmVaSzm2dwE9OxcWi7MuJ0jbo&m=MrHhJNEEUYaIu_m4tHYe3BagQB4y_F9zUKivzqyU6Qc&s=OAPVqMfiOsSTA-yHW1I4powc9uQpzwob8irpoxiBBy0&e=>
>
>
>
> --
> Barry H. Lynn, Ph.D
> Senior Associate Scientist, Lecturer,
> The Institute of the Earth Science,
> The Hebrew University of Jerusalem,
> Givat Ram, Jerusalem 91904, Israel
> Tel: 972 547 231 170
> Fax: (972)-25662581
>
> C.E.O, Weather It Is, LTD
> Weather and Climate Focus
> http://weather-it-is.com
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__weather-2Dit-2Dis.com&d=DwMFaQ&c=kn4_INW_mBCDHV_xJEVJkg&r=fpudUXThXLQwAKQPDCnmVaSzm2dwE9OxcWi7MuJ0jbo&m=MrHhJNEEUYaIu_m4tHYe3BagQB4y_F9zUKivzqyU6Qc&s=wTDx59WcqkIpQWlxXtecOdqmP_2sM2GEo2mXT7ZAaPw&e=>
> Jerusalem, Israel
> Local: 02 930 9525
> Cell: 054 7 231 170
> Int-IS: x972 2 930 9525
>
> _______________________________________________
> 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/20201018/b4eb7758/attachment.html>


More information about the ncl-talk mailing list