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

Merging RC_v1.4.0 into main #203

Merged
merged 224 commits into from
Nov 18, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
224 commits
Select commit Hold shift + click to select a range
b156b45
Merge Split algorithm added
kelcyno Jun 6, 2022
9eefd15
add spectral filtering function to utils
Jun 8, 2022
ed47165
added wavelength parameter in feature detection functions
Jun 8, 2022
24b2951
add check to ensure that wavelength input cannot be larger than the d…
Jun 8, 2022
ebcead6
add dxy to feature_detection_multithreshold_timestep because it is ne…
Jun 8, 2022
66d363e
formatting
Jun 8, 2022
25a3f8d
add test for spectral_filtering
Jun 8, 2022
3479588
add better description of assert statements
Jun 8, 2022
3b10583
formatting
Jun 8, 2022
7139e8a
add comment in test_utils.py
Jun 8, 2022
00bfcf7
add comment in test_utils.py
Jun 8, 2022
50e59ff
added parametrizing fixture so that feature_detection_multithreshold_…
Jun 8, 2022
a8c6be5
formatting
Jun 8, 2022
d9591b6
revised analysis.py docstrings
snilsn Jun 8, 2022
2e180c4
segmentation.py revised
snilsn Jun 9, 2022
629b31a
testing.py docstrings revised
snilsn Jun 9, 2022
66ac70b
tracking.py docstrings revised
snilsn Jun 9, 2022
f2cc85f
centerofgravity.py docstrings revised
snilsn Jun 9, 2022
6bbadc6
feature_detection.py docsrings revised
snilsn Jun 9, 2022
beefabf
reformatting with black
snilsn Jun 9, 2022
b550e3b
black formatting
Jun 16, 2022
edc5f25
black formatting
Jun 16, 2022
9130f00
fixing typo
snilsn Jun 23, 2022
40d9f99
fixing typo
snilsn Jun 23, 2022
0751711
deleting note
snilsn Jun 23, 2022
bfc771f
add unit
snilsn Jun 23, 2022
7d1d3d2
add unit
snilsn Jun 23, 2022
90c871b
fixing typo
snilsn Jun 23, 2022
fb8f551
fixing typo
snilsn Jun 23, 2022
17c317e
fixing typo
snilsn Jun 23, 2022
799a818
fixing typo
snilsn Jun 23, 2022
1270bcf
deleting comment
snilsn Jun 23, 2022
8a9b9dd
improved wording
snilsn Jun 23, 2022
1e110e8
fixing typo
snilsn Jun 23, 2022
7a3f2ca
fixing typo
snilsn Jun 23, 2022
f6f81b4
delete remnant
snilsn Jun 23, 2022
76fa690
remove remnant
snilsn Jun 23, 2022
ceace3c
fixing typos
snilsn Jun 23, 2022
918fce9
removing remnant
snilsn Jun 23, 2022
b77a517
correcting datatype
snilsn Jun 23, 2022
e0e4dda
correctign datatype
snilsn Jun 23, 2022
b905205
adding requested changes
snilsn Jun 23, 2022
a7cdc19
remove comments
snilsn Jun 23, 2022
cd5dacd
fix formatting
snilsn Jun 23, 2022
eb412de
add zenodo json file
mheikenfeld Jun 26, 2022
47d3c47
added my author info to json file
Jun 27, 2022
e140c9c
replacing the word cloud, more explanation of subnetwork_size, clarif…
snilsn Jun 28, 2022
cb4b3bb
reformatting
snilsn Jun 28, 2022
fee0014
adding author info Pfeifer (#33)
snilsn Jun 28, 2022
b014ff0
Add Bruning affiliation (#32)
deeplycloudy Jun 28, 2022
7685f47
Added documentation from 3D/PBC PR
freemansw1 Jun 28, 2022
495e603
Updated formatting of examples
freemansw1 Jun 28, 2022
b539060
Fabian added his name and affl. to zenodo file
fsenf Jun 29, 2022
bcf2e08
bugifx: forgot a bracket...
fsenf Jun 29, 2022
4e68e7e
work in comments
snilsn Jun 29, 2022
1525701
Add Xin affiliation
zxdawn Jun 29, 2022
0d0f8a2
working in remarks tracking.py
snilsn Jun 29, 2022
761ecb7
made all the necessary changes to have wavelengths in same unit as dx…
Jun 29, 2022
099552c
added ValueError and warning to make sure wavelengths are given in ri…
Jun 29, 2022
a20dbed
modified testing for spectral filtering based on dat with wave signal
Jun 29, 2022
0c56b55
corrected import of fft function
Jun 29, 2022
dbe9544
formatting
Jun 29, 2022
3347418
fixed issues for testing
Jun 29, 2022
2f0bead
fixed wavelength unit also in test_feature_detection.py
Jun 29, 2022
f8ba18c
black formatting
Jun 29, 2022
bbf889e
Added tracking output columns
freemansw1 Jun 30, 2022
0db6d3b
Switched main doc page to index
freemansw1 Jun 30, 2022
286872b
Added tracking_output to Output Documentation subheader
freemansw1 Jun 30, 2022
fd1005e
including documentation on conf.py
freemansw1 Jul 2, 2022
d1f23b4
Update merge_split.py
kelcyno Jul 3, 2022
17b7883
Cleaning up some of the documentation pages
freemansw1 Jul 3, 2022
3c17299
Fixed links
freemansw1 Jul 3, 2022
589d803
Fixed some sphinx warnings
freemansw1 Jul 3, 2022
c28b47d
Cleaned up installation
freemansw1 Jul 3, 2022
f4484e5
More documentation on feature detection parameters
freemansw1 Jul 3, 2022
9c1e1d2
Cleaned up formatting
freemansw1 Jul 3, 2022
98271d8
New position_threshold notebook
freemansw1 Jul 3, 2022
8174ffe
Explanation of threshold parameters
freemansw1 Jul 4, 2022
0c34144
Merge pull request #2 from freemansw1/doc-changes-parameter-updates
freemansw1 Jul 4, 2022
769f939
Addition of readthedocs requirements
freemansw1 Jul 4, 2022
3f3a346
Merge pull request #3 from freemansw1/doc_changes_3dpbc
freemansw1 Jul 4, 2022
6413646
Cleaning up some simple text
freemansw1 Jul 4, 2022
3322c0e
docstrings for some functions
snilsn Jul 6, 2022
327e277
delete dublicate
snilsn Jul 6, 2022
ab04f8f
cleaning up
snilsn Jul 6, 2022
d3aa8ea
Ran Black formatting on file.
kelcyno Jul 7, 2022
cbc80f8
Allowed optional import of additional packages: geopy, and networkx.
kelcyno Jul 7, 2022
2c28420
fixing typos, rephrase module description, working in suggestions
snilsn Jul 8, 2022
653e3d0
Added the remainder of the feature detection discussion
freemansw1 Jul 10, 2022
0a8836e
Fixed a bug where not all notebooks were linked.
freemansw1 Jul 10, 2022
c33b7cf
Started to add segmentation parameter description
freemansw1 Jul 10, 2022
3c77bb1
Added descriptions of level and max_distance parameters
freemansw1 Jul 11, 2022
fe118aa
Merge pull request #4 from freemansw1/doc-changes-parameter-updates
freemansw1 Jul 11, 2022
6807a98
clarifying non-optional kwargs
snilsn Jul 11, 2022
3900b63
Merge pull request #138 from snilsn/docstrings
freemansw1 Jul 11, 2022
6e73fca
Merge pull request #155 from snilsn/plot_docs
freemansw1 Jul 11, 2022
c15ad8d
specified black version in workflow
Jul 12, 2022
02361d8
specify to use first stable version 22.6.0 of black in CONTRIBUTING.md
Jul 12, 2022
455abed
asking users to use at least first stable version of black in CONTRIB…
Jul 12, 2022
7f969a4
Merge pull request #161 from JuliaKukulies/RC_v1.4.0
JuliaKukulies Jul 15, 2022
6fd4dc4
added google groups links
RBhupi Jul 19, 2022
1e65788
solve merge conflict
Jul 23, 2022
c137d26
Merge branch 'JuliaKukulies-spectral_filtering' into spectral_filtering
Jul 23, 2022
7a27401
black formatting
Jul 23, 2022
3d736d6
Merge pull request #137 from JuliaKukulies/spectral_filtering
JuliaKukulies Jul 23, 2022
c2cec75
added publication list to RTD and changed max table width in .css fil…
Jul 23, 2022
68ceff5
added html static path to make table configuration work
Jul 23, 2022
f8d6b6a
Revert "added html static path to make table configuration work"
Jul 23, 2022
f5a00a1
Revert "added publication list to RTD and changed max table width in …
Jul 23, 2022
c0039c7
added publication list
Jul 23, 2022
cfa2226
added publication page in index.rst
Jul 23, 2022
cb06709
added html static path in conf.py and max-width in css file to enable…
Jul 23, 2022
587380c
adding exceptions for adaptive search parameters, reset trackpy param…
snilsn Jul 28, 2022
2aa962f
update docstring
snilsn Jul 28, 2022
e1e375f
saving previous values for subnet size
snilsn Aug 9, 2022
d94e390
Merge branch 'main' into merge_split
kelcyno Aug 12, 2022
6ba5d41
Updated with suggestions from code reviewers, and tobac v1.3.
kelcyno Aug 18, 2022
de9fce6
adding test for saved trackpy parameters
snilsn Aug 23, 2022
c93533b
add docstring for test function
snilsn Aug 23, 2022
acdf257
first docstrings revised, bugfix
snilsn Sep 1, 2022
1c3c04b
Merge branch 'Hotfix' into merge_split
kelcyno Sep 1, 2022
fde11f2
more functions tested, docstrings revised
snilsn Sep 3, 2022
04e953d
bugfix, masking docstrings revised
snilsn Sep 4, 2022
ef888ef
non masking docstrings revised
snilsn Sep 7, 2022
08f1c85
reformatting
snilsn Sep 7, 2022
9d05857
Black formatting
kelcyno Sep 7, 2022
a25f984
Black formatting
kelcyno Sep 7, 2022
54e21ae
Merge branch 'main' into RC_v1.4.0
freemansw1 Sep 9, 2022
8c96667
Notebook updates to add separators
freemansw1 Sep 9, 2022
5938fcd
Updates based on Peter's comments
freemansw1 Sep 9, 2022
8a03a2b
Merge branch 'RC_v1.4.0' into bugfix_trackpy
snilsn Sep 9, 2022
20c4035
reformatting
snilsn Sep 9, 2022
a7b65d9
fixing typos
snilsn Sep 9, 2022
397974e
adding exception for non working function
snilsn Sep 9, 2022
cd70bd1
Merge pull request #173 from snilsn/utils_docs
JuliaKukulies Sep 9, 2022
955e799
Merge pull request #168 from snilsn/bugfix_trackpy
freemansw1 Sep 9, 2022
c8b83cc
Adding a version number to tobac
freemansw1 Sep 9, 2022
b01ba9f
Updates to notebooks based on feedback
freemansw1 Sep 9, 2022
5aecc8b
Added edits based on Nils's comments
freemansw1 Sep 9, 2022
47e58a4
Updates from Julia's changes
freemansw1 Sep 9, 2022
4074eae
Merge pull request #5 from freemansw1/doc-changes-parameter-updates
freemansw1 Sep 9, 2022
cc903de
Revisions based on Julia's comments
freemansw1 Sep 12, 2022
be85f36
Raise NotImplementedError when using extrapolation
freemansw1 Sep 12, 2022
f5ad032
Merge pull request #150 from freemansw1/doc_changes_3dpbc
freemansw1 Sep 12, 2022
be19079
Fix so that zenodo schema matches
freemansw1 Sep 12, 2022
4b9ed0a
Updates to zenodo author list
freemansw1 Sep 12, 2022
5a4ad49
corrected input pkg_name for get_version()
Sep 12, 2022
9635f53
Merge pull request #177 from freemansw1/extrapolate-depreciation
freemansw1 Sep 12, 2022
121624b
updated Nils affiliation
fsenf Sep 13, 2022
19d2114
Merge pull request #139 from mheikenfeld/zenodo_json_contributors
freemansw1 Sep 13, 2022
c25f588
Updates to documentation and merge_split
kelcyno Sep 18, 2022
6327c8d
Formatting
kelcyno Sep 18, 2022
99cb179
Updated utils.py with changes made for 1.4
kelcyno Sep 19, 2022
6391513
Updating Cell numbering.
kelcyno Sep 25, 2022
b9c4d26
None type error in Projection option
kelcyno Sep 25, 2022
c6c8766
Merge branch 'RC_v1.4.0' into merge_split
freemansw1 Sep 27, 2022
fb18413
Deleting the build/lib file that is not needed for the PR
kelcyno Oct 3, 2022
2a9255c
Updating documentation, and merge/split methods.
kelcyno Oct 4, 2022
17339eb
Merge branch 'merge_split' of https://github.com/kelcyno/tobac into m…
kelcyno Oct 4, 2022
53cf5b3
Black formatting
kelcyno Oct 4, 2022
a7b96b9
Updated version number test
freemansw1 Oct 10, 2022
3b3362e
black formatting
freemansw1 Oct 10, 2022
b910b18
Merge pull request #175 from freemansw1/add-version-number
freemansw1 Oct 11, 2022
f23b6b3
Testing update
kelcyno Oct 11, 2022
aac1bd6
Updates to codecov configuration
freemansw1 Oct 13, 2022
1526968
Moved ignore paths to quotes
freemansw1 Oct 14, 2022
b061073
Update .coveragerc to exclude setup.py
freemansw1 Oct 17, 2022
dfe3b38
Merge pull request #183 from tobac-project/update_codecov_yml
freemansw1 Oct 17, 2022
2fa814a
added new combination function
freemansw1 Oct 21, 2022
41badac
added tests, fixed a bug
freemansw1 Oct 21, 2022
068b014
updates to documentation for new function
freemansw1 Oct 21, 2022
d0ec74d
add dxy, min_distance, wavelengthfiltering to docstring
Oct 21, 2022
c455676
add unit specification for minimum distance
Oct 21, 2022
3cedbc8
assure that indices are unique when dataframes are concatenated
Oct 21, 2022
b628341
add test for filter_min_distance
Oct 21, 2022
2d25332
remove redundant import
Oct 21, 2022
ba1f620
black formatting
Oct 21, 2022
59c2ddd
fixed wrong keyword
Oct 21, 2022
8f9ae47
numpy import in test function
Oct 21, 2022
dedefdb
Allow users to keep old feature column. Update docstrings.
freemansw1 Oct 21, 2022
03b4a73
Merge pull request #186 from freemansw1/combine_feature_dfs
freemansw1 Oct 21, 2022
7291228
close quotes in docstrings
Oct 21, 2022
e43536c
Merge pull request #187 from JuliaKukulies/bugfix_unique_values_fd
JuliaKukulies Oct 21, 2022
29e5598
Merge pull request #189 from JuliaKukulies/docstrings
JuliaKukulies Oct 21, 2022
eb6015d
Added classifiers and version requirement
freemansw1 Oct 24, 2022
6d28512
switch dropping support for deprecating support
freemansw1 Oct 24, 2022
9e0595d
explain segmentation output on documentation page
Oct 24, 2022
0744e06
Switch to warning on import
freemansw1 Oct 24, 2022
ac2e023
added page on rtd to visualize cases for features without segments
Oct 24, 2022
ab676ae
added new rst files
Oct 24, 2022
dd88c30
removed redundant text and fixed formatting for RTD page
Oct 25, 2022
51d87b9
solve merge conflict by pulling in latest changes from RC_v1.4.0.
Oct 25, 2022
2cacf39
Merge pull request #193 from freemansw1/drop_python_36
freemansw1 Oct 25, 2022
83e48a2
add badge and clarify what tobac is
freemansw1 Oct 26, 2022
c9374c1
Update badge link, update all links
freemansw1 Oct 26, 2022
1bda665
updates to contributing section
freemansw1 Oct 26, 2022
d0bfa42
minor text changes and additional figure to visualize position_thresh…
Oct 26, 2022
bb5c133
minor fixes of links
Oct 26, 2022
200dc1d
typo fix
freemansw1 Oct 26, 2022
934c3ef
fixed "<=" in features_without_segmented_area.rst
JuliaKukulies Oct 27, 2022
bc8ae3c
Merge pull request #195 from JuliaKukulies/update_doc_segmentation
JuliaKukulies Oct 28, 2022
720ef18
Merge pull request #197 from freemansw1/update_readme_v14
freemansw1 Oct 31, 2022
5ba57bd
Merge branch 'RC_v1.4.0' of github.com:tobac-project/tobac into patch-1
freemansw1 Oct 31, 2022
01b9fcb
Updated mailing list links and added discussion of slack
freemansw1 Oct 31, 2022
4e61765
Revert "Updated mailing list links and added discussion of slack"
freemansw1 Oct 31, 2022
df904a7
Updated mailing list links and added discussion of slack
freemansw1 Oct 31, 2022
971b0cb
Merge branch 'RC_v1.4.0' of github.com:tobac-project/tobac into merge…
freemansw1 Oct 31, 2022
9c0e33e
black formatting
freemansw1 Oct 31, 2022
7e62652
added merge_split to init; changed start track number to 0 from -1
freemansw1 Oct 31, 2022
a40b27d
added basic merge test
freemansw1 Oct 31, 2022
fa09e96
removed final pass
freemansw1 Oct 31, 2022
e910a01
Merge pull request #162 from RBhupi/patch-1
freemansw1 Oct 31, 2022
8412ba4
Merge pull request #1 from freemansw1/merge_split_tests
kelcyno Nov 5, 2022
5354ebe
Update dimension names, correct the merged track numbering, etc.
kelcyno Nov 5, 2022
9e722f8
Updated for formatting
kelcyno Nov 5, 2022
019d0f3
Removed unnecessary print statement
kelcyno Nov 5, 2022
ef48aa9
added merge_split to the API reference
freemansw1 Nov 7, 2022
4b11015
Updates with documentation and removing duplicated dxy lines in merge…
kelcyno Nov 7, 2022
d85e19c
Merge branch 'merge_split' of https://github.com/kelcyno/tobac into m…
kelcyno Nov 7, 2022
800fdfe
Renamed the function using the postfix MEST, and corrected a track nu…
kelcyno Nov 8, 2022
3ca063e
added threshold sorting
freemansw1 Nov 14, 2022
54803c1
Merge pull request #199 from freemansw1/sort-thresholds
freemansw1 Nov 15, 2022
3052b7f
Merge pull request #136 from kelcyno/merge_split
freemansw1 Nov 16, 2022
365f005
Added v1.4.0 changelog
freemansw1 Nov 16, 2022
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
4 changes: 3 additions & 1 deletion .coveragerc
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
[run]
source=tobac
omit = tobac/tests/*
omit =
tobac/tests/*
setup.py
2 changes: 1 addition & 1 deletion .github/workflows/check_formatting.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,6 @@ jobs:
with:
python-version: '3.8'
- run: pip install .
- run: pip install black
- run: pip install black==22.6.0
- run: black tobac --check

2 changes: 1 addition & 1 deletion .github/workflows/codecov-CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
run: mamba install --quiet --yes --file conda-requirements.txt coverage pytest-cov &&
python -m coverage run -m pytest --cov=./ --cov-report=xml
- name: Upload Coverage to Codecov
uses: codecov/codecov-action@v2
uses: codecov/codecov-action@v3
with:
fail_ci_if_error: true
flags: unittests
Expand Down
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@
__pycache__
.vscode
htmlcov
.coverage
.coverage
build
7 changes: 7 additions & 0 deletions .readthedocs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
version: 2
formats: all
python:
version: 3
install:
- requirements: doc/requirements.txt
system_packages: true
85 changes: 85 additions & 0 deletions .zenodo.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
{
"title": "tobac - Tracking and Object-based Analysis of Clouds",
"description": "tobac is a Python package to 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.",
"creators": [
{
"name": "tobac Community"
},
{
"name": "Heikenfeld, Max",
"affiliation": "University of Oxford",
"orcid": "0000-0001-8124-8048"
},
{
"name": "Marinescu, Peter J.",
"affiliation": "Colorado State University",
"orcid": "0000-0002-5842-969X"
},
{
"name": "Freeman, Sean W.",
"affiliation": "Colorado State University",
"orcid": "0000-0002-7398-1597"
},
{
"name": "Kukulies, Julia",
"affiliation": "University of Gothenburg (Sweden)",
"orcid": "0000-0001-6084-0069"
},
{
"name": "Jones, William K.",
"affiliation": "University of Oxford",
"orcid": "0000-0001-9786-3723"
},
{
"name": "Senf, Fabian",
"affiliation": "Leibniz Institute for Tropospheric Research, Leipzig (Germany)",
"orcid": "0000-0003-1685-2657"
},
{
"name": "Bruning, Eric",
"affiliation": "Texas Tech University",
"orcid": "0000-0003-1959-442X"
},
{
"name": "Brunner, Kelcy",
"affiliation": "Texas Tech University",
"orcid": "0000-0003-3938-0963"
},
{
"name": "Collis, Scott M.",
"affiliation": "Argonne National Laboratory",
"orcid": "0000-0002-2303-687X"
},
{
"name": "Pfeifer, Nils",
"affiliation": "Leibniz Institute for Tropospheric Research, Leipzig (Germany)",
"orcid": "0000-0002-5350-1445"
},
{
"name": "Raut, Bhupendra A.",
"affiliation": "Northwestern-Argonne Institute of Science and Engineering, Argonne National Laboratory",
"orcid": "0000-0001-5598-1393"
},
{
"name": "Stier, Philip",
"affiliation": "University of Oxford",
"orcid": "0000-0002-1191-0128"
},
{
"name": "van den Heever, Sue C.",
"affiliation": "Colorado State University",
"orcid": "0000-0001-9843-3864"
},
{
"name": "Zhang, Xin",
"affiliation": "Nanjing University of Information Science & Technology (China)",
"orcid": "0000-0002-1756-6620"
}
],
"license": "BSD-3-Clause",
"keywords": [
"cloud tracking"
],
"access_right": "open",
"upload_type": "software"
}
38 changes: 37 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,42 @@
### Tobac Changelog

_**Version 1.4.0:**_

**Enhancements**

- Added the ability to detect feature mergers and splits ([#136](https://github.com/tobac-project/tobac/pull/136))
- Added spectral filtering of input data to feature detection (#137)
- Substantial improvements to documentation ([#138](https://github.com/tobac-project/tobac/pull/138), [#150](https://github.com/tobac-project/tobac/pull/150), [#155](https://github.com/tobac-project/tobac/pull/155), [#173](https://github.com/tobac-project/tobac/pull/173), [#189](https://github.com/tobac-project/tobac/pull/189), [#195](https://github.com/tobac-project/tobac/pull/195), [#197](https://github.com/tobac-project/tobac/pull/197))
- Added a new function to combine feature dataframes when feature detection is run in parallel ([#186](https://github.com/tobac-project/tobac/pull/186))

**Bug fixes**

- Reset the adaptive search parameters back to default when using adaptive trackpy tracking ([#168](https://github.com/tobac-project/tobac/pull/168))
- Added checks to make sure that both `adaptive_step` and `adaptive_stop` are set when using adaptive tracking ([#168](https://github.com/tobac-project/tobac/pull/168))
- Added error raising when trying to use the not yet implemented extrapolation feature ([#177](https://github.com/tobac-project/tobac/pull/177))
- Fixed a bug where `min_distance` did not work in feature detection ([#187](https://github.com/tobac-project/tobac/pull/187))
- Fixed a bug where feature detection output different feature locations depending on the order that thresholds are passed in ([#199](https://github.com/tobac-project/tobac/pull/199))

**Documentation**

- Updated docstrings to NumPy format ([#138](https://github.com/tobac-project/tobac/pull/138), [#155](https://github.com/tobac-project/tobac/pull/155), [#173](https://github.com/tobac-project/tobac/pull/173))
- Enabled API documentation generation ([#150](https://github.com/tobac-project/tobac/pull/150))
- Enhanced documentation of feature detection and segmentation parameters ([#150](https://github.com/tobac-project/tobac/pull/150))
- Added contributors to zenodo ([#139](https://github.com/tobac-project/tobac/pull/139))
- Added `__version__` as a parameter ([#175](https://github.com/tobac-project/tobac/pull/175))
- Updated the feature detection docstrings to add clarification around units ([#189](https://github.com/tobac-project/tobac/pull/189))
- Added documentation on why sometimes no features are segmented ([#195](https://github.com/tobac-project/tobac/pull/195))
- Added updates to README file, including linking the google groups ([#162](https://github.com/tobac-project/tobac/pull/162), [#197](https://github.com/tobac-project/tobac/pull/197))

**Repository enhancements**

- Specified the version of `black` to use for validating formatting during CI ([#161](https://github.com/tobac-project/tobac/pull/161))
- Lowered threshold before code coverage CI fails on pull requests ([#159](https://github.com/tobac-project/tobac/pull/159))

**Deprecations**

- Support for Python 3.6 and earlier is now deprecated and will be removed in v1.5.0 ([#193](https://github.com/tobac-project/tobac/pull/193))

_**Version 1.3.3:**_

**Bug fixes**
Expand All @@ -18,7 +55,6 @@ _**Version 1.3.2:**_
- Added automatic code coverage reports [#124](https://github.com/tobac-project/tobac/pull/124)
- Added automatic building of readthedocs documentation on pull requests


_**Version 1.3.1:**_

**Enhancements**
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ Please create a new issue on [GitHub](https://github.com/climate-processes/tobac
* Before you start a pull request, please make sure that you added [numpydoc docstrings](#docstringExample) to your functions. This way the api documentation will be parsed properly.
* If it is a larger change or an newly added feature or workflow, please place an example of use in the [tobac-tutorials](https://github.com/climate-processes/tobac-tutorials) repository or adapt the existing examples there.
* If necessary add a folder or modify a file.
* The code should be PEP 8 compliant, as this facilitates our collaboration. Please use the latest version of [black](https://black.readthedocs.io/en/stable/) to format your code. When you submit a pull request, all files are checked for formatting.
* The code should be PEP 8 compliant, as this facilitates our collaboration. Please use the first stable version (22.6.0) of [black](https://black.readthedocs.io/en/stable/) to format your code. When you submit a pull request, all files are checked for formatting.
* The tobac repository is set up with pre-commit hooks to automatically format your code when commiting changes. Please run the command "pre-commit install" in the root directory of tobac to set up pre-commit formatting.

We aim to respond to all new issues/pull requests as soon as possible, however at times this is not possible due to work commitments.
Expand Down
27 changes: 14 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,26 @@
tobac - Tracking and Object-based Analysis of Clouds
======
[![Documentation Status](https://readthedocs.org/projects/tobac/badge/?version=latest)](https://tobac.readthedocs.io/en/latest/?badge=latest)[![Build Status](https://travis-ci.org/climate-processes/tobac.svg?branch=master)](https://travis-ci.org/climate-processes/tobac)
[![Documentation Status](https://readthedocs.org/projects/tobac/badge/?version=latest)](https://tobac.readthedocs.io/en/latest/?badge=latest)[![Download Counter](https://anaconda.org/conda-forge/tobac/)](https://anaconda.org/conda-forge/tobac/badges/downloads.svg)

What is it?
-----------

**tobac** is a Python package for identifiying, tracking and analysing of clouds in different types of gridded datasets, i.e. 3D model output from cloud resolving model simulations or 2D data of satellite observations.
*tobac* is a Python package for identifiying, tracking and analysing of clouds and other meteorological phenomena in different types of gridded datasets. *tobac* is unique in its ability to track phenomena using **any** variable on **any** grid, including radar data, satellite observations, and numerical model output. *tobac* has been used in a variety of peer-reviewed [publications](https://tobac.readthedocs.io/en/rc_v1.4.0/publications.html) and is an international, multi-institutional collaboration.

Documentation
-------------
Individual features are indentified as either maxima or minima in a two dimensional time varying field.
Individual features are identified as either maxima or minima in a two dimensional time varying field.
The volume/area associated with the identified objects can be determined based on a time-varying 2D or 3D field and a threshold value. The in thre tracking step, the identified objects are linked into consistent trajectories representing the cloud over its lifecycle.

Detailed documentation of the package can be found at https://tobac.readthedocs.io.

Release announcements, workshop and conference announcements, and other information of interest to the broader *tobac* users group are sent to the [tobac core group](https://groups.google.com/g/tobac/about) mailing list. If you are interested in contributing to the development of *tobac*, we invite you to join the [tobac developers](https://groups.google.com/u/1/g/tobac-developers) mailing list. Information on monthly developers' meetings and other developer discussion and announcements are sent to that list.

We also have a Slack server for both users and developers. For information on joining that, please contact the *tobac* developers mailing list, or see the information in the *tobac* release notes sent to the *tobac* mailing list.

Installation
------------
tobac now works for both Python 3 and Python 2 installations.
tobac requires Python 3, and support for Python versions before 3.7 (i.e., 3.6 and lower) is deprecated and will be removed in tobac version 1.5.

The easiest way is to install the most recent version of tobac via conda and the conda-forge channel:
```
Expand All @@ -37,13 +40,13 @@ conda install -c conda-forge --yes --file conda-requirements.txt
```
You can directly install the package directly from github with pip and either of the two following commands:
```
pip install --upgrade git+ssh://git@github.com/climate-processes/tobac.git
pip install --upgrade git+https://github.com/climate-processes/tobac.git
pip install --upgrade git+ssh://git@github.com/tobac-project/tobac.git
pip install --upgrade git+https://github.com/tobac-project/tobac.git
```
You can also clone the package with any of the two following commands
```
git clone git@github.com:climate-processes/tobac.git
git clone https://github.com/climate-processes/tobac.git
git clone git@github.com:tobac-project/tobac.git
git clone https://github.com/tobac-project/tobac.git
```
and install the package from the locally cloned version:
```
Expand All @@ -52,12 +55,10 @@ pip install tobac/

Contributing
------------
The current development branch for minor updates to tobac v1 is dev.

Preliminary development of the future major update to tobac is v2.0-dev.
We encourage bug reports, questions, and code contributions. For more details on contributing, please see https://github.com/tobac-project/tobac/blob/v2.0-dev/CONTRIBUTING.md

For more details on contributing, please see https://github.com/climate-processes/tobac/blob/v2.0-dev/CONTRIBUTING.md
We are currently in a transition phase between versions 1.x and 2.x. v2.x will enable the use of multiple tracking methods (including TINT) and will use xarray for gridded data instead of Iris. Preliminary development on v2.x has taken place on the `v2.0-dev` branch, while work on the `main` and `RC_v1.x.x` branches (containing v1.x development) is ongoing to unify these development efforts.

Roadmap
------------
A roadmap for the future development of tobac is available here: https://github.com/fsenf/tobac-roadmap/blob/master/tobac-roadmap-main.md
A roadmap for the future development of tobac is available here: https://github.com/tobac-project/tobac-roadmap/blob/master/tobac-roadmap-main.md
22 changes: 22 additions & 0 deletions codecov.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Codecov.io settings

coverage:
status:
project:
default:
# basic settings
# auto target means look at deltas from previous
target: auto
# Threshold we can drop coverage before failing CI
threshold: 1%
base: auto
flags:
- unit
paths:
- "tobac"

# what folders and files to ignore
ignore:
- "tobac/tests/.*"
- "setup.py"

18 changes: 18 additions & 0 deletions doc/_static/theme_overrides.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
/* from https://github.com/readthedocs/sphinx_rtd_theme/issues/117#issuecomment-41506687 */
/* with augmentations from https://github.com/readthedocs/sphinx_rtd_theme/issues/117#issuecomment-153083280 */
/* override table width restrictions */
@media screen and (min-width: 767px) {

.wy-table-responsive table td {
/* !important prevents the common CSS stylesheets from
overriding this as on RTD they are loaded after this stylesheet */
white-space: normal !important;
}

.wy-table-responsive {
max-width: 100%;
overflow: visible !important;

}

}
8 changes: 5 additions & 3 deletions doc/analysis.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
..
Documentation of analysis functions
TODO: include descriptions of the analysis functions and examples
Analysis
=======
tobac provides several analysis functions that allow for the calculation of important quantities based on the tracking results. This includes the calculation of important properties of the tracked objects such as cloud lifetimes, cloud areas/volumes, but also allows for a convenient calculation of statistics for arbitratry fields of the same shape as as the input data used for the tracking analysis.

=========
tobac provides several analysis functions that allow for the calculation of important quantities based on the tracking results. This includes the calculation of properties such as feature lifetimes and feature areas/volumes, but also allows for a convenient calculation of statistics for arbitrary fields of the same shape as as the input data used for the tracking analysis.

11 changes: 11 additions & 0 deletions doc/big_datasets.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
Handling Large Datasets
-------------------------------------

Often, one desires to use *tobac* to identify and track features in large datasets ("big data"). This documentation strives to suggest various methods for doing so efficiently. Current versions of *tobac* do not allow for out-of-memory computation, meaning that these strategies may need to be employed for both computational and memory reasons.

.. _Split Feature Detection:
=======================
Split Feature Detection
=======================
Current versions of threshold feature detection (see :doc:`feature_detection_overview`) are time independent, meaning that one can parallelize feature detection across all times (although not across space). *tobac* provides the :py:meth:`tobac.utils.combine_tobac_feats` function to combine a list of dataframes produced by a parallelization method (such as :code:`jug` or :code:`multiprocessing.pool`) into a single combined dataframe suitable to perform tracking with.

56 changes: 56 additions & 0 deletions doc/conf.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
'''This file is used to configure the Sphinx build of our documentation.
The documentation on setting this up is here: https://www.sphinx-doc.org/en/master/usage/configuration.html
'''

# This is the standard readthedocs theme.
import sphinx_rtd_theme
import sys, os

sys.path.insert(0, os.path.abspath('extensions'))

# What Sphinx extensions do we need
extensions = ['sphinx.ext.autodoc', 'sphinx.ext.doctest', 'sphinx.ext.todo',
'sphinx.ext.coverage', 'sphinx.ext.imgmath', 'sphinx.ext.ifconfig',
'sphinx_rtd_theme','sphinx.ext.napoleon', 'nbsphinx']


html_theme = "sphinx_rtd_theme"

html_static_path = ['_static']


project = u'tobac'

master_doc = 'index'

# allow dropdowns
collapse_navigation = False

# Include our custom CSS (currently for special table config)
def setup(app):
app.add_css_file("theme_overrides.css")

# This should include all modules used in tobac. These are dummy imports,
# but should include both required and optional dependencies.
autodoc_mock_imports = ['numpy', 'scipy', 'scikit-image', 'pandas', 'pytables', 'matplotlib', 'iris',
'cf-units', 'xarray', 'cartopy', 'trackpy', 'numba']

sys.path.insert(0, os.path.abspath("../"))

# Napoleon settings for configuring the Napoleon extension
# See documentation here:
# https://www.sphinx-doc.org/en/master/usage/extensions/napoleon.html
napoleon_google_docstring = True
napoleon_numpy_docstring = True
napoleon_include_init_with_doc = False
napoleon_include_private_with_doc = False
napoleon_include_special_with_doc = True
napoleon_use_admonition_for_examples = False
napoleon_use_admonition_for_notes = False
napoleon_use_admonition_for_references = False
napoleon_use_ivar = False
napoleon_use_param = True
napoleon_use_rtype = True
napoleon_preprocess_types = False
napoleon_type_aliases = None
napoleon_attr_annotations = True
Loading