Updated
- Updated `usage.rst` to include detailed explanations for all arguments of the `determine_periods` function, including new filtering and threshold options.
- Added new example usage sections in `usage.rst`, demonstrating how to:
- Process vorticity data from ERA5.
- Handle vorticity data from the TRACK algorithm (Hodges, 1994, 1995).
- Customize filtering options for `determine_periods`.
- Clarified Southern Hemisphere support in the tool and noted future updates for Northern Hemisphere support.
- Updated `requirements.txt` by freezing the environment using `pip freeze` to ensure that all current dependencies and their versions are captured.
- Improved test coverage in `test_determine_periods_with_options.py`:
- Added new options for ERA5, basic processing, and TRACK algorithms.
- Ensured proper assertion checks for DataFrame outputs in all tests.
- Updated `api.rst` to provide detailed parameter descriptions and example usage of the `determine_periods` function for easier user reference.
- Enhanced the `Contribute` section in the documentation to provide a step-by-step guide for contributing to CycloPhaser via GitHub.
- Added detailed instructions on forking, cloning, branching, and submitting pull requests.
- Included guidance on running tests, committing changes, and adhering to code style using tools like `flake8` and `black`.
- Encouraged contributions to both code and documentation, as well as participation in the issue tracker.
- Added badges for supported Python versions and Pypi version to the README file.
- Included ``testing.rst`` in the documentation to explain how users can run tests and validate functionality.
Changed
- Refined the `determine_periods.py` script by exposing all arguments from `process_vorticity_args` directly as function arguments, making the usage more transparent and eliminating the need for nested dictionaries.
- Refactored `get_periods` to accept threshold parameters directly instead of handling them through a `default_args` dictionary.
- Updated the test cases in `test_determine_periods_with_options.py` to reflect the new function signatures by passing all processing and threshold arguments explicitly.
- Improved robustness in the `get_periods` function with better handling of arguments and integration with vorticity processing options.
- Enhanced docstrings for various functions, providing clearer explanations and usage examples across the package.
Bug fixes
- Resolved the `KeyError: 'threshold_decay_length'` by ensuring all required parameters are passed to `find_intensification_period`, `find_decay_period`, and other related functions.