[Met_help] [rt.rap.ucar.edu #39090] History for question about MODE intensity thresholds

RAL HelpDesk {for John Halley Gotway} met_help at ucar.edu
Wed Aug 4 12:49:29 MDT 2010


----------------------------------------------------------------
  Initial Request
----------------------------------------------------------------

Hi,

I am currently using MODE to compare 6-hrly precip objects from 10 different assimilation forecast runs but am not sure what the best way is to go about selecting specific thresholds for parameters in the WrfModeConfig file.  In particular, I do not understand what the forecast intensity percentage and threshold does:

//
// Define an intensity percentile for fcst and obs objects.  The
// percentile values must be between 0 and 102.  Values between
// 0 and 100 indicate the corresponding intensity percentile.  A value
// of 101 indicates that the mean of the intensities should be used.
// A value of 102 indicates that the sum of the intensities should be
// used.  Apply a threshold to the percentile value chosen for the fcst
// and obs objects using the threshold values below.  Discard objects
// which do not meet the intensity percentile threshold criteria.  The
// threshold values are specified as "xxT" where T is the threshold
// value and xx is one of:
//    'lt' for less than, 'le' for less than or equal to,
//    'eq' for equal to, 'ne' for not equal to,
//    'gt' for greater than, and 'ge' for greater than or equal to
//
fcst_inten_perc        = 100;
fcst_inten_perc_thresh = "ge0.0";
obs_inten_perc         = 100;
obs_inten_perc_thresh  = "ge0.0";


My data has large variations in intensity during the consecutive 6hr periods with the primary feature being a training squall line.  The parameters that I am currently using are merging many objects together, but the interest scores are not what I would expect when comparing the multiple runs.  So I suppose I am also quite confused as to how to select complimentary interest threshold values for the different subcategories:

//
// Weight for the distance (grid squares) between centroids
//
centroid_dist_weight      = 0.0;

//
// Weight for the minimum distance (grid squares) between objects
//
boundary_dist_weight      = 10.0;

//
// Weight for the minimum distance (grid squares) between the convex
// hulls of the objects
//
convex_hull_dist_weight   = 7.0;

//
// Weight for the difference in orientation angles (degrees) between
// objects.  The difference will be between 0 and 90 degrees.
//
angle_diff_weight         = 5.0;

//
// Weight for the ratio of the objects' areas.  Area is defined as a
// count of grid squares.
//
area_ratio_weight         = 5.0;

//
// Weight for the ratio of the objects' intersection divided by the
// minimum of the areas of the two objects.
//
int_area_ratio_weight     = 7.0;

//
// Weight for the ratio of the objects' complexities.  Complexity of an
// object is defined as:
// (Area of Convex Hull - Area of Object)/(Area of Convex Hull)
//
complexity_ratio_weight   = 2.0;

//
// Percentile to be used in computing the intensity ratio attribute
// below.  Percentile value must be between 0 and 100.
//
intensity_percentile      = 25;

//
// Weight for the ratio of the percentile intensities of the raw data
// inside each object.
//
intensity_ratio_weight    = 7.0;

////////////////////////////////////////////////////////////////////////
//
// Attribute interest maps:
// The following interest functions are piecewise linear functions
// defined by their significant points.  An interest function is
// defined for each of the weights listed above.
//
////////////////////////////////////////////////////////////////////////

centroid_dist_if = {
  (   0.0,          1.0 )
  (  60.0/grid_res, 1.0 )
  ( 400.0/grid_res, 0.6 )
  ( 600.0/grid_res, 0.2 ) 
  };

boundary_dist_if = {
  (   0.0,          1.0 )
  ( 400.0/grid_res, 0.0 )
};

convex_hull_dist_if = {
  (   0.0,          1.0 )
  ( 400.0/grid_res, 0.0 )
};

angle_diff_if = {
   (  0.0, 1.0 )
   ( 30.0, 0.5 )
   ( 90.0, 0.0 )
};

corner = 0.5;
ratio_if = {
   ( 0.0,    0.0 )
   ( corner, 0.7 )
   ( 1.0,    1.0 )
};

area_ratio_if(x) = ratio_if(x);

int_area_ratio_if = {
   ( 0.00, 0.00 )
   ( 0.10, 0.25 )
   ( 0.25, 0.75 )
   ( 1.00, 1.00 )
};

complexity_ratio_if(x) = ratio_if(x);

intensity_ratio_if(x) = ratio_if(x);


Thank you so much for any help!
-Dan




----------------------------------------------------------------
  Complete Ticket History
----------------------------------------------------------------

Subject: Re: [rt.rap.ucar.edu #39090] question about MODE intensity thresholds
From: John Halley Gotway
Time: Fri Jul 09 13:15:04 2010

Dan,

Sorry for the delay in getting back to you.

I see that you're running MODE on the output of 10 different model
runs for 6-hour precip and have questions about setting parameters for
MODE.  One of the advantages of using MODE is how configurable
it is, but in some respects that can be a disadvantage as well - as
you're finding.

Since you're dealing with precip, I'd suggest starting with one of the
sample MODE configuration files:
   METv2.0/scripts/config/WrfModeConfig_APCP_12

I'd suggest configuring MODE in multiple phases:

Phase 1: Define objects to match the scale of the analysis you're
studying:
   - Set the convolution radii to make objects more/less smooth.
   - Set the convolution thresholds to make the objects
bigger/smaller.
   - Set the area thresholds to throw away objects that are too small.
   - Set the intensity thresholds to throw away objects that don't
meet some intensity criteria.

Phase 2: Address how objects are merged together in the same field:
   - Set the merge flags to determine which logic is used to perform
merging in the same field.
   - For double thresholding, set the merge thresholds to allow for
more/less merging.

Phase 3: Address how objects are matched from one field to the other:
   - Set the max_centroid_dist parameter to determine how close
objects centroids need to be to be considered for a match.
   - Play with the weight values to assign more/less relative
importance to each object pair measurement (i.e. boundary distance,
area ratio,...)
   - Generally, most users won't want to adjust the interest functions
that are used in computing the total interest value unless you're very
practiced in using MODE.

Please note that by default, the "max_centroid_dist" and a few
interest functions are defined in terms of the "grid_res" parameter.
Set this to the nominal spacing of your grid in kilometers (e.g.
grid_res = 40 for a domain with 40-km grid spacing).

Let me answer your specific question about "fcst_inten_perc" and
"fcst_inten_perc_thresh".  These are only used to throw away objects
that don't meet some intensity criteria.  For example, suppose
you're only interested in looking at precip objects that contain 6-
hour accumulations of at least 20mm.  You could set:
   fcst_inten_perc        = 100;
   fcst_inten_perc_thresh = "ge20.0";
That way, you'd only keep objects whose maximum (i.e. 100th
percentile) raw intensity value is at least 20mm.  We imagine that
most users will NOT use these parameters.  So just set them to
something
that will allow all objects to be retained.

A couple more pieces of a advice - you should choose a set of
parameters that generally do what you want and then apply them to all
fields.  Changing the parameters for each different model is kind of
cheating!  Also, we often set up two or three different MODE
configurations to look at different scales.

Clear as mud?

Thanks,
John Halley Gotway
met_help at ucar.edu

RAL HelpDesk {for Dan Hartung} wrote:
> Wed Jul 07 13:24:55 2010: Request 39090 was acted upon.
> Transaction: Ticket created by daniel.hartung at ssec.wisc.edu
>        Queue: met_help
>      Subject: question about MODE intensity thresholds
>        Owner: Nobody
>   Requestors: daniel.hartung at ssec.wisc.edu
>       Status: new
>  Ticket <URL:
https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=39090 >
>
>
> Hi,
>
> I am currently using MODE to compare 6-hrly precip objects from 10
different assimilation forecast runs but am not sure what the best way
is to go about selecting specific thresholds for parameters in the
WrfModeConfig file.  In particular, I do not understand what the
forecast intensity percentage and threshold does:
>
> //
> // Define an intensity percentile for fcst and obs objects.  The
> // percentile values must be between 0 and 102.  Values between
> // 0 and 100 indicate the corresponding intensity percentile.  A
value
> // of 101 indicates that the mean of the intensities should be used.
> // A value of 102 indicates that the sum of the intensities should
be
> // used.  Apply a threshold to the percentile value chosen for the
fcst
> // and obs objects using the threshold values below.  Discard
objects
> // which do not meet the intensity percentile threshold criteria.
The
> // threshold values are specified as "xxT" where T is the threshold
> // value and xx is one of:
> //    'lt' for less than, 'le' for less than or equal to,
> //    'eq' for equal to, 'ne' for not equal to,
> //    'gt' for greater than, and 'ge' for greater than or equal to
> //
> fcst_inten_perc        = 100;
> fcst_inten_perc_thresh = "ge0.0";
> obs_inten_perc         = 100;
> obs_inten_perc_thresh  = "ge0.0";
>
>
> My data has large variations in intensity during the consecutive 6hr
periods with the primary feature being a training squall line.  The
parameters that I am currently using are merging many objects
together, but the interest scores are not what I would expect when
comparing the multiple runs.  So I suppose I am also quite confused as
to how to select complimentary interest threshold values for the
different subcategories:
>
> //
> // Weight for the distance (grid squares) between centroids
> //
> centroid_dist_weight      = 0.0;
>
> //
> // Weight for the minimum distance (grid squares) between objects
> //
> boundary_dist_weight      = 10.0;
>
> //
> // Weight for the minimum distance (grid squares) between the convex
> // hulls of the objects
> //
> convex_hull_dist_weight   = 7.0;
>
> //
> // Weight for the difference in orientation angles (degrees) between
> // objects.  The difference will be between 0 and 90 degrees.
> //
> angle_diff_weight         = 5.0;
>
> //
> // Weight for the ratio of the objects' areas.  Area is defined as a
> // count of grid squares.
> //
> area_ratio_weight         = 5.0;
>
> //
> // Weight for the ratio of the objects' intersection divided by the
> // minimum of the areas of the two objects.
> //
> int_area_ratio_weight     = 7.0;
>
> //
> // Weight for the ratio of the objects' complexities.  Complexity of
an
> // object is defined as:
> // (Area of Convex Hull - Area of Object)/(Area of Convex Hull)
> //
> complexity_ratio_weight   = 2.0;
>
> //
> // Percentile to be used in computing the intensity ratio attribute
> // below.  Percentile value must be between 0 and 100.
> //
> intensity_percentile      = 25;
>
> //
> // Weight for the ratio of the percentile intensities of the raw
data
> // inside each object.
> //
> intensity_ratio_weight    = 7.0;
>
>
////////////////////////////////////////////////////////////////////////
> //
> // Attribute interest maps:
> // The following interest functions are piecewise linear functions
> // defined by their significant points.  An interest function is
> // defined for each of the weights listed above.
> //
>
////////////////////////////////////////////////////////////////////////
>
> centroid_dist_if = {
>   (   0.0,          1.0 )
>   (  60.0/grid_res, 1.0 )
>   ( 400.0/grid_res, 0.6 )
>   ( 600.0/grid_res, 0.2 )
>   };
>
> boundary_dist_if = {
>   (   0.0,          1.0 )
>   ( 400.0/grid_res, 0.0 )
> };
>
> convex_hull_dist_if = {
>   (   0.0,          1.0 )
>   ( 400.0/grid_res, 0.0 )
> };
>
> angle_diff_if = {
>    (  0.0, 1.0 )
>    ( 30.0, 0.5 )
>    ( 90.0, 0.0 )
> };
>
> corner = 0.5;
> ratio_if = {
>    ( 0.0,    0.0 )
>    ( corner, 0.7 )
>    ( 1.0,    1.0 )
> };
>
> area_ratio_if(x) = ratio_if(x);
>
> int_area_ratio_if = {
>    ( 0.00, 0.00 )
>    ( 0.10, 0.25 )
>    ( 0.25, 0.75 )
>    ( 1.00, 1.00 )
> };
>
> complexity_ratio_if(x) = ratio_if(x);
>
> intensity_ratio_if(x) = ratio_if(x);
>
>
> Thank you so much for any help!
> -Dan
>
>

------------------------------------------------
Subject: Re: [rt.rap.ucar.edu #39090] question about MODE intensity thresholds
From: Dan Hartung
Time: Tue Jul 13 10:56:10 2010

Thanks for all of the explanations John; sorry for the delayed
response as I was out of town for an extended weekend.

-Dan

On Jul 9, 2010, at 2:15 PM, RAL HelpDesk {for John Halley Gotway}
wrote:

> Dan,
>
> Sorry for the delay in getting back to you.
>
> I see that you're running MODE on the output of 10 different model
runs for 6-hour precip and have questions about setting parameters for
MODE.  One of the advantages of using MODE is how configurable
> it is, but in some respects that can be a disadvantage as well - as
you're finding.
>
> Since you're dealing with precip, I'd suggest starting with one of
the sample MODE configuration files:
>   METv2.0/scripts/config/WrfModeConfig_APCP_12
>
> I'd suggest configuring MODE in multiple phases:
>
> Phase 1: Define objects to match the scale of the analysis you're
studying:
>   - Set the convolution radii to make objects more/less smooth.
>   - Set the convolution thresholds to make the objects
bigger/smaller.
>   - Set the area thresholds to throw away objects that are too
small.
>   - Set the intensity thresholds to throw away objects that don't
meet some intensity criteria.
>
> Phase 2: Address how objects are merged together in the same field:
>   - Set the merge flags to determine which logic is used to perform
merging in the same field.
>   - For double thresholding, set the merge thresholds to allow for
more/less merging.
>
> Phase 3: Address how objects are matched from one field to the
other:
>   - Set the max_centroid_dist parameter to determine how close
objects centroids need to be to be considered for a match.
>   - Play with the weight values to assign more/less relative
importance to each object pair measurement (i.e. boundary distance,
area ratio,...)
>   - Generally, most users won't want to adjust the interest
functions that are used in computing the total interest value unless
you're very practiced in using MODE.
>
> Please note that by default, the "max_centroid_dist" and a few
interest functions are defined in terms of the "grid_res" parameter.
Set this to the nominal spacing of your grid in kilometers (e.g.
> grid_res = 40 for a domain with 40-km grid spacing).
>
> Let me answer your specific question about "fcst_inten_perc" and
"fcst_inten_perc_thresh".  These are only used to throw away objects
that don't meet some intensity criteria.  For example, suppose
> you're only interested in looking at precip objects that contain 6-
hour accumulations of at least 20mm.  You could set:
>   fcst_inten_perc        = 100;
>   fcst_inten_perc_thresh = "ge20.0";
> That way, you'd only keep objects whose maximum (i.e. 100th
percentile) raw intensity value is at least 20mm.  We imagine that
most users will NOT use these parameters.  So just set them to
something
> that will allow all objects to be retained.
>
> A couple more pieces of a advice - you should choose a set of
parameters that generally do what you want and then apply them to all
fields.  Changing the parameters for each different model is kind of
> cheating!  Also, we often set up two or three different MODE
configurations to look at different scales.
>
> Clear as mud?
>
> Thanks,
> John Halley Gotway
> met_help at ucar.edu
>
> RAL HelpDesk {for Dan Hartung} wrote:
>> Wed Jul 07 13:24:55 2010: Request 39090 was acted upon.
>> Transaction: Ticket created by daniel.hartung at ssec.wisc.edu
>>       Queue: met_help
>>     Subject: question about MODE intensity thresholds
>>       Owner: Nobody
>>  Requestors: daniel.hartung at ssec.wisc.edu
>>      Status: new
>> Ticket <URL:
https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=39090 >
>>
>>
>> Hi,
>>
>> I am currently using MODE to compare 6-hrly precip objects from 10
different assimilation forecast runs but am not sure what the best way
is to go about selecting specific thresholds for parameters in the
WrfModeConfig file.  In particular, I do not understand what the
forecast intensity percentage and threshold does:
>>
>> //
>> // Define an intensity percentile for fcst and obs objects.  The
>> // percentile values must be between 0 and 102.  Values between
>> // 0 and 100 indicate the corresponding intensity percentile.  A
value
>> // of 101 indicates that the mean of the intensities should be
used.
>> // A value of 102 indicates that the sum of the intensities should
be
>> // used.  Apply a threshold to the percentile value chosen for the
fcst
>> // and obs objects using the threshold values below.  Discard
objects
>> // which do not meet the intensity percentile threshold criteria.
The
>> // threshold values are specified as "xxT" where T is the threshold
>> // value and xx is one of:
>> //    'lt' for less than, 'le' for less than or equal to,
>> //    'eq' for equal to, 'ne' for not equal to,
>> //    'gt' for greater than, and 'ge' for greater than or equal to
>> //
>> fcst_inten_perc        = 100;
>> fcst_inten_perc_thresh = "ge0.0";
>> obs_inten_perc         = 100;
>> obs_inten_perc_thresh  = "ge0.0";
>>
>>
>> My data has large variations in intensity during the consecutive
6hr periods with the primary feature being a training squall line.
The parameters that I am currently using are merging many objects
together, but the interest scores are not what I would expect when
comparing the multiple runs.  So I suppose I am also quite confused as
to how to select complimentary interest threshold values for the
different subcategories:
>>
>> //
>> // Weight for the distance (grid squares) between centroids
>> //
>> centroid_dist_weight      = 0.0;
>>
>> //
>> // Weight for the minimum distance (grid squares) between objects
>> //
>> boundary_dist_weight      = 10.0;
>>
>> //
>> // Weight for the minimum distance (grid squares) between the
convex
>> // hulls of the objects
>> //
>> convex_hull_dist_weight   = 7.0;
>>
>> //
>> // Weight for the difference in orientation angles (degrees)
between
>> // objects.  The difference will be between 0 and 90 degrees.
>> //
>> angle_diff_weight         = 5.0;
>>
>> //
>> // Weight for the ratio of the objects' areas.  Area is defined as
a
>> // count of grid squares.
>> //
>> area_ratio_weight         = 5.0;
>>
>> //
>> // Weight for the ratio of the objects' intersection divided by the
>> // minimum of the areas of the two objects.
>> //
>> int_area_ratio_weight     = 7.0;
>>
>> //
>> // Weight for the ratio of the objects' complexities.  Complexity
of an
>> // object is defined as:
>> // (Area of Convex Hull - Area of Object)/(Area of Convex Hull)
>> //
>> complexity_ratio_weight   = 2.0;
>>
>> //
>> // Percentile to be used in computing the intensity ratio attribute
>> // below.  Percentile value must be between 0 and 100.
>> //
>> intensity_percentile      = 25;
>>
>> //
>> // Weight for the ratio of the percentile intensities of the raw
data
>> // inside each object.
>> //
>> intensity_ratio_weight    = 7.0;
>>
>>
////////////////////////////////////////////////////////////////////////
>> //
>> // Attribute interest maps:
>> // The following interest functions are piecewise linear functions
>> // defined by their significant points.  An interest function is
>> // defined for each of the weights listed above.
>> //
>>
////////////////////////////////////////////////////////////////////////
>>
>> centroid_dist_if = {
>>  (   0.0,          1.0 )
>>  (  60.0/grid_res, 1.0 )
>>  ( 400.0/grid_res, 0.6 )
>>  ( 600.0/grid_res, 0.2 )
>>  };
>>
>> boundary_dist_if = {
>>  (   0.0,          1.0 )
>>  ( 400.0/grid_res, 0.0 )
>> };
>>
>> convex_hull_dist_if = {
>>  (   0.0,          1.0 )
>>  ( 400.0/grid_res, 0.0 )
>> };
>>
>> angle_diff_if = {
>>   (  0.0, 1.0 )
>>   ( 30.0, 0.5 )
>>   ( 90.0, 0.0 )
>> };
>>
>> corner = 0.5;
>> ratio_if = {
>>   ( 0.0,    0.0 )
>>   ( corner, 0.7 )
>>   ( 1.0,    1.0 )
>> };
>>
>> area_ratio_if(x) = ratio_if(x);
>>
>> int_area_ratio_if = {
>>   ( 0.00, 0.00 )
>>   ( 0.10, 0.25 )
>>   ( 0.25, 0.75 )
>>   ( 1.00, 1.00 )
>> };
>>
>> complexity_ratio_if(x) = ratio_if(x);
>>
>> intensity_ratio_if(x) = ratio_if(x);
>>
>>
>> Thank you so much for any help!
>> -Dan
>>
>>
>


------------------------------------------------
Subject: question about MODE intensity thresholds
From: Joe Eastman
Time: Wed Jul 14 18:41:42 2010





-- Sent from my Palm Pixi

________________________________
On Jul 14, 2010 10:11 AM, RAL HelpDesk {for John Halley Gotway}
<met_help at ucar.edu> wrote:
----------------------------------------------------------------
Initial Request
----------------------------------------------------------------
Hi,

I am currently using MODE to compare 6-hrly precip objects from
10 different assimilation forecast runs but am not sure what the best
way is to go about selecting specific thresholds for parameters in the
WrfModeConfig file.  In particular, I do not understand what the
forecast intensity percentage and threshold does:

//
// Define an
intensity percentile for fcst and obs objects.  The
// percentile
values must be between 0 and 102.  Values between
// 0 and 100
indicate the corresponding intensity percentile.  A value
// of 101
indicates that the mean of the intensities should be used.
// A value
of 102 indicates that the sum of the intensities should be
// used.
Apply a threshold to the percentile value chosen for the fcst
// and
obs objects using the threshold values below.  Discard objects
//
which do not meet the intensity percentile threshold criteria.  The
// threshold values are specified as "xxT" where T is the threshold
// value and xx is one of:
//    'lt' for less than, 'le' for less
than or equal to,
//    'eq' for equal to, 'ne' for not equal to,
//
'gt' for greater than, and 'ge' for greater than or equal to
//
fcst_inten_perc        = 100;
fcst_inten_perc_thresh = "ge0.0";
obs_inten_perc         = 100;
obs_inten_perc_thresh  = "ge0.0";
My data has large variations in intensity during the consecutive 6hr
periods with the primary feature being a training squall line.  The
parameters that I am currently using are merging many objects
together, but the interest scores are not what I would expect when
comparing the multiple runs.  So I suppose I am also quite confused as
to how to select complimentary interest threshold values for the
different subcategories:

//
// Weight for the distance (grid
squares) between centroids
//
centroid_dist_weight      = 0.0;

