Skip to content

Changelog

All notable changes to the AIMBAT project will be documented in this file.

[Unreleased]

โš™๏ธ DevOps & Infrastructure

  • Artifact@v4
  • Use vcs versioning

๐ŸŽจ Styling

  • Switch to formatting with black

๐Ÿ› Bug Fixes

  • Fix type hint
  • Fix importlib error for Python 3.7
  • Fix typo on readme
  • Listing snapshots when there were non causes error
  • Debug flag from cli commands didn't do anything

๐Ÿ“š Documentation

  • Correct links in badges
  • Add AIMBAT workflow
  • Link to contributros.md in root folder
  • Update data section
  • Add notebook to docs (#168)
  • Add CNAME file
  • Installation instructions using uv (#190)
  • Add asciinema
  • Switch to zensical
  • Re-arange api reference
  • Restructure usage section into workflow-based pages and TUI improvements

๐Ÿ“ฆ Miscellaneous

  • Ignore black commit in git blame
  • Add py312 to matrix
  • Switch to uv
  • Rename some commands to group them a bit better
  • Update to new pysmo names

๐Ÿ” Other Changes

  • Create CNAME
  • Switch from pipenv to poetry
  • Add new aimbat cli and setup defaults framework
  • Remove old stuff and add aimbat V2 files.
  • Add github actions and initial tests for the cli
  • Don't fail-fast (i.e. continue checks for other python versions)
  • Add command to download sample data
  • Use descriptors for defaults
  • Cleanup aimbat defaults class
  • Add checkdata command
  • Rename package from pysmo.aimbat to aimbat (#129)
  • Setup docs structure (#130)
  • Cleanup defaults script
  • Add cli for project
  • Switch to using sqlmodel to save project metadata.
  • Add devcontainer config
  • Add .tox and nohup.out to gitignore
  • Add autodoc to docs (#134)
  • Update Readme
  • Fix text alignment
  • Add accent colour to theme and add watch directory to make live-docs
  • Add logging (#189)

๐Ÿ”ง Refactoring

  • Add id column to default table
  • Split lib and cli files to speed up cli (#170)
  • Move AimbatDefaults class to other models and rename some things.
  • Save active event in a single row table
  • Move defaults directly to model instead of the yaml nonsense
  • Use more classes for tests (#192)
  • Rely on pydantic for validation instead of doing it manually (#193)
  • Use uuid as datbase id instead of int
  • Use window_pre and window_post as defaults instead of the whole timewindow
  • Better relationships between tables
  • Use env vars for defaults
  • Single uuid function for all classes
  • Make data reading more modular
  • Move aimbat source to src directory
  • Use pandas Timestamp and Timedelta
  • Improve docstrings, io DI pattern, and data source terminology
  • (core) Re-arange core, move set_default_event and friends out of core.
  • Active event -> default event
  • Use default event concept only for cli commands
  • Update plot seismograms.
  • Remove dead code (#231)
  • Quality stats integrated into read models and tui

๐Ÿš€ New Features

  • Initial checks in checkdata lib
  • Add-data to project
  • List data
  • Add parameters to data
  • Add parameter snapshots
  • Add plotseis
  • Add pyqtgraph plot option (#165)
  • Add icecream to print debug information
  • Add event select function and cli command
  • Switch to typer (#172)
  • Print table data for active events by default
  • Add snapshot rollback
  • Add enum types for Event and Seismogram parameters
  • Add initial iccs functionality (#185)
  • Add plot command group
  • Add time window picker
  • Add iccs ccnorm selector
  • Use a trigger to ensure only one event can be active
  • Update cli and lib to use new iccs options
  • Add ability to delete seismograms, events, and stations from project
  • Use pydantic-settings
  • Add dump option to main tables
  • Add simple errors to cli
  • Use channel and location in station table
  • Use pysmo defaults for ICCS
  • Add bandpass filtering (#214)
  • Add mccc
  • Add in-memory seismogram data cache
  • Add JSON datasource
  • Add TUI and supporting changes
  • Implement interactive shell and major documentation update for v2
  • Store ICCS/MCCC quality metrics in database

๐Ÿงช Testing

  • Add test data for 3 events instead of just a single sac file
  • Add integration and functional test suite (#218)

aimbat-v1.0.7

Sep 6, 2021

  • Bug fixes.

aimbat-v1.0.5

Aug 18, 2019

Main contributor: smlloyd, xlougeo.

  • Lots of code clean and restructure, including src, docs, and tests.
  • Package installation: make fortran optional, update dependencis, update travis, setup pipenv.
  • Update documentation.
  • Bug fixes.

aimbat-v1.0.4

Dec 23, 2018

  • Add SAC P1 Button to the main GUI
  • Plot only a subset of traces for faster data QC and (de)selection. All labels are plotted. Add a button to plot more traces

aimbat-v1.0.3

Dec 7, 2018

  • Some GUI setting changes

aimbat-v1.0.2

Dec 5, 2018

  • Add option to plot simple delay time map by matplotlib.pyplot

aimbat-v1.0.1

Dec 4, 2018

  • Fix bugs in changing trace selection status (QC), manual phase picking, and trace label.
  • Change in GUI settings. Using right button dragging is enough and give up on QScrollArea.
  • In cross-correlation, do not allow reverse polarity which causes cycle skipping too often.

aimbat-v1.0.0

Dec 3, 2018

Main contributor: smlloyd:

  • Use new pysmo.core.sac.SacIO (pysmo-pysmo-v0.7.0) instead of pysmo.sac.sacio.SacFile
  • New setup.py:
  • Wrap all scripts into a callable function and add them to entry_point, e.g., aimbat-ttpick is automatically generated in your bin folder.
  • Use git commit/tag to determine version automatically.
  • Setup travis
  • Package uploaded to pypi.org for each release since this.

Main contributor: xlougeo, ASankaran:

  • SAC plotting and aimbat-ttpick are still using Matplotlib GUI.
  • New GUI (aimbat-qttpick) using pyqtgraph for fast plotting. Similar user interactions as v0.3:
  • Key pressed event handler in pyqtgraph is redefined
  • Use mouse to change time window and press key 'w' to set <-- work on stack only
  • Press key 't[0-9]' to set time picks like SAC PPK <-- work on both stack and traces
  • Mouse click on waveform to change trace selection status <-- work on trace only
  • Better separation between data and plot.
  • Filter and sort are both in the main GUI controlled by a parameter tree.

aimbat-v0.3-alpha1

June 3, 2018

Main contributor: xlougeo

  • Upgrade to python3 (May not back-compatible with python2). No change in functionalities from v0.2.

aimbat-v0.2

Main contributor: lkloh

For changes made between Dec 19, 2012 (v0.1.2) and Aug 23, 2016:

  • Added a warning button if you hit ICCS-A or ICCS-B button, to make sure do did not hit it by accident.
  • Hitting one of those buttons will undo all the work you did in manually picking arrival times.
  • Added a button to allow you to jump to the front page. Note that hitting MCCC again will do just that.
  • Added a summary of the event at the top right hand corner: Magnitude, Location, Depth
  • Added a GUI to allow sorting of the seismograms according to header, time difference, file name, ...
  • Added a button to return to original screen after you zoom in/out

aimbat-0.1.2

Dec 19, 2012

Main contributor: xlougeo

  • Change sci format for scientific notation of sacp2: from 1e-5 to 10^{-5}
  • Change font properties for station label to "monospace" for equal width
  • Minor changes in program descriptions, example scripts
  • Further code development on github.com after this version.

aimbat-0.1.1

Sep 27, 2012

Main contributor: xlougeo

  • Change setup.py and package directory: modules --> src/pysmo/aimbat.
  • AIMBAT becomes a part of pysmo (https://github.com/pysmo/aimbat).
  • Python usage: import aimbat --> from pysmo import aimbat
  • Minor changes in help messages for scripts using the OptionParser module.
  • Adjust figsize-related function of ttpick.py to support backends other than Tk.

aimbat-0.1

Sep 19, 2012

Main contributor: xlougeo

First release on Northwestern website <https://www.earth.northwestern.edu/~xlou/aimbat.html>_