Wireless-Innovation-Forum / 6-GHz-AFC

This repository contains code and data for testing the compliance of Automated Frequency Coordinator (AFC) software. The AFC is defined by the FCC in proceeding 18-295 on Unlicensed Use of the 6 GHz Band. This repository contains procedures, documentation, and tests for such software, and for the devices authorized by it. To contribute, please first read the CONTRIBUTING file in the repository for instructions.
14 stars 3 forks source link

AFCS.SIP2 Not able to match few expected incumbents #50

Closed alexcpn closed 6 months ago

alexcpn commented 7 months ago

While running the calculation for AFCS.SIP2

https://github.com/Wireless-Innovation-Forum/6-GHz-AFC/blob/main/src/harness/inquiries/AFCS.SIP.2.json https://github.com/Wireless-Innovation-Forum/6-GHz-AFC/blob/main/src/harness/masks/AFCS.SIP.2_mask.json

I am missing few Incumbents. I have been trying to debug this for more than two weeks, increasing search radius to even 250 Km but to no avail.

The one from 5930-5949 5930-5949,upperBound:11.1 nominalValue:9.1 is causing the most deviation.

The incumbent I got at this is uuid= 3225580 callsign =WQMK438 (5940.2, 5950.2). But the PSD values I got for this are very high, how much ever I recheck or calculate.

Is it possible to tell if I am missing any incumbent at this range, or is this the right one, but there is some calculation or code error in this

[INFO] ********************************************************************************
[INFO] Going to process UUID = 3225580 call_sign = 'WQMK438
[INFO] accesspoint_loc =(38.377266, -78.468021) receiver_loc=(38.80405555555555, -78.68863888888889)
[INFO] Processing UUID = 3225580 call_sign = 'WQMK438' R to AP Dist =51127.416904742524 m, CF =5945.2 Mhz r_antenna_make= RFS r_antenna_model=PAD8-59A
[INFO] uuid: 3225580
[INFO] call_sign: WQMK438
[INFO] frequency_assigned: 5945.2
[INFO] receiver_loc: (38.80405555555555, -78.68863888888889)
[INFO] t_loc_num: 1
[INFO] t_path_num: 1
[INFO] t_ant_num: 1
[INFO] receiver_to_ap_dist_m: 51127.416904742524
[INFO] r_height_to_center_raat: 29.0
[INFO] r_gain: 41.3
[INFO] r_diversity_gain: None
[INFO] r_azimuth: 0.0
[INFO] r_antenna_make: RFS
[INFO] r_antenna_model: PAD8-59A
[INFO] r_loc_num: 2
[INFO] r_path_num: 1
[INFO] r_ant_num: 1
[INFO] polarization_code: None
[INFO] line_loss: None
[INFO] r_diameter_ft: 8.0
[INFO] r_diameter_m: 2.44
[INFO] ant_category: B1
[INFO] transmitter_loc: (39.00811111111111, -78.32655555555556)
[INFO] t_height_to_center_raat: 40.8
[INFO] t_gain: 41.3
[INFO] t_diversity_gain: None
[INFO] t_azimuth: 234.3
[INFO] t_antenna_make: RFS
[INFO] t_antenna_model: PAD8-59A
[INFO] bandwidth: 10.0
[INFO] frequency_range: (5940.2, 5950.2)
[INFO] accesspoint_loc: (38.377266, -78.468021)
[INFO] accesspoint_ht_m: 300.0
[INFO] accesspoint_vtunc_m: 30
[INFO] Free Space Path Loss =142.0981785994584
[INFO] accesspoint_elev=528.5480346679688 receiver_elev=515.4696044921875 transmitter_elev=189.72903442382812
[INFO] GRx = 41.3 dB
[INFO] centerFreq of Receiver =5945.2 Mhz
[INFO] ant_category = B1 
[INFO] Angle 1: Azimuthal discrimination angle:R-AP The azimuthal discrimination angle,  θAZ_Disc= 103.95632959999497 degress
[INFO] Angle 2: Elevation angle: R-T The receive antenna boresight elevation angle (from transmmitter) θEL_Disc= -0.5949928799295378 degrees
[INFO] Angle 3:elevation angle: R-AP The elevation angle from the  receive antenna to the evaluation phi= 0.14603450937594242 degrees
[INFO] --------------------------------------------------------------------------------
[INFO] Overall discrimination angle, 𝛾 =103.9570781997175 degress
[INFO] --------------------------------------------------------------------------------
[INFO] GRx=41.3 >= 38:HP Calcualted:rpe=-6.844350407395254 rpe2-GRx=-48.14435040739525
[INFO] 2.b GRx=41.3 >= 38:B1:rpe=-39 from Radiation Supression Table
[INFO] GRx=41.3 >= 38:HP Calcualted:rpe=-6.844350407395254 rpe2-GRx=-48.14435040739525
[INFO] 2.b GRx=41.3 >= 38:B1:rpe=-39 from Radiation Supression Table
[INFO] --------------------------------------------------------------------------------
[INFO] The azimuthal discrimination= GAZ-Disc =-39 This should be negative
[INFO] The elevation discrimination  GEL-Disc in dB = -39 contribution This should be Negative!)
[INFO] --------------------------------------------------------------------------------
[INFO] GRx_Effectivein dB = -0.7000000000000086 [41.3 -38.99999991940093] [-8.059907820166229e-08]
[INFO] ----GRx_Effective in dB = -0.7000000000000086
[INFO] Near field adjustments do not have to be done
[INFO] Elevation Profile and ITM losss caluclated  in 0.000389 seconds
[INFO] ITM loss is 258.0874100223423
[INFO] Path Loss used =258.0874100223423
[INFO] building_entry_loss = 0 ap_indoor=False
[INFO] interference = -258.78741002234227 
[INFO] transmit_power PSD = 142.78741002234227 dBm/MHz

Expected vs Calculated

[INFO] Expected Frequency
[INFO] 5925-5930,upperBound:23.0 nominalValue:23.0
[INFO] 5930-5949,upperBound:11.1 nominalValue:9.1
[INFO] 5949-6050,upperBound:11.2 nominalValue:9.2
[INFO] 6050-6078,upperBound:23.0 nominalValue:23.0
[INFO] 6078-6109,upperBound:-0.4 nominalValue:-2.4
[INFO] 6109-6137,upperBound:23.0 nominalValue:23.0
[INFO] 6137-6168,upperBound:-0.3 nominalValue:-2.3
[INFO] 6168-6211,upperBound:23.0 nominalValue:23.0
[INFO] 6211-6241,upperBound:14.3 nominalValue:12.3
[INFO] 6241-6302,upperBound:7.1 nominalValue:5.1
[INFO] 6302-6331,upperBound:17.2 nominalValue:15.2
[INFO] 6331-6359,upperBound:20.9 nominalValue:18.9
[INFO] 6359-6392,upperBound:18.2 nominalValue:16.2
[INFO] 6392-6420,upperBound:18.3 nominalValue:16.3
[INFO] 6420-6425,upperBound:23.0 nominalValue:23.0
[INFO] 6525-6540,upperBound:23.0 nominalValue:23.0
[INFO] 6540-6570,upperBound:23.0 nominalValue:22.9
[INFO] 6570-6580,upperBound:23.0 nominalValue:23.0
[INFO] 6580-6590,upperBound:16.6 nominalValue:14.6
[INFO] 6590-6600,upperBound:23.0 nominalValue:22.7
[INFO] 6600-6610,upperBound:23.0 nominalValue:23.0
[INFO] 6610-6640,upperBound:17.1 nominalValue:15.1
[INFO] 6640-6650,upperBound:23.0 nominalValue:23.0
[INFO] 6676-6680,upperBound:19.9 nominalValue:17.9
[INFO] 6680-6694,upperBound:23.0 nominalValue:21.3
[INFO] 6694-6700,upperBound:23.0 nominalValue:21.4
[INFO] 6700-6710,upperBound:15.4 nominalValue:13.4
[INFO] 6710-6770,upperBound:23.0 nominalValue:23.0
[INFO] 6770-6800,upperBound:20.0 nominalValue:18.0
[INFO] 6800-6803,upperBound:23.0 nominalValue:23.0
[INFO] 6803-6808,upperBound:12.8 nominalValue:10.8
[INFO] 6808-6810,upperBound:23.0 nominalValue:23.0
[INFO] 6810-6820,upperBound:23.0 nominalValue:21.0
[INFO] 6820-6850,upperBound:23.0 nominalValue:23.0
[INFO] 6850-6860,upperBound:8.8 nominalValue:6.8
[INFO] 6860-6870,upperBound:17.1 nominalValue:15.1
[INFO] 6870-6875,upperBound:23.0 nominalValue:23.0
[INFO] Calculated Frequency
[INFO] 5925.0-5930.025  psd: 23.0
[INFO] 5930.025-5990.025  psd: 15.784689601165127
[INFO] 5990.025-6049.325  psd: 10.703737533416259
[INFO] 6049.325-6108.625  psd: 17.911661857844592
[INFO] 6108.625-6137.75  psd: 23.0
[INFO] 6137.75-6167.75  psd: -5.178939698339647
[INFO] 6167.75-6211.89  psd: 23.0
[INFO] 6211.89-6241.89  psd: 9.685669535605086
[INFO] 6241.89-6301.365  psd: 12.380359164661826
[INFO] 6301.365-6330.84  psd: 11.794109109088566
[INFO] 6330.84-6359.965  psd: 23.0
[INFO] 6359.965-6419.965  psd: 21.65690619256381
[INFO] 6419.965-6425.0  psd: 23.0
[INFO] 6525.0-6540.0  psd: 23.0
[INFO] 6540.0-6570.0  psd: 15.737189287409763
[INFO] 6570.0-6590.0  psd: 23.0
[INFO] 6590.0-6600.0  psd: 19.745014053790953
[INFO] 6600.0-6610.0  psd: 21.94745000622069
[INFO] 6610.0-6640.0  psd: 11.105362298937578
[INFO] 6640.0-6640.0  psd: 12.897827283578692
[INFO] 6640.0-6670.0  psd: 21.407024789643486
[INFO] 6670.0-6675.2  psd: 0
[INFO] 6675.2-6700.0  psd: 23.0
[INFO] 6700.0-6710.0  psd: 10.891977330796422
[INFO] 6710.0-6740.0  psd: 20.96310494836436
[INFO] 6740.0-6770.0  psd: 21.021096888872478
[INFO] 6770.0-6800.0  psd: 8.081817084848169
[INFO] 6800.0-6800.0  psd: 17.75008345597371
[INFO] 6800.0-6803.75  psd: 23.0
[INFO] 6803.75-6807.5  psd: 8.015087793907895
[INFO] 6807.5-6817.5  psd: 23.0
[INFO] 6817.5-6822.5  psd: 22.722624097951012
[INFO] 6822.5-6860.0  psd: 23.0
[INFO] 6860.0-6870.0  psd: 12.10214734191419
[INFO] 6870.0-6875.0  psd: 23.0
[WARNING] gc=131 cn=1,freq_range=(5945.0, 5965.0),expected_eirp={'nominalValue': 22.2, 'upperBound': 24.2} calc_eirp=5.98 diff=18.22
[WARNING] gc=131 cn=5,freq_range=(5965.0, 5985.0),expected_eirp={'nominalValue': 22.2, 'upperBound': 24.2} calc_eirp=5.98 diff=18.22
[WARNING] gc=131 cn=9,freq_range=(5985.0, 6005.0),expected_eirp={'nominalValue': 22.2, 'upperBound': 24.2} calc_eirp=5.98 diff=18.22
[WARNING] gc=131 cn=25,freq_range=(6065.0, 6085.0),expected_eirp={'nominalValue': 10.6, 'upperBound': 12.6} calc_eirp=7.73 diff=4.87
[WARNING] gc=131 cn=29,freq_range=(6085.0, 6105.0),expected_eirp={'nominalValue': 10.6, 'upperBound': 12.6} calc_eirp=7.73 diff=4.87
[WARNING] gc=131 cn=33,freq_range=(6105.0, 6125.0),expected_eirp={'nominalValue': 10.6, 'upperBound': 12.6} calc_eirp=7.73 diff=4.87
[WARNING] gc=131 cn=37,freq_range=(6125.0, 6145.0),expected_eirp={'nominalValue': 10.7, 'upperBound': 12.7} calc_eirp=7.83 diff=4.87
[WARNING] gc=131 cn=41,freq_range=(6145.0, 6165.0),expected_eirp={'nominalValue': 10.7, 'upperBound': 12.7} calc_eirp=7.83 diff=4.87
[WARNING] gc=131 cn=45,freq_range=(6165.0, 6185.0),expected_eirp={'nominalValue': 10.7, 'upperBound': 12.7} calc_eirp=7.83 diff=4.87
[WARNING] gc=131 cn=53,freq_range=(6205.0, 6225.0),expected_eirp={'nominalValue': 25.3, 'upperBound': 27.3} calc_eirp=22.7 diff=4.60
[ERROR] gc=131 cn=57,freq_range=(6225.0, 6245.0) expected_eirp={'nominalValue': 18.1, 'upperBound': 20.1} calc_eirp=22.7 diff=2.60
[ERROR] gc=131 cn=61,freq_range=(6245.0, 6265.0) expected_eirp={'nominalValue': 18.1, 'upperBound': 20.1} calc_eirp=25.36 diff=5.26
[ERROR] gc=131 cn=65,freq_range=(6265.0, 6285.0) expected_eirp={'nominalValue': 18.1, 'upperBound': 20.1} calc_eirp=25.36 diff=5.26
[ERROR] gc=131 cn=69,freq_range=(6285.0, 6305.0) expected_eirp={'nominalValue': 18.1, 'upperBound': 20.1} calc_eirp=24.8 diff=4.70
[WARNING] gc=131 cn=73,freq_range=(6305.0, 6325.0),expected_eirp={'nominalValue': 28.2, 'upperBound': 30.2} calc_eirp=24.8 diff=5.40
[WARNING] gc=131 cn=77,freq_range=(6325.0, 6345.0),expected_eirp={'nominalValue': 28.2, 'upperBound': 30.2} calc_eirp=24.8 diff=5.40
[ERROR] gc=131 cn=81,freq_range=(6345.0, 6365.0) expected_eirp={'nominalValue': 29.2, 'upperBound': 31.2} calc_eirp=34.67 diff=3.47
[ERROR] gc=131 cn=89,freq_range=(6385.0, 6405.0) expected_eirp={'nominalValue': 29.3, 'upperBound': 31.3} calc_eirp=34.67 diff=3.37
[ERROR] gc=131 cn=93,freq_range=(6405.0, 6425.0) expected_eirp={'nominalValue': 29.3, 'upperBound': 31.3} calc_eirp=34.67 diff=3.37
[WARNING] gc=131 cn=117,freq_range=(6525.0, 6545.0),expected_eirp={'nominalValue': 35.9, 'upperBound': 36.0} calc_eirp=28.75 diff=7.25
[WARNING] gc=131 cn=121,freq_range=(6545.0, 6565.0),expected_eirp={'nominalValue': 35.9, 'upperBound': 36.0} calc_eirp=28.75 diff=7.25
[ERROR] gc=131 cn=129,freq_range=(6585.0, 6605.0) expected_eirp={'nominalValue': 27.6, 'upperBound': 29.6} calc_eirp=32.76 diff=3.16
[WARNING] gc=131 cn=133,freq_range=(6605.0, 6625.0),expected_eirp={'nominalValue': 28.1, 'upperBound': 30.1} calc_eirp=24.12 diff=5.98
[WARNING] gc=131 cn=137,freq_range=(6625.0, 6645.0),expected_eirp={'nominalValue': 28.1, 'upperBound': 30.1} calc_eirp=24.12 diff=5.98
[WARNING] gc=131 cn=149,freq_range=(6685.0, 6705.0),expected_eirp={'nominalValue': 26.4, 'upperBound': 28.4} calc_eirp=23.9 diff=4.50
[WARNING] gc=131 cn=153,freq_range=(6705.0, 6725.0),expected_eirp={'nominalValue': 26.4, 'upperBound': 28.4} calc_eirp=23.9 diff=4.50
[WARNING] gc=131 cn=165,freq_range=(6765.0, 6785.0),expected_eirp={'nominalValue': 31.0, 'upperBound': 33.0} calc_eirp=21.09 diff=11.91
[WARNING] gc=131 cn=169,freq_range=(6785.0, 6805.0),expected_eirp={'nominalValue': 23.8, 'upperBound': 25.8} calc_eirp=21.03 diff=4.77
[WARNING] gc=131 cn=173,freq_range=(6805.0, 6825.0),expected_eirp={'nominalValue': 23.8, 'upperBound': 25.8} calc_eirp=21.03 diff=4.77
[ERROR] gc=131 cn=181,freq_range=(6845.0, 6865.0) expected_eirp={'nominalValue': 19.8, 'upperBound': 21.8} calc_eirp=25.11 diff=3.31
[WARNING] gc=132 cn=3,freq_range=(5945.0, 5985.0),expected_eirp={'nominalValue': 25.2, 'upperBound': 27.2} calc_eirp=8.99 diff=18.21
[WARNING] gc=132 cn=11,freq_range=(5985.0, 6025.0),expected_eirp={'nominalValue': 25.2, 'upperBound': 27.2} calc_eirp=8.99 diff=18.21
[WARNING] gc=132 cn=27,freq_range=(6065.0, 6105.0),expected_eirp={'nominalValue': 13.6, 'upperBound': 15.6} calc_eirp=10.74 diff=4.86
[WARNING] gc=132 cn=35,freq_range=(6105.0, 6145.0),expected_eirp={'nominalValue': 13.6, 'upperBound': 15.6} calc_eirp=10.74 diff=4.86
[WARNING] gc=132 cn=43,freq_range=(6145.0, 6185.0),expected_eirp={'nominalValue': 13.7, 'upperBound': 15.7} calc_eirp=10.84 diff=4.86
[WARNING] gc=132 cn=51,freq_range=(6185.0, 6225.0),expected_eirp={'nominalValue': 28.3, 'upperBound': 30.3} calc_eirp=25.71 diff=4.59
[ERROR] gc=132 cn=59,freq_range=(6225.0, 6265.0) expected_eirp={'nominalValue': 21.1, 'upperBound': 23.1} calc_eirp=25.71 diff=2.61
[ERROR] gc=132 cn=67,freq_range=(6265.0, 6305.0) expected_eirp={'nominalValue': 21.1, 'upperBound': 23.1} calc_eirp=27.81 diff=4.71
[WARNING] gc=132 cn=75,freq_range=(6305.0, 6345.0),expected_eirp={'nominalValue': 31.2, 'upperBound': 33.2} calc_eirp=27.81 diff=5.39
[ERROR] gc=132 cn=91,freq_range=(6385.0, 6425.0) expected_eirp={'nominalValue': 32.3, 'upperBound': 34.3} calc_eirp=36.0 diff=1.70
[WARNING] gc=132 cn=131,freq_range=(6585.0, 6625.0),expected_eirp={'nominalValue': 30.6, 'upperBound': 32.6} calc_eirp=27.13 diff=5.47
[WARNING] gc=132 cn=155,freq_range=(6705.0, 6745.0),expected_eirp={'nominalValue': 29.4, 'upperBound': 31.4} calc_eirp=26.91 diff=4.49
[WARNING] gc=132 cn=163,freq_range=(6745.0, 6785.0),expected_eirp={'nominalValue': 34.0, 'upperBound': 36.0} calc_eirp=24.1 diff=11.90
[WARNING] gc=132 cn=171,freq_range=(6785.0, 6825.0),expected_eirp={'nominalValue': 26.8, 'upperBound': 28.8} calc_eirp=24.04 diff=4.76
[ERROR] gc=132 cn=179,freq_range=(6825.0, 6865.0) expected_eirp={'nominalValue': 22.8, 'upperBound': 24.8} calc_eirp=28.12 diff=3.32
[WARNING] gc=133 cn=7,freq_range=(5945.0, 6025.0),expected_eirp={'nominalValue': 28.2, 'upperBound': 30.2} calc_eirp=12.0 diff=18.20
[WARNING] gc=133 cn=23,freq_range=(6025.0, 6105.0),expected_eirp={'nominalValue': 16.6, 'upperBound': 18.6} calc_eirp=13.75 diff=4.85
[WARNING] gc=133 cn=39,freq_range=(6105.0, 6185.0),expected_eirp={'nominalValue': 16.6, 'upperBound': 18.6} calc_eirp=13.75 diff=4.85
[ERROR] gc=133 cn=55,freq_range=(6185.0, 6265.0) expected_eirp={'nominalValue': 24.1, 'upperBound': 26.1} calc_eirp=28.72 diff=2.62
[ERROR] gc=133 cn=71,freq_range=(6265.0, 6345.0) expected_eirp={'nominalValue': 24.1, 'upperBound': 26.1} calc_eirp=30.83 diff=4.73
[WARNING] gc=133 cn=167,freq_range=(6745.0, 6825.0),expected_eirp={'nominalValue': 29.8, 'upperBound': 31.8} calc_eirp=27.05 diff=4.75
[WARNING] gc=134 cn=15,freq_range=(5945.0, 6105.0),expected_eirp={'nominalValue': 19.6, 'upperBound': 21.6} calc_eirp=15.01 diff=6.59
[WARNING] gc=134 cn=47,freq_range=(6105.0, 6265.0),expected_eirp={'nominalValue': 19.7, 'upperBound': 21.7} calc_eirp=16.76 diff=4.94
[ERROR] gc=134 cn=79,freq_range=(6265.0, 6425.0) expected_eirp={'nominalValue': 27.2, 'upperBound': 29.2} calc_eirp=33.84 diff=4.64

Visually

https://docs.google.com/spreadsheets/d/1IY_uOQtuQigSxaF9nK479enoBHdUCkOuqDDBK4Ysfow/edit?usp=sharing

image

alexcpn commented 7 months ago

@AEgbert could you help here a bit. Really stuck here at SIP2 and few others like SIP4.

These are the incumbent frequencies I have got

