CHANGELOG
Version 1.2.1
fixed bug in
obsinfo ccfileminor refactoring
Version 1.2
Added subcommand
ccfile, to create msmod clock correction files for each station- Created add-on command
obsinfo-insu. Groups grandfathered add-on commands: obsinfo-makescript_LC2MSpytoobsinfo-insu LC2norm_scriptobsinfo-makescript_LC2SDSpyto `` obsinfo-insu LC2SDS_script``
- Created add-on command
- Added
instrumentationshortcuts: datalogger_serial_numberseismic_sensor_serial_numberpressure_sensor_serial_numberseismic_sensor_configuration``pressure_sensor_configuration`
- Added
Simplified output of
obsinfo yasmineand added all commonstationelements
Version 1.1
- Added subcommmands:
table: for tabular entry of deployment informationyasmine: to generate yasmine-cli command files
lat.degandlon.degnow accept strings, including versions with minutes or minutes and seconds- Added
SEISMICandPRESSUREkeys tochannel_mods: SEISMICselects all channels ending in one of ‘ABCENRTUVWZ123’PRESSUREselects all channels ending in one of ‘DFGHIOU’
- Added
fixed small
plotsubcommand bug (last station’s time bounds weren’t plotted)StationXML
Latitude,LongitudeandElevationatttributes now includemeasurement_method
Version 1.0.2
Added subcommand
makeYAMLmap plotting expands lat or lon ranges to avoid bad aspect ratios (and has a smaller minimum extent by default)
obsinfo setup -wcreates an absolute pathinput_unitsandoutput_unitsno longer requiredescriptionfixed bug
NameError: name 'stage_input_sample_rate' is not defined
Version 1.0.1
- Removed Station properties and methods that are not used subsequently:
processingproperty (added to comments in the constructor)extrasproperty (added to comments in the constructor)add_extras_to_comments()method (never used)
Removed
<Type>CONTINUOUSand<Type>GEOPHYSICALfrom default StationXML Channelslocation:
geologyandvaultare no longer requiredGrandfathered
subnetwork:reference_names(remove from docs, examples and templates, hide parameters)Fixed bug when calling obsinfo-makescripts_LC2SDSpy
Version 1.0
Information files
In all files
{$ref: "{path}/{filename}.{filetype}.json#{inner_path}"}can be written as{$ref: "{path}/{filename}.{filetype}.json"}if{inner_path}=={filetype}
In subnetwork files
instrumentation:basecan be a simple string instead of a reference to aninstrumentation_base.jsonfile. In this case,obsinfo xmlwill generate a station-level file (no channel or reponse information).positionelements are now specified bylat.deg,lon.degandelev.m(waslat,lonandelev)uncertainty.melements are stilllat,lonandelev(becauseuncertainty.mspecifies the units (meters))
The
station:location_codefield is no longer required if only one location is provided, in which case the station will use that location’s code.Empty location codes are allowed (but not recommended), for compatibility with StationXML
comments: added optional sub-elementsidandsubject, to conform to StationXMLstation:siteis no longer required. If it is not provided, the StationXMLsitefield will be set to the station code.clock correction information has been significantly altered to allow for multiple synchronizations, polynomial fits and cubic spline fits.
leapsecond(s) are now specified at the top level of the
subnetworkfile. Applied leapsecond corrections can still be specified for each stationnetwork:namewas removed (there is no equivalent in StationXML)
In other specific files
orientationspecification has changed:Was:
orientation: {{code_value}: {azimuth.deg: , dip.deg: }}Is:
orientation: {code: {value}, azimuth.deg: {value}, dip.deg: {value}}
The replacement code string is changed from
^toreplace_seed_codes:band_base` is replaced by ``seed_codes:band, possible values are:shortperiod: band code will be the appropriate ‘<=10s’ code for the sample ratebroadband: band code will be the appropriate ‘> 10s’ code for the sample rateA,I,O,L, orS: the band code will be as specified, regardless of the sample rate (allows historical codes such as ‘LOG’ and ‘SOH’)
The
ADCONVERSIONfilter now has A/D converter-specific fields
The
ADCONVERSIONfilter calculates it’s own gain.If a filter calculates its own gain (only
ADCONVERSIONfor now), obsinfo will compare this value to the stage-specified gain and output an error message if they differ by more than 1%
Subcommands have been added to the obsinfo command-line scripts. We simplified
the subcommand names where possible. If you
type obsinfo -h you will see a brief description of each subcommand
Renamed command-line scripts
Old Name |
New name |
|---|---|
|
|
|
|
|
|
|
|
|
|
obsinfo xml now validates the output file using FDSN’s
stationxml_validator
New subcommands
plot, configurations, template
Unchanged
The obsinfo-makescripts-XXX scripts have not yet been renamed, as they
are add-ons to the base obsinfo system
v1.0b1: first pip-released version 1
v1.0b2: fixed path bug in obsinfo setup, missing stationxml-validator
v1.0b3: fixed bug in which subnetwork operators were not transmitted down to station level
v1.0b4: better plotting in polar regions
Version 0.111
Renamed elements
networktosubnetworknetwork:network_infotosubnetwork:networklocation_base:localisation_methodtolocation_base:measurement_method
Improved StationXML conformity
authorsrenamed topersons, now has same fields as StationXML Personoperatorsubelements are nowagency(string),contacts(list of persons),website(URL string)changed several elements corresponding to StationXML multi-instance elements into arrays:
operators,operator:contacts,person:names,person:agencies,person:emails,person:phonesNote: did NOT change
equipmenttoequipments, because this would complicate updating equipment usingmodificationsandconfiguration
added
network:operatorelementremoved
instrumentation:operatorelementAdded StationXML-compatible id/source elements
stage, filter and equipment:
resource_idchannel and station:
source_id,external_referencesandidentifiersnetwork:
source_id,identifiers
Added other StationXML fields:
channel, station and network:
restricted_statuslocation and station:
water_level.mstage:
calibration_datesequipment:
installation_date,removal_date,calibration_date
Improved AROL conformity
Changed
polesandzerosspecifications from 2-element arrays to stringx + yjReplaced
offsetbydelay.samples
Added base-configuration-modifications structure
To the following elements:
instrumentation:
instrumentation,datalogger,preamplifier,sensorandstageother:
locationandclock_correction_linear
Other cleanup
replaced
network: reference_nameandnetwork: campaign_reference_namebysubtnework: reference_names: {campaign: , operator}changed
azimuthanddipinto objects withvalue,uncertaintyandmeasurement_methodfields (onlyvalueis required)added
delay.secondsfor analog filters (ANALOGandPolesZeros)moded
serial_numner,modificationsandchannel_modificationsfromstationlevel tostation: instrumentationlevel
Version 0.110
0.110.11: - Added obsinfo-makescripts-LC2SDS
0.110.12: - Fixed bug in clock correction reading (leapsecond and drift) - Made obsinfo-makescripts-LC2SDS write to campaign directory by default - Fixed some (not all) StationXML bugs:
Made clock correction Comments using JSON
Removed restrictedStatus=’unknown’ (invalid) from StationXML
Fixed bugs in Decimation filters and stage #s
Standardized uncertainties in Poles, Zeros, Elevation, Dip, Azimuths
Bugs that will probably have to wait for version 0.111:
instrumentation serial number and configurations not accounted for
0.110.13:
Made all obsinfo-test cases work
Added “serial_number” to station level (temporary fix before v 0.111)
Updated JSON schema to draft07, allowing more precise/compact information on mutiple-choice errors (e.g., different types of filter)
0.110.14:
Added StationXML test case and made it work
made
python -m unittest discoverwork
0.110.15:
corrected JSON validation schema for
orientation_codeimproved azimuth.deg and dip.deg schema definitions
Fixed a bug in reporting schema validation errors (in
obsmetadata.py) introduced when shifting to draft07Reduced a bug when a jsonref points to an inexistent pointer within a file
Uses Python 3.8-dependent syntax despite only requiring Python 3!
0.110.16:
Clean up information file validation, removing many redundancies in main/validate.py and hopefully fixing bug where schema files lacking “.schema.yaml” are searched for
Requires Python 3.7 syntax and only uses 3.7-dependent syntax
post2: streamlines
obsinfo-makescripts_LC2SDS’s output
0.110.17:
Improvements to channel_modifications:
Make reading a new sensor, datalogger or preamplifier work
Enable shortcuts for entering serial number
Updated documentation
Added developer and information_file documentation in channel_modifications/
Moved tests up to united top-level directory
offset can be a non-integer
0.110.18:
Added datacite information file
Added schema and validation of datacite, author, location_base, network_info and operator information files
Cleaned up some information file validation glitches
0.111: Major upgrade for structure and StationXML compatibility
Language changes
renamed:
networktosubnetworknetwork:network-infotosubnetwork:networkresponse_stagestostagesazimuth and dip to azimuth.deg and dip.deg
stations_operator to subnetwork:operators
subnetwork:operators is now a list, in accordance with StationXML. This element is the default operator for each station
Added subnetwork:network:operators element
Changed azimuth.deg and dip.deg from lists ([value, uncert]) to uncertainty dicts ({‘value’: number, ‘uncert’: number, ‘measurement_method’: str})
Require stages in datalogger, preamplifier and sensor
Created a general base-configuration-modification methodology (see obsinfo.readthedocs.org/Advanced) and applied it to instrumentation, datalogger, sensor, preamplifier, stage, location and timing elements.
Added optional resourceId sub-element to subnetwork, station, channel, equipment and filter elements
Added optional custom_fields sub-element to equipment and filter elements
Added measurement_method to location_base element
Standardized structure and nomenclature of elements that can be declared multiple times in StationXML:
In obsinfo, becomes a list and has ‘s’ and end of name:
operator->operators,contact->contacts
renamed
authortype toperson, madepersonmatch StationXML definitionpersonsub-elements arenames(list of str),agencies(list of str),emails(list of email-format str) andphones(list of phone #s)
removed ‘instrumentation_operator’ (was unused in v0.110)
Brought instrumentation modifiers within “instrumentation” object
Now has
base,serial_number,configuration,modificationsandchannel_modificationssubelements
Made ‘operator’ conform to StationXML standards
subelements are now
agency,contactsandwebsitecontactsis a list ofpersons
created optional
reference_nameselementcontains
campaign(oldcampaign_ref_name) andoperator(oldoperator:ref_name)
un-required
channelswithininstrument_baseadded optional
subnetwork:stations:{NAME}:operator, overridesstations_operatorfor this station.changed required
offsettodelay.samples(digital filters) ordelay.seconds(analog filters).offsetwas not the appropriate field for specifying the filter delay, it still exists but is limited to 0-1, usually 0changed non-standard filter names to ALL CAPS:
ADConversion->``AD_CONVERSION``,Analog->``ANALOG``,Digital->``DIGITAL``complex numbers are now specified as text (
[10, -4]becomes'10-4j')
Bugs fixed, including:
serial number is now correctly entered for
station:equipment
v0.111.post6:
Made v0.111 part of CHANGELOG.rst
Changes needed for StationXMLs to validate using stationxml_validator
Decimation:Offset (required element) added