rsseismic.Results module#
- class rsseismic.Results.Results(client: Client, modelId: str)#
Bases:
_ProxyObjectQuery computed analysis results for an open project.
Access via
model.Results. Aftermodel.runCompute(), uselistResultDatabasesorlistResultMotions()to discover valid profile and motion names, then fetch tabular data as pandasDataFrameobjects.Use
getResultDatabasePathto see which result files exist for a profile/motion pair before calling specialized queries (strain convergence, displacement animation, etc.).- getResultsRoot() str#
Return the folder where RSSeismic stores computed results for this project.
- listResultDatabases(profileName: str = '', onlyExisting: bool = False) list[ResultDatabaseInfo]#
List profile/motion pairs and their result file paths.
When
profileNameis empty, entries for all profiles are returned. WhenonlyExistingis True, only pairs whose main result database file exists on disk are included.Use the
motionNamevalues from these entries (or fromlistResultMotions) when calling result DataFrame methods — they may differ from names shown in the Motion view, especially for complementary analyses.
- getResultDatabasePath(profileName: str, motionName: str) ResultDatabaseInfo#
Return result file paths and availability flags for one profile and motion.
motionNamemust be a compute-aligned name fromlistResultDatabasesorlistResultMotionsafterrunCompute(). Check fields such asresultDatabaseExists,strainConvergenceExists, anddeconvolutionBedrockMotionExistsbefore calling related DataFrame methods.
- listResultMotions() list[ResultMotionSummary]#
List motion names available for result queries after compute.
Includes complementary motions when project settings add them (for example
ChiChi-ELderived from selected motionChiChi). Prefer these names over Motion-view labels when fetching results.
- listResultLayers(profileName: str) list[ResultLayerSummary]#
List layers that can be used with layer-scoped result queries for a profile.
Includes soil layers with result output enabled and the top-of-rock layer when bedrock output is configured.
- getTopOfRockLayerId(profileName: str) str#
Return the layer ID to use for top-of-rock result queries on a profile.
Raises ValueError when top of rock output is not available in
listResultLayers(profileName).
- getLayerTimeHistoryDataFrame(profileName: str, motionName: str, layerID: str) pandas.DataFrame#
Return layer time-history results as a pandas DataFrame.
Columns typically include time, acceleration, velocity, and related series for the given layer. For finite-element analysis, effective vertical stress may also be included.
motionNamemust be compute-aligned.layerIDcomes fromlistResultLayers(profileName)orlistSoilLayers()on the same profile. Column units are indataframe.attrs["column_units"]when available.
- getProfileResultsDataFrame(profileName: str, motionName: str) pandas.DataFrame#
Return profile-level summary results as a pandas DataFrame.
Provides depth-based summary columns for the profile (for example maximum strain by layer). Not available for deconvolution profiles — use layer-scoped methods instead.
motionNamemust be compute-aligned afterrunCompute().
- getResultSeriesDataFrame(profileName: str, motionName: str, kind: ResultSeriesKind, layerID: str = '') pandas.DataFrame#
Return one result chart series as a pandas DataFrame.
Pass a
ResultSeriesKindvalue forkind(for exampleMAX_STRAIN,PGA,ACCELERATION). Whenkind.requires_layeris True,layerIDis required — uselistResultLayers(profileName)to obtain valid IDs.motionNamemust be compute-aligned afterrunCompute().
- getStrainConvergenceDataFrame(profileName: str, motionName: str) pandas.DataFrame#
Return equivalent-linear strain convergence data as a pandas DataFrame.
Table columns show iteration and per-layer strain values. Requires equivalent-linear analysis and a computed strain-convergence file for the motion. Check
getResultDatabasePath(...).strainConvergenceExistsbefore calling.For complementary equivalent-linear runs, pass the complementary motion name (for example
ChiChi-EL).
- getRealTimeDisplacementDataFrame(profileName: str, motionName: str) pandas.DataFrame#
Return real-time relative displacement at each layer as a pandas DataFrame.
Requires the displacement animation option enabled in project settings and a standard result database for the motion.
- getAllStrainConvergenceDataFrames(profileName: str, *, skipErrors: bool = True) dict[str, pandas.DataFrame]#
Fetch strain convergence DataFrames for all motions on the Check convergence tab.
Uses the same motion list as that tab in the RSSeismic UI: primary equivalent-linear motions, plus complementary EL motions when that option is enabled. Each entry is loaded via
getStrainConvergenceDataFrame.When
skipErrorsis True (default), motions without convergence data are skipped instead of raising an error.
- getAllRealTimeDisplacementDataFrames(profileName: str, *, skipErrors: bool = True) dict[str, pandas.DataFrame]#
Fetch real-time displacement DataFrames for all result motions on a profile.
Uses the same motion list as the displacement animation tab. Requires the displacement animation project setting. When
skipErrorsis True (default), motions without data are skipped instead of raising an error.
- getAllResultSeriesDataFrames(profileName: str, kind: ResultSeriesKind, motionTypeFilters: Sequence[ResultMotionType] | None = None, layerIds: Sequence[str] | None = None, *, skipErrors: bool = True) dict[str, pandas.DataFrame] | dict[tuple[str, str], pandas.DataFrame]#
Fetch one result series kind for many motions (and layers when required).
Returns a dict keyed by motion name for profile-level series, or by
(motion_name, layer_id)whenkind.requires_layeris True.motionTypeFilterslimits which motion variants are included (standard, complementary equivalent-linear, complementary nonlinear total stress). PassNoneor an empty sequence to include all types.layerIdslimits layer-scoped series. When omitted or empty andkindrequires a layer, all layers fromlistResultLayers(profileName)are used.When
skipErrorsis True (default), missing combinations are skipped instead of raising an error.