John,<br>Thanks for help and info.<br><br>Ruifang<br><br><div class="gmail_quote">On Fri, Aug 21, 2009 at 2:13 PM, John Halley Gotway <span dir="ltr">&lt;<a href="mailto:johnhg@rap.ucar.edu">johnhg@rap.ucar.edu</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Ruifang,<br>
<br>
Thresholds are not applied when computing continuous (CNT) statistics.<br>
That&#39;s why those columns (FCST_THRESH and OBS_THRESH) contain NA&#39;s in the<br>
CNT lines of the MET output.<br>
<br>
Let me refer you to two places for more information about the verification<br>
statistics that MET generates.  The first is Appendix C of the MET User&#39;s<br>
Guide.  In there we give a description of how the stats are computed and<br>
what each means.  And here&#39;s a good link about the definition of<br>
verification scores:<br>
<a href="http://www.bom.gov.au/bmrc/wefor/staff/eee/verif/verif_web_page.html" target="_blank">http://www.bom.gov.au/bmrc/wefor/staff/eee/verif/verif_web_page.html</a><br>
<br>
Hopefully these resources will answer your questions.<br>
<br>
But if you have a specific question about how to interpret one of the<br>
stats, go ahead and write MET-Help, and a statistician will get back to<br>
you.<br>
<br>
Thanks,<br>
<font color="#888888">John<br>
</font><div><div></div><div class="h5"><br>
&gt; John,<br>
&gt; I looked at CTC table and thresholds are applied.  However I could not see<br>
&gt; thresholds in CNT table. I guess thresholds should be also applied in CNT<br>
&gt; to<br>
&gt; get user desired statistic values (for example bias, rmse), right?<br>
&gt;<br>
&gt; Thanks,<br>
&gt; Ruifang<br>
&gt;<br>
&gt; On Fri, Aug 21, 2009 at 8:06 AM, John Halley Gotway<br>
&gt; &lt;<a href="mailto:johnhg@rap.ucar.edu">johnhg@rap.ucar.edu</a>&gt;wrote:<br>
&gt;<br>
&gt;&gt; Ruifang,<br>
&gt;&gt;<br>
&gt;&gt; The behavior you&#39;re seeing is correct.  The MPR output would be the<br>
&gt;&gt; same.<br>
&gt;&gt;  However, the values in the contingency tables (CTC line type, for<br>
&gt;&gt; example)<br>
&gt;&gt; should be different when choosing different<br>
&gt;&gt; thresholds.<br>
&gt;&gt;<br>
&gt;&gt; Here&#39;s what&#39;s going on...  When you run Point-Stat, you can think of it<br>
&gt;&gt; as<br>
&gt;&gt; setting up a bucket for each combination of forecast field/masking<br>
&gt;&gt; region/interpolation method.  So for example, suppose you<br>
&gt;&gt; configure Point-Stat to verify 2-meter temperature and 500mb temperature<br>
&gt;&gt; over 3 masking regions, your FULL domain and then two subdomains.  And<br>
&gt;&gt; you&#39;re using the nearest neighbor interpolation method.<br>
&gt;&gt;  In this case, we&#39;d be verifying 2 fields over 3 regions using 1<br>
&gt;&gt; interpolation method.  So Point-Stat will set up 6 &quot;buckets&quot;, 3 for<br>
&gt;&gt; 2-meter<br>
&gt;&gt; temp and 3 for 500mb temp.<br>
&gt;&gt;<br>
&gt;&gt; Next, Point-Stat looks at each one of the point observation values<br>
&gt;&gt; you&#39;ve<br>
&gt;&gt; passed to it.  If the observation type (i.e. 2-m temp) matches the<br>
&gt;&gt; forecast<br>
&gt;&gt; type, and it&#39;s in the correct masking region,<br>
&gt;&gt; it&#39;ll interpolate the forecast values to the observation location to<br>
&gt;&gt; create<br>
&gt;&gt; a matched pair.  Then it throws that matched fcst-obs pair into the<br>
&gt;&gt; appropriate bucket.  Point-Stat processes through all of<br>
&gt;&gt; the point observations in this way, computing matched pairs, and<br>
&gt;&gt; throwing<br>
&gt;&gt; them in the right buckets.<br>
&gt;&gt;<br>
&gt;&gt; After that&#39;s finished, it&#39;ll compute whatever statistics you&#39;ve<br>
&gt;&gt; requested<br>
&gt;&gt; using whatever threshold values you&#39;ve set.  For example, if you set<br>
&gt;&gt; threshold values of &quot;&gt;273.0&quot; and &quot;&gt;283.0&quot; for 2-m temp,<br>
&gt;&gt; it&#39;ll apply those to all of the matched pairs in the &quot;bucket&quot; and<br>
&gt;&gt; compute<br>
&gt;&gt; contingency tables and stats.  However, the choice of threshold has no<br>
&gt;&gt; effect on which matched pairs make it into the bucket<br>
&gt;&gt; to begin with.<br>
&gt;&gt;<br>
&gt;&gt; The matched pair (MPR) output consists of all the matched pairs that are<br>
&gt;&gt; in<br>
&gt;&gt; the buckets.  So the MPR output does NOT depend on any choice of<br>
&gt;&gt; threshold<br>
&gt;&gt; value.<br>
&gt;&gt;<br>
&gt;&gt; Does that make sense?<br>
&gt;&gt;<br>
&gt;&gt; Thanks,<br>
&gt;&gt; John<br>
&gt;&gt;<br>
&gt;&gt; Ruifang Li wrote:<br>
&gt;&gt; &gt; Hi John,<br>
&gt;&gt; &gt; I run point_stat tool and did two test with different fcst_thresh[] in<br>
&gt;&gt; &gt; config file. I expect the different MPR output, but they create same<br>
&gt;&gt; MPR.<br>
&gt;&gt; I<br>
&gt;&gt; &gt; could not figure out why. In my understanding, if fcst_thresh eq 0,<br>
&gt;&gt; fcst<br>
&gt;&gt; &gt; value in MPR should be 0. if  fcst_thresh le 100 fcst value in MPR<br>
&gt;&gt; should<br>
&gt;&gt; be<br>
&gt;&gt; &gt; le 100, right?<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Here are two fcst_thresh:<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; fcst_field[] =<br>
&gt;&gt; &gt;<br>
&gt;&gt; [&quot;UGRD/Z10&quot;,&quot;UGRD/P1000&quot;,&quot;UGRD/P925&quot;,&quot;UGRD/P850&quot;,&quot;UGRD/P700&quot;,&quot;UGRD/P500&quot;,&quot;UGRD/P400&quot;,&quot;UGRD/P300&quot;,&quot;UGRD/P250&quot;,&quot;UGRD/P200&quot;,&quot;UGRD/P150&quot;,&quot;UGRD/P100&quot;,&quot;UGRD/P70&quot;,&quot;UGRD/P50&quot;,&quot;UGRD/P30&quot;,&quot;UGRD/P20&quot;,&quot;UGRD/P10&quot;<br>

&gt;&gt; &gt; ];<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; //fcst_thresh[] = [ &quot;le100&quot;,<br>
&gt;&gt; &gt;<br>
&gt;&gt; &quot;le10&quot;,&quot;le10&quot;,&quot;le100&quot;,&quot;le100&quot;,&quot;le100&quot;,&quot;le100&quot;,&quot;le100&quot;,&quot;le100&quot;,&quot;le100&quot;,&quot;le100&quot;,&quot;le100&quot;,<br>
&gt;&gt; &gt; &quot;le100&quot;,&quot;le100&quot;, &quot;le100&quot;,&quot;le100&quot;,&quot;le100&quot; ];<br>
&gt;&gt; &gt; fcst_thresh[] = [ &quot;eq0&quot;,<br>
&gt;&gt; &gt; &quot;eq0&quot;,&quot;eq0&quot;,&quot;eq0&quot;,&quot;eq0&quot;,&quot;eq0&quot;,&quot;eq0&quot;,&quot;le10&quot;,&quot;eq0&quot;,&quot;eq0&quot;,&quot;eq0&quot;,&quot;eq0&quot;,<br>
&gt;&gt; &gt; &quot;eq0&quot;,&quot;eq0&quot;, &quot;eq0&quot;,&quot;eq0&quot;,&quot;eq0&quot; ];<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Here is MPR file:<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; /ptmp/lir/test/2009_t8_15km/verify_met2.0/test% ls -l<br>
&gt;&gt; &gt; /ptmp/lir/data/2009_t8_15km/verify_met/gsi/point_stat/UGRD/2007081512/<br>
&gt;&gt; &gt; total 14208<br>
&gt;&gt; &gt; -rw-r--r--    1 lir      ncar         786984 Aug 20 16:05<br>
&gt;&gt; &gt; point_stat_000000L_20070815_120000V.stat<br>
&gt;&gt; &gt; -rw-r--r--    1 lir      ncar         652568 Aug 20 16:05<br>
&gt;&gt; &gt; point_stat_000000L_20070815_120000V_mpr.txt<br>
&gt;&gt; &gt; -rw-r--r--    1 lir      ncar         698412 Aug 20 16:05<br>
&gt;&gt; &gt; point_stat_120000L_20070816_000000V.stat<br>
&gt;&gt; &gt; -rw-r--r--    1 lir      ncar         579124 Aug 20 16:05<br>
&gt;&gt; &gt; point_stat_120000L_20070816_000000V_mpr.txt<br>
&gt;&gt; &gt; -rw-r--r--    1 lir      ncar         761574 Aug 20 16:05<br>
&gt;&gt; &gt; point_stat_240000L_20070816_120000V.stat<br>
&gt;&gt; &gt; -rw-r--r--    1 lir      ncar         631498 Aug 20 16:05<br>
&gt;&gt; &gt; point_stat_240000L_20070816_120000V_mpr.txt<br>
&gt;&gt; &gt; -rw-r--r--    1 lir      ncar         740520 Aug 20 16:05<br>
&gt;&gt; &gt; point_stat_360000L_20070817_000000V.stat<br>
&gt;&gt; &gt; -rw-r--r--    1 lir      ncar         614040 Aug 20 16:05<br>
&gt;&gt; &gt; point_stat_360000L_20070817_000000V_mpr.txt<br>
&gt;&gt; &gt; -rw-r--r--    1 lir      ncar         791340 Aug 20 16:05<br>
&gt;&gt; &gt; point_stat_480000L_20070817_120000V.stat<br>
&gt;&gt; &gt; -rw-r--r--    1 lir      ncar         656180 Aug 20 16:05<br>
&gt;&gt; &gt; point_stat_480000L_20070817_120000V_mpr.txt<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Script:<br>
&gt;&gt; &gt; /ptmp/lir/test/2009_t8_15km/verify_met2.0/test% point_stat_gsi.ksh<br>
&gt;&gt; &gt; *** Running POINT_STAT on WRF OUTPUT ***<br>
&gt;&gt; &gt; ***          UGRD                ***<br>
&gt;&gt; &gt; GSL_RNG_TYPE=mt19937<br>
&gt;&gt; &gt; GSL_RNG_SEED=2412285258<br>
&gt;&gt; &gt; Forecast File:<br>
&gt;&gt; &gt;<br>
&gt;&gt; /ptmp/lir/data/2009_t8_15km/verify_met2.0/gsi/wpp/2007081512/postprd/wrfprs_d01.000<br>
&gt;&gt; &gt; Climatology File: none<br>
&gt;&gt; &gt; Configuration File: ./config/PointStatConfig_GSI.UGRD<br>
&gt;&gt; &gt; Observation File:<br>
&gt;&gt; &gt; /ptmp/lir/data/2009_t8_15km/verify_met2.0/ob_nc/2007081512/ob.nc.qc2<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; ----------------------------------------<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Reading records for UGRD/Z10.<br>
&gt;&gt; &gt; For UGRD/Z10 found 1 forecast levels and 0 climatology levels.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Thanks for your support,<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; ------------------------------------------------------------------------<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; _______________________________________________<br>
&gt;&gt; &gt; Met_help mailing list<br>
&gt;&gt; &gt; <a href="mailto:Met_help@mailman.ucar.edu">Met_help@mailman.ucar.edu</a><br>
&gt;&gt; &gt; <a href="http://mailman.ucar.edu/mailman/listinfo/met_help" target="_blank">http://mailman.ucar.edu/mailman/listinfo/met_help</a><br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Ruifang<br>
&gt;<br>
&gt; Mesoscale &amp; Microscale Meteorology Division<br>
&gt; Phone: 303-497-8938<br>
&gt; Office:  FL3-3085<br>
&gt; Email:  <a href="mailto:lir@ucar.edu">lir@ucar.edu</a><br>
&gt;<br>
<br>
<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Ruifang <br><br>Mesoscale &amp; Microscale Meteorology Division<br>Phone: 303-497-8938<br>Office:  FL3-3085<br>Email:  <a href="mailto:lir@ucar.edu">lir@ucar.edu</a><br>