[INFO] -uuid--call_sign----incumbent frequency range-----------
[INFO] 3534062 WQST407 (5930.025, 5990.025)
[INFO] 1051454 WPOU851 (5930.025, 5990.025)
[INFO] 1045356 WPNL763 (5930.025, 5990.025)
[INFO] 1004792 WMQ731 (5930.025, 5990.025)
[INFO] 4312188 WRHY689 (5930.025, 5990.025)
[INFO] 3970980 WRAF682 (5930.025, 5990.025)
[INFO] 3969917 WRAF301 (5930.025, 5990.025)
[INFO] 1045354 WPNL761 (5930.025, 5990.025)
[INFO] 3257882 WQNE951 (5930.025, 5990.025)
[INFO] 2969284 WQIA733 (5930.025, 5990.025)
[INFO] 4119305 WRCU974 (5930.025, 5990.025)
[INFO] 4381249 WRKP819 (5930.025, 5990.025)
[INFO] 3939329 WQZR472 (5930.2, 5960.2)
[INFO] 1304851 WPQX319 (5930.2, 5960.2)
[INFO] 3428356 WQQG597 (5930.2, 5960.2)
[INFO] 1015827 WNEU223 (5930.2, 5960.2)
[INFO] 3037695 WQJF547 (5930.2, 5960.2)
[INFO] 3296569 WQNV904 (5930.2, 5960.2)
[INFO] 1043583 WPNI368 (5930.2, 5960.2)
[INFO] 975620 WEG314 (5930.2, 5960.2)
[INFO] 3935501 WQZP778 (5930.2, 5960.2)
[INFO] 3045911 WQJJ255 (5930.2, 5960.2)
[INFO] 3102937 WQKG731 (5930.2, 5960.2)
[INFO] 2704019 WQCJ948 (5930.2, 5960.2)
[INFO] 3038036 WQJF661 (5930.2, 5960.2)
[INFO] 3662682 WQVE303 (5930.2, 5960.2)
[INFO] 3223613 WQMJ437 (5930.2, 5960.2)
[INFO] 3288163 WQNS678 (5930.2, 5960.2)
[INFO] 1093209 WPQP308 (5930.2, 5960.2)
[INFO] 3687802 WQVN528 (5930.2, 5960.2)
[INFO] 1006205 WMS821 (5930.2, 5960.2)
[INFO] 2543766 WPYK290 (5930.2, 5960.2)
[INFO] 3653853 WQVA547 (5930.2, 5960.2)
[INFO] 1014345 WNER277 (5930.2, 5960.2)
[INFO] 1039555 WPNC314 (5930.2, 5960.2)
[INFO] 3454993 WQQV497 (5930.2, 5960.2)
[INFO] 3789547 WQXI258 (5930.2, 5960.2)
[INFO] 1014359 WNER297 (5930.2, 5960.2)
[INFO] 3304513 WQNZ561 (5930.2, 5960.2)
[INFO] 3536404 WQSU882 (5930.2, 5960.2)
[INFO] 1006417 WMT235 (5930.2, 5960.2)
[INFO] 1014344 WNER276 (5930.2, 5960.2)
[INFO] 1002064 WMJ669 (5930.2, 5960.2)
[INFO] 980226 WHC362 (5930.2, 5960.2)
[INFO] 1013286 WNEP339 (5930.2, 5960.2)
[INFO] 4266672 WRFL994 (5930.2, 5960.2)
[INFO] 4441402 WRML347 (5930.2, 5960.2)
[INFO] 2997576 WQIN221 (5930.2, 5960.2)
[INFO] 3425798 WQQF594 (5930.2, 5960.2)
[INFO] 974159 WED279 (5930.2, 5960.2)
[INFO] 1046022 WPNM657 (5930.2, 5960.2)
[INFO] 3627812 WQUP233 (5930.2, 5960.2)
[INFO] 1043586 WPNI371 (5930.2, 5960.2)
[INFO] 4097181 WRCL741 (5930.2, 5960.2)
[INFO] 2974203 WQIC914 (5930.2, 5960.2)
[INFO] 3038038 WQJF663 (5930.2, 5960.2)
[INFO] 3063415 WQJS338 (5930.2, 5960.2)
[INFO] 3494055 WQRR312 (5930.2, 5960.2)
[INFO] 3160973 WQLG869 (5930.2, 5960.2)
[INFO] 974156 WED276 (5930.2, 5960.2)
[INFO] 3114175 WQKK721 (5930.2, 5960.2)
[INFO] 3667517 WQVG306 (5930.2, 5960.2)
[INFO] 3285284 WQNR563 (5930.2, 5960.2)
[INFO] 3225548 WQMK407 (5930.2, 5960.2)
[INFO] 3531566 WQSS331 (5930.2, 5960.2)
[INFO] 2846860 WQFT232 (5930.2, 5960.2)
[INFO] 1026406 WNTQ316 (5930.2, 5960.2)
[INFO] 1027454 WNTR649 (5930.2, 5960.2)
[INFO] 3428333 WQQG574 (5930.2, 5960.2)
[INFO] 3793945 WQXJ566 (5930.2, 5960.2)
[INFO] 2415472 WPUZ454 (5930.2, 5960.2)
[INFO] 3785561 WQXG876 (5930.2, 5960.2)
[INFO] 3627805 WQUP226 (5930.2, 5960.2)
[INFO] 3334774 WQON649 (5930.2, 5960.2)
[INFO] 2752855 WQDN374 (5930.2, 5960.2)
[INFO] 3736644 WQWK613 (5930.2, 5960.2)
[INFO] 3601664 WQUC565 (5930.2, 5960.2)
[INFO] 3935788 WQZP870 (5930.2, 5960.2)
[INFO] 4264487 WRFK642 (5930.2, 5960.2)
[INFO] 3049013 WQJK509 (5930.2, 5960.2)
[INFO] 957626 KCK25 (5930.2, 5960.2)
[INFO] 3304772 WQNZ646 (5930.2, 5960.2)
[INFO] 3867298 WQYN464 (5930.2, 5960.2)
[INFO] 3234484 WQMP738 (5930.2, 5960.2)
[INFO] 3085218 WQKA838 (5930.2, 5960.2)
[INFO] 3793832 WQXJ528 (5930.2, 5960.2)
[INFO] 1012689 WNEO238 (5930.2, 5960.2)
[INFO] 2917958 WQHA312 (5930.2, 5960.2)
[INFO] 3223543 WQMJ387 (5930.2, 5960.2)
[INFO] 2693743 WQCE463 (5930.2, 5960.2)
[INFO] 1006075 WMS686 (5930.2, 5960.2)
[INFO] 3560818 WQTI485 (5930.2, 5960.2)
[INFO] 3785987 WQXH209 (5930.2, 5960.2)
[INFO] 1008620 WMW258 (5930.2, 5960.2)
[INFO] 2730990 WQCZ751 (5930.2, 5960.2)
[INFO] 3044291 WQJI411 (5932.025, 5988.025)
[INFO] 3561179 WQTI597 (5932.025, 5988.025)
[INFO] 3225580 WQMK438 (5940.2, 5950.2)
[INFO] 1040602 WPND848 (5950.08, 5960.08)
[INFO] 974156 WED276 (5959.85, 5989.85)
[INFO] 3114175 WQKK721 (5959.85, 5989.85)
[INFO] 3667517 WQVG306 (5959.85, 5989.85)
[INFO] 4424235 WRMC215 (5959.85, 5989.85)
[INFO] 3531566 WQSS331 (5959.85, 5989.85)
[INFO] 1026406 WNTQ316 (5959.85, 5989.85)
[INFO] 3463437 WQRA260 (5959.85, 5989.85)
[INFO] 1005246 WMR416 (5959.85, 5989.85)
[INFO] 1005245 WMR415 (5959.85, 5989.85)
[INFO] 4441401 WRML346 (5959.85, 5989.85)
[INFO] 2415472 WPUZ454 (5959.85, 5989.85)
[INFO] 2961882 WQHV859 (5959.85, 5989.85)
[INFO] 3038221 WQJF698 (5959.85, 5989.85)
[INFO] 2609844 WPZY566 (5959.85, 5989.85)
[INFO] 3045908 WQJJ252 (5959.85, 5989.85)
[INFO] 4265829 WRFL547 (5959.85, 5989.85)
[INFO] 3257882 WQNE951 (5959.85, 5989.85)
[INFO] 988208 WLC211 (5959.85, 5989.85)
[INFO] 3578766 WQTR920 (5959.85, 5989.85)
[INFO] 3049020 WQJK516 (5959.85, 5989.85)
[INFO] 1040601 WPND847 (5959.85, 5989.85)
[INFO] 2693737 WQCE457 (5959.85, 5989.85)
[INFO] 3074906 WQJX216 (5959.85, 5989.85)
[INFO] 3085218 WQKA838 (5959.85, 5989.85)
[INFO] 3413369 WQQA313 (5959.85, 5989.85)
[INFO] 1027454 WNTR649 (5959.85, 5989.85)
[INFO] 3304425 WQNZ500 (5959.85, 5989.85)
[INFO] 968121 WAA840 (5959.85, 5989.85)
[INFO] 2846780 WQFS998 (5959.85, 5989.85)
[INFO] 4080738 WRCE227 (5959.85, 5989.85)
[INFO] 4264509 WRFK646 (5959.85, 5989.85)
[INFO] 1008620 WMW258 (5959.85, 5989.85)
[INFO] 3048979 WQJK505 (5959.85, 5989.85)
[INFO] 2552169 WPYR287 (5959.85, 5989.85)
[INFO] 2917580 WQHA216 (5959.85, 5989.85)
[INFO] 1047021 WPNN892 (5959.85, 5989.85)
[INFO] 3278093 WQNN807 (5959.85, 5989.85)
[INFO] 4364065 WRKD570 (5959.85, 5989.85)
[INFO] 3037695 WQJF547 (5959.85, 5989.85)
[INFO] 3296569 WQNV904 (5959.85, 5989.85)
[INFO] 975620 WEG314 (5959.85, 5989.85)
[INFO] 958190 KDU80 (5959.85, 5989.85)
[INFO] 3469565 WQRD564 (5959.85, 5989.85)
[INFO] 3038036 WQJF661 (5959.85, 5989.85)
[INFO] 2969284 WQIA733 (5959.85, 5989.85)
[INFO] 3451572 WQQT826 (5959.85, 5989.85)
[INFO] 2908181 WQGW464 (5959.85, 5989.85)
[INFO] 2730255 WQCZ338 (5959.85, 5989.85)
[INFO] 3451249 WQQT727 (5959.85, 5989.85)
[INFO] 2730256 WQCZ339 (5959.85, 5989.85)
[INFO] 3304513 WQNZ561 (5959.85, 5989.85)
[INFO] 969964 WAZ569 (5959.85, 5989.85)
[INFO] 2977409 WQIE805 (5959.85, 5989.85)
[INFO] 3627808 WQUP229 (5959.85, 5989.85)
[INFO] 2666874 WQBL517 (5959.85, 5989.85)
[INFO] 3797023 WQXK701 (5959.85, 5989.85)
[INFO] 1002064 WMJ669 (5959.85, 5989.85)
[INFO] 1045358 WPNL765 (5959.85, 5989.85)
[INFO] 1013286 WNEP339 (5959.85, 5989.85)
[INFO] 4090949 WRCI853 (5959.85, 5989.85)
[INFO] 3005438 WQIR226 (5959.85, 5989.85)
[INFO] 3627812 WQUP233 (5959.85, 5989.85)
[INFO] 1040602 WPND848 (5959.97, 5969.97)
[INFO] 2525509 WPXW615 (5969.85, 5979.85)
[INFO] 2884439 WQGL668 (5969.85, 5979.85)
[INFO] 1045356 WPNL763 (5989.325, 6049.325)
[INFO] 4381249 WRKP819 (5989.325, 6049.325)
[INFO] 2924273 WQHC834 (5989.325, 6049.325)
[INFO] 3972452 WRAG343 (5989.325, 6049.325)
[INFO] 3981239 WRAJ466 (5989.325, 6049.325)
[INFO] 3257882 WQNE951 (5989.325, 6049.325)
[INFO] 3955728 WQZY972 (5989.325, 6049.325)
[INFO] 4119305 WRCU974 (5989.325, 6049.325)
[INFO] 1098732 WPQR461 (5989.325, 6049.325)
[INFO] 3223543 WQMJ387 (5989.325, 6049.325)
[INFO] 3969917 WRAF301 (5989.325, 6049.325)
[INFO] 1051452 WPOU849 (5989.325, 6049.325)
[INFO] 1098735 WPQR464 (5989.325, 6049.325)
[INFO] 1014346 WNER278 (5989.5, 6019.5)
[INFO] 3045911 WQJJ255 (5989.5, 6019.5)
[INFO] 2414932 WPUY935 (5989.5, 6019.5)
[INFO] 2623036 WQAF917 (5989.5, 6019.5)
[INFO] 3451572 WQQT826 (5989.5, 6019.5)
[INFO] 1006205 WMS821 (5989.5, 6019.5)
[INFO] 2543766 WPYK290 (5989.5, 6019.5)
[INFO] 3877545 WQYR854 (5989.5, 6019.5)
[INFO] 1014345 WNER277 (5989.5, 6019.5)
[INFO] 3454993 WQQV497 (5989.5, 6019.5)
[INFO] 1014359 WNER297 (5989.5, 6019.5)
[INFO] 3065900 WQJT275 (5989.5, 6019.5)
[INFO] 3428352 WQQG593 (5989.5, 6019.5)
[INFO] 3304513 WQNZ561 (5989.5, 6019.5)
[INFO] 4264506 WRFK643 (5989.5, 6019.5)
[INFO] 1002064 WMJ669 (5989.5, 6019.5)
[INFO] 3633779 WQUR900 (5989.5, 6019.5)
[INFO] 1013286 WNEP339 (5989.5, 6019.5)
[INFO] 4090949 WRCI853 (5989.5, 6019.5)
[INFO] 2609843 WPZY565 (5989.5, 6019.5)
[INFO] 4089721 WRCI475 (5989.5, 6019.5)
[INFO] 2704019 WQCJ948 (5989.5, 6019.5)
[INFO] 3617465 WQUJ391 (5989.5, 6019.5)
[INFO] 3345683 WQOT368 (5989.5, 6019.5)
[INFO] 974156 WED276 (5989.5, 6019.5)
[INFO] 3114175 WQKK721 (5989.5, 6019.5)
[INFO] 3667517 WQVG306 (5989.5, 6019.5)
[INFO] 957628 KCK27 (5989.5, 6019.5)
[INFO] 1026062 WNTP731 (5989.5, 6019.5)
[INFO] 3531566 WQSS331 (5989.5, 6019.5)
[INFO] 2846860 WQFT232 (5989.5, 6019.5)
[INFO] 3463437 WQRA260 (5989.5, 6019.5)
[INFO] 3452278 WQQU334 (5989.5, 6019.5)
[INFO] 3728375 WQWG824 (5989.5, 6019.5)
[INFO] 4331823 WRJJ907 (5989.5, 6019.5)
[INFO] 1050272 WPOT357 (5989.5, 6019.5)
[INFO] 2902742 WQGU424 (5989.5, 6019.5)
[INFO] 3627805 WQUP226 (5989.5, 6019.5)
[INFO] 1038537 WPNA757 (5989.5, 6019.5)
[INFO] 3304777 WQNZ651 (5989.5, 6019.5)
[INFO] 3334774 WQON649 (5989.5, 6019.5)
[INFO] 3853857 WQYH959 (5989.5, 6019.5)
[INFO] 3038221 WQJF698 (5989.5, 6019.5)
[INFO] 3045908 WQJJ252 (5989.5, 6019.5)
[INFO] 3601664 WQUC565 (5989.5, 6019.5)
[INFO] 3981239 WRAJ466 (5989.5, 6019.5)
[INFO] 2826398 WQFG708 (5989.5, 6019.5)
[INFO] 2903854 WQGU868 (5989.5, 6019.5)
[INFO] 2469959 WPWM578 (5989.5, 6019.5)
[INFO] 4096886 WRCL658 (5989.5, 6019.5)
[INFO] 2878868 WQGJ528 (5989.5, 6019.5)
[INFO] 3502887 WQRW997 (5989.5, 6019.5)
[INFO] 3304772 WQNZ646 (5989.5, 6019.5)
[INFO] 4133099 WRDA536 (5989.5, 6019.5)
[INFO] 3234484 WQMP738 (5989.5, 6019.5)
[INFO] 3214581 WQME328 (5989.5, 6019.5)
[INFO] 3065250 WQJS861 (5989.5, 6019.5)
[INFO] 1026406 WNTQ316 (5989.5, 6019.5)
[INFO] 3304425 WQNZ500 (5989.5, 6019.5)
[INFO] 2917958 WQHA312 (5989.5, 6019.5)
[INFO] 3037762 WQJF577 (5989.5, 6019.5)
[INFO] 2730993 WQCZ754 (5989.5, 6019.5)
[INFO] 3975841 WRAH465 (5989.5, 6019.5)
[INFO] 3048979 WQJK505 (5989.5, 6019.5)
[INFO] 2961882 WQHV859 (5989.5, 6019.5)
[INFO] 2552169 WPYR287 (5989.5, 6019.5)
[INFO] 4135541 WRDB454 (5989.5, 6019.5)
[INFO] 3939329 WQZR472 (5989.5, 6019.5)
[INFO] 1304851 WPQX319 (5989.5, 6019.5)
[INFO] 3756509 WQWU537 (5989.5, 6019.5)
[INFO] 4133330 WRDA587 (5989.5, 6019.5)
[INFO] 4097177 WRCL737 (5989.5, 6019.5)
[INFO] 3222977 WQMI897 (5989.5, 6019.5)
[INFO] 3235457 WQMQ379 (5991.325, 6047.325)
[INFO] 3044290 WQJI410 (5991.325, 6047.325)
[INFO] 3842227 WQYD484 (5992.85, 6016.15)
[INFO] 3304777 WQNZ651 (6019.15, 6049.15)
[INFO] 1014344 WNER276 (6019.15, 6049.15)
[INFO] 1004792 WMQ731 (6019.15, 6049.15)
[INFO] 2752855 WQDN374 (6019.15, 6049.15)
[INFO] 3038221 WQJF698 (6019.15, 6049.15)
[INFO] 3981239 WRAJ466 (6019.15, 6049.15)
[INFO] 1944009 WPRV302 (6019.15, 6049.15)
[INFO] 3794193 WQXJ645 (6019.15, 6049.15)
[INFO] 2565114 WPYY866 (6019.15, 6049.15)
[INFO] 3046164 WQJJ377 (6019.15, 6049.15)
[INFO] 4097180 WRCL740 (6019.15, 6049.15)
[INFO] 1003974 WMN642 (6019.15, 6049.15)
[INFO] 4265833 WRFL551 (6019.15, 6049.15)
[INFO] 3413369 WQQA313 (6019.15, 6049.15)
[INFO] 1012487 WNEN347 (6019.15, 6049.15)
[INFO] 3037774 WQJF583 (6019.15, 6049.15)
[INFO] 2949478 WQHQ325 (6019.15, 6049.15)
[INFO] 1027454 WNTR649 (6019.15, 6049.15)
[INFO] 3304425 WQNZ500 (6019.15, 6049.15)
[INFO] 1012689 WNEO238 (6019.15, 6049.15)
[INFO] 1034660 WPJB270 (6019.15, 6049.15)
[INFO] 2846780 WQFS998 (6019.15, 6049.15)
[INFO] 4264509 WRFK646 (6019.15, 6049.15)
[INFO] 3038035 WQJF660 (6019.15, 6049.15)
[INFO] 1051452 WPOU849 (6019.15, 6049.15)
[INFO] 2961882 WQHV859 (6019.15, 6049.15)
[INFO] 3464768 WQRA927 (6019.15, 6049.15)
[INFO] 1012494 WNEN354 (6019.15, 6049.15)
[INFO] 3278093 WQNN807 (6019.15, 6049.15)
[INFO] 4128733 WRCY828 (6019.15, 6049.15)
[INFO] 3296569 WQNV904 (6019.15, 6049.15)
[INFO] 4331826 WRJJ910 (6019.15, 6049.15)
[INFO] 975620 WEG314 (6019.15, 6049.15)
[INFO] 3045911 WQJJ255 (6019.15, 6049.15)
[INFO] 4146075 WRDD878 (6019.15, 6049.15)
[INFO] 2900100 WQGT236 (6019.15, 6049.15)
[INFO] 2414932 WPUY935 (6019.15, 6049.15)
[INFO] 2623036 WQAF917 (6019.15, 6049.15)
[INFO] 963349 KPK96 (6019.15, 6049.15)
[INFO] 3226064 WQMK672 (6019.15, 6049.15)
[INFO] 2908181 WQGW464 (6019.15, 6049.15)
[INFO] 4424232 WRMC213 (6019.15, 6049.15)
[INFO] 1039555 WPNC314 (6019.15, 6049.15)
[INFO] 4146470 WRDE212 (6019.15, 6049.15)
[INFO] 999326 WLV264 (6019.15, 6049.15)
[INFO] 3259549 WQNF724 (6019.15, 6049.15)
[INFO] 2730255 WQCZ338 (6019.15, 6049.15)
[INFO] 3304513 WQNZ561 (6019.15, 6049.15)
[INFO] 3038231 WQJF702 (6019.15, 6049.15)
[INFO] 969964 WAZ569 (6019.15, 6049.15)
[INFO] 3065995 WQJT299 (6019.15, 6049.15)
[INFO] 3627808 WQUP229 (6019.15, 6049.15)
[INFO] 3416947 WQQB791 (6019.15, 6049.15)
[INFO] 3797021 WQXK699 (6019.15, 6049.15)
[INFO] 1002064 WMJ669 (6019.15, 6049.15)
[INFO] 4266672 WRFL994 (6019.15, 6049.15)
[INFO] 2552140 WPYR262 (6019.15, 6049.15)
[INFO] 3102937 WQKG731 (6019.15, 6049.15)
[INFO] 2704019 WQCJ948 (6019.15, 6049.15)
[INFO] 1015829 WNEU225 (6019.15, 6049.15)
[INFO] 974156 WED276 (6019.15, 6049.15)
[INFO] 1026403 WNTQ313 (6019.15, 6049.15)
[INFO] 3114175 WQKK721 (6019.15, 6049.15)
[INFO] 3667517 WQVG306 (6019.15, 6049.15)
[INFO] 3545775 WQTA480 (6019.15, 6049.15)
[INFO] 3160975 WQLG871 (6019.15, 6049.15)
[INFO] 1043585 WPNI370 (6019.15, 6049.15)
[INFO] 1026062 WNTP731 (6019.15, 6049.15)
[INFO] 2552704 WPYR575 (6019.15, 6049.15)
[INFO] 4266987 WRFM318 (6019.15, 6049.15)
[INFO] 3531566 WQSS331 (6019.15, 6049.15)
[INFO] 2561582 WPYW760 (6019.15, 6049.15)
[INFO] 3451249 WQQT727 (6019.15, 6049.15)
[INFO] 4331823 WRJJ907 (6019.15, 6049.15)
[INFO] 3037763 WQJF578 (6019.15, 6049.15)
[INFO] 2902742 WQGU424 (6019.15, 6049.15)
[INFO] 2415472 WPUZ454 (6019.15, 6049.15)
[INFO] 1006417 WMT235 (6019.15, 6049.15)
[INFO] 1934952 WPQZ674 (6019.15, 6049.15)
[INFO] 986810 WIW74 (6019.15, 6049.15)
[INFO] 2544163 WPYK536 (6019.15, 6049.15)
[INFO] 3816537 WQXS631 (6020.549999999999, 6047.75)
[INFO] 3895212 WQYY352 (6022.5, 6045.799999999999)
[INFO] 2884439 WQGL668 (6029.15, 6039.15)
[INFO] 2924273 WQHC834 (6048.625, 6108.625)
[INFO] 4038067 WRBL899 (6048.625, 6108.625)
[INFO] 3793832 WQXJ528 (6048.625, 6108.625)
[INFO] 1098732 WPQR461 (6048.625, 6108.625)
[INFO] 4311890 WRHY546 (6048.625, 6108.625)
[INFO] 3959519 WRAA807 (6048.625, 6108.625)
[INFO] 3970985 WRAF686 (6048.625, 6108.625)
[INFO] 969962 WAZ567 (6048.8, 6078.8)
[INFO] 1012689 WNEO238 (6048.8, 6078.8)
[INFO] 959902 KIN88 (6048.8, 6078.8)
[INFO] 1304850 WPQX317 (6048.8, 6078.8)
[INFO] 3045631 WQJI944 (6048.8, 6078.8)
[INFO] 3065900 WQJT275 (6048.8, 6078.8)
[INFO] 3428352 WQQG593 (6048.8, 6078.8)
[INFO] 3361478 WQPA316 (6048.8, 6078.8)
[INFO] 3776868 WQXD496 (6048.8, 6078.8)
[INFO] 4340920 WRJQ345 (6048.8, 6078.8)
[INFO] 2730256 WQCZ339 (6048.8, 6078.8)
[INFO] 3536404 WQSU882 (6048.8, 6078.8)
[INFO] 3038231 WQJF702 (6048.8, 6078.8)
[INFO] 3939329 WQZR472 (6048.8, 6078.8)
[INFO] 974491 WED860 (6048.8, 6078.8)
[INFO] 4265826 WRFL544 (6048.8, 6078.8)
[INFO] 4439225 WRMK305 (6048.8, 6078.8)
[INFO] 3756509 WQWU537 (6048.8, 6078.8)
[INFO] 1093212 WPQP310 (6048.8, 6078.8)
[INFO] 2730251 WQCZ334 (6048.8, 6078.8)
[INFO] 3428356 WQQG597 (6048.8, 6078.8)
[INFO] 1013286 WNEP339 (6048.8, 6078.8)
[INFO] 3235457 WQMQ379 (6048.8, 6078.8)
[INFO] 1043586 WPNI371 (6048.8, 6078.8)
[INFO] 3038038 WQJF663 (6048.8, 6078.8)
[INFO] 3494055 WQRR312 (6048.8, 6078.8)
[INFO] 3223613 WQMJ437 (6048.8, 6078.8)
[INFO] 1026403 WNTQ313 (6048.8, 6078.8)
[INFO] 3667517 WQVG306 (6048.8, 6078.8)
[INFO] 3545775 WQTA480 (6048.8, 6078.8)
[INFO] 3794174 WQXJ644 (6048.8, 6078.8)
[INFO] 1051358 WPOU755 (6048.8, 6078.8)
[INFO] 1026062 WNTP731 (6048.8, 6078.8)
[INFO] 4146470 WRDE212 (6048.8, 6078.8)
[INFO] 3531566 WQSS331 (6048.8, 6078.8)
[INFO] 3463437 WQRA260 (6048.8, 6078.8)
[INFO] 3452278 WQQU334 (6048.8, 6078.8)
[INFO] 2936067 WQHI924 (6048.8, 6078.8)
[INFO] 3614714 WQUH938 (6048.8, 6078.8)
[INFO] 3285286 WQNR565 (6048.8, 6078.8)
[INFO] 3049015 WQJK511 (6048.8, 6078.8)
[INFO] 3780924 WQXF260 (6048.8, 6078.8)
[INFO] 3038221 WQJF698 (6048.8, 6078.8)
[INFO] 3165978 WQLI850 (6048.8, 6078.8)
[INFO] 2903854 WQGU868 (6048.8, 6078.8)
[INFO] 3049013 WQJK509 (6048.8, 6078.8)
[INFO] 3049020 WQJK516 (6048.8, 6078.8)
[INFO] 1032890 WNTZ393 (6048.8, 6078.8)
[INFO] 2703975 WQCJ926 (6048.8, 6078.8)
[INFO] 974156 WED276 (6048.8, 6078.8)
[INFO] 2693737 WQCE457 (6048.8, 6078.8)
[INFO] 960285 KJB64 (6048.8, 6078.8)
[INFO] 3304425 WQNZ500 (6048.8, 6078.8)
[INFO] 3428333 WQQG574 (6048.8, 6078.8)
[INFO] 2902742 WQGU424 (6048.8, 6078.8)
[INFO] 1939388 WPRS748 (6048.8, 6078.8)
[INFO] 2730990 WQCZ751 (6048.8, 6078.8)
[INFO] 2961882 WQHV859 (6048.8, 6078.8)
[INFO] 3853858 WQYH960 (6048.8, 6078.8)
[INFO] 3627803 WQUP224 (6048.8, 6078.8)
[INFO] 4499305 WRNZ770 (6048.8, 6078.8)
[INFO] 1012494 WNEN354 (6048.8, 6078.8)
[INFO] 3653119 WQVA249 (6048.8, 6078.8)
[INFO] 3257882 WQNE951 (6048.8, 6078.8)
[INFO] 1014346 WNER278 (6048.8, 6078.8)
[INFO] 3046164 WQJJ377 (6048.8, 6078.8)
[INFO] 3649247 WQUY760 (6048.8, 6078.8)
[INFO] 4169505 WRDN556 (6048.8, 6078.8)
[INFO] 3662682 WQVE303 (6048.8, 6078.8)
[INFO] 2356968 WPTJ414 (6048.92, 6058.92)
[INFO] 3044291 WQJI411 (6050.625, 6106.625)
[INFO] 3895212 WQYY352 (6052.150000000001, 6075.45)
[INFO] 1017703 WNEX891 (6052.150000000001, 6075.45)
[INFO] 3150330 WQLB961 (6058.8, 6068.8)
[INFO] 3818249 WQXT370 (6078.45, 6108.45)
[INFO] 974159 WED279 (6078.45, 6108.45)
[INFO] 3356169 WQOX982 (6078.45, 6108.45)
[INFO] 3065213 WQJS839 (6078.45, 6108.45)
[INFO] 1032890 WNTZ393 (6078.45, 6108.45)
[INFO] 4265833 WRFL551 (6078.45, 6108.45)
[INFO] 974156 WED276 (6078.45, 6108.45)
[INFO] 4372276 WRKI620 (6078.45, 6108.45)
[INFO] 4133090 WRDA534 (6078.45, 6108.45)
[INFO] 1012487 WNEN347 (6078.45, 6108.45)
[INFO] 1005246 WMR416 (6078.45, 6108.45)
[INFO] 3304425 WQNZ500 (6078.45, 6108.45)
[INFO] 1019246 WNTB302 (6078.45, 6108.45)
[INFO] 3037762 WQJF577 (6078.45, 6108.45)
[INFO] 1045242 WPNL643 (6078.45, 6108.45)
[INFO] 3793945 WQXJ566 (6078.45, 6108.45)
[INFO] 3605741 WQUE417 (6078.45, 6108.45)
[INFO] 1939388 WPRS748 (6078.45, 6108.45)
[INFO] 2730993 WQCZ754 (6078.45, 6108.45)
[INFO] 2961882 WQHV859 (6078.45, 6108.45)
[INFO] 3627803 WQUP224 (6078.45, 6108.45)
[INFO] 3464768 WQRA927 (6078.45, 6108.45)
[INFO] 4499305 WRNZ770 (6078.45, 6108.45)
[INFO] 4128733 WRCY828 (6078.45, 6108.45)
[INFO] 4331822 WRJJ906 (6078.45, 6108.45)
[INFO] 1014346 WNER278 (6078.45, 6108.45)
[INFO] 3045911 WQJJ255 (6078.45, 6108.45)
[INFO] 4146075 WRDD878 (6078.45, 6108.45)
[INFO] 3469565 WQRD564 (6078.45, 6108.45)
[INFO] 2414932 WPUY935 (6078.45, 6108.45)
[INFO] 2969284 WQIA733 (6078.45, 6108.45)
[INFO] 1034675 WPJB285 (6078.45, 6108.45)
[INFO] 1049094 WPOR656 (6078.45, 6108.45)
[INFO] 1003973 WMN641 (6078.45, 6108.45)
[INFO] 3797020 WQXK698 (6078.45, 6108.45)
[INFO] 3107555 WQKI475 (6078.45, 6108.45)
[INFO] 999326 WLV264 (6078.45, 6108.45)
[INFO] 3259549 WQNF724 (6078.45, 6108.45)
[INFO] 3160974 WQLG870 (6078.45, 6108.45)
[INFO] 2730255 WQCZ338 (6078.45, 6108.45)
[INFO] 4340920 WRJQ345 (6078.45, 6108.45)
[INFO] 3304513 WQNZ561 (6078.45, 6108.45)
[INFO] 3975841 WRAH465 (6078.45, 6108.45)
[INFO] 1051452 WPOU849 (6078.45, 6108.45)
[INFO] 3049024 WQJK520 (6078.45, 6108.45)
[INFO] 2552169 WPYR287 (6078.45, 6108.45)
[INFO] 3761725 WQWW481 (6078.45, 6108.45)
[INFO] 4097178 WRCL738 (6078.45, 6108.45)
[INFO] 974491 WED860 (6078.45, 6108.45)
[INFO] 2987157 WQII673 (6078.45, 6108.45)
[INFO] 1093212 WPQP310 (6078.45, 6108.45)
[INFO] 2693741 WQCE461 (6078.45, 6108.45)
[INFO] 3853859 WQYH961 (6078.45, 6108.45)
[INFO] 1043583 WPNI368 (6078.45, 6108.45)
[INFO] 2788451 WQEL303 (6078.45, 6108.45)
[INFO] 1006076 WMS687 (6078.45, 6108.45)
[INFO] 2900100 WQGT236 (6078.45, 6108.45)
[INFO] 3627821 WQUP236 (6078.45, 6108.45)
[INFO] 3345683 WQOT368 (6078.45, 6108.45)
[INFO] 1093209 WPQP308 (6078.45, 6108.45)
[INFO] 1026403 WNTQ313 (6078.45, 6108.45)
[INFO] 3667517 WQVG306 (6078.45, 6108.45)
[INFO] 3160975 WQLG871 (6078.45, 6108.45)
[INFO] 3222518 WQMI719 (6078.45, 6108.45)
[INFO] 1026062 WNTP731 (6078.45, 6108.45)
[INFO] 2552704 WPYR575 (6078.45, 6108.45)
[INFO] 3531566 WQSS331 (6078.45, 6108.45)
[INFO] 1049718 WPOS493 (6078.45, 6108.45)
[INFO] 4096055 WRCL314 (6078.45, 6108.45)
[INFO] 4102265 WRCN600 (6078.45, 6108.45)
[INFO] 3285286 WQNR565 (6078.45, 6108.45)
[INFO] 986810 WIW74 (6078.45, 6108.45)
[INFO] 3304777 WQNZ651 (6078.45, 6108.45)
[INFO] 3650855 WQUZ342 (6078.45, 6108.45)
[INFO] 3037702 WQJF553 (6078.45, 6108.45)
[INFO] 3633780 WQUR901 (6078.45, 6108.45)
[INFO] 3045908 WQJJ252 (6078.45, 6108.45)
[INFO] 2903854 WQGU868 (6078.45, 6108.45)
[INFO] 3779632 WQXE659 (6079.8, 6107.099999999999)
[INFO] 1098730 WPQR459 (6107.925, 6167.925)
[INFO] 1045357 WPNL764 (6107.925, 6167.925)
[INFO] 3063415 WQJS338 (6107.925, 6167.925)
[INFO] 3418212 WQQC369 (6107.925, 6167.925)
[INFO] 3971580 WRAF832 (6107.925, 6167.925)
[INFO] 4266638 WRFL960 (6107.925, 6167.925)
[INFO] 1045356 WPNL763 (6107.925, 6167.925)
[INFO] 4312208 WRHY697 (6107.925, 6167.925)
[INFO] 3970888 WRAF668 (6107.925, 6167.925)
[INFO] 2924273 WQHC834 (6107.925, 6167.925)
[INFO] 4038067 WRBL899 (6107.925, 6167.925)
[INFO] 1098732 WPQR461 (6107.925, 6167.925)
[INFO] 976189 WEH397 (6107.925, 6167.925)
[INFO] 3877080 WQYR690 (6107.925, 6167.925)
[INFO] 3955728 WQZY972 (6107.925, 6167.925)
[INFO] 3223543 WQMJ387 (6107.925, 6167.925)
[INFO] 3939329 WQZR472 (6108.1, 6138.1)
[INFO] 974491 WED860 (6108.1, 6138.1)
[INFO] 4499305 WRNZ770 (6108.1, 6138.1)
[INFO] 3653119 WQVA249 (6108.1, 6138.1)
[INFO] 3649247 WQUY760 (6108.1, 6138.1)
[INFO] 2900100 WQGT236 (6108.1, 6138.1)
[INFO] 2826401 WQFG711 (6108.1, 6138.1)
[INFO] 1093209 WPQP308 (6108.1, 6138.1)
[INFO] 1026403 WNTQ313 (6108.1, 6138.1)
[INFO] 3045631 WQJI944 (6108.1, 6138.1)
[INFO] 3285532 WQNR599 (6108.1, 6138.1)
[INFO] 3285531 WQNR598 (6108.1, 6138.1)
[INFO] 2544167 WPYK540 (6108.1, 6138.1)
[INFO] 3797021 WQXK699 (6108.1, 6138.1)
[INFO] 2730251 WQCZ334 (6108.1, 6138.1)
[INFO] 2997576 WQIN221 (6108.1, 6138.1)
[INFO] 3048976 WQJK502 (6108.1, 6138.1)
[INFO] 1093214 WPQP312 (6108.1, 6138.1)
[INFO] 974159 WED279 (6108.1, 6138.1)
[INFO] 3627821 WQUP236 (6108.1, 6138.1)
[INFO] 3494055 WQRR312 (6108.1, 6138.1)
[INFO] 3223613 WQMJ437 (6108.1, 6138.1)
[INFO] 974156 WED276 (6108.1, 6138.1)
[INFO] 3160977 WQLG873 (6108.1, 6138.1)
[INFO] 3667517 WQVG306 (6108.1, 6138.1)
[INFO] 3756526 WQWU553 (6108.1, 6138.1)
[INFO] 1026062 WNTP731 (6108.1, 6138.1)
[INFO] 2936067 WQHI924 (6108.1, 6138.1)
[INFO] 3049866 WQJK787 (6108.1, 6138.1)
[INFO] 4102265 WRCN600 (6108.1, 6138.1)
[INFO] 1038537 WPNA757 (6108.1, 6138.1)
[INFO] 4135028 WRDB287 (6108.1, 6138.1)
[INFO] 3334774 WQON649 (6108.1, 6138.1)
[INFO] 980226 WHC362 (6108.1, 6138.1)
[INFO] 1944009 WPRV302 (6108.1, 6138.1)
[INFO] 2469959 WPWM578 (6108.1, 6138.1)
[INFO] 2565117 WPYY869 (6108.1, 6138.1)
[INFO] 988208 WLC211 (6108.1, 6138.1)
[INFO] 1032890 WNTZ393 (6108.1, 6138.1)
[INFO] 4133099 WRDA536 (6108.1, 6138.1)
[INFO] 4372276 WRKI620 (6108.1, 6138.1)
[INFO] 3756491 WQWU519 (6108.1, 6138.1)
[INFO] 2949478 WQHQ325 (6108.1, 6138.1)
[INFO] 3304425 WQNZ500 (6108.1, 6138.1)
[INFO] 1012689 WNEO238 (6108.1, 6138.1)
[INFO] 2565115 WPYY867 (6108.1, 6138.1)
[INFO] 4424227 WRMC208 (6108.1, 6138.1)
[INFO] 1939388 WPRS748 (6108.1, 6138.1)
[INFO] 3722262 WQWD915 (6108.1, 6138.1)
[INFO] 2961882 WQHV859 (6108.1, 6138.1)
[INFO] 3761725 WQWW481 (6108.1, 6138.1)
[INFO] 2791267 WQEM724 (6108.25, 6113.25)
[INFO] 3262644 WQNH289 (6110.731, 6113.231)
[INFO] 3639226 WQUU541 (6118.1, 6128.1)
[INFO] 1023228 WNTK461 (6123.099999999999, 6128.04)
[INFO] 2791267 WQEM724 (6128.01, 6133.01)
[INFO] 2791268 WQEM725 (6132.95, 6137.95)
[INFO] 1023227 WNTK460 (6132.98, 6137.92)
[INFO] 3667517 WQVG306 (6137.75, 6167.75)
[INFO] 3793200 WQXJ368 (6137.75, 6167.75)
[INFO] 3756491 WQWU519 (6137.75, 6167.75)
[INFO] 1005246 WMR416 (6137.75, 6167.75)
[INFO] 3728375 WQWG824 (6137.75, 6167.75)
[INFO] 3791552 WQXI792 (6137.75, 6167.75)
[INFO] 3554947 WQTF577 (6137.75, 6167.75)
[INFO] 1939388 WPRS748 (6137.75, 6167.75)
[INFO] 2730253 WQCZ336 (6137.75, 6167.75)
[INFO] 969966 WAZ572 (6137.75, 6167.75)
[INFO] 2961882 WQHV859 (6137.75, 6167.75)
[INFO] 3304777 WQNZ651 (6137.75, 6167.75)
[INFO] 3050095 WQJK864 (6137.75, 6167.75)
[INFO] 3049138 WQJK553 (6137.75, 6167.75)
[INFO] 1014346 WNER278 (6137.75, 6167.75)
[INFO] 1032890 WNTZ393 (6137.75, 6167.75)
[INFO] 2969284 WQIA733 (6137.75, 6167.75)
[INFO] 3424388 WQQE896 (6137.75, 6167.75)
[INFO] 3085218 WQKA838 (6137.75, 6167.75)
[INFO] 3578726 WQTR880 (6137.75, 6167.75)
[INFO] 1039555 WPNC314 (6137.75, 6167.75)
[INFO] 2565115 WPYY867 (6137.75, 6167.75)
[INFO] 2730255 WQCZ338 (6137.75, 6167.75)
[INFO] 3049024 WQJK520 (6137.75, 6167.75)
[INFO] 3939329 WQZR472 (6137.75, 6167.75)
[INFO] 3298921 WQNW997 (6137.75, 6167.75)
[INFO] 4265826 WRFL544 (6137.75, 6167.75)
[INFO] 4499305 WRNZ770 (6137.75, 6167.75)
[INFO] 3438134 WQQL346 (6137.75, 6167.75)
[INFO] 3416947 WQQB791 (6137.75, 6167.75)
[INFO] 3037731 WQJF564 (6137.75, 6167.75)
[INFO] 3323998 WQOI883 (6137.75, 6167.75)
[INFO] 1093209 WPQP308 (6137.75, 6167.75)
[INFO] 1026403 WNTQ313 (6137.75, 6167.75)
[INFO] 2998116 WQIN384 (6137.75, 6167.75)
[INFO] 1026062 WNTP731 (6137.75, 6167.75)
[INFO] 3531566 WQSS331 (6137.75, 6167.75)
[INFO] 3045631 WQJI944 (6137.75, 6167.75)
[INFO] 4096055 WRCL314 (6137.75, 6167.75)
[INFO] 1093214 WPQP312 (6137.75, 6167.75)
[INFO] 974159 WED279 (6137.75, 6167.75)
[INFO] 2609843 WPZY565 (6137.75, 6167.75)
[INFO] 976189 WEH397 (6139.0, 6166.5)
[INFO] 1017711 WNEX899 (6141.1, 6164.4)
[INFO] 4469909 WRNC589 (6147.75, 6157.75)
[INFO] 4312174 WRHY676 (6182.065, 6242.065)
[INFO] 1045359 WPNL766 (6182.065, 6242.065)
[INFO] 3874840 WQYQ843 (6182.065, 6242.065)
[INFO] 4312186 WRHY687 (6182.065, 6242.065)
[INFO] 4114129 WRCT541 (6182.065, 6242.065)
[INFO] 1098732 WPQR461 (6182.065, 6242.065)
[INFO] 3534060 WQST405 (6182.065, 6242.065)
[INFO] 1046398 WPNN252 (6182.065, 6242.065)
[INFO] 3223630 WQMJ448 (6182.065, 6242.065)
[INFO] 3970983 WRAF685 (6182.065, 6242.065)
[INFO] 4150894 WRDF696 (6182.065, 6242.065)
[INFO] 3970915 WRAF673 (6182.065, 6242.065)
[INFO] 1933928 WPQZ379 (6182.065, 6242.065)
[INFO] 4005731 WRAT828 (6182.065, 6242.065)
[INFO] 4381248 WRKP818 (6182.065, 6242.065)
[INFO] 4266591 WRFL918 (6182.065, 6242.065)
[INFO] 1002065 WMJ670 (6182.24, 6212.24)
[INFO] 4264422 WRFK632 (6182.24, 6212.24)
[INFO] 3113986 WQKK688 (6182.24, 6212.24)
[INFO] 2693740 WQCE460 (6182.24, 6212.24)
[INFO] 3805727 WQXN851 (6182.24, 6212.24)
[INFO] 2543883 WPYK388 (6182.24, 6212.24)
[INFO] 2730992 WQCZ753 (6182.24, 6212.24)
[INFO] 3793833 WQXJ529 (6182.24, 6212.24)
[INFO] 3112634 WQKK269 (6182.24, 6212.24)
[INFO] 3110031 WQKJ375 (6182.24, 6212.24)
[INFO] 2791646 WQEM885 (6182.24, 6212.24)
[INFO] 3160974 WQLG870 (6182.24, 6212.24)
[INFO] 4265004 WRFK836 (6182.24, 6212.24)
[INFO] 3285532 WQNR599 (6182.24, 6212.24)
[INFO] 2788462 WQEL314 (6182.24, 6212.24)
[INFO] 3223630 WQMJ448 (6182.24, 6212.24)
[INFO] 3499704 WQRU761 (6182.24, 6212.24)
[INFO] 2436674 WPVQ924 (6182.24, 6212.24)
[INFO] 3393929 WQPP746 (6182.24, 6212.24)
[INFO] 3560816 WQTI483 (6182.24, 6212.24)
[INFO] 2730251 WQCZ334 (6182.24, 6212.24)
[INFO] 1013286 WNEP339 (6182.24, 6212.24)
[INFO] 1004289 WMQ209 (6182.24, 6212.24)
[INFO] 3304771 WQNZ645 (6182.24, 6212.24)
[INFO] 3653120 WQVA250 (6182.24, 6212.24)
[INFO] 3037854 WQJF590 (6182.24, 6212.24)
[INFO] 2552140 WPYR262 (6182.24, 6212.24)
[INFO] 3627821 WQUP236 (6182.24, 6212.24)
[INFO] 3939411 WQZR489 (6182.24, 6212.24)
[INFO] 1013287 WNEP340 (6182.24, 6212.24)
[INFO] 4265045 WRFK851 (6182.24, 6212.24)
[INFO] 3531565 WQSS330 (6182.24, 6212.24)
[INFO] 3536403 WQSU881 (6182.24, 6212.24)
[INFO] 3160975 WQLG871 (6182.24, 6212.24)
[INFO] 1025313 WNTN574 (6182.24, 6212.24)
[INFO] 1043585 WPNI370 (6182.24, 6212.24)
[INFO] 3653825 WQVA530 (6182.24, 6212.24)
[INFO] 3605786 WQUE432 (6182.24, 6212.24)
[INFO] 974157 WED277 (6182.24, 6212.24)
[INFO] 4441380 WRML345 (6182.24, 6212.24)
[INFO] 3455004 WQQV508 (6182.24, 6212.24)
[INFO] 3045912 WQJJ256 (6182.24, 6212.24)
[INFO] 1015831 WNEU227 (6182.24, 6212.24)
[INFO] 3785986 WQXH208 (6182.24, 6212.24)
[INFO] 3288160 WQNS675 (6182.24, 6212.24)
[INFO] 3687803 WQVN529 (6182.24, 6212.24)
[INFO] 3285286 WQNR565 (6182.24, 6212.24)
[INFO] 2917957 WQHA311 (6182.24, 6212.24)
[INFO] 1032634 WNTY925 (6182.24, 6212.24)
[INFO] 3049015 WQJK511 (6182.24, 6212.24)
[INFO] 1008623 WMW261 (6182.24, 6212.24)
[INFO] 3160978 WQLG874 (6182.24, 6212.24)
[INFO] 974161 WED281 (6182.24, 6212.24)
[INFO] 3867299 WQYN465 (6182.24, 6212.24)
[INFO] 1051713 WQH57 (6182.24, 6212.24)
[INFO] 1043582 WPNI367 (6182.24, 6212.24)
[INFO] 3428332 WQQG573 (6182.24, 6212.24)
[INFO] 1053984 WPNA981 (6182.24, 6212.24)
[INFO] 4177769 WRDS256 (6182.24, 6212.24)
[INFO] 3789545 WQXI256 (6182.24, 6212.24)
[INFO] 4130251 WRCZ456 (6182.24, 6212.24)
[INFO] 1304849 WPQX316 (6182.24, 6212.24)
[INFO] 2788457 WQEL309 (6182.24, 6212.24)
[INFO] 3627804 WQUP225 (6182.24, 6212.24)
[INFO] 3304510 WQNZ558 (6182.24, 6212.24)
[INFO] 1939486 WPRS801 (6182.24, 6212.24)
[INFO] 3662683 WQVE304 (6182.24, 6212.24)
[INFO] 3309283 WQOB983 (6182.24, 6212.24)
[INFO] 3102155 WQKG485 (6182.24, 6212.24)
[INFO] 3037774 WQJF583 (6182.24, 6212.24)
[INFO] 2713287 WQCP979 (6182.24, 6212.24)
[INFO] 1014360 WNER298 (6182.24, 6212.24)
[INFO] 1019246 WNTB302 (6182.24, 6212.24)
[INFO] 3595978 WQTZ980 (6182.24, 6212.24)
[INFO] 1012640 WNEN927 (6182.24, 6212.24)
[INFO] 3766290 WQWY422 (6182.24, 6212.24)
[INFO] 4331822 WRJJ906 (6182.24, 6212.24)
[INFO] 2730257 WQCZ340 (6182.24, 6212.24)
[INFO] 980228 WHC364 (6182.24, 6212.24)
[INFO] 2730254 WQCZ337 (6182.24, 6212.24)
[INFO] 3428417 WQQG604 (6182.24, 6212.24)
[INFO] 3223561 WQMJ405 (6182.24, 6212.24)
[INFO] 975621 WEG315 (6182.24, 6212.24)
[INFO] 957625 KCK24 (6182.24, 6212.24)
[INFO] 2686357 WQBZ627 (6182.24, 6212.24)
[INFO] 3038037 WQJF662 (6182.24, 6212.24)
[INFO] 3235453 WQMQ377 (6184.065, 6240.065)
[INFO] 3560117 WQTH996 (6184.065, 6240.065)
[INFO] 1017726 WNEY210 (6192.24, 6202.24)
[INFO] 3224947 WQMJ937 (6192.24, 6202.24)
[INFO] 2360889 WPTM496 (6202.12, 6212.12)
[INFO] 2917548 WQHA203 (6211.89, 6241.89)
[INFO] 1008623 WMW261 (6211.89, 6241.89)
[INFO] 3045907 WQJJ251 (6211.89, 6241.89)
[INFO] 3801452 WQXM523 (6211.89, 6241.89)
[INFO] 4096889 WRCL660 (6211.89, 6241.89)
[INFO] 2908180 WQGW463 (6211.89, 6241.89)
[INFO] 1053984 WPNA981 (6211.89, 6241.89)
[INFO] 2853541 WQFW566 (6211.89, 6241.89)
[INFO] 3627806 WQUP227 (6211.89, 6241.89)
[INFO] 1939486 WPRS801 (6211.89, 6241.89)
[INFO] 4424240 WRMC220 (6211.89, 6241.89)
[INFO] 969765 WAY532 (6211.89, 6241.89)
[INFO] 3536433 WQSU890 (6211.89, 6241.89)
[INFO] 2361115 WPTM669 (6211.89, 6241.89)
[INFO] 3065973 WQJT281 (6211.89, 6241.89)
[INFO] 3304782 WQNZ656 (6211.89, 6241.89)
[INFO] 3037763 WQJF578 (6211.89, 6241.89)
[INFO] 3037698 WQJF549 (6211.89, 6241.89)
[INFO] 3235461 WQMQ383 (6211.89, 6241.89)
[INFO] 2961189 WQHV581 (6211.89, 6241.89)
[INFO] 998503 WLT736 (6211.89, 6241.89)
[INFO] 3165977 WQLI849 (6211.89, 6241.89)
[INFO] 3049017 WQJK513 (6211.89, 6241.89)
[INFO] 1012640 WNEN927 (6211.89, 6241.89)
[INFO] 3223002 WQMI921 (6211.89, 6241.89)
[INFO] 1006414 WMT232 (6211.89, 6241.89)
[INFO] 3639222 WQUU537 (6211.89, 6241.89)
[INFO] 3438310 WQQL429 (6211.89, 6241.89)
[INFO] 3451571 WQQT825 (6211.89, 6241.89)
[INFO] 2730254 WQCZ337 (6211.89, 6241.89)
[INFO] 3413370 WQQA314 (6211.89, 6241.89)
[INFO] 975621 WEG315 (6211.89, 6241.89)
[INFO] 2730991 WQCZ752 (6211.89, 6241.89)
[INFO] 1002065 WMJ670 (6211.89, 6241.89)
[INFO] 1049094 WPOR656 (6211.89, 6241.89)
[INFO] 2730992 WQCZ753 (6211.89, 6241.89)
[INFO] 1014360 WNER298 (6211.89, 6241.89)
[INFO] 1012689 WNEO238 (6211.89, 6241.89)
[INFO] 4135518 WRDB437 (6211.89, 6241.89)
[INFO] 3797024 WQXK702 (6211.89, 6241.89)
[INFO] 4265004 WRFK836 (6211.89, 6241.89)
[INFO] 4314141 WRHZ736 (6211.89, 6241.89)
[INFO] 4132480 WRDA341 (6211.89, 6241.89)
[INFO] 1002818 WML289 (6211.89, 6241.89)
[INFO] 3578765 WQTR919 (6211.89, 6241.89)
[INFO] 3037854 WQJF590 (6211.89, 6241.89)
[INFO] 2961883 WQHV860 (6211.89, 6241.89)
[INFO] 3469564 WQRD563 (6211.89, 6241.89)
[INFO] 2693742 WQCE462 (6211.89, 6241.89)
[INFO] 969963 WAZ568 (6211.89, 6241.89)
[INFO] 3627821 WQUP236 (6211.89, 6241.89)
[INFO] 3362672 WQPA788 (6211.89, 6241.89)
[INFO] 3536380 WQSU871 (6211.89, 6241.89)
[INFO] 3531565 WQSS330 (6211.89, 6241.89)
[INFO] 4364084 WRKD572 (6211.89, 6241.89)
[INFO] 4090952 WRCI856 (6211.89, 6241.89)
[INFO] 1071297 WPOL875 (6211.89, 6241.89)
[INFO] 3048980 WQJK506 (6211.89, 6241.89)
[INFO] 2523758 WPXV622 (6211.89, 6241.89)
[INFO] 2951263 WQHR222 (6211.89, 6241.89)
[INFO] 2342822 WPSZ324 (6212.01, 6222.01)
[INFO] 2884441 WQGL670 (6221.89, 6231.89)
[INFO] 3227471 WQML417 (6221.89, 6231.89)
[INFO] 3063415 WQJS338 (6241.365, 6301.365)
[INFO] 1045359 WPNL766 (6241.365, 6301.365)
[INFO] 4381248 WRKP818 (6241.365, 6301.365)
[INFO] 975310 WEF620 (6241.365, 6301.365)
[INFO] 3984027 WRAK586 (6241.365, 6301.365)
[INFO] 4212793 WREK589 (6241.365, 6301.365)
[INFO] 3874840 WQYQ843 (6241.365, 6301.365)
[INFO] 4114129 WRCT541 (6241.365, 6301.365)
[INFO] 4312186 WRHY687 (6241.365, 6301.365)
[INFO] 3970983 WRAF685 (6241.365, 6301.365)
[INFO] 4150894 WRDF696 (6241.365, 6301.365)
[INFO] 1098736 WPQR465 (6241.365, 6301.365)
[INFO] 3960523 WRAB413 (6241.365, 6301.365)
[INFO] 3972488 WRAG358 (6241.365, 6301.365)
[INFO] 4311888 WRHY544 (6241.365, 6301.365)
[INFO] 3971587 WRAF839 (6241.365, 6301.365)
[INFO] 3428351 WQQG592 (6241.54, 6271.54)
[INFO] 2917539 WQGZ994 (6241.54, 6271.54)
[INFO] 3048977 WQJK503 (6241.54, 6271.54)
[INFO] 1043587 WPNI372 (6241.54, 6271.54)
[INFO] 4314141 WRHZ736 (6241.54, 6271.54)
[INFO] 3585630 WQTV323 (6241.54, 6271.54)
[INFO] 2561581 WPYW759 (6241.54, 6271.54)
[INFO] 2730251 WQCZ334 (6241.54, 6271.54)
[INFO] 1004289 WMQ209 (6241.54, 6271.54)
[INFO] 3304443 WQNZ502 (6241.54, 6271.54)
[INFO] 1006413 WMT231 (6241.54, 6271.54)
[INFO] 2961883 WQHV860 (6241.54, 6271.54)
[INFO] 3452277 WQQU333 (6241.54, 6271.54)
[INFO] 3037787 WQJF585 (6241.54, 6271.54)
[INFO] 4298559 WRHQ987 (6241.54, 6271.54)
[INFO] 3531565 WQSS330 (6241.54, 6271.54)
[INFO] 3605786 WQUE432 (6241.54, 6271.54)
[INFO] 3455004 WQQV508 (6241.54, 6271.54)
[INFO] 1044312 WPNJ413 (6241.54, 6271.54)
[INFO] 2609841 WPZY563 (6241.54, 6271.54)
[INFO] 3954328 WQZY419 (6241.54, 6271.54)
[INFO] 3065603 WQJS999 (6241.54, 6271.54)
[INFO] 2523758 WPXV622 (6241.54, 6271.54)
[INFO] 3797022 WQXK700 (6241.54, 6271.54)
[INFO] 2951263 WQHR222 (6241.54, 6271.54)
[INFO] 2730252 WQCZ335 (6241.54, 6271.54)
[INFO] 1008623 WMW261 (6241.54, 6271.54)
[INFO] 3160978 WQLG874 (6241.54, 6271.54)
[INFO] 3633780 WQUR901 (6241.54, 6271.54)
[INFO] 2900101 WQGT237 (6241.54, 6271.54)
[INFO] 1051713 WQH57 (6241.54, 6271.54)
[INFO] 3304771 WQNZ645 (6241.54, 6271.54)
[INFO] 3045907 WQJJ251 (6241.54, 6271.54)
[INFO] 2552136 WPYR258 (6241.54, 6271.54)
[INFO] 3065975 WQJT283 (6241.54, 6271.54)
[INFO] 1053984 WPNA981 (6241.54, 6271.54)
[INFO] 3627804 WQUP225 (6241.54, 6271.54)
[INFO] 4133332 WRDA589 (6241.54, 6271.54)
[INFO] 1032890 WNTZ393 (6241.54, 6271.54)
[INFO] 1939486 WPRS801 (6241.54, 6271.54)
[INFO] 3939411 WQZR489 (6241.54, 6271.54)
[INFO] 3304782 WQNZ656 (6241.54, 6271.54)
[INFO] 974157 WED277 (6241.54, 6271.54)
[INFO] 2936066 WQHI923 (6241.54, 6271.54)
[INFO] 3463633 WQRA398 (6241.54, 6271.54)
[INFO] 3037698 WQJF549 (6241.54, 6271.54)
[INFO] 4090959 WRCI863 (6241.54, 6271.54)
[INFO] 2961189 WQHV581 (6241.54, 6271.54)
[INFO] 3756499 WQWU527 (6241.54, 6271.54)
[INFO] 1050273 WPOT358 (6241.54, 6271.54)
[INFO] 1012640 WNEN927 (6241.54, 6271.54)
[INFO] 2609840 WPZY562 (6241.54, 6271.54)
[INFO] 3526093 WQSM249 (6241.54, 6271.54)
[INFO] 3065605 WQJT201 (6241.54, 6271.54)
[INFO] 4331821 WRJJ905 (6241.54, 6271.54)
[INFO] 3984027 WRAK586 (6241.54, 6271.54)
[INFO] 1013288 WNEP341 (6241.54, 6271.54)
[INFO] 2919345 WQHA761 (6241.54, 6271.54)
[INFO] 3451571 WQQT825 (6241.54, 6271.54)
[INFO] 3723525 WQWE650 (6241.54, 6271.54)
[INFO] 4096887 WRCL659 (6241.54, 6271.54)
[INFO] 1014347 WNER279 (6241.54, 6271.54)
[INFO] 2826401 WQFG711 (6241.54, 6271.54)
[INFO] 4331825 WRJJ909 (6241.54, 6271.54)
[INFO] 3223561 WQMJ405 (6241.54, 6271.54)
[INFO] 975621 WEG315 (6241.54, 6271.54)
[INFO] 2878862 WQGJ522 (6241.54, 6271.54)
[INFO] 957625 KCK24 (6241.54, 6271.54)
[INFO] 2730991 WQCZ752 (6241.54, 6271.54)
[INFO] 1002065 WMJ670 (6241.54, 6271.54)
[INFO] 1014360 WNER298 (6241.54, 6271.54)
[INFO] 4135518 WRDB437 (6241.54, 6271.54)
[INFO] 3112634 WQKK269 (6241.54, 6271.54)
[INFO] 2791646 WQEM885 (6241.54, 6271.54)
[INFO] 2358239 WPTK402 (6241.66, 6251.66)
[INFO] 3937288 WQZQ612 (6243.365, 6299.365)
[INFO] 3235453 WQMQ377 (6243.365, 6299.365)
[INFO] 3842225 WQYD482 (6244.89, 6268.19)
[INFO] 3117444 WQKM241 (6271.19, 6301.19)
[INFO] 3065973 WQJT281 (6271.19, 6301.19)
[INFO] 3304782 WQNZ656 (6271.19, 6301.19)
[INFO] 1012495 WNEN355 (6271.19, 6301.19)
[INFO] 968562 WAH765 (6271.19, 6301.19)
[INFO] 1019246 WNTB302 (6271.19, 6301.19)
[INFO] 3037698 WQJF549 (6271.19, 6301.19)
[INFO] 3045912 WQJJ256 (6271.19, 6301.19)
[INFO] 2961189 WQHV581 (6271.19, 6301.19)
[INFO] 1012640 WNEN927 (6271.19, 6301.19)
[INFO] 3984027 WRAK586 (6271.19, 6301.19)
[INFO] 1013288 WNEP341 (6271.19, 6301.19)
[INFO] 2987067 WQII643 (6271.19, 6301.19)
[INFO] 4130251 WRCZ456 (6271.19, 6301.19)
[INFO] 1022834 WNTJ748 (6271.19, 6301.19)
[INFO] 2730254 WQCZ337 (6271.19, 6301.19)
[INFO] 1039595 WPNC358 (6271.19, 6301.19)
[INFO] 3413370 WQQA314 (6271.19, 6301.19)
[INFO] 3038037 WQJF662 (6271.19, 6301.19)
[INFO] 1002065 WMJ670 (6271.19, 6301.19)
[INFO] 3037696 WQJF548 (6271.19, 6301.19)
[INFO] 3113986 WQKK688 (6271.19, 6301.19)
[INFO] 2730992 WQCZ753 (6271.19, 6301.19)
[INFO] 1014360 WNER298 (6271.19, 6301.19)
[INFO] 3797024 WQXK702 (6271.19, 6301.19)
[INFO] 3112634 WQKK269 (6271.19, 6301.19)
[INFO] 1046398 WPNN252 (6271.19, 6301.19)
[INFO] 3223630 WQMJ448 (6271.19, 6301.19)
[INFO] 3227300 WQML362 (6271.19, 6301.19)
[INFO] 2908182 WQGW465 (6271.19, 6301.19)
[INFO] 3959488 WRAA791 (6271.19, 6301.19)
[INFO] 3416947 WQQB791 (6271.19, 6301.19)
[INFO] 980207 WHC339 (6271.19, 6301.19)
[INFO] 3037731 WQJF564 (6271.19, 6301.19)
[INFO] 3171448 WQLK838 (6271.19, 6301.19)
[INFO] 2415432 WPUZ428 (6271.19, 6301.19)
[INFO] 1002818 WML289 (6271.19, 6301.19)
[INFO] 1024733 WNTM686 (6271.19, 6301.19)
[INFO] 2641875 WQAS986 (6271.19, 6301.19)
[INFO] 2961883 WQHV860 (6271.19, 6301.19)
[INFO] 2693742 WQCE462 (6271.19, 6301.19)
[INFO] 3793145 WQXJ338 (6271.19, 6301.19)
[INFO] 1935118 WPQZ738 (6271.19, 6301.19)
[INFO] 3727314 WQWG465 (6271.19, 6301.19)
[INFO] 3531565 WQSS330 (6271.19, 6301.19)
[INFO] 3545776 WQTA481 (6271.19, 6301.19)
[INFO] 4331819 WRJJ903 (6271.19, 6301.19)
[INFO] 1003782 WMN437 (6271.19, 6301.19)
[INFO] 3110031 WQKJ375 (6271.19, 6301.19)
[INFO] 4265004 WRFK836 (6271.19, 6301.19)
[INFO] 3455004 WQQV508 (6271.19, 6301.19)
[INFO] 3049866 WQJK787 (6271.19, 6301.19)
[INFO] 3065603 WQJS999 (6271.19, 6301.19)
[INFO] 2523758 WPXV622 (6271.19, 6301.19)
[INFO] 3411932 WQPZ439 (6271.19, 6301.19)
[INFO] 3499704 WQRU761 (6271.19, 6301.19)
[INFO] 4148053 WRDE694 (6271.19, 6301.19)
[INFO] 1008623 WMW261 (6271.19, 6301.19)
[INFO] 986811 WIW75 (6271.19, 6301.19)
[INFO] 1093208 WPQP307 (6271.19, 6301.19)
[INFO] 3304771 WQNZ645 (6271.19, 6301.19)
[INFO] 3045907 WQJJ251 (6271.19, 6301.19)
[INFO] 1043582 WPNI367 (6271.19, 6301.19)
[INFO] 3812918 WQXR463 (6271.19, 6301.19)
[INFO] 974159 WED279 (6271.19, 6301.19)
[INFO] 1053984 WPNA981 (6271.19, 6301.19)
[INFO] 3362674 WQPA790 (6271.19, 6301.19)
[INFO] 4266986 WRFM317 (6271.19, 6301.19)
[INFO] 3038096 WQJF696 (6271.19, 6301.19)
[INFO] 3627806 WQUP227 (6271.19, 6301.19)
[INFO] 2552129 WPYR255 (6271.19, 6301.19)
[INFO] 4424240 WRMC220 (6271.19, 6301.19)
[INFO] 1013287 WNEP340 (6271.19, 6301.19)
[INFO] 969765 WAY532 (6271.19, 6301.19)
[INFO] 4331817 WRJJ901 (6271.19, 6301.19)
[INFO] 1043584 WPNI369 (6271.19, 6301.19)
[INFO] 3816538 WQXS632 (6272.589999999999, 6299.79)
[INFO] 4343469 WRJR698 (6274.54, 6297.839999999999)
[INFO] 3639232 WQUU547 (6281.19, 6291.19)
[INFO] 2884440 WQGL669 (6281.19, 6291.19)
[INFO] 1933928 WPQZ379 (6300.665, 6360.665)
[INFO] 3874840 WQYQ843 (6300.665, 6360.665)
[INFO] 4150899 WRDF701 (6300.665, 6360.665)
[INFO] 1098736 WPQR465 (6300.665, 6360.665)
[INFO] 3223561 WQMJ405 (6300.665, 6360.665)
[INFO] 3793833 WQXJ529 (6300.665, 6360.665)
[INFO] 3972456 WRAG347 (6300.665, 6360.665)
[INFO] 4102705 WRCN745 (6300.665, 6360.665)
[INFO] 3065605 WQJT201 (6300.84, 6330.84)
[INFO] 3469564 WQRD563 (6300.84, 6330.84)
[INFO] 2730254 WQCZ337 (6300.84, 6330.84)
[INFO] 3452277 WQQU333 (6300.84, 6330.84)
[INFO] 3037787 WQJF585 (6300.84, 6330.84)
[INFO] 3223561 WQMJ405 (6300.84, 6330.84)
[INFO] 975621 WEG315 (6300.84, 6330.84)
[INFO] 2998116 WQIN384 (6300.84, 6330.84)
[INFO] 3531565 WQSS330 (6300.84, 6330.84)
[INFO] 3756526 WQWU553 (6300.84, 6330.84)
[INFO] 3545776 WQTA481 (6300.84, 6330.84)
[INFO] 3226063 WQMK671 (6300.84, 6330.84)
[INFO] 1014345 WNER277 (6300.84, 6330.84)
[INFO] 3048980 WQJK506 (6300.84, 6330.84)
[INFO] 959901 KIN87 (6300.84, 6330.84)
[INFO] 3160974 WQLG870 (6300.84, 6330.84)
[INFO] 2609841 WPZY563 (6300.84, 6330.84)
[INFO] 3227300 WQML362 (6300.84, 6330.84)
[INFO] 3049130 WQJK552 (6300.84, 6330.84)
[INFO] 2523758 WPXV622 (6300.84, 6330.84)
[INFO] 3708150 WQVX542 (6300.84, 6330.84)
[INFO] 3499704 WQRU761 (6300.84, 6330.84)
[INFO] 1043587 WPNI372 (6300.84, 6330.84)
[INFO] 3666264 WQVF677 (6300.84, 6330.84)
[INFO] 2987157 WQII673 (6300.84, 6330.84)
[INFO] 2730252 WQCZ335 (6300.84, 6330.84)
[INFO] 4148053 WRDE694 (6300.84, 6330.84)
[INFO] 3853857 WQYH959 (6300.84, 6330.84)
[INFO] 2900101 WQGT237 (6300.84, 6330.84)
[INFO] 3807134 WQXP421 (6300.84, 6330.84)
[INFO] 1051713 WQH57 (6300.84, 6330.84)
[INFO] 3045907 WQJJ251 (6300.84, 6330.84)
[INFO] 3428332 WQQG573 (6300.84, 6330.84)
[INFO] 2961883 WQHV860 (6300.84, 6330.84)
[INFO] 3990512 WRAM955 (6300.84, 6330.84)
[INFO] 3793228 WQXJ379 (6300.84, 6330.84)
[INFO] 3038096 WQJF696 (6300.84, 6330.84)
[INFO] 1935118 WPQZ738 (6300.84, 6330.84)
[INFO] 1045359 WPNL766 (6300.84, 6330.84)
[INFO] 3049139 WQJK554 (6300.84, 6330.84)
[INFO] 1013287 WNEP340 (6300.84, 6330.84)
[INFO] 3688081 WQVN659 (6300.84, 6330.84)
[INFO] 3536433 WQSU890 (6300.84, 6330.84)
[INFO] 3285275 WQNR554 (6300.84, 6330.84)
[INFO] 4332472 WRJK442 (6300.84, 6330.84)
[INFO] 1012495 WNEN355 (6300.84, 6330.84)
[INFO] 1026406 WNTQ316 (6300.84, 6330.84)
[INFO] 2936066 WQHI923 (6300.84, 6330.84)
[INFO] 3463633 WQRA398 (6300.84, 6330.84)
[INFO] 3037698 WQJF549 (6300.84, 6330.84)
[INFO] 3235453 WQMQ377 (6300.84, 6330.84)
[INFO] 3954328 WQZY419 (6300.84, 6330.84)
[INFO] 2961189 WQHV581 (6300.84, 6330.84)
[INFO] 3165977 WQLI849 (6300.84, 6330.84)
[INFO] 1012640 WNEN927 (6300.84, 6330.84)
[INFO] 2693739 WQCE459 (6300.84, 6330.84)
[INFO] 956548 KBE20 (6300.84, 6330.84)
[INFO] 3662681 WQVE302 (6300.84, 6330.84)
[INFO] 1013288 WNEP341 (6300.84, 6330.84)
[INFO] 4391594 WRKV762 (6300.84, 6330.84)
[INFO] 3639232 WQUU547 (6300.84, 6330.84)
[INFO] 1089418 WPQN602 (6300.84, 6330.84)
[INFO] 3723525 WQWE650 (6300.84, 6330.84)
[INFO] 1304849 WPQX316 (6300.84, 6330.84)
[INFO] 3428417 WQQG604 (6300.84, 6330.84)
[INFO] 4341331 WRJQ533 (6300.84, 6330.84)
[INFO] 1014360 WNER298 (6300.84, 6330.84)
[INFO] 3112634 WQKK269 (6300.84, 6330.84)
[INFO] 3780923 WQXF259 (6300.84, 6330.84)
[INFO] 3685042 WQVM614 (6300.84, 6330.84)
[INFO] 3428351 WQQG592 (6300.84, 6330.84)
[INFO] 3223630 WQMJ448 (6300.84, 6330.84)
[INFO] 4439274 WRMK317 (6300.84, 6330.84)
[INFO] 2436674 WPVQ924 (6300.84, 6330.84)
[INFO] 3049017 WQJK513 (6300.84, 6330.84)
[INFO] 1933928 WPQZ379 (6302.09, 6329.59)
[INFO] 3937288 WQZQ612 (6302.665, 6358.665)
[INFO] 3895214 WQYY354 (6304.1900000000005, 6327.49)
[INFO] 1017715 WNEX903 (6304.1900000000005, 6327.49)
[INFO] 1050681 WPOT822 (6310.84, 6320.84)
[INFO] 2902742 WQGU424 (6330.49, 6360.49)
[INFO] 3834923 WQYA352 (6330.49, 6360.49)
[INFO] 3259552 WQNF727 (6330.49, 6360.49)
[INFO] 3074902 WQJX212 (6330.49, 6360.49)
[INFO] 2710038 WQCN388 (6330.49, 6360.49)
[INFO] 2788452 WQEL304 (6330.49, 6360.49)
[INFO] 4208077 WREI601 (6330.49, 6360.49)
[INFO] 956548 KBE20 (6330.49, 6360.49)
[INFO] 1013288 WNEP341 (6330.49, 6360.49)
[INFO] 4130251 WRCZ456 (6330.49, 6360.49)
[INFO] 4331817 WRJJ901 (6330.49, 6360.49)
[INFO] 4341331 WRJQ533 (6330.49, 6360.49)
[INFO] 2730991 WQCZ752 (6330.49, 6360.49)
[INFO] 1006415 WMT233 (6330.49, 6360.49)
[INFO] 3037696 WQJF548 (6330.49, 6360.49)
[INFO] 2693740 WQCE460 (6330.49, 6360.49)
[INFO] 3530884 WQSR709 (6330.49, 6360.49)
[INFO] 3627820 WQUP235 (6330.49, 6360.49)
[INFO] 1014360 WNER298 (6330.49, 6360.49)
[INFO] 3112634 WQKK269 (6330.49, 6360.49)
[INFO] 3853855 WQYH957 (6330.49, 6360.49)
[INFO] 1035988 WPJD323 (6330.49, 6360.49)
[INFO] 1046398 WPNN252 (6330.49, 6360.49)
[INFO] 1006075 WMS686 (6330.49, 6360.49)
[INFO] 3223630 WQMJ448 (6330.49, 6360.49)
[INFO] 3065995 WQJT299 (6330.49, 6360.49)
[INFO] 1093207 WPQP306 (6330.49, 6360.49)
[INFO] 3700168 WQVU424 (6330.49, 6360.49)
[INFO] 2436674 WPVQ924 (6330.49, 6360.49)
[INFO] 3778950 WQXE424 (6330.49, 6360.49)
[INFO] 3585630 WQTV323 (6330.49, 6360.49)
[INFO] 3084829 WQKA700 (6330.49, 6360.49)
[INFO] 2415432 WPUZ428 (6330.49, 6360.49)
[INFO] 2641875 WQAS986 (6330.49, 6360.49)
[INFO] 1006413 WMT231 (6330.49, 6360.49)
[INFO] 1014347 WNER279 (6330.49, 6360.49)
[INFO] 3314292 WQOE445 (6330.49, 6360.49)
[INFO] 975621 WEG315 (6330.49, 6360.49)
[INFO] 4093813 WRCK206 (6330.49, 6360.49)
[INFO] 3285398 WQNR576 (6330.49, 6360.49)
[INFO] 1014345 WNER277 (6330.49, 6360.49)
[INFO] 3797024 WQXK702 (6330.49, 6360.49)
[INFO] 2791646 WQEM885 (6330.49, 6360.49)
[INFO] 3455004 WQQV508 (6330.49, 6360.49)
[INFO] 2609841 WPZY563 (6330.49, 6360.49)
[INFO] 2832707 WQFK720 (6330.49, 6360.49)
[INFO] 3708150 WQVX542 (6330.49, 6360.49)
[INFO] 4093837 WRCK230 (6330.49, 6360.49)
[INFO] 2951263 WQHR222 (6330.49, 6360.49)
[INFO] 2730252 WQCZ335 (6330.49, 6360.49)
[INFO] 3416947 WQQB791 (6330.49, 6360.49)
[INFO] 3853857 WQYH959 (6330.49, 6360.49)
[INFO] 974161 WED281 (6330.49, 6360.49)
[INFO] 1093208 WPQP307 (6330.49, 6360.49)
[INFO] 3304771 WQNZ645 (6330.49, 6360.49)
[INFO] 3045907 WQJJ251 (6330.49, 6360.49)
[INFO] 3356198 WQOY210 (6330.49, 6360.49)
[INFO] 1046022 WPNM657 (6330.49, 6360.49)
[INFO] 2908180 WQGW463 (6330.49, 6360.49)
[INFO] 2961883 WQHV860 (6330.49, 6360.49)
[INFO] 3469564 WQRD563 (6330.49, 6360.49)
[INFO] 4312181 WRHY683 (6330.49, 6360.49)
[INFO] 2552129 WPYR255 (6330.49, 6360.49)
[INFO] 4298559 WRHQ987 (6330.49, 6360.49)
[INFO] 970457 WBD203 (6330.49, 6360.49)
[INFO] 969765 WAY532 (6330.49, 6360.49)
[INFO] 3688081 WQVN659 (6330.49, 6360.49)
[INFO] 1043584 WPNI369 (6330.49, 6360.49)
[INFO] 3531565 WQSS330 (6330.49, 6360.49)
[INFO] 3304782 WQNZ656 (6330.49, 6360.49)
[INFO] 974157 WED277 (6330.49, 6360.49)
[INFO] 1012495 WNEN355 (6330.49, 6360.49)
[INFO] 1034660 WPJB270 (6330.49, 6360.49)
[INFO] 2936066 WQHI923 (6330.49, 6360.49)
[INFO] 3037698 WQJF549 (6330.49, 6360.49)
[INFO] 3045912 WQJJ256 (6330.49, 6360.49)
[INFO] 3779634 WQXE661 (6331.84, 6359.139999999999)
[INFO] 4311888 WRHY544 (6359.965, 6419.965)
[INFO] 4312181 WRHY683 (6359.965, 6419.965)
[INFO] 1098728 WPQR457 (6359.965, 6419.965)
[INFO] 3874840 WQYQ843 (6359.965, 6419.965)
[INFO] 975310 WEF620 (6359.965, 6419.965)
[INFO] 4150899 WRDF701 (6359.965, 6419.965)
[INFO] 3955729 WQZY973 (6359.965, 6419.965)
[INFO] 4266590 WRFL917 (6359.965, 6419.965)
[INFO] 1045354 WPNL761 (6359.965, 6419.965)
[INFO] 4212793 WREK589 (6359.965, 6419.965)
[INFO] 4113777 WRCT346 (6359.965, 6419.965)
[INFO] 3223630 WQMJ448 (6359.965, 6419.965)
[INFO] 3971587 WRAF839 (6359.965, 6419.965)
[INFO] 1098736 WPQR465 (6359.965, 6419.965)
[INFO] 3472944 WQRF457 (6359.965, 6419.965)
[INFO] 4016526 WRAX300 (6359.965, 6419.965)
[INFO] 3970915 WRAF673 (6359.965, 6419.965)
[INFO] 3972488 WRAG358 (6359.965, 6419.965)
[INFO] 1098735 WPQR464 (6359.965, 6419.965)
[INFO] 1933928 WPQZ379 (6359.965, 6419.965)
[INFO] 1014345 WNER277 (6360.14, 6390.14)
[INFO] 3627820 WQUP235 (6360.14, 6390.14)
[INFO] 1014360 WNER298 (6360.14, 6390.14)
[INFO] 3223630 WQMJ448 (6360.14, 6390.14)
[INFO] 3959488 WRAA791 (6360.14, 6390.14)
[INFO] 1012509 WNEN369 (6360.14, 6390.14)
[INFO] 4093837 WRCK230 (6360.14, 6390.14)
[INFO] 2436674 WPVQ924 (6360.14, 6390.14)
[INFO] 2758327 WQDS867 (6360.14, 6390.14)
[INFO] 4132480 WRDA341 (6360.14, 6390.14)
[INFO] 3285525 WQNR592 (6360.14, 6390.14)
[INFO] 4424231 WRMC212 (6360.14, 6390.14)
[INFO] 2961883 WQHV860 (6360.14, 6390.14)
[INFO] 3469564 WQRD563 (6360.14, 6390.14)
[INFO] 2565116 WPYY868 (6360.14, 6390.14)
[INFO] 975621 WEG315 (6360.14, 6390.14)
[INFO] 3536380 WQSU871 (6360.14, 6390.14)
[INFO] 2998116 WQIN384 (6360.14, 6390.14)
[INFO] 3954328 WQZY419 (6360.14, 6390.14)
[INFO] 2544174 WPYK547 (6360.14, 6390.14)
[INFO] 3708150 WQVX542 (6360.14, 6390.14)
[INFO] 3499704 WQRU761 (6360.14, 6390.14)
[INFO] 3666264 WQVF677 (6360.14, 6390.14)
[INFO] 2730252 WQCZ335 (6360.14, 6390.14)
[INFO] 2900101 WQGT237 (6360.14, 6390.14)
[INFO] 974161 WED281 (6360.14, 6390.14)
[INFO] 1051713 WQH57 (6360.14, 6390.14)
[INFO] 1093208 WPQP307 (6360.14, 6390.14)
[INFO] 3045907 WQJJ251 (6360.14, 6390.14)
[INFO] 4135031 WRDB288 (6360.14, 6390.14)
[INFO] 3627804 WQUP225 (6360.14, 6390.14)
[INFO] 2565114 WPYY866 (6360.14, 6390.14)
[INFO] 3285275 WQNR554 (6360.14, 6390.14)
[INFO] 3756548 WQWU575 (6360.14, 6390.14)
[INFO] 4332472 WRJK442 (6360.14, 6390.14)
[INFO] 974157 WED277 (6360.14, 6390.14)
[INFO] 2936066 WQHI923 (6360.14, 6390.14)
[INFO] 3083303 WQKA403 (6360.14, 6390.14)
[INFO] 1038427 WPNA645 (6360.14, 6390.14)
[INFO] 3857604 WQYJ845 (6360.14, 6390.14)
[INFO] 2961189 WQHV581 (6360.14, 6390.14)
[INFO] 3756499 WQWU527 (6360.14, 6390.14)
[INFO] 998503 WLT736 (6360.14, 6390.14)
[INFO] 1026405 WNTQ315 (6360.14, 6390.14)
[INFO] 956548 KBE20 (6360.14, 6390.14)
[INFO] 2919345 WQHA761 (6360.14, 6390.14)
[INFO] 980228 WHC364 (6360.14, 6390.14)
[INFO] 3723525 WQWE650 (6360.14, 6390.14)
[INFO] 2686357 WQBZ627 (6360.14, 6390.14)
[INFO] 2791175 WQEM697 (6360.29, 6365.29)
[INFO] 3235461 WQMQ383 (6361.965, 6417.965)
[INFO] 3044289 WQJI409 (6361.965, 6417.965)
[INFO] 3639222 WQUU537 (6370.14, 6380.14)
[INFO] 1023226 WNTK459 (6375.139999999999, 6380.08)
[INFO] 976188 WEH396 (6376.215, 6403.715)
[INFO] 2951555 WQHR315 (6380.05, 6385.05)
[INFO] 2791175 WQEM697 (6384.99, 6389.99)
[INFO] 1023226 WNTK459 (6385.0199999999995, 6389.96)
[INFO] 974161 WED281 (6389.79, 6419.79)
[INFO] 2609844 WPZY566 (6389.79, 6419.79)
[INFO] 1093208 WPQP307 (6389.79, 6419.79)
[INFO] 3723525 WQWE650 (6389.79, 6419.79)
[INFO] 4312181 WRHY683 (6389.79, 6419.79)
[INFO] 1935120 WPQZ740 (6389.79, 6419.79)
[INFO] 3318813 WQOG592 (6389.79, 6419.79)
[INFO] 1014360 WNER298 (6389.79, 6419.79)
[INFO] 2936066 WQHI923 (6389.79, 6419.79)
[INFO] 3112634 WQKK269 (6389.79, 6419.79)
[INFO] 3084829 WQKA700 (6389.79, 6419.79)
[INFO] 3285525 WQNR592 (6389.79, 6419.79)
[INFO] 3085219 WQKA839 (6389.79, 6419.79)
[INFO] 3791551 WQXI791 (6389.79, 6419.79)
[INFO] 2565116 WPYY868 (6389.79, 6419.79)
[INFO] 3223561 WQMJ405 (6389.79, 6419.79)
[INFO] 975621 WEG315 (6389.79, 6419.79)
[INFO] 4093813 WRCK206 (6389.79, 6419.79)
[INFO] 3323997 WQOI882 (6389.79, 6419.79)
[INFO] 1014345 WNER277 (6389.79, 6419.79)
[INFO] 2791646 WQEM885 (6389.79, 6419.79)
[INFO] 2908182 WQGW465 (6389.79, 6419.79)
[INFO] 3049130 WQJK552 (6389.79, 6419.79)
[INFO] 3708150 WQVX542 (6389.79, 6419.79)
[INFO] 1012509 WNEN369 (6389.79, 6419.79)
[INFO] 4321285 WRJD755 (6389.79, 6419.79)
[INFO] 2951263 WQHR222 (6389.79, 6419.79)
[INFO] 3416947 WQQB791 (6389.79, 6419.79)
[INFO] 2900101 WQGT237 (6389.79, 6419.79)
[INFO] 3313986 WQOE307 (6389.79, 6419.79)
[INFO] 3793145 WQXJ338 (6389.79, 6419.79)
[INFO] 3160977 WQLG873 (6389.79, 6419.79)
[INFO] 969765 WAY532 (6389.79, 6419.79)
[INFO] 3805217 WQXN706 (6389.79, 6419.79)
[INFO] 3531565 WQSS330 (6389.79, 6419.79)
[INFO] 3756440 WQWU504 (6389.79, 6419.79)
[INFO] 3037774 WQJF583 (6389.79, 6419.79)
[INFO] 3285268 WQNR547 (6389.79, 6419.79)
[INFO] 3463633 WQRA398 (6389.79, 6419.79)
[INFO] 3816815 WQXS702 (6389.79, 6419.79)
[INFO] 2730252 WQCZ335 (6389.79, 6419.79)
[INFO] 976188 WEH396 (6391.04, 6418.54)
[INFO] 1017715 WNEX903 (6393.14, 6416.44)
[INFO] 1040602 WPND848 (6540.0, 6570.0)
[INFO] 1014345 WNER277 (6540.0, 6570.0)
[INFO] 2693743 WQCE463 (6540.0, 6570.0)
[INFO] 3971587 WRAF839 (6540.0, 6570.0)
[INFO] 3784231 WQXG509 (6540.0, 6570.0)
[INFO] 3438134 WQQL346 (6540.0, 6570.0)
[INFO] 3293293 WQNU677 (6540.0, 6570.0)
[INFO] 1006413 WMT231 (6540.0, 6570.0)
[INFO] 3102937 WQKG731 (6540.0, 6570.0)
[INFO] 3063415 WQJS338 (6540.0, 6570.0)
[INFO] 961543 KLR20 (6540.0, 6570.0)
[INFO] 957628 KCK27 (6540.0, 6570.0)
[INFO] 962905 KOR41 (6540.0, 6570.0)
[INFO] 3468547 WQRD239 (6540.0, 6570.0)
[INFO] 973595 WDL75 (6540.0, 6570.0)
[INFO] 1045356 WPNL763 (6540.0, 6570.0)
[INFO] 2544163 WPYK536 (6540.0, 6570.0)
[INFO] 1034662 WPJB272 (6540.0, 6570.0)
[INFO] 3970888 WRAF668 (6540.0, 6570.0)
[INFO] 1015506 WNET573 (6540.0, 6570.0)
[INFO] 957624 KCK23 (6540.0, 6570.0)
[INFO] 1012487 WNEN347 (6540.0, 6570.0)
[INFO] 1035988 WPJD323 (6540.0, 6570.0)
[INFO] 3970944 WRAF680 (6540.0, 6570.0)
[INFO] 3050095 WQJK864 (6540.0, 6570.0)
[INFO] 3653119 WQVA249 (6540.0, 6570.0)
[INFO] 2919345 WQHA761 (6540.0, 6570.0)
[INFO] 980228 WHC364 (6540.0, 6570.0)
[INFO] 1016320 WNEV222 (6540.0, 6550.0)
[INFO] 4331825 WRJJ909 (6540.0, 6570.0)
[INFO] 3902951 WQZA866 (6543.35, 6566.65)
[INFO] 3895215 WQYY355 (6543.35, 6566.65)
[INFO] 3842225 WQYD482 (6543.35, 6566.65)
[INFO] 1014360 WNER298 (6547.5, 6552.5)
[INFO] 2609841 WPZY563 (6547.5, 6552.5)
[INFO] 4430837 WRMF701 (6548.875, 6552.375)
[INFO] 959026 KFX73 (6550.0, 6560.0)
[INFO] 1051454 WPOU851 (6553.75, 6557.5)
[INFO] 2609844 WPZY566 (6557.5, 6562.5)
[INFO] 1010092 WNEG558 (6560.0, 6570.0)
[INFO] 968121 WAA840 (6560.0, 6570.0)
[INFO] 980228 WHC364 (6560.0, 6570.0)
[INFO] 962905 KOR41 (6562.5, 6567.5)
[INFO] 2730256 WQCZ339 (6563.75, 6567.5)
[INFO] 958190 KDU80 (6563.75, 6567.5)
[INFO] 1006417 WMT235 (6580.0, 6610.0)
[INFO] 2523758 WPXV622 (6580.0, 6590.0)
[INFO] 4364085 WRKD573 (6580.0, 6610.0)
[INFO] 1038067 WPNA253 (6580.0, 6590.0)
[INFO] 3958977 WRAA585 (6580.0, 6590.0)
[INFO] 3438316 WQQL435 (6580.0, 6610.0)
[INFO] 3958897 WRAA570 (6580.0, 6590.0)
[INFO] 957621 KCK20 (6580.0, 6610.0)
[INFO] 1045357 WPNL764 (6580.0, 6590.0)
[INFO] 3053762 WQJM395 (6580.0, 6610.0)
[INFO] 3442397 WQQN473 (6580.0, 6610.0)
[INFO] 1010104 WNEG572 (6580.0, 6590.0)
[INFO] 3970944 WRAF680 (6580.0, 6610.0)
[INFO] 4075043 WRCB625 (6580.0, 6590.0)
[INFO] 2987067 WQII643 (6580.0, 6610.0)
[INFO] 3225552 WQMK411 (6580.0, 6590.0)
[INFO] 2919345 WQHA761 (6580.0, 6610.0)
[INFO] 4439234 WRMK310 (6580.0, 6610.0)
[INFO] 1081890 WPQL234 (6580.0, 6590.0)
[INFO] 2936066 WQHI923 (6580.0, 6590.0)
[INFO] 3971587 WRAF839 (6580.0, 6610.0)
[INFO] 4439225 WRMK305 (6580.0, 6610.0)
[INFO] 962104 KMV86 (6580.0, 6590.0)
[INFO] 3171448 WQLK838 (6580.0, 6610.0)
[INFO] 3065974 WQJT282 (6580.0, 6610.0)
[INFO] 980228 WHC364 (6580.0, 6590.0)
[INFO] 1014347 WNER279 (6580.0, 6610.0)
[INFO] 4146487 WRDE229 (6580.0, 6610.0)
[INFO] 3328480 WQOK889 (6580.0, 6590.0)
[INFO] 2948365 WQHP746 (6580.0, 6590.0)
[INFO] 3468547 WQRD239 (6580.0, 6610.0)
[INFO] 1040602 WPND848 (6580.0, 6590.0)
[INFO] 4096468 WRCL477 (6580.0, 6590.0)
[INFO] 3160974 WQLG870 (6580.0, 6590.0)
[INFO] 974159 WED279 (6582.5, 6587.5)
[INFO] 1093209 WPQP308 (6582.5, 6587.5)
[INFO] 3895212 WQYY352 (6583.35, 6606.65)
[INFO] 1023226 WNTK459 (6587.53, 6592.47)
[INFO] 3334774 WQON649 (6590.0, 6600.0)
[INFO] 4096504 WRCL507 (6590.0, 6600.0)
[INFO] 4096509 WRCL512 (6590.0, 6600.0)
[INFO] 3263949 WQNH858 (6590.0, 6600.0)
[INFO] 4089721 WRCI475 (6590.0, 6600.0)
[INFO] 4096512 WRCL514 (6590.0, 6600.0)
[INFO] 1012487 WNEN347 (6590.0, 6600.0)
[INFO] 3304777 WQNZ651 (6590.0, 6600.0)
[INFO] 1042027 WPNG238 (6590.0, 6600.0)
[INFO] 1043171 WPNH743 (6590.0, 6600.0)
[INFO] 3621576 WQUL316 (6590.0, 6600.0)
[INFO] 1017718 WNEX906 (6590.0, 6600.0)
[INFO] 3074906 WQJX216 (6590.0, 6600.0)
[INFO] 2516139 WPXQ868 (6590.0, 6600.0)
[INFO] 4343208 WRJR552 (6590.0, 6600.0)
[INFO] 1098731 WPQR460 (6590.0, 6600.0)
[INFO] 3584944 WQTU925 (6590.0, 6600.0)
[INFO] 1040677 WPND935 (6590.0, 6600.0)
[INFO] 959788 KID34 (6590.0, 6600.0)
[INFO] 1098729 WPQR458 (6590.0, 6600.0)
[INFO] 2544174 WPYK547 (6593.875, 6597.375)
[INFO] 3017594 WQIV891 (6597.5, 6602.5)
[INFO] 3334774 WQON649 (6600.0, 6610.0)
[INFO] 1045358 WPNL765 (6600.0, 6610.0)
[INFO] 2884441 WQGL670 (6600.0, 6610.0)
[INFO] 960003 KIR39 (6600.0, 6610.0)
[INFO] 3621573 WQUL313 (6600.0, 6610.0)
[INFO] 3619376 WQUK250 (6600.0, 6610.0)
[INFO] 1010094 WNEG560 (6600.0, 6610.0)
[INFO] 1012503 WNEN363 (6600.0, 6610.0)
[INFO] 3958929 WRAA577 (6600.0, 6610.0)
[INFO] 1024740 WNTM696 (6600.0, 6610.0)
[INFO] 959788 KID34 (6600.0, 6610.0)
[INFO] 1081890 WPQL234 (6600.0, 6610.0)
[INFO] 4096504 WRCL507 (6600.0, 6610.0)
[INFO] 961544 KLR21 (6600.0, 6610.0)
[INFO] 967723 KZK52 (6602.5, 6607.5)
[INFO] 970457 WBD203 (6602.5, 6607.5)
[INFO] 1051451 WPOU848 (6603.75, 6607.5)
[INFO] 2908181 WQGW464 (6607.5, 6612.5)
[INFO] 1093214 WPQP312 (6607.5, 6612.5)
[INFO] 2609841 WPZY563 (6607.5, 6612.5)
[INFO] 3477673 WQRH743 (6610.0, 6640.0)
[INFO] 3050095 WQJK864 (6610.0, 6640.0)
[INFO] 1010092 WNEG558 (6610.0, 6620.0)
[INFO] 2693737 WQCE457 (6610.0, 6620.0)
[INFO] 2949478 WQHQ325 (6610.0, 6620.0)
[INFO] 2936066 WQHI923 (6610.0, 6620.0)
[INFO] 1010104 WNEG572 (6610.0, 6620.0)
[INFO] 2730993 WQCZ754 (6610.0, 6640.0)
[INFO] 4439236 WRMK312 (6610.0, 6640.0)
[INFO] 1043174 WPNH746 (6610.0, 6620.0)
[INFO] 3656736 WQVB790 (6610.0, 6620.0)
[INFO] 4146487 WRDE229 (6610.0, 6640.0)
[INFO] 957628 KCK27 (6610.0, 6640.0)
[INFO] 1014345 WNER277 (6610.0, 6640.0)
[INFO] 2516139 WPXQ868 (6610.0, 6620.0)
[INFO] 1044312 WPNJ413 (6610.0, 6640.0)
[INFO] 1012509 WNEN369 (6610.0, 6620.0)
[INFO] 2977409 WQIE805 (6610.0, 6620.0)
[INFO] 4264506 WRFK643 (6610.0, 6640.0)
[INFO] 3970888 WRAF668 (6610.0, 6640.0)
[INFO] 3958897 WRAA570 (6610.0, 6620.0)
[INFO] 3053762 WQJM395 (6610.0, 6640.0)
[INFO] 2961190 WQHV582 (6610.0, 6640.0)
[INFO] 957623 KCK22 (6610.0, 6640.0)
[INFO] 1012482 WNEN342 (6610.0, 6620.0)
[INFO] 2969283 WQIA732 (6610.0, 6620.0)
[INFO] 3150330 WQLB961 (6610.0, 6620.0)
[INFO] 2756436 WQDR662 (6610.0, 6620.0)
[INFO] 976189 WEH397 (6611.25, 6638.75)
[INFO] 2609847 WPZY569 (6612.5, 6617.5)
[INFO] 4345219 WRJS600 (6613.35, 6636.65)
[INFO] 4208077 WREI601 (6613.75, 6617.5)
[INFO] 1086024 WPQM210 (6615.0, 6616.25)
[INFO] 1023229 WNTK462 (6617.53, 6622.47)
[INFO] 2544163 WPYK536 (6618.875, 6622.375)
[INFO] 1935120 WPQZ740 (6618.875, 6622.375)
[INFO] 3050095 WQJK864 (6620.0, 6650.0)
[INFO] 3304772 WQNZ646 (6620.0, 6630.0)
[INFO] 2693737 WQCE457 (6620.0, 6630.0)
[INFO] 969456 WAU62 (6620.0, 6630.0)
[INFO] 3621573 WQUL313 (6620.0, 6630.0)
[INFO] 1018950 WNTA661 (6620.0, 6630.0)
[INFO] 1012503 WNEN363 (6620.0, 6630.0)
[INFO] 1098731 WPQR460 (6620.0, 6630.0)
[INFO] 3841298 WQYC929 (6620.0, 6630.0)
[INFO] 1049718 WPOS493 (6620.0, 6650.0)
[INFO] 3617109 WQUJ282 (6620.0, 6630.0)
[INFO] 3263934 WQNH848 (6620.0, 6630.0)
[INFO] 1010100 WNEG567 (6620.0, 6630.0)
[INFO] 3005438 WQIR226 (6620.0, 6630.0)
[INFO] 1012487 WNEN347 (6620.0, 6630.0)
[INFO] 962905 KOR41 (6622.5, 6627.5)
[INFO] 3034305 WQJD846 (6623.75, 6627.5)
[INFO] 2669664 WQBN533 (6625.0, 6627.5)
[INFO] 1093213 WPQP311 (6627.5, 6632.5)
[INFO] 962558 KNP84 (6628.75, 6632.5)
[INFO] 3085218 WQKA838 (6630.0, 6640.0)
[INFO] 1039555 WPNC314 (6630.0, 6640.0)
[INFO] 3619376 WQUK250 (6630.0, 6640.0)
[INFO] 2516139 WPXQ868 (6630.0, 6640.0)
[INFO] 2693743 WQCE463 (6630.0, 6640.0)
[INFO] 2969286 WQIA735 (6630.0, 6640.0)
[INFO] 3171448 WQLK838 (6630.0, 6660.0)
[INFO] 3958977 WRAA585 (6630.0, 6640.0)
[INFO] 962902 KOR38 (6630.0, 6632.5)
[INFO] 1038067 WPNA253 (6630.0, 6640.0)
[INFO] 3045907 WQJJ251 (6630.0, 6640.0)
[INFO] 1018950 WNTA661 (6630.0, 6640.0)
[INFO] 2756436 WQDR662 (6630.0, 6640.0)
[INFO] 1045356 WPNL763 (6630.0, 6640.0)
[INFO] 3459286 WQQX853 (6630.0, 6640.0)
[INFO] 1013119 WNEO923 (6632.5, 6637.5)
[INFO] 2525509 WPXW615 (6632.5, 6637.5)
[INFO] 1081890 WPQL234 (6633.75, 6637.5)
[INFO] 2609842 WPZY564 (6637.5, 6642.5)
[INFO] 1017718 WNEX906 (6640.0, 6650.0)
[INFO] 2919345 WQHA761 (6640.0, 6670.0)
[INFO] 980228 WHC364 (6640.0, 6670.0)
[INFO] 3234484 WQMP738 (6640.0, 6670.0)
[INFO] 1045082 WPNL456 (6640.0, 6670.0)
[INFO] 2516139 WPXQ868 (6640.0, 6670.0)
[INFO] 3972456 WRAG347 (6640.0, 6670.0)
[INFO] 2949478 WQHQ325 (6640.0, 6650.0)
[INFO] 1012689 WNEO238 (6640.0, 6650.0)
[INFO] 2346480 WPTB831 (6640.0, 6650.0)
[INFO] 3298921 WQNW997 (6640.0, 6670.0)
[INFO] 1098731 WPQR460 (6640.0, 6650.0)
[INFO] 3531520 WQSS285 (6640.0, 6670.0)
[INFO] 2948388 WQHP748 (6640.0, 6650.0)
[INFO] 957621 KCK20 (6640.0, 6670.0)
[INFO] 3102937 WQKG731 (6640.0, 6650.0)
[INFO] 2561582 WPYW760 (6640.0, 6670.0)
[INFO] 1012481 WNEN341 (6640.0, 6670.0)
[INFO] 1098727 WPQR456 (6640.0, 6650.0)
[INFO] 957627 KCK26 (6640.0, 6670.0)
[INFO] 1045356 WPNL763 (6640.0, 6670.0)
[INFO] 3623607 WQUM350 (6640.0, 6670.0)
[INFO] 2884440 WQGL669 (6640.0, 6650.0)
[INFO] 1012487 WNEN347 (6640.0, 6650.0)
[INFO] 4343200 WRJR544 (6640.0, 6650.0)
[INFO] 2818800 WQFC312 (6640.0, 6650.0)
[INFO] 967724 KZK53 (6642.5, 6647.5)
[INFO] 967723 KZK52 (6642.5, 6647.5)
[INFO] 986811 WIW75 (6642.5, 6647.5)
[INFO] 3892310 WQYX401 (6643.35, 6666.65)
[INFO] 3842225 WQYD482 (6643.35, 6666.65)
[INFO] 2351776 WPTF549 (6643.75, 6647.5)
[INFO] 3049692 WQJK738 (6643.75, 6647.5)
[INFO] 1047071 WPNN947 (6647.5, 6652.5)
[INFO] 2917580 WQHA216 (6647.5, 6650.0)
[INFO] 4430837 WRMF701 (6648.875, 6652.375)
[INFO] 959788 KID34 (6650.0, 6660.0)
[INFO] 959026 KFX73 (6650.0, 6660.0)
[INFO] 2756060 WQDR516 (6650.0, 6660.0)
[INFO] 2523761 WPXV625 (6650.0, 6660.0)
[INFO] 2758327 WQDS867 (6650.0, 6660.0)
[INFO] 2693741 WQCE461 (6650.0, 6660.0)
[INFO] 1022836 WNTJ750 (6650.0, 6660.0)
[INFO] 1098730 WPQR459 (6650.0, 6660.0)
[INFO] 961544 KLR21 (6650.0, 6660.0)
[INFO] 3304777 WQNZ651 (6650.0, 6660.0)
[INFO] 3584378 WQTU690 (6650.0, 6660.0)
[INFO] 1098732 WPQR461 (6650.0, 6660.0)
[INFO] 968121 WAA840 (6650.0, 6660.0)
[INFO] 2818800 WQFC312 (6650.0, 6660.0)
[INFO] 1012494 WNEN354 (6650.0, 6660.0)
[INFO] 1013288 WNEP341 (6650.0, 6660.0)
[INFO] 1040218 WPND255 (6652.5, 6657.5)
[INFO] 1080087 WPON739 (6655.0, 6656.25)
[INFO] 974159 WED279 (6657.5, 6662.5)
[INFO] 2917937 WQHA307 (6657.5, 6660.0)
[INFO] 967723 KZK52 (6660.0, 6670.0)
[INFO] 3584944 WQTU925 (6660.0, 6670.0)
[INFO] 1026062 WNTP731 (6660.0, 6690.0)
[INFO] 964659 KRQ50 (6660.0, 6670.0)
[INFO] 967724 KZK53 (6660.0, 6670.0)
[INFO] 3263949 WQNH858 (6660.0, 6670.0)
[INFO] 961544 KLR21 (6660.0, 6670.0)
[INFO] 1012487 WNEN347 (6660.0, 6670.0)
[INFO] 2525509 WPXW615 (6660.0, 6670.0)
[INFO] 1045354 WPNL761 (6660.0, 6670.0)
[INFO] 1010092 WNEG558 (6660.0, 6670.0)
[INFO] 2693743 WQCE463 (6660.0, 6670.0)
[INFO] 2919345 WQHA761 (6660.0, 6690.0)
[INFO] 1051451 WPOU848 (6663.75, 6667.5)
[INFO] 1015501 WNET568 (6663.875, 6667.375)
[INFO] 2917957 WQHA311 (6667.5, 6670.0)
[INFO] 1934962 WPQZ684 (6668.875, 6672.375)
[INFO] 4430837 WRMF701 (6668.875, 6672.375)
[INFO] 959788 KID34 (6670.0, 6680.0)
[INFO] 961544 KLR21 (6670.0, 6700.0)
[INFO] 2730256 WQCZ339 (6670.0, 6700.0)
[INFO] 3477673 WQRH743 (6670.0, 6700.0)
[INFO] 3531520 WQSS285 (6670.0, 6700.0)
[INFO] 957624 KCK23 (6670.0, 6700.0)
[INFO] 974159 WED279 (6670.0, 6680.0)
[INFO] 2415482 WPUZ464 (6670.0, 6680.0)
[INFO] 1012487 WNEN347 (6670.0, 6700.0)
[INFO] 1012481 WNEN341 (6670.0, 6700.0)
[INFO] 3377180 WQPG657 (6670.0, 6700.0)
[INFO] 1012481 WNEN341 (6670.0, 6680.0)
[INFO] 3958929 WRAA577 (6670.0, 6680.0)
[INFO] 1032173 WNTY412 (6670.0, 6680.0)
[INFO] 962284 KNC31 (6670.0, 6680.0)
[INFO] 1045082 WPNL456 (6670.0, 6700.0)
[INFO] 2516139 WPXQ868 (6670.0, 6700.0)
[INFO] 3972456 WRAG347 (6670.0, 6700.0)
[INFO] 967724 KZK53 (6670.0, 6680.0)
[INFO] 2758327 WQDS867 (6670.0, 6700.0)
[INFO] 2693741 WQCE461 (6670.0, 6680.0)
[INFO] 4135529 WRDB446 (6670.0, 6700.0)
[INFO] 3296569 WQNV904 (6670.0, 6700.0)
[INFO] 3892310 WQYX401 (6673.35, 6696.65)
[INFO] 3902951 WQZA866 (6673.35, 6696.65)
[INFO] 3842225 WQYD482 (6673.35, 6696.65)
[INFO] 2609844 WPZY566 (6677.5, 6682.5)
[INFO] 3362672 WQPA788 (6680.0, 6690.0)
[INFO] 2991864 WQIK672 (6680.0, 6690.0)
[INFO] 4096509 WRCL512 (6680.0, 6690.0)
[INFO] 3362674 WQPA790 (6680.0, 6690.0)
[INFO] 960003 KIR39 (6680.0, 6690.0)
[INFO] 2761939 WQDV529 (6680.0, 6690.0)
[INFO] 3614650 WQUH905 (6680.0, 6690.0)
[INFO] 1032890 WNTZ393 (6680.0, 6690.0)
[INFO] 2415482 WPUZ464 (6680.0, 6690.0)
[INFO] 3738302 WQWL509 (6680.0, 6690.0)
[INFO] 1098732 WPQR461 (6680.0, 6690.0)
[INFO] 3050095 WQJK864 (6680.0, 6710.0)
[INFO] 1012494 WNEN354 (6680.0, 6690.0)
[INFO] 956848 KBT75 (6680.0, 6690.0)
[INFO] 1010097 WNEG563 (6680.0, 6690.0)
[INFO] 2730256 WQCZ339 (6680.0, 6710.0)
[INFO] 1051452 WPOU849 (6680.0, 6690.0)
[INFO] 1098731 WPQR460 (6680.0, 6690.0)
[INFO] 1015647 WNET776 (6680.0, 6710.0)
[INFO] 1098730 WPQR459 (6680.0, 6690.0)
[INFO] 1093207 WPQP306 (6687.5, 6692.5)
[INFO] 961543 KLR20 (6690.0, 6700.0)
[INFO] 3049866 WQJK787 (6690.0, 6700.0)
[INFO] 3621576 WQUL316 (6690.0, 6700.0)
[INFO] 3263942 WQNH851 (6690.0, 6700.0)
[INFO] 3298921 WQNW997 (6690.0, 6700.0)
[INFO] 1086024 WPQM210 (6695.0, 6696.25)
[INFO] 2544167 WPYK540 (6698.875, 6702.375)
[INFO] 964659 KRQ50 (6700.0, 6710.0)
[INFO] 3263928 WQNH842 (6700.0, 6710.0)
[INFO] 1018997 WNTA723 (6700.0, 6710.0)
[INFO] 4469900 WRNC587 (6700.0, 6710.0)
[INFO] 2758305 WQDS849 (6700.0, 6710.0)
[INFO] 967724 KZK53 (6700.0, 6710.0)
[INFO] 1045928 WPNM562 (6700.0, 6710.0)
[INFO] 986431 WIA742 (6700.0, 6710.0)
[INFO] 1024733 WNTM686 (6700.0, 6710.0)
[INFO] 4343413 WRJR672 (6700.0, 6710.0)
[INFO] 3049693 WQJK739 (6703.75, 6707.5)
[INFO] 2544163 WPYK536 (6703.875, 6707.375)
[INFO] 1012487 WNEN347 (6707.5, 6712.5)
[INFO] 1025313 WNTN574 (6710.0, 6740.0)
[INFO] 1049625 WPOS400 (6710.0, 6740.0)
[INFO] 3309619 WQOC301 (6710.0, 6740.0)
[INFO] 2902742 WQGU424 (6710.0, 6740.0)
[INFO] 3972483 WRAG353 (6710.0, 6740.0)
[INFO] 1045354 WPNL761 (6710.0, 6740.0)
[INFO] 2987067 WQII643 (6710.0, 6740.0)
[INFO] 1014346 WNER278 (6710.0, 6740.0)
[INFO] 3440440 WQQM525 (6710.0, 6740.0)
[INFO] 957625 KCK24 (6710.0, 6740.0)
[INFO] 3247713 WQNA362 (6710.0, 6740.0)
[INFO] 1005248 WMR418 (6710.0, 6740.0)
[INFO] 2516139 WPXQ868 (6710.0, 6740.0)
[INFO] 2346480 WPTB831 (6710.0, 6740.0)
[INFO] 967725 KZK54 (6710.0, 6740.0)
[INFO] 961542 KLQ99 (6710.0, 6740.0)
[INFO] 3653120 WQVA250 (6710.0, 6740.0)
[INFO] 4331826 WRJJ910 (6710.0, 6740.0)
[INFO] 3972488 WRAG358 (6710.0, 6740.0)
[INFO] 971823 WBX362 (6710.0, 6740.0)
[INFO] 3223561 WQMJ405 (6710.0, 6740.0)
[INFO] 2543883 WPYK388 (6710.0, 6740.0)
[INFO] 2544174 WPYK547 (6710.0, 6740.0)
[INFO] 980226 WHC362 (6710.0, 6740.0)
[INFO] 3233763 WQMP481 (6710.0, 6740.0)
[INFO] 2908180 WQGW463 (6710.0, 6740.0)
[INFO] 1010100 WNEG567 (6710.0, 6720.0)
[INFO] 4461441 WRMX409 (6710.0, 6740.0)
[INFO] 1017703 WNEX891 (6713.35, 6736.65)
[INFO] 3895214 WQYY354 (6713.35, 6736.65)
[INFO] 1017711 WNEX899 (6713.35, 6736.65)
[INFO] 1934952 WPQZ674 (6713.875, 6717.375)
[INFO] 1014359 WNER297 (6717.5, 6722.5)
[INFO] 970591 WBD40 (6720.0, 6730.0)
[INFO] 1051452 WPOU849 (6723.75, 6727.5)
[INFO] 2609840 WPZY562 (6727.5, 6732.5)
[INFO] 1015502 WNET569 (6728.875, 6732.375)
[INFO] 2561581 WPYW759 (6730.0, 6740.0)
[INFO] 2996545 WQIM687 (6730.0, 6740.0)
[INFO] 980226 WHC362 (6730.0, 6740.0)
[INFO] 1025313 WNTN574 (6732.5, 6737.5)
[INFO] 2730992 WQCZ753 (6733.75, 6737.5)
[INFO] 3807134 WQXP421 (6733.75, 6737.5)
[INFO] 2609843 WPZY565 (6737.5, 6742.5)
[INFO] 1022460 WNTI983 (6740.0, 6750.0)
[INFO] 3201524 WQLY705 (6740.0, 6770.0)
[INFO] 2878375 WQGJ360 (6740.0, 6770.0)
[INFO] 3074902 WQJX212 (6740.0, 6750.0)
[INFO] 957622 KCK21 (6740.0, 6770.0)
[INFO] 4096465 WRCL474 (6740.0, 6750.0)
[INFO] 967725 KZK54 (6740.0, 6750.0)
[INFO] 1045354 WPNL761 (6740.0, 6750.0)
[INFO] 1012488 WNEN348 (6740.0, 6770.0)
[INFO] 2919345 WQHA761 (6740.0, 6770.0)
[INFO] 2523759 WPXV623 (6740.0, 6750.0)
[INFO] 959756 KIB62 (6740.0, 6750.0)
[INFO] 3328481 WQOK890 (6740.0, 6750.0)
[INFO] 3972488 WRAG358 (6740.0, 6770.0)
[INFO] 3223561 WQMJ405 (6740.0, 6770.0)
[INFO] 980227 WHC363 (6740.0, 6750.0)
[INFO] 3958859 WRAA565 (6740.0, 6750.0)
[INFO] 3503886 WQRX731 (6740.0, 6750.0)
[INFO] 3361478 WQPA316 (6740.0, 6750.0)
[INFO] 1045928 WPNM562 (6740.0, 6750.0)
[INFO] 2544167 WPYK540 (6740.0, 6770.0)
[INFO] 3438135 WQQL347 (6740.0, 6770.0)
[INFO] 1001781 WMJ304 (6740.0, 6770.0)
[INFO] 2948355 WQHP736 (6740.0, 6750.0)
[INFO] 4439272 WRMK315 (6740.0, 6770.0)
[INFO] 4075042 WRCB624 (6740.0, 6750.0)
[INFO] 4364084 WRKD572 (6740.0, 6770.0)
[INFO] 2936067 WQHI924 (6740.0, 6750.0)
[INFO] 4439276 WRMK319 (6740.0, 6770.0)
[INFO] 2987067 WQII643 (6740.0, 6770.0)
[INFO] 3065975 WQJT283 (6740.0, 6770.0)
[INFO] 3169081 WQLJ873 (6740.0, 6770.0)
[INFO] 3958982 WRAA590 (6740.0, 6750.0)
[INFO] 1014346 WNER278 (6740.0, 6770.0)
[INFO] 1032890 WNTZ393 (6740.0, 6770.0)
[INFO] 4461441 WRMX409 (6740.0, 6770.0)
[INFO] 2361115 WPTM669 (6740.0, 6750.0)
[INFO] 2553321 WPYR863 (6742.5, 6747.5)
[INFO] 1093210 WPQP309 (6742.5, 6747.5)
[INFO] 3842226 WQYD483 (6743.35, 6766.65)
[INFO] 1023225 WNTK458 (6747.53, 6752.47)
[INFO] 3074904 WQJX214 (6750.0, 6760.0)
[INFO] 3503886 WQRX731 (6750.0, 6760.0)
[INFO] 2351776 WPTF549 (6750.0, 6760.0)
[INFO] 1042026 WPNG237 (6750.0, 6760.0)
[INFO] 4096465 WRCL474 (6750.0, 6760.0)
[INFO] 1040676 WPND934 (6750.0, 6760.0)
[INFO] 2342822 WPSZ324 (6750.0, 6760.0)
[INFO] 1043170 WPNH742 (6750.0, 6760.0)
[INFO] 1098734 WPQR463 (6750.0, 6760.0)
[INFO] 1043173 WPNH745 (6750.0, 6760.0)
[INFO] 2900101 WQGT237 (6750.0, 6760.0)
[INFO] 3263936 WQNH850 (6750.0, 6760.0)
[INFO] 3334775 WQON650 (6750.0, 6760.0)
[INFO] 1098728 WPQR457 (6750.0, 6760.0)
[INFO] 1049782 WPOS639 (6750.0, 6760.0)
[INFO] 1012494 WNEN354 (6750.0, 6760.0)
[INFO] 4343206 WRJR550 (6750.0, 6760.0)
[INFO] 3619375 WQUK249 (6750.0, 6760.0)
[INFO] 2543863 WPYK380 (6753.875, 6757.375)
[INFO] 1933928 WPQZ379 (6757.5, 6762.5)
[INFO] 980226 WHC362 (6757.5, 6762.5)
[INFO] 2351776 WPTF549 (6760.0, 6770.0)
[INFO] 4096465 WRCL474 (6760.0, 6770.0)
[INFO] 1017726 WNEY210 (6760.0, 6770.0)
[INFO] 3958859 WRAA565 (6760.0, 6770.0)
[INFO] 1010095 WNEG561 (6760.0, 6770.0)
[INFO] 2516211 WPXQ876 (6760.0, 6770.0)
[INFO] 1045355 WPNL762 (6760.0, 6770.0)
[INFO] 2884439 WQGL668 (6760.0, 6770.0)
[INFO] 960012 KIR67 (6760.0, 6770.0)
[INFO] 961546 KLR23 (6760.0, 6770.0)
[INFO] 3614681 WQUH920 (6760.0, 6770.0)
[INFO] 2415472 WPUZ454 (6760.0, 6770.0)
[INFO] 1050681 WPOT822 (6760.0, 6770.0)
[INFO] 960031 KIS42 (6760.0, 6770.0)
[INFO] 2686357 WQBZ627 (6760.0, 6770.0)
[INFO] 3614659 WQUH911 (6760.0, 6770.0)
[INFO] 986812 WIW76 (6762.5, 6767.5)
[INFO] 1047021 WPNN892 (6762.5, 6767.5)
[INFO] 986813 WIW77 (6762.5, 6767.5)
[INFO] 1051452 WPOU849 (6763.75, 6767.5)
[INFO] 966129 KVE70 (6767.5, 6772.5)
[INFO] 2609839 WPZY561 (6767.5, 6772.5)
[INFO] 1093210 WPQP309 (6767.5, 6772.5)
[INFO] 2342822 WPSZ324 (6770.0, 6780.0)
[INFO] 1043173 WPNH745 (6770.0, 6780.0)
[INFO] 1012488 WNEN348 (6770.0, 6780.0)
[INFO] 3935501 WQZP778 (6770.0, 6800.0)
[INFO] 1001781 WMJ304 (6770.0, 6800.0)
[INFO] 2693742 WQCE462 (6770.0, 6780.0)
[INFO] 4439272 WRMK315 (6770.0, 6800.0)
[INFO] 1008618 WMW255 (6770.0, 6800.0)
[INFO] 1025313 WNTN574 (6770.0, 6800.0)
[INFO] 2969225 WQIA730 (6770.0, 6780.0)
[INFO] 974157 WED277 (6770.0, 6800.0)
[INFO] 1014344 WNER276 (6770.0, 6800.0)
[INFO] 1010095 WNEG561 (6770.0, 6780.0)
[INFO] 1015647 WNET776 (6770.0, 6780.0)
[INFO] 2908180 WQGW463 (6770.0, 6800.0)
[INFO] 1010106 WNEG574 (6770.0, 6780.0)
[INFO] 1024739 WNTM695 (6770.0, 6780.0)
[INFO] 1032890 WNTZ393 (6770.0, 6780.0)
[INFO] 2756437 WQDR663 (6770.0, 6780.0)
[INFO] 961541 KLQ98 (6770.0, 6800.0)
[INFO] 3958935 WRAA583 (6770.0, 6780.0)
[INFO] 3259552 WQNF727 (6770.0, 6800.0)
[INFO] 2961189 WQHV581 (6770.0, 6800.0)
[INFO] 2730990 WQCZ751 (6770.0, 6800.0)
[INFO] 2415472 WPUZ454 (6770.0, 6780.0)
[INFO] 1008622 WMW260 (6770.0, 6800.0)
[INFO] 957622 KCK21 (6770.0, 6800.0)
[INFO] 1050681 WPOT822 (6770.0, 6780.0)
[INFO] 1045354 WPNL761 (6770.0, 6800.0)
[INFO] 2730991 WQCZ752 (6770.0, 6800.0)
[INFO] 1933928 WPQZ379 (6771.25, 6798.75)
[INFO] 2469959 WPWM578 (6772.5, 6777.5)
[INFO] 2609846 WPZY568 (6772.5, 6777.5)
[INFO] 3895215 WQYY355 (6773.35, 6796.65)
[INFO] 3160975 WQLG871 (6773.75, 6777.5)
[INFO] 1023225 WNTK458 (6777.53, 6782.47)
[INFO] 3032851 WQJD301 (6778.75, 6782.5)
[INFO] 1935118 WPQZ738 (6778.875, 6782.375)
[INFO] 2543883 WPYK388 (6778.875, 6782.375)
[INFO] 1045928 WPNM562 (6780.0, 6790.0)
[INFO] 3797021 WQXK699 (6780.0, 6790.0)
[INFO] 967725 KZK54 (6780.0, 6790.0)
[INFO] 978749 WGY620 (6780.0, 6790.0)
[INFO] 1018948 WNTA659 (6780.0, 6790.0)
[INFO] 3621571 WQUL311 (6780.0, 6790.0)
[INFO] 3263936 WQNH850 (6780.0, 6790.0)
[INFO] 3304771 WQNZ645 (6780.0, 6790.0)
[INFO] 960002 KIR38 (6780.0, 6790.0)
[INFO] 1045359 WPNL766 (6780.0, 6790.0)
[INFO] 1019246 WNTB302 (6780.0, 6790.0)
[INFO] 1042026 WPNG237 (6780.0, 6810.0)
[INFO] 2693739 WQCE459 (6780.0, 6790.0)
[INFO] 1012494 WNEN354 (6780.0, 6790.0)
[INFO] 2730991 WQCZ752 (6780.0, 6810.0)
[INFO] 1012500 WNEN360 (6780.0, 6790.0)
[INFO] 1015647 WNET776 (6782.5, 6787.5)
[INFO] 960285 KJB64 (6783.75, 6787.5)
[INFO] 2669661 WQBN530 (6785.0, 6787.5)
[INFO] 1093210 WPQP309 (6787.5, 6792.5)
[INFO] 1045355 WPNL762 (6790.0, 6800.0)
[INFO] 3494055 WQRR312 (6790.0, 6800.0)
[INFO] 1018949 WNTA660 (6790.0, 6800.0)
[INFO] 980226 WHC362 (6790.0, 6800.0)
[INFO] 3169081 WQLJ873 (6790.0, 6820.0)
[INFO] 960002 KIR38 (6790.0, 6800.0)
[INFO] 1047021 WPNN892 (6790.0, 6792.5)
[INFO] 2693740 WQCE460 (6790.0, 6800.0)
[INFO] 3619375 WQUK249 (6790.0, 6800.0)
[INFO] 3958935 WRAA583 (6790.0, 6800.0)
[INFO] 3074904 WQJX214 (6790.0, 6800.0)
[INFO] 3085219 WQKA839 (6790.0, 6800.0)
[INFO] 1040676 WPND934 (6790.0, 6800.0)
[INFO] 2969284 WQIA733 (6790.0, 6800.0)
[INFO] 967725 KZK54 (6792.5, 6797.5)
[INFO] 975621 WEG315 (6792.5, 6797.5)
[INFO] 1016780 WNEV986 (6792.5, 6797.5)
[INFO] 2351777 WPTF550 (6793.75, 6797.5)
[INFO] 2609843 WPZY565 (6797.5, 6802.5)
[INFO] 1024074 WNTL680 (6798.75, 6802.5)
[INFO] 980226 WHC362 (6800.0, 6830.0)
[INFO] 4343206 WRJR550 (6800.0, 6810.0)
[INFO] 978749 WGY620 (6800.0, 6810.0)
[INFO] 1017706 WNEX894 (6800.0, 6810.0)
[INFO] 2360889 WPTM496 (6800.0, 6810.0)
[INFO] 2846860 WQFT232 (6800.0, 6830.0)
[INFO] 978494 WGX983 (6800.0, 6830.0)
[INFO] 2961189 WQHV581 (6800.0, 6830.0)
[INFO] 3623608 WQUM351 (6800.0, 6830.0)
[INFO] 3972483 WRAG353 (6800.0, 6830.0)
[INFO] 2884439 WQGL668 (6800.0, 6810.0)
[INFO] 2969284 WQIA733 (6800.0, 6830.0)
[INFO] 957625 KCK24 (6800.0, 6830.0)
[INFO] 3102155 WQKG485 (6800.0, 6810.0)
[INFO] 1005248 WMR418 (6800.0, 6830.0)
[INFO] 2361115 WPTM669 (6800.0, 6810.0)
[INFO] 1098733 WPQR462 (6800.0, 6810.0)
[INFO] 3074424 WQJW860 (6800.0, 6830.0)
[INFO] 2415432 WPUZ428 (6800.0, 6810.0)
[INFO] 970591 WBD40 (6800.0, 6810.0)
[INFO] 958937 KFU29 (6800.0, 6810.0)
[INFO] 986812 WIW76 (6802.5, 6807.5)
[INFO] 967725 KZK54 (6802.5, 6807.5)
[INFO] 3842226 WQYD483 (6803.35, 6826.65)
[INFO] 4343469 WRJR698 (6803.35, 6826.65)
[INFO] 3049695 WQJK741 (6803.75, 6807.5)
[INFO] 3503886 WQRX731 (6803.75, 6807.5)
[INFO] 2351777 WPTF550 (6803.75, 6807.5)
[INFO] 1014360 WNER298 (6807.5, 6812.5)
[INFO] 2917938 WQHA308 (6807.5, 6810.0)
[INFO] 4430836 WRMF700 (6808.875, 6812.375)
[INFO] 3304771 WQNZ645 (6810.0, 6820.0)
[INFO] 1012483 WNEN343 (6810.0, 6820.0)
[INFO] 1049782 WPOS639 (6810.0, 6820.0)
[INFO] 959027 KFX74 (6810.0, 6820.0)
[INFO] 2693739 WQCE459 (6810.0, 6820.0)
[INFO] 2932011 WQHG837 (6810.0, 6820.0)
[INFO] 971826 WBX365 (6810.0, 6820.0)
[INFO] 2415432 WPUZ428 (6810.0, 6820.0)
[INFO] 1098736 WPQR465 (6810.0, 6820.0)
[INFO] 2523759 WPXV623 (6810.0, 6820.0)
[INFO] 975620 WEG314 (6810.0, 6820.0)
[INFO] 4343460 WRJR690 (6810.0, 6820.0)
[INFO] 1098735 WPQR464 (6810.0, 6820.0)
[INFO] 969965 WAZ571 (6810.0, 6820.0)
[INFO] 967725 KZK54 (6812.5, 6817.5)
[INFO] 1080088 WPON740 (6815.0, 6816.25)
[INFO] 1933928 WPQZ379 (6817.5, 6822.5)
[INFO] 1029670 WNTU678 (6817.5, 6822.5)
[INFO] 2917958 WQHA312 (6817.5, 6820.0)
[INFO] 2361115 WPTM669 (6820.0, 6830.0)
[INFO] 1014360 WNER298 (6820.0, 6850.0)
[INFO] 1019246 WNTB302 (6820.0, 6830.0)
[INFO] 2987067 WQII643 (6820.0, 6850.0)
[INFO] 3263942 WQNH851 (6820.0, 6830.0)
[INFO] 3225580 WQMK438 (6820.0, 6830.0)
[INFO] 1010102 WNEG570 (6820.0, 6830.0)
[INFO] 1010095 WNEG561 (6820.0, 6830.0)
[INFO] 967725 KZK54 (6820.0, 6830.0)
[INFO] 1045355 WPNL762 (6820.0, 6830.0)
[INFO] 1010106 WNEG574 (6820.0, 6830.0)
[INFO] 1017720 WNEX908 (6820.0, 6830.0)
[INFO] 959756 KIB62 (6820.0, 6830.0)
[INFO] 961545 KLR22 (6820.0, 6830.0)
[INFO] 2693742 WQCE462 (6820.0, 6830.0)
[INFO] 970591 WBD40 (6823.75, 6827.5)
[INFO] 1051454 WPOU851 (6823.75, 6827.5)
[INFO] 2917935 WQHA306 (6827.5, 6830.0)
[INFO] 1935118 WPQZ738 (6828.875, 6832.375)
[INFO] 1015505 WNET572 (6828.875, 6832.375)
[INFO] 3958982 WRAA590 (6830.0, 6840.0)
[INFO] 968562 WAH765 (6830.0, 6860.0)
[INFO] 1019246 WNTB302 (6830.0, 6860.0)
[INFO] 1008622 WMW260 (6830.0, 6860.0)
[INFO] 957622 KCK21 (6830.0, 6860.0)
[INFO] 4135535 WRDB449 (6830.0, 6860.0)
[INFO] 1050681 WPOT822 (6830.0, 6840.0)
[INFO] 961542 KLQ99 (6830.0, 6860.0)
[INFO] 1012488 WNEN348 (6830.0, 6860.0)
[INFO] 3031174 WQJC397 (6830.0, 6860.0)
[INFO] 4345220 WRJS601 (6830.0, 6860.0)
[INFO] 2693740 WQCE460 (6830.0, 6840.0)
[INFO] 962905 KOR41 (6830.0, 6840.0)
[INFO] 1014344 WNER276 (6830.0, 6860.0)
[INFO] 1013286 WNEP339 (6830.0, 6840.0)
[INFO] 2544166 WPYK539 (6830.0, 6840.0)
[INFO] 2730252 WQCZ335 (6830.0, 6860.0)
[INFO] 3972483 WRAG353 (6830.0, 6860.0)
[INFO] 980226 WHC362 (6830.0, 6840.0)
[INFO] 1017710 WNEX898 (6833.35, 6856.65)
[INFO] 3842226 WQYD483 (6833.35, 6856.65)
[INFO] 3895214 WQYY354 (6833.35, 6856.65)
[INFO] 2609840 WPZY562 (6837.5, 6842.5)
[INFO] 1012483 WNEN343 (6840.0, 6850.0)
[INFO] 969456 WAU62 (6840.0, 6850.0)
[INFO] 3085218 WQKA838 (6840.0, 6850.0)
[INFO] 1051453 WPOU850 (6840.0, 6850.0)
[INFO] 1014360 WNER298 (6840.0, 6870.0)
[INFO] 1098733 WPQR462 (6840.0, 6850.0)
[INFO] 2529365 WPXZ277 (6840.0, 6870.0)
[INFO] 1024740 WNTM696 (6840.0, 6850.0)
[INFO] 1098735 WPQR464 (6840.0, 6850.0)
[INFO] 2730252 WQCZ335 (6840.0, 6870.0)
[INFO] 2908180 WQGW463 (6840.0, 6870.0)
[INFO] 978749 WGY620 (6840.0, 6850.0)
[INFO] 1045359 WPNL766 (6840.0, 6850.0)
[INFO] 2761940 WQDV530 (6840.0, 6850.0)
[INFO] 4096468 WRCL477 (6840.0, 6850.0)
[INFO] 2902742 WQGU424 (6840.0, 6850.0)
[INFO] 2415472 WPUZ454 (6840.0, 6850.0)
[INFO] 2961189 WQHV581 (6840.0, 6850.0)
[INFO] 4006631 WRAU216 (6840.0, 6850.0)
[INFO] 2978384 WQIF290 (6840.0, 6850.0)
[INFO] 1934952 WPQZ674 (6843.875, 6847.375)
[INFO] 1093208 WPQP307 (6847.5, 6852.5)
[INFO] 3049860 WQJK781 (6850.0, 6860.0)
[INFO] 3621571 WQUL311 (6850.0, 6860.0)
[INFO] 3263934 WQNH848 (6850.0, 6860.0)
[INFO] 1014344 WNER276 (6850.0, 6860.0)
[INFO] 2961189 WQHV581 (6850.0, 6860.0)
[INFO] 2543863 WPYK380 (6858.875, 6862.375)
[INFO] 969965 WAZ571 (6860.0, 6870.0)
[INFO] 969767 WAY534 (6860.0, 6870.0)
[INFO] 2415432 WPUZ428 (6860.0, 6870.0)
[INFO] 2996545 WQIM687 (6860.0, 6870.0)
[INFO] 3226608 WQMK883 (6860.0, 6870.0)
[INFO] 3263934 WQNH848 (6860.0, 6870.0)
[INFO] 960012 KIR67 (6860.0, 6870.0)
[INFO] 959285 KGM46 (6860.0, 6870.0)
[INFO] 1019246 WNTB302 (6860.0, 6870.0)
[INFO] 1023333 WNTK598 (6860.0, 6870.0)
[INFO] 1000736 WMF325 (6862.5, 6887.5)
[INFO] 1169185 WPQT500 (6862.5, 6887.5)
[INFO] 956036 KB55241 (6862.5, 6887.5)
[INFO] 960730 KK4462 (6862.5, 6887.5)
[INFO] 1008330 WMV760 (6862.5, 6887.5)
[INFO] 1007672 WMU890 (6862.5, 6887.5)
[INFO] 1008331 WMV761 (6862.5, 6887.5)
[INFO] 1169184 WPQT499 (6862.5, 6887.5)
[INFO] 956038 KB55244 (6862.5, 6887.5)
[INFO] 954891 KA4515 (6862.5, 6887.5)
[INFO] 2543863 WPYK380 (6863.875, 6867.375)
[INFO] 956415 KB97921 (6866.5, 6883.5)
[INFO] 1012500 WNEN360 (6867.5, 6872.5)
[INFO] 3357990 WQOY796 (6869.0, 6881.0)