//
// Weight for the minimum distance (grid squares) between objects
//
boundary_dist_weight      = 10.0;

//
// Weight for the minimum
distance (grid squares) between the convex
// hulls of the objects
//
convex_hull_dist_weight   = 7.0;

//
// Weight for the
difference in orientation angles (degrees) between
// objects.  The
difference will be between 0 and 90 degrees.
//
angle_diff_weight
= 5.0;

//
// Weight for the ratio of the objects' areas.  Area is
defined as a
// count of grid squares.
//
area_ratio_weight
= 5.0;

//
// Weight for the ratio of the objects' intersection
divided by the
// minimum of the areas of the two objects.
//
int_area_ratio_weight     = 7.0;

//
// Weight for the ratio of the
objects' complexities.  Complexity of an
// object is defined as:
//
(Area of Convex Hull - Area of Object)/(Area of Convex Hull)
//
complexity_ratio_weight   = 2.0;

//
// Percentile to be used in
computing the intensity ratio attribute
// below.  Percentile value
must be between 0 and 100.
//
intensity_percentile      = 25;

//
// Weight for the ratio of the percentile intensities of the raw data
// inside each object.
//
intensity_ratio_weight    = 7.0;
////////////////////////////////////////////////////////////////////////
//
// Attribute interest maps:
// The following interest functions
are piecewise linear functions
// defined by their significant
points.  An interest function is
// defined for each of the weights
listed above.
//
////////////////////////////////////////////////////////////////////////
centroid_dist_if = {
  (   0.0,          1.0 )
  (  60.0/grid_res,
1.0 )
  ( 400.0/grid_res, 0.6 )
  ( 600.0/grid_res, 0.2 )
  };
