Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

updated v1.5 reference to peer-reviewed #450

Merged
merged 7 commits into from
Oct 14, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/matrix_ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ["3.8", "3.9", "3.10", "3.11"]
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
os: [macos, ubuntu, windows]

steps:
Expand Down
6 changes: 3 additions & 3 deletions doc/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,14 @@ The software is set up in a modular way to include different algorithms for feat

Individual features are identified as either maxima or minima in a 2D or 3D time-varying field (see :doc:`feature_detection_overview`). 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 :doc:`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:
**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 currently under review in Geoscientific Model Development:
**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.

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, EGUsphere [preprint], https://doi.org/10.5194/egusphere-2023-1722, 2023.

The project is currently being extended by several contributors to include additional workflows and algorithms using the same structure, syntax, and data formats.

Expand Down
4 changes: 4 additions & 0 deletions doc/publications.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@ Refereed Publications
:widths: 30
:class: wy-table-responsive

* - 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 (2024). 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.

* - Heikenfeld, M., Marinescu, P. J., Christensen, M., Watson-Parris, D., Senf, F., van den Heever, S. C., and Stier, P. (2019). 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

* - Bukowski, J., & van den Heever, S. C. (2021). Direct radiative effects in haboobs. *Journal of Geophysical Research: Atmospheres*, 126(21), e2021JD034814, doi:10.1029/2021JD034814.

* - Bukowski, J. (2021). Mineral Dust Lofting and Interactions with Cold Pools (Doctoral dissertation, Colorado State University).
Expand Down
4 changes: 2 additions & 2 deletions tobac/tests/test_segmentation.py
Original file line number Diff line number Diff line change
Expand Up @@ -630,8 +630,8 @@ def test_segmentation_multiple_features():
out_seg_mask_arr = out_seg_mask.core_data()

# assure that the number of grid cells belonging to each feature (ncells) are consistent with segmentation mask
assert int(out_df[out_df.feature == 1].ncells.values) == size_feature1
assert int(out_df[out_df.feature == 2].ncells.values) == size_feature2
assert int(out_df[out_df.feature == 1].ncells.values[0]) == size_feature1
assert int(out_df[out_df.feature == 2].ncells.values[0]) == size_feature2
# assure that bulk statistic columns are created in output (one column added after segmentation)
assert out_df.columns.size - fd_output.columns.size > 1
# assure that statistics are calculated everywhere where an area for ncells is found
Expand Down
2 changes: 1 addition & 1 deletion tobac/tests/test_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -559,7 +559,7 @@ def test_transform_feature_points_3D():
5, 105, 20, max_h1=1000, max_h2=1000
)

orig_feat_df = tb_utils.combine_tobac_feats([orig_feat_df_1, orig_feat_df_2])
orig_feat_df = tb_utils.combine_feature_dataframes([orig_feat_df_1, orig_feat_df_2])

orig_feat_df["latitude"] = orig_feat_df["hdim_1"]
orig_feat_df["longitude"] = orig_feat_df["hdim_2"]
Expand Down
15 changes: 6 additions & 9 deletions tobac/utils/general.py
Original file line number Diff line number Diff line change
Expand Up @@ -714,7 +714,6 @@ def transform_feature_points(
the new grid, suitable for use in segmentation

"""
from .. import analysis as tb_analysis

RADIUS_EARTH_M = 6371000
is_3D = "vdim" in features
Expand Down Expand Up @@ -812,14 +811,12 @@ def transform_feature_points(
)

if warn_dropped_features:
returned_features = ret_features["feature"]
all_features = features["feature"]
removed_features = np.delete(
all_features, np.where(np.any(all_features == returned_features))
)
warnings.warn(
"Dropping feature numbers: " + str(removed_features.values), UserWarning
)
removed_features = np.setdiff1d(features["feature"], ret_features["feature"])
if len(removed_features):
warnings.warn(
"Dropping feature numbers: " + str(removed_features.tolist()),
UserWarning,
)

# make sure that feature points are converted back to int64
ret_features["feature"] = ret_features.feature.astype(int)
Expand Down
Loading