<div dir="ltr"><div>re: "If anyone knows better how to specify the number of clusters, I would be glad to hear."</div><div><br></div><div>As noted in the <a href="http://www.ncl.ucar.edu/Document/Functions/Built-in/kmeans_as136.shtml"><b>kmeans_as136</b></a> documentation, this algorithm requires that the user specify the</div><div>number of clusters a priori. NCL's examples are provided to illustrate that the implementation</div><div>works correctly. However, NCL's focus is not statistics. Hence, the very limited [one] cluster</div><div>function 'suite.'<br></div><div><br></div><div>How to do specify the appropriate number of cluster? <br></div><div>Apparently there is no definitive approach.To me, it seems 'trial and error'  :-(<br></div><div><br></div><div><a href="https://towardsdatascience.com/clustering-analysis-in-r-using-k-means-73eca4fb7967"><b>https://towardsdatascience.com/clustering-analysis-in-r-using-k-means-73eca4fb7967</b></a></div><div><a href="https://www.statmethods.net/advstats/cluster.html"><b>https://www.statmethods.net/advstats/cluster.html</b></a></div><div><a href="https://www.r-bloggers.com/k-means-clustering-in-r/"><b>https://www.r-bloggers.com/k-means-clustering-in-r/</b></a></div><div><a href="https://www.datacamp.com/community/tutorials/k-means-clustering-r"><b>https://www.datacamp.com/community/tutorials/k-means-clustering-r</b></a></div><div><a href="https://www.guru99.com/r-k-means-clustering.html"><b>https://www.guru99.com/r-k-means-clustering.html</b></a></div><div><br></div><div>===</div><div>Also, keep in mind: Being in cluster 1 is not more 
significant than being in cluster 'n'. It is arbitrary. <br></div><div>===<br></div><div><b>r</b>e: 1) Set the number of clusters to 1 less than the number of points. 
Otherwise, the program produces zeros or undefined numbers. or just 
strange answers.</div><div><br></div><div>If 'k' [number of clusters] is the same as the number of points] then the cluster variance is 0.0<br></div><div><br></div><div>From the 1st link above:</div><div><br></div><div><b>Choosing a good K<br><br></b>The bigger is the K you choose, the lower will be the variance within the groups in the clustering. If K is equal to the number of observations, then each point will be a group and the variance will be 0. It’s interesting to find a balance between the number of groups and their variance. A variance of a group means how different the members of the group are. The bigger is the variance, the bigger is the dissimilarity in a group.</div><div><br></div><div>---</div><div>I don't think I can offer much more help.</div><div><br></div><div>Good luck</div><div>D<br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jan 22, 2020 at 8:24 AM Barry Lynn <<a href="mailto:barry.h.lynn@gmail.com">barry.h.lynn@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Just to be clear: I am providing this information/code for interested users.<div><br></div><div>If anyone knows better how to specify the number of clusters, I would be glad to hear.</div><div><br></div><div>Or, if anyone knows how to track their movement, as well.</div><div><br></div><div>Thank you.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jan 22, 2020 at 5:10 PM Barry Lynn <<a href="mailto:barry.h.lynn@gmail.com" target="_blank">barry.h.lynn@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Hi:</div><div><br></div><div>I had a couple of problems running the code. </div><div><br></div><div>1) It is not obvious how to set the k_clst (how many cluster), especially when running from a script.  </div><div><br></div><div>2) I really wanted to see the members of each cluster.</div><div><br></div><div>Here, I do the following (in the Excerpt):</div><div><br></div><div>1) Set the number of clusters to 1 less than the number of points. Otherwise, the program produces zeros or undefined numbers. or just strange answers.</div><div>2) I then reduce the number of clusters until I have just a  cluster with 1 grid point, inclusive (or the minimum number of points).</div><div>3) Because I didn't know how to modify the call to the clustering program, I created my own from the fortran file, which outputs the members of each cluster.</div><div>4) I use WRAPIT it to call this program</div><div><br></div><div>I have attached a self-contained fortran version of the code.</div><div><br></div><div>Barry</div><div><br></div><div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Jan 19, 2020 at 5:30 PM Barry Lynn <<a href="mailto:barry.h.lynn@gmail.com" target="_blank">barry.h.lynn@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div dir="auto">Hi: </div></div><div dir="auto"><br></div><div dir="auto">Thank you for asking. </div><div dir="auto"><br></div><div dir="auto">I found the FORTRAN code and may pass on my modifications if warranted. </div><div dir="auto"><br></div><div dir="auto">Thanks</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, 19 Jan 2020 at 17:26 Dennis Shea <<a href="mailto:shea@ucar.edu" target="_blank">shea@ucar.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>I am not sure of the question.</div><div>---<br></div><div>You would have to access the changed code via a 'shared object'</div><div><br></div><div>Does it require additional arguments? The NCL version of 'kmns' uses double precision arguments.</div><div><br></div><div>C NCLFORTSTART<br>      subroutine <b>kmns136</b> (dat, m, n, clcntr, k,  ic1, nc<br>     +                   ,iter, iseed, wss, ier)<br>      implicit none<br>c                            ! INPUT<br>      integer m, n, k, iter, iseed<br>      double precision dat(m,n)<br>c                            ! INPUT/OUTPUT<br>      integer ic1(m), nc(k), ier<br>      double precision clcntr(n,k), wss(k)<br>C NCLEND<br>c                            ! LOCAL WORK ARRAYS<br>      integer          ic2(m), ncp(k), itran(k), live(k)<br>      double precision an1(k), an2(k), d(m)<br>      integer nv, kk, mm</div><div>====</div><div><br></div><div>Change: <b> kmns136</b> to (say) kmns136x</div><div><br></div><div>Then use WRAPIT to generate the shared object<br></div><div><br></div><div><br></div><div><br></div><div><br></div></div><br><div class="gmail_quote"></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Jan 19, 2020 at 4:04 AM Barry Lynn via ncl-talk <<a href="mailto:ncl-talk@ucar.edu" target="_blank">ncl-talk@ucar.edu</a>> wrote:<br></div></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"></blockquote></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hello:<div><br></div><div>I would like to use cluster analysis and it would be very helpful (I hope) if I could modify the source code.</div><div><br></div><div>I downloaded the NCL source code from here:</div><div><br></div><div><a href="https://www.earthsystemgrid.org/dataset/ncl.640.src/file.html" target="_blank">https://www.earthsystemgrid.org/dataset/ncl.640.src/file.html</a><br></div><div><br></div><div>and found the Fortran (.f) programs in this directory.</div><div><br></div><div>





