[ncl-talk] Getting location and dates of a point(s) that satisfy certain conditions

Lyndz olagueralyndonmark429 at gmail.com
Fri Apr 16 22:30:12 MDT 2021


Dear Sir Dennis and NCL-experts,

I am getting this error:

*fatal:Argument type mismatch on argument (0) of (ind_resolve) can not
coerce*



occurring near at the ncol line..


Here's a sample file that I am using:


https://www.dropbox.com/s/4nu4jh2v7uz6r45/mslp_jan16_2017.nc?dl=0


Attached is the updated script.



Any ideas on how to solve this?



--Lyndz


On Sat, Apr 17, 2021 at 2:52 AM Dennis Shea <shea at ucar.edu> wrote:

> [1] The following has an error
>
>   dpdx_region=dpdx(:,{latS:latN},{lonL:lonR})
>   *dpdx_region*=dpdy(:,{latS:latN},{lonL:lonR})   ;   should be *dpdy_region
> <=====*
>   px2py2_region=px2py2(:,{latS:latN},{lonL:lonR})
>
> [2] I don't see the need for your use of *dim_num_n*
> <http://www.ncl.ucar.edu/Document/Functions/Built-in/dim_num_n.shtml>
>
> [4]  *ind_resolve*
> <http://www.ncl.ucar.edu/Document/Functions/Built-in/ind_resolve.shtml>
> is what you should use. Arrays must be made 1D.
>       **** LOOK AT THE EXAMPLES****
>
>      dpdx_region_1d = *ndtooned*(dpdx_region)
>      dpdy_region_1d = *ndtooned*(dpdy_region)
>      px2py2_region_1d = *ndtooned*(px2py2_region)
>
> [5]    It is *highly* unlikely that the derivatives will be exactly 0.0
> but ....
>
>   n_col  = ind_resolve(ind(dpdx_region_1d.eq. 0) .and. ind(dpdy_region_1d
> .eq. 0) .and. ind(px2py2_region_1d.eq. 0) )
>
>   printVarSummary(n_col)
>
>
> I'll stop there!
>
>
>
>
>
>
> On Fri, Apr 16, 2021 at 2:38 AM Lyndz via ncl-talk <
> ncl-talk at mailman.ucar.edu> wrote:
>
>> Dear NCL-experts,
>>
>> *[1] Details*
>> I have three variables dpdx, dpdy, and px2py2 with the following
>> dimensions and sizes:
>> *Dimensions and sizes: [time | 124] x [lat | 73] x [lon | 144]*
>> These variables were derived using spherical harmonics.
>>
>> *[2] Problem and what I have done so far*
>>
>> (a) I want to get the dates when any gridpoint in a specified domain
>> satisfies the following conditions:
>> dpdx = 0 *.and.* dpdy = 0 *.and. *px2py2 *.lt.* 0
>>
>> (b) get the coordinates of these points, if possible.
>>
>> I have the following lines in my script:
>>
>>   latS = 5.0
>>
>>   latN = 30.0
>>
>>   lonL = 120.0
>>
>>   lonR = 160.0
>>
>>   dpdx_region=dpdx(:,{latS:latN},{lonL:lonR})
>>
>>   dpdx_region=dpdy(:,{latS:latN},{lonL:lonR})
>>
>>   px2py2_region=px2py2(:,{latS:latN},{lonL:lonR})
>>
>> I am stuck here. I dont know what index I should use to get the dates and
>> how to get their coordinates.
>>
>>   dpdx_thres  = dim_num_n((dpdx_region .eq. 0),(/1,2/))
>>
>>   dpdy_thres  = dim_num_n((dpdy_region .eq. 0),(/1,2/))
>>
>>   px2py2_thres  = dim_num_n((px2py2_region .lt. 0),(/1,2/))
>>
>>   n_thres  = ind(dpdx_thres .gt. 0 .and. dpdy_thres .gt. 0 .and.
>> px2py2_thres .gt. 0 ) ;time indices but i'm not sure if this is correct!
>>
>>
>>   print(n_thres)
>>
>>   print("=====")
>>
>>
>>   if(ismissing(nt_thres(0))) then
>>
>>      print("++++++++++++++")
>>
>>      print(" NO values exceed threshold="+threshold)
>>
>>      print("++++++++++++++")
>>
>>   exit
>>
>>   end if
>>
>>
>>
>> I am attaching my script.
>>
>>
>> I'll appreciate any help on this!
>>
>>
>> Sincerely,
>>
>> *Lyndz*
>>
>>
>> _______________________________________________
>> 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/20210417/a8530379/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: lyndz_dx2dy2.ncl
Type: application/octet-stream
Size: 3840 bytes
Desc: not available
URL: <https://mailman.ucar.edu/pipermail/ncl-talk/attachments/20210417/a8530379/attachment.obj>


More information about the ncl-talk mailing list