Difference between revisions of "Robin subwindow density/quality calculations"

From ecology
Jump to: navigation, search
Line 3: Line 3:
  
 
  Function NewDensity(denQual, land_cl_perc, rain_cl_perc, total_mass_density, land_mass_density,  bird_echo_density, echo_mass, nr_of_tracks, land_clutter_mode, window)
 
  Function NewDensity(denQual, land_cl_perc, rain_cl_perc, total_mass_density, land_mass_density,  bird_echo_density, echo_mass, nr_of_tracks, land_clutter_mode, window)
 
+
 
  'Calculate density and quality parameter based on measurement conditions, i.e. influence of Robin
 
  'Calculate density and quality parameter based on measurement conditions, i.e. influence of Robin
 
  'algoritme. Robin-algoritme is influencing density calculations when (1) bird density is high
 
  'algoritme. Robin-algoritme is influencing density calculations when (1) bird density is high
Line 9: Line 9:
 
  'Rules have been designed and tested for Wier, Milligen and Glons to overcome the above problems
 
  'Rules have been designed and tested for Wier, Milligen and Glons to overcome the above problems
 
  'The quality parameter is decreasing from 1 (optimal functionality) to 0 (no radar video)
 
  'The quality parameter is decreasing from 1 (optimal functionality) to 0 (no radar video)
 
+
 
  'denQual            Parse through density (denQual = 0) or quality parameter (denQual = 1)
 
  'denQual            Parse through density (denQual = 0) or quality parameter (denQual = 1)
 
  'land_cl_perc      Percentage landclutter in image
 
  'land_cl_perc      Percentage landclutter in image
Line 20: Line 20:
 
  'land_clutter_mode  Type of landclutter filtering
 
  'land_clutter_mode  Type of landclutter filtering
 
  'window            Name of selected subwindow
 
  'window            Name of selected subwindow
 
+
 
  'Normal clutter in a subwindow is assumed to be zero. This is not always true and is the reason
 
  'Normal clutter in a subwindow is assumed to be zero. This is not always true and is the reason
 
  'why rules are not appicable to all subwindows without modification. Therefore modus of standard  clutter percentage
 
  'why rules are not appicable to all subwindows without modification. Therefore modus of standard  clutter percentage
Line 31: Line 31:
 
  'MIL_B1          0.00%  0.00%
 
  'MIL_B1          0.00%  0.00%
 
  'MIL_B2          0.00%  0.00%
 
  'MIL_B2          0.00%  0.00%
 
+
   
 
  clutPerc = 25      'Clutter percentage threshold for bird_density calculation
 
  clutPerc = 25      'Clutter percentage threshold for bird_density calculation
 
  defClut = 0        'Default clutter percentage
 
  defClut = 0        'Default clutter percentage
Line 39: Line 39:
 
  maxBDC = 1          'Quality parameter for high bird density, but image is saturated (no  bird_echo_density calculated)
 
  maxBDC = 1          'Quality parameter for high bird density, but image is saturated (no  bird_echo_density calculated)
 
  defC = 1            'Quality parameter in standard situations, but land_cl_perc reduces value
 
  defC = 1            'Quality parameter in standard situations, but land_cl_perc reduces value
 
+
 
     If (window = "GLONS_B1_SE-window") Then
 
     If (window = "GLONS_B1_SE-window") Then
 
         defClut = 18.65
 
         defClut = 18.65
Line 49: Line 49:
 
         defClut = 1.28
 
         defClut = 1.28
 
     End If
 
     End If
 
+
 
     clutPerc = clutPerc + defClut
 
     clutPerc = clutPerc + defClut
 
    
 
    
Line 74: Line 74:
 
         NewDensity = (total_mass_density - land_mass_density) / 500
 
         NewDensity = (total_mass_density - land_mass_density) / 500
 
         maxBDC = ((100 - land_cl_perc) / (100 - defClut)) ^ 2 'Same method as highBDC, but by taking square quality-param lowered
 
         maxBDC = ((100 - land_cl_perc) / (100 - defClut)) ^ 2 'Same method as highBDC, but by taking square quality-param lowered
 
