import { FDSNCommon } from "./fdsncommon.mjs"; import { Station, Channel } from "./stationxml.mjs"; import { Quake } from "./quakeml.mjs"; export declare const USC_HOST = "www.seis.sc.edu"; export declare const TEXT_FORMAT = "text"; export declare const JSON_FORMAT = "json"; export declare const SVG_FORMAT = "svg"; /** const for service name */ export declare const TAUP_SERVICE = "taup"; export declare const TAUP_TIME_TOOL = "time"; export declare const TAUP_PATH_TOOL = "path"; /** * Type for json returned by iris traveltime web service * */ export type TauP3TimeJsonType = { model: string; sourcedepthlist: Array; receiverdepthlist: Array; phases: Array; source?: TraveltimeAmpSourceType; arrivals: Array; }; export type TraveltimeAmpSourceType = { withAmplitude: boolean; mw: number; attenuationFreq: number; numFrequencies: number; strikeDipRake?: Array; }; export type TraveltimeArrivalType = { sourcedepth: number; receiverdepth: number; distdeg: number; phase: string; time: number; rayparam: number; takeoff: number; incident: number; puristdist: number; puristname: string; amp?: TraveltimeAmplitudeType; }; export type TraveltimeAmplitudeType = { factorpsv: number; factorsh: number; geospread: number; attenuation: number; freeFactor: number; radiationPattern: Array; radiationTerm: number; mgtokg: number; refltranpsv: number; refltransh: number; source: { Mw: number; attenuationfreq: number; }; }; /** * Verifies that JSON matches the types we expect, for typescript. * * @param v JSON object, usually from the traveltime web service * @returns true if matches expected structure */ export declare function isValidTauP3TimeJsonType(v: unknown): v is TauP3TimeJsonType; export declare function isValidTraveltimeArrivalType(v: unknown): v is TraveltimeArrivalType; /** * Creates a fake arrival for the origin time, useful to display a flag * at origin time similar to the P and S arrival. * @param distdeg earthquake to station distance, in degrees * @returns an arrival for the origin */ export declare function createOriginArrival(distdeg: number): TraveltimeArrivalType; /** * Query to a TauP v3 webservice, based on the TauP Toolkit. See * https://taup.readthedocs.io/en/latest/ and * https://www.seis.sc.edu/TauP/ * * @param host optional host to connect to, defaults to USC */ export declare class TauPQuery extends FDSNCommon { /** @private */ _evdepth: Array | undefined; /** @private */ _distdeg: Array | undefined; /** @private */ _model: string | undefined; /** @private */ _phases: string | undefined; /** @private */ _stalat: number | undefined; /** @private */ _stalon: number | undefined; /** @private */ _receiverdepth: Array | undefined; /** @private */ _evlat: number | undefined; /** @private */ _evlon: number | undefined; /** @private */ _format: string; /** @private */ _noheader: boolean; constructor(host?: string | null); protocol(value?: string): TauPQuery; getProtocol(): string | undefined; host(value?: string): TauPQuery; getHost(): string; /** * Gets/Sets the remote port to connect to. * * @param value optional new value if setting * @returns new value if getting, this if setting */ port(value?: number): TauPQuery; getPort(): number | undefined; pathBase(value?: string): TauPQuery; getPathBase(): string; /** * Gets/Sets the nodata parameter, usually 404 or 204 (default), controlling * the status code when no matching data is found by the service. * * @param value optional new value if setting * @returns new value if getting, this if setting */ nodata(value?: number): TauPQuery; getNodata(): number | undefined; specVersion(value?: string): TauPQuery; getSpecVersion(): string | undefined; evdepth(value?: number | Array): TauPQuery; evdepthInMeter(value?: number | Array): TauPQuery; getEvdepth(): Array | undefined; distdeg(value?: number | Array): TauPQuery; getDistdeg(): Array | undefined; model(value?: string): TauPQuery; getModel(): string | undefined; phases(value?: string): TauPQuery; getPhases(): string | undefined; stalat(value?: number): TauPQuery; getStalat(): number | undefined; stalon(value?: number): TauPQuery; getStalon(): number | undefined; latLonFromStation(station: Station): TauPQuery; receiverdepth(value?: number): TauPQuery; receiverdepthInMeter(value?: number): TauPQuery; receiverdepthFromChannel(channel: Channel): TauPQuery; getReceiverdepth(): Array | undefined; evlat(value?: number): TauPQuery; getEvlat(): number | undefined; evlon(value?: number): TauPQuery; getEvlon(): number | undefined; latLonFromQuake(quake: Quake): TauPQuery; format(value?: string): TauPQuery; getFormat(): string | undefined; noheader(value?: boolean): TauPQuery; getNoheader(): boolean | undefined; /** * Get/Set the timeout in seconds for the request. Default is 30. * * @param value optional new value if setting * @returns new value if getting, this if setting */ timeout(value?: number): TauPQuery; getTimeout(): number | undefined; queryText(): Promise; queryJson(): Promise; querySvg(): Promise; query(): Promise; /** * Forms the basic URL to contact the web service, without any query paramters * * @returns the url */ formBaseURL(): string; formURL(toolname?: string): string; queryTauPVersion(): Promise; formTauPVersionURL(): string; } export declare const FAKE_EMPTY_TEXT_MODEL = "Model: "; export declare const FAKE_EMPTY_TEXT_HEADERS = "\nDistance Depth Phase Travel Ray Param Takeoff Incident Purist Purist\n (deg) (km) Name Time (s) p (s/deg) (deg) (deg) Distance Name\n-----------------------------------------------------------------------------------\n"; export declare function createEmptyTraveltimeJson(ttquery: TauPQuery): TauP3TimeJsonType; export declare const FAKE_EMPTY_SVG = "\n\n\n\n \n\n\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n"; //# sourceMappingURL=taup3.d.mts.map