Exemplo n.º 1
0
    def avg_range(self):
        """
        Return the average range (depth to the bottom).  This will determine the good values
        for the range and average them together.

        :return: Average range.
        """
        # Average the range
        return Ensemble.get_avg_range(self.Range)
Exemplo n.º 2
0
    def accum_rt_range(self, awc):
        """
        Create the Range Tracking dataframe.  This takes all the information
        from the Range Tracking and creates a row in the dataframe for each bin,beam value.
        :param awc: Average data.
        :return:
        """
        # Convert the east array to df
        # params: vel_array, dt, ss_code, ss_config, blank, bin_size
        # DF Columns: Index, time_stamp, ss_code, ss_config, bin_num, beam_num, bin_depth, value
        df = Ensemble.array_beam_1d_to_df(
            awc[AverageWaterColumn.INDEX_RANGE_TRACK],
            awc[AverageWaterColumn.INDEX_LAST_TIME],
            awc[AverageWaterColumn.INDEX_SS_CODE],
            awc[AverageWaterColumn.INDEX_SS_CONFIG],
            awc[AverageWaterColumn.INDEX_FIRST_ENS_NUM],
            awc[AverageWaterColumn.INDEX_LAST_ENS_NUM])

        # Store the range results
        if self.df_rt_range.empty:
            self.df_rt_range = df
        else:
            self.df_rt_range = pd.concat([self.df_rt_range, df],
                                         ignore_index=True)

        # Average the Range Track Range
        avg_range = Ensemble.get_avg_range(
            awc[AverageWaterColumn.INDEX_RANGE_TRACK])

        # Create a dict entry
        dict_result = {}
        dict_result[0] = {
            'time_stamp': awc[AverageWaterColumn.INDEX_LAST_TIME],
            'ss_code': awc[AverageWaterColumn.INDEX_SS_CODE],
            'ss_config': awc[AverageWaterColumn.INDEX_SS_CONFIG],
            'bin_num': 0,
            'beam_num': 0,
            'bin_depth': avg_range,
            'first_ens_num': awc[AverageWaterColumn.INDEX_FIRST_ENS_NUM],
            'last_ens_num': awc[AverageWaterColumn.INDEX_LAST_ENS_NUM],
            'value': avg_range
        }

        # Create the dataframe from the dictionary
        # important to set the 'orient' parameter to "index" to make the keys as rows
        df = pd.DataFrame.from_dict(dict_result, "index")

        # Store the range results
        if self.df_avg_rt_range.empty:
            self.df_avg_rt_range = df
        else:
            self.df_avg_rt_range = pd.concat([self.df_avg_rt_range, df],
                                             ignore_index=True)
Exemplo n.º 3
0
 def avg_range(self):
     # Average the ranges
     #range_count = 0
     #range_accum = 0.0
     #for beam in range(int(self.NumBeams)):
     #    if self.Range[beam] > 0.0:
     #        range_count += 1
     #        range_accum += self.Range[beam]
     #if range_count > 0:
     #    return range_accum / range_count
     #else:
     #    return 0.0
     return Ensemble.get_avg_range(self.Range)