-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnetvisa.blog
53 lines (41 loc) · 1.61 KB
/
netvisa.blog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
type Event; type Station; type Detection; type Phase;
nonrandom R3Vector StationLocation(Station);
nonrandom Real StartTime;
nonrandom Real EndTime;
nonradnom Boolean StationIsUp(Station, Real);
nonrandom Boolean EarthModel_InRange(R3Vector, Phase, Station);
nonrandom Real EarthModel_ArrivalTime(R3Vector, Real, Phase, Station);
nonrandom Real EarthModel_ArrivalAzimuth(R3Vector, Phase, Station);
nonrandom Real EarthModel_ArrivalSlowness(R3Vector, Phase, Station);
nonrandom Boolean EarthModel_TimeDefPhase(Phase);
random R3Vector EventLocation(Event);
random Real EventTime(Event);
random Real EventMag(Event);
random Boolean IsDetected(Event, Station, Phase);
origin Event Source(Detection);
origin Station Destination(Detection);
origin Phase TruePhase(Detection);
#Event ~ NumEventPrior["parameters/NumEventPrior.txt", EndTime - StartTime];
EventLocation(e) ~ EventLocationPrior["parameters/EventLocationPrior.txt"];
EventTime(e) ~ Uniform[StartTime, EndTime];
EventMag(e) ~ EventMagPrior["parameters/EventMagPrior.txt"];
IsDetected(e, s, p)
{
if EarthModel_InRange(EventLocation(e), p, s)
& EarthModel_ArrivalTime(EventLocation(e), EventTime(e),p, s) < EndTime
& StationIsUp(s, EarthModel_ArrivalTime(EventLocation(e), EventTime(e),p, s))
then
~ EventDetectionPrior["parameters/EventDetectionPrior.txt"]
(s, p, EventMag(e), EventLocation(e))
else
= false
};
#Detection(Source = e, Destination = s, TruePhase = p)
{
if IsDetected(e, s, p) then
= 1
else
= 0
};
guaranteed Station Station[117];
guaranteed Phase Phase[17];