<p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:19px;line-height:normal;font-family:"Courier New";color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures;font-family:"Courier New"">NCL_SOURCE/ncl_ncarg-6.4.0/ni/src/lib/nfpfort</span></p><div><br></div><div>Barry</div>-- <br><div dir="ltr"><div dir="ltr"><div><div dir="ltr">Barry H. Lynn, Ph.D<div><div>Senior Associate Scientist, Lecturer,</div><div><div><span style="color:rgb(136,136,136)">The Institute of the Earth Science, </span><br style="color:rgb(136,136,136)"><span style="color:rgb(136,136,136)">The Hebrew University of Jerusalem, </span><br style="color:rgb(136,136,136)"><span style="color:rgb(136,136,136)">Givat Ram, Jerusalem 91904, Israel </span><br style="color:rgb(136,136,136)"></div><span style="color:rgb(136,136,136)">Tel: 972 547 231 170</span><br style="color:rgb(136,136,136)"><span style="color:rgb(136,136,136)">Fax: (972)-25662581</span></div></div><div><span style="color:rgb(136,136,136)"><br></span></div><div>C.E.O, Weather It Is, LTD<br>Weather and Climate Focus<br><a href="http://weather-it-is.com" target="_blank">http://weather-it-is.com</a><br>Jerusalem, Israel<br>Local: 02 930 9525<br>Cell: 054 7 231 170<br>Int-IS: x972 2 930 9525<br><br></div></div></div></div></div></div></div></blockquote></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
_______________________________________________<br>
ncl-talk mailing list<br>
<a href="mailto:ncl-talk@ucar.edu" target="_blank">ncl-talk@ucar.edu</a><br>
List instructions, subscriber options, unsubscribe:<br>
<a href="http://mailman.ucar.edu/mailman/listinfo/ncl-talk" rel="noreferrer" target="_blank">http://mailman.ucar.edu/mailman/listinfo/ncl-talk</a></blockquote></div>
</blockquote></div></div>-- <br><div dir="ltr"><div dir="ltr"><div><div dir="ltr">Barry H. Lynn, Ph.D<div><div>Senior Associate Scientist, Lecturer,</div><div><div><span style="color:rgb(136,136,136)">The Institute of the Earth Science, </span><br style="color:rgb(136,136,136)"><span style="color:rgb(136,136,136)">The Hebrew University of Jerusalem, </span><br style="color:rgb(136,136,136)"><span style="color:rgb(136,136,136)">Givat Ram, Jerusalem 91904, Israel </span><br style="color:rgb(136,136,136)"></div><span style="color:rgb(136,136,136)">Tel: 972 547 231 170</span><br style="color:rgb(136,136,136)"><span style="color:rgb(136,136,136)">Fax: (972)-25662581</span></div></div><div><span style="color:rgb(136,136,136)"><br></span></div><div>C.E.O, Weather It Is, LTD<br>Weather and Climate Focus<br><a href="http://weather-it-is.com" target="_blank">http://weather-it-is.com</a><br>Jerusalem, Israel<br>Local: 02 930 9525<br>Cell: 054 7 231 170<br>Int-IS: x972 2 930 9525<br><br></div></div></div></div></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr"><div dir="ltr"><div><div dir="ltr">Barry H. Lynn, Ph.D<div><div>Senior Associate Scientist, Lecturer,</div><div><div><span style="color:rgb(136,136,136)">The Institute of the Earth Science, </span><br style="color:rgb(136,136,136)"><span style="color:rgb(136,136,136)">The Hebrew University of Jerusalem, </span><br style="color:rgb(136,136,136)"><span style="color:rgb(136,136,136)">Givat Ram, Jerusalem 91904, Israel </span><br style="color:rgb(136,136,136)"></div><span style="color:rgb(136,136,136)">Tel: 972 547 231 170</span><br style="color:rgb(136,136,136)"><span style="color:rgb(136,136,136)">Fax: (972)-25662581</span></div></div><div><span style="color:rgb(136,136,136)"><br></span></div><div>C.E.O, Weather It Is, LTD<br>Weather and Climate Focus<br><a href="http://weather-it-is.com" target="_blank">http://weather-it-is.com</a><br>Jerusalem, Israel<br>Local: 02 930 9525<br>Cell: 054 7 231 170<br>Int-IS: x972 2 930 9525<br><br></div></div></div></div></div></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr"><div dir="ltr"><div><div dir="ltr">Barry H. Lynn, Ph.D<div><div>Senior Associate Scientist, Lecturer,</div><div><div><span style="color:rgb(136,136,136)">The Institute of the Earth Science, </span><br style="color:rgb(136,136,136)"><span style="color:rgb(136,136,136)">The Hebrew University of Jerusalem, </span><br style="color:rgb(136,136,136)"><span style="color:rgb(136,136,136)">Givat Ram, Jerusalem 91904, Israel </span><br style="color:rgb(136,136,136)"></div><span style="color:rgb(136,136,136)">Tel: 972 547 231 170</span><br style="color:rgb(136,136,136)"><span style="color:rgb(136,136,136)">Fax: (972)-25662581</span></div></div><div><span style="color:rgb(136,136,136)"><br></span></div><div>C.E.O, Weather It Is, LTD<br>Weather and Climate Focus<br><a href="http://weather-it-is.com" target="_blank">http://weather-it-is.com</a><br>Jerusalem, Israel<br>Local: 02 930 9525<br>Cell: 054 7 231 170<br>Int-IS: x972 2 930 9525<br><br></div></div></div></div></div>
</blockquote></div>