Antelope Version 4.10 Release
May 2008
4.10 is still compiled as 32 bit, though considerable progress has
been made towards a 64 bit version. You will see this primarily in
many prototypes that have changed to use long instead of int. This
has no effect in the 32 bit version (since longs and ints are
the same size) but allows a much larger range in the 64 bit world.
The current release is compiled on the following architectures:
Solaris Solaris 10
Linux SuSE Linux 9.3 (i586)
Macintosh Mac OS X 10.4.11 (Tiger)
We had intended to move to a later SUSE release and a later Macintosh
release. However, we ran into problems creating a 32 bit release on
OpenSUSE 10.3, and problems getting perl/tk to compile on Macintosh
Leopard. The release should still function on these versions,
however.
Similarly, there are various difficulties getting the MatLab extensions
to compile. The latest Solaris Matlab evidently has only a 64 bit version.
For this release, you may have to compile it yourself.
This release includes a new program, dbcalibrate, that computes
spectral ratios between two waveforms and can be used to produce
sensor calibration response functions when using dataloggers, like
the Q330, that can be configured to record directly the calibrator
DAC output simultaneously with the sensor calibration output. This
program can also be used to compare calibration waveforms across
two different times for the same channel to look for any changes
that may indicate sensor problems.
The Brttplot graphics widgets that were originally added as tcl/tk
extensions have now been ported to perltk (see bplot(3p)). Generally,
the functionality is similar to the tcl/tk version but some new
features have been added. It is our intention to deprecate the
tcl/tk version of Brttplot and put all of our future efforts
into expanding the perltk version. As part of the port to perltk,
several new functions were added to libbrttutil including a
generalized vector function, buvector(3), a generized history
function, buhistory(3), and perl extensions were added for these
functions (vectory(3p) and history(3p)).
A new program, orbaddcalib, is in this release that can be used
to insert the calib, calper and segtype values into ORB waveform
packet headers. This allows operators to decouple the database
access usually required to obtain these parameters from intensive
data acquisition tasks, like q3302orb when acquiring a large number
of stations (e.g. USArray/Transportable Array).
The rtbackup script has been completely rewritten so that backups
are now done to other disk systems instead of to tape drives. The
original tape based script has been renamed rtbackup2tape. With
the advent of large and cheap NAS disk systems, tape based backup
has become less attractive. Tape media do not have particularly long
shelf lives, are expensive and have small capacities compared to
disk based systems. Because of the inconvenience of restoring from
tape based systems, archiving data to tape usually means that the
vast majority of the data will never be restored or used again.
Archiving data to NAS disk allows immediate access to all of the
archive data with no need to go through the restoration process.
It is our intention to deprecate rtbackup2tape. We leave it in
this release to preserve compatability with users who are already
using tape archive, but we will not be developing rtbackup2tape
further. We strongly advise all users to consider switching to
disk based systems for archiving and backup purposes.
A new program, orbproxy, has been added that provides general
orbserver proxy functionality. This was developed mainly to provide
orbserver proxies for Marmot based data concentrators, but it can
be used on other systems as well.
Changes which require configuration changes (incompatibilities with 4.9)
libbrttutil is now dependent on libtr, libds, libcoords, and libm.
This means that some Makefiles need to specify $(TRLIBS) instead
of $(STOCKLIBS) after -lbrttutil.
Programs Removed:
add_staname b3s2orb cluster
cluster_cleanup dbcheckseed dbresample
dbsteimu dsteim editgclgrid
ipd2 makegclgrid mktt
remodl rt2orb setbrn
taup2locsat ucsdsp2db ucsdwf2db
Programs Added:
64bit certify
dbcalibrate displayscal
heartbeat2db mkdlsensor
nscl orbaddcalib
orblag orbperformance
orbproxy tkorblag
rtbackup2tape
Contrib programs added:
arf David von Seggern
check_license_expiration foley
db2ims Jennifer Eakins
db2ph Frank Vernon
dblocgrad Frank Vernon
dbpick_combine Jennifer Eakins
dbresp Frank Vernon
dbresp1f Frank Vernon
dbs2n Frank Vernon
delay Gary Pavlis
deployment2vnd Jennifer Eakins
dlreport Jennifer Eakins
extrd glushko
hypotab danq
ims2dmc Jennifer Eakins
localmake Kent Lindquist
logs2dlevent Jennifer Eakins
mk_dmc_files Jennifer Eakins
ptt2stt Gary Pavlis
rtkill Kent Lindquist
tabcalc Gary Pavlis
ucpwish Frank Vernon
vnd2deployment Jennifer Eakins
New libraries
libpool renamed libbrttpool
New examples
dbbuild/dbbuild:
add_samprate-dbbuild
datalogger_sn_swap-dbbuild
datalogger_type_swap-dbbuild
dl_sens_sn_swap-dbbuild
dl_sens_type_swap-dbbuild
multiple_sensors_diff-dbbuild
multiple_sensors_same-dbbuild
mv_station-dbbuild
orientation_swap-dbbuild
run_dbbuild
sensor_sn_orientation_swap-dbbuild
sensor_sn_swap-dbbuild
sensor_type_swap-dbbuild
swapbytes_example.c
waveformPkt.c
Include file differences
new in /opt/antelope/4.10/include
ArrivalUpdater.h XcorProcessingEngine.h libisi_list.h
FixedFormatTrace.h antelopemake.local libisi_logio.h
HeaderMap.h fs2cs.h libisi_platform.h
ProcessingQueue.h iir.h libisi_stdtypes.h
SignalToNoise.h libisi_iacp.h libisi_util.h
XcorAnalysisSetting.h libisi_isi.h
subdirs (antelopemake helper script)
Man page usage lines differences
dbcalc.1:
dbcalc -[ert] database.table [ record# | expr ]
dbcalc -[ert] [-c expression] [database.table [ record# | expr ]]
dbcentral.1:
dbcentral [-n] [-t timestring] [-d] [-l] [-q queryfile] [database_clustername [task_nickname]]
dbcentral [-a] [-n] [-t timestring] [-d] [-l] [-q queryfile] [database_clustername [task_nickname]]
dbfixids.1:
dbfixids db idname [ idstart ]dbfixids [-s server] db [db2 ...]
dbfixids db idname [ idstart ]dbfixids [-i id1,id2,...] [-x id1,id2,...] [-s server] db [db2 ...]
dbids.1:
dbids [-p port] [-P pf] [-v] db
dbids [-p port] [-P pf] db
dbreplay.1:
dbreplay [-b max-behind] [-F foreignkeys] [-n #pkts] [-p pktsuffix] [-r rate] [-s subset] [-t timestep] [-T timeout] [-w orbclient] [-dePuvx] db|vw [[[server] mintime] maxtime|period]
dbreplay [-b max-behind] [-F foreignkeys] [-n #pkts] [-p pktsuffix] [-r rate] [-s subset] [-t timestep] [-T timeout] [-w orbclient] [-dePSuvx] db|vw orb [mintime [maxtime|period]]
dbverify.1:
dbverify [-tcijklprsuvx] [-S samples] [-A table[,table..]] [-C test1[,test2 ...]] [-I table[,table..]] [-N max-failures] [-O table[,table..]] [-P table[,table..]] database[.table]
dbverify [-tcijklprsuvx] [-S samples] [-A table[,table..]] [-C test1[,test2 ...]] [-I table[,table..]] [-N max-failures] [-O table[,table..]] [-P table[,table..]] [-X pf] database[.table]
dlautomrc.1:
dlautomrc [-a voltage_trigger ] [-d dltype] [-f] [-m "mail_list" ] [-n] [-p pfname] [-s "dl_sta1,dl_sta2,...."] [-t max_retries] [-v] [-x exclude] cmd_orb status_orb [target]
dlautomrc [-a voltage_trigger | -D database] [-d dltype] [-f] [-m "mail_list" ] [-n] [-N subset] [-p pfname] [-s "dl_sta1,dl_sta2,...."] [-t max_retries] [-v] [-V] [-x exclude] cmd_orb status_orb [target]
dlmon.1:
dlmon [-model dlmodel] [-mcol ncols] [-state {Icons|Multi|Single}] [-select_status expr] [-select_logs expr] [-subset expr] [-sort name] [-pf pfname] [-dump seconds] [-dump_image file] orbname [cmdorbname]
dlmon [-model dlmodel] [-mcol ncols] [-state {Icons|Multi|Single}] [-backup_time secs] [-select_status expr] [-select_logs expr] [-subset expr] [-sort name] [-pf pfname] [-dump seconds] [-dump_image file] orbname [cmdorbname]
ffilter.1:
ffilter [-BbCcDdelnpStuvVXxz] [-E s/from/to/] [-m re] [-r re] [paths]
ffilter [-aBbCcDdelnpStuvVXxz] [-E s/from/to/] [-m re] [-r re] [paths]
ipvalidate.1:
ipvalidate [-n list] [-p pf] [-v] [ip-addresses]
ipvalidate [-p pf] [-v] [ip-addresses]
miniseed2days.1:
miniseed2days [-d db] [-S dir] [-w wfname] [-s start-time] [-e end-time] [-m match] [-r reject] [-cDIkRUuv] miniseed ...
miniseed2days [-C chuckfile] [-d db] [-S dir] [-w wfname] [-s start-time] [-e end-time] [-m match] [-r reject] [-DIkUuv] miniseed ...
mk_dataless_seed.1:
mk_dataless_seed [-v] [-k] [-o dataless_seed] [-s station_regex] [-p parameter_file] input_database
mk_dataless_seed [-v] [-k] [-n snet_regex] [-o dataless_seed] [-p parameter_file] [-s station_regex] input_database
online_backup.1:
online_backup [-dmnvV] [-p pf] [-y ydays][directories]
online_backup [-dmnvV] [-c days] [-p pf] [-y ydays][directories]
orb2ntp.1:
orb2ntp [-d delay] [-f freq] [-n navg] [-m match] [-o nsec] [-r reject] [-u unit] [-v] orb
orb2ntp [-d delay] [-f freq] [-m match] [-n navg] [-o nsec] [-r reject] [-u unit] [-v] orb
orb2orb.1:
orb2orb [-dfltUvx] [-B bufsize] [-c pktsuffix] [-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 [-dfltUvx] [-B bufsize] [-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]]
orbdisp.1:
orbdisp [-c chan_match] [-l max-latency] [-m srcmatch_re] [-n] [-p packet-period] [-r srcreject_re] [-w seconds] orbserver [start-time [range]]
orbdisp [-c chan_match] [-l max-latency] [-m srcmatch_re] [-n] [-r srcreject_re] [-w seconds] orbserver [start-time [range]]
orbdlstat2xml.1:
orbdlstat2xml orbname dir
orbdlstat2xml [-v] [-a after] orbname dir
pfecho.1:
pfecho [-iqx] [-w|W] name [ params]pfwhich name
pfecho [-iqRx] [-w|W] name [ params]pfwhich name
q330util.1:
q330util [-port localport] [-port_base port_base] [-auth auth] [-sequence sequence] [-timeout timeout] [-i local_ipaddr] { pollsn targetip | ping targetip,lport,{info|} | register targetip,sn,lport | getconfig targetip,sn,lport,config | control targetip,sn,{eeprom|reboot|resync|gpson|gpsoff|gpscs} | sbpwr targetip,sn,interface,function,timeout | rqannc targetip,sn}
q330util [-port localport] [-port_base port_base] [-auth auth] [-sequence sequence] [-timeout timeout] [-i local_ipaddr] [-pfout] { pollsn q330ip | ping q330ip,lport,{info|} | register q330ip,sn,lport | getconfig q330ip,sn,lport,config | control q330ip,sn,{eeprom|reboot|resync|gpson|gpsoff|gpscs} | sbpwr q330ip,sn,interface,function,timeout | rqannc q330ip,sn | umsg q330ip,sn,lport,message | ident q330ip,sn[,tport[,lport]] | marmotfix q330ip,sn[,interface[,baudrate]]}
rtmail.1:
rtmail [-s subject] [-a filename] [-b bcc] [-c cc] [-v] [-d] recipient ...
rtmail [-s subject] [-a filename] [-b bcc] [-c cc] [-f from] [-r replyto] [-v] [-d] recipient ...
smartpick.1:
smartpick [\-nowait | -nostarttalk] [\-appname window_name] [\-winfile filename] [\-comout named_pipe] [\-geom dbpick_geometry] [\-pf pfname] dbname [trial_dbname]
smartpick [\-nowait | -nostarttalk] [\-appname window_name] [\-winfile filename] [\-dbxcor_appname window_name] [\-comout named_pipe] [\-geom dbpick_geometry] [\-pf pfname] dbname [trial_dbname]
Removed man pages:
BasicTimeSeries.3 Basic_Time_Series.3 Datascope_Handle.3
GCLrays.3 GCLraytrace.3 Metadata.3
MetadataError.3 SeisppError.3 ThreeComponentSeismogram.3
Three_Component_Seismogram.3 TimeSeries.3 Time_Series.3
TopMute.3 Top_Mute.3 add_staname.1
b3s2orb.1 cluster.1 cluster_cleanup.1
dbcheckseed.1 dbresample.1 dbsteimu.1
dsteim.1 editgclgrid.1 interpolate1d.3
interpolator1d.3 ipd2.1 makegclgrid.1
metadata.3 metadata_error.3 mktt.1
remodl.1 required_unix_pgms.1 resample.3
rt2orb.1 seispp_error.3 setbrn.1
slowness_object.3 taup2locsat.1 ucsdsp2db.1
ucsdwf2db.1 unsetenv.3
Added man pages:
64-bit.5 64bit.1 64bit_conversion.5
align_long.3 antelopemake.5 antelopemake.local.5
binbits.3p bpaxes.3p bpgrid.3p
bplot.3p bpmap.3p bppolyline.3p
bppolypoint.3p bptrace.3p bpviewport.3p
buhistory.3 buhistory_add.3 buhistory_create.3
buhistory_eval.3 buhistory_free.3 buhistory_free_tag.3
buhistory_free_history.3 buhistory_get_history.3 buhistory_get_points.3
buhistory_maxmin.3 buvector.3 buvector_append.3
buvector_copy.3 buvector_create.3 buvector_create_response_fap.3
buvector_create_tsamp.3 buvector_eval.3 buvector_free.3
buvector_free_tag.3 buvector_free_vector.3 buvector_get_point.3
buvector_get_points.3 buvector_get_vector.3 buvector_maxmin.3
buvector_put.3 buvector_puty.3 buvector_read.3
buvector_resize.3 buvector_transform_edp.3 certify.1
conversion.5 dbcalibrate.1 disable_certify.1
displayscal.1 examples_dbbuild.5 heartbeat2db.1
history.3p history_add.3p history_create.3p
history_eval.3p history_free.3p history_get.3p
history_get_maxmin.3p legit_fd.3 lookup_user.3p
marmot_web.5 mkdlsensor.1 msdpatch.3
nscl.1 orbaddcalib.1 orblag.1
orbperformance.1 orbproxy.1 pktchannel2trace.3
pktchannel2trace_free.3 pktchannel2trace_new.3 pktchannel2trace_put.3
pktchannel2trace_put_from_db.3 ptkdebug.3p ptkfontfamily.3p
ptkfontsize.3p ptktypewriterfont.3p tkorblag.1
vector.3p vector_append.3p vector_copy.3p
vector_create.3p vector_eval.3p vector_free.3p
vector_get.3p vector_get_maxmin.3p vector_get_point.3p
vector_puty.3p vector_read.3p vector_read_response_fap.3p
vector_transform_edp.3p
webdlmon.3h
Added contrib:
Msusneic.3p Danny Harvey
antelopemakelocal.5 Kent Lindquist
arf.1 David von Seggern
check_license_expiration.1 Steve Foley
db2ims.1 Jennifer Eakins
dbpick_combine.1 Jennifer Eakins
delay.1 David von Seggern
deployment2vnd.1 Jennifer Eakins
dlreport.1 Jennifer Eakins
dmcbull.5 Jennifer Eakins
dmcbull_schema.5 Jennifer Eakins
extrd.1 M. Glushko
hypotab.1 Gary L. Pavlis
ims2dmc.1 Jennifer Eakins
localmake.1 Kent Lindquist
logs2dlevent.1 Jennifer Eakins
mk_dmc_files.1 Jennifer Eakins
rtkill.1 Ruth Rutter and Kent Lindquist
tabcalc.1 Gary L. Pavlis
vnd2deployment.1 Jennifer Eakins
Parameter file differences
/opt/antelope/4.9/data/pf/.dbe.pf /opt/antelope/4.10/data/pf/.dbe.pf
< # Waveforms2 dbpick -
> # Waveforms2 tkdbpick -
< # for the wfdisc entry in the graphics array below.
> # for the wfdisc entry in the graphics array below.
> #
> # Note that dbpick does not take stdin as input
/opt/antelope/4.9/data/pf/cf.pf /opt/antelope/4.10/data/pf/cf.pf
> ^.*cannot create
> ^.*cannot open
> ^make.*: Entering directory
> ^make.*: Leaving directory
> ^.*improper member use
> ^.*not found
> ^.*undefined struct\\/union member
> ^.*incomplete struct\\/union\\/enum
> ^[[:alnum:]\\/]*:?[[:space:]]?\\/opt\\/antelope\\/[[:digit:].p]+\\/bin\\/dbwebproject:[[:space:]].*\\/?deposit[[:space:]]
> ^[[:space:]]*\\/bin\\/bash[[:space:]]
> ^[[:space:]]*config\\/install-sh[[:space:]]
> ^test[[:space:]]
/opt/antelope/4.9/data/pf/dlmon.pf /opt/antelope/4.10/data/pf/dlmon.pf
extensive changes to reflect configuration for USArray
/opt/antelope/4.9/data/pf/elog.pf /opt/antelope/4.10/data/pf/elog.pf
> t_format %a %b %e %H:%M:%S %Y
> u_format %Y-%j %H:%M:%S
/opt/antelope/4.9/data/pf/make_dbrecenteqs_map.pf /opt/antelope/4.10/data/pf/make_dbrecenteqs_map.pf
> stations_subset &Tbl{
> dbopen site
> dbsubset offdate == NULL
> }
/opt/antelope/4.9/data/pf/msdd.pf /opt/antelope/4.10/data/pf/msdd.pf
> scan look for next bad block
/opt/antelope/4.9/data/pf/q3302orb.pf /opt/antelope/4.10/data/pf/q3302orb.pf
changes for new auto buffer flushing capability and related to sensor calibrations
> db_orbtag dataorb # command line orb tag for db packets
> flush_buffer_thresh 0 # flush Q330 data buffer if the buffer gets larger than this
> # percentage full - 0 to disable
> flush_buffer_age 0 # data packets with ages greater than this value in seconds
> # are flushed - 0 means flush entire buffer
< data_cal_error yes no mst
> data_cal_error yes yes mst
< data_cal_status yes no 0
> data_cal_status yes yes 0
/opt/antelope/4.9/data/pf/rtexec.pf /opt/antelope/4.10/data/pf/rtexec.pf
< Min_vmfree 50 # Mbytes
> Min_vmfree 50 # Mbytes min for Solaris
< # following are used by rtreport
< minimum_days_data_space_left 3
< minimum_Mbytes_database_space_left 2000
< maximum_Mbytes_logs_space_used 100
< minimum_Mbytes_root_space_left 100
/opt/antelope/4.9/data/pf/rtreports.pf /opt/antelope/4.10/data/pf/rtreports.pf
> minimum_days_data_space_left 3
> minimum_Mbytes_database_space_left 2000
> maximum_Mbytes_logs_space_used 100
> minimum_Mbytes_root_space_left 100
/opt/antelope/4.9/data/pf/smartpick.pf /opt/antelope/4.10/data/pf/smartpick.pf
extensive changes
/opt/antelope/4.9/data/pf/trdefaults.pf /opt/antelope/4.10/data/pf/trdefaults.pf
> wfdisc_roundoff .000005
> M millimeters Wood-Anderson drum recorder
/opt/antelope/4.9/data/pf/trexcerpt.pf /opt/antelope/4.10/data/pf/trexcerpt.pf
add outer join with site even in the straight wfdisc views
Library differences
libbrttutil
Added
buhistory_add buhistory_create buhistory_eval buhistory_free
buhistory_free_tag buhistory_free_history buhistory_get_history buhistory_get_points
buhistory_maxmin buvector_append buvector_copy buvector_create
buvector_create_response_fap buvector_create_tsamp buvector_eval
buvector_free buvector_free_tag buvector_free_vector buvector_get_point
buvector_get_points buvector_get_vector buvector_maxmin buvector_put
buvector_puty buvector_read buvector_resize buvector_transform_edp
libdeviants
Deleted
UNIMPLEMENTED
unsetenv
libstock
Deleted
PerlOldRelics PerlRelics absdir complain die
expandx perlexhume register_error showenv showlist
libtr
Deleted
get_seed_data_record show_field trload_arrivals
Added
trWFDISC_ROUNDOFF ustc_patch
Detailed Changes from logs
64 bit changes were made across the board, but these should have no affect on
the 32 bit version of antelope.
antelope_update
try to fix so that return codes are always non-zero for failure
try to make the return code from antelope_update reflect whether
there are patches available.
use hostname from osinfo instead of using uname directly
try to make it look better, and maybe catch a few more errors
during patch installation attempts
antelopemake
add XINCLUDE to CXXFLAGS as Gary requested
use CC instead of ld to create dynamic load libraries with new solaris compilers
try eliminating the .F rules -- maybe Sun has fixed the rules in the latest
compilers
enable c99 constructs
switch to script subdirs script for list of directories
don't descend into certify directories during makes
antelopemake.5
added new man page on $ANTELOPE/include/antelopemake
askyn.pm
add a method for checking if all entries in a (very simple) parameter file
(like config.pf) are filled in.
make prompt for a value more bold
insist that parameter be entered in editpfile
certify
add bitness
put certify into distribution to encourage development of regression
tests.
allow tests in subdirectory of local directory
so that tests are closely associated with source code.
chk_miniseed
deprecate chk_miniseed in favor of chkmsd
css3.0
Add words about . characters indicating indeterminate measurements.
css3.0.ext calresult sensorcal sensormodel
schema changes to support new sensor calibration
css3.0.ext seismometer sensormodel
fix bad formats in seismometer and sensormodel tables
css3.0.ext/dlcalwf
This is a new table that will be used in place of the
old calwf table to reference calibration waveforms. The
old calwf table is so SDAS specific I decided to just leave
it alone since presumably there are still people who are
doing calibrations with the Q730B. I have attempted to make
this new table a little more generic, although it still
is aimed mainly at supporting Q330 cals.
Add a few more attributes.
Fixed problem with model attribute
Add samprate to dlcalwf schema to make analysis processing easier
css3.0.ext/dlsensor sensormodel
Add new tables to support calibration
data/templates perl
add 'use strict' and 'our ($opt_n, $opt_v) ; ' to template
data/templates/ptk
add use strict
use POSIX::_exit instead of $MW->destroy() to avoid some error messages
showing up at the command line.
db2msd
Don't recompress S1 format miniseed
db2sd
back up the endtime in the 050 blockette by .1 msec so it doesn't
fall into the next day, at the request of Eliana and the DMC.
dbbuild dbbuild_examples.5
Add some BUGS and CAVEATS.
Reference new files in $ANTELOPE/example/dbbuild
Fix some errors
Add examples
dbbuild
allow dbbuild to proceed even if response file fails test
Attempt to resolve a problem Hank at UCSB pointed out sometime
ago where he was unable to close a set of identical sensors at
a station. This is partly a (dbbuild batch) language issue,
as "close sensor sensor-name" can't distinguish multiple
sensors with the same name. Previously, it was only closing
all the named sensor in the database, but not doing the
corresponding operation completely in its internal
configuration. Now, close sensor sensor-name closes all
sensors of the specified name at the current station.
added a quit batch command to prematurely terminate
execution of a batch file, to make debugging easier.
tried to make the output of the dump command more streamlined
and readable, and the error messages when things fail a little
clearer.
fix problem with specifying lead in generated batch file
fix net/network problem in generated batch file
eliminate checks on the second letter of a channel code, which
is specified in the sensor parameter file. The user must
guarantee this is correct. (Previously, disallowed 'P' for
geophone, as pointed out by Niko)
add option to hide some of the dbbuild panel windows so that
the gui can be used on really small screens
dbbuild: mb2000_fil.pf mb2000_raw.pf
changing the orientation letter to D instead of 0 for these
barometers, since that's evidently what UCSB uses, and maybe they
know what they're doing. I don't think 0 can be correct.
dbbuild: sts2 sensors
Newly discovered information.
Very Important for sensor response aficionados and
dataless seed builders and users:
Whereas the mechanical part of the STS-2 seismometer
never changed since 1990, the electronics part has
been redesigned twice.
There exist three different "electronic" generations
which differ in the transfer function at frequencies
above 10 Hz.
sts2_g1 shipped 04/90-06/95
sts2_g2 shipped 06/95-02/98
sts2_g3 shipped 02/98 thru present
if any questions consult VLSTGEN2-ext.pdf or contact
Streckeisen representative
Notice that the old sts2.pf file has been moved to
old_sts2.pf!
This is done to make sure that future response
databases can be build properly.
dbbuild/sensors
Added in following parameters to allow q330 calibration processing to work
with sensormodel table.
caldrive c
active yes
calgen 1
cal2rsp 1
calper 1
dbcalc
add option to evaluate and print a single expression from the command line, suggested by David Vonseggern
dbcalibrate
Initial checkin of new sensor analysis calibration
program.
Eliminate and completely rewrite original Russell FORTRAN code
for doing the stacked cross-correlation/auto-correlation method
for computing stable spectral ratios as sensor response functions.
The computational algorithm is very similar to the original method
by Russell except: 1) time windows may overlap, 2) tapering is done
in the time domain instead of the frequency domain, 3) an arbitrary
number of frequency bands with different processing parameters can
be specified (Russell's was hardwired to 2), 4) the frequency
boundaries between the different bands can be specified as parameters.
All coding is in C and uses doubles.
Eliminate use of the old math library fft, t2f and taper routines
that were original written in FORTRAN and converted to c with f2c.
These routines have been rewritten directly in C. Dynamic memory
allocation is supported in t2f and eveything uses doubles instead
of floats.
Changes to implement comparison cals.
dbcheck_responses
print out peak magnitude instead of average magnitude, and try to suggest
a new normalization factor if there's a paz stage in the response and
the response doesn't appear to be normalized. Print everything at
lower resolution to avoid problems with comparing results from Linux to
Solaris to Mac.
dbcreate
fix dbcreate to use the right name for idserver (dbidserver)
dbdetect.1
Clarify the reject Tbl comments in pf and man page.
dbe
fix problem Natasha pointed out with dbe
fix mac problem in dbe
alphabetize the results from a schema search
change label for menubar font size changes
change default fonts for dbe to make them smaller, and squash together the
labels a bit to make buttons smaller
dbe.1
Additional explanation of Waveforms menu item
based on discussions with David Vonseggern.
dbevents
Fix a long standing bug involving an uninitialized array.
The Koreans finally provided the smoking gun with enough
detailed info to track it down.
dbfixids
try to add capability Frank requested, for synchronization with multiple id servers
update error message, fix typo in man page
update man page to reflect new options in dbfixids
dbids
fix the valid ip address checking
dbloc2
try to fix problems Natasha pointed out
Add examples of parameters to change in PF.
attempt to fix locking problem on leopard
switch to newer method for defining fonts which works better in more recent versions of tcl/tk
generally make layout tighter for smaller screens
All these changes relate to the look and feel of dbloc2 -- nothing much
has changed, but the look of buttons is different and everything squeezed
together much more, which should make it work better on a mac.
try to make dblocsat2 barf if there are too many arrivals, rather than say, quietly hanging
add some words about some of the restrictions for dblocsat2, per Taimi
rearrange some in attempt to make window workable on small screens
rework the font specs in dbloc2.pf
dbloc2_report_bug
Change default filename extension from Z to gz
to match actual compression done by dbloc_snapshot.
dbpick.1
explain that "-" cannot be used as the database name.
Add more description of filtering parameters in X default
resource database.
dbreplay
retrofit dbreplay so it can do the kind of simulation which db2orb
used to do and Anton is requesting.
fix the -r option also
switch to 1 second packets for realtime simulation option
make sure packets don't appear ahead of realtime
fix a small leak
dbverify
allow alternate parameter file
df2orb
add count packet option to df2orb to simplify testing for leaks.
diskserver
print correct sizes
add some more statistics at diskserver startup
displaynoise
First cut at new display routines for sensor calibration
displayscal
new program for displaying sensor calibrations produced by dbcalibrate
dlmon
Fix a bug in processing stash packets.
Add -backup_time parameter in command line and pf file.
Add sensor calibration defs in pf file.
Put back in mac-dependent resizing stuff.
Put in calibration related parameter display
elog
don't print out all error messages every time
event_archive
add checking for filled field in gap table for mk_gap_wfdisc.
examples
add example of swapbytes routines
example/c/db dbprocess.pf
add example of using joinkeys in dbprocess
example/c/orb
add a waveform packet example
fdkey.c
replace poll implementation with select so this works on macs
ffilter
change auto-splitting of input lines from stdin
getid
add alternation expression to getid
fix `getid bits`
try detecting /usr/X11 before /usr/X11R6 to avoid copying libX11.dylib to antelope/lib
add to getid
dynamiclib so.3
staticlib a
versiondigit 3 # also used for version in perl extensions
eliminate
libversion 3
grepsrc
add objective c files to the c++ search
heartbeat2db
add script to read heartbeat lines and save relevant parameters into a database,
for easier graphing.
add an example of using dbgraph
ipvalidate
adapt to table of rejected ip addresses
ldlibs
deprecate fortran with ldlibs
change some -V usage to -v
libPkt
change the way showPkt prints stash packets to allow tabs and linefeeds
libbrttpkt
Added documentation for new accumulator used in the evproc stuff.
Added pktchannel2trace_get_stats call
Make work properly with db data that is stored as floats.
libbrttutil
Make so that pmtfifo_data_available returns the number of
entries in the queue instead of always 1 when data is available.
Move old tcltk vector methods to brttutil and rename it buvector.
This will provide a common utility for new ptkbplot and old tcltkbplot
widgets.
Added time history routines into brttutil.
libcoords
gfortran doesn't seem to like unit numbers to be 2 byte integers
libdeviants
use Committed_AS - buffer space as mem used on linux, in an
attempt to get some meaningful total statistic.
some hopeful improvements on infopath
various minor issues, including putting in a declaration of strsignal(),
which is difficult to get from the system include files, and shows
up in different files on different systems
remove unsetenv man page, now a system routine
libdeviants/Linux sysboottime
make buffer larger to read sys boot time
libds
suggest checking locking when an invalid record size is detected if locks are not turned on.
update various man pages, mostly related to changing ints to longs
libforb
attempt to make forb routines faster by streamlining the read of packet times
libmappts
make dynamic library of mappts
liborb
remove ORBPREVT and ORBNEXTT, casualties of the removal of the time
threaded index from the orbserver.
fix two leaks related to selection/rejection strings in orb reopen logic
compute lag properly even when there is only a small gap in pktids between newest and oldest
only count clients which are reaping in the lag statistics
libpool -> libbrttpool
switch libpool to libbrttpool to avoid system conflict
libresponse
make the output fir/paz filters print a little more legibly
Try to avoid some problems where response files are incorrectly formatted.
attempt to improve the search for the flat area of response curve
try to be more careful about finding the frequency range of a response,
doing something different and simpler for simple fir filter responses.
install iir.h include file for iir filters
libstock
redo implementation of freespace to just use vfstat
fix calculation of freespace
close a memory leak in elog routines exercised in showPkt
avoid at least one potential infinite loop inside the verification routine
for the stash file
correct the return value from fstraverse
add reclose, reopen to re-stable of routines
clarify that source and destination may be the same for cleanpath
make yearday long, to avoid problems like dbputv(db, 0, "jdate", yearday(time), NULL) ;
add another legit_ip routine which just takes the socket fd
allow adding a list of reject_ip_addresses in the parameter file alongside valid_ip_addresses.
remove showenv from stock library, put into libxtra
allow modifying the precise format of the time tag by changing a format string
in elog.pf. It might be useful to add the day of the week for instance,
or to specify both a utc time and a localtime (hour:minute only perhaps),
to make it easier to connect local events (machines going down) with log events.
remove automatic uncompression during open in mapfile; fixes mysterious behavior in orbxfer2
fix leaks in elog routines
libtr
fix blunder which Cecily uncovered in steim uncompression routine --
result was segmentation fault for some of her miniseed files.
fix problem saving floating point data into sd format with trputwf
correct duplicate close in trputwf
define some new constants for umsd(3)
fix the output from msdget when no 1000 blockette is present for sparc_order and datatype.
Allow the new DMC miniseed data code 'M' (in addition to 'D', 'R', and 'Q').
modify return codes in ustc to be more meaningful
add Wood-Anderson drum recorder to trdefaults.pf table
deprecate trputwf
do some initialization properly even if trdefaults is screwed up
add hack in trclip to attempt to avoid Frank's wfdisc woes: force
rounded time value to be less than desired endtime.
make error message more verbose for Eliana
try to make it clearer that trwftype doesn't return a dynamically allocated
structure, but a pointer to a static structure.
when reading miniseed waveforms, read all the blockettes, not just the standard seed header.
This allows reading (what I think is) improper miniseed where
the sample rate in the standard header is zero, evidently created by
Nanometrics software.
evade overflow in the sequence number of (mini)seed blocks by rolling over
miniseed2days
try to mention all dropped blocks.
eliminate option to remove input files
add another caveat about -U option
more verbosity changes
restore the -c option with a default file of chuckfile.
more verbosity during -u processing
clarify dropping of bad time quality input miniseed blocks
miniseed2days
change -c option to -C filename so omitted blocks are copied out to a
separate chuckfile
miniseed2db
check for mmap failure, and mention the possibility in the man page.
add another branch for when file fails is_file(3) because it is too large
mk_dataless_seed
Add snet subset option
monitor_memory
gui for monitoring a process' memory usage
msdd
fix so it doesn't lie about miniseed datatype when there is no 1000 blockette
fix interactive mode save command
add interactive command to scan for bad blocks
make the hdr format output a bit more verbose and easier to read
online_backup
use strict
log to local directory logs instead of /var/tmp if it exists
use osinfo instead of uname directly
switch to rtmail for mail
orb2cd1s
Replace verbose printfs with elog_notify.
Clean up prototypes so compiles cleanly.
orb2db
attempt to fix problem at DMC: orb2db too slow
fix a couple typos -- should eliminate error messages with pktid == -5
try to make waveform locking safe for simpletech disks
stop complaining about being unable to verify the size of previous ascii
(and perhaps other) waveform files on restart.
orb2disk
try to be more graceful when disk space is limited
try to add warning complaint when diskserver disk usage is less than requested
add some options to the usage line
add a comment about packets which seem to jump way ahead in time
try to handle disk full situations better, and generally approach the
limit on disk size more carefully, so it should not typically be exceeded.
Change the behavior when opening a directory of forb files to position
the read pointer at the most recent packet, similar to what the orbserver
does.
fix messages to be more informative.
correct a bug in the naming of segment files which was probably introduced recently.
correct the checking of free space at startup
update man page to show some of the error messages from forb(3)
These changes should avoid problems with the segment time getting set to
sometime in 2035, and also eliminate the problem where segment files
get only one packet per segment.
add some sanity tests to forbput:
check that time < 1/1/2040
srcname is ascii, not null, less than ORBSRCNAME_SIZE in length
Possibly the ascii requirement could cause problems somewhere.
change default max packets per segment to 10,000 for better performance
open the (forb) disk before opening the orbserver, so that clean up
occurs before trying to open the orbserver. This might be useful
in some situations
orb2ntp
Change orb2ntp so that it always sets the system clock according to
the incoming packet times, without regard to how different they may be
from the current time. If the packet times vary widely (as we've seen
in the past with RefTek, for example), the clock may move both forward
and backward, leading to confusing and perhaps useless time tags in
the logs.
add some more info about ntpq output, complain more loudly when clock
is moved backwards.
orb2orb
add option of choosing metering rate in packets/second in addition to
existing option of kbytes/second.
orbaddcalib
This is the initial checkin of a new orb utility
that will add calib, calper and segtype on-the-fly
into ORB wavefrom packets as they are copied from
one orb to another orb. Optionally, the SEED codes
can be translated on-the-fly. Unlike orb2genc,
this program does not attempt to reformat any of
the ORB packets; it preserves whatever formats
the packets had originally. This program will allow
heavily threaded programs like q3302orb to not
have to rely on master databases for filling in
these values since datascope and threading are not
particularly compatible. This will also provide a
means to fill in NULL values from any other sources
before the packets hit orb2db. Note that this program
necessarily unstuffs and restuffs each waveform
packet. This means that the various SEED packet
types will not get processed by this program (since
there are no general stuff routines for these
packets).
Added -onlynull processing flag.
orbdisp
fix error in channel matching
orblag, tkorblag
new utility programs
orbmonrtd
tidy up the man page a bit
eliminate the attempt to use the settings from the sources list in the parameter file
for sources on the command line. A mixture of sources with settings and without,
in either the parameter file or as the result of an admixture of a parameter file
and sources on the command line results in extra timelines and apparently random
timeshifts between adjacent channels.
orbperformance
program to help in measuring orbserver performance
orbproxy
a simple orbserver proxy program that can be run on a host
remote from the proxied orbserver. This provides a means on marmot
concentrator units to access remote orbservers from other marmots in the
field without needing any local buffering. Like with the orbserver,
multiple simultaneous independent client connections are supported
and the robust liborb automatic reconnection is supported so that
the proxy is transparent to orb client programs.
orbserver
eliminate time linked-list inside orbserver for greater throughput
put the right value in the status struct for large ring buffers
orbserver64
add 64bit to the stat from orbserver64, so you can tell if you're connected to
a 64bit orb
orbstat
switch from baud to bps at Chad's suggestion
fix formatting of source list headers a bit, change to 1 digit after decimal point for baud rate
orbxchange
try to fix problem switching from one orb provider to another, described by Artak
fix for linux
osinfo.pm
truncate the .local Mac OS X appends to the local hostname
add bits routine for certify
change so that osinfo gets just the simple hostname, not the fully qualified hostname (on Darwin)
on marmot(arm) return serialnumber for hostid, marmot- for hostname
add bitness and passwd lookup
perl/vector
Add new Vector perl module to encapsulate buvector methods
in brttutil.
Added new History package
perldb
add pfget_size and pfget_time to perl interface
change for odd behavior of setrlimit on Darwin
fix strsignal when result is null
correct the initialization of some bury parameters
correct description of strlocaldate
perlorb
document orblag call in perl orb interface
perlq330
Fix problems in checksum and crc computations when actual payload after
the QPD header is 0 bytes long.
pfecho
add option to show when parameter values are overridden by later parameter files
ptk.pm
add canvas to ptk
add notebook, notebookpage and endnotebook to the ptk widgets
improve the error handling a bit when the layout specs are bad
ptkbplot
Port of the brttplot tk widget extensions to
perltk.
Added Tk::Bplot::getviewportwcoords method
Added polypoint canvas item and hooked up with new brttutil buvector methods.
Added polyline and ptext and added another test script
q3302orb
Added flush_buffer_thresh and flush_buffer_age parameters to implement
the flush old data capability requested by Bob Busby.
Added automatically generated warning log message whenever the DP token
values of net and sta are different from the values for physical channel
0 acquisition as defined in the q3302orb.pf configuration.
Large scale changes to support sensor calibration.
The approach is to look for special calibration structures
that get inserted into the data streams that announce a
calibration is taking place. The changes will cause the
creation of new database ORB packets in the new dlcalwf
table that will hopefully end up in an archive database
somewhere and reference the calibration waveforms, both
sensor and loopback (monitor), along with all of the
calibration parameters, such as waveform type, amplitude
durations, etc. This approach pretty well decouples the
commanding, capture and analysis phases so that any tool
could be used to command the calibration, but q3302orb
would still see it and create the capture database rows.
If I have set up the new table correctly, just about
any tool could also be used to do the analysis. Of course,
there are the grungy details of joining the sensor
info with the necessarily datalogger-centric new
dlcalwf table, but that would have to be done downstream
regardless.
Add definitions for registration packets
Add a few more packet types
Turn on calibrate error and calibrate status in default statuf pf
Add samprate to dlcalwf schema to make analysis processing easier.
Add local system time to timing packets.
Always set shutdown flag the very first thing no matter what
in signal handler.
This changes the first-last syncronization across link cycles.
Rearrenge repkt flushing and add mutex to repkt routines
Add option to control length of write mtfifo queue length
Always put stdout output logs to be inserted at the head
of the write mtfifo to get printed immediately.
Attempt to limit size of write queue by blocking
on the data packet read end.
Re-arrange signal handling.
Make sure that the timing packets are always pushed to the front
of the write FIFO to minimize latencies.
Add diagnostic log message to indicate when write thread has been flushed.
Forgot to parse -port_base arg.
Add capability to control individual sensor channels in
a sensor calibration so that a pure DAC to ADC loopback
with no sensors can be done.
Suck on write mtfifo a lot longer before giving up when shutting down.
q330util
Major changes to q330util to implement new marmotfix and ident
functions.
Added -pfout option and updated man page.
Add number_reboots and time_last_reboot to ident function.
Add umsg command.
qtunbale
try to fix Gary's problems with qtunbale
rt_baler_info
Better initialization
retry missing stations after each pass
better error logging
rtbackup
Complete rewrite. Now backs up to disk.
Still needs to backup event data.
Old program now named rtbackup2tape.
Major improvements in memory usage and pre-trexcerpt time. These changes
were pushed by stress testing the program on USArray TA data which indicated
potential problems on large networks. These problems would not show up in
normal networks.
Still need to get more creative with the trexcerpt section for TA. Currently
trexcerpt requires about 1.5 minutes to archive one day of TA station data.
At 400 stations this translates into about 10 hours of trexcerpt wall clock time
to process 1 network day of data (~3 GBytes).
rtbulletin.1
add -A to options
rtexec
remove colon from cron log filenames, to satisfy special mac filename requirements
check for existence of orbstat program before running it
try to prevent rtexec from committing suicide by sending itself a kill signal
during startup
change printf to print so that perl doesn't try to interpret format specifiers in the shutdown reasons
ensure that rtexec pid is cleared as system shuts down, and this
is done before the database is closed.
try to clean up the naming of cron log files
try to fix up bug caused by closing @Db in an attempt to always save the
database under Linux
rtm
Cleanup the handling of cron jobs, and always bring up the process panel in rtm
sort the list of channels passed to orbmonrtd
remove obsolete errors file from rtm View menu
rtmail
Implement replyto and from options.
Allows user to specify a reply-to address rather than the
generic responding to the generic $user@$mailhost.
attempt to deal with new CBL blocking of helo codes like "helo localhost"
rtreport
attempt to make rtreport and rtsys always report to stdout as well as sending mail, at Frank's request
make rtreport more useful at detecting multiple wfdisc records per channel
Revert to having warning levels specified in rtreports.pf not rtexec.pf.
rtsys
eliminate dependence on a waveform database.
schemas SDAS1.0 autodrm1.0 css3.0 cvs1.0 balerlist calresult calwf chanperf digitizer dlcalwf dlsensor dlsite dmcseed gps latency netperf q330comm q730b retransmit seismometer sensorcal sensormodel
mostly change %d to %ld
schemas css3.brtt
first pass at extending css3.0 in small ways for 64 bit
schemas css3.0.ext sensormodel
Added sngen and nominal response
schemas css3.0.ext dlcalwf sensorcal
Add dlcalseqr and timer to support comparison calibrations
sd2db
revert to using same order in fir filters in seed volumes as in response files, in response
to "FDSN" "decision".
sdd
stop printing errors in fir/paz coefficients if they're zero (minimize optical noise)
snapshot.pm antelope.1.id antelope.3 bugs.5 debugging.5
Request use of support@brtt.com over personal email
for bug reports or support requests.
restrict the output size of ls in snapshot
add solaris release info to snapshot
swapbytes.h
add the c++ stuff that Gary and Kent have requested
table2grid.tcl
fix deficiency in the blt table replacement code
tail2orb
Fix minor leak in tail2orb, make one complaint a bit clearer.
switch from baud to byte
tcl library tkdialog.tcl
use newer form of font spec
tks.h
make tks.h safe for c++ at Kent's suggestion
trdisp.1
Additional explanation of importance of join
order for input view based on discussions with
David Vonseggern.
trexcerpt
Try to make error message more clear when output would exceed css3.0 limits
on nsamp.
attempt to eliminate complaints about state of health channels with no sensor table entry.
add comment in man page about new parameter file parameter state_of_health_channels
truncate_log
change truncate_log to clean up the rtsys database by keeping
only the last few hundred records in the history, cron_history and shutdown
tables.
xdiff
add -q option