also attaching the logs in info mode. out_AFCS.SIP.2_2024-01-19 20:40:49.889922.zip

AEgbert commented 7 months ago

The scope of this issue is far outside of what I'm able to reasonably help with. However, I've attempted to check your log file, and I think the issue may be as simple as something being wrong with how you're identifying the constraints to report. For the band you mentioned (5930-5949), your attached log file contains analysis for a few incumbents with more restrictive limits than the one you report. For instance, UUID 2730990 with callsign WQCZ751 is listed in your logs as existing on 5930.2-5960.2 with a psd_dbm_pre_Mhz of 11.04. This is both lower than the restraint you report (15.78) and satisfies the mask upper bound of 11.1.

If this does not help track down the issue, then I'm afraid I do not have much else to offer in the way of troubleshooting.

alexcpn commented 7 months ago

However, I've attempted to check your log file,

Thanks @AEgbert and much appreciated. I was not splitting the frequencies that were occurring in between other frequency ranges. I corrected that, and most frequency ranges looks good except for some restrictive frequency the most being the one below

[INFO] 5959.85-5989.85  psd: -7.0297487406666335

Contributed by the incumbent at uuid 2609844 and call_sign WPZY566 for the frequency range (5959.85, 5989.85)

[INFO] ********************************************************************************
[INFO] Going to process UUID = 2609844 call_sign = 'WPZY566
[INFO] accesspoint_loc =(38.377266, -78.468021) receiver_loc=(37.78341666666667, -78.49219444444445)
[INFO] Processing UUID = 2609844 call_sign = 'WPZY566' R to AP Dist =65950.19920028084 m, CF =5974.85 Mhz r_antenna_make= Commscope r_antenna_model=VHLP6-6WB (CAT A)
[INFO] uuid: 2609844
[INFO] call_sign: WPZY566
[INFO] frequency_assigned: 5974.85
[INFO] receiver_loc: (37.78341666666667, -78.49219444444445)
[INFO] t_loc_num: 1
[INFO] t_path_num: 3
[INFO] t_ant_num: 3
[INFO] receiver_to_ap_dist_m: 65950.19920028084
[INFO] r_height_to_center_raat: 29.6
[INFO] r_gain: 39.3
[INFO] r_diversity_gain: None
[INFO] r_azimuth: 0.0
[INFO] r_antenna_make: Commscope
[INFO] r_antenna_model: VHLP6-6WB (CAT A)
[INFO] r_loc_num: 4
[INFO] r_path_num: 3
[INFO] r_ant_num: 1
[INFO] polarization_code: None
[INFO] line_loss: None
[INFO] r_diameter_ft: 6.0
[INFO] r_diameter_m: 1.83
[INFO] ant_category: B2
[INFO] transmitter_loc: (37.98233333333334, -78.48236111111112)
[INFO] t_height_to_center_raat: 18.3
[INFO] t_gain: 41.3
[INFO] t_diversity_gain: None
[INFO] t_azimuth: 182.2
[INFO] t_antenna_make: Commscope
[INFO] t_antenna_model: UHX8-59J RF
[INFO] bandwidth: 30.0
[INFO] frequency_range: (5959.85, 5989.85)
[INFO] accesspoint_loc: (38.377266, -78.468021)
[INFO] accesspoint_ht_m: 300.0
[INFO] accesspoint_vtunc_m: 30
[INFO] Free Space Path Loss =144.3526345530228
[INFO] accesspoint_elev=528.5480346679688 receiver_elev=124.12525177001953 transmitter_elev=434.4264221191406
[INFO] GRx = 39.3 dB
[INFO] centerFreq of Receiver =5974.85 Mhz
[INFO] ant_category = B2 
[INFO] Angle 1: Azimuthal discrimination angle:R-AP The azimuthal discrimination angle,  θAZ_Disc= -0.40356838949331353 degress
[INFO] Angle 2: Elevation angle: R-T The receive antenna boresight elevation angle (from transmmitter) θEL_Disc= 0.7008329223071744 degrees
[INFO] Angle 3:elevation angle: R-AP The elevation angle from the  receive antenna to the evaluation phi= 0.36398860170787045 degrees
[INFO] --------------------------------------------------------------------------------
[INFO] Overall discrimination angle, 𝛾 =0.5256586433513493 degress
[INFO] --------------------------------------------------------------------------------
[INFO] 2.a GRx=39.3 >= 38:Calcualted:rpe=38.382383293689436 rpe-GRx=-0.9176167063105609
[INFO] 2.a GRx=39.3 >= 38:Calcualted:rpe=38.382383293689436 rpe-GRx=-0.9176167063105609
[INFO] getRPE gamma=-0.40356838949331353 ant_category=B2 rpe_p=-0.9176167063105609 rpe_n=-0.9176167063105609
[INFO] --------------------------------------------------------------------------------
[INFO] The azimuthal discrimination= GAZ-Disc =-0.9176167063105609 This should be negative
[INFO] The elevation discrimination  GEL-Disc in dB = -0.9176167063105609 contribution This should be Negative!)
[INFO] --------------------------------------------------------------------------------
[INFO] GRx_Effectivein dB = 35.382383293689436 [39.3 -0.5408482775876811] [-0.3767684287228799- polarization mismatch=3]
[INFO] ----GRx_Effective in dB = 35.382383293689436
[INFO] Near field adjustments do not have to be done
[INFO] Elevation Profile and ITM losss caluclated  in 0.000349 seconds
[INFO] ITM loss is 140.9460739798118
[INFO] Path Loss used =144.3526345530228
[INFO] building_entry_loss = 0 ap_indoor=False
[INFO] interference = -108.97025125933337 
[INFO] transmit_power PSD = -7.0297487406666335 dBm/MHz
[[INFO] Calculated Frequency
[INFO] 5925.0-5930.025  psd: 23.0 - Ok

Expected:5930-5949,upperBound:11.1 nominalValue:9.1
Expected:5949-6050,upperBound:11.2 nominalValue:9.2

[INFO] 5930.025-5959.85  psd: 9.21919183642514 ok
**[INFO] 5959.85-5989.85  psd: -7.0297487406666335 Not ok**
[INFO] 5989.85-5990.025  psd: 9.21919183642514 ok 
[INFO] 5990.025-6049.325  psd: 9.305186061950664 ok

Expected:6050-6078,upperBound:23.0 nominalValue:23.0

[INFO] 6049.325-6078.45  psd: 17.752804037801184 ok

Expected:6078-6109,upperBound:-0.4 nominalValue:-2.4

[INFO] 6078.45-6108.45  psd: -5.2792661211694565 -ok 

Expected:6109-6137,upperBound:23.0 nominalValue:23.0

[INFO] 6108.45-6108.625  psd: 17.911661857844592 ok
[INFO] 6108.625-6137.75  psd: 23.0  ok

Expected: 6137-6168,upperBound:-0.3 nominalValue:-2.3

[INFO] 6137.75-6167.75  psd: -5.178939698339647 - ok

Expected: 6168-6211,upperBound:23.0 nominalValue:23.0

[INFO] 6167.75-6167.925  psd: 23.0  ok
[INFO] 6167.925-6182.065  psd: 23.0  ok
[INFO] 6182.065-6211.89  psd: 23.0 ok

Expected: 6211-6241,upperBound:14.3 nominalValue:12.3

[INFO] 6211.89-6241.365  psd: 9.685669535605086  ok

 Expected: 6241-6302,upperBound:7.1 nominalValue:5.1

[INFO] 6241.365-6241.54  psd: 5.387537009608948  ok
[INFO] 6241.54-6271.54  psd: 5.366979961325029  ok
[INFO] 6271.54-6301.365  psd: 5.387537009608948  ok

Expected: 6302-6331,upperBound:17.2 nominalValue:15.2

[INFO] 6301.365-6330.84  psd: 11.794109109088566 ok

Expected: 6331-6359,upperBound:20.9 nominalValue:18.9

[INFO] 6330.84-6359.965  psd: 23.0 ok (3 decibel mismatch could be polarization mismatch)

Expected: 6359-6392,upperBound:18.2 nominalValue:16.2
Expected:6392-6420,upperBound:18.3 nominalValue:16.3

[INFO] 6359.965-6419.965  psd: 13.26858071224217 ok

Expected: 6420-6425,upperBound:23.0 nominalValue:23.0

[INFO] 6419.965-6425.0  psd: 23.0 ok

Expected: 6525-6540,upperBound:23.0 nominalValue:23.0

[INFO] 6525.0-6540.0  psd: 23.0 ok

Expected: 6540-6570,upperBound:23.0 nominalValue:22.9

[INFO] 6540.0-6570.0  psd: 15.737189287409763 ok

Expected:6570-6580,upperBound:23.0 nominalValue:23.0

[INFO] 6570.0-6580.0  psd: 23.0 ok

Expected:6580-6590,upperBound:16.6 nominalValue:14.6

INFO] 6580.0-6590.0  psd: 23.0 - Not okay check