+
 
   ElseIf (rain_cl_perc > 90 And (rain_cl_perc - land_cl_perc) > clutPerc * 1.5 And bird_echo_density > 0) Then
 
   ElseIf (rain_cl_perc > 90 And (rain_cl_perc - land_cl_perc) > clutPerc * 1.5 And bird_echo_density > 0) Then
 
         'Special cases as above, with higher land_cl_percentages. Also these images are probably birds,
 
         'Special cases as above, with higher land_cl_percentages. Also these images are probably birds,
Line 80: Line 80:
 
         NewDensity = (total_mass_density - land_mass_density) / echo_mass
 
         NewDensity = (total_mass_density - land_mass_density) / echo_mass
 
         maxBDC = ((100 - land_cl_perc) / (100 - defClut)) ^ 2 'Same method as highBDC, but by taking square quality-param lowered
 
         maxBDC = ((100 - land_cl_perc) / (100 - defClut)) ^ 2 'Same method as highBDC, but by taking square quality-param lowered
 
+
 
   ElseIf (land_cl_perc < clutPerc And bird_echo_density > 0.25 And echo_mass > 800) Then
 
   ElseIf (land_cl_perc < clutPerc And bird_echo_density > 0.25 And echo_mass > 800) Then
 
         'Large bird echoes are wrongly marked as rain by the ROBIN rain_mask algoritme. Correction of density
 
         'Large bird echoes are wrongly marked as rain by the ROBIN rain_mask algoritme. Correction of density
Line 86: Line 86:
 
         NewDensity = (total_mass_density - land_mass_density) / echo_mass
 
         NewDensity = (total_mass_density - land_mass_density) / echo_mass
 
         largeFlockC = Sqr((100 - rain_cl_perc) / (100 - defClut))  'Rain is removing echo's, therefore this should be in quality param
 
         largeFlockC = Sqr((100 - rain_cl_perc) / (100 - defClut))  'Rain is removing echo's, therefore this should be in quality param
 
+
 
   Else
 
   Else
 
       'Everything seems OK, bird_echo_density is taken and quality parameter is set as square root of clutter percentage.
 
       'Everything seems OK, bird_echo_density is taken and quality parameter is set as square root of clutter percentage.
 
+
 
       NewDensity = bird_echo_density
 
       NewDensity = bird_echo_density
 
       defC = Sqr((100 - land_cl_perc) / (100 - defClut))
 
       defC = Sqr((100 - land_cl_perc) / (100 - defClut))

Revision as of 13:02, 9 May 2008

The ROBIN_CORRECTED_DENSITY and ROBIN_CORRECTED_QUALITY are caclulated according to the following function :


Function NewDensity(denQual, land_cl_perc, rain_cl_perc, total_mass_density, land_mass_density,  bird_echo_density, echo_mass, nr_of_tracks, land_clutter_mode, window)

'Calculate density and quality parameter based on measurement conditions, i.e. influence of Robin
'algoritme. Robin-algoritme is influencing density calculations when (1) bird density is high
'(rain mask is removing birds), (2) birds fly in large flocks (rain mask is removing birds).
'Rules have been designed and tested for Wier, Milligen and Glons to overcome the above problems
'The quality parameter is decreasing from 1 (optimal functionality) to 0 (no radar video)

'denQual            Parse through density (denQual = 0) or quality parameter (denQual = 1)
'land_cl_perc       Percentage landclutter in image
'rain_cl_perc       Percentage rainclutter in image
'total_mass_density Total mass per window before Robin processing
'land_mass_density  Total mass per window within the land clutter mask
'bird_echo_density  Calculated bird density per km2, taking measurement area into account (%  clutter)
'echo_mass          Mean mass per bird echo (re-scaled number bird_mass_density / bird_echo_density if bird_echo_density  > 0 and 0 otherwise)
'nr_of_tracks       Number of tracks in the whole image
'land_clutter_mode  Type of landclutter filtering
'window             Name of selected subwindow

'Normal clutter in a subwindow is assumed to be zero. This is not always true and is the reason
'why rules are not appicable to all subwindows without modification. Therefore modus of standard  clutter percentage
'is added for each subwindow to default clutPerc
'               NW      SE
'GLONS_B1       15.05%  18.65%
'GLONS_B2        1.28%   5.33%
'RPN_B1          0.06%   0.07%
'RPN_B2          0.00%   0.00%
'MIL_B1          0.00%   0.00%
'MIL_B2          0.00%   0.00%
   
