Antelope Version 5.0-64 Release
June 2010
This year we have a lot of changes as we move to a 64 bit version of
Antelope, and transition our primary focus from Sun Microsystems
(which no longer exists) to Apple Macintosh systems.
Note that there is no 32-bit version of 5.x Antelope. Therefore,
Antelope can only run on 64-bit hardware running 64-bit versions of
UNIX. For Solaris and MacOSX, this is not a problem since SUN and
Apple hardware have been exclusively 64-bit for many years and both
Solaris and MacOSX come in only 64-bit versions. However, for Linux
this can be a problem. In order to run Antelope 5.x you will need a
64-bit x86 PC running a 64-bit version of Linux. We built the
Antelope Linux version of this release on an openSuSE version 10.3
64-bit version of Linux. We did this to preserve backward compatility
with our users who have been using this version of Linux. Since the
10.3 version of openSuSE is no longer available, we tested the
Antelope release on openSuSE 11.2 64-bit version of Linux and users
who need to upgrade their 32-bit Linux version should use this version
of Linux. Note that 64-bit openSuSE 10.3 and 11.2 are the ONLY
versions of Linux that we will support in full. Specifically, we have
seen many problems with Antelope on redhat Linux and we do not offer
support for Antelope running on redhat systems.
There are probably still a few 64 bit issues which we haven't yet
uncovered, which might show up as odd bus errors or segmentation
violations, or in some cases, anomalously large numbers somewhere.
Scripts should not encounter new problems with 64 bit Antelope.
However, if you write programs in c, you probably need to modify them
to run under Antelope 5.0-64. Please look at the man pages
64bit_conversion(5) and 64bit(1), and look at this presentation from
an earlier Antelope User Group meeting:
http://www.brtt.com/events/iris2008/pdf/quinlan-64bit.pdf
The transition to Antelope 5.0-64 may be more difficult, because of
the transition to 64 bit. You should have a plan for completing the
upgrade, and the plan should include running the previous version in
parallel with the new version for some period, until you are convinced
that operations are working normally.
On every upgrade, you should
* carefully read these notes, alert for changes that affect you
* make sure your computer and operating system version are compatible
with the new release.
* make your own comparison of your parameter files and the default
parameter files
* check the man page and execution line for each of the programs in your
real time system.
* look at the demo systems, particularly the gsn demo. Be sure to
understand why your system is configured differently, if it is.
64 bit incompatibilities
Datascope views are not compatible between 64 and 32 bit
versions, because the 64 bit versions use long integers for
the database pointers.
Other incompatibilities
db2msd -t argument is now measured in days rather than
seconds.
We are not including compiled versions of the Matlab, Python, and PHP
extensions for Antelope from Lindquist Consulting, Inc. because these
depend on the versions and locations of the interpreters installed on
your local system.
For these extensions, you must get the source code from the
contributed-code repository and compile them yourself:
(1) You can download the whole contributed-code repository from
http://antelopeusersgroup.org/repository/
(2) Run the localmake_config(1) utility, which will launch a GUI to
help you configure your local system to compile these utilities (the
localmake_config(1) utility replaces the amakelocal(1) program from
previous releases).
(3) You may then compile the interfaces by hand or, provided the
source-code is in the standard location $ANTELOPE/src/contrib, you may
use the localmake(1) utility e.g.
localmake matlab_antelope
localmake python_antelope
localmake php_antelope
Several contributed programs do not build properly under the 64-bit
version of Antelope and are therefore not in the release. This
includes isi2orb(1).
On macs, the new release is built on Snow Leopard. In addition to
providing enhanced support for threading, Snow Leopard also provides a
very fast new threaded sort routine which is used by Antelope on the
mac version of the release.
We're recommending switching to cdorb2db instead of orb2db, which
should fix a lot of problems we've seen recording data from streams
where the timing is uncertain or packets are often out of order or
repeated. However, you should note that cdorb2db truncates the
time tags, which leaves a potential error of up to 1/2 dt in the
timing. It should be possible to switch between orb2db and cdorb2db, as
they write to different waveform files by default. If you use the -w
option, though, you must be sure you have arranged things properly.
cdorb2db is a heavier load on the i/o system than orb2db, because
it writes every packet. Because of this, it's possible you may
find cdorb2db can't keep up. You should watch for this condition
using orblag(1) or tkorblag(1). Orb readers like orb2db, cdorb2db
and orbdetect should have very small lag values. If you see anything
other than zero, then over time this lag will probably grow until
the reader is at the end of the ring buffer, where it will not
read every packet. This will not give you good results.
We lately realized that disk fragmentation can be a performance
problem, particularly on Macintosh systems, but also to some degree on
Solaris (and probably linux).
In this release, cdorb2db attempts to sidestep the problem by creating
the waveform file for the entire day when data arrives for a new day.
This seems to work well, dramatically improving the response time when
displaying waveforms in dbpick, for example.
We do not have an easy solution for orb2db (or any other program
files). The fragmentation problem appears to arise because the
waveform files are continually growing in small steps, and there are
very many waveform files, so the underlying filesystem has a difficult
job to lay these out in an efficient manner. However, fragmentation
can generally be corrected by copying the files after they're static.
There is a new program, defragment(1), which does this fairly
efficiently.
Another problem which can be surprising on macintosh systems is due to
the Mach kernel heritage. Certain system services, notably
gethostbyname, communicate to the kernel through a special port, the
"bootstrap port", which is inherited from the parent process. The
problem arises when the parent process is an ssh from somewhere, where
a command is put into the background, and then the ssh process is
logged out. At this point, the bootstrap port is closed, and the
background process no longer has access to various system services.
For orb processes, which may use gethostbyname multiple times during
their lifetime, this can result in the process hanging, unable to
resolve a hostname to an ip address; orb connections then fail.
The basic rule to remember is not to start processes in the background
from any login where you may log out. rtexec is an exception; it uses
the mac program /usr/libexec/StartupItemContext to restart itself in
the background with a bootstrap port which does not get closed when
the user logs out. Similarly, cron jobs are started with such a
bootstrap port, and the automatic restart on reboot also starts rtexec
with the proper bootstrap port.
The www.brtt.com website FAQ has been changed to use MediaWiki, the
same software which drives Wikipedia. This should make it easier for
any user to correct, complete, or add new content to the FAQ, or have
discussions about any problem of interest. You must have an account
to edit the FAQ. This is to avoid problems with malicious editing.
You can request one by choosing the login button in the upper right
hand corner of the FAQ screen, and follow instructions. Try it out at
http://www.brtt.com/wiki
We moved to perl 5.10 last year in the 4.11 release, but failed to
mention some of the important optional extensions which are available
in the version of perl: You can read about them in more depth in "man
perldelta" or see the note near the end of this file on Perl 5.10
We began to use the C99 standard in a previous release. Read the c99
rationale
http://www.open-std.org/jtc1/sc22/wg14/www/C99RationaleV5.10.pdf
for a lot more detail, or for highlights see the note near the end
of this under "1999 C standard".
Please be advised that in this release we have deleted some programs
that have been marked as deprecated for that last several years.
These dropped programs include orbmag, orbtrigger and dbml.
In this release are new filtering capabilities, both in wffilbrtt and
wffilave. These are a generalized S-domain polynomial factors filter
(the SPF filter), a pivot integrator (the PINT filter) and a
generalized FIR-based resampling filter (the DECIMATE filter). See
the wffilbrtt and wffilave man pages for definitions. In this release
is a new utility library for reading and writing SAC files, busac. In
this release is a new perl Module, Response, for dissecting and
manipulating standard Antelope response files. In this release is a
new perl module, Sac, for reading, writing and manipulating SAC files
and their contents.
In this release is a new orbevproc perl module for computing Mwp
magnitude automatically.
In this release is an updated GSN processing template (under rtdemo)
that we encourage users to use in place of the previous GSN processing
templates. This new template is configured in a manner that we
recommend for most network operators, including the use of cdorb2db
instead of orb2db.
We have included a very preliminary version of an update to the
dbevents mapping script. This new version as it appears in this
release is named dbevents_new.
library differences
libraries only in /opt/antelope/4.11
libdcdf
new libraries only in /opt/antelope/5.0-64
libpmel
libdbmon
liblocsat
libdb2sql
examples
Added:
MwpA.3p
MwpA.pm
db2mac.xpl
dbassert.1
dbassert.c
dbblank2null.1
dbblank2null.xpl
simple_ringstat.xpl
Include file differences
present in /opt/antelope/4.11/include, not in /opt/antelope/5.0-64/include:
antelope_mex.h myorbxlat.h zlib.h
mex_antelope_makerules mypfxlat.h zutil.h
mex_orb.h zconf.h
present in /opt/antelope/5.0-64/include, not in /opt/antelope/4.11/include:
SimpleWavelets.h VectorStatistics.h antelopemake-gcc-mix
pixaddress.h db2sql.h tt_locsat.h
dbmon.h
Man page usage lines
64bit.1:
64bit [-diInpvV] file ...
64bit [-diILnpvV] file ...
amakelocal.1:
amakelocal [-v] [-i] [-p pfname] [-s system] [MACRO [MACRO ...]]
amakelocal [-v] [-i] [-c] [-p pfname] [-s system] [MACRO [MACRO ...]]
certify.1:
certify [-c database] [-aACdDefiGIklmMnpPQqrRsuUvVZ] [-H dir] [-w msg] [-x path] [-X results] [testid ...]
certify [-c db] [-aACdDefiGIklmMnpPQqrRsuUvVZ] [-H dir] [-w msg] [-x path] [-X results] [testid ...]
db2msd.1:
db2msd [-t age] [-1nv] db
db2msd [-t ndays] [-1nv] db
db2segy.1:
db2segy db outfile [ -pf pffile -v ]
db2segy db outfile [ -SU -ss subset -pf pffile -v ]
dbcp.1:
dbcp [-a alt] [-difFlosv] source[.tbl] destination
dbcp [-a alt] [-I table,...] [-difFlosv] source[.tbl] destination
dbe.1:
dbe [-e] [-p pf] db[.tbl] [ db2[.tbl2] ...]
dbe [-e] [-p pf] db[.tbl] [ db2[.tbl2] ...] [-f field ...]
dbgraph.1:
dbgraph [-p pf] [-h hue] [-S symbol] [-s saturation] [-z size] db[.tbl [ {yexpr|xexpr yexpr} ]]
dbgraph [-a annotation,...] [-b batch] [-B log] [-p pf] [-CD] db[.tbl [ {yexpr|xexpr yexpr} ]]
dbloc_snapshot.1:
dbloc_snapshot [-f output-file] [-v] database
dbloc_snapshot [-d max-db-records] [-f output-file] [-l max-log-records] [-v] database
dbset.1:
dbset [-clv] db[.tbl] fld old [new]
dbset [-cClv] db[.tbl] fld old [new]
dbwebproject.1:
dbwebproject [-v] [-n] [-p pfname] [-r DocumentRoot] [recipe]
dbwebproject [-v] [-n] [-p pfname] [-r TargetRoot] [recipe]
fix_miniseed.1:
fix_miniseed [-iv] [-d db] [-{p|P} pf] miniseed|directory ...
fix_miniseed [-fiv] [-d db] [-{p|P} pf] miniseed|directory ...
forbserver.1:
forbserver [-acbfsUvwx] filename
forbserver [-acbfsvwx] filename
mk_dbops.1:
mk_dbops {-I | -U | -R | -A } [-k] [-n] [-v] [-V vnet] [-m source_match] [-p pf] [-P prelimORB] [-S statusORB] [-w prelimwfDB] [-W wfDB] [-s siteDB] dbops snet sta [timestamp [comm_provider [comm_type]]]
mk_dbops {-I | -U | -R | -A } [-k] [-n] [-v] [-V vnet] [-m source_match] [-p pf] [-C cmdORB] [-P prelimORB] [-S statusORB] [-w prelimwfDB] [-W wfDB] [-s siteDB] dbops snet sta [timestamp [comm_provider [comm_type]]]
msdd.1:
msdd [-bhovx] miniseed ...msdd [-hi] miniseedmsdd [-hi] 'command;command' miniseed ...
msdd [-bdhovx] miniseed ...msdd [-hi] miniseedmsdd [-hi] 'command;command' miniseed ...
orb2disk.1:
orb2disk [-b bury-interval] [-m match] [-r reject] [-n maxpkts] [-p period] [-s size] [-vv] orb directory [start-time [end]]
orb2disk [-b bury-interval] [-m match] [-r reject] [-n maxpkts] [-N pktspersegment] [-p period] [-s size] [-vv] orb directory [start-time [end]]
orb2orb.1:
orb2orb [-dflUvx] [-c pktsuffix] [-C throttle] [-i burial-interval] [-m match] [-n npkts] [-p pf] [-r reject] [-R representation] [-s pktid] [-S statefile] [-T srcid-pf] [-u npkts] [-X xlat-pf] orbin orbout [start-time [period|end-time]]
orb2orb [-dfUvx] [-c pktsuffix] [-C throttle] [-D delay] [-i burial-interval] [-m match] [-n npkts] [-p pf] [-r reject] [-s pktid] [-S statefile] [-T srcid-pf] [-u npkts] [-X xlat-pf] orbin orbout [start-time [period|end-time]]
orbassoc.1:
orbassoc [-start {pktid|time|OLDEST}] [-select expr] [-auth author] [-dbforeign dbname] [-target_orb2dbt torb2dbt] [-delay delay] [-pf pfname] [-trigger_start_only] [-v] orbin orbout ttgridf1 [ttgridf2 [...]]
orbassoc [-start {pktid|time|OLDEST}] [-select expr] [-auth auth] [-dbforeign dbname] [-target_orb2dbt torb2dbt] [-delay delay_seconds] [-pf pfname] [-trigger_start_only] [-v|-vv|-vvv] [-leavetmps] orbin orbout ttgridf1 [ttgridf2 [...]]
orbdlstat2xml.1:
orbdlstat2xml [-v] [-a after] orbname dir
orbdlstat2xml [-v] [-a after] [-m match] orbname dir
orbserver.1:
orbserver [-p port] [-P prefix] [-s size] [-kKrv] nameorbserver64 [-p port] [-P prefix] [-s size] [-kKrv] name
orbserver [-p port] [-P prefix] [-s size] [-kKrv] pfnameorbserver64 [-p port] [-P prefix] [-s size] [-kKrv] pfname
q330_calibration.1:
q330_calibration [-v] [-V] [-n] [-i] [-N] [-2] [-3] [-o duration_offset_fraction] [-p pf] [-m mail_to_operator] cmdorb db sta_regex [sta_regex1 [sta_regex2 [...]]]
q330_calibration [-v] [-V] [-n] [-2] [-3] [-i] [-N [-d no_calib_days]] [-o duration_offset_fraction] [-t start_time] [-p pf] [-m mail_to_operator] cmdorb db sta_regex [sta_regex1 [sta_regex2 [...]]]
q330_location.1:
q330_location [-v] [-m mail_to] [-p pf_sourcename] [-n net_code] [-s sta_regex] [-c chan_code] [-t max_offset_meters] orb db
q330_location [-v] [-m mail_to] [-p pf_sourcename] [-n] [-f] [-s sta_regex] [-c chan_code] [-t max_offset_meters] status_orb [cmd_orb] db
seed2db.1:
seed2db [-lsize logical_size] [-v[v[v]]] [-respdir respdir] [-stagedir stagedir] [-chansift pffile] [-tstart tstart] [-tend tend] [-nodata] [-nodataless] [-nofirerrs] seedfile [dbname]
seed2db [-lsize logical_size] [-v[v[v]]] [-respdir respdir] [-stagedir stagedir] [-chansift pffile] [-tstart tstart] [-tend tend] [-nodata] [-nodataless] [-nofirerrs] [-strict_data_processing] seedfile [dbname]
trdisp.1:
trdisp [-g geometry] [-r] [-s subset] [-w hours] database[.table] [start-time [range]]
trdisp [-g geometry] [-hr] [-s subset] [-w hours] database[.table] [start-time [range]]
man pages differences
Removed:
corefilesok.1 dbap.1 dbml.1 ipd2.1
matdoc.1 matdoc2dotm.1 orb2refdb.1 orbmag.1
orbtrigger.1 refd.1 zlib.3
Added:
BasicTimeSeries.3 GCLraytrace.3
Metadata.3 MetadataError.3
MwpA.3p SeisppError.3
ThreeComponentSeismogram.3 TimeSeries.3
TopMute.3 bin2sph.3
bin2vec.3 bplot_locate.3p
bulletin.pm.1 cmpfiles.3
cpfile.3 cramring.3
db2mac.1 db2sqlinsert.3
dbassert.1 dbblank2null.1
dbcpfile.3 dbgraph_batch.5
dbmon_close.3 dbmon_init.3
dbmon_status.3 dbmon_update.3
dbschema2sqlcreate.3 dbviews.5
decode_quadrant.3 def2pm.1
double_interval.3 encode_quadrant.3
eval_response_group.3 fill_ticks.3
find_ticks.3 gitstamp.1
gxpipex.3 interpolate_hash.3p
interpolator1d.3 is_executable_file.3
linearfitring.3 mapcenter.3
meanring.3 my_ipv6s.3
orbreapthr_set_verbose.3 perlpf.3p
pfinterpolate.1 pix2sph.3
pix2vec.3 pixaddress.3
pktchannel2trace_destroy.3 printable_char.3
ptkobj_generate.1 show_stack_trace.3
signal_desc.3 simple_ringstat.1
sph2bin.3 sph2pix.3
tallyring.3 vec2bin.3
vec2pix.3 viewport_pixels2wcoords.3p
viewport_wcoords2pixels.3p windex.11558
Added contrib:
Basic_Time_Series.3 Gary L. Pavlis
Datascope_Handle.3 Gary L. Pavlis
GCLrays.3 Gary L. Pavlis
Three_Component_Seismogram.3 Gary L. Pavlis
Time_Series.3 Gary L. Pavlis
Top_Mute.3 Gary L. Pavlis
bulletin2orb.1 Jennifer Eakins
cluster.1 Gary L. Pavlis
cluster_cleanup.1 Gary L. Pavlis
db2sql.1 Kent Lindquist
db2sql.3 Kent Lindquist
dbfix_cals_segtype.1 Kent Lindquist
dbmon.3 Dr. Kent Lindquist
dbpmel.1 Gary L. Pavlis
dbresample.1 Gary L. Pavlis
dmatrix.3 Robert Pavlis
editgclgrid.1 Gary L. Pavlis]
exportgrid.1 Gary L. Pavlis
extract_gridline.3 Gary L. Pavlis
gclfmath.1 Gary L. Pavlis
gclgrid.3 Gary L. Pavlis and Chengliang Fan
get_predicted_Parrivals.1 Jennifer Eakins
ia2orb.1 Kent Lindquist
iarequest.1 Kent Lindquist
iatrigger.1 Kent Lindquist
interpolate1d.3 Gary L. Pavlis
makegclgrid.1 Gary L. Pavlis
metadata.3 Gary L. Pavlis
metadata_error.3 Gary L. Pavlis
pathintegral.3 Gary L. Pavlis
perldb2sql.3p Kent Lindquist
perldbmon.3p Kent Lindquist
pmel.3 Gary L. Pavlis
pmelgrid.1 Gary L. Pavlis
q330_baler.1 Frank Vernon
q330_opt_pkt_mon.1 Frank Vernon
resample.3 Gary L. Pavlis
rtxcor.1 Gary L. Pavlis
seispp_error.3 Gary L. Pavlis
slowness_object.3 Gary L. Pavlis
ustrans.3 Gary Pavlis
Parameter file differences
/opt/antelope/4.11/data/pf/db2sd.pf /opt/antelope/5.0-64/data/pf/db2sd.pf
< mbar 1 mbar
> mbar 1 Pa
/opt/antelope/4.11/data/pf/db2segy.pf /opt/antelope/5.0-64/data/pf/db2segy.pf
> #
> # New features added in 2009
> #
> use_32bit_nsamp false
> input_source_coordinates false
> coordinate_scale_factor 3600
> use_geo_coordinates true
/opt/antelope/4.11/data/pf/dbloc2.pf /opt/antelope/5.0-64/data/pf/dbloc2.pf
> # Specify the table from which origin_info fields displayed in the origins panel
> # are to be found, if other than the origin table. Fields in netmag are assumed
> # to refer to the magnitude field in the record where the orid and magtype matches
> origin_info_table &Arr{
> smajax origerr
> sminax origerr
> strike origerr
> sdepth origerr
> stime origerr
> sdobs origerr
> conf origerr
> mw netmag
> MW netmag
> ml netmag
> mb netmag
> ms netmag
> }
> # dbevproc and orbevproc can write arrival records corresponding
> # to measurements for magnitudes; these "picks" cannot participate
> # in a location, and just add confusion to the display. Hence,
> # they should be ignored in dbloc_group and when a new magnitude arrival
> # is added by dbevproc
> # Beware: this table is referenced from dbloc_group.pf, but the
> # reference there is to dbloc2.pf; if you override the default
> # parameter file, you might need to provide a special dbloc_group.pf
> # file as well. But this array should be pretty static.
> phases_to_ignore &Arr{
> - # this is the null value for iphase
> del # del is filled in by dbpick when an arrival is deleted
> }
/opt/antelope/4.11/data/pf/log2miniseed.pf /opt/antelope/5.0-64/data/pf/log2miniseed.pf
< recsize 512
> recsize 4096
/opt/antelope/4.11/data/pf/orb2dbt.pf /opt/antelope/5.0-64/data/pf/orb2dbt.pf
> detev no
/opt/antelope/4.11/data/pf/q3302orb.pf /opt/antelope/5.0-64/data/pf/q3302orb.pf
lots of changes
/opt/antelope/4.11/data/pf/q330_calibration.pf /opt/antelope/5.0-64/data/pf/q330_calibration.pf
< duration 7200
> duration 7200 # duration <= 16380; q330 limitation
/opt/antelope/4.11/data/pf/seed2db.pf /opt/antelope/5.0-64/data/pf/seed2db.pf
> MM/HOUR V nm/sec 2.777e2
/opt/antelope/4.11/data/pf/smartpick.pf /opt/antelope/5.0-64/data/pf/smartpick.pf
< dbpick_options
> dbpick_options -showassocs
< optionmenu np - 2,2 Next_phase P S {Show next phase arrival with chosen phase code (np)}
< optionmenu pp - 2,3 Previous_phase P S {Show previous phase arrival with chosen phase code (pp)}
> button sas_on - 2,2 Show Associations {color arrivals by assoc status (sas on)}
> button sas_off - 2,3 Hide Associations {don't color arrivals by assoc status (sas on)}
> optionmenu np - 3,0 Next_phase P S {Show next phase arrival with chosen phase code (np)}
> optionmenu pp - 3,1 Previous_phase P S {Show previous phase arrival with chosen phase code (pp)}
/opt/antelope/4.11/data/pf/sta_final_prep.pf /opt/antelope/5.0-64/data/pf/sta_final_prep.pf
> balerprocbase /anf/TA/baler/station_aof_dumps/processed # absolute path name for processed station miniseed base name
/opt/antelope/4.11/data/pf/trdefaults.pf /opt/antelope/5.0-64/data/pf/trdefaults.pf
> msd_tolerance 0.75
> ignore_seed_code_errors no # if yes, ignore problems with seed codes net/sta/chan/loc too long.
> # setting this to yes may cause problems in miniseed and seed generation
present in /opt/antelope/4.11/data/pf, not in /opt/antelope/5.0-64/data/pf:
msdd.pf orb2refdb.pf rt2orb.pf
present in /opt/antelope/5.0-64/data/pf, not in /opt/antelope/4.11/data/pf:
HeaderMap.pf graphing.pf
bulletin2orb.pf ia2orb.pf
cluster.pf iarequest.pf
cluster_cleanup.pf iatrigger.pf
db2sql.pf makegclgrid.pf
dbgraph_gui.pf metadata_defaults.pf
dbloc_group.pf pmelgrid.pf
dbpmel.pf q330_opt_pkt_mon.pf
dbresample.pf rtxcor.pf
editgclgrid.pf seispp_attribute_maps.pf
Schema file differences
/opt/antelope/4.11/data/schemas/Id1.0 /opt/antelope/5.0-64/data/schemas/Id1.0
< Format ( "%10d" )
> Format ( "%10ld" )
and a bunch of similar changes, in this and following schemas to accomodate 64-bit
/opt/antelope/4.11/data/schemas/Status2.0 /opt/antelope/5.0-64/data/schemas/Status2.0
< Format ( "%2d" )
> Format ( "%2ld" )
/opt/antelope/4.11/data/schemas/build1.0 /opt/antelope/5.0-64/data/schemas/build1.0
< Format ( "%5d" )
> Format ( "%5ld" )
/opt/antelope/4.11/data/schemas/css2.8 /opt/antelope/5.0-64/data/schemas/css2.8
< Format ( "%8d" )
> Format ( "%8ld" )
/opt/antelope/4.11/data/schemas/css3.0 /opt/antelope/5.0-64/data/schemas/css3.0
> 42) changed primary keys of origin to include ndef and nass
< Range ( "etype =~ /qb|eq|me|ex|o|l|r|t/" )
> Range ( "etype =~ /qb|eq|me|ex|o|l|r|t|f/" )
< event.
> event. Event with etype set to f were felt.
< Range ( "keyvalue > 0" )
> Range ( "keyvalue > 0 && keyvalue < 99998999" )
/opt/antelope/4.11/data/schemas/strawman1.0 /opt/antelope/5.0-64/data/schemas/strawman1.0
< Format ( "%8d" )
> Format ( "%8ld" )
/opt/antelope/4.11/data/schemas/SDAS1.0.ext/dlsensor /opt/antelope/5.0-64/data/schemas/SDAS1.0.ext/dlsensor
> Alternate ( snmodel snident time::endtime )
present in /opt/antelope/5.0-64/data/schemas/SDAS1.0.ext, not in /opt/antelope/4.11/data/schemas/SDAS1.0.ext:
cluster gridscor q330_calibration_weblog
dlcmd_cal gridstat rsyncbaler
gclfield hypocentroid stabaler
gclgdisk pmelruns staq330
/opt/antelope/4.11/data/schemas/css3.0.ext/dlsensor /opt/antelope/5.0-64/data/schemas/css3.0.ext/dlsensor
> Alternate ( snmodel snident time::endtime )
present in /opt/antelope/5.0-64/data/schemas/css3.0.ext, not in /opt/antelope/4.11/data/schemas/css3.0.ext:
cluster gridscor q330_calibration_weblog
dlcmd_cal gridstat rsyncbaler
gclfield hypocentroid stabaler
gclgdisk pmelruns staq330
/opt/antelope/4.11/data/schemas/rt1.0.ext/dlsensor /opt/antelope/5.0-64/data/schemas/rt1.0.ext/dlsensor
> Alternate ( snmodel snident time::endtime )
present in /opt/antelope/5.0-64/data/schemas/rt1.0.ext, not in /opt/antelope/4.11/data/schemas/rt1.0.ext:
cluster gridscor q330_calibration_weblog
dlcmd_cal gridstat rsyncbaler
gclfield hypocentroid stabaler
gclgdisk pmelruns staq330
libdeviants differences
Deleted
my_ipaddress
Added
gxpipex machine_info my_ipv6s show_fault
libstock differences
Deleted
MD5Final MD5Init MD5Update
MDbegin MDupdate choose_deltime_scale
choose_epoch_scale find_scalar_ticks machine_info
Added
Graph Tickspec bnspeek
bt_authenticate bt_authenticated bt_inet_family
bt_inet_ntop bt_inet_pton bt_lookup_port
bt_md5final bt_md5init bt_md5update
bt_mdbegin bt_mdupdate cmpfiles
cpfile cramring double_interval
fill_ticks is_executable_file legit_ipv6
linearfitring meanring printable_char
reaccept reconnect setup_fault_handlers
signal_desc tallyring xlatnum_str
libcoords differences
Added
mapcenter
libresponse differences
Added
eval_response_group
libtr differences
Deleted
wf2disc wfnew wfwrite
Added
Ignore_seed_code_errors check_MS_datablock
dbcpfile is_blank_mseed_header
is_mseed_header msd_errors
msd_find_data_record msd_lookup_b1000
msd_next_data_record msd_okheader
msd_record_size msd_seek_data_record_unaligned
msddesc msdrec_offset
relfilepath trGuess_b1000_datatype
trMSD_TOLERANCE trMaximum_plausible_data_value
trMinimum_plausible_data_value trfilter_pkt2
trgetMIXED_UP_SEEDwf trimplausible
trimplausible_errors unpack_next_blockette
ah2db
Add ndef and nass settings (to 0) for new origin rows.
64 bit corrections
antelopemake
try to fix "make static" and orbserver_static target
remove gcc variants of antelopemake
install some antelopemake fragments into $ANTELOPE/data/makes,
so contrib directory can recreate antelopemake-gcc if necessary
fix linking problems with Solaris Fortran programs: dbmag, edr2db, dblocsat2
run exuberant ctags on perl/shell scripts also
try to incorporate CXXFLAGS into antelopemake
try to move CFLAGS, CXXFLAGS and FFLAGS into antelopemake and getid exclusively
ignore .dwarf files (-f option of dsymutil)
add .dwarf files to list of files to remove for make clean
add a few more files to remove to purge target
add declarations which cause gcc to check printf arguments for elog routines
add some info about subdirs and static target in antelope makefiles
comserv
Try to make this compile in 64 bit
db2msd
change -t argument in db2msd to days rather than seconds.
also add output about interpretation of command line argument.
dbbuild
copy sensormodel table rather than just linking to it
avoid generating dlsensor if lead is not specified and an integer from 1-24
correctly insert preamp response into instrument response file
fill in pop-up menu for preamp responses
Add bands for lower sample rates, "P", "T", and "Q".
try to better accommodate the Q330 "environmental processor" by allowing a data logger to
have a fixed set of non-configurable channels, which doesn't require an extra dummy sensor
to trigger the generation of the state of health channels
allow state of health channels to include a loc code like LKM_EP (where EP is the loc code),
correctly generate the schanloc table.
dbcp
add option to ignore some tables in dbcopy (like wfdisc, for instance)
fix usage line to add -I option
dbdiff
screen out more duplicate tests for external files
exit from dbcmpwf with an error if one of the wfdisc tables doesn't exist or has no records
dbe
fix bug exhibited when symbolic link pointing to table points to non-existent file
eliminate use of uname in dbe
add ability to specify display fields on command line for dbe startup
take a wild guess at fields to plot when running dbgraph from dbe window
add timestamp field to schema window in dbhelp
add ability to see process of creating current view under Help menu
dbevents
Add station color coding according to P and S defining/associated status.
dbevents looks for magnitudes in the netmag table and only uses ml, mb and ms from the origin table if it cannot find them in the netmag table.
Add magnitude_display table in dbevents.pf that is used to specify which magnitudes to display.
dbevents_new
major new all-perl version of dbevents
more capabilities and runs considerably faster.
dbfixchanids
Change time output when there is no match to be human readable.
dbgraph
improve record view
some improvements in locating data points also
rudimentary batch mode
semi-functional map option for dbgraph
on the viewport panel, set xmode to edp or merc to get a map,
put lon for x and lat for y
left-mouse drag selects a region for zooming in (if selection is large enough)
left-mouse zooms out
middle mouse allows panning/dragging the canvas to change view slightly
dbids
adaptations for ipv6
add example of problem output when ids are not in sync.
make connection rejections verbose
dbloc2
fix problems due to schema change for origin table
copy the entire arrival table into the dbloc2 snapshot in the tmp directory,
in hopes of providing all the necessary data for debugging.
fix 64 bit problem
ignore the values of mb, ms, and ml in the origin table, and insist
on getting these values from netmag instead.
ignore certain faux phases like ml generated by dbevproc/orbevproc
dblocsat2
Add options to support automatic running from orbassoc.
dbpick
Support for new magnitude arrival color coding.
64-bit changes
Change printout for sas off command
Add nass and ndef when adding new assocs
dbset
improve behavior of dbset for invalid field values
attempt to fix problem where dbset modified the lddate when the to expression was really an
expression, and so dbputv was used instead of dbput.
clarify that lddate is ignored in dbdiff
rewrite dbset to allow confirm option -c to work on input view.
dbsnapshot
clarify that dbsnapshot takes the last n records from the table, not the first n
make default maximum 20,000 records instead of 1000 for a database table
add pwd to dbsnapshot
make snapshot log name dependent on database name
dbverify
allow dbverify -N option to curtail list of duplicate records
make dbversdwf mention the database name
dbwfexcerpt
64 bit problem fixed
demos/bulletins/rtsys
New rtdemo for collecting bulletininformation from
a bulletin server at the ANF, which allows
allows collection of various USGS, regional network,
and ANF/UCSD bulletins (catalogs) from a central location
with easy translation into a usable css3.0 database.
Bulletins are collected via screen scrapes, ftp, etc. at
the ANF and then made available as /pf/*/orb2dbt packets.
Through the examples set out in this demo, remote Antelope
users can collect these packets via orb2orb and then write
out desired bulletins to disk on their local hosts. This
facilitates associations with external bulletins by
analysts using dbloc2 and for automated real-time processing
using the dborigin2orb program. It should alleviate problems
encountered by various groups who try to keep up with changing
URLs and formats from the various regional nets and NEIC.
GSN demo configuration changed to use cdorb2db and to
compute new Mwp magnitude. Script added to automatically
grab catalog from USGS/NEIC and associate with events.
edr2db
Make sure ndef and nass are never NULL values.
elog
add an error message when stuff is left on error log
examples/c/db
add an example of dbex_evalstr, and a new program dbassert for certify tests
add man page to example, install dbassert
examples/c/tr
change verbosity in several example codes, particularly chkmsd
check all variants of miniseed datatypes in chkmsd
examples/c/wffilave
Add PINT filter for pivot integration to support Mwp
64-bit changes
examples/orbevproc
Addition of Geoscience Australia Mwp method.
Add station_number_minimum, station_percentage_minimum, uncertainty_maximum screeners.
Add -keeptmp option for orbevproc.
Add integrated displacement trace output generation for debugging purposes.
Changes to force origindone disposition even when events don't pass any of the preliminary screening tests, such as proper distance ranges.
Fix problem where new rows are not initialized with proper NULL values.
Add dbblank2null script for converting blank fields to NULL values.
Make wfreap queue size unlimited to handle problem with blocked fifo_push when time to join thread.
Use pktchannel2trace_destroy to destroy all trace resources when deleting an event.
Use orbreapthr_set_verbose to cause reap thread status logs.
Fix filter string bug found by Gert-Jan
Add coding to destroy and re-create perl interpretor whenever perl processing queue is empty.
Make default max distnacec 90 degrees for Msusneic.pm
examples/perl
add utility for inspecting simple ring buffers
some minor changes to simple_ringstat
new program which replaces colons with periods in filenames in Datascope databases
fix_miniseed
count correctly the number of files changed
change fix_miniseed to allow replacing seed codes with invalid versions with -f option
ipvalidate
adjust to differences in returns from getaddrinfo on mac/linux/solaris
The canonical name doesn't seem to be returned on mac or linux.
correct a mistake in ipvalidate, update test for different behavior of inet_ntop
k22orb
Changes to make compile without warning on mac.
Added POSIX-based termios handling of serial interface.
Split out cfsetspeed call to cfsetispeed and cfsetospeed
since Solaris does not support cfsetspeed
Make so that serialbuf code works properly on linux.
Fairly extensive mods to fix a dialout/dialin contention problem Giovanni uncovered.
ldlibs
fix up parameter file so that ldlibs works on Snow Leopard
libPkt
more checking when creating db packet
add ability to unstuff floating point packet in perl
remove zlib from Pkt link, use system libz instead
Added BGENC (big generic compressed) packet with 1000000 max limit on nsamp and nsamp as a 32 bit int (for JH/APL).
add first pass at a message packet
libassoc
Fix bug relating to merging netmag rows properly.
Make so that prefor for associated origins with the same number of ndef
goes to the one with the highest nass instead of the lowest residual.
Fix problem with archive_if_not_associated
Make so that ndef and nass are never NULL in new origin rows.
Fixed bug related to merging events with no associations but with netmag entries, such as produced by certain external bulletins.
Fix bug that prevents existing event with no associations (e.g. external catalog event) from associating with new event with associations.
Add more verbose printing option
libbrttpkt
Add pthread_join when threads are killed to prevent zombies.
Add notifies when threads start and exit.
Add pktchannel2trace_destroy routine that will free a pktchannel2trace object and also destroy its associated trace database.
Add verbosity controlled printout in orbreapthr to announce thread creation, deletion and joining status.
libbrttutil
Add reading/writing bugrids from/to files. Fix bug in unstuff.
Clean 64-bit compiles plus fix various lint problems.
New tool for creating, reading, writing, transforming SAC file images to/from trace and origin rows.
libdefunctpkt
remove defunctpkt from core antelope
libdeviants
update sysproc to work on Darwin, also eliminating the proc2pidstat call
update the status routines -- ps2orb uses sysproc -- to use announce() instead of CVS/RCS revision codes.
add man page for show_stack_trace, add to mac, sun, linux
add prototypes for strlcat and strlcpy to deviants.h (on linux)
libds
make dbsubset more verbose about failure when a field is invalid
add method for finding and replacing field values which don't satisfy range conditions in dbset
try to intercept some parsing problems in dbprocess; add dbunjoin
remove optimization which uses previously calculated index if the leading keys are identical
-- gives the wrong answer when the unique flag is used.
clarify some of dbget/dbgetv better
clarify return values for dbex_evalstr(3)
add abspath to datascope calculator functions
change the way dbselect(3) handles attempts to print fields which are not part of input view
make dbnextid start to complain and/or die as an id approaches the 8 character maximum in css3.0
This is a hack, and should be done more generally. On the other hand,
overrunning the size of the field is very painful, and will likely damage
the database.
try to make the error message from dbget a bit more understandable, when it's passed a bad db pointer.
libforb
fix leaks in forb routines during forbopen; this is probably what
is going wrong on some marmots, but we have no data to confirm it
try to flag problem like evidently Jamie has encountered on a marmot,
where forb files have names which are not representative of the
times of the internal packets. I don't understand how this could
happen, but this change would at least flag the problem.
add option for verbosity during synchronous replay of packets while waiting for the next packet time
libgpl
Fix bug relating to postscript plotting of station-windowed traces.
Add capability to set color of magnitude related arrivals that are affiliated with the selected origin. Prioritize layering of arrival flag overlays.
Back out some of the 64-bit changes to allow for user defined colors.
Support for decimation generic filtering.
64-bit changes
libol
latest attempt to get gpl working properly w/64 bit
This version corrects a number of places where va_arg asked for double, but should
have asked for float.
libscv2
add finit_db to scv routine so that seed_loc, etc, use the same database to look up seed codes
libstock
fix bug in elog_init
allow argument of 0 to snooze
allow nano and pico seconds in strtdelta.
make a special case for 0 in strtdelta, so it shows 0 seconds, not 0 picoseconds
move some non-thread safe code out of elog:
replace signal_bysig and signal_byname with thread-safe signal_desc
working version of legit_fd(3) which allows ipv6 addresses; ipvalidate(1) upgraded also
first pass at general routine for authenticating socket connections through sgd(1)
utilities for converting between printable and struct sockaddr versions of ip addresses
add new function is_executable_file
correct some leaks in pf routines
correct error in chomp string routine
be a little more restrictive about allowing datafile to return a file
that is actually specified in the environment variable: require that it
be an absolute path.
fix some leaks and errors with pf routines and references
remove some more debugging code and re-enable usermethod on the mac
fix a bad test for open result in a number of locations (problem identified by Kent)
add a capability of forcing a stack trace from elog
The stack trace is forced by making the elog message
start with the string '*stack*'. Alternatively, the
tag can start with '*stack*' to perhaps dynamically generate
a stack trace at a particular complaint.
You can try this with the elog command, eg "elog '*stack*'"
or "setenv ELOG_TAG '*stack*@cd' ; elog"
This might be most interesting in cases the code should
never reach, so we get a little more information if we're are wrong.
make the thread id %T in elog tag at least compile
the idea is fundamentally wrong: thr_self doesn't return
something like an integer, and trying to print it is the
wrong thing to do. But it's still useful on sun's, and perhaps
something can be done to make it useful on macs.
attempt to add some new simple ring routines:
*) meanring to calculate mean and standard deviation
*) linearfitring to calculate linear least squares fit line
*) cramring to push only changes into ring.
add new stock routine which compares two files
add cpfile routine
allow "5days" in str2epoch input
improve the verbose output of wait_for_time to provide more information.
specifically allow /dev/null in ELOG_DELIVER
add double_interval(3) as another way of gauging the difference between two doubles which are very close;
returns the number of distinct values between the two doubles.
libtcl
use exit instead of "destroy ." to quit from wish app, to avoid core dump in dbloc_map on mac.
libtclbrtt
wholesale replacement of cvs strings like Revision with git alternatives like announce()
and null arguments to banner.
libtr
fix some small problems in segtypes tables, make trdefaults version identical
improve the scanning of files for miniseed headers, trying to avoid
problems with endless loops due to unfortunate offsets to the next blockette
in either bogus or corrupt seed data blocks
Add trfilter_pkt2 - same as trfilter_pkt except with tstart arg for
filters that need an absolute time as a parameter, such as the
pivot integrator.
add a little extra insurance while reading miniseed header
against the possibility of finding all blanks
fixed problems in umsd routines related to opaque blockettes
return more errors in miniseed instead of silently ignoring them
intercept a byte swap problem with miniseed records from the future
changed error message to evade bus error in vsnprintf in elog
try to eliminate bus error problems printing out int64_t mseedp, mseedn, etc, in miniseed routines
fix initialization problem with has_b100, has_b1000, etc flags for miniseed records with bad standard seed headers
use a better, more portable approach for printing out int64_t integers
correct prototypes to change int to long in a number of man pages
add 300 blockette to allowed blockette types in miniseed
try to handle various problems in miniseed from older SEED volumes; in particular attempt to guess the dataformat
depending on the network, using a table in trdefaults.pf, and guess the record size by pattern matching
against the miniseed file at 512 byte block boundaries.
recognize and handle some more ways miniseed data can be screwed up.
Add a "mixed up miniseed" datatype MS for files where miniseed blocks are out of order or have varying record sizes.
add msd_tolerance to trdefaults.pf, which relaxes the tick tolerance somewhat for miniseed records within a single wfdisc reference.
correct dmsd to guess the b1000 blockette if there isn't one present
fix db2sd to die if invalid seed codes are returned from the map routines
add a new utility routine for copying database external files (particularly waveforms)
attempt to allow ignoring seed code errors through trdefaults.pf
attempt to eliminate situations where orb2db writes miniseed
where the internal miniseed time tags fail the timing tolerance test when they're
read back by trgetSEEDwf.
much more strict checking of miniseed headers, requiring upper case letters, no underscores or question marks
make the tolerance used for checking miniseed internal time tags a separate parameter in trdefaults.pf
try to avoid problems in the transition between cdorb2db and orb2db by making the default waveform names different
cdorb2db appends an = sign by default to the wfname, db2msd replaces this with +
fix so that msd2wf doesn't quit on log miniseed blocks
libtt
fix problem with ttcalc on 64 bit snow leopard
minor cleanup of slowness man page
try to eliminate some name conflict with slowness_object(3)
libtt_locsat
This is a first attempt at a tt(3) interface for dblocsat travel time tables.
libttgrid
Add capability to write out performance grids to a file for subsequent display.
Change ttgrid file by adding min and max regular grid coordinates and strike.
Add new screening parameters (dont_apply_weights_for_relocation, drop_original_if_relocation_fails, drop_relocation_depth).
More verbose identification of threading-related errors.
Check to make sure number_threads is set properly.
Add more identification when pmtcomp_processthreads fails. Fixup so compiles cleanly on 64-bit.
Add in changes relating to plot grids
Fix rules for making the utele grid generation programs.
Open up matching origin thresholds a little.
libwffilbrtt
Add flag to BW filter to control recursion past values preloading.
Major changes to implement new S-domain polynomial factors (SPF) filter stage for doing instrument deconvolutions in a generalized way.
Add three more SPF factor definitions to round out all possible first and second order factor types.
New decimation generic filter (DECIMATE).
Up max stages to 100
libz
stop using antelope version of libz, use system version instead
log2miniseed
updated log2miniseed to provide a little better verbosity, and
make the default record size 4096 instead of 512.
miniseed2days
attempt to show what file contained the conflicting miniseed when miniseed2days
complains about a block with a time before a previously encountered time
msdd
improve the interactive mode by improving the record seeking behavior
better debugging with msdd -i due to offset command
better tracking of sequence number and record number
add hexdump and excerpt commands to interactive mode
facilitate debugging large miniseed files
show opaque blocks
improve the hexdump by showing offset, and reading 0x hex numbers
Allow specifying size of hexdumps
be a bit more cautious trying to uncompress bad miniseed record
fix a 32/64 bit problem
add option to ignore miniseed errors on command line
change display options a little to show when b1000 is guessed
orb2db
add option to not keep any waveform files open for writing
This could be better for the q330 status files, which probably get written
once or twice a day.
complain when flushing a channel for stagnant data, so that it shows up in log
explain the behavior more clearly in the man page and in the parameter file
orb2dbt
Add error printout when unstuffPkt returns an error.
Add detev to nocheck table in default orb2dbt.pf
Add -vvv option
orb2disk
add warning about large deviations in incoming packet order
orb2ntp
make moving clock backward message include how far back in orb2ntp
orb2orb
attempt to eliminate the anomalous -f option for orb2orb, and just use standard forb(3) semantics
add option to delay while copying packets from one orb to another
This could be useful for providing an orb with delayed packets only.
orb2pf
Fix memory leak.
orb2refdb
fix blunder with open return code
orbassoc
Economize on auth field modification.
Add documentation for no_output parameter.
Set up to properly merge events with no associations but with netmag entires, like produced by certain external bulletins.
Add rundblocsat to interface with dblocsat2 to use for automatic relocation using dblocsat2
Changes to support ability to output performance grids for display.
64-bit changes.
Document -leavetmps command line argument and gridfilename parameter for catching associator grid files.
orbserver
fix for change to legit_fd arguments
Add in some examples for rtexec usage.
commit the hack to ignore a failure to figure out the user name, which caused problems in Pakistan (due to Mach bootstrap port)
orbstat
make the names command in orbstat always clear the cache before each execution as requested
orbxchange
fix a leak and an error in orbxchange
fix 64 bit problems
pde2origin
Make sure nass and ndef are not NULL.
perl Datascope
fix some bad print formats
add snooze to perldb
add the new ring routines to the perl interface
add mapcenter to perl interface
perl orb
correct usage of orbresurrect
avoid problem with compiler options in perl on Darwin
a variety of small, but important, changes for 64 bit
use src_subcode in constructing srcname, previously ignored
perlpm
fix small bug recognizing end of array or list in pf file
try to improve ptk fonts on macs
only allow one alert window at a time
intermediate changes to ptk and dbgraph
try to eliminate error messages about hostid
fix up various syntax and error handling problems
install perlpf.3p man page with other man pages
try to eliminate bad fonts in ptk applications
eliminate complaint about O_RDONLY by replacing it with 0
add some routines for interpolating values from a hash into character strings (like getid)
pktmon
new version adds:
* new announce line
* stddev, linear fit
* command function to run external commands
* debug statement to print message at every evaluation of test
* channel screening in addition to packet screening, so some channels don't have to be saved
* new method of "decimating" the stored data which saves a new value only when it has changed
* new tally method which counts the number of entries within a time window
Some of the functions should probably be changed to return a value only if the requested
time window is all represented. Eg, avg(XYZ, 600) should perhaps never return a value
unless there's at least 5 minutes of data in the ring.
The stddev and average should probably be changed to weight the average and standard deviation
by the time difference between samples, particularly if the data has been "decimated"
But these changes will wait for later.
change test for end-of-file on orbreap to continue to process through stash packets.
pkttypes
improve the integration between libPkt/packets.pf and pkttypes(1)
ptkbplot
try to improve some error messages from tk bplot library
explicitly linking in the tk library seems to eliminate some
dynamic loading link failure which
prevented an actual error message from emerging
made a message about illegal mode argument more explicit
add viewport_pixels2wcoords, viewport_wcoords2pixels, and bplot_locate to man page header
put image caching on a disable/enable flag.
Rearrange caching logic and remove debug printout.
Fix bug in bplot_locate where multiple canvases are used.
q3302orb
Convert over to POSIX standard calls for termio control
Increase some string buffer sizes to account for long /dev/tty names on mac.
Update to using POSIX termios stuff.
Split out cfsetspeed call to cfsetispeed and cfsetospeed since Solaris does not support cfsetspeed
Add definitions for parsing QEP data packets.
Add documentation for timeout_datathread_hang parameter.
Add QEP data packet parsing.
Fix potential unstable wait-standoff situation when using extensive data debugging (log messages causes write queue to fill which generates more log messgaes, etc.)
Recognize and decode various new structures and requests to support environmental processor.
More QEP coding - implement EPCONFIG commanding
Make state and stash aware of EP channels. Make EP structures available for getconfig. Add Q330 "capability" bits to ident report in q330util.
Implement ep channel -> pf status packet output. Update q3302orb man page and parameter file.
Add EP channel processing for rates higher than 1 sps.
More changes to support EP channels with samprate > 1 plus various bug fixes.
Increase buffer size for reading token memory
Make so 64-bit compiles don't complain about implicit 32 to 64 bit conversions.
Breakout of registration when too many permission errors occur.
Fix NULL ep channel data problem
Fix datathread watchdog bug causing bogus restarts when registration fails.
Fix various lint complaints
Add loc code "EP" to Quanterr Environmental Processor channels
Fix logic bug in the bit manipulations for EP configuration
Add EP config change bit in status processing
Change MTU to 760 to accomodate base 96 encoding.
Add capability for obtaining Paroscientific channels for external humidity and temperature.
Add data debug printout of serial interface data values from Paroscientific sensors.
Add raw UDP packet caching for diagnostic purposes.
Split out data port oriented watchdog from control port oriented watchdog monitoring.
Add timeout_controlthread_hang parameter.
Fix memory alignment problem seen only on SPARC systems for 64-bit builds.
qed2origin
Make sure ndef and nass are not NULL.
reporting.5
add another reference on reporting man page
rtdemo
account for having more than 9 demos -- this is just a hack, but should work for a few years
fix some fonts to be prettier
rtexec
remove corefiles_ok program
don't worry about differences in ANTELOPE when running rtexec -k
rather than mangle old incident files in the logs directory,
just remove the older ones, and leave the new ones alone.
rtincident
include CrashReporter report (if we can find it) with rtincident
rtoutage
attempt to fix problem with logic in rtoutage causing some stations
to be marked down which actually had all their data. Anton
discovered this problem.
sac2db
move sachd, db2sac, and sac2db to contrib
schemas
Add ndef and nass as primary keys
Make legit ranges of ndef and nass >= 0. Add sentence in
nass description about how this should be equal to the
number of assoc rows that join with a particular origin
row.
Added info about addition of ndef and nass
to change list visible in dbhelp.
Added "f" to valid range of etype so that
indication of felt events could be tracked.
try to eliminate %d instead of %ld in schemas for 64 bit
schemas/css3.0.ext
address dlsensor table issue
With dbbuild, records in tables are closed (endtime != null) when
a new matching record is added which has a conflict.
If a record is added to dlsensor due to one configuration, and then
the datalogger changes, a new record is added to dlsensor, but the
previous one is not closed, because it does not conflict with the
new record: the primary key is different.
To fix this, I added snmodel snident time::endtime as an alternate
key for the dlsensor table. This now causes a conflict, which closes
the old record.
This appears to work.
I also added some more description of how the lead specs (from the
axis statement) can be morphed into the chident field -- if they
follow the naming convention lead==1-12.
seed2db
change format for sensitivity error message from f to e
to avoid printing out about 15 significant digits when the
test is for a relative difference of < 1%. This makes it
easier for the certify test to deal with (because the
answer is slightly different on different machines) and is
a little easier to read, too.
Use modified version of msd2wf which is a little more forgiving about
apparent time ordering problems. A common situation when requesting
SEED data from the DMC is for channels to be repeated. This change
will process properly through these cases. This is done in this
change by ignoring blockettes that are out of time order but continuing
to process other blockettes without a fatal error. Probably will add a
"strict" option in the future where blockettes out of time order will
generate new wfdisc entries regardless of the number of wfdisc rows
that end up getting generated.
Add new -strict_data_processing option and document in man page.
Add MM/HOUR conversion
tclds
add TABLE_CREATION to dbe Help menu
better tcl error routine with stack
tksend
Make so tksend dies whenever the maximum message length is exceeded. Presently it just complains but continues to pack the message buffer past its allocated size.
tkshowmem
add another man page
trdisp
add command line flag to suppress complaints about reverse integration problems in miniseed
trexcerpt
change verbosity for -vv and straight copies to announce success
trmapnames
move trmapnames into utilities directory
make the output of trmapnames a little more readable
trwfname
fixed some minor errors
ttgrid
Add description of pxstamin, ... in man page
uwd
improve relpath by adding interactive mode, and fixing test of correctness
xdiff
minor tweaks: ls /opt/antelope/testdata and data so that it's mounted before tests (on macs)
complain if exception file can't be opened
clean up hexdump output
Perl 5.10
This article has interesting detail about Perl 5.10:
http://www.perlmonks.org/?node_id=654086
* To get any of them, you have to have the statement:
use feature ":5.10" ;
* The // operator:
$a // $b
is the same as
$a ? $a : $b
* new switch statement:
given ($expr) {
when ( /re1/ ) { do one thing ; }
when ( /re2/ ) { do something else ; }
default { otherwise do this ; }
}
* There are a bunch of regular expression enhancements,
most of which I don't understand. But it seems it
might be possible to match patterns with embedded matching
parens (or curly braces, etc), for instance.
* The smart match operator is like == and eq and =~ all crammed
together, with a few extra features added as well. Smart match
determines whether two objects match, regardless of what type of
objects you throw at it. So you can directly compare hashes and
lists with it.
It's used in particular in the new switch statement. Here's an
example from perlsyn(1):
given($foo) {
when (undef) { say '$foo is undefined'; }
when ("foo") { say '$foo is the string "foo"'; }
when ([1,3,5,7,9]) { say '$foo is an odd digit';
continue; # Fall through
}
when ($_ < 100) { say '$foo is numerically less than 100'; }
when (\&complicated_check) { say 'complicated_check($foo) is true'; }
default { die q(I don't know what to do with $foo); }
}
"given(EXPR)" will assign the value of EXPR to $_ within the lexical scope of the block, so it's similar to
do { my $_ = EXPR; ... }
except that the block is automatically broken out of by a successful "when" or an explicit "break".
Most of the power comes from implicit smart matching:
when($foo)
is exactly equivalent to
when($_ ~~ $foo)
* You can write
my $_ ;
in a subroutine now.
* There are now "static" local variables, declared as state (instead of my) -
they retain their value between subroutine calls. The initialization is
executed only the first call, eg:
sub sequence {
state $cnt = 1001 ;
return $cnt++ ;
}
* Stacked file test; write
-e -x $filename
instead of
-e $filename && -x _
* Previous versions of Perl warned when you interpolate or concatenate
a variable containing the undefined value. That's handy, but 5.10
goes further by telling you which variable contains the undefined
value.
We've put
use feature ":5.10" ;
use strict ;
use warnings ;
into the perl template, but not in the xpl and xppl templates.
They're a good idea in every script, but are apt to break or cause a lot of warning
messages in existing scripts. Many of the Antelope scripts have had these added, and
occasionally you may see a message like:
Please bring it to our attention if you do.
1999 C Standard
** c++ comments:
// this is a comment
** designated initializers:
struct xyz { int a; int b; int c[99]; };
struct xyz AnXyz = { .b = 99, .a = -99 };
// member c is "zero'd" since it is not uttered in the init list
** variable declarations within for loop:
for (int i=0 ; i<3 ; i++ ) {
// this is the scope of i
}
// the loop variable i is not in scope here
** variables can also be declared anywhere before they're used, not just at the beginning of sections.
** The pseudo variable __func__, which can be printed out as the enclosing function.
There's also __FILE__, __DATE__ and __TIME__, (these may have been present before)
which may be a better way of embedding versions in
code. With the move to git, this could be important.
** To ring the bell, printf("\a") ;
** variable argument list macros, eg;
#define DEBUG_PRINTF(...) fprintf(stdout, __VA_ARGS__ )
** it's no longer ok to implicitly declare functions or variables as int; it must be explicit.
eg,
main()
{
is wrong, it must be:
int
main()
{
** there's an inline keyword, which should cause a subroutine to be inserted whole
into whereever they're used, instead of causing a subroutine call. Evidently,
such inline routines are specific to a source file, and must be declared static.
** There's a lot more effort to help mathematical programs:
There's a lot of talk about floating point and handling things like roundoff, the
net effect of which seems to be to move closer to fortran.
** There's a new _Complex and _Imaginary type.
_Complex double cd = -99.99; // imaginary part is zero
// either order ok
double _Complex cda[] = {
cd, -cd, cd, 1.23 * __I__
};
double d = cda[1]; // imaginary part tossed
_Imaginary double id = 99.99 * __I__;
** There are new generic math functions, accessed with
** There's a new boolean type.
_Bool b = 1;
** The remove() function is like unlink, except it will rmdir an empty directory.
** now you can have 1023 cases in a switch statement (oh, boy!!)
** identifiers now have at least 31 case sensitive characters (C89 spec was 6!!)
** there are a bunch of new format specifiers
** there are a bunch of new strftime format specifiers
** You can use an otherwise blank line with a single # for 'spacing'.
** The minimum maximum line length is 4096 bytes.
** The maximum number of characters produced from a single format specifier is 4095 (instead of 509).