Expected:6590-6600,upperBound:23.0 nominalValue:22.7

[INFO] 6590.0-6600.0  psd: 19.745014053790953  ok

Expected:6600-6610,upperBound:23.0 nominalValue:23.0

[INFO] 6600.0-6610.0  psd: 20.228282029739717 ok

Expected:6610-6640,upperBound:17.1 nominalValue:15.1

[INFO] 6610.0-6640.0  psd: 11.105362298937578 ok

Expected:6640-6650,upperBound:23.0 nominalValue:23.0

[INFO] 6640.0-6650.0  psd: 21.407024789643486 ok

[INFO] 6650.0-6660.0  psd: 0 ok

**[INFO] 6660.0-6670.0  psd: -5.066111165548648 - not okay**
[INFO] 6670.0-6675.2  psd: 0  okay

Expected:6676-6680,upperBound:19.9 nominalValue:17.9 
6680-6694,upperBound:23.0 nominalValue:21.3
6694-6700,upperBound:23.0 nominalValue:21.4

[INFO] 6675.2-6700.0  psd: 23.0  - not okay (3 decibel change could satisfy this)

Expected:6700-6710,upperBound:15.4 nominalValue:13.4

[INFO] 6700.0-6710.0  psd: 10.891977330796422 ok

Expected:6710-6770,upperBound:23.0 nominalValue:23.0