clutPerc = 25       'Clutter percentage threshold for bird_density calculation
defClut = 0         'Default clutter percentage
contentC = 1        'Quality parameter for radar data availability (0 if no data)
highBDC = 1         'Quality parameter for high bird density correction
largeFlockC = 1     'Quality parameter for large flocks
maxBDC = 1          'Quality parameter for high bird density, but image is saturated (no   bird_echo_density calculated)
defC = 1            'Quality parameter in standard situations, but land_cl_perc reduces value

   If (window = "GLONS_B1_SE-window") Then
       defClut = 18.65
   ElseIf (window = "GLONS_B1_NW-window") Then
       defClut = 15.05
   ElseIf (window = "GLONS_B2_SE-window") Then
       defClut = 5.33
   ElseIf (window = "GLONS_B2_NW-window") Then
       defClut = 1.28
   End If

   clutPerc = clutPerc + defClut
  
  
   If total_mass_density < 10 And land_cl_perc = 0 And nr_of_tracks = 0 Then
       'Image does exist, but no data, density is NOT calculated, quality parameter set to zero
       contentC = 0
   ElseIf (land_clutter_mode = "ALWAYS_OFF") Then
       'During long period of time land_clutter_mode was set to "ALWAYS_OFF" in Milligen B2 image.
       'Therefore landclutter mask is not calculated. But, the following rules do expect a landclutter mask!
       'Since quality check and calculation of expected density could not be performed, these
       'measurements are expected as Robin-algoritme works well and quality parameter is OK
       NewDensity = bird_echo_density
   ElseIf (land_cl_perc < clutPerc And bird_echo_density > 1) Then
       'High bird densities are partly masked as rain. New density is calculated expecting total_mass_density
       'are all birds, except for that part marked as landclutter. Quality parameter is decreasing, see function
       NewDensity = (total_mass_density - land_mass_density) / echo_mass
       highBDC = (100 - land_cl_perc) / (100 - defClut)
   ElseIf (land_cl_perc < clutPerc And rain_cl_perc > 99 And nr_or_tracks > 0) Then
       'Under exceptional situations all birds are masked as rain and can only be recalculated
       'using expected echo_masses. Since these situations only occur during the night the mean echo_mass
       'was calculated from historic data (1-15 nov 2007: RPN (mainly night), B1: 553; B2: 413,
       'MIL (only day), B1: 676, B2: 676. Therefore for the moment a value of 500 is used for mean echo_mass
       NewDensity = (total_mass_density - land_mass_density) / 500
       maxBDC = ((100 - land_cl_perc) / (100 - defClut)) ^ 2 'Same method as highBDC, but by taking square quality-param lowered

  ElseIf (rain_cl_perc > 90 And (rain_cl_perc - land_cl_perc) > clutPerc * 1.5 And bird_echo_density > 0) Then
       'Special cases as above, with higher land_cl_percentages. Also these images are probably birds,
       'but the quality parameter is decreasing stronger
       NewDensity = (total_mass_density - land_mass_density) / echo_mass
       maxBDC = ((100 - land_cl_perc) / (100 - defClut)) ^ 2 'Same method as highBDC, but by taking square quality-param lowered

  ElseIf (land_cl_perc < clutPerc And bird_echo_density > 0.25 And echo_mass > 800) Then
       'Large bird echoes are wrongly marked as rain by the ROBIN rain_mask algoritme. Correction of density
       'according 'high bird density rule'. Quality parameter is decreasing due to rain_clutter_percentage.
       NewDensity = (total_mass_density - land_mass_density) / echo_mass
       largeFlockC = Sqr((100 - rain_cl_perc) / (100 - defClut))  'Rain is removing echo's, therefore this should be in quality param

  Else
      'Everything seems OK, bird_echo_density is taken and quality parameter is set as square root of clutter percentage.

      NewDensity = bird_echo_density
      defC = Sqr((100 - land_cl_perc) / (100 - defClut))
  End If
  If denQual = 1 Then
      'Quality parameter is passed through
      NewDensity = contentC * highBDC * largeFlockC * maxBDC * defC
  End If
End Function