tobac - Tracking and Object-Based Analysis of Clouds
tobac is a Python package to rapidly identify, track and analyze clouds in different types of gridded datasets, such as 3D model output from cloud-resolving model simulations or 2D data from satellite retrievals.
The software is set up in a modular way to include different algorithms for feature identification, tracking, and analyses. tobac is also input variable agnostic and doesn’t rely on specific input variables, nor a specific grid to work.
Individual features are identified as either maxima or minima in a 2D or 3D time-varying field (see Feature Detection Basics). An associated volume can then be determined using these features with a separate (or identical) time-varying 2D or 3D field and a threshold value (see Segmentation). The identified objects are linked into consistent trajectories representing the cloud over its lifecycle in the tracking step. Analysis and visualization methods provide a convenient way to use and display the tracking results.
Version 1.2 of tobac and some example applications are described in a peer-reviewed article in Geoscientific Model Development as:
Heikenfeld, M., Marinescu, P. J., Christensen, M., Watson-Parris, D., Senf, F., van den Heever, S. C., and Stier, P.: tobac 1.2: towards a flexible framework for tracking and analysis of clouds in diverse datasets, Geosci. Model Dev., 12, 4551–4570, https://doi.org/10.5194/gmd-12-4551-2019, 2019.
Version 1.5 of tobac and the major enhancements that came with that version are described in the following peer-reviewed article in Geoscientific Model Development:
Sokolowsky, G. A., Freeman, S. W., Jones, W. K., Kukulies, J., Senf, F., Marinescu, P. J., Heikenfeld, M., Brunner, K. N., Bruning, E. C., Collis, S. M., Jackson, R. C., Leung, G. R., Pfeifer, N., Raut, B. A., Saleeby, S. M., Stier, P., and van den Heever, S. C.: tobac v1.5: Introducing Fast 3D Tracking, Splits and Mergers, and Other Enhancements for Identifying and Analysing Meteorological Phenomena. Geoscientific Model Development, 17(13), 5309-5330. https://doi.org/10.5194/gmd-17-5309-2024, 2024.
The project is currently being extended by several contributors to include additional workflows and algorithms using the same structure, syntax, and data formats.
Basic Information
- Installation
- Data Input
- Analysis
- Plotting
- Handling Large Datasets
- Example Gallery
- Test Blob in 2D
- Two crossing Blobs
- On Feature Detection: Part 1
- On Feature Detection: Part 2
- On Segmentation
- On Linking
- OLR from GOES-13 Satellite
- Combine Radar & Satellite
- WRF OLR
- WRF Precip
- WRF Updrafts
- WRF Mesoscale Vorticity
- Calculating Bulk Statistics during Feature Detection
- Calculating Bulk Statistics during Segmentation
- Calculating Bulk Statistics as a Postprocessing Step
- Simple Dask Parallel Tutorial
- Refereed Publications
Feature Detection
Segmentation
Tracking
Merge/Split
Developer guide
Compute bulk statistics
API Reference
- tobac package
- Submodules
- tobac.analysis module
- tobac.analysis.cell_analysis module
- tobac.analysis.feature_analysis module
- tobac.analysis.spatial module
- tobac.centerofgravity module
- tobac.feature_detection module
- tobac.merge_split module
- tobac.plotting module
animation_mask_field()
make_map()
map_tracks()
plot_histogram_cellwise()
plot_histogram_featurewise()
plot_lifetime_histogram()
plot_lifetime_histogram_bar()
plot_mask_cell_individual_3Dstatic()
plot_mask_cell_individual_follow()
plot_mask_cell_individual_static()
plot_mask_cell_track_2D3Dstatic()
plot_mask_cell_track_3Dstatic()
plot_mask_cell_track_follow()
plot_mask_cell_track_static()
plot_mask_cell_track_static_timeseries()
plot_tracks_mask_field()
plot_tracks_mask_field_loop()
- tobac.segmentation module
- tobac.testing module
generate_grid_coords()
generate_single_feature()
get_single_pbc_coordinate()
get_start_end_of_feat()
lists_equal_without_order()
make_dataset_from_arr()
make_feature_blob()
make_sample_data_2D_3blobs()
make_sample_data_2D_3blobs_inv()
make_sample_data_3D_3blobs()
make_simple_sample_data_2D()
set_arr_2D_3D()
- tobac.tracking module
- tobac.utils modules
- tobac.utils.bulk_statistics module
- tobac.utils.decorators module
- tobac.utils.general module
- tobac.utils.mask module
- tobac.utils.periodic_boundaries module
- tobac.wrapper module
- Module contents