[INFO] 6710.0-6740.0  psd: 20.96310494836436  ok
[INFO] 6740.0-6770.0  psd: 21.021096888872478 ok

Expected:6770-6800,upperBound:20.0 nominalValue:18.0

**[INFO] 6770.0-6800.0  psd: 8.081817084848169** ok but too low

Expected:6800-6803,upperBound:23.0 nominalValue:23.0

[INFO] 6800.0-6803.75  psd: 23.0 ok

Expected:6803-6808,upperBound:12.8 nominalValue:10.8

[INFO] 6803.75-6807.5  psd: 8.015087793907895 ok

Expected:6808-6810,upperBound:23.0 nominalValue:23.0

[INFO] 6807.5-6817.5  psd: 23.0 ok

Expected:6810-6820,upperBound:23.0 nominalValue:21.0
6820-6850,upperBound:23.0 nominalValue:23.0

[INFO] 6817.5-6822.5  psd: 22.722624097951012 ok

Expected:6850-6860,upperBound:8.8 nominalValue:6.8

**[INFO] 6822.5-6860.0  psd: 23.0 not okay**

Expected:6860-6870,upperBound:17.1 nominalValue:15.1

[INFO] 6860.0-6870.0  psd: 12.10214734191419 okay

Expected:6870-6875,upperBound:23.0 nominalValue:23.0

[INFO] 6870.0-6875.0  psd: 23.0 okay
AEgbert commented 7 months ago

Looking at that specific incumbent, I think it may be a matter of the terrain profile used for ITM path loss calculations. Looking at the terrain data between those locations, I believe there is a significant elevation change between the AFC device and the incumbent receiver that blocks line of sight. If this terrain profile is given to ITM, I expect you'll get significantly more path loss than you currently have.

alexcpn commented 7 months ago

