# Seismic Magnitude Ontology — Flow Algebra
URL: https://kirethresearch.org/booksai-core/ontologies/mathematical-ontologies/measurement-units-ontologies/earth-science-measurements/seismic-magnitude-ontology.html
FLOW SeismicMagnitudeOntology {
DOMAIN:
Mathematical Ontologies
-> Measurement & Units Ontologies
-> Earth Science Measurements
-> Seismic Magnitude Ontology
PURPOSE:
Represent seismic magnitude as a family of logarithmic earthquake source-size quantities derived from seismic observations and source models, including local magnitude, body-wave magnitude, surface-wave magnitude, moment magnitude, seismic moment, amplitude and period measurements, attenuation and distance corrections, instrument response, station and network aggregation, saturation, calibration, uncertainty, provenance, and strict distinctions between magnitude, seismic intensity, ground-motion amplitude and released energy.
ENTITY SeismicMagnitude {
TYPE: DimensionlessLogarithmicEarthquakeSourceQuantity
SYMBOL: M
DIMENSION: dimensionless
DEFINITION:
seismic_magnitude :=
logarithmic_measure_of_earthquake_source_size
defined_by_a_declared_magnitude_scale
PROPERTIES:
is_dimensionless
is_scale_specific
is_event_specific
is_logarithmic
may_be_station_based_or_network_aggregated
may_have_uncertainty
}
ENTITY LocalMagnitude {
TYPE: SeismicMagnitude
SYMBOL: M_L
GENERIC_FORM:
M_L =
log10(A) - log10(A_0(delta))
under_declared_amplitude_instrument_and_distance_conventions
RULE:
amplitude_definition_and_distance_correction MUST be preserved
}
ENTITY BodyWaveMagnitude {
TYPE: SeismicMagnitude
SYMBOL: m_b
GENERIC_FORM:
m_b =
log10(A/T) + Q(delta,h)
PARAMETERS:
A = body_wave_amplitude
T = period
Q = distance_depth_correction
RULE:
phase_band_and_measurement_convention MUST be preserved
}
ENTITY SurfaceWaveMagnitude {
TYPE: SeismicMagnitude
SYMBOL: M_s
GENERIC_FORM:
M_s =
log10(A/T) + correction(delta)
under_declared_surface_wave_convention
RULE:
wave_type_period_and_distance_range MUST be preserved
}
ENTITY MomentMagnitude {
TYPE: SeismicMagnitude
SYMBOL: M_w
BASE_RELATION:
M_w =
(2/3)*(log10(M_0)-9.1)
WHEN M_0 expressed_in_N_m
under_common_convention
RULE:
constant_depends_on_units_and_adopted_definition
}
ENTITY SeismicMoment {
TYPE: EarthquakeSourceQuantity
SYMBOL: M_0
DIMENSION: M*L^2*T^-2
SI_UNIT: newton_metre
SI_SYMBOL: N*m
SOURCE_RELATION:
M_0 =
mu*A*D
WHERE:
mu = shear_modulus
A = rupture_area
D = average_slip
}
SCALE_MODEL {
possible_scales:
local_magnitude
body_wave_magnitude
surface_wave_magnitude
moment_magnitude
duration_magnitude
coda_magnitude
regional_magnitude
RULE:
magnitude_value MUST preserve_scale_identifier
}
LOGARITHMIC_MODEL {
principle:
equal_magnitude_increment_corresponds_to_multiplicative_change_in_underlying_source_or_wave_measure
amplitude_context:
one_unit_in_amplitude_based_magnitude
often_corresponds_to_factor_of_10_in_corrected_amplitude_term
RULE:
magnitude_difference_is_logarithmic_not_linear_source_size_difference
}
MOMENT_MAGNITUDE_MODEL {
seismic_moment:
M_0
common_SI_relation:
M_w =
(2/3)*(log10(M_0)-9.1)
inverse:
M_0 =
10^(1.5*M_w + 9.1)
N*m
under_same_convention
RULE:
seismic_moment_and_moment_magnitude_are_not_semantically_equivalent
}
SEISMIC_MOMENT_MODEL {
M_0 =
mu*A*D
REQUIRE:
shear_modulus
rupture_area
average_slip
RULE:
source_parameter_estimates_and_model_assumptions MUST be preserved
}
LOCAL_MAGNITUDE_MODEL {
observed:
corrected_peak_amplitude
distance:
hypocentral_or_epicentral_measure_according_to_scale_definition
attenuation:
scale_specific_correction
RULE:
local_magnitude_calibration_is_region_and_scale_definition_dependent
}
BODY_WAVE_MODEL {
phases:
P
pP
other_declared_body_wave_phase
attributes:
amplitude
period
distance
focal_depth
RULE:
body_wave_magnitude_can_saturate_for_large_events
}
SURFACE_WAVE_MODEL {
waves:
Rayleigh
declared_surface_wave_band
attributes:
amplitude
period
epicentral_distance
RULE:
surface_wave_magnitude_can_saturate_for_large_events
}
SATURATION_MODEL {
phenomenon:
some_magnitude_scales_increase_less_responsively_for_large_sources
affected_scales:
local_magnitude
body_wave_magnitude
surface_wave_magnitude
moment_magnitude:
designed_to_scale_with_seismic_moment_over_broad_event_sizes
RULE:
magnitudes_from_different_scales MUST_NOT be_assumed_interchangeable_for_large_events
}
SEISMIC_ENERGY_MODEL {
radiated_energy:
E_s
empirical_relation:
log10(E_s) =
a + b*M
under_declared_magnitude_energy_calibration_and_energy_units
RULE:
magnitude != energy
and_energy_relation_is_empirical_and_scale_dependent
}
INTENSITY_DISTINCTION_MODEL {
seismic_intensity:
describes_observed_or_inferred_shaking_effect_at_location
magnitude:
characterises_earthquake_source_size
RULE:
magnitude != intensity
and_one_event_can_have_many_location_specific_intensities
}
GROUND_MOTION_DISTINCTION_MODEL {
ground_motion_quantities:
displacement
velocity
acceleration
magnitude:
derived_source_size_quantity
RULE:
recorded_peak_ground_acceleration_or_amplitude != earthquake_magnitude
}
INSTRUMENT_RESPONSE_MODEL {
raw_seismogram:
digital_counts
corrected_waveform:
physical_ground_motion =
remove_instrument_response(raw_counts)
REQUIRE:
sensor_response
digitiser_response
gain
sampling_rate
RULE:
raw_counts MUST_NOT be_used_as_physical_amplitude_without_response_correction
}
AMPLITUDE_MODEL {
possible_amplitudes:
peak_displacement
peak_velocity
phase_amplitude
Wood_Anderson_equivalent_amplitude
spectral_amplitude
REQUIRE:
physical_unit
component
filtering
measurement_window
RULE:
amplitude_definition MUST match_magnitude_scale
}
PERIOD_MODEL {
symbol:
T
SI_UNIT:
second
RULE:
measured_period_or_frequency_band MUST match_scale_definition
}
DISTANCE_MODEL {
possible_distances:
epicentral_distance
hypocentral_distance
source_receiver_distance
RULE:
distance_definition MUST match_attenuation_correction
}
DEPTH_MODEL {
focal_depth:
h
effect:
may_enter_distance_or_scale_correction
RULE:
depth_reference_and_uncertainty SHOULD be preserved
}
ATTENUATION_CORRECTION_MODEL {
correction:
accounts_for_geometrical_spreading_and_wave_attenuation
dependencies:
distance
frequency
region
crustal_structure
RULE:
attenuation_model MUST be identified
}
STATION_MAGNITUDE_MODEL {
station_value:
M_station =
magnitude_formula(
corrected_amplitude,
period,
distance,
depth,
station_correction
)
RULE:
station_magnitude_is_individual_observation_based_estimate
}
NETWORK_MAGNITUDE_MODEL {
event_magnitude:
aggregate(valid_station_magnitudes)
possible_aggregations:
arithmetic_mean
median
robust_estimator
weighted_estimator
REQUIRE:
station_selection
quality_control
aggregation_method
RULE:
network_magnitude MUST preserve_station_set_and_aggregation_method
}
STATION_CORRECTION_MODEL {
causes:
site_response
regional_path_effect
instrument_or_network_calibration
corrected:
M_corrected =
M_raw + station_correction
under_declared_sign_convention
RULE:
correction_sign_and_version MUST be preserved
}
SPECTRAL_MODEL {
displacement_spectrum:
source_and_path_dependent
source_parameters:
seismic_moment
corner_frequency
stress_drop
moment_estimation:
low_frequency_spectral_level -> M_0
through_source_model
RULE:
spectral_moment_estimation_requires_instrument_path_and_source_model
}
MAGNITUDE_CONVERSION_MODEL {
empirical:
M_target =
f(M_source)
REQUIRE:
source_scale
target_scale
calibration_dataset
magnitude_range
region
uncertainty
RULE:
magnitude_scale_conversion_is_empirical
and_MUST NOT be_treated_as_exact_identity
}
EVENT_MODEL {
attributes:
event_identifier
origin_time
hypocentre
focal_depth
magnitude_values
source_mechanism
uncertainty
RULE:
multiple_magnitude_values_for_same_event MAY coexist
when_scales_or_methods_differ
}
RELATIONSHIPS {
SeismicMagnitude -> CHARACTERISES -> EarthquakeSourceSize
SeismicMagnitude -> USES -> DeclaredMagnitudeScale
MomentMagnitude -> DERIVED_FROM -> SeismicMoment
SeismicMoment -> RELATES -> ShearModulusRuptureAreaAndSlip
LocalMagnitude -> DERIVED_FROM -> CorrectedAmplitudeAndDistance
BodyWaveMagnitude -> DERIVED_FROM -> BodyWaveAmplitudePeriodAndCorrection
SurfaceWaveMagnitude -> DERIVED_FROM -> SurfaceWaveAmplitudePeriodAndCorrection
InstrumentResponse -> MAPS -> RawCountsToGroundMotion
StationMagnitude -> CONTRIBUTES_TO -> NetworkMagnitude
AttenuationModel -> CORRECTS -> SourceReceiverPropagationEffect
SeismicMagnitude -> DISTINCT_FROM -> SeismicIntensity
}
SEMANTIC_EQUIVALENCE {
"earthquake magnitude" ~= seismic_magnitude WHEN scale_defined
"Mw" ~= moment_magnitude
"ML" ~= local_magnitude
magnitude != seismic_intensity
magnitude != ground_motion_amplitude
magnitude != peak_ground_acceleration
magnitude != seismic_energy
moment_magnitude != seismic_moment
local_magnitude != moment_magnitude
body_wave_magnitude != surface_wave_magnitude
station_magnitude != network_magnitude
}
CONSTRAINTS {
magnitude_is_dimensionless = true
magnitude_scale_must_be_defined = true
event_identity_should_be_defined = true
amplitude_definition_must_match_scale = true
distance_definition_must_match_correction = true
raw_seismometer_counts_require_instrument_response_correction = true
magnitude_and_intensity_are_not_semantically_equivalent = true
magnitude_and_energy_are_not_semantically_equivalent = true
magnitude_scale_conversion_is_not_exact_identity = true
uncertainty_should_include_waveform_distance_correction_and_aggregation_components = true
}
MEASUREMENT_MODEL {
OBSERVABLE_OR_INFERRED:
SeismicMagnitude
LocalMagnitude
BodyWaveMagnitude
SurfaceWaveMagnitude
MomentMagnitude
SeismicMoment
INPUTS:
waveform
amplitude
period
spectrum
distance
focal_depth
source_parameters
RECORD:
event_identifier
origin_time
latitude
longitude
focal_depth
magnitude_value
magnitude_scale
station_identifier
component
phase
amplitude
amplitude_unit
period
filter
distance
distance_definition
instrument
instrument_response
attenuation_model
station_correction
station_magnitudes
network_aggregation_method
calibration_version
quality_flag
uncertainty
provenance
UNCERTAINTY:
inferred_seismic_magnitude =
best_estimate +/- uncertainty
}
CALIBRATION_MODEL {
local_scale:
amplitude_distance_reference_relation
station:
station_correction
network:
scale_realisation_and_aggregation_protocol
moment:
spectral_or_waveform_source_model
REQUIRE:
calibration_dataset
valid_magnitude_range
region
version
uncertainty
RULE:
calibration MUST match_scale_region_and_measurement_method
}
UNCERTAINTY_MODEL {
sources:
waveform_noise
instrument_response
amplitude_measurement
period_measurement
phase_selection
distance
focal_depth
attenuation_model
station_correction
source_model
spectral_fit
station_variability
network_aggregation
scale_conversion
PROPAGATION:
seismic_magnitude_uncertainty
<- waveform_instrument_geometry_path_source_and_aggregation_uncertainties
}
REASONING_RULES {
IF seismic_moment_known AND seismic_moment > 0
THEN moment_magnitude =
(2/3)*(log10(seismic_moment)-9.1)
WHEN seismic_moment_is_in_N_m
under_common_convention
IF moment_magnitude_known
THEN seismic_moment =
10^(1.5*moment_magnitude+9.1)
N*m
under_same_convention
IF shear_modulus_rupture_area_and_average_slip_known
THEN seismic_moment =
shear_modulus*rupture_area*average_slip
IF valid_local_magnitude_amplitude_and_distance_known
THEN local_magnitude =
apply_local_magnitude_scale(amplitude,distance,station_correction)
IF valid_body_wave_amplitude_period_distance_and_depth_known
THEN body_wave_magnitude =
log10(amplitude/period)+body_wave_correction(distance,depth)
IF station_magnitudes_known
THEN network_magnitude =
aggregate(valid_station_magnitudes)
USING declared_aggregation_method
IF source_and_target_magnitude_scales_known
AND valid_empirical_conversion_available
THEN converted_magnitude =
conversion_model(source_magnitude)
preserving_conversion_uncertainty
IF raw_waveform_counts_known
THEN remove_instrument_response
BEFORE physical_amplitude_based_magnitude_inference
}
VALIDATION {
CHECK event_identity
CHECK magnitude_scale
CHECK dimensionless_semantics
CHECK magnitude_vs_intensity
CHECK magnitude_vs_ground_motion
CHECK magnitude_vs_energy
CHECK moment_magnitude_vs_seismic_moment
CHECK amplitude_definition
CHECK amplitude_unit
CHECK period_or_frequency_band
CHECK distance_definition
CHECK focal_depth
CHECK instrument_response
CHECK attenuation_model
CHECK station_correction
CHECK station_vs_network_magnitude
CHECK saturation_context
CHECK magnitude_conversion_model
CHECK calibration_version
CHECK quality_flag
CHECK uncertainty_representation
}
CONFIDENCE {
definition_confidence: 1.00
logarithmic_semantics_confidence: 1.00
moment_magnitude_relationship_confidence: 1.00
local_magnitude_relationship_confidence: 0.99
body_wave_relationship_confidence: 0.99
network_aggregation_confidence: 0.98
scale_conversion_confidence: 0.94
measurement_context_confidence: 0.98
RULE:
confidence decreases when scale, amplitude definition, distance,
instrument response, attenuation model, station correction,
aggregation method, calibration or uncertainty is missing or ambiguous
}
UPDATE_MODEL {
ON new_waveform_measurement:
identify_event
identify_station_component_and_phase
attach_instrument_response
correct_raw_waveform
measure_scale_appropriate_amplitude_and_period
attach_distance_and_depth
apply_attenuation_and_station_corrections
compute_station_magnitude
attach_quality_flag
attach_uncertainty
ON new_station_magnitude:
preserve_station_value
update_valid_station_set
recompute_network_magnitude
preserve_aggregation_method
update_network_uncertainty
ON source_model_update:
preserve_waveform_and_spectrum
update_source_model
recompute_seismic_moment
recompute_moment_magnitude
update_uncertainty
update_confidence
ON calibration_revision:
preserve_raw_measurements
preserve_previous_calibration
recompute_affected_magnitudes
update_uncertainty
update_provenance
ON scale_conversion:
preserve_original_magnitude_and_scale
attach_conversion_model
compute_target_scale_estimate
preserve_conversion_uncertainty
ON semantic_revision:
preserve_previous_definition
record_revision
recompute_FLOW_HASH
}
AI_CONSUMPTION {
canonical_domain: SeismicMagnitude
canonical_primary_scale_for_moment: MomentMagnitude
interpretation_order:
identify_event
identify_magnitude_value
identify_magnitude_scale
identify_station_or_network_value
identify_wave_type_phase_and_component
identify_amplitude_and_period_definition
identify_distance_and_focal_depth
identify_instrument_response
identify_attenuation_and_station_corrections
identify_source_model_when_moment_based
identify_saturation_context
identify_calibration_version
identify_quality_flag
identify_uncertainty
validate_scale_semantics
infer_magnitude_relationships
ambiguity_controls:
distinguish_magnitude_from_intensity
distinguish_magnitude_from_ground_motion_amplitude
distinguish_magnitude_from_peak_ground_acceleration
distinguish_magnitude_from_seismic_energy
distinguish_moment_magnitude_from_seismic_moment
distinguish_local_body_wave_surface_wave_and_moment_magnitudes
distinguish_station_from_network_magnitude
distinguish_direct_scale_value_from_empirical_scale_conversion
preserve_event_scale_station_phase_distance_correction_calibration_and_provenance_context
}
PROVENANCE {
ontology_scope:
mathematical_measurement_and_Earth_science_seismic_magnitude_semantics
parent_path:
Ontologies
-> Mathematical Ontologies
-> Measurement & Units Ontologies
-> Earth Science Measurements
-> Seismic Magnitude Ontology
authorship:
Mark Higgins
Sky (Recursive AI)
site:
https://kirethresearch.org
}
FLOW_HASH {
INPUTS:
canonical_domain
ontology_path
scale_model
logarithmic_model
moment_magnitude_model
seismic_moment_model
local_magnitude_model
body_wave_model
surface_wave_model
saturation_model
seismic_energy_model
intensity_distinction_model
ground_motion_distinction_model
instrument_response_model
amplitude_model
period_model
distance_model
depth_model
attenuation_correction_model
station_magnitude_model
network_magnitude_model
station_correction_model
spectral_model
magnitude_conversion_model
event_model
relationships
constraints
measurement_model
calibration_model
uncertainty_model
reasoning_rules
confidence_model
update_model
PURPOSE:
deterministic_semantic_integrity_identifier
RECOMPUTE_WHEN:
ontology_definition_changes
magnitude_scale_definition_changes
moment_or_source_model_changes
amplitude_period_or_distance_model_changes
attenuation_or_station_correction_changes
network_aggregation_model_changes
magnitude_conversion_model_changes
calibration_model_changes
measurement_model_changes
constraint_model_changes
reasoning_rule_changes
}
}
END FLOW
Download Code
Copy to Clipboard