forked from ut-beg-texnet/NonLinLoc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGE_NOTES.txt
543 lines (310 loc) · 31.2 KB
/
CHANGE_NOTES.txt
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
09OCT2000 NLLoc - added grid memory management, program keeps and re-uses grids in memory while there is space.
02OCT2000 Grid2GMT - added mechanism plotting.
16OCT2000 Grid2GMT - added residual plotting.
16OCT2000 NLLoc - added max difference of S-P to VpVs output.
17OCT2000 NLLoc - bug fix in HuttonBoore mag calculation - epicentral and not hypocentral distance was used for r in K(r-100) term; changed to hypocentral distance.
NOV2000 NLLoc - added Octtree importance sampling
11JAN2001 NLLoc - added temporary fix (if yr < 20, yr += 100) to HYPO71 Y2K problem
11JAN2001 NLLoc - added STAT_GEOG line to summary hyp output
FEB2001 NLLoc - Added copying of last event location files to last.hyp and last.hdr
11JUL2002 NLLoc - Removed copy of aliased station label to original station label (IRSN)
18JUL2002 NLLoc - Added SAVE_ALBERTO_3D_4 format output
18JUL2002 Time2EQ - Added station active probability
18OCT2002 NLLoc - Fixed bug in OctTree scatter sample: sample truncated at requested number of points.
19FEB2003 Grid2GMT - extended plot height to 27.9 cm.
20FEB2003 Grid2GMT - fixed bug in MAPTRANS: transformation was not initialized or applied correctly
19MAR2003 NLLoc - ML Hutton Boore, added optional Ro and Mo parameters: # ML_HB amp_fact n K [Ro [Mo]]
20MAR2003 Grid2GMT - added magnitude to hypocenter info line in plot title
21MAR2003 Grid2GMT - Fixed bug with magnitude assignments when only 1 mag type present
21MAR2003 Grid2GMT - Fixed bug hypoinverse format (magnitudes), removed error ellipse values to prevent column shifting
15APR2003 Grid2GMT - Fixed bug in ETH_LOC: format of arrival->sec
26AUG2003 NLLoc - HYPO71, HYPO71_OV, HYPOELLIPSE phase input format: added coda_dur reading
02Dec2003 NLL - TRANS GLOBAL transform mode added.
02Dec2003 NLL - LOCSRCE/GTSRCE added added.
02Dec2003 NLL - smallestNodeSide is now x/y/z.
15Dec2003 NLL - LOCFILES: added optional iSwapBytes flag
18Dec2003 NLL - rejected arrivals are written to output location files
18Dec2004 NLL - Added LOCMETH = EDT
05Jan2004 NLL - Fixed bug in identifying maximum likelihood point when PDF is everywhere near 0
02Feb2004 NLL - Activated LOCSEARCH OCT min_node_size (always in km).
04Feb2004 NLL - Added support for arrivals without absolute timing (indicated by '*' as first character of INST, used for misfit with EDT only)
11Feb2004 NLL - Added copying of control file to output directory
10Mar2004 NLL - Fixed bug in station azimut in NLL Phase output, was not corrected for coord system rotation angle
New version 3.03 posted to web =================================
01Jul2004 NLL - Added output of total station corrections to file *.stat_totcorr
01Jul2004 MergeFpfit - Added new utility to merge fpfit summary file into NLL hypo-phase file
02Jul2004 Grid2GMT - Fixed bug in Focal Mech plotting, was rotated 90 to far CW
02Jul2004 NLL - Fixed bug: some files were "closed" with close() instead of fclose()
09Jul2004 NLL - Added boundary indexing in "max prob location on grid boundary" message (10,11,20,21,30,31 -> x,y,z orig/end boundary)
03Aug2004 NLL - Added LOCMETH minimum_dist_sta_to_grid
13Sep2004 NLL - Fixed bug: gap was calculated using 0 weight readings, now uses only readings with weight > 0.001
09Nov2004 NLL - Added LOCELEVCORR: Flag VelP VelS
12Nov2004 NLL - When 2D DEFAULT grids are used and multiple stations use same grid, only one copy of each grid file is kept in memory.
01Dec2004 NLL - Added output of station delay to PHASE list in NLL Hypo-Phase format
01Dec2004 NLL - NLL will first try to open travel-time file with name corresponding to raw phase name,
if this fails, it will then try using phase name mapping from LOCPHASEID
(previously, NLL always used phase name mapping from LOCPHASEID, if present)
01Dec2004 NLL - Checking for duplicate phases limited to checking for duplication of station name (after
aliasing) and duplication of original phase name
13Dec2004 NLL - Added Obs Formats: ISC_IMS1.0, CSEM_GSE2.0
20Jan2005 NLL - Fixed bug: ERH and ERZ values in hypo17 output were reversed
Anthony:
Under "Utilities" when discussing parameters for fpfit2hyp, you have a
parameter "GapMax" which has a default of 360. Your statement explaining
it is "maximum RMS misfit for event selection." It seems to me more likely
that this parameter is intended to define maximum azimuthal station gap
(in degrees) instead. Si?
thanks,
Charlotte
Apr2005 NLL - Added LOCSTAWT, LOCDELAY_SURFACE
New version 4.00 posted to web =================================
14Sep2005 NLL - bug? In function ConstWeightMatrix added ncol == nrow case so error is non-zero
(previously, if CorrLen == 0, travel time error was zero instead of sigmaT2)
26Sep2005 NLL - bug? In function NLLocLib.c:StdDateTime() : arrivals with no predicted travel-time
(travel-time = 0) were used to calculate rms - gave very large rms
10Oct2005 NLL - Added parameters to LOCPHSTAT to allow filtering on ellipsoid max len axis and on hypo depth.
(float) Ell_Len3_Max : max ellipsoid major semi-axis length to include in ave res
(float) Hypo_Depth_Min : min hypo depth to include in ave res
(float) Hypo_Depth_Max : max hypo depth to include in ave res
24Oct2005 NLL - Added LOCMETH EDT_OT_WT - Weights EDT-sum probabilities by the variance of OT estimates over all pairs of readings. This reduces the probability (PDF values) at points with inconsistent OT estimates, and leads to more compact location PDF's.
08Nov2005 NLL - Added SAVE_NLLOC_OCTREE to LOCHYPOUT parameters to allow saving of oct-tree structure to disk when LOCSEARCH OCT used.
15Nov2005 NLL - Change: normalized sum of edt probs now not-normalized - favors solutions with more readings
23Nov2005 NLL - Added use_stations_density flag to LOCSEARCH OCT params. Weights oct-tree cell prob values used for subdivide decision in proportion to number of stations in oct-tree cell. Gives higher search priority to cells containing stations, stablises convergence to local events when global search used with dense cluster of local stations.
25Nov2005 NLL - Fixed bug: addition to and counting of stations in station list was incorrect, may have affected .stations files and LOCSTAWT
03Mar2006 NLL - Added stop_on_min_node_size flag to LOCSEARCH OCT params- if 1, stop search when first min_node_size reached, if 0 stop subdividing a given cell when min_node_size reached. Gives ?.
New version 4.10 posted to web =================================
Apr2005 NLL - LOCDELAY_SURFACE (not added to 4.10 doc)
15Jun2006 NLL - now allow crossing of year boundary by readings (requires that first reading is earlier year, etc...)
15Jun2006 NLL - Fixed bug: hypocenter file name now has integer count index added only if identical to previous file name
19Jun2006 NLL - SAVE_HYPOINVERSE_Y2000_ARC Hypoinverse Y2000 archive format added. Default changed from SAVE_HYPOINV_SUM to SAVE_HYPOINVERSE_Y2000_ARC
29Jun2006 NLL - Added: ArrivalDesc -> double apriori_weight, a priori weight of datum
29Jun2006 NLL - Added: LOCHYPOUT->NLL_FORMAT_VER_2: fields apriori_weight, delay
30Jun2006 NLL - Added: apriori_weight in location: if 0 ignore, if 1 use arrival
12Jul2006 GridLib.h - ARRIVAL_LABEL_LEN changed from 7 to 21. NLL Phase format output (WriteArrival()) unchanged at 6 chars max.
19Jul2006 NLL - Fixed bug: LOCSEARCH GRID : travel times did not include eleveation correction LOCELEVCORR
28Aug2006 NLL - Utility grid2asc created (add to distribution?)
20Oct2006 NLL - Added: LOCSEARCH mean_cell_velocity
20Oct2006 NLL - Added: With LOCMETH EDT_OT_WT, hypo.rms is set to sqrt( ottime maximum likelihood variance ) - rms is thus weighted the same as ot weighting used for location pdf.
23Oct2006 NLL - Fixed bug: prtree value may not be same as pnode value * volume, corrected value in OctTree integral (integrateResultTree) and scatter generation (getScatterSampleResultTree) (may not affect final results)
28Oct2006 NLL - Change: With all LOCMETH EDT*, final otime, residuals, etc. always calcualted with ET_OT_WT_ML - maximum likelihood otime.
01Mar2007 NLL - Added: TRANS SDC transform mode added. (Short Distance Coversion projection)
24Mar2007 NLL - Added: LOCGAU2 travel-time dependent error
LOCGAU2 sets the travel time error in proportion to the travel time, thus giving effectively a station-distance weighting, which was not included in the standard Tarantola and Valette formulation used by LOCGAU. This is important with velocity model errors, because nearby stations would usually have less absolute error than very far stations, and in general it is probably more correct that travel time error is a percentage of the travel time. I have only used this a few times, since I just added it a couple of months ago, but the results indicate that this way of setting travel time errors gives visible improvement in hypocenter clustering. Currently, this option only works with EDT.
The parameter is as follows:
travel-time dependent gaussian model error parameters
(LOCGAU2 SigmaTfraction (s), SigmaTmin (s), SigmaTmax (s))
travel time error is travel_time*SigmaTfraction, with max/min value = SigmaTmin/SigmaTmax
LOCGAU2 0.05 0.01 2.0
The above example sets the travel time error to 5% of travel time, with hard limits at 0.01 and 2.0 sec.
LOCGAU is only used for scaling of the pdf values when LOCGAU2 is set.
24Mar2007 NLL - Change: EDT weight is now a-posteriori weight = prior weight (with possible LOCGAU2 error) * EDT probability
24Mar2007 NLL - Added: LOCHYPOUT->NLL_FORMAT_VER_2: fields tt_error
May2007
> Hi Anthony,
>
> Might want to check your documentation on the scat file format -
> specifically the header.
>
> 4 floats, first float is the of points (strange choice - float)
>
> in reality, the header fills the space reserved for 4 floats, but its
> an int and a float. as you know.
Yes, the first write to the header (and read assumed) is an int and the second (undocumented!) is a float. Looks like I modified the scat file i/o long after I wrote the doc. I will write myself a note to correct this when I next update the web pages...
-Paul
18May2007
On a related note, I am wondering if the documentation is describing SAzim
correctly! There it says: "SAzim (float*6.2) --> Maximum likelihood hypocenter
to station epicentral azimuth in degrees CCW from North". Is it really
measuring the angle CCW (counter-clock wise), or CW (clock wise)? To me it
seems that it is measuring the AZIMUTH (clockwise from North) of the line from
the event to the station (in that direction)....
-Sudipta.
30Jul2007 NLLoc - Added: LOCTOPO_SURFACE topo surface file in GMT ascii GRD format used to mask prior search volume to space below topography
31Jul2007 Time2EQ - Fixed bug: new function AddNoise treats S with VpVs correctly
xxxxxxxxxxxxxxxxxx 20080902 stopped
17Dec2007 NLLoc - Added: NLLoc main() converted to function NLLoc(). Returns list of Location's in LocNodes's (see NLLoc1.c and phaseloclist.h)
19Dec2007 NLLoc - Added: Test likelihood method ML_OT
08Jan2008 NLL - Added: LOCHYPOUT->NONE
28Apr2008 NLLoc - Added parameter to LOCPHSTAT to allow filtering hypo distance from each station.
(float) Hypo_Dist_Max : max hypocenter (expectation) distance from each station to include in ave res
10Jul2008 NLL - Added: message_flag = -1 -> completely silent
18Jul2008 NLL - Added: TRANS NONE transform mode added. (no projection, XYZ<->XYZ)
New version 5.00 posted to web =================================
Following not added to 5.00 doc :
Apr2005 NLLoc - LOCDELAY_SURFACE
28Aug2006 NLL - Utility grid2asc created (add to distribution?)
20Oct2006 NLLoc - Added: LOCSEARCH mean_cell_velocity
19Dec2007 NLLoc - Added: Test likelihood method ML_OT
29Oct2008 NLLoc - Fixed bug: WriteHypoInverseArchive for Y2000 : Uninitalized site, network, and component codes were written as "?" instead of " " (blank).
01Jan2009 NLLoc - Fixed bug: Reading HYPO71 and HYPOINVERSE type phase files : Failed to correctly distinguish ineger and floating point phase seconds fields correctly if seconds < 1.00.
12Aug2009 NLLoc - Fixed bug: Inconsistent treatment of zero weight, ignored and large error (>9998sec) phases in location and output. Now: 1) Phases with phase name starting with "*", PriorWt = 0, ErrMag > 9998.0 or excluded (LOCEXCLUDE) are not used for location, their Weight will be 0. 2) Phases with Weight = 0 are not used to compute the QUALITY measures: Nphs, Gap or Dist.
15Jun2006 NLLoc - Added: LOCHYPOUT->FILENAME_DEC_SEC format; uses decimal seconds precision for hr/min/sec component of output event filename.
10Sep2009 Vel2Grid - Add to doc: The 2D grids represent the travel times from each station, with the source at the position 0,0,z_station in the grid; thus the Velocity grid (which serves as a template for the travel time grid) must have orig_grid_x/y = 0. For 2D grid (1D models) the position in geographic space is controlled by the xy location of the grid in LOCGRID and by the TRANS control statements. For 3D grids, the position is also controlled by the VGGRID statement.
04Feb2010 Time_3d.c - Corrected 2 statements with no effect: Time_3d.c:1701, Time_3d.c:1713.
04Feb2010 NLLoc - Fixed bug: ERH and ERZ values in hypo71 output were not correctly calculated: were squared distance, corrected to be distance
18Feb2010 NLLoc - Fixed bug: Global mode ellipsoid did not correct for reduction of length of degree of longitude away from equator (see GridLib.c - CalcCovarianceSamplesGlobal())
12May2010 NLLoc - Added: Replaced old matrix libraries with open source matrix libraries. Used for SVD (singular-value decomposition for error ellipsoid calculation) and Gauss-Jordan elimination (matrix inversion).
18May2010 NLLoc - Added: Hypocenter->gap_secondary
21May2010 NLLoc - Added: QML_OriginQuality, QML_OriginUncertainty in NLL Hypocenter-Phase format.
21May2010 NLLoc - Fixed bug: Free StaStatNode's in station statistics tables when all locations completed - prevents memory leak problems when NLLoc run as a function call.
16Jun2010 NLL - Added compiler option GRID_FLOAT_TYPE_DOUBLE to set the floating point size (float or double) for NLL grids - modify with care! Normal NonLinLoc usage currenlty require float type; take-off angle and byte-swapping support requires float type.
17Jun2010 NLLoc - Added: // SED-ETH fields added for compatibility with legacy SED location quality indicators. SED_Origin added to NLL-Hypocenter output format if LOCHYPOUT->CALC_SED_ORIGIN flag specified.
13Sep2010 NLL - Fixed bug: NLLocLib.c->ReadNLLoc_Input() fixed segmentation fault when NLLoc run as a function call and INCLUDE statements present in control lines.
04Oct2010 NLLoc - Fixed bug: Oct-tree search was not intitialized to bottome of LOCSEARCH grid, bottom LOCSEARCH grid layer was lost.
05Oct2010 NLLoc - Added: LOCMETH OT_STACK
05Oct2010 Grid2Time - Added: Slowness model grids saved to output time grid directory. Used for LOCMETH OT_STACK, etc.
21Oct2010 NLLoc - Fixed bug: Station distribution weights may be incorrectly calculated when multiple events located.
29112010 NLLoc - Fixed bug: fixed various problems with not freeing memory pointers in station statistics table
09Dec2010 NLLoc - Fixed bug: addToStationList returned zero stations when station list reached maximum size.
27Dec2010 NLLoc - Fixed bug: corrected irregular node spacing for OctTree initialization in GLOBAL mode.
13Jan2011 NLLoc - Fixed bug: matrix cleanup was done in incorrectly inside the Locate loop, caused LOCSEARCH GRID to fail with multiple grids.
15Feb2011 NLLoc - Fixed bug: covariance calculation with LOCSEARCH GRID could fail due to precision problem if x, y, or z coordinated of location were large.
New version 6.00 posted to web =================================
Following not added to 6.00 doc :
05Oct2010 NLLoc - Added: LOCMETH OT_STACK
20110511 NLLoc - Added to doc: in LOCMETH: (int) flag indicating if duplicate arrivals used for location (1=reject, 0=use if time diff < sigma / 2) ; duplicate arrivals have same station label and phase name
20110601 NLLoc - Take-off angle default/unset values for dip and azimuth set to -1.0 so unset angles can be more easily identified in later processing (e.g. in SeisComp3).
20120521 NLL - Added utilities Vel2Grid3D, interface2fmm, fmm2grid to support creating NLL travel time grids using ANU-FMM multi-stage 3D fast marching code (http://rses.anu.edu.au/seismology/soft/fmmcode/).
20120724 Time2Angles - Added new utility Time2Angles to convert NLL travel time grids to NLL angles grids.
20120724 NLLoc - Fixed bug: LOCMETH GAU_ANALYTIC: adde a check and reject hypocenter location points where there are no valid travel-times available.
20130108 scat2latlon - Added new utility scat2latlon to convert binary PDF scatter sample files *.scat to ascii files with lines containing lat/lon/depth/0/non-normalized_likelihood for each sample.
20130228 NLLoc - Fixed bug: Hypocenter-Phase outputs in HypoEllipse and Hypo71 format: all phases used for location were not printed, changed so that all phases are printed, regardless of location weight.
20130314 NLLoc - Fixed bug: Changed HypoDesc->probmax from double to long double, to help avoid overrange in probmax value.
20130326 NLLoc - Fixed bug: ArrivalDesc->original_obs_index was not set properly to mirror arrival index in observation file when duplicate arrivals are rejected.
20130327 NLLoc - Fixed bug: Calculated hypocenter to station azimuth in GLOBAL mode was incorrect for some azimuth quadrants.
20130413 NLLoc - Fixed bug: Memory for 3D travel-time grids read into memory (see LOCMETH) was not properly freed.
20130627 NLLoc - Fixed bug: Bugs in station distribution weighting, changed cross-arrival weighing from sum to product (see LOCSTAWT).
20130627 NLLoc - Added support for non-zero and non-unity arrival a-priori weighting (NLL_FORMAT_VER_2). Before, arrivals with zero a-priori weights were rejected, otherwise a-priori weight = 1.0 was used. Now, a-priori weights are used in proportion to their values.
20130628 NLLoc - Added observation file name and program version date to SIGNATURE line in NLL hypocenter-phase file.
20131015 Add to doc: On 2013/10/15 15:29, Jana Doubravova wrote:
> Dear Anthony Lomax,
> I am writing to inform you that we managed to compile and run NLLoc on Windows system.
> I don't know how much valuable information is it for you, but I think it might be interesting for
> potential NLLoc users on Windows. We did it using NetBeans and Cygwin. It is working for win32
> (tested on windows xp) and win64 (tested on windows 7) systems. Attached you can find the .exe
> files. It requires Cygwin installed (32bit version) and the cygwin1.dll (part of Cygwin usualy found
> in cygwin\bin directory) manually copied to \system32 (for 32bit) or \sysWOW64 (for 64bit)
> - there is possibly better way to do it but my "add-to-system-path" attempts failed.
> Then NLLoc could be run using standard command line. If the argument
> includes path it must be in the linux way (like D:\NLLoc>src\nlloc nll/nll.in). Paths in .in file must be
> in cygwin format (like /cygdrive/d/...). I hope this could help someone searching for a good
> location software for windows.
> Best regards
> Jana Doubravova
>
> Institute of Geophysics ASCR
> Bocni II/1401
> 141 31 Prague 4
> Czech Republic
20131024 Added to doc:
VGGRID: Doc is correct for a 3D grid, but for a 2D grid xNum=2 and xOrig=yOrig=0.0 since a 2D grid represents a 1D model and is invariant with respect to translations in x or y.
LOCGRID: Doc is correct when using 3D and 2D models and travel time grids, for 2D velocity and travel-time grids LOCGRID should be 3D and positioned absolutely in space, thus xNum >> 2 and xOrig and zOrig are in general != 0.0
20140220 OctTree - Fixed bug: calculation of integrals and scatter sample for value_type == VALUE_IS_PROBABILITY_IN_NODE. (NLLoc does NOT use this mode, it uses value_type == VALUE_IS_LOG_PROB_DENSITY_IN_NODE.)
201401-04 Grid2GMT - Minor bug fixes.
201405 NLDiffLoc - Added L1 norm (LocMethod == METH_L1_NORM).
20140530 NLLoc - Fixed bug: HYPO71 phase format S phases were not correctly read (60sec error) when there was no decimal point in the time field.
20141030 NLLoc - Bug fix: matrix_statistics/matrix_statistics.c: CalcCovarianceSamples*():
Implemented new algorithm which subtracts the expectation from each data value before squaring and summing,
instead of correcting for expectation after summing and dividing by nSamples.
Should prevent precision errors in covariances when expectation is far from coordinates origin.
Applies to: LOCSEARCH MET and LOCSEARCH OCT
The algorithm for calculating the covariance of the PDF scatter sample used in NLLoc
was subject to precision errors when the expectation of the scatter sample (e.g. the event location)
was far from the origin of the NLL coordinates system relative to the extent of the PDF scatter sample.
Several tests indicate that "Far from the origin" is of the order of 1000 times the extent of the PDF scatter sample.
Errors in covariance will affect the ellipsoid and ellipse, standard-errors (erh, erz, etc.).
For teleseismic locations (NLL GLOBAL mode) errors with the old algorithm occur primarily in
longitude (X), increasing with expectation longitude and occasionally becoming large towards longitude +/-180deg.
For local studies in rectangular coordinates where the NLL coordinates origin is far from the network
and target sources, the errors may be large. This may be the case, for example, for a micro-seismic study
using a regional, metric-based cartesian grid coordinate system with origin far from the study area.
For local studies in rectangular coordinates where the NLL coordinates origin is within or near the network
and target sources, the errors should be very small or negligible.
The algorithm for calculating the covariance of the PDF scatter sample used in NLLoc v.6.03.00 and later does not
have these precision errors and is valid for locations far from the origin of the coordinate system.
20141107 NLLoc - New version of matrix_statistics/matrix_statistics.c: CalcCovarianceSamplesGlobal() which calculates x and y coords using distance and azimuth of each sample from expectation x,y. Centers x,y and avoids problems near poles.
20150324 NLLoc - Added: LOCMETH L1_NORM
20150602 NLLoc - Added: QML_ConfidenceEllipsoid in NLL Hypocenter-Phase format, and supporting conversion nllEllipsiod2QMLConfidenceEllipsoid() in matrix_statistics.c.
20150602 NLDiffLoc - Fixed bug: station and ray values (SDist SAzim RAz RDip RQual) in *.hyp file did not always correspond to hypocenter for *.hyp file.
20151106 NLDiffLoc - Fixed bug: inconsistency in conversion of degrees to km: now all conversions deg<->km are made on a sphere with average Earth radius 6371 km. In GLOBAL mode this change can lead to small but not necessarily insignificant changes in station distances, travel-times and hypocenter.
20151106 AJL - Changed km/deg scaling to be based on sphere with radius 6371, average Earth radius, instead of 90deg/10000km.
20160726 NLL - Added: TRANS TRANS_MERC transform mode added. (Transverse Mercator projection)
20160805 NLLoc: fixed bug in associating S with P from same station when LOCMETH VpVs used, in some cases location would abort because P travel time grid for S picks not found
20160920 NLLoc - Added SAVE_FMAMP format output to LOCHYPOUT parameters, fmamp hypocenter-phase file
20160927 NLLoc - Added use of spherical oct-tree structure in GLOBAL mode if SAVE_NLLOC_OCTREE not used (does not yet support spherical trees). Spherical oct-tree structure uses fewer cell in longitude towards the poles to preserve average cell volume. Number of cells in longitude is proportional to cos(latitude).
20161013 NLLoc - Bug fix: with LOCMETH: When LOCSTAWT is active the station dist weight was counted twice for determining the maximum likelihood origin time. Fixed.
20161027 NLLoc - Added NLL cascading, multi-scale, 3D grid structure. A NLL cascading grid has a doubling of cell size at specified depths. This reduces greatly the storage and memory requirement for large, 3D grids. A NLL grid can be converted from a regular grid to cascading grid with new tool GridCascadingDecimate. Typically, a 3D velocity model and travel times will be constructed using a regular grid to maintain precision; as a last step, the travel-time grids are converted to cascading grids for storage and location.
20170811 NLLoc - Added SAVE_NLLOC_EXPECTATION format output to LOCHYPOUT parameters, allows saving of expectation hypocenter results instead of maximum likelihood.
Added to NLLoc Hypocenter-Phase file:
HYPOCENTER line: new field at end of line: HypoDesc->type: "MAXIMUM_LIKELIHOOD" or "EXPECTATION"
New MAXIMUM_LIKELIHOOD line, example:
MAXIMUM_LIKELIHOOD MaxLikeLat 31.247162 Long -103.361311 Depth -0.537500 OT 32.906855
20170911 NLLoc - Added: New binary (*.bin and *.bin.hder) format for LOCTOPO_SURFACE topo surface file
# (LOCTOPO_SURFACE <GMT GRD File> dump_flag)
# (char[]) <GMT GRD File> : GMT ascii or binary grd file (make from *.grd using grdinfo and grd2xyz)
# with topo surface in meters (x - longitude in deg, y - latitude in deg, z - elev in m).
# Important: For binary grd file, filename must end in .bin with associated .bin.hdr ascii header file
# (int) dump_flag : if >=1 dump topo lat/lon/elev with decimation=dump_flag to file in NLL binary scatter file format.
# Note: To convert topo.grd to GMT ascii grid format, use:
# grdinfo topo.grd > topo.grd.asc
# grd2xyz topo.grd -Z >> topo.grd.asc
# Note: To convert topo.grd to GMT binary grid format, use:
# grdinfo topo.grd > topo.grd.bin.hdr
# grd2xyz topo.grd -ZTLd > topo.grd.bin
New version 7.00 posted to web =================================
20171120 NLL - Added: AZIMUTHAL_EQUIDIST transform mode added. (Azimuthal Equidistant projection)
20171122 NLL - Changed all PI and related (e.g. degree <-> radians conversions) to be based on math.h -> M_PI
20180403 NLL - Added LOCFIXOTIME year month day hour min sec
20190123 - anthony.schmieder@gmail.com
Hello,
Your page here mentions you'd like feedback on building on other platforms: http://alomax.free.fr/nlloc/soft7.00/NonLinLoc_main.html#Getting_Started_-_Download_the_NonLinLoc.
I was able to build NLL 7.0 using Cygwin on Windows 10 with the following steps:
1. Install [cygwin](https://cygwin.com/install.html)
2. Install the following non-default cygwin packages:
1. make
2. automake
3. gcc-core
4. gcc-g++
3. Unpack the NLL source
4. `cd` to the "src" dir
5. Do a `make -R install`
6. By default programs are built as "\*.exe" files in the "src" dir
7. You'll need "cygwin1.dll" next to the NLL binaries for them to run correctly. Find it at "C:\cygwin64\bin\cygwin1.dll" in the default Cygwin install
Sincerely,
Anthony Schmieder
20190123 LocSum - latCent,longCent,radius[,YX] command line option added to allow filtering hypocenters within a <radius> km distance of a lat/lon or y/x (YX) point
20190218 NLL - octtree/octtree.c->writeTree3D(): Added fix to handle elegantly case where spherical Tree3D is passed. Spherical Tree3D is not currenlty supported for writing. Update version 7.00.03 posted to web
20190508 OctTree - Create new Tree3D file format to support read/write of spherical grids
20190508 oct2grid - Added support for conversion of spherical grids
20190509 NLL - Created new program grid2scat to convert a NLL grid file to a NLL binary scatter file. Usage: grid2scat <input grid> <num_scatter_points>
20190522 NLLoc - Added code to support LOCMETH maxDistStaGrid and minDistStaGrid filters with 3D travel-time grids. Previoiusly this filtering was only applied with 2D time grids (1D velocity models).
20190823 NLLoc - Added PUBLIC_ID NLL Hypocenter line to contain an event id, e.g texnet2017wlpo, smi:ch.ethz.sed/event/historical/1165, ...
20191208 NLLoc - Added phase wild-card matching to LOCEXCLUDE
20191210 NLLoc - Bug fix: re-introduced phase mapping using LOCPHASEID before applying time delays specified in LOCDELAY
20190510 NLLoc - Added LOCPRIOR/LOCPOSTERIOR control statements. Allows loading of grid or octtree pdf grids to be used for prior or posterior in construction of location pdf.
2020 05 13 Add to doc: On 12/05/2020 20:20, Wayne Crawford wrote:
> I don't know how to make it clearer in the documentation, maybe just saying "depth is relative to sealevel/geographic origin, not zOrig".
Depth is (or should be) always used in NLL documentation as absolute geographic depth, and never to refer to position in the grid relative to the top of the grid. I do see that it is never specified in TRANS that the geographic origin is taken as being at zero depth, nor emphasized in LAYER that depth is geographic depth.
20200605 NLLoc - Added LOCINCLUDE control statement. Only specified stations and phases will be used for location with non-zero prior.
20200724 - ttime_func_test.c - Added support for DEFAULT 2D travel-time grids.
20200727 NLLoc - Modified LOCEXCLUDE so only prefix (e.g. network) of excluded stations can be provided
20200812 NLLoc - Bug fix: if locgrid.numz == 2 location will be not be REJECTED or ABORTED, this is case when depth fixed (i.e. numz = 2)
20200812 NLLoc - Added NLLOC_OBS_LOCPHASEID LOCFILES->obs_type to force conversion of phase name using LOCPHASEID when reading phases (homogenizes names for correct LOCDELAY accumulation)
20201015 Time2EQ1 - EQSTA: added 3 new fields:
1) added probabilstic test for data active (prob_active), with probability prob_active, station/phase is included in synthetic phase timess for each event
2, 3) added probabilstic data outlier (prob_outlier, outlier_err_factor), with probability prob_outlier, phase error is increased by outlier_err_factor
New syntax: EQSTA label phase errorType error errorReportType errorReport probActive probOutlier outlierErrorFactor
20201221 NLL - Bug fix in logic to set reverse direction take-off angle azimuth for 2D angles grids. The flag to indicate azimuth should be reversed for for 2D grids was a negative unsigned short value, which is not possible. Changed to a flag value = (unsigned short) 65535
20210304 NLL WriteHypoInverseArchive - (JMS) Bug fix: added checks for no mag
20210511-20210922 Loc2ddct - Changed value of MAX_NUM_DIFF_HYPOCENTERS to avoid errors on older(?) or some compilers: "relocation truncated to fit: R_X86_64_PC32 against symbol"
// https://stackoverflow.com/questions/57331990/c-compiling-relocation-truncated-to-fit-r-x86-64-pc32-against-symbol
// https://github.com/alomax/NonLinLoc/issues/7
20210917 NLLoc - ISC_IMS1.0 obs format: added support for DATA_TYPE BULLETIN IMS1.0:short with ISF2.0 extensions Bulletin from IGN
20211012 NLLoc - Added INGV_JSON phase input format.
20211208 NLLoc - Added: LOCHYPOUT->FILENAME_PUBLIC_ID_DEC_SEC format; appends event public ID to hr/min/sec component of output event filename.
20220129 NLLoc - HYPOINVERSE_Y2000_ARC: Added: reading of preferred magnitude into NLL amp mag.
20220129 NLLoc - HYPOINVERSE_Y2000_ARC: Added: reading of Event identification number into NLL public_id.
20220131 NLLoc - LOCHYPOUT: Added: SAVE_NLLOC_JSON to support JSON output of location results (20220513: WARNING: under development).
20220202 NLLoc - Replaced calls to system() to copy files with src/util.c -> copy_file() function (implemented by Jan Wiszniowski)
20221116 Loc2SSST - Added support in LSPHSTAT for filtering of events (phases) by hypocenter depth
20230219 Grid2GMT - Now supports GMT 5 and 6 (thanks to https://github.com/sean0921). See src/CMakeLists.txt for details on how to set GMT version.