Terrain profile is given to the ITM in these calculations. Since we have to take the most restrictive PSD, I believe we need to take the max path loss ,

For example if I give the elevation data from access-point to receiver I get the below restrictive PSD

elevation_data = libneddata.getElevationData(accesspoint_loc,receiver_loc, dataset,rTreeIndx)
accesspoint_ht_asml = accesspoint_elv[0] +accesspoint_ht_m
itmloss= itmobj.getItmLoss(center_freq, r_height_to_center_raat,accesspoint_ht_asml, elevation_data, distance_m)
[INFO] 5959.85-5989.85  psd: -7.0297487406666335 - Not ok
[INFO] 5989.85-6019.15  psd: 23.0
[INFO] 6019.15-6049.15  psd: 21.070465485776083
[INFO] 6049.15-6078.45  psd: 23.0
[INFO] 6078.45-6108.45  psd: -5.2792661211694565 - ok
[INFO] 6108.45-6137.75  psd: 23.0
[INFO] 6137.75-6167.75  psd: -5.178939698339647 -ok 

If I do the reverse, that is give from receiver to access point 5959.85-5989.85 becomes okay but the other two ranges are calculated wrongly

elevation_data = libneddata.getElevationData(receiver_loc,accesspoint_loc, dataset,rTreeIndx)
accesspoint_ht_asml = accesspoint_elv[0] +accesspoint_ht_m
itmloss= itmobj.getItmLoss(center_freq, r_height_to_center_raat,accesspoint_ht_asml, elevation_data, distance_m)
[INFO] 5959.85-5989.85  psd: 23.0 ok
[INFO] 5989.85-6019.15  psd: 23.0
[INFO] 6019.15-6049.15  psd: 23.0
[INFO] 6049.15-6078.45  psd: 23.0
[INFO] 6078.45-6108.45  psd: 23.0 Not ok
[INFO] 6108.45-6137.75  psd: 23.0
[INFO] 6137.75-6167.75  psd: 23.0 Not ok
...
AEgbert commented 7 months ago

I think the terrain obstruction may be narrow along the path between the incumbent receiver and AFC device. It's possible that your elevation database does not have sufficient resolution, or your elevation profile is too sparsely sampled to capture the terrain obstruction accurately. As best as I can tell, I expect the incumbent you've identified here likely does not impact the test vector mask values because of a terrain obstruction blocking the line-of-sight path between incumbent receiver and AFC device.

alexcpn commented 7 months ago

Thanks, @AEgbert for this very helpful hint.

Since the line between the AP and Receiver was crossing multiple NED files, I had segmented it into multiples lines and was reading from each. However there was some complexity related to an index for each line which caused the sort order of the line segments to be not incorrect and hence the order of assembling the elevation points was wrong. Which when I correct is giving higher ITM values. I am trying to correct this for all cases and run SIP.2

https://colab.research.google.com/drive/1zWU4l7OwD7UaZBQmB_NZOwpKEwenklMP?usp=sharing

alexcpn commented 7 months ago

@AEgbert even with the correction int the elevation there seems to be low loss coming from ITM. I am using the WINNF ITM library

Adding also @sergebdt

https://github.com/Wireless-Innovation-Forum/Spectrum-Access-System/tree/master/src/harness/reference_models/propagation/itm

It seems there is some problem with the WINNF ITM library on how it is sampling the elevation data.

Irrespective of the number of samples it is missing the elevation in the middle between Access Point and Microwave Receiver

(Incidentally the AP height over ground seems to be very high here at 300 meters)

Case 1

I took around 20,000 samples. The data is from the NED files at this location https://github.com/Wireless-Innovation-Forum/Common-Data/tree/master/data/ned so that it should have the specified details

[INFO] Total profiles collected =19994 [DEBUG] Total distance of segments =66.32 km height1 (AP asml)=828.5480346679688 height2(Receiver asml)=153.72525177001953 frequency=5989.85 distance_m=65950.19920028084 [DEBUG] Loss=140.97252928518384 For reliability=0.2 and confidence=0.05 Calculated itmloss=140.97252928518384

This is the plotted elevation data.

image

Case 2

Reduced sample to around 200 for easy debugging and also finding that increasing the sampling is not really helping

image

height1 (AP asml)=828.5480346679688 height2(Receiver asml)=153.72525177001953 frequency=5989.85 distance_m=65950.19920028084 [DEBUG] Loss=140.97251889952966 For reliability=0.2 and confidence=0.05 Calculated itmloss=140.97251889952966

Elevation profile seems correct; I checked this via the NED files directly https://colab.research.google.com/drive/1zWU4l7OwD7UaZBQmB_NZOwpKEwenklMP?usp=sharing

elevation_data=[528.55, 509.59, 460.06, 416.5, 344.12, 379.54, 445.67, 433.08, 476.71, 424.14, 389.1, 346.34, 341.0, 326.85, 332.98, 341.35, 301.15, 279.21, 260.45, 297.33, 292.16, 304.74, 308.95, 335.83, 369.83, 388.8, 391.25, 387.64, 344.69, 261.0, 244.73, 243.21, 255.28, 231.14, 220.78, 210.35, 213.1, 213.93, 212.09, 206.41, 213.67, 207.85, 216.89, 209.2, 209.57, 213.78, 206.95, 194.69, 197.65, 187.21, 183.44, 186.1, 190.79, 203.59, 201.12, 228.57, 235.99, 197.77, 181.73, 190.39, 187.8, 180.79, 186.31, 174.58, 179.29, 171.07, 174.02, 170.2, 160.1, 156.66, 163.63, 147.37, 145.18, 152.57, 171.11, 170.38, 176.82, 170.15, 164.97, 160.05, 159.8, 143.22, 137.15, 127.88, 136.01, 127.77, 149.18, 131.22, 125.76, 142.64, 151.41, 147.27, 165.04, 168.0, 142.22, 151.45, 167.58, 183.66, 177.04, 176.55, 185.88, 175.0, 188.81, 190.24, 179.0, 173.43, 189.19, 184.34, 169.22, 161.59, 158.31, 171.06, 172.89, 185.83, 190.02, 178.86, 184.28, 182.0, 190.06, 195.31, 187.64, 176.58, 169.06, 179.16, 172.78, 162.35, 167.12, 160.01, 151.36, 137.77, 142.04, 149.17, 154.21, 143.89, 153.05, 159.25, 163.49, 164.94, 164.25, 166.62, 158.3, 158.71, 158.03, 143.9, 147.7, 146.36, 147.32, 132.75, 118.66, 175.4, 176.55, 180.7, 172.58, 176.27, 155.26, 158.33, 147.96, 144.62, 134.14, 129.21, 127.53, 123.79, 119.99, 120.41, 160.72, 166.76, 166.6, 153.43, 140.87, 126.94, 135.79, 127.99, 138.49, 145.07, 141.33, 133.61, 136.6, 133.54, 130.81, 135.81, 147.29, 138.99, 140.1, 131.39, 120.82, 129.46, 135.44, 133.24, 126.54, 116.24, 107.15, 103.11, 136.99, 149.3, 147.64, 130.5, 117.92, 120.35, 115.06, 117.11, 121.95, 139.12, 130.64, 138.91, 146.78, 147.05, 173.17, 216.87, 240.68, 239.26, 318.38, 325.79, 320.26, 379.1, 406.28, 422.43, 403.52, 362.25, 332.99, 326.5, 316.2, 312.13, 288.0, 262.02, 256.82, 233.52, 212.05, 219.76, 224.28, 210.02, 213.08, 202.51, 188.36, 195.41, 194.69, 184.5, 192.12, 189.67, 183.25, 182.08, 187.09, 191.61, 205.28, 208.55, 193.51, 182.28, 170.25, 158.78, 153.59, 155.58, 182.75, 190.77, 182.23, 174.69, 170.06, 157.9, 150.06, 146.25, 140.0, 141.69, 152.6, 155.29, 146.64, 142.0, 138.87, 150.52, 144.5, 152.78, 156.46, 151.22, 139.71, 142.36, 146.9, 141.82, 140.98, 136.49, 131.83, 133.47, 146.59, 151.79, 139.89, 146.88, 155.9, 158.98, 158.58, 159.43, 152.51, 147.17, 144.76, 149.22, 139.71, 133.45, 141.39, 145.33, 145.27, 139.36, 139.21, 133.57, 122.64, 127.36, 136.57, 126.99, 133.83, 135.22, 139.66, 135.22, 134.9, 130.77, 133.86, 135.9, 123.96, 121.6, 113.08, 106.04, 103.34, 103.76, 101.96, 105.28, 106.81, 106.21, 106.44, 106.13, 106.64, 103.69, 105.82, 105.79, 105.39, 103.51, 104.03, 105.61, 125.42, 124.66, 132.69, 131.09, 129.19, 123.44, 134.24, 128.76, 122.86, 125.02, 120.78, 122.21, 129.81, 131.85, 129.45, 121.06, 124.46, 132.12, 138.44, 143.51, 141.67, 142.95, 139.68, 139.84, 137.84, 137.2, 137.4, 131.93, 134.62, 136.24, 134.07, 136.81, 135.07, 131.87, 130.65, 136.54, 138.25, 133.74, 123.85, 117.66, 119.76, 121.45, 118.23, 120.62, 119.72, 113.4, 98.31, 112.73, 118.11, 108.41, 90.84, 82.74, 78.21, 82.29, 85.26, 84.83, 85.23, 113.7, 110.01, 120.4, 122.84, 124.85, 120.03, 105.35]

Case 3

200 sample still. But instead of giving the sampling as per Winnf ITM https://github.com/Wireless-Innovation-Forum/Spectrum-Access-System/blob/master/src/harness/reference_models/propagation/itm/itm_test.py#L88-L89

if I change from elevation_data.insert(1,distance_m/num_of_profile) to elevation_data.insert(1,num_of_profile)

  def getItmLoss(self, frequency, height1,height2, elevation_data, distance_m):
    confidence_vals = [0.05]
    reliability_vals = [0.2]

    refractivity = 314.0  # Typical
    refractivity_final=True
    dielectric = 25  # WINNF
    conductivity = 0.02  # WINNF
    climate = 5  # Continental temperate
    polarization = 0  # WINNF
    mdvar = 13 #WINNF

    num_of_profile = len(elevation_data)-1
    elevation_data.insert(0,num_of_profile)
    elevation_data.insert(1,distance_m/num_of_profile) # change sampling here

    loss, ver0, ver1, err, mode = itm.point_to_point(elevation_data, height1, height2,
                                             dielectric, conductivity, refractivity,
                                             frequency, climate, polarization,
                                             confidence_vals[0], reliability_vals[0],
                                             mdvar, refractivity_final)

to

  def getItmLoss(self, frequency, height1,height2, elevation_data, distance_m):
...
    num_of_profile = len(elevation_data)-1
    elevation_data.insert(0,num_of_profile)
    elevation_data.insert(1,num_of_profile) # only change here

    loss, ver0, ver1, err, mode = itm.point_to_point(elevation_data, height1, height2,
                                             dielectric, conductivity, refractivity,
                                             frequency, climate, polarization,
                                             confidence_vals[0], reliability_vals[0],
                                             mdvar, refractivity_final)

And test, I am getting the higher path loss. which seems consistent with the elevation in the middle

height1 = accesspoint_ht_asml
height2 = receiver_ht_asml
frequency =frequency_assigned + bandwidth_Mhz/2
distance_m = distance.distance(accesspoint_loc, receiver_loc).m
print(f"height1 (AP asml)={height1} height2(Receiver asml)={height2} frequency={frequency} distance_m={distance_m}")

itmloss= itmobj.getItmLoss(frequency, height1,height2, elevation_data, distance_m)
print(f"Calculated itmloss={itmloss}")

output with this change

height1 (AP asml)=828.5480346679688 height2(Receiver asml)=153.72525177001953 frequency=5989.85 distance_m=65950.19920028084
[DEBUG] Loss=171.20184959228385 For reliability=0.2 and confidence=0.05
Calculated itmloss=171.20184959228385

However when I do this the WINNF ITM test case fails

Before

def getItmLossClassic(self, frequency, height1,height2, elevation_data, distance_m):
    # https://github.com/Wireless-Innovation-Forum/Spectrum-Access-System/blob/19f2ae9c1a1844e2f2ca2ceddd07f392249741e6/src/harness/reference_models/propagation/itm/itm_test.py#L201
    confidence_vals = [0.5, 0.9, 0.1]
    reliability_vals = [0.01, 0.1, 0.5, 0.9, 0.99]
    expected_losses = [128.6, 137.6, 119.6,
                       132.2, 140.8, 123.5,
                       135.8, 144.3, 127.2,
                       138.0, 146.5, 129.4,
                       139.7, 148.4, 131.0]

    refractivity = 314.0  # Typical
    refractivity_final=True
    dielectric = 15  # Typical for ground
    conductivity = 0.005  # Typical for ground
    climate = 5  # Continental temperate
    polarization = 0  # Vertical
    mdvar = 12
    k = 0

    num_of_profile = len(elevation_data)-1
    elevation_data.insert(0,num_of_profile)
    elevation_data.insert(1,distance_m/num_of_profile)

    loss, ver0, ver1, err, mode = itm.point_to_point(elevation_data, height1, height2,
                                            dielectric, conductivity, refractivity,
                                            frequency, climate, polarization,
                                            confidence_vals[k], reliability_vals[k],
                                            mdvar, refractivity_final)

    log.debug(f"Loss={loss} For reliability={reliability_vals[0]} and confidence={confidence_vals[0]} Excpected={expected_losses[k]} ")
    return loss

Output before this change (note I have used same parameters here for conductivity, climate etc as per the test)

[DEBUG] Loss=128.59671741291228 For reliability=0.01 and confidence=0.5 Excpected=128.6 
Reference itmloss=128.59671741291228 Expected  128.6,

After this sampling change elevation_data.insert(1,num_of_profile) Output is

[DEBUG] Loss=104.43987979352246 For reliability=0.01 and confidence=0.5 Excpected=128.6 
Reference itmloss=104.43987979352246 Expected  128.6,
alexcpn commented 7 months ago

Adding more data poing to the above comment

This the plot of elevation from code (orange) as well as directly from flt files (blue). The shift is due to the slight difference in the number of samples. You can see that the elevation profile is correct

image

elevation_data =libneddata.getElevationData(accesspoint_loc,receiver_loc, dataset, rTreeIndx)
elevation_data_flt =[124.12525, 100.833755, 122.87143, 123.32976, 122.25566, 116.57078, 113.098114, 92.95955, 84.76377, 85.25844, 82.29317, 78.211, 84.139244, 94.50441, 114.6446, 116.38137, 91.57068, 108.777626, 117.93253, 120.62623, 115.811646, 121.44716, 118.21726, 117.66227, 127.767624, 134.58095, 139.73706, 134.19139, 130.06195, 133.23605, 137.42639, 134.57881, 137.16936, 134.62318, 131.9257, 137.39694, 137.5365, 138.09904, 140.60214, 141.7445, 141.29504, 143.491, 140.19255, 133.22461, 126.21056, 121.18165, 129.44571, 131.84729, 129.87477, 118.70335, 114.36087, 111.58925, 126.687515, 130.70837, 128.09668, 127.502594, 130.65497, 132.68976, 124.65571, 125.42334, 104.34001, 103.77601, 104.2924, 105.94702, 105.737816, 104.415276, 106.558556, 106.36363, 106.29706, 106.21269, 106.81254, 105.2823, 103.62328, 103.680305, 103.797035, 106.545105, 113.30708, 123.115135, 134.19049, 131.40019, 135.3478, 134.15105, 134.48036, 138.29338, 135.21515, 133.82773, 126.99318, 137.65463, 126.04518, 125.359085, 135.36432, 140.8913, 143.90768, 147.02615, 143.1508, 133.45164, 140.1042, 149.21631, 146.32664, 151.44887, 157.20859, 156.17828, 159.6626, 156.55238, 149.5168, 139.49869, 148.97055, 146.28299, 133.47037, 131.82779, 137.48477, 139.68364, 139.69511, 135.83182, 146.0718, 146.0602, 155.16313, 154.8511, 145.12842, 150.52026, 138.87364, 141.99965, 149.1689, 155.13965, 149.38066, 146.18883, 145.2314, 145.35394, 151.66586, 164.68205, 171.76529, 182.22597, 190.76904, 182.75223, 148.39122, 157.92696, 162.20721, 177.83205, 188.10336, 201.58597, 206.74684, 197.94937, 188.31062, 182.07628, 183.24515, 189.66829, 188.60304, 189.0584, 198.20969, 189.43921, 195.06114, 209.47263, 214.46292, 219.28397, 222.89648, 212.05057, 233.52068, 256.82208, 265.28128, 295.27252, 314.53525, 323.8624, 326.19156, 347.7797, 391.17206, 428.6666, 412.21664, 379.09506, 320.2592, 325.79495, 306.77194, 225.79083, 238.39388, 189.30077, 160.81693, 146.77458, 141.68326, 133.56323, 137.36217, 121.9539, 117.113, 115.06378, 115.125885, 131.68584, 147.57193, 149.36275, 133.64546, 107.36067, 102.74581, 111.175224, 125.58456, 132.54369, 133.4254, 126.63867, 121.476875, 132.5058, 140.6283, 138.98663, 138.7043, 126.17729, 136.56877, 139.00102, 127.63369, 137.28764, 145.84021, 146.50021, 127.68576, 135.10484, 132.63043, 142.63118, 153.66516, 165.19395, 165.92679, 159.0313, 118.095146, 121.47743, 125.197784, 137.82645, 131.30836, 132.0448, 143.72073, 146.05348, 159.53864, 161.5898, 178.34834, 177.4879, 181.87839, 174.70403, 118.66201, 123.06152, 135.80666, 152.21089, 143.12, 146.86064, 158.05229, 159.5616, 158.30261, 168.9262, 165.27754, 165.14244, 161.4503, 158.17316, 149.45514, 148.30988, 141.40565, 136.90623, 140.68982, 138.2744, 154.2604, 165.60655, 157.46872, 168.18571, 179.11475, 172.61469, 173.37721, 183.95358, 194.35205, 189.1427, 182.67577, 185.926, 182.78856, 190.7787, 181.04074, 165.28188, 173.44481, 157.09763, 169.65976, 176.0161, 189.09868, 186.65062, 174.31212, 183.43457, 195.01167, 181.107, 182.12755, 184.42534, 181.45238, 183.65897, 170.57443, 145.47395, 142.22003, 168.9296, 163.51463, 141.5477, 150.10458, 142.00752, 127.125, 138.26352, 143.05634, 132.3408, 127.80176, 129.5601, 130.70212, 151.9897, 150.96178, 157.50563, 168.70924, 174.09769, 172.3484, 173.24623, 156.62523, 145.18, 151.22212, 163.38283, 151.75403, 161.00227, 161.11441, 176.282, 175.48505, 177.99936, 182.58914, 184.09074, 182.44847, 187.61534, 189.1336, 192.32312, 214.7823, 246.06497, 201.951, 195.11105, 194.98477, 186.10167, 183.92299, 187.2118, 197.64804, 194.68542, 208.84767, 208.5717, 205.77159, 215.32097, 212.35025, 207.3271, 219.8789, 201.33217, 211.47238, 206.82333, 218.4968, 217.91833, 228.84058, 251.39935, 231.6214, 241.77203, 257.31015, 324.91382, 387.22122, 389.8501, 391.06097, 370.10074, 327.71146, 307.17694, 298.9928, 280.64923, 293.98804, 262.95325, 286.88354, 327.39685, 343.61945, 322.5827, 342.6633, 335.7236, 369.96973, 408.69922, 476.5934, 441.9924, 451.03198, 393.18637, 340.55164, 416.5004, 460.0621, 509.58926, 528.54803]
print(f"len elevation_data= {len(elevation_data)} len elevation_data_flt = {len(elevation_data_flt)}")
elevation_data_disp = elevation_data.copy()
elevation_data_flt_disp = elevation_data_flt.copy()
# elevation_data_disp = [round(item,2) for item in elevation_data_disp]
# print(f"elevation_data={elevation_data_disp}")

height1 = accesspoint_ht_asml
height2 = receiver_ht_asml
frequency =frequency_assigned + bandwidth_Mhz/2
distance_m = distance.distance(accesspoint_loc, receiver_loc).m
print(f"height1 (AP asml)={height1} height2(Receiver asml)={height2} frequency={frequency} distance_m={distance_m}")

itmloss= itmobj.getItmLoss(frequency, height1,height2, elevation_data, distance_m)
print(f"Calculated itmloss={itmloss} with calculated elevation_data")

itmloss= itmobj.getItmLoss(frequency, height1,height2, elevation_data_flt, distance_m)
print(f"Calculated itmloss={itmloss} with elevation_data_flt")

# Plot the elevation profile
plt.plot(elevation_data_flt_disp, '-') # from flt files
plt.plot(elevation_data_disp, '-x') # from code
plt.xlabel('Samples')
#plt.xlim(0,(distance_m/len(elevation_data1))) #todo -plot with distance
plt.ylabel('Elevation (m)')
plt.title('Elevation Profile')
plt.show()
# Plot the elevation profile

Note that only when I switch elevation data getting from receiver_loc to accesspoint_loc

elevation_data =libneddata.getElevationData(receiver_loc.accesspoint_loc, dataset, rTreeIndx)
To
elevation_data =libneddata.getElevationData(accesspoint_loc,receiver_loc, dataset, rTreeIndx)

And using the full sampling do I get a higher loss.

[DEBUG] Loss=171.20184959228385 For reliability=0.2 and confidence=0.05
Calculated itmloss=171.20184959228385 with calculated elevation_data (switched - orange plot)
Steps= 370
[DEBUG] Loss=147.07224249706726 For reliability=0.2 and confidence=0.05
Calculated itmloss=147.07224249706726 with elevation_data_flt # from NED files direct - see the ipynb notebook

image

What is the expected ITM loss between the two points. With anything around 140 dbm the frequency range (5959.85-5989.85 ) appears ; and since you mentioned

. As best as I can tell, I expect the incumbent you've identified here likely does not impact the test vector mask values because of a terrain obstruction blocking the line-of-sight path between incumbent receiver and AFC device.

and it is coming as per what you have said in the elevation plot, I am assuming that loss of > 140 is correct and hence all this debugging.

Note that if get this frequency range 5959.85-5989.85 correct, the same ITM loss also increases for 6078.45-6108.45 and 6137.75-6167.75

sergebdt commented 7 months ago

I got your ping. Note that I am no more active with Winnforum project, and no more working for Google who was major contributor to these code and library.

Your discussion is quite long, and I do not get exactly what is your issue, and what you expect. If you could summarize, perhaps I can help.

Please note several quick remarks for now:

I also see that in your examples, you are reinventing the wheel a lot, for example in relation to getting the profile between 2 points. I would advice to simply use the top function TerrainProfile() for that, as it has been extensively used and tested as part of the 3.5GHz SAS project. See: https://github.com/Wireless-Innovation-Forum/Common-Data/blob/694c98ff82b05c5404a8d67698074233456bfae1/src/winnf/geo/terrain.py#L28

See also for example here how the ITM model is used in contexte of SAS, with a few parameter tuning as defined by the SAS specification: https://github.com/Wireless-Innovation-Forum/Spectrum-Access-System/blob/19f2ae9c1a1844e2f2ca2ceddd07f392249741e6/src/harness/reference_models/propagation/wf_itm.py#L77

sergebdt commented 7 months ago

Also regarding your comment above where you change the method of calling the itm point_to_point() routine:

elevation_data.insert(1,distance_m/num_of_profile) to elevation_data.insert(1,num_of_profile)

This is not correct -- the profile that is passed is supposed to have the first 2 slots filled with: num_points-1 and distance_between_points_in_meters.

Note also that in your colab that you reference above, the way you build the profile is not correct: you basically sample a straight lines in the lat/long "projection" (which the tiles are since they are grid of samples separated by 1 arcsec in both lat and long axis). Instead of going around the geodesic.

Use instead the TerrainProfile() routine above that takes care of creating the geodesic, loading the tiles as needed and reading the elevation for the correctly space points along the geodesic.

If your issue is trying to fit your current way of sampling things with a reference that use a more correct method (along the lines just described), then do not look further for any discrepancies that you see.

alexcpn commented 7 months ago

Thanks for your comments @sergebdt and for responding. Lot of points to digest, but just a quick response from my side

This is not correct -- the profile that is passed is supposed to have the first 2 slots filled with: num_points-1 and distance_between_points_in_meters.

I am doing this in the function call internally

 num_of_profile = len(elevation_data)-1
    elevation_data.insert(0,num_of_profile)
    elevation_data.insert(1,distance_m/num_of_profile)

    loss, ver0, ver1, err, mode = itm.point_to_point(elevation_data, height1, height2,
                                            dielectric, conductivity, refractivity,
                                            frequency, climate, polarization,
                                            confidence_vals[k], reliability_vals[k],
                                            mdvar, refractivity_final)

the way you build the profile is not correct: you basically sample a straight lines in the lat/long "projection" (which the tiles are since they are grid of samples separated by 1 arcsec in both lat and long axis). Instead of going around the geodesic.

I guess you are right here. But in a distance of 200 km and with location uncertainty, a straight line between two points should capture the elevation. And it has for this instance caught the high elevation between the access point and receiver. I am doing like this for very fast access. Basically internally storing this in TensorStore/ZarrSrtore all the NED points and indexing out them. I am not defending this way here and I will try to test with the function you said, but even with my not fully accurate, the elevation is found.

The real code is doing like this using Shapely LineString.

        line = LineString([cord_1,cord_2])
        distance_m = distance.geodesic(cord_1[::-1],cord_2[::-1]).m
        total_distance += distance_m
        log.debug(f"The distance from from geopy.distance is {distance_m:.2f} m")
        # Interpolate along line segment to get sampling points
        num_samples = determine_num_samples(distance_m)
        steps = np.interp(range(num_samples), [0,num_samples], [0, line.length])
        point_geoms = [line.interpolate(currentdistance) for currentdistance in steps]
        # read in the transform for these points
        transform = transform_map[key]
        # read in the datasets for these points
        k1 = dataset_map[key]
        for point in point_geoms:
        # these lon,lat we calculate via Shapely from Source and Dest co-ordinates
         lon,lat =point.x, point.y
         x, y = rasterio.transform.rowcol(transform, lon, lat)
         v1 =k1[:,x,y][0]
         rofiles.append(v1) # 

I also see that in your examples, you are reinventing the wheel a lot, for example in relation to getting the profile between 2 points. I would advice to simply use the top function TerrainProfile() for that, as it has been extensively used and tested as part of the 3.5GHz SAS project

Use instead the TerrainProfile() routine above that takes care of creating the geodesic, loading the tiles as needed and reading the elevation for the correctly space points along the geodesic

Since loading the NED files from disk one by one (and with caching) it is still pretty slow compared to reading from ZarrStore/TensorStore. This is all the more important as we need to search a 200 km radius with so many Microwar incumbents + antenna + frequency combination and possibly tens of thousands of wifi access points

Thanks again for you other points, I will check this and reply

sergebdt commented 7 months ago

But in a distance of 200 km and with location uncertainty, a straight line between two points should capture the elevation.

f you dont need to be precise but very fast, you can do your way by defining geodesic along the lat/long space as you do, although it will differ widely from another implementation that may use another method.

The precise vincenty method is quite slow by itself. A midground is to replace it by GreatCircle method that assumes that the earth is a sphere and not an ellipsoid, and are much faster (while keeping some precision) -- see for example the replacement routines here: https://github.com/Wireless-Innovation-Forum/Spectrum-Access-System/blob/19f2ae9c1a1844e2f2ca2ceddd07f392249741e6/src/lib/geo/geo_utils.py#L196

Regarding the general architecture, i dont have a specific recommendation as I dont know the context of your application : the tiling code mentioned earlier uses a simple strategy that was sufficient for the need of SAS test harness in a batch environment. It handles the requests by loading a limited number tiles in a memory cache in LRU (last recently used) fashion, with ability to specify how many tiles are kept in that memory.cache. Once a tile is in memory, the data access is reasonably fast. Each tile is 1degx1deg, ie approximately 100x100km. So 4 are typically used to go 200km in all directions.

The way to make it work faster in production batch environment is to: 1) select the appropriate memory to reserve for the cache, ie the number of tiles in the cache 2) make sure your calls are done with grouping of geographically close devices, so that loading of tiles into the cache is minimized. For example by spliting the space in blocks of size > 1 tile, then spanning the blocks from top-left to bottom-left, then bootom-next-right to top-next-right, etc..

Obviously if you have a more streaming environment, where request bubbles for devices randomly positioned everywhere, then a better architecture is probably required.

alexcpn commented 7 months ago

Thanks again for your comments.

I have taken your input and changed getting points from treating it as a straight line, to treating it as an ellipsoid. Thankfully pyproj Geod had the method for this https://pyproj4.github.io/pyproj/stable/api/geod.html

#Interpolate along the great circle treating earh as ellipsoid
geoid = Geod(ellps="WGS84")
point_geoms = geoid.npts(lon0, lat0, lon1, lat1, num_samples)

This is the QGIS plot for confirmation

image

Zooming over with the points which lie over the elevation

image

Also plotted this out like before, with the orange being the points along the great circle sampled every 177 meters,and the blue being the points along the straight line

image

True there are slight deviations, and I will use the method that you suggested which is also the most accurate, that is take the points along the great circle

In the code, I even sampled every 5 meters getting around 13256 points. Still, the max loss I am getting is around 140. (the graph shown here is with a lower sampling for better viewing)

    num_of_profile = len(elevation_data)-1
    distance_between_points =round(distance_m/num_of_profile)
    elevation_data.insert(0,num_of_profile)
    elevation_data.insert(1,distance_between_points)

    loss, ver0, ver1, err, mode = itm.point_to_point(elevation_data, height1, height2,
                                             dielectric, conductivity, refractivity,
                                             frequency, climate, polarization,
                                             confidence_vals[0], reliability_vals[0],
                                             mdvar, refractivity_final)

    log.debug(f"Loss={loss} For reliability={reliability_vals[0]} and confidence={confidence_vals[0]} stepsize= {distance_between_points}")
    return loss

output

[DEBUG] Elevation Profile 13256 read in 0:00:00.132086
len elevation_data= 13256 len elevation_data_flt = 159
height1 (AP asml)=828.5480346679688 height2(Receiver asml)=153.72525177001953 frequency=5989.85 distance_m=65912.87842494999
[DEBUG] Loss=140.97731331580064 For reliability=0.2 and confidence=0.05 stepsize= 4.972680379098453

I also tried to put a pseudo point before the hill for the receiver to see how much the path loss increases

accesspoint_loc =(38.377266, -78.468021) 
#receiver_loc=(37.78341666666667, -78.49219444444445) # true point
receiver_loc=(38.02730,-78.48281) # before the hill, just for test

image

and got the loss as 136 dB

height1 (AP asml)=828.5480346679688 height2(Receiver asml)=153.72525177001953 frequency=5989.85 distance_m=38867.92584756884
[DEBUG] Loss=136.38754035671604 For reliability=0.2 and confidence=0.05 stepsize= 177
Calculated itmloss=136.38754035671604 with calculated elevation_data
[DEBUG] Loss=136.38756178338937 For reliability=0.2 and confidence=0.05 stepsize= 177
Calculated itmloss=136.38756178338937 with elevation_data_flt

So the obstruction is adding just 4 dB to the loss

@AEgbert Is this 4 dB loss sufficient to account for the approximately 400-meter obstruction caused by the hill between the AP and receiver? If so then there is no point in checking the ITM loss calculation further.

sergebdt commented 7 months ago

140dB seems to be around the free space path loss for that distance and frequency. So you are basically saying there is no diffraction loss applied, or very little. First remark: the profile graph above does not show visually the Tx and Rx hieght above ground. If you take them into account, then you see that the hill is around the direct direction of Tx to Rx, on first approximation: 153 + (853-153) * 130 / 370 ~= 390, while the hill goes up to 420m, so not much above Note: internally there is compensation for earth curvature, if I remember well, so the calculation just mentioned is very rough.

If you want to assess exactly what is going on:

alexcpn commented 7 months ago

@sergebdt I was debugging by testing this with SAS code https://github.com/Wireless-Innovation-Forum/Spectrum-Access-System/blob/master/src/harness/reference_models/propagation/wf_itm_test.py

I am getting around 140 if I give is_height_cbsd_amsl=False and 179 if I give is_height_cbsd_amsl=True.

I feel that 179 is the expected one from Egbert's comments and the test case. However how ITM calculates is not clear, which I try to explain below

Regarding

First remark: the profile graph above does not show visually the Tx and Rx hieght above ground.

Yes, the graph does not show. The Tx (Access Point in this case) is at 300 meters above ground (from AP height in request.json) , and Receiver is around 29.6 meters from ground from ULS data

Here is the graph with that data where the height of the Rx and Tx AGL are added to elevation data

image

Case 1

is_height_cbsd_amsl=True

    accesspoint_ht_m= 300.0 #very high?
    accesspoint_elv = 528.5480346679688

    frequency_assigned=5974.85
    bandwidth_Mhz=30.0
    r_height_to_center_raat=  29.6 
    receiver_elev= 124.12525177001953

    receiver_ht_asml =r_height_to_center_raat +receiver_elev
    accesspoint_ht_asml = accesspoint_ht_m +accesspoint_elv 

    lat1, lng1, height1 = 38.37694444444445, -78.4686111111111, accesspoint_ht_asml #ap
    lat2, lng2, height2 = 37.78341666666667, -78.49219444444445, r_height_to_center_raat #receiver_loc

    reliabilities = 0.2
    #confidence = 0.05  
   res = wf_itm.CalcItmPropagationLoss(lat1, lng1, accesspoint_ht_asml, lat2, lng2, receiver_ht_asml,
                                          reliability=reliabilities, freq_mhz=frequency_assigned,
                                          return_internals=True,is_height_cbsd_amsl=True)

In wf_itm.py

