Skip to content
Snippets Groups Projects
rtgm-response.model.ts 1.45 KiB
Newer Older
  • Learn to ignore specific revisions
  • Clayton, Brandon Scott's avatar
    Clayton, Brandon Scott committed
    import {Response} from '../../nshmp-ws-utils';
    
    /**
     * RTGM calculation response.
     */
    export type RtgmCalcResponse = Response<RtgmRequestData, RtgmResponseData>;
    
    export interface RtgmRequestData {
      hazard_curves: RtgmHazardCurveRequest[];
      building_code: string;
    }
    
    export interface RtgmHazardCurveRequest {
      label: string;
      iml: number[];
      afe: number[];
    }
    
    export interface RtgmResponseData {
      riskTargets: RiskTargets;
      summary: Record<string, RtgmSummary>;
      RTGM: Record<string, Rtgm>;
    }
    
    export interface RiskTargets {
      UH_retPeriod: number;
      condCollapseProb: number;
      beta: number;
      tgtCollapseRisk_T: number;
      timeHorizon_Yr: number;
      riskTgt_Annual: number;
      BldgCode: string;
    }
    
    export interface RtgmSummary {
      uhgm: number;
      rtgm: number;
      riskCoeff: number;
      colRisk_annual: number;
      timePeriod: number;
      colRisk_T: number;
    }
    
    export interface Rtgm {
      riskTargets: RiskTargets;
      rawHaz: RtgmRawHaz;
      rtgmCalc: RtgmCalc;
    }
    
    export interface RtgmRawHaz {
      iml: number[];
      afe: number[];
    }
    
    export interface RtgmCalc {
      uhgm: number;
      rtgm: number;
      riskCoeff: number;
      upsampledHazCurve: RtgmUpsampledHaz;
      iterations: RtgmIteration[];
    }
    
    export interface RtgmUpsampledHaz {
      imlUP: number[];
      afeUP: number[];
    }
    
    export interface RtgmIteration {
      iter: number;
      rtgmGuess: number;
      frCDF: number[];
      frPDF: number[];
      hazXpdf: number[];
      colCDF: number[];
      colCDF_Yr: number[];
      colRisk_Annual: number;
      colRisk_Yr: number;
    }