boundary_dist_if = {
  (   0.0,          1.0 )
  ( 400.0/grid_res,
0.0 )
};

convex_hull_dist_if = {
  (   0.0,          1.0 )
  (
400.0/grid_res, 0.0 )
};

angle_diff_if = {
   (  0.0, 1.0 )
   (
30.0, 0.5 )
   ( 90.0, 0.0 )
};

corner = 0.5;
ratio_if = {
   (
0.0,    0.0 )
   ( corner, 0.7 )
   ( 1.0,    1.0 )
};
area_ratio_if(x) = ratio_if(x);

int_area_ratio_if = {
   ( 0.00,
0.00 )
   ( 0.10, 0.25 )
   ( 0.25, 0.75 )
   ( 1.00, 1.00 )
};
complexity_ratio_if(x) = ratio_if(x);

intensity_ratio_if(x) =
ratio_if(x);


Thank you so much for any help!
-Dan
----------------------------------------------------------------
Complete Ticket History
----------------------------------------------------------------
Subject: Re: [rt.rap.ucar.edu #39090] question about MODE intensity
thresholds
From: John Halley Gotway
Time: Fri Jul 09 13:15:04 2010
Dan,

Sorry for the delay in getting back to you.

I see that
you're running MODE on the output of 10 different model
runs for 6-
hour precip and have questions about setting parameters for
MODE.
One of the advantages of using MODE is how configurable
it is, but in
some respects that can be a disadvantage as well - as
you're finding.
Since you're dealing with precip, I'd suggest starting with one of the
sample MODE configuration files:
METv2.0/scripts/config/WrfModeConfig_APCP_12

I'd suggest
configuring MODE in multiple phases:

Phase 1: Define objects to
match the scale of the analysis you're
studying:
   - Set the
convolution radii to make objects more/less smooth.
   - Set the
convolution thresholds to make the objects
bigger/smaller.
   - Set
the area thresholds to throw away objects that are too small.
   -
Set the intensity thresholds to throw away objects that don't
meet
some intensity criteria.

Phase 2: Address how objects are merged
together in the same field:
   - Set the merge flags to determine
which logic is used to perform
merging in the same field.
   - For
double thresholding, set the merge thresholds to allow for
more/less
merging.

Phase 3: Address how objects are matched from one field to
the other:
   - Set the max_centroid_dist parameter to determine how
close
objects centroids need to be to be considered for a match.
- Play with the weight values to assign more/less relative
importance
to each object pair measurement (i.e. boundary distance,
area
ratio,...)
   - Generally, most users won't want to adjust the
interest functions
that are used in computing the total interest
value unless you're very
practiced in using MODE.

Please note that
by default, the "max_centroid_dist" and a few
interest functions are
defined in terms of the "grid_res" parameter.
Set this to the nominal
spacing of your grid in kilometers (e.g.
grid_res = 40 for a domain
with 40-km grid spacing).

Let me answer your specific question
about "fcst_inten_perc" and
"fcst_inten_perc_thresh".  These are only
used to throw away objects
that don't meet some intensity criteria.
For example, suppose
you're only interested in looking at precip
objects that contain 6-
hour accumulations of at least 20mm.  You
could set:
   fcst_inten_perc        = 100;
fcst_inten_perc_thresh = "ge20.0";
That way, you'd only keep objects
whose maximum (i.e. 100th
percentile) raw intensity value is at least
20mm.  We imagine that
most users will NOT use these parameters.  So
just set them to
something
that will allow all objects to be
retained.

A couple more pieces of a advice - you should choose a
set of
parameters that generally do what you want and then apply them
to all
fields.  Changing the parameters for each different model is
kind of
cheating!  Also, we often set up two or three different MODE
configurations to look at different scales.

Clear as mud?
Thanks,
John Halley Gotway
met_help at ucar.edu

RAL HelpDesk {for
Dan Hartung} wrote:
> Wed Jul 07 13:24:55 2010: Request 39090 was
acted upon.
> Transaction: Ticket created by
daniel.hartung at ssec.wisc.edu
>        Queue: met_help
>
Subject: question about MODE intensity thresholds
>        Owner:
Nobody
>   Requestors: daniel.hartung at ssec.wisc.edu
>       Status:
new
>  Ticket <URL:
https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=39090 >
>
>
> Hi,
>
> I am currently using MODE to compare 6-hrly precip objects from
10
different assimilation forecast runs but am not sure what the best
way
is to go about selecting specific thresholds for parameters in
the
WrfModeConfig file.  In particular, I do not understand what the
forecast intensity percentage and threshold does:
>
> //
> //
Define an intensity percentile for fcst and obs objects.  The
> //
percentile values must be between 0 and 102.  Values between
> // 0
and 100 indicate the corresponding intensity percentile.  A
value
>
// of 101 indicates that the mean of the intensities should be used.
> // A value of 102 indicates that the sum of the intensities should
be
> // used.  Apply a threshold to the percentile value chosen for
the
fcst
> // and obs objects using the threshold values below.
Discard
objects
> // which do not meet the intensity percentile
threshold criteria.
The
> // threshold values are specified as "xxT"
where T is the threshold
> // value and xx is one of:
> //    'lt'
for less than, 'le' for less than or equal to,
> //    'eq' for equal
to, 'ne' for not equal to,
> //    'gt' for greater than, and 'ge'
for greater than or equal to
> //
> fcst_inten_perc        = 100;
>
fcst_inten_perc_thresh = "ge0.0";
> obs_inten_perc         = 100;
>
obs_inten_perc_thresh  = "ge0.0";
>
>
> My data has large
variations in intensity during the consecutive 6hr
periods with the
primary feature being a training squall line.  The
parameters that I
am currently using are merging many objects
together, but the
interest scores are not what I would expect when
comparing the
multiple runs.  So I suppose I am also quite confused as
to how to
select complimentary interest threshold values for the
different
subcategories:
>
> //
> // Weight for the distance (grid squares)
between centroids
> //
> centroid_dist_weight      = 0.0;
>
> //
> // Weight for the minimum distance (grid squares) between objects
>
//
> boundary_dist_weight      = 10.0;
>
> //
> // Weight for the
minimum distance (grid squares) between the convex
> // hulls of the
objects
> //
> convex_hull_dist_weight   = 7.0;
>
> //
> //
Weight for the difference in orientation angles (degrees) between
>
// objects.  The difference will be between 0 and 90 degrees.
> //
>
angle_diff_weight         = 5.0;
>
> //
> // Weight for the ratio
of the objects' areas.  Area is defined as a
> // count of grid
squares.
> //
> area_ratio_weight         = 5.0;
>
> //
> //
Weight for the ratio of the objects' intersection divided by the
> //
minimum of the areas of the two objects.
> //
>
int_area_ratio_weight     = 7.0;
>
> //
> // Weight for the ratio
of the objects' complexities.  Complexity of
an
> // object is
defined as:
> // (Area of Convex Hull - Area of Object)/(Area of
Convex Hull)
> //
> complexity_ratio_weight   = 2.0;
>
> //
> //
Percentile to be used in computing the intensity ratio attribute
> //
below.  Percentile value must be between 0 and 100.
> //
>
intensity_percentile      = 25;
>
> //
> // Weight for the ratio of
the percentile intensities of the raw
data
> // inside each object.
> //
> intensity_ratio_weight    = 7.0;
>
>
////////////////////////////////////////////////////////////////////////
> //
> // Attribute interest maps:
> // The following interest
functions are piecewise linear functions
> // defined by their
significant points.  An interest function is
> // defined for each of
the weights listed above.
> //
>
////////////////////////////////////////////////////////////////////////
>
> centroid_dist_if = {
>   (   0.0,          1.0 )
>   (
60.0/grid_res, 1.0 )
>   ( 400.0/grid_res, 0.6 )
>   (
600.0/grid_res, 0.2 )
>   };
>
> boundary_dist_if = {
>   (   0.0,
1.0 )
>   ( 400.0/grid_res, 0.0 )
> };
>
> convex_hull_dist_if = {
>   (   0.0,          1.0 )
>   ( 400.0/grid_res, 0.0 )
> };
>
>
angle_diff_if = {
>    (  0.0, 1.0 )
>    ( 30.0, 0.5 )
>    (
90.0, 0.0 )
> };
>
> corner = 0.5;
> ratio_if = {
>    ( 0.0,
0.0 )
>    ( corner, 0.7 )
>    ( 1.0,    1.0 )
> };
>
>
area_ratio_if(x) = ratio_if(x);
>
> int_area_ratio_if = {
>    (
0.00, 0.00 )
>    ( 0.10, 0.25 )
>    ( 0.25, 0.75 )
>    ( 1.00,
1.00 )
> };
>
> complexity_ratio_if(x) = ratio_if(x);
>
>
intensity_ratio_if(x) = ratio_if(x);
>
>
> Thank you so much for
any help!
> -Dan
>
>
------------------------------------------------
Subject: Re:
[rt.rap.ucar.edu #39090] question about MODE intensity thresholds
From: Dan Hartung
Time: Tue Jul 13 10:56:10 2010

Thanks for all of
the explanations John; sorry for the delayed
response as I was out of
town for an extended weekend.

-Dan

On Jul 9, 2010, at 2:15 PM,
RAL HelpDesk {for John Halley Gotway}
wrote:

> Dan,
>
> Sorry
for the delay in getting back to you.
>
> I see that you're running
MODE on the output of 10 different model
runs for 6-hour precip and
have questions about setting parameters for
MODE.  One of the
advantages of using MODE is how configurable
> it is, but in some
respects that can be a disadvantage as well - as
you're finding.
>
> Since you're dealing with precip, I'd suggest starting with one of
the sample MODE configuration files:
>
METv2.0/scripts/config/WrfModeConfig_APCP_12
>
> I'd suggest
configuring MODE in multiple phases:
>
> Phase 1: Define objects to
match the scale of the analysis you're
studying:
>   - Set the
convolution radii to make objects more/less smooth.
>   - Set the
convolution thresholds to make the objects
bigger/smaller.
>   - Set
the area thresholds to throw away objects that are too
small.
>   -
Set the intensity thresholds to throw away objects that don't
meet
some intensity criteria.
>
> Phase 2: Address how objects are merged
together in the same field:
>   - Set the merge flags to determine
which logic is used to perform
merging in the same field.
>   - For
double thresholding, set the merge thresholds to allow for
more/less
merging.
>
> Phase 3: Address how objects are matched from one field
to the
other:
>   - Set the max_centroid_dist parameter to determine
how close
objects centroids need to be to be considered for a match.
>   - Play with the weight values to assign more/less relative
importance to each object pair measurement (i.e. boundary distance,
area ratio,...)
>   - Generally, most users won't want to adjust the
interest
functions that are used in computing the total interest
value unless
you're very practiced in using MODE.
>
> Please note
that by default, the "max_centroid_dist" and a few
interest functions
are defined in terms of the "grid_res" parameter.
Set this to the
nominal spacing of your grid in kilometers (e.g.
> grid_res = 40 for
a domain with 40-km grid spacing).
>
> Let me answer your specific
question about "fcst_inten_perc" and
"fcst_inten_perc_thresh".  These
are only used to throw away objects
that don't meet some intensity
criteria.  For example, suppose
> you're only interested in looking
at precip objects that contain 6-
hour accumulations of at least
20mm.  You could set:
>   fcst_inten_perc        = 100;
>
fcst_inten_perc_thresh = "ge20.0";
> That way, you'd only keep
objects whose maximum (i.e. 100th
percentile) raw intensity value is
at least 20mm.  We imagine that
most users will NOT use these
parameters.  So just set them to
something
> that will allow all
objects to be retained.
>
> A couple more pieces of a advice - you
should choose a set of
parameters that generally do what you want and
then apply them to all
fields.  Changing the parameters for each
different model is kind of
> cheating!  Also, we often set up two or
three different MODE
configurations to look at different scales.
>
> Clear as mud?
>
> Thanks,
> John Halley Gotway
>
met_help at ucar.edu
>
> RAL HelpDesk {for Dan Hartung} wrote:
>> Wed
Jul 07 13:24:55 2010: Request 39090 was acted upon.
>> Transaction:
Ticket created by daniel.hartung at ssec.wisc.edu
>>       Queue:
met_help
>>     Subject: question about MODE intensity thresholds
>>
Owner: Nobody
>>  Requestors: daniel.hartung at ssec.wisc.edu
>>
Status: new
>> Ticket <URL:
https://rt.rap.ucar.edu/rt/Ticket/Display.html?id=39090 >
>>
>>
>>
Hi,
>>
>> I am currently using MODE to compare 6-hrly precip objects
from 10
different assimilation forecast runs but am not sure what the
best way
is to go about selecting specific thresholds for parameters
in the
WrfModeConfig file.  In particular, I do not understand what
the
forecast intensity percentage and threshold does:
>>
>> //
>>
// Define an intensity percentile for fcst and obs objects.  The
>>
// percentile values must be between 0 and 102.  Values between
>> //
0 and 100 indicate the corresponding intensity percentile.  A
value
>> // of 101 indicates that the mean of the intensities should be
used.
>> // A value of 102 indicates that the sum of the intensities
should
be
>> // used.  Apply a threshold to the percentile value
chosen for the
fcst
>> // and obs objects using the threshold values
below.  Discard
objects
>> // which do not meet the intensity
percentile threshold criteria.
The
>> // threshold values are
specified as "xxT" where T is the threshold
>> // value and xx is one
of:
>> //    'lt' for less than, 'le' for less than or equal to,
>>
//    'eq' for equal to, 'ne' for not equal to,
>> //    'gt' for
greater than, and 'ge' for greater than or equal to
>> //
>>
fcst_inten_perc        = 100;
>> fcst_inten_perc_thresh = "ge0.0";
>> obs_inten_perc         = 100;
>> obs_inten_perc_thresh  = "ge0.0";
>>
>>
>> My data has large variations in intensity during the
consecutive
6hr periods with the primary feature being a training
squall line.
The parameters that I am currently using are merging
many objects
together, but the interest scores are not what I would
expect when
comparing the multiple runs.  So I suppose I am also
quite confused as
to how to select complimentary interest threshold
values for the
different subcategories:
>>
>> //
>> // Weight for
the distance (grid squares) between centroids
>> //
>>
centroid_dist_weight      = 0.0;
>>
>> //
>> // Weight for the
minimum distance (grid squares) between objects
>> //
>>
boundary_dist_weight      = 10.0;
>>
>> //
>> // Weight for the
minimum distance (grid squares) between the
convex
>> // hulls of
the objects
>> //
>> convex_hull_dist_weight   = 7.0;
>>
>> //
>>
// Weight for the difference in orientation angles (degrees)
between
>> // objects.  The difference will be between 0 and 90 degrees.
>>
//
>> angle_diff_weight         = 5.0;
>>
>> //
>> // Weight for
the ratio of the objects' areas.  Area is defined as
a
>> // count
of grid squares.
>> //
>> area_ratio_weight         = 5.0;
>>
>>
//
>> // Weight for the ratio of the objects' intersection divided by
the
>> // minimum of the areas of the two objects.
>> //
>>
int_area_ratio_weight     = 7.0;
>>
>> //
>> // Weight for the
ratio of the objects' complexities.  Complexity
of an
>> // object
is defined as:
>> // (Area of Convex Hull - Area of Object)/(Area of
Convex Hull)
>> //
>> complexity_ratio_weight   = 2.0;
>>
>> //
>> // Percentile to be used in computing the intensity ratio attribute
>> // below.  Percentile value must be between 0 and 100.
>> //
>>
intensity_percentile      = 25;
>>
>> //
>> // Weight for the ratio
of the percentile intensities of the raw
data
>> // inside each
object.
>> //
>> intensity_ratio_weight    = 7.0;
>>
>>
////////////////////////////////////////////////////////////////////////
>> //
>> // Attribute interest maps:
>> // The following interest
functions are piecewise linear functions
>> // defined by their
significant points.  An interest function is
>> // defined for each
of the weights listed above.
>> //
>>
////////////////////////////////////////////////////////////////////////
>>
>> centroid_dist_if = {
>>  (   0.0,          1.0 )
>>  (
60.0/grid_res, 1.0 )
>>  ( 400.0/grid_res, 0.6 )
>>  (
600.0/grid_res, 0.2 )
>>  };
>>
>> boundary_dist_if = {
>>  (
0.0,          1.0 )
>>  ( 400.0/grid_res, 0.0 )
>> };
>>
>>
convex_hull_dist_if = {
>>  (   0.0,          1.0 )
>>  (
400.0/grid_res, 0.0 )
>> };
>>
>> angle_diff_if = {
>>   (  0.0,
1.0 )
>>   ( 30.0, 0.5 )
>>   ( 90.0, 0.0 )
>> };
>>
>> corner =
0.5;
>> ratio_if = {
>>   ( 0.0,    0.0 )
>>   ( corner, 0.7 )
>>
( 1.0,    1.0 )
>> };
>>
>> area_ratio_if(x) = ratio_if(x);
>>
>>
int_area_ratio_if = {
>>   ( 0.00, 0.00 )
>>   ( 0.10, 0.25 )
>>
( 0.25, 0.75 )
>>   ( 1.00, 1.00 )
>> };
>>
>>
complexity_ratio_if(x) = ratio_if(x);
>>
>> intensity_ratio_if(x) =
ratio_if(x);
>>
>>
>> Thank you so much for any help!
>> -Dan
>>
>>
>


------------------------------------------------
_______________________________________________
Met_help mailing list
Met_help at mailman.ucar.edu
http://mailman.ucar.edu/mailman/listinfo/met_help
________________________________
CONFIDENTIALITY NOTICE: This e-mail
message is for the sole use of the intended recipient(s) and may
contain confidential and privileged information. Any unauthorized
review, use, disclosure or distribution of any kind is strictly
prohibited. If you are not the intended recipient, please contact the
sender via reply e-mail and destroy all copies of the original
message. Thank you.

------------------------------------------------


More information about the Met_help mailing list