I added the following print statements

  if is_height_cbsd_amsl:
    print(f"height_cbsd={height_cbsd}")
    altitude_cbsd = drive.terrain_driver.GetTerrainElevation(lat_cbsd, lon_cbsd)
    height_cbsd = height_cbsd - altitude_cbsd
    print(f"altitude_cbsd={altitude_cbsd} height_cbsd={height_cbsd} ")

output

height_cbsd=828.5480346679688
altitude_cbsd=534.6803283691254 height_cbsd=293.86770629884336 
height_cbsd=293.86770629884336 height_rx=153.72525177001953
WINNF calculated loss =179.59373347799948 for reliability=0.2

In Case 1, it is basically removing the Elevation height and treating the CBSD height as above ground level. Is this the intention ?

Is it that the library anyway picks up the elevation data and wants only Tx and Rx height AGL ? If so this makes sense

Case 2

Everything else is same but,i s_height_cbsd_amsl=False

res = wf_itm.CalcItmPropagationLoss(lat1, lng1, accesspoint_ht_asml, lat2, lng2, receiver_ht_asml,
                                          reliability=rel, freq_mhz=frequency_assigned,
                                          return_internals=True,is_height_cbsd_amsl=False)
height_cbsd=828.5480346679688 height_rx=153.72525177001953
(WINNF calculated loss =140.94610490716255 for reliability=0.2

This is the root cause in the difference between SAS way of calling ITM and my way.

Is it that we need to just give AGL to ITM like

res = wf_itm.CalcItmPropagationLoss(lat1, lng1, accesspoint_ht_m, lat2, lng2, r_height_to_center_raat,
                                          reliability=reliabilities, freq_mhz=frequency_assigned + bandwidth_Mhz/2,
                                          return_internals=True,is_height_cbsd_amsl=False)

which leads to

height_cbsd=300.0 height_rx=29.6
WINNF calculated loss =191.42752409644177 for reliability=0.2```

If you take them into account, then you see that the hill is around the direct direction of Tx to Rx, on first approximation:153 + (853-153) * 130 / 370 ~= 390, while the hill goes up to 420m, so not much above

I did not understand this? Are you implying that there is direct line of sight between Rx and Tx (AP) and hence there is not much loss due to the hill.

To test that I removed the hill from the elevation

elevation_data_flt2 = []
for i,v in enumerate(elevation_data_flt):
    if  800 < i < 1200:
        if v > 150:
            v =random.uniform(150,180)
    elevation_data_flt2.append(v)

image

and tested with the same code that was giving around 191path loss. Without the hill this gave a path loss of 140. This means that the hill is obstructing many radio waves, even though there seems to be direct line of sight between the Tx and Rx if we consider the height above ground level for these. I am not a radio expert and @AEgbert can maybe comment here.

itmloss=140.87934958236397 

So all in all only one thing to clear regarding ITM lib assuming that everything else is correct,

Is it that we need to just give AGL to ITM for the Tx and Rx points as I mentioned in Case 1 @sergebdt .

sergebdt commented 7 months ago

I am confused, because before you were calling the raw ITM propagation model directly (point_to_point() ). And in your latest message you are using the SAS wrapper which is related to the 3.5GHz SAS system ( wf_itm.CalcItmPropagationLoss). Note that the SAS wrapper does not seem to be the one you need for 6GHz, as the specification for calling the raw ITM are not the same (confidence, reliability values, etc..).

In the point_to_point() low level routine, you have to pass the height of the Tx and Rx as AGL, ie the height above the ground level. That is the way it is treated inside the C routines.

In the SAS tuned ITM, there is the option of passing the height above ground (normal way), or the height above Mean Sea Level (if is_height_cbsd_amsl=True) for various reason pertaining to the SAS requirements. In that case, it corrects the this height by removing the ground altitude, to obtain back the AGL height, so that the low level routine can be called correctly.

So to answer your questions:

In Case 1, it is basically removing the Elevation height and treating the CBSD height as above ground level. Is this the intention ? Is it that the library anyway picks up the elevation data and wants only Tx and Rx height AGL ? If so this makes sense

yes that is correct.

Regarding your case 2, i did not fully understand what is your question.

Note: you are NOT using the same parameters as in case 1. For example in case 1 you use a receiver hieght of 153m AGL, while in case 2 you are using a height of 29m. Remember that the option of considering the hieght as AMSL, only apply for the CBSD part, not the receiver part.

So your case 1 and 2 are clearly not similar.

alexcpn commented 7 months ago

Note that the SAS wrapper does not seem to be the one you need for 6GHz, as the specification for calling the raw ITM are not the same (confidence, reliability values, etc..).

I am not calling the SAS wrapper , I have put that above when I was testing with the SAS test cases. I had modified that to use the 6Ghz settings and even for the point_to_point call in my earlier code

image

In Case 1, it is basically removing the Elevation height and treating the CBSD height as above ground level. Is this the intention ? Is it that the library anyway picks up the elevation data and wants only Tx and Rx height AGL ? If so this makes sense

yes that is correct.

Thanks for the clarification. In the 6GHz we had to use the height ASML for some antenna discrimination calculations and since I was not using the SAS wrapper but directly the itm.point_to_point, I missed out seeing the AGL settings

I will use the AGL and run SIP.2 again and hopefully it should pass. Thanks for your help once again @sergebdt

alexcpn commented 7 months ago

@AEgbert

With the corrected ITM I ran SIP.2 again. Still there is discrepancy; One main is the one in 6660-6670

[INFO] Calculated Frequency
[INFO] 5925.0-5930.025  psd: 23.0 #ok
[INFO] 5930.025-5930.2  psd: 23.0
[INFO] 5930.2-5959.85  psd: 14.063136939772278
[INFO] 5959.85-5989.85  psd: 12.081946244525142
[INFO] 5989.85-6019.5  psd: 12.146334109688098

[INFO] 6019.5-6078.45  psd: 23.0 #not okay [INFO] 5949-6050,upperBound:11.2 nominalValue:9.2

[INFO] 6078.45-6108.45  psd: -5.257910691244206 #ok
[INFO] 6108.45-6137.75  psd: 23.0 #ok
[INFO] 6137.75-6167.75  psd: -5.157789840956426 #ok
[INFO] 6167.75-6167.925  psd: 23.0
[INFO] 6167.925-6182.065  psd: 23.0
[INFO] 6182.065-6211.89  psd: 23.0
[INFO] 6211.89-6241.89  psd: 9.706567876488947

[INFO] 6241.89-6271.54  psd: 13.591725398965394 # not ok -  6241-6302,upperBound:7.1 nominalValue:5.1
[INFO] 6271.54-6300.84  psd: 19.68181382668186

[INFO] 6300.84-6330.84  psd: 13.714437161151011 #ok

[INFO] 6330.84-6375.139999999999  psd: 23.0
[INFO] 6375.139999999999-6380.08  psd: 18.522796420552993
[INFO] 6380.08-6419.965  psd: 23.0
[INFO] 6419.965-6425.0  psd: 23.0
[INFO] 6525.0-6540.0  psd: 23.0
[INFO] 6540.0-6570.0  psd: 22.93042576640596
[INFO] 6570.0-6580.0  psd: 23.0
[INFO] 6580.0-6590.0  psd: 12.380353547182523
[INFO] 6590.0-6630.0  psd: 23.0
[INFO] 6630.0-6640.0  psd: 12.904370326929978
[INFO] 6640.0-6650.0  psd: 23.0
[INFO] 6650.0-6660.0  psd: 0
[INFO] 6660.0-6670.0  psd: -5.059597562215231 # not okay
[INFO] 6670.0-6675.2  psd: 0
[INFO] 6675.2-6680.0  psd: 15.172646904903445
[INFO] 6680.0-6700.0  psd: 23.0
[INFO] 6700.0-6710.0  psd: 10.898452090423874
[INFO] 6710.0-6803.75  psd: 23.0
[INFO] 6803.75-6807.5  psd: 8.01748049112831 #ok
[INFO] 6807.5-6850.0  psd: 23.0
[INFO] 6850.0-6860.0  psd: 5.765331130756209 #ok
[INFO] 6860.0-6875.0  psd: 23.0
[ERROR] gc=131 cn=1,freq_range=(5945.0, 5965.0) expected_eirp={'nominalValue': 22.2, 'upperBound': 24.2} calc_eirp=25.09 diff=0.89
[ERROR] gc=131 cn=5,freq_range=(5965.0, 5985.0) expected_eirp={'nominalValue': 22.2, 'upperBound': 24.2} calc_eirp=25.09 diff=0.89
[ERROR] gc=131 cn=9,freq_range=(5985.0, 6005.0) expected_eirp={'nominalValue': 22.2, 'upperBound': 24.2} calc_eirp=25.09 diff=0.89
[ERROR] gc=131 cn=13,freq_range=(6005.0, 6025.0) expected_eirp={'nominalValue': 22.2, 'upperBound': 24.2} calc_eirp=25.16 diff=0.96
[ERROR] gc=131 cn=17,freq_range=(6025.0, 6045.0) expected_eirp={'nominalValue': 22.2, 'upperBound': 24.2} calc_eirp=36.0 diff=11.80
[ERROR] gc=131 cn=21,freq_range=(6045.0, 6065.0) expected_eirp={'nominalValue': 22.2, 'upperBound': 24.2} calc_eirp=36.0 diff=11.80
[WARNING] gc=131 cn=25,freq_range=(6065.0, 6085.0),expected_eirp={'nominalValue': 10.6, 'upperBound': 12.6} calc_eirp=7.75 diff=4.85
[WARNING] gc=131 cn=29,freq_range=(6085.0, 6105.0),expected_eirp={'nominalValue': 10.6, 'upperBound': 12.6} calc_eirp=7.75 diff=4.85
[WARNING] gc=131 cn=33,freq_range=(6105.0, 6125.0),expected_eirp={'nominalValue': 10.6, 'upperBound': 12.6} calc_eirp=7.75 diff=4.85
[WARNING] gc=131 cn=37,freq_range=(6125.0, 6145.0),expected_eirp={'nominalValue': 10.7, 'upperBound': 12.7} calc_eirp=7.85 diff=4.85
[WARNING] gc=131 cn=41,freq_range=(6145.0, 6165.0),expected_eirp={'nominalValue': 10.7, 'upperBound': 12.7} calc_eirp=7.85 diff=4.85
[WARNING] gc=131 cn=45,freq_range=(6165.0, 6185.0),expected_eirp={'nominalValue': 10.7, 'upperBound': 12.7} calc_eirp=7.85 diff=4.85
[WARNING] gc=131 cn=53,freq_range=(6205.0, 6225.0),expected_eirp={'nominalValue': 25.3, 'upperBound': 27.3} calc_eirp=22.72 diff=4.58
[ERROR] gc=131 cn=57,freq_range=(6225.0, 6245.0) expected_eirp={'nominalValue': 18.1, 'upperBound': 20.1} calc_eirp=22.72 diff=2.62
[ERROR] gc=131 cn=61,freq_range=(6245.0, 6265.0) expected_eirp={'nominalValue': 18.1, 'upperBound': 20.1} calc_eirp=26.6 diff=6.50
[ERROR] gc=131 cn=65,freq_range=(6265.0, 6285.0) expected_eirp={'nominalValue': 18.1, 'upperBound': 20.1} calc_eirp=26.6 diff=6.50
[ERROR] gc=131 cn=69,freq_range=(6285.0, 6305.0) expected_eirp={'nominalValue': 18.1, 'upperBound': 20.1} calc_eirp=26.72 diff=6.62
[ERROR] gc=131 cn=81,freq_range=(6345.0, 6365.0) expected_eirp={'nominalValue': 29.2, 'upperBound': 31.2} calc_eirp=36.0 diff=4.80
[ERROR] gc=131 cn=85,freq_range=(6365.0, 6385.0) expected_eirp={'nominalValue': 29.2, 'upperBound': 31.2} calc_eirp=31.53 diff=0.33
[ERROR] gc=131 cn=89,freq_range=(6385.0, 6405.0) expected_eirp={'nominalValue': 29.3, 'upperBound': 31.3} calc_eirp=36.0 diff=4.70
[ERROR] gc=131 cn=93,freq_range=(6405.0, 6425.0) expected_eirp={'nominalValue': 29.3, 'upperBound': 31.3} calc_eirp=36.0 diff=4.70
[WARNING] gc=131 cn=125,freq_range=(6565.0, 6585.0),expected_eirp={'nominalValue': 27.6, 'upperBound': 29.6} calc_eirp=25.39 diff=4.21
[WARNING] gc=131 cn=129,freq_range=(6585.0, 6605.0),expected_eirp={'nominalValue': 27.6, 'upperBound': 29.6} calc_eirp=25.39 diff=4.21
[ERROR] gc=131 cn=133,freq_range=(6605.0, 6625.0) expected_eirp={'nominalValue': 28.1, 'upperBound': 30.1} calc_eirp=36.0 diff=5.90
[WARNING] gc=131 cn=137,freq_range=(6625.0, 6645.0),expected_eirp={'nominalValue': 28.1, 'upperBound': 30.1} calc_eirp=25.91 diff=4.19
[WARNING] gc=131 cn=149,freq_range=(6685.0, 6705.0),expected_eirp={'nominalValue': 26.4, 'upperBound': 28.4} calc_eirp=23.91 diff=4.49
[WARNING] gc=131 cn=153,freq_range=(6705.0, 6725.0),expected_eirp={'nominalValue': 26.4, 'upperBound': 28.4} calc_eirp=23.91 diff=4.49
[ERROR] gc=131 cn=165,freq_range=(6765.0, 6785.0) expected_eirp={'nominalValue': 31.0, 'upperBound': 33.0} calc_eirp=36.0 diff=3.00
[WARNING] gc=131 cn=169,freq_range=(6785.0, 6805.0),expected_eirp={'nominalValue': 23.8, 'upperBound': 25.8} calc_eirp=21.03 diff=4.77
[WARNING] gc=131 cn=173,freq_range=(6805.0, 6825.0),expected_eirp={'nominalValue': 23.8, 'upperBound': 25.8} calc_eirp=21.03 diff=4.77
[ERROR] gc=132 cn=3,freq_range=(5945.0, 5985.0) expected_eirp={'nominalValue': 25.2, 'upperBound': 27.2} calc_eirp=28.1 diff=0.90
[ERROR] gc=132 cn=11,freq_range=(5985.0, 6025.0) expected_eirp={'nominalValue': 25.2, 'upperBound': 27.2} calc_eirp=28.1 diff=0.90
[ERROR] gc=132 cn=19,freq_range=(6025.0, 6065.0) expected_eirp={'nominalValue': 25.2, 'upperBound': 27.2} calc_eirp=32.07 diff=4.87
[WARNING] gc=132 cn=27,freq_range=(6065.0, 6105.0),expected_eirp={'nominalValue': 13.6, 'upperBound': 15.6} calc_eirp=10.76 diff=4.84
[WARNING] gc=132 cn=35,freq_range=(6105.0, 6145.0),expected_eirp={'nominalValue': 13.6, 'upperBound': 15.6} calc_eirp=10.76 diff=4.84
[WARNING] gc=132 cn=43,freq_range=(6145.0, 6185.0),expected_eirp={'nominalValue': 13.7, 'upperBound': 15.7} calc_eirp=10.86 diff=4.84
[WARNING] gc=132 cn=51,freq_range=(6185.0, 6225.0),expected_eirp={'nominalValue': 28.3, 'upperBound': 30.3} calc_eirp=25.73 diff=4.57
[ERROR] gc=132 cn=59,freq_range=(6225.0, 6265.0) expected_eirp={'nominalValue': 21.1, 'upperBound': 23.1} calc_eirp=25.73 diff=2.63
[ERROR] gc=132 cn=67,freq_range=(6265.0, 6305.0) expected_eirp={'nominalValue': 21.1, 'upperBound': 23.1} calc_eirp=29.61 diff=6.51
[ERROR] gc=132 cn=83,freq_range=(6345.0, 6385.0) expected_eirp={'nominalValue': 32.3, 'upperBound': 34.3} calc_eirp=34.54 diff=0.24
[ERROR] gc=132 cn=91,freq_range=(6385.0, 6425.0) expected_eirp={'nominalValue': 32.3, 'upperBound': 34.3} calc_eirp=36.0 diff=1.70
[WARNING] gc=132 cn=123,freq_range=(6545.0, 6585.0),expected_eirp={'nominalValue': 30.6, 'upperBound': 32.6} calc_eirp=28.4 diff=4.20
[WARNING] gc=132 cn=131,freq_range=(6585.0, 6625.0),expected_eirp={'nominalValue': 30.6, 'upperBound': 32.6} calc_eirp=28.4 diff=4.20
[WARNING] gc=132 cn=155,freq_range=(6705.0, 6745.0),expected_eirp={'nominalValue': 29.4, 'upperBound': 31.4} calc_eirp=26.92 diff=4.48
[WARNING] gc=132 cn=171,freq_range=(6785.0, 6825.0),expected_eirp={'nominalValue': 26.8, 'upperBound': 28.8} calc_eirp=24.04 diff=4.76
[ERROR] gc=133 cn=7,freq_range=(5945.0, 6025.0) expected_eirp={'nominalValue': 28.2, 'upperBound': 30.2} calc_eirp=31.11 diff=0.91
[WARNING] gc=133 cn=23,freq_range=(6025.0, 6105.0),expected_eirp={'nominalValue': 16.6, 'upperBound': 18.6} calc_eirp=13.77 diff=4.83
[WARNING] gc=133 cn=39,freq_range=(6105.0, 6185.0),expected_eirp={'nominalValue': 16.6, 'upperBound': 18.6} calc_eirp=13.77 diff=4.83
[ERROR] gc=133 cn=55,freq_range=(6185.0, 6265.0) expected_eirp={'nominalValue': 24.1, 'upperBound': 26.1} calc_eirp=28.74 diff=2.64
[ERROR] gc=133 cn=71,freq_range=(6265.0, 6345.0) expected_eirp={'nominalValue': 24.1, 'upperBound': 26.1} calc_eirp=32.62 diff=6.52
[WARNING] gc=133 cn=167,freq_range=(6745.0, 6825.0),expected_eirp={'nominalValue': 29.8, 'upperBound': 31.8} calc_eirp=27.05 diff=4.75
[WARNING] gc=134 cn=15,freq_range=(5945.0, 6105.0),expected_eirp={'nominalValue': 19.6, 'upperBound': 21.6} calc_eirp=16.78 diff=4.82
[WARNING] gc=134 cn=47,freq_range=(6105.0, 6265.0),expected_eirp={'nominalValue': 19.7, 'upperBound': 21.7} calc_eirp=16.78 diff=4.92
[ERROR] gc=134 cn=79,freq_range=(6265.0, 6425.0) expected_eirp={'nominalValue': 27.2, 'upperBound': 29.2} calc_eirp=35.63 diff=6.43

Detailed for this

[INFO] ********************************************************************************
[INFO] Going to process UUID = 964659 call_sign = 'KRQ50
[INFO] accesspoint_loc =(38.377266, -78.468021) receiver_loc=(37.50347222222222, -77.54163888888888)
[INFO] Processing UUID = 964659 call_sign = 'KRQ50' R to AP Dist =126638.39532923009 m, CF =6665.0 Mhz r_antenna_make= None r_antenna_model=None
[INFO] uuid: 964659
[INFO] call_sign: KRQ50
[INFO] frequency_assigned: 6665.0
[INFO] receiver_loc: (37.50347222222222, -77.54163888888888)
[INFO] t_loc_num: 1
[INFO] t_path_num: 1
[INFO] t_ant_num: 1
[INFO] receiver_to_ap_dist_m: 126638.39532923009
[INFO] r_height_to_center_raat: 97.5
[INFO] r_gain: 43.9
[INFO] r_diversity_gain: 42.3
[INFO] r_azimuth: None
[INFO] r_antenna_make: None
[INFO] r_antenna_model: None
[INFO] r_loc_num: 2
[INFO] r_path_num: 1
[INFO] r_ant_num: 1
[INFO] polarization_code: None
[INFO] line_loss: None
[INFO] r_diameter_ft: 6
[INFO] r_diameter_m: 1.83
[INFO] ant_category: B1
[INFO] transmitter_loc: (37.80763888888889, -77.86413888888889)
[INFO] t_height_to_center_raat: 106.7
[INFO] t_gain: 43.9
[INFO] t_diversity_gain: 42.3
[INFO] t_azimuth: 139.8
[INFO] t_antenna_make: None
[INFO] t_antenna_model: None
[INFO] bandwidth: 10.0
[INFO] frequency_range: (6660.0, 6670.0)
[INFO] accesspoint_loc: (38.377266, -78.468021)
[INFO] accesspoint_ht_m: 300.0
[INFO] accesspoint_vtunc_m: 30
[INFO] Free Space Path Loss =150.97559684080932
[INFO] Total distance of segments =0.00 km Total profiles= 1
[INFO] Total distance of segments =0.00 km Total profiles= 1
[INFO] Total distance of segments =0.00 km Total profiles= 1
[INFO] accesspoint_elev=528.5480346679688 receiver_elev=90.7787094116211 transmitter_elev=103.4180679321289
[INFO] GRx = 43.9 dB
[INFO] centerFreq of Receiver =6665.0 Mhz
[INFO] ant_category = B1 
[INFO] Angle 1: Azimuthal discrimination angle:R-AP The azimuthal discrimination angle,  θAZ_Disc= 0.2966525206032884 degress
[INFO] Angle 2: Elevation angle: R-T The receive antenna boresight elevation angle (from transmmitter) θEL_Disc= -0.12047307252150419 degrees
[INFO] Angle 3:elevation angle: R-AP The elevation angle from the  receive antenna to the evaluation phi= -0.1371332383835061 degrees
[INFO] --------------------------------------------------------------------------------
[INFO] Overall discrimination angle, 𝛾 =0.29711922480455477 degress
[INFO] --------------------------------------------------------------------------------
[INFO] 2.a GRx=43.9 >= 38:Calcualted:rpe=43.53519440302455 rpe-GRx=-0.3648055969754509
[INFO] getRPE gamma=0.2966525206032884 ant_category=B1 rpe=43.53519440302455 
[INFO] The azimuthal discrimination= GAZ-Disc =-0.3648055969754509 This should be negative
[INFO] The elevation discrimination  GEL-Disc in dB = -0.3648055969754509 contribution This should be Negative!)
[INFO] --------------------------------------------------------------------------------
[INFO] GRx_Effectivein dB = 40.53519440302455 [43.9 -0.3636583770246921] [-0.0011472199507587522- polarization mismatch=3]
[INFO] ----GRx_Effective in dB = 40.53519440302455
[INFO] Near field adjustments do not have to be done
[INFO] Total distance of segments =127.59 km Total profiles= 1512
[INFO] Elevation Profile and ITM losss caluclated  in 0.002701 seconds
[INFO] ITM loss is 147.6408938847586
[INFO] Path Loss used =150.97559684080932
[INFO] building_entry_loss = 0 ap_indoor=False
[INFO] interference = -110.44040243778477 
[INFO] transmit_power PSD = -5.059597562215231 dBm/MHz
[INFO] ********************************************************************************

To cross check the path loss, I ran this directly in SAS test case (with 6GHz ITM setting to cross check);

The path loss is coming here the same as mine and pretty low around 140, though this also has a hill in between and is similar to the one in an above comment (5974.85 MHz) which is giving about 191 path loss by the same SAS code (with 6GHz specific ITM setting) as well as mine now)

image

def test_op_mode2(self):

    # Alex modified test case
    # note if you get OSError: NED Tile (38,-78) not found.
    # alex@pop-os:/data/Common-Data/data/ned$ ls | grep 38 | grep 78
    # usgs_ned_1_n38w078_gridfloat_std.zip and unzip this and copy to src/harness/reference_models/geo/testdata/ned/
    # /data/Common-Data/data/ned$ unzip usgs_ned_1_n38w078_gridfloat_std.zip -d /home/alex/coding/Spectrum-Access-System/src/harness/reference_models/geo/testdata/ned/

    accesspoint_loc =(38.377266, -78.468021)
    receiver_loc=(37.50347222222222, -77.54163888888888)
    frequency_assigned=6665
    bandwidth_Mhz=10.0
    accesspoint_ht_m = 300 #m
    r_height_to_center_raat = 97.5
    frequency =frequency_assigned + bandwidth_Mhz/2

    lat1, lng1  = accesspoint_loc  #ap
    lat2, lng2  = receiver_loc  #receiver_loc

    reliabilities = 0.2
    #confidence = 0.05  
    res = wf_itm.CalcItmPropagationLoss(lat1, lng1, accesspoint_ht_m, lat2, lng2, r_height_to_center_raat,
                                          reliability=reliabilities, freq_mhz=frequency_assigned + bandwidth_Mhz/2,
                                          return_internals=True,is_height_cbsd_amsl=False)
    print(f"WINNF calculated loss ={res.db_loss} for reliability={reliabilities}")

Output

alex@pop-os:~/coding/Spectrum-Access-System/src/harness/reference_models/propagation$ python3 wf_itm_test.py
ITU_TEST_DIR /home/alex/coding/Spectrum-Access-System/src/harness/reference_models/propagation/../geo/testdata/itu
TERRAIN_TEST_DIR /home/alex/coding/Spectrum-Access-System/src/harness/reference_models/propagation/../geo/testdata/ned
**  tile_name is usgs_ned_1_n38w079_gridfloat_std.flt
**  tile_name is usgs_ned_1_n38w078_gridfloat_std.flt
**  tile_name is usgs_ned_1_n39w079_gridfloat_std.flt
its_elev Max points 1496
height_cbsd=300 height_rx=97.5
dielec, conductivity, refractivity, freq_mhz,climate, polarization, confidence, reliabilities, mdvar
25.0 0.02 314 6670.0 5 0 0.05 0.2 13
loss=147.43723282541362
WINNF calculated loss =147.43723282541362 for reliability=0.2
sergebdt commented 7 months ago

So if I understand well, you are saying: 1) calling the SAS code that does everything (collecting data with 1500 euqlly spaced points and computation) versus your own internal implementation provide the same result (more or less). 2) this result is around 140dB path loss -- which is the expected free space path loss ==> this might be logical since your hill seems to be lower than the direct line of sight 3) your implementation is however failing the test sometimes

Is this correct ?

Unfortunately I cannot be of great help as I dont know what these tests are doing exactly, nor your implementation, nor the reference implementation used for defining the tests.

As I said earlier, the ITM code has non linearities, and it is easy to see large change of pathloss when you hit a condition that triggers a change of regime. Main regimes are obtained from the str_mode and err_num code, although these are not exhaustive in determining if you hit a non linearity ==> you may want to print these codes to check if change of regime occur. Perhaps, in your example above the hill may trigger such non linearity since it is quite close for the direct path of view.

In conclusion, it may be sufficient for your implementation to have slight difference with the reference implementation for triggering such type of failure. Is there a reference implementation that passes the tests, from which you can compare exactly where your implementation diverge ?

In SAS, for the purpose to avoid such issues, the exact reference implementation for computing pathloss is provided in the GitHub, and all implementations from various companies follows this very closely to avoid such failure:

alexcpn commented 7 months ago

calling the SAS code that does everything (collecting data with 1500 euqlly spaced points and computation) versus your own internal implementation provide the same result (more or less). this result is around 140dB path loss -- which is the expected free space path loss ==> this might be logical since your hill seems to be lower than the direct line of sight your implementation is however failing the test sometimes Is this correct ?

Yes.

. Is there a reference implementation that passes the tests, from which you can compare exactly where your implementation diverges?

No, at least not published or mentioned in any of the docs. Mainly there are very detailed specifications from WINNF which are in https://6ghz.wirelessinnovation.org/baseline-standards. (most important being WINNF-TS-1014 v1.6) derived out from the FCC master specification Unlicensed Use of the 6 GHz Band https://docs.fcc.gov/public/attachments/DOC-363490A1.pdf

Further in this repo, there are data provided of ULS snapshots and NED files. As well as test requests, and response

All these are great resources and are very helpful.

But there is no Github repo like for SAS with a reference implementation of any of the path loss that we need to follow or for the calculation for the effective Rx gain, that an AFC provider can check with or use as a base

@AEgbert or others in this repo can comment if anything like that is planned

For the ITM loss- it would be good if the SAS repo was forked and a simple method added with 6GHz parameters for ITM loss and give a reference to this in WINNF-TS-1014v1.6 document if the test vectors were indeed derived out of the SAS ITM implementation

AEgbert commented 6 months ago

But there is no Github repo like for SAS with a reference implementation of any of the path loss that we need to follow or for the calculation for the effective Rx gain, that an AFC provider can check with or use as a base @AEgbert or others in this repo can comment if anything like that is planned

To my knowledge, no reference AFC implementation is planned at this time.

alexcpn commented 6 months ago

thanks @AEgbert ; the main question related to this issue is this outstanding frequency which is quite a lot of mismatch from the expected frequency . Could you kindly comment on this

With the corrected ITM I ran SIP.2 again. Still there is discrepancy; One main is the one in 6660-6670

[INFO] Calculated Frequency [INFO] 5925.0-5930.025 psd: 23.0 #ok [INFO] 5930.025-5930.2 psd: 23.0 [INFO] 5930.2-5959.85 psd: 14.063136939772278 [INFO] 5959.85-5989.85 psd: 12.081946244525142 [INFO] 5989.85-6019.5 psd: 12.146334109688098 [INFO] 6019.5-6078.45 psd: 23.0 #not okay [INFO] 5949-6050,upperBound:11.2 nominalValue:9.2 [INFO] 6078.45-6108.45 psd: -5.257910691244206 #ok [INFO] 6108.45-6137.75 psd: 23.0 #ok [INFO] 6137.75-6167.75 psd: -5.157789840956426 #ok [INFO] 6167.75-6167.925 psd: 23.0 [INFO] 6167.925-6182.065 psd: 23.0 [INFO] 6182.065-6211.89 psd: 23.0 [INFO] 6211.89-6241.89 psd: 9.706567876488947 [INFO] 6241.89-6271.54 psd: 13.591725398965394 # not ok - 6241-6302,upperBound:7.1 nominalValue:5.1 [INFO] 6271.54-6300.84 psd: 19.68181382668186 [INFO] 6300.84-6330.84 psd: 13.714437161151011 #ok [INFO] 6330.84-6375.139999999999 psd: 23.0 [INFO] 6375.139999999999-6380.08 psd: 18.522796420552993 [INFO] 6380.08-6419.965 psd: 23.0 [INFO] 6419.965-6425.0 psd: 23.0 [INFO] 6525.0-6540.0 psd: 23.0 [INFO] 6540.0-6570.0 psd: 22.93042576640596 [INFO] 6570.0-6580.0 psd: 23.0 [INFO] 6580.0-6590.0 psd: 12.380353547182523 [INFO] 6590.0-6630.0 psd: 23.0 [INFO] 6630.0-6640.0 psd: 12.904370326929978 [INFO] 6640.0-6650.0 psd: 23.0 [INFO] 6650.0-6660.0 psd: 0 [INFO] 6660.0-6670.0 psd: -5.059597562215231 # not okay [INFO] 6670.0-6675.2 psd: 0 [INFO] 6675.2-6680.0 psd: 15.172646904903445 [INFO] 6680.0-6700.0 psd: 23.0 [INFO] 6700.0-6710.0 psd: 10.898452090423874 [INFO] 6710.0-6803.75 psd: 23.0 [INFO] 6803.75-6807.5 psd: 8.01748049112831 #ok [INFO] 6807.5-6850.0 psd: 23.0 [INFO] 6850.0-6860.0 psd: 5.765331130756209 #ok [INFO] 6860.0-6875.0 psd: 23.0

More details regarding this.

[INFO] ********************************************************************************
[INFO] Going to process UUID = 964659 call_sign = 'KRQ50
[INFO] accesspoint_loc =(38.377266, -78.468021) receiver_loc=(37.50347222222222, -77.54163888888888)
[INFO] Processing UUID = 964659 call_sign = 'KRQ50' R to AP Dist =126638.39532923009 m, CF =6665.0 Mhz r_antenna_make= None r_antenna_model=None
[INFO] uuid: 964659
[INFO] call_sign: KRQ50
[INFO] frequency_assigned: 6665.0
[INFO] receiver_loc: (37.50347222222222, -77.54163888888888)
[INFO] t_loc_num: 1
[INFO] t_path_num: 1
[INFO] t_ant_num: 1
[INFO] receiver_to_ap_dist_m: 126638.39532923009
[INFO] r_height_to_center_raat: 97.5
[INFO] r_gain: 43.9
[INFO] r_diversity_gain: 42.3
[INFO] r_azimuth: None
[INFO] r_antenna_make: None
[INFO] r_antenna_model: None
[INFO] r_loc_num: 2
[INFO] r_path_num: 1
[INFO] r_ant_num: 1
[INFO] polarization_code: None
[INFO] line_loss: None
[INFO] r_diameter_ft: 6
[INFO] r_diameter_m: 1.83
[INFO] ant_category: B1
[INFO] transmitter_loc: (37.80763888888889, -77.86413888888889)
[INFO] t_height_to_center_raat: 106.7
[INFO] t_gain: 43.9
[INFO] t_diversity_gain: 42.3
[INFO] t_azimuth: 139.8
[INFO] t_antenna_make: None
[INFO] t_antenna_model: None
[INFO] bandwidth: 10.0
[INFO] frequency_range: (6660.0, 6670.0)
[INFO] accesspoint_loc: (38.377266, -78.468021)
[INFO] accesspoint_ht_m: 300.0
[INFO] accesspoint_vtunc_m: 30
[INFO] accesspoint_hzunc_x: 150
[INFO] accesspoint_hzunc_y: 150
[INFO] Free Space Path Loss =150.97559684080932
[INFO] Total distance of segments =0.00 km Total profiles= 1
[INFO] Total distance of segments =0.00 km Total profiles= 1
[INFO] receiver_elev=90.125 transmitter_elev=104.3125
[INFO] Total distance of segments =0.00 km Total profiles= 1
[INFO] accesspoint_elev=527.0
[INFO] GRx = 43.9 dB
[INFO] centerFreq of Receiver =6665.0 Mhz
[INFO] ant_category = B1 
[INFO] Angle 1: Azimuthal discrimination angle:R-AP The azimuthal discrimination angle,  θAZ_Disc= 0.2966525206032884 degress
[INFO] Angle 2: Elevation angle: R-T The receive antenna boresight elevation angle (from transmmitter) θEL_Disc= -0.11846414468559771 degrees
[INFO] Angle 3:elevation angle: R-AP The elevation angle from the  receive antenna to the evaluation phi= -0.1375378610744928 degrees
[INFO] --------------------------------------------------------------------------------
[INFO] Overall discrimination angle, 𝛾 =0.2972643345740801 degress
[INFO] --------------------------------------------------------------------------------
[INFO] 2.a GRx=43.9 >= 38:Calcualted:rpe=43.53483798190758 rpe-GRx=-0.36516201809241977
[INFO] getRPE gamma=0.2966525206032884 ant_category=B1 rpe=43.53483798190758 
[INFO] The azimuthal discrimination= GAZ-Disc =-0.36516201809241977 This should be negative
[INFO] The elevation discrimination  GEL-Disc in dB = -0.36516201809241977 contribution This should be Negative!)
[INFO] --------------------------------------------------------------------------------
[INFO] GRx_Effectivein dB = 40.53483798190758 [43.9 -0.36365836790411493] [-0.0015036501883048208- polarization mismatch=3]
[INFO] ----GRx_Effective in dB = 40.53483798190758
[INFO] Near field adjustments do not have to be done
[INFO] Total distance of segments =126.65 km Total profiles= 1501
[INFO] ITM loss is 147.6242177505957
[INFO] Path Loss used =150.97559684080932
[INFO] building_entry_loss = 0 ap_indoor=False
[INFO] interference = -110.44075885890175 
[INFO] transmit_power PSD = -5.059241141098255 dBm/MHz
[INFO] ********************************************************************************
AEgbert commented 6 months ago

Still there is discrepancy; One main is the one in 6660-6670

I believe this is due to the Very Large Array (NM), which is protected on the band 6660-6675.2 per R0-AIP-05. As such, this band is excluded from the test vector mask as no transmission is allowed.

alexcpn commented 6 months ago

Thanks @AEgbert . The way I was post-processing/splitting frequency had a bug were I missed accounting for the frequency in between.

[INFO] 6640.0-6650.0  psd: 21.4265802717606
[INFO] 6650.0-6660.0  psd: 0
[INFO] 6660.0-6670.0  psd: -3.4592411410982606 --> should have been set to zero
[INFO] 6670.0-6675.2  psd: 0
[INFO] 6675.2-6680.0  psd: 15.173694586351644
[INFO] 6680.0-6700.0  psd: 23.0
[INFO] 6700.0-6710.0  psd: 10.900147473341178

Correcting for that gives good results now; Except for one frequency range 6610-6640 which I seem to be missing. I will run this again with more details and cross-check on Monday

[INFO] Calculated Frequency
[INFO] 5925.0-5930.025  psd: 23.0 - ok
[INFO] 5930.025-5990.025  psd: 9.262802906932748 -ok
[INFO] 5990.025-6049.325  psd: 9.34836855972027 -ok
[INFO] 6049.325-6078.45  psd: 21.774263759910923 -ok
[INFO] 6078.45-6108.45  psd: -3.8572220400994297 -ok
[INFO] 6108.45-6137.75  psd: 23.0 -ok
[INFO] 6137.75-6167.75  psd: -3.7570877210145284 -ok
[INFO] 6167.75-6167.925  psd: 23.0
[INFO] 6167.925-6182.065  psd: 23.0
[INFO] 6182.065-6211.89  psd: 23.0
[INFO] 6211.89-6241.365  psd: 9.712074510285504 ok
[INFO] 6241.365-6241.54  psd: 5.428988179510682
[INFO] 6241.54-6271.54  psd: 5.3877793825977705
[INFO] 6271.54-6301.19  psd: 5.428746953713727
[INFO] 6301.19-6301.365  psd: 5.428988179510682 -ok
[INFO] 6301.365-6330.84  psd: 13.71456043313799 -ok
[INFO] 6330.84-6360.14  psd: 23.0
[INFO] 6360.14-6390.14  psd: 18.79249186610977
[INFO] 6390.14-6419.965  psd: 23.0
[INFO] 6419.965-6425.0  psd: 23.0
[INFO] 6525.0-6540.0  psd: 23.0
[INFO] 6540.0-6570.0  psd: 23.0
[INFO] 6570.0-6580.0  psd: 23.0
[INFO] 6580.0-6590.0  psd: 12.38092174826265
[INFO] 6590.0-6600.0  psd: 22.25159676698064
[INFO] 6600.0-6630.0  psd: 23.0
[INFO] 6630.0-6640.0  psd: 12.903790669442799 # not ok 6610-6640,upperBound:17.1 nominalValue:15.1
[INFO] 6640.0-6650.0  psd: 23.0
[INFO] 6650.0-6675.2  psd: 0
[INFO] 6675.2-6680.0  psd: 15.173694586351644
[INFO] 6680.0-6700.0  psd: 23.0
[INFO] 6700.0-6710.0  psd: 10.900147473341178
[INFO] 6710.0-6803.75  psd: 23.0
[INFO] 6803.75-6807.5  psd: 8.015649131148109
[INFO] 6807.5-6850.0  psd: 23.0
[INFO] 6850.0-6860.0  psd: 5.767857281582451 -ok
[INFO] 6860.0-6870.0  psd: 12.108471251649718
[INFO] 6870.0-6875.0  psd: 23.0
[WARNING] gc=131 cn=53,freq_range=(6205.0, 6225.0),expected_eirp={'nominalValue': 25.3, 'upperBound': 27.3} calc_eirp=22.72 diff=4.58 #okish
[ERROR] gc=131 cn=81,freq_range=(6345.0, 6365.0) expected_eirp={'nominalValue': 29.2, 'upperBound': 31.2} calc_eirp=31.8 diff=0.60 #slightly high
[ERROR] gc=131 cn=85,freq_range=(6365.0, 6385.0) expected_eirp={'nominalValue': 29.2, 'upperBound': 31.2} calc_eirp=31.8 diff=0.60 #slightly high
[ERROR] gc=131 cn=89,freq_range=(6385.0, 6405.0) expected_eirp={'nominalValue': 29.3, 'upperBound': 31.3} calc_eirp=31.8 diff=0.50#slightly high
[ERROR] gc=131 cn=93,freq_range=(6405.0, 6425.0) expected_eirp={'nominalValue': 29.3, 'upperBound': 31.3} calc_eirp=36.0 diff=4.70#slightly high
[WARNING] gc=131 cn=125,freq_range=(6565.0, 6585.0),expected_eirp={'nominalValue': 27.6, 'upperBound': 29.6} calc_eirp=25.39 diff=4.21 
[WARNING] gc=131 cn=129,freq_range=(6585.0, 6605.0),expected_eirp={'nominalValue': 27.6, 'upperBound': 29.6} calc_eirp=25.39 diff=4.21
[ERROR] gc=131 cn=133,freq_range=(6605.0, 6625.0) expected_eirp={'nominalValue': 28.1, 'upperBound': 30.1} calc_eirp=36.0 diff=5.90 #problem
[WARNING] gc=131 cn=137,freq_range=(6625.0, 6645.0),expected_eirp={'nominalValue': 28.1, 'upperBound': 30.1} calc_eirp=25.91 diff=4.19
[WARNING] gc=131 cn=149,freq_range=(6685.0, 6705.0),expected_eirp={'nominalValue': 26.4, 'upperBound': 28.4} calc_eirp=23.91 diff=4.49
[WARNING] gc=131 cn=153,freq_range=(6705.0, 6725.0),expected_eirp={'nominalValue': 26.4, 'upperBound': 28.4} calc_eirp=23.91 diff=4.49
[ERROR] gc=131 cn=165,freq_range=(6765.0, 6785.0) expected_eirp={'nominalValue': 31.0, 'upperBound': 33.0} calc_eirp=36.0 diff=3.00
[WARNING] gc=131 cn=169,freq_range=(6785.0, 6805.0),expected_eirp={'nominalValue': 23.8, 'upperBound': 25.8} calc_eirp=21.03 diff=4.77
[WARNING] gc=131 cn=173,freq_range=(6805.0, 6825.0),expected_eirp={'nominalValue': 23.8, 'upperBound': 25.8} calc_eirp=21.03 diff=4.77
[WARNING] gc=132 cn=51,freq_range=(6185.0, 6225.0),expected_eirp={'nominalValue': 28.3, 'upperBound': 30.3} calc_eirp=25.73 diff=4.57
[ERROR] gc=132 cn=83,freq_range=(6345.0, 6385.0) expected_eirp={'nominalValue': 32.3, 'upperBound': 34.3} calc_eirp=34.81 diff=0.51
[ERROR] gc=132 cn=91,freq_range=(6385.0, 6425.0) expected_eirp={'nominalValue': 32.3, 'upperBound': 34.3} calc_eirp=34.81 diff=0.51
[WARNING] gc=132 cn=123,freq_range=(6545.0, 6585.0),expected_eirp={'nominalValue': 30.6, 'upperBound': 32.6} calc_eirp=28.4 diff=4.20
[WARNING] gc=132 cn=131,freq_range=(6585.0, 6625.0),expected_eirp={'nominalValue': 30.6, 'upperBound': 32.6} calc_eirp=28.4 diff=4.20
[WARNING] gc=132 cn=155,freq_range=(6705.0, 6745.0),expected_eirp={'nominalValue': 29.4, 'upperBound': 31.4} calc_eirp=26.92 diff=4.48
[WARNING] gc=132 cn=171,freq_range=(6785.0, 6825.0),expected_eirp={'nominalValue': 26.8, 'upperBound': 28.8} calc_eirp=24.04 diff=4.76
[WARNING] gc=133 cn=167,freq_range=(6745.0, 6825.0),expected_eirp={'nominalValue': 29.8, 'upperBound': 31.8} calc_eirp=27.05 diff=4.75
[INFO] Time in Milliseconds 0:00:24.744613, processed_count=1941
alexcpn commented 6 months ago

Updating with the increased uncertainty region as in #51 I am getting matching results except for the last band where my calculations are 10 dB lower.

However the bigger problem is that with this uncertainty region, the code have to process about 30 million entries and it is taking about 2 hours

SIP.2

[INFO] Length of filtered cords within 150000 is 4410

[INFO] Expected Frequency
[INFO] 5925-5930,upperBound:23.0 nominalValue:23.0
[INFO] 5930-5949,upperBound:11.1 nominalValue:9.1
[INFO] 5949-6050,upperBound:11.2 nominalValue:9.2
[INFO] 6050-6078,upperBound:23.0 nominalValue:23.0
[INFO] 6078-6109,upperBound:-0.4 nominalValue:-2.4
[INFO] 6109-6137,upperBound:23.0 nominalValue:23.0
[INFO] 6137-6168,upperBound:-0.3 nominalValue:-2.3
[INFO] 6168-6211,upperBound:23.0 nominalValue:23.0
[INFO] 6211-6241,upperBound:14.3 nominalValue:12.3
[INFO] 6241-6302,upperBound:7.1 nominalValue:5.1
[INFO] 6302-6331,upperBound:17.2 nominalValue:15.2
[INFO] 6331-6359,upperBound:20.9 nominalValue:18.9
[INFO] 6359-6392,upperBound:18.2 nominalValue:16.2
[INFO] 6392-6420,upperBound:18.3 nominalValue:16.3
[INFO] 6420-6425,upperBound:23.0 nominalValue:23.0
[INFO] 6525-6540,upperBound:23.0 nominalValue:23.0
[INFO] 6540-6570,upperBound:23.0 nominalValue:22.9
[INFO] 6570-6580,upperBound:23.0 nominalValue:23.0
[INFO] 6580-6590,upperBound:16.6 nominalValue:14.6
[INFO] 6590-6600,upperBound:23.0 nominalValue:22.7
[INFO] 6600-6610,upperBound:23.0 nominalValue:23.0
[INFO] 6610-6640,upperBound:17.1 nominalValue:15.1
[INFO] 6640-6650,upperBound:23.0 nominalValue:23.0
[INFO] 6676-6680,upperBound:19.9 nominalValue:17.9
[INFO] 6680-6694,upperBound:23.0 nominalValue:21.3
[INFO] 6694-6700,upperBound:23.0 nominalValue:21.4
[INFO] 6700-6710,upperBound:15.4 nominalValue:13.4
[INFO] 6710-6770,upperBound:23.0 nominalValue:23.0
[INFO] 6770-6800,upperBound:20.0 nominalValue:18.0
[INFO] 6800-6803,upperBound:23.0 nominalValue:23.0
[INFO] 6803-6808,upperBound:12.8 nominalValue:10.8
[INFO] 6808-6810,upperBound:23.0 nominalValue:23.0
[INFO] 6810-6820,upperBound:23.0 nominalValue:21.0
[INFO] 6820-6850,upperBound:23.0 nominalValue:23.0
[INFO] 6850-6860,upperBound:8.8 nominalValue:6.8
[INFO] 6860-6870,upperBound:17.1 nominalValue:15.1
[INFO] 6870-6875,upperBound:23.0 nominalValue:23.0
[INFO] Calculated Frequency
[INFO] 5925.0-5930.025  psd: 23.0 #ok
[INFO] 5930.025-5990.025  psd: 9.162855109773304 #ok
[INFO] 5990.025-6049.325  psd: 9.248849335298857 #ok
[INFO] 6049.325-6078.45  psd: 21.725732881676123 #ok
[INFO] 6078.45-6108.45  psd: -3.893601986183313 #ok
[INFO] 6108.45-6137.75  psd: 23.0 #ok
[INFO] 6137.75-6167.75  psd: -3.7932845988204917 #ok
[INFO] 6167.75-6167.925  psd: 23.0 #ok
[INFO] 6167.925-6182.065  psd: 23.0 #ok
[INFO] 6182.065-6211.89  psd: 23.0#ok
[INFO] 6211.89-6241.365  psd: 9.674139423097031 #ok
[INFO] 6241.365-6241.54  psd: 5.107086117782345 #ok
[INFO] 6241.54-6271.54  psd: 5.0865290694984395 #ok
[INFO] 6271.54-6301.365  psd: 5.107086117782345 #ok
[INFO] 6301.365-6330.84  psd: 12.130862002759528 #ok
[INFO] 6330.84-6359.965  psd: 15.87044751566225 #ok
[INFO] 6359.965-6419.965  psd: 13.239783921163593 #ok
[INFO] 6419.965-6425.0  psd: 23.0 #ok
[INFO] 6525.0-6540.0  psd: 23.0 #ok
[INFO] 6540.0-6570.0  psd: 20.05168643652047 #ok
[INFO] 6570.0-6580.0  psd: 23.0 #ok
[INFO] 6580.0-6590.0  psd: 12.34298884470428 #ok
[INFO] 6590.0-6600.0  psd: 22.184274075964964 #ok
[INFO] 6600.0-6610.0  psd: 20.232672164996245 #ok
[INFO] 6610.0-6640.0  psd: 12.549264481357142 #ok
[INFO] 6640.0-6650.0  psd: 23.0 #ok
[INFO] 6650.0-6675.2  psd: 0 #ok
[INFO] 6675.2-6680.0  psd: 15.143535220560409 #ok
[INFO] 6680.0-6700.0  psd: 20.139941542990556 #ok
[INFO] 6700.0-6710.0  psd: 10.854650405008215 #ok
[INFO] 6710.0-6770.0  psd: 23.0 #ok
[INFO] 6770.0-6800.0  psd: 14.952141274939152 #ok
[INFO] 6800.0-6803.75  psd: 23.0 #ok
[INFO] 6803.75-6807.5  psd: 7.986306331845867 #ok
[INFO] 6807.5-6810.0  psd: 23.0 #ok
[INFO] 6810.0-6820.0  psd: 20.964231584415444 #ok
[INFO] 6820.0-6830.0  psd: 23.0 #ok
[INFO] 6830.0-6850.0  psd: 20.277231620836176 #ok
[INFO] 6850.0-6860.0  psd: 5.7319583598293065 #ok
[INFO] 6860.0-6870.0  psd: 12.080383470008258 #ok
[INFO] 6870.0-6875.0  psd: 13.910187221438406 #ok (but too low)
[WARNING] gc=131 cn=53,freq_range=(6205.0, 6225.0),expected_eirp={'nominalValue': 25.3, 'upperBound': 27.3} calc_eirp=22.68 diff=4.62
[WARNING] gc=131 cn=73,freq_range=(6305.0, 6325.0),expected_eirp={'nominalValue': 28.2, 'upperBound': 30.2} calc_eirp=25.14 diff=5.06
[WARNING] gc=131 cn=77,freq_range=(6325.0, 6345.0),expected_eirp={'nominalValue': 28.2, 'upperBound': 30.2} calc_eirp=25.14 diff=5.06
[WARNING] gc=131 cn=81,freq_range=(6345.0, 6365.0),expected_eirp={'nominalValue': 29.2, 'upperBound': 31.2} calc_eirp=26.25 diff=4.95
[WARNING] gc=131 cn=85,freq_range=(6365.0, 6385.0),expected_eirp={'nominalValue': 29.2, 'upperBound': 31.2} calc_eirp=26.25 diff=4.95
[WARNING] gc=131 cn=89,freq_range=(6385.0, 6405.0),expected_eirp={'nominalValue': 29.3, 'upperBound': 31.3} calc_eirp=26.25 diff=5.05
[WARNING] gc=131 cn=93,freq_range=(6405.0, 6425.0),expected_eirp={'nominalValue': 29.3, 'upperBound': 31.3} calc_eirp=26.25 diff=5.05
[WARNING] gc=131 cn=125,freq_range=(6565.0, 6585.0),expected_eirp={'nominalValue': 27.6, 'upperBound': 29.6} calc_eirp=25.35 diff=4.25
[WARNING] gc=131 cn=129,freq_range=(6585.0, 6605.0),expected_eirp={'nominalValue': 27.6, 'upperBound': 29.6} calc_eirp=25.35 diff=4.25
[WARNING] gc=131 cn=133,freq_range=(6605.0, 6625.0),expected_eirp={'nominalValue': 28.1, 'upperBound': 30.1} calc_eirp=25.56 diff=4.54
[WARNING] gc=131 cn=137,freq_range=(6625.0, 6645.0),expected_eirp={'nominalValue': 28.1, 'upperBound': 30.1} calc_eirp=25.56 diff=4.54
[WARNING] gc=131 cn=149,freq_range=(6685.0, 6705.0),expected_eirp={'nominalValue': 26.4, 'upperBound': 28.4} calc_eirp=23.86 diff=4.54
[WARNING] gc=131 cn=153,freq_range=(6705.0, 6725.0),expected_eirp={'nominalValue': 26.4, 'upperBound': 28.4} calc_eirp=23.86 diff=4.54
[WARNING] gc=131 cn=165,freq_range=(6765.0, 6785.0),expected_eirp={'nominalValue': 31.0, 'upperBound': 33.0} calc_eirp=27.96 diff=5.04
[WARNING] gc=131 cn=169,freq_range=(6785.0, 6805.0),expected_eirp={'nominalValue': 23.8, 'upperBound': 25.8} calc_eirp=21.0 diff=4.80
[WARNING] gc=131 cn=173,freq_range=(6805.0, 6825.0),expected_eirp={'nominalValue': 23.8, 'upperBound': 25.8} calc_eirp=21.0 diff=4.80
[WARNING] gc=132 cn=51,freq_range=(6185.0, 6225.0),expected_eirp={'nominalValue': 28.3, 'upperBound': 30.3} calc_eirp=25.69 diff=4.61
[WARNING] gc=132 cn=75,freq_range=(6305.0, 6345.0),expected_eirp={'nominalValue': 31.2, 'upperBound': 33.2} calc_eirp=28.15 diff=5.05
[WARNING] gc=132 cn=83,freq_range=(6345.0, 6385.0),expected_eirp={'nominalValue': 32.3, 'upperBound': 34.3} calc_eirp=29.26 diff=5.04
[WARNING] gc=132 cn=91,freq_range=(6385.0, 6425.0),expected_eirp={'nominalValue': 32.3, 'upperBound': 34.3} calc_eirp=29.26 diff=5.04
[WARNING] gc=132 cn=123,freq_range=(6545.0, 6585.0),expected_eirp={'nominalValue': 30.6, 'upperBound': 32.6} calc_eirp=28.36 diff=4.24
[WARNING] gc=132 cn=131,freq_range=(6585.0, 6625.0),expected_eirp={'nominalValue': 30.6, 'upperBound': 32.6} calc_eirp=28.36 diff=4.24
[WARNING] gc=132 cn=155,freq_range=(6705.0, 6745.0),expected_eirp={'nominalValue': 29.4, 'upperBound': 31.4} calc_eirp=26.88 diff=4.52
[WARNING] gc=132 cn=163,freq_range=(6745.0, 6785.0),expected_eirp={'nominalValue': 34.0, 'upperBound': 36.0} calc_eirp=30.97 diff=5.03
[WARNING] gc=132 cn=171,freq_range=(6785.0, 6825.0),expected_eirp={'nominalValue': 26.8, 'upperBound': 28.8} calc_eirp=24.01 diff=4.79
[WARNING] gc=133 cn=167,freq_range=(6745.0, 6825.0),expected_eirp={'nominalValue': 29.8, 'upperBound': 31.8} calc_eirp=27.02 diff=4.78
[INFO] Time in Milliseconds 2:03:57.419061, processed_count=3027960
AEgbert commented 6 months ago

Which incumbent is limiting your response on 6870-6875 MHz? Since it is the far upper end of the band, I'm wondering if the difference may be the same as in #52.

alexcpn commented 6 months ago

@AEgbert with the handling as mentioned in #52 SIP2 is also now matching

centre frequency I am taking as _(frequency_assigned + frequencyupperband)/2 . I tried first (center_freq= frequency_assigned + bandwidth_Mhz/2) but that is not correct for some cases like in SIP.10

[INFO] Expected Frequency
[INFO] 5925-5930,upperBound:23.0 nominalValue:23.0
[INFO] 5930-5949,upperBound:11.1 nominalValue:9.1
[INFO] 5949-6050,upperBound:11.2 nominalValue:9.2
[INFO] 6050-6078,upperBound:23.0 nominalValue:23.0
[INFO] 6078-6109,upperBound:-0.4 nominalValue:-2.4
[INFO] 6109-6137,upperBound:23.0 nominalValue:23.0
[INFO] 6137-6168,upperBound:-0.3 nominalValue:-2.3
[INFO] 6168-6211,upperBound:23.0 nominalValue:23.0
[INFO] 6211-6241,upperBound:14.3 nominalValue:12.3
[INFO] 6241-6302,upperBound:7.1 nominalValue:5.1
[INFO] 6302-6331,upperBound:17.2 nominalValue:15.2
[INFO] 6331-6359,upperBound:20.9 nominalValue:18.9
[INFO] 6359-6392,upperBound:18.2 nominalValue:16.2
[INFO] 6392-6420,upperBound:18.3 nominalValue:16.3
[INFO] 6420-6425,upperBound:23.0 nominalValue:23.0
[INFO] 6525-6540,upperBound:23.0 nominalValue:23.0
[INFO] 6540-6570,upperBound:23.0 nominalValue:22.9
[INFO] 6570-6580,upperBound:23.0 nominalValue:23.0
[INFO] 6580-6590,upperBound:16.6 nominalValue:14.6
[INFO] 6590-6600,upperBound:23.0 nominalValue:22.7
[INFO] 6600-6610,upperBound:23.0 nominalValue:23.0
[INFO] 6610-6640,upperBound:17.1 nominalValue:15.1
[INFO] 6640-6650,upperBound:23.0 nominalValue:23.0
[INFO] 6676-6680,upperBound:19.9 nominalValue:17.9
[INFO] 6680-6694,upperBound:23.0 nominalValue:21.3
[INFO] 6694-6700,upperBound:23.0 nominalValue:21.4
[INFO] 6700-6710,upperBound:15.4 nominalValue:13.4
[INFO] 6710-6770,upperBound:23.0 nominalValue:23.0
[INFO] 6770-6800,upperBound:20.0 nominalValue:18.0
[INFO] 6800-6803,upperBound:23.0 nominalValue:23.0
[INFO] 6803-6808,upperBound:12.8 nominalValue:10.8
[INFO] 6808-6810,upperBound:23.0 nominalValue:23.0
[INFO] 6810-6820,upperBound:23.0 nominalValue:21.0
[INFO] 6820-6850,upperBound:23.0 nominalValue:23.0
[INFO] 6850-6860,upperBound:8.8 nominalValue:6.8
[INFO] 6860-6870,upperBound:17.1 nominalValue:15.1
[INFO] 6870-6875,upperBound:23.0 nominalValue:23.0
[INFO] Calculated Frequency
[INFO] 5925.0-5930.025  psd: 23.0 ok
[INFO] 5930.025-5990.025  psd: 9.162855109773304 ok
[INFO] 5990.025-6049.325  psd: 9.248849335298857 ok one range
[INFO] 6049.325-6078.45  psd: 21.725732881676123 ok
[INFO] 6078.45-6108.45  psd: -3.893601986183313 ok
[INFO] 6108.45-6137.75  psd: 23.0 ok
[INFO] 6137.75-6167.75  psd: -3.7932845988204917 ok
[INFO] 6167.75-6167.925  psd: 23.0 ok 
[INFO] 6167.925-6182.065  psd: 23.0 ok 
[INFO] 6182.065-6211.89  psd: 23.0 ok (single range)
[INFO] 6211.89-6241.365  psd: 9.674139423097031 ok
[INFO] 6241.365-6241.54  psd: 5.107086117782345
[INFO] 6241.54-6271.54  psd: 5.0865290694984395
[INFO] 6271.54-6301.365  psd: 5.107086117782345 ok
[INFO] 6301.365-6330.84  psd: 12.130862002759528 ok
[INFO] 6330.84-6359.965  psd: 15.87044751566225 ok
[INFO] 6359.965-6419.965  psd: 13.239783921163593 ok
[INFO] 6419.965-6425.0  psd: 23.0 ok
[INFO] 6525.0-6540.0  psd: 23.0 ok
[INFO] 6540.0-6570.0  psd: 20.05168643652047 ok
[INFO] 6570.0-6580.0  psd: 23.0 ok 
[INFO] 6580.0-6590.0  psd: 12.34298884470428 ok 
[INFO] 6590.0-6600.0  psd: 22.184274075964964 ok 
[INFO] 6600.0-6610.0  psd: 20.232672164996245 ok
[INFO] 6610.0-6640.0  psd: 12.549264481357142 ok
[INFO] 6640.0-6650.0  psd: 23.0 ok
[INFO] 6650.0-6675.2  psd: 0 ok 
[INFO] 6675.2-6680.0  psd: 15.143535220560409 ok
[INFO] 6680.0-6700.0  psd: 20.139941542990556 ok
[INFO] 6700.0-6710.0  psd: 10.854650405008215 ok
[INFO] 6710.0-6770.0  psd: 23.0 ok
[INFO] 6770.0-6800.0  psd: 14.952141274939152 ok
[INFO] 6800.0-6803.75  psd: 23.0 ok
[INFO] 6803.75-6807.5  psd: 7.986306331845867 ok
[INFO] 6807.5-6810.0  psd: 23.0 ok
[INFO] 6810.0-6820.0  psd: 20.964231584415444 ok
[INFO] 6820.0-6830.0  psd: 23.0
[INFO] 6830.0-6850.0  psd: 20.277231620836176 ok
[INFO] 6850.0-6860.0  psd: 5.7319583598293065 ok
[INFO] 6860.0-6870.0  psd: 12.080383470008258 ok
[INFO] 6870.0-6872.5  psd: 23.0 ok
[INFO] 6872.5-6875.0  psd: 23.0 ok
[WARNING] gc=131 cn=53,freq_range=(6205.0, 6225.0),expected_eirp={'nominalValue': 25.3, 'upperBound': 27.3} calc_eirp=22.68 diff=2.62
[WARNING] gc=131 cn=73,freq_range=(6305.0, 6325.0),expected_eirp={'nominalValue': 28.2, 'upperBound': 30.2} calc_eirp=25.14 diff=3.06
[WARNING] gc=131 cn=77,freq_range=(6325.0, 6345.0),expected_eirp={'nominalValue': 28.2, 'upperBound': 30.2} calc_eirp=25.14 diff=3.06
[WARNING] gc=131 cn=81,freq_range=(6345.0, 6365.0),expected_eirp={'nominalValue': 29.2, 'upperBound': 31.2} calc_eirp=26.25 diff=2.95
[WARNING] gc=131 cn=85,freq_range=(6365.0, 6385.0),expected_eirp={'nominalValue': 29.2, 'upperBound': 31.2} calc_eirp=26.25 diff=2.95
[WARNING] gc=131 cn=89,freq_range=(6385.0, 6405.0),expected_eirp={'nominalValue': 29.3, 'upperBound': 31.3} calc_eirp=26.25 diff=3.05
[WARNING] gc=131 cn=93,freq_range=(6405.0, 6425.0),expected_eirp={'nominalValue': 29.3, 'upperBound': 31.3} calc_eirp=26.25 diff=3.05
[WARNING] gc=131 cn=117,freq_range=(6525.0, 6545.0),expected_eirp={'nominalValue': 35.9, 'upperBound': 36.0} calc_eirp=33.06 diff=2.84
[WARNING] gc=131 cn=121,freq_range=(6545.0, 6565.0),expected_eirp={'nominalValue': 35.9, 'upperBound': 36.0} calc_eirp=33.06 diff=2.84
[WARNING] gc=131 cn=125,freq_range=(6565.0, 6585.0),expected_eirp={'nominalValue': 27.6, 'upperBound': 29.6} calc_eirp=25.35 diff=2.25
[WARNING] gc=131 cn=129,freq_range=(6585.0, 6605.0),expected_eirp={'nominalValue': 27.6, 'upperBound': 29.6} calc_eirp=25.35 diff=2.25
[WARNING] gc=131 cn=133,freq_range=(6605.0, 6625.0),expected_eirp={'nominalValue': 28.1, 'upperBound': 30.1} calc_eirp=25.56 diff=2.54
[WARNING] gc=131 cn=137,freq_range=(6625.0, 6645.0),expected_eirp={'nominalValue': 28.1, 'upperBound': 30.1} calc_eirp=25.56 diff=2.54
[WARNING] gc=131 cn=149,freq_range=(6685.0, 6705.0),expected_eirp={'nominalValue': 26.4, 'upperBound': 28.4} calc_eirp=23.86 diff=2.54
[WARNING] gc=131 cn=153,freq_range=(6705.0, 6725.0),expected_eirp={'nominalValue': 26.4, 'upperBound': 28.4} calc_eirp=23.86 diff=2.54
[WARNING] gc=131 cn=165,freq_range=(6765.0, 6785.0),expected_eirp={'nominalValue': 31.0, 'upperBound': 33.0} calc_eirp=27.96 diff=3.04
[WARNING] gc=131 cn=169,freq_range=(6785.0, 6805.0),expected_eirp={'nominalValue': 23.8, 'upperBound': 25.8} calc_eirp=21.0 diff=2.80
[WARNING] gc=131 cn=173,freq_range=(6805.0, 6825.0),expected_eirp={'nominalValue': 23.8, 'upperBound': 25.8} calc_eirp=21.0 diff=2.80
[WARNING] gc=131 cn=177,freq_range=(6825.0, 6845.0),expected_eirp={'nominalValue': 36.0, 'upperBound': 36.0} calc_eirp=33.29 diff=2.71
[WARNING] gc=132 cn=51,freq_range=(6185.0, 6225.0),expected_eirp={'nominalValue': 28.3, 'upperBound': 30.3} calc_eirp=25.69 diff=2.61
[WARNING] gc=132 cn=75,freq_range=(6305.0, 6345.0),expected_eirp={'nominalValue': 31.2, 'upperBound': 33.2} calc_eirp=28.15 diff=3.05
[WARNING] gc=132 cn=83,freq_range=(6345.0, 6385.0),expected_eirp={'nominalValue': 32.3, 'upperBound': 34.3} calc_eirp=29.26 diff=3.04
[WARNING] gc=132 cn=91,freq_range=(6385.0, 6425.0),expected_eirp={'nominalValue': 32.3, 'upperBound': 34.3} calc_eirp=29.26 diff=3.04
[WARNING] gc=132 cn=123,freq_range=(6545.0, 6585.0),expected_eirp={'nominalValue': 30.6, 'upperBound': 32.6} calc_eirp=28.36 diff=2.24
[WARNING] gc=132 cn=131,freq_range=(6585.0, 6625.0),expected_eirp={'nominalValue': 30.6, 'upperBound': 32.6} calc_eirp=28.36 diff=2.24
[WARNING] gc=132 cn=155,freq_range=(6705.0, 6745.0),expected_eirp={'nominalValue': 29.4, 'upperBound': 31.4} calc_eirp=26.88 diff=2.52
[WARNING] gc=132 cn=163,freq_range=(6745.0, 6785.0),expected_eirp={'nominalValue': 34.0, 'upperBound': 36.0} calc_eirp=30.97 diff=3.03
[WARNING] gc=132 cn=171,freq_range=(6785.0, 6825.0),expected_eirp={'nominalValue': 26.8, 'upperBound': 28.8} calc_eirp=24.01 diff=2.79
[WARNING] gc=133 cn=87,freq_range=(6345.0, 6425.0),expected_eirp={'nominalValue': 35.3, 'upperBound': 36.0} calc_eirp=32.27 diff=3.03
[WARNING] gc=133 cn=167,freq_range=(6745.0, 6825.0),expected_eirp={'nominalValue': 29.8, 'upperBound': 31.8} calc_eirp=27.02 diff=2.78
[INFO] Time in Milliseconds 1:05:54.089654, processed_count=3009240