Ticket 209: add E140S10 tile config jenkins-beamb-51
authorDaniel Michelson <dbm@baltrad.eu>
Thu, 29 Nov 2012 15:01:33 +0000 (16:01 +0100)
committerDaniel Michelson <dbm@baltrad.eu>
Thu, 29 Nov 2012 15:01:33 +0000 (16:01 +0100)
bin/beamb
lib/beamblockagemap.c
pybeamb/beamb_quality_plugin.py

index faa09ec..abe7a7e 100755 (executable)
--- a/bin/beamb
+++ b/bin/beamb
@@ -69,11 +69,13 @@ if __name__ == "__main__":
     import sys
     from optparse import OptionParser
 
+    description = "Beam-blockage detection and correction on the command line." 
+
     usage = "usage: %prog -i <infile> -o <outfile> [args] [h]"
-    usage += "\n\nBeam-blockage detection and correction."
-    usage += "\nThis command-line tool has been built for the BALTRAD toolbox."
-    usage += "\n\nIf no output file is given, the input file will be over-written."
-    parser = OptionParser(usage=usage)
+#    usage += "\n\nBeam-blockage detection and correction."
+#    usage += "\nThis command-line tool has been built for the BALTRAD toolbox."
+#    usage += "\n\nIf no output file is given, the input file will be over-written."
+    parser = OptionParser(usage=usage, description=description)
 
     parser.add_option("-i", "--input", dest="infile",
                       help="Name of input file to read. Can be either a polar scan or volume.")
@@ -82,7 +84,7 @@ if __name__ == "__main__":
                       help="Name of output file to write. If not given, input file will be over-written.")
 
     parser.add_option("-b", "--beamwidth", dest="beamwidth", default=-6.0, type="float",
-                      help="Specifies the half-power beamwidth to apply when analyzing the degree of beam blockage. NOTE that this does not have to be the radar's real half-power beamwidth. Defaults to -6.0 degrees.")
+                      help="Specifies the limit of the Gaussian approximation of the beamwidth (in dB) to apply when analyzing the degree of beam blockage. NOTE that this does not have to be the radar's half-power beamwidth. Defaults to -6.0 dB.")
 
     parser.add_option("-r", "--restore", dest="restore", default=0.7, type="float",
                       help="Specifies the upper threshold on how much beam blockage is accepted to be corrected. Sectors blocked more than this value are blocked out by assigning them the 'nodata' value. Defaults to 0.7 (70 %).")
index 776e605..7595e3c 100644 (file)
@@ -369,12 +369,8 @@ BBTopography_t* BeamBlockageMap_readTopography(BeamBlockageMap_t* self, double l
   lat_n = asin( sin(lat) * cos(d/earthRadius) + cos(lat) * sin(d/earthRadius) * cos(0.) );
   lat_s = asin( sin(lat) * cos(d/earthRadius) + cos(lat) * sin(d/earthRadius) * cos(M_PI) );
 
-  if (RAD2DEG(lat_n) > 80.0 || RAD2DEG(lat_s) < -10.0 || RAD2DEG(lon_w) < -60.0 || RAD2DEG(lon_e) > 60.0) {  /* dBm */
-    RAVE_ERROR0("Topography maps does not cover requested area");
-    goto done;
-
   /* Top three tiles covering Europe */
-  } else if ( (RAD2DEG(lat_s) >= 40.0) && (RAD2DEG(lon_w) >= -60.0) && (RAD2DEG(lon_e) <= -20.0) ) {
+  if ( (RAD2DEG(lat_s) >= 40.0) && (RAD2DEG(lon_w) >= -60.0) && (RAD2DEG(lon_e) <= -20.0) ) {
     // Read W060N90
     if ((field = BeamBlockageMapInternal_readTopography(self, "W060N90")) == NULL) {
       goto done;
@@ -470,6 +466,18 @@ BBTopography_t* BeamBlockageMap_readTopography(BeamBlockageMap_t* self, double l
     RAVE_OBJECT_RELEASE(field4);
     RAVE_OBJECT_RELEASE(field5);
 
+  /* Read E140S10 covering eastern Australia and New Zealand
+   * NOTE that the following conditions might need revision in future. */
+  } else if ( (RAD2DEG(lat_n) <= -10.0) && (RAD2DEG(lon_e) >= 140.0) ) {
+    // Read E140S10
+    if ((field = BeamBlockageMapInternal_readTopography(self, "E140S10")) == NULL) {
+      goto done;
+    }
+  }
+
+  else {
+    RAVE_ERROR0("Topography maps do not cover requested area");
+    goto done;
   }
 
   result = RAVE_OBJECT_COPY(field);
index 72354c3..370d8e2 100644 (file)
@@ -32,7 +32,7 @@ import _beamblockage
 ##
 # The limit of the Gaussian approximation of main lobe
 #
-BEAMBLOCKAGE_DBLIMIT=-20
+BEAMBLOCKAGE_DBLIMIT=-6.0
 
 ##
 # The beam blockage quality plugin