MSTL_PRINT(3)
π MSTL_PRINT(3) π
ok bestie, gather round, because we're talking about mstl_print β the Library Functions Manual entry for printing out MSTrace info. it's giving "let me tell you about your traces" energy and honestly? iconic. π
β¨ NAME β¨
mstl_print β Printing of MSTrace information. that's it, that's the whole job. printing. MSTrace. information. π
πΈ SYNOPSIS πΈ
#include <libmseed.h>
void mstl_printtracelist ( MSTraceList *mstl, flag timeformat,
flag details, flag gaps );
void mstl_printsynclist ( MSTraceList *mstl, char *dccid,
flag subsecond );
void mstl_printgaplist ( MSTraceList *mstl, flag timeformat,
double *mingap, double *maxgap );
three functions, all void, all here to print. no cap. π«Ά
π¦ DESCRIPTION π¦
mstl_printtracelist π
so mstl_printtracelist prints a formatted list of the trace segments living inside the MSTraceList you hand it. if the details flag is greater than 0, you also get the sample rate and sample count printed for each trace β like a little bonus info drop. and if the gaps flag is greater than zero, it also prints the time gap from the previous segment. everything gets printed using ms_log(3) at level 0, so that's where your output is going, periodt.
mstl_printsynclist β
mstl_printsynclist also prints a formatted list of the trace segments in the given MSTraceList, similar to mstl_printtracelist, BUT the format is a SYNC listing. fancy. if you supply a dccid string, it gets used together with the current system date to build the SYNC header line. and if the subsecond flag is true (non-zero), the time values in the SYNC lines will include full libmseed precision β otherwise they get truncated down to integer second values. so like, choose your own adventure: precise or rounded. π
mstl_printgaplist π
mstl_printgaplist prints a formatted list of the gaps between trace segments in the given MSTraceList. if mingap or maxgap is not NULL, their values will be enforced, and only gaps/overlaps matching their implied criteria get printed. filtering queen. π
the timeformat situation β°
the timeformat argument for both mstl_printtracelist and mstl_printgaplist controls the format of the resulting time strings. the possible formats are:
0: SEED time format (2005,146,00:00:00.000000)1: ISO time format (2005-05-26T00:00:00.000000)2: Epoch time, seconds since the epoch (1117065600.00000000)
negative gaps, yes really π
both mstl_printtracelist and mstl_printgaplist represent time overlaps as negative gaps. and for a single sample overlap, the value of the gap is calculated as zero β which gets printed as "-0" or negative zero, specifically to indicate an overlap. it's not a bug, bestie, it's a signal. π
π GAP/OVERLAP RULES π
ok so this part matters, listen up:
the existence of gaps and overlaps is implicit in the structure of the MSTraceList. no special processing is done to detect gaps and overlaps in these routines. they just... know. iykyk.
the value of a gap is calculated as the difference between the time of the last sample before the gap and the time of the first sample after the gap. no sample 'coverage' time is included.
the value of an overlap is calculated as the time between two samples which represent the maximum amount of timeseries overlap.
β οΈ and here's the gotcha: when the traces in the MSTraceList include a small segment that is completely overlapped by another larger segment, the gap/overlap value will not be correct for either the smaller segment or the segment following it. so like, heads up. π¨
π SEE ALSO π
π AUTHOR π
Chad Trabant IRIS Data Management Center
and that's the whole page, bestie!! this is the Libmseed API, dated 2008/11/21 β yeah it's been slaying since 2008, main character energy fr fr. now go print some traces. πΈβ¨π
π¦ where this page comes from
- debian bookworm: libmseed-doc 2.19.8-1 Β· LGPL-3.0-or-later
- debian trixie: libmseed-doc 2.19.8-1 Β· LGPL-3.0-or-later
- fedora 43: libmseed-devel 2.19.5-21.fc43 Β· LGPL-3.0-or-later
- fedora 43: libmseed-devel 2.19.5-21.fc43 Β· LGPL-3.0-or-later
- fedora 44: libmseed-devel 2.19.5-22.fc44 Β· LGPL-3.0-or-later
- fedora 44: libmseed-devel 2.19.5-22.fc44 Β· LGPL-3.0-or-later
- ubuntu jammy: libmseed-doc 2.19.6-3 Β· LGPL-3.0-or-later
- ubuntu noble: libmseed-doc 2.19.8-1ubuntu2 Β· LGPL-3.0-or-later
- ubuntu questing: libmseed-doc 2.19.8-1ubuntu2
- ubuntu resolute: libmseed-doc 2.19.8-1ubuntu3 Β· LGPL-3.0-or-later
- ubuntu stonking: libmseed-doc 2.19.8-1ubuntu3 Β· LGPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms