HvsrAzimuthal

class HvsrAzimuthal(hvsrs, azimuths, meta=None)

For HVSR calculations made across various azimuths.

Variables:
  • hvsrs (list) – Container of HvsrTraditional objects, one per azimuth.

  • azimuths (list) – Vector of rotation azimuths corresponding to HvsrTraditional objects.

__init__(hvsrs, azimuths, meta=None)

HvsrAzimuthal from iterable of HvsrTraditional objects.

Parameters:
  • hvsrs (iterable of HvsrTraditional) – Iterable of HvsrTraditional objects, one per azimuth.

  • azimuths (float) – Rotation angles in degrees measured clockwise positive from north (i.e., 0 degrees), one per HvsrTraditional.

  • meta (dict, optional) – Meta information about the object, default is None.

Returns:

HvsrAzimuthal – Instantiated HvsrAzimuthal object with single azimuth.

static _check_input(hvsr, azimuth)

Check input,

Specifically:
  1. hvsr is an instance of HvsrTraditional.

  2. azimuth is float.

  3. azimuth is greater than 0 and less than 180.

Warning

Private methods are subject to change without warning.

cov_fn(distribution='lognormal')

Covariance of HVSR resonance across all valid HVSR curves and azimuths.

Parameters:

distribution ({“normal”, “lognormal”}, optional) – Assumed distribution of resonance, default is "lognormal".

Returns:

ndarray – Tensor of shape (2,2) that represents the covariance matrix of frequency and amplitude of HVSR resonance across all valid time windows and azimuths.

Raises:

NotImplementedError – If distribution does not match the available options.

is_similar(other)

Determine if other is similar to self.

mean_curve(distribution='lognormal')

Mean HVSR curve considering all valid HVSR curves across all azimuths.

Parameters:

distribution ({“normal”, “lognormal”}, optional) – Assumed distribution of mean curve, default is "lognormal".

Returns:

ndarray – Mean HVSR curve considering all valid HVSR curves across all azimuths according to the distribution specified.

Raises:

NotImplementedError – If distribution does not match the available options.

mean_curve_by_azimuth(distribution='lognormal')

Mean curve associated with each azimuth.

Parameters:

distribution ({“normal”, “lognormal”}, optional) – Assumed distribution of mean curve, default is "lognormal".

Returns:

ndarray – Each row corresponds to the mean curve from an azimuth and each column a frequency.

mean_curve_peak(distribution='lognormal')

Frequency and amplitude of the peak of the mean HVSR curve.

Parameters:

distribution ({“normal”, “lognormal”}, optional) – Assumed distribution of HVSR curve, default is "lognormal".

Returns:

tuple – Frequency and amplitude associated with the peak of the mean HVSR curve of the form (mean_curve_peak_frequency, mean_curve_peak_amplitude).

mean_curve_peak_by_azimuth(distribution='lognormal')

Peak from each mean curve, one per azimuth.

Parameters:

distribution ({“normal”, “lognormal”}, optional) – Assumed distribution of mean curve, default is "lognormal".

Returns:

tuple – Of the form (peak_frequencies, peak_amplitudes) where each entry contains the peak of the mean curve, one per azimuth.

mean_fn_amplitude(distribution='lognormal')

Mean amplitude of fn across all valid HVSR curves and azimuths.

Parameters:

distribution ({“normal”, “lognormal”}, optional) – Assumed distribution of fn, default is "lognormal".

Returns:

float – Mean amplitude of fn across all valid time windows and azimuths.

Raises:

NotImplementedError – If distribution does not match the available options.

mean_fn_frequency(distribution='lognormal')

Mean frequency of fn across all valid HVSR curves and azimuths.

Parameters:

distribution ({“normal”, “lognormal”}) – Assumed distribution of fn, default is "lognormal".

Returns:

float – Mean value of fn according to the distribution specified.

Raises:

NotImplementedError – If distribution does not match the available options.

nth_std_curve(n, distribution='lognormal')

nth standard deviation on mean curve considering all valid windows across all azimuths.

nth_std_fn_amplitude(n, distribution='lognormal')

nth standard deviation on amplitude of fn considering all valid windows across all azimuths.

nth_std_fn_frequency(n, distribution='lognormal')

nth standard deviation on frequency of fn considering all valid windows across all azimuths.

property peak_amplitudes

Peak amplitudes, one entry per azimuth, each entry has one value per curve.

property peak_frequencies

Peak frequencies, one entry per azimuth, each entry has one value per curve.

std_curve(distribution='lognormal')

Sample standard deviation associated with mean HVSR curve considering all valid HVSR curves across all azimuths.

Parameters:

distribution ({“normal”, “lognormal”}, optional) – Assumed distribution of HVSR curve, default is "lognormal".

Returns:

ndarray – Sample standard deviation of HVSR curve considering all valid HVSR curves across all azimuths according to the distribution specified.

Raises:

NotImplementedError – If distribution does not match the available options.

std_fn_amplitude(distribution='lognormal')

Sample standard deviation amplitude of fn across all valid HVSR curves and azimuths.

Parameters:

distribution ({“normal”, “lognormal”}, optional) – Assumed distribution of fn, default is "lognormal".

Returns:

float – Sample standard deviation of the amplitude of fn according to the distribution specified.

Raises:

NotImplementedError – If distribution does not match the available options.

std_fn_frequency(distribution='lognormal')

Sample standard deviation frequency of fn across all valid HVSR curves and azimuths.

Parameters:

distribution ({“normal”, “lognormal”}, optional) – Assumed distribution of fn, default is "lognormal".

Returns:

float – Sample standard deviation of fn.

Raises:

NotImplementedError – If distribution does not match the available options.

update_peaks_bounded(search_range_in_hz=(None, None), find_peaks_kwargs=None)

Update peaks associated with each HVSR curve, can be over bounded range.

Parameters:
  • search_range_in_hz (tuple, optional) – Frequency range to be searched for peaks. Half open ranges can be specified with None, default is (None, None) indicating the full frequency range will be searched.

  • find_peaks_kwargs (dict) – Keyword arguments for the scipy function find_peaks see scipy documentation for details.

Returns:

None – Updates internal peak-related attributes.