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

Add shoal mask #1170

Open
wants to merge 28 commits into
base: dev
Choose a base branch
from

Commits on Aug 22, 2023

  1. Mask utils

    ruxandra-valcu committed Aug 22, 2023
    Configuration menu
    Copy the full SHA
    064d465 View commit details
    Browse the repository at this point in the history
  2. rename

    ruxandra-valcu committed Aug 22, 2023
    Configuration menu
    Copy the full SHA
    9ef9de9 View commit details
    Browse the repository at this point in the history
  3. Mask utils

    ruxandra-valcu committed Aug 22, 2023
    Configuration menu
    Copy the full SHA
    ca783b5 View commit details
    Browse the repository at this point in the history
  4. Weill shoal mask

    ruxandra-valcu committed Aug 22, 2023
    Configuration menu
    Copy the full SHA
    f4224b3 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    3cbb721 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    4b1d878 View commit details
    Browse the repository at this point in the history

Commits on Aug 23, 2023

  1. Add wrapper function

    ruxandra-valcu committed Aug 23, 2023
    Configuration menu
    Copy the full SHA
    1c3dcd9 View commit details
    Browse the repository at this point in the history

Commits on Sep 12, 2023

  1. ci(deps): Bump actions/cache from 3.3.1 to 3.3.2 (OSOceanAcoustics#1161)

    Bumps [actions/cache](https://github.com/actions/cache) from 3.3.1 to 3.3.2.
    - [Release notes](https://github.com/actions/cache/releases)
    - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
    - [Commits](actions/cache@v3.3.1...v3.3.2)
    
    ---
    updated-dependencies:
    - dependency-name: actions/cache
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] committed Sep 12, 2023
    Configuration menu
    Copy the full SHA
    67f3fbf View commit details
    Browse the repository at this point in the history
  2. chore(deps): [pre-commit.ci] pre-commit autoupdate (OSOceanAcoustics#…

    …1162)
    
    updates:
    - [github.com/psf/black: 23.7.0 → 23.9.1](psf/black@23.7.0...23.9.1)
    
    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
    pre-commit-ci[bot] committed Sep 12, 2023
    Configuration menu
    Copy the full SHA
    54917f2 View commit details
    Browse the repository at this point in the history

Commits on Sep 15, 2023

  1. Configuration menu
    Copy the full SHA
    6c58a1e View commit details
    Browse the repository at this point in the history

Commits on Sep 19, 2023

  1. Import fix

    ruxandra-valcu committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    6012c1e View commit details
    Browse the repository at this point in the history
  2. ci: Bump docker/setup-qemu-action from 2 to 3 (OSOceanAcoustics#1172)

    Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 2 to 3.
    - [Release notes](https://github.com/docker/setup-qemu-action/releases)
    - [Commits](docker/setup-qemu-action@v2...v3)
    
    ---
    updated-dependencies:
    - dependency-name: docker/setup-qemu-action
      dependency-type: direct:production
      update-type: version-update:semver-major
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    debb7c6 View commit details
    Browse the repository at this point in the history
  3. ci: Bump docker/login-action from 2 to 3 (OSOceanAcoustics#1175)

    Bumps [docker/login-action](https://github.com/docker/login-action) from 2 to 3.
    - [Release notes](https://github.com/docker/login-action/releases)
    - [Commits](docker/login-action@v2...v3)
    
    ---
    updated-dependencies:
    - dependency-name: docker/login-action
      dependency-type: direct:production
      update-type: version-update:semver-major
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    2c45181 View commit details
    Browse the repository at this point in the history
  4. ci: Bump docker/build-push-action from 4 to 5 (OSOceanAcoustics#1173)

    Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 4 to 5.
    - [Release notes](https://github.com/docker/build-push-action/releases)
    - [Commits](docker/build-push-action@v4...v5)
    
    ---
    updated-dependencies:
    - dependency-name: docker/build-push-action
      dependency-type: direct:production
      update-type: version-update:semver-major
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    f42b722 View commit details
    Browse the repository at this point in the history
  5. ci: Bump docker/setup-buildx-action from 2 to 3 (OSOceanAcoustics#1174)

    Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 2 to 3.
    - [Release notes](https://github.com/docker/setup-buildx-action/releases)
    - [Commits](docker/setup-buildx-action@v2...v3)
    
    ---
    updated-dependencies:
    - dependency-name: docker/setup-buildx-action
      dependency-type: direct:production
      update-type: version-update:semver-major
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    7ec7a1c View commit details
    Browse the repository at this point in the history

Commits on Sep 20, 2023

  1. Configuration menu
    Copy the full SHA
    8cbb01d View commit details
    Browse the repository at this point in the history
  2. Delinting

    ruxandra-valcu committed Sep 20, 2023
    Configuration menu
    Copy the full SHA
    daefe93 View commit details
    Browse the repository at this point in the history

Commits on Oct 10, 2023

  1. Configuration menu
    Copy the full SHA
    1762a05 View commit details
    Browse the repository at this point in the history
  2. Refactoring

    ruxandra-valcu committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    663510e View commit details
    Browse the repository at this point in the history

Commits on Nov 7, 2023

  1. Merge/dev (#115)

    * docs(README): Update README on contributing section (OSOceanAcoustics#1160)
    
    * docs(README): Update README on contributing section
    
    Added contributors images directly from contributor graph.
    Update text to move Brandon to previous dev.
    Also bump the copyright date.
    
    * docs: More updates to contrib sections
    
    * docs: Remove thumbnails and revert text
    
    * Changed parser in `parse_azfp.py` to maintain consistency over other parsers. (OSOceanAcoustics#1135)
    
    * replaced usage of xml.dom.minidom with xml.etree.ElementTree
    
    * modified azfp parser and parsed all parameters
    
    * refactored the parse_azfp code and added new tests
    
    * small tweak in test, rename conversion function to _camel_to_snake
    
    * updated parameter names
    
    * Replace camel-to-snake conversion funcitonality (#1)
    
    * Create utils camel-to-snake-case function in new misc.py, and use it in ek_raw_parsers
    
    * Replace AZFP camel-to-snake function with new utils/misc.py function
    
    * fixed minor error in code
    
    * minor change in test_convert_azfp.py
    
    * fixed failing tests
    
    * fixed failing tests related to attribute name
    
    * fixed minor bug
    
    ---------
    
    Co-authored-by: Wu-Jung Lee <[email protected]>
    Co-authored-by: Emilio Mayorga <[email protected]>
    
    * ci: added support for running individual test files (OSOceanAcoustics#1166)
    
    Added a support for testing individual test files also instead of having support for testing only subpackages.
    
    * refactor(convert): refactor and cleanup parsed2zarr (OSOceanAcoustics#1070)
    
    * Bump pypa/gh-action-pypi-publish from 1.6.4 to 1.8.1 (OSOceanAcoustics#999)
    
    Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.6.4 to 1.8.1.
    - [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
    - [Commits](pypa/gh-action-pypi-publish@v1.6.4...v1.8.1)
    
    ---
    updated-dependencies:
    - dependency-name: pypa/gh-action-pypi-publish
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    
    * Bump actions/cache from 3.2.5 to 3.3.1 (OSOceanAcoustics#982)
    
    Bumps [actions/cache](https://github.com/actions/cache) from 3.2.5 to 3.3.1.
    - [Release notes](https://github.com/actions/cache/releases)
    - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
    - [Commits](actions/cache@v3.2.5...v3.3.1)
    
    ---
    updated-dependencies:
    - dependency-name: actions/cache
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    
    * [pre-commit.ci] pre-commit autoupdate (OSOceanAcoustics#1022)
    
    updates:
    - [github.com/psf/black: 23.1.0 → 23.3.0](psf/black@23.1.0...23.3.0)
    
    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
    
    * Bump pypa/gh-action-pypi-publish from 1.8.1 to 1.8.5 (OSOceanAcoustics#1021)
    
    Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.8.1 to 1.8.5.
    - [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
    - [Commits](pypa/gh-action-pypi-publish@v1.8.1...v1.8.5)
    
    ---
    updated-dependencies:
    - dependency-name: pypa/gh-action-pypi-publish
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    
    * Bump actions/setup-python from 4.5.0 to 4.6.0 (OSOceanAcoustics#1036)
    
    Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4.5.0 to 4.6.0.
    - [Release notes](https://github.com/actions/setup-python/releases)
    - [Commits](actions/setup-python@v4.5.0...v4.6.0)
    
    ---
    updated-dependencies:
    - dependency-name: actions/setup-python
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    
    * Bump pypa/gh-action-pypi-publish from 1.8.5 to 1.8.6 (OSOceanAcoustics#1041)
    
    Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.8.5 to 1.8.6.
    - [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
    - [Commits](pypa/gh-action-pypi-publish@v1.8.5...v1.8.6)
    
    ---
    updated-dependencies:
    - dependency-name: pypa/gh-action-pypi-publish
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    
    * Bump mamba-org/provision-with-micromamba from 15 to 16 (OSOceanAcoustics#1048)
    
    Bumps [mamba-org/provision-with-micromamba](https://github.com/mamba-org/provision-with-micromamba) from 15 to 16.
    - [Release notes](https://github.com/mamba-org/provision-with-micromamba/releases)
    - [Commits](mamba-org/provision-with-micromamba@v15...v16)
    
    ---
    updated-dependencies:
    - dependency-name: mamba-org/provision-with-micromamba
      dependency-type: direct:production
      update-type: version-update:semver-major
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    
    * Bump actions/setup-python from 4.6.0 to 4.6.1 (OSOceanAcoustics#1052)
    
    Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4.6.0 to 4.6.1.
    - [Release notes](https://github.com/actions/setup-python/releases)
    - [Commits](actions/setup-python@v4.6.0...v4.6.1)
    
    ---
    updated-dependencies:
    - dependency-name: actions/setup-python
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    
    * Extract out whether_write_to_zarr and remove use_swap arg
    
    * Initial add of destination_path
    
    * Start using destination path and storage options, modify cleanup
    
    * Update docstrings, and add some checks
    
    * Add sonar model attribute to parser object
    
    * Pass sonar_model to parser and fix bug
    
    * Move dataarrays creation to parsed2zarr
    
    * Remove atexit registration
    
    * Add default DEFAULT_ZARR_TEMP_DIR global var
    
    * Initial test for parsed2zarr components
    
    * Add explicit no swap for conversion test
    
    * fix: add parsed2zarr_obj to self to fix bug
    
    * fix: uncomment zarr store close to close the store
    
    * fix: remove unneeded typing
    
    * fix: no need to close fsmap zarr store anymore, removing code
    
    * feat: write tx datagram to zarr in  during p2z
    
    * feat: add  property for ek80 p2z
    
    * feat: set  from swap array
    
    * fix: missing transmit data when no swap
    
    * fix: only delete col when it exists in p2z_ek80
    
    * test(echodata): add simple P2Z object to utils mock
    
    * fix: Import 'List' typehint
    
    Added import for 'List' that is currently
    in use but missing.
    
    * fix: Remove elif for column removal
    
    Changed the if elif to a for if so
    it removes both 'power' and 'angle' columns
    for RAW4 'tx_datagram_df' data.
    
    * fix: Removed dependency to 'more-itertools'
    
    Removed dependency to 'more-itertools' by using similar
    method that uses 'numpy.array_split' instead to
    evenly split data into desired chunks
    
    * test: Set 'no_swap' for 'test_combine_echodata_combined_append'
    
    Assign 'no_swap' to 'destination_path' during 'open_raw'
    to ensure that everything is in memory since the new
    parsed to zarr functionality is 'auto' by default.
    
    * feat: Add 'auto' keyword to enable auto 'use_swap'
    
    Changed the way that 'auto' determination of 'use_swap'
    by specifying an 'auto' keyword, rather than by default.
    Now defaulting back to 'no_swap' for empty 'destination_path'.
    
    * revert: Removed 'no_swap' in 'test_combine_echodata_combined_append'
    
    On OSOceanAcoustics@b6b79fa
    'no_swap' was set, however because now the default is 'no_swap'
    this shouldn't be needed!
    
    * fix: Use convention yaml for 'backscatter_x'
    
    Sets 'long_name' attributes for 'backscatter_r' and
    'backscatter_i' from the convention yaml for p2z
    outputs. Additionally, units changed from 'V' to 'dB' to
    sync up with the "no_swap" counterpart.
    
    Old tests for 'test_direct_to_zarr_integration' has been activated
    again to ensure equivalency b/w the two methods.
    
    * test: Added P2Z Arrays tests
    
    Added testing for underlying methods that
    gets called during a 'datagram_to_zarr'
    call to ensure that zarr arrays actually gets
    created.
    
    Ref: OSOceanAcoustics#777
    
    ---------
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
    
    * fix(commongrid):  improve 'compute_MVBS' using flox [all tests ci] (OSOceanAcoustics#1124)
    
    * chore(deps): add flox dependency >=0.7.2
    
    * fix(commongrid): fixes 'compute_MVBS' so it can work better and scale
    
    Under the hood, binning along ping time and echo range now uses flox.
    This allows for scalability and more community-maintained.
    
    * docs: add small code comment
    
    * refactor: change how ping_time index is retrieved
    
    * refactor: remove for loop for channel
    
    * test(mvbs): add mock Sv datasets and tests for dims (#2)
    
    Note that @leewujung also changed mean to nanmean for skipping NaNs in each bin.
    
    * [pre-commit.ci] auto fixes from pre-commit.com hooks
    
    for more information, see https://pre-commit.ci
    
    * fix: change dask to numpy
    
    Changed the use of dask for log10 to numpy instead since numpy can also handle dask array inputs properly.
    
    * feat: Add method argument
    
    Added 'method' argument to 'get_MVBS_along_channels'
    and also expose additional keyword arguments control for
    flox.
    
    * fix(commongrid): Fixed to include lat lon
    
    Fixed 'compute_MVBS' function to now
    include latitude and longitude if the variables
    exists in the Sv dataset.
    
    Additionally, the flox method and keyword arguments
    are now exposed within the 'compute_MVBS' function.
    
    Ref: Issue OSOceanAcoustics#1002
    
    * refactor: Set defaults to recommended
    
    After some investigation, @lsetiawan
    concluded that at this time the
    method 'map-reduce', engine 'numpy',
    and reindex True works the best,
    so this is now set as default.
    
    Also, getting echo range maximum is
    through direct data slicing rather than
    computation.
    
    * feat(commongrid): Add 'range_var' argument to 'compute_MVBS'
    
    Added a new argument 'range_var' so that user can set
    the range variable to perform binning with.
    There are 2 options of 'echo_range' and 'depth':
    
    - 'echo_range': When this is set, variable 'water_level'
                    is now included in the resulting MVBS dataset
    - 'depth': A check is in place to ensure that this variable exists
               before moving forward and use this to perform range binning.
    
    Ref: Issue OSOceanAcoustics#1002
    
    * fix: Add missing attributes for lat lon
    
    * test: Update test to use random generator
    
    * fix: Add case for no 'water_level'
    
    Added a case for dataset that doesn't have water level variable.
    
    * test(nasc): Remove 'compute_NASC' import to avoid failure
    
    * fix: Removed assumption on echo range max
    
    Reverted back the echo range max computation
    to computing on the fly since there may be some
    NaN values.
    
    * test: Extract api test and add markings
    
    Extracted fixtures to conftest.py for commongrid.
    Additionally, clean up unused functions and mark
    tests b/w unit and integration. Added a new test module
    called 'test_api.py' for 'commongrid.api'.
    
    * test: Add latlon test for 'compute_MVBS'
    
    Added a test for Sv dataset that contains latitude
    and longitude going through 'compute_MVBS'
    to ensure that those variables gets propagated through.
    
    Ref: OSOceanAcoustics#1002
    
    * test: Add small get_MVBS_along_channels test
    
    Added test for 'get_MVBS_along_channels' with either 'depth'
    as the 'range_var' or checking for 'has_positions' is True
    or False.
    
    * refactor: Integrate suggested changes
    
    Integrated suggested changes from review such as
    additional comments in code, fixing some variable names,
    and extracting out the lin2log and log2lin functions.
    
    Additionally, now echopype imports pint library
    to start having unit checks in the input for compute_MVBS.
    
    * test: Added check for position values
    
    * test: Update range_meter_bin to strings
    
    * test: Added 'compute_MVBS' values test
    
    * Update echopype/tests/utils/test_processinglevels_integration.py
    
    compute_MVBS now should preserve the processing level attributes. So, test for presence rather than absence
    
    * test: Add 'nan' sprinkles
    
    Sprinkled 'nan' values all over 'echo_range' to ensure that
    computed values from 'compute_MVBS' doesn't take into account
    the 'nan'. Added check for the expected distribution of 'nan'
    in the resulting array.
    
    Ref: OSOceanAcoustics#1124 (comment)
    
    * revert: Revert the use of 'pint'
    
    Removed dependency to 'pint' and use simple regex
    to ensure that 'range_bin' input is unit 'm'.
    Renamed 'range_meter_bin' argument to 'range_bin'.
    
    Ref: OSOceanAcoustics#1124 (comment)
    
    * feat: Allow 'range_bin' to have space
    
    * fix: Apply suggestions from code review
    
    Applied fix for regex not capturing decimal values by @emiliom
    
    Ref: https://github.com/OSOceanAcoustics/echopype/pull/1124/files#r1320422121
    
    Co-authored-by: Emilio Mayorga <[email protected]>
    
    * [pre-commit.ci] auto fixes from pre-commit.com hooks
    
    for more information, see https://pre-commit.ci
    
    * test: Fix test text for wrong unit
    
    * test: Remove the 'e.g.' part on pytest
    
    Removed the part with '(e.g., '10m')' since
    it's messing up pytests regex matching.
    
    * test: Remove remnant for test_ek.py
    
    * refactor: Extract range_bin parsing and add close arg
    
    Extracts out the 'range_bin' string to float into a private function.
    Additionally now there's a fine tune argument for bin close edges
    so user can specify either close is 'left' or 'right'.
    Bins are converted to pandas interval index before passing
    into 'get_MVBS_along_channels'.
    
    * refactor: Update arg types to include interval index
    
    Added argument type options for 'range_interval' and 'ping_interval' to
    also be interval index.
    
    * test: Update tests to have brute force creation
    
    Changed mock mvbs to be created by doing brute force
    rather than hard coding.
    
    * [pre-commit.ci] auto fixes from pre-commit.com hooks
    
    for more information, see https://pre-commit.ci
    
    * test: Fix brute force mvbs gen
    
    Fixes the generation of expected mvbs with brute force
    as well as tweaks to mvbs_along_channel test.
    
    * chore: Clean up old code for doing compute MVBS
    
    Removes old code that perfoms compute_MVBS since
    now we've switched over to flox
    
    * chore(pytest): Added custom markers 'unit' and 'integration'
    
    * docs: Update docstring for `compute_MVBS`
    
    Added options for literal arguments
    
    * refactor: Change 'parse_range_bin' to 'parse_x_bin'
    
    Make bin parsing to be more general by making it
    to 'parse_x_bin'.
    
    * chore: Update suggested changes
    
    Update some texts from suggested review as discussed.
    
    Ref: OSOceanAcoustics#1124 (review)
    
    ---------
    
    Co-authored-by: Wu-Jung Lee <[email protected]>
    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
    Co-authored-by: Emilio Mayorga <[email protected]>
    
    * ci: Fix run-test.py for module runs (OSOceanAcoustics#1180)
    
    Fixes the 'run-test.py' script so it can run module
    based testing rather than only specific test files.
    
    Ref: OSOceanAcoustics#1166
    
    * added support for AZFP multiple phase attributes parsing (OSOceanAcoustics#1182)
    
    * added support for multiple phase attributes parsing
    
    * minor changes to code
    
    * Update echopype/convert/set_groups_azfp.py
    
    Co-authored-by: Emilio Mayorga <[email protected]>
    
    * Update set_groups_azfp.py
    
    * Update test_convert_azfp.py
    
    ---------
    
    Co-authored-by: Emilio Mayorga <[email protected]>
    
    * ci: Update CI to barebone python [all tests ci] (OSOceanAcoustics#1192)
    
    * ci: Add installed packages listing
    
    * ci: Add pip listing
    
    * ci: Remove conda from PR action
    
    * ci: Update worklows and add P2Z skip
    
    * ci: More cleanup to workflow
    
    * ci: Bump actions/setup-python from 4.7.0 to 4.7.1
    
    * fix: Fix encoding in 'to_zarr' to remove 'preferred_chunks' before saving (OSOceanAcoustics#1128)
    
    * Encoding and Chunk matching only if DaskArray
    
    * Removing preffered chunks from encoding dict
    
    * [pre-commit.ci] auto fixes from pre-commit.com hooks
    
    for more information, see https://pre-commit.ci
    
    ---------
    
    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
    
    * `parse_azfp` now parses AZFP pressure data according to given matlab code (OSOceanAcoustics#1189)
    
    * added support for parsing azfp pressure data
    
    * fixed failing ci tests
    
    * Revert "fixed failing ci tests"
    
    This reverts commit c378dc0.
    
    * minor changes to tests
    
    * Update test_convert_azfp.py
    
    * Update echopype/tests/convert/test_convert_azfp.py
    
    ---------
    
    Co-authored-by: Emilio Mayorga <[email protected]>
    
    * Enhanced `update_platform` to Auto-assign first `ping_time` as `Platform` timestamp for fixed-location update case without timestamp. [all tests ci] (OSOceanAcoustics#1196)
    
    * first  is auto assigned as  timestamp for lon and lat update without timestamp
    
    * fix small typo
    
    ---------
    
    Co-authored-by: Wu-Jung Lee <[email protected]>
    
    * Added `depth_from_pressure` method required for the calculation of `vertical_offset` value (OSOceanAcoustics#1207)
    
    * added depth_from_pressure method
    
    * Function arguments can be scalars or sequences; and add more tests (#2)
    
    * Reverse order of equation terms to match UNESCO 1983 source
    
    * For depth_from_pressure, accept scalars, lists and arrays for all 3 arguments. Include consistency checks.
    
    * Add a greater variety of depth_from_pressure tests.
    
    * Update echopype/utils/misc.py
    
    * [pre-commit.ci] auto fixes from pre-commit.com hooks
    
    for more information, see https://pre-commit.ci
    
    ---------
    
    Co-authored-by: Emilio Mayorga <[email protected]>
    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
    
    * fix(commongrid): fix bugs and improve `compute_NASC` using flox (OSOceanAcoustics#1167)
    
    * chore(deps): add flox dependency >=0.7.2
    
    * fix(commongrid): fixes 'compute_MVBS' so it can work better and scale
    
    Under the hood, binning along ping time and echo range now uses flox.
    This allows for scalability and more community-maintained.
    
    * docs: add small code comment
    
    * refactor: change how ping_time index is retrieved
    
    * refactor: remove for loop for channel
    
    * test(mvbs): add mock Sv datasets and tests for dims (#2)
    
    Note that @leewujung also changed mean to nanmean for skipping NaNs in each bin.
    
    * [pre-commit.ci] auto fixes from pre-commit.com hooks
    
    for more information, see https://pre-commit.ci
    
    * fix: change dask to numpy
    
    Changed the use of dask for log10 to numpy instead since numpy can also handle dask array inputs properly.
    
    * feat: Add method argument
    
    Added 'method' argument to 'get_MVBS_along_channels'
    and also expose additional keyword arguments control for
    flox.
    
    * fix(commongrid): Fixed to include lat lon
    
    Fixed 'compute_MVBS' function to now
    include latitude and longitude if the variables
    exists in the Sv dataset.
    
    Additionally, the flox method and keyword arguments
    are now exposed within the 'compute_MVBS' function.
    
    Ref: Issue OSOceanAcoustics#1002
    
    * refactor: Set defaults to recommended
    
    After some investigation, @lsetiawan
    concluded that at this time the
    method 'map-reduce', engine 'numpy',
    and reindex True works the best,
    so this is now set as default.
    
    Also, getting echo range maximum is
    through direct data slicing rather than
    computation.
    
    * feat(commongrid): Add 'range_var' argument to 'compute_MVBS'
    
    Added a new argument 'range_var' so that user can set
    the range variable to perform binning with.
    There are 2 options of 'echo_range' and 'depth':
    
    - 'echo_range': When this is set, variable 'water_level'
                    is now included in the resulting MVBS dataset
    - 'depth': A check is in place to ensure that this variable exists
               before moving forward and use this to perform range binning.
    
    Ref: Issue OSOceanAcoustics#1002
    
    * fix: Add missing attributes for lat lon
    
    * test: Update test to use random generator
    
    * fix: Add case for no 'water_level'
    
    Added a case for dataset that doesn't have water level variable.
    
    * test(nasc): Remove 'compute_NASC' import to avoid failure
    
    * fix: Removed assumption on echo range max
    
    Reverted back the echo range max computation
    to computing on the fly since there may be some
    NaN values.
    
    * test: Extract api test and add markings
    
    Extracted fixtures to conftest.py for commongrid.
    Additionally, clean up unused functions and mark
    tests b/w unit and integration. Added a new test module
    called 'test_api.py' for 'commongrid.api'.
    
    * test: Add latlon test for 'compute_MVBS'
    
    Added a test for Sv dataset that contains latitude
    and longitude going through 'compute_MVBS'
    to ensure that those variables gets propagated through.
    
    Ref: OSOceanAcoustics#1002
    
    * test: Add small get_MVBS_along_channels test
    
    Added test for 'get_MVBS_along_channels' with either 'depth'
    as the 'range_var' or checking for 'has_positions' is True
    or False.
    
    * refactor: Integrate suggested changes
    
    Integrated suggested changes from review such as
    additional comments in code, fixing some variable names,
    and extracting out the lin2log and log2lin functions.
    
    Additionally, now echopype imports pint library
    to start having unit checks in the input for compute_MVBS.
    
    * test: Added check for position values
    
    * test: Update range_meter_bin to strings
    
    * test: Added 'compute_MVBS' values test
    
    * Update echopype/tests/utils/test_processinglevels_integration.py
    
    compute_MVBS now should preserve the processing level attributes. So, test for presence rather than absence
    
    * test: Add 'nan' sprinkles
    
    Sprinkled 'nan' values all over 'echo_range' to ensure that
    computed values from 'compute_MVBS' doesn't take into account
    the 'nan'. Added check for the expected distribution of 'nan'
    in the resulting array.
    
    Ref: OSOceanAcoustics#1124 (comment)
    
    * revert: Revert the use of 'pint'
    
    Removed dependency to 'pint' and use simple regex
    to ensure that 'range_bin' input is unit 'm'.
    Renamed 'range_meter_bin' argument to 'range_bin'.
    
    Ref: OSOceanAcoustics#1124 (comment)
    
    * feat: Allow 'range_bin' to have space
    
    * fix: Apply suggestions from code review
    
    Applied fix for regex not capturing decimal values by @emiliom
    
    Ref: https://github.com/OSOceanAcoustics/echopype/pull/1124/files#r1320422121
    
    Co-authored-by: Emilio Mayorga <[email protected]>
    
    * [pre-commit.ci] auto fixes from pre-commit.com hooks
    
    for more information, see https://pre-commit.ci
    
    * test: Fix test text for wrong unit
    
    * test: Remove the 'e.g.' part on pytest
    
    Removed the part with '(e.g., '10m')' since
    it's messing up pytests regex matching.
    
    * revive the function to make changes easier to see
    
    * add TODOs
    
    * add computation steps
    
    * [pre-commit.ci] auto fixes from pre-commit.com hooks
    
    for more information, see https://pre-commit.ci
    
    * remove unused _lin2log
    
    * test: Remove remnant for test_ek.py
    
    * refactor: Extract range_bin parsing and add close arg
    
    Extracts out the 'range_bin' string to float into a private function.
    Additionally now there's a fine tune argument for bin close edges
    so user can specify either close is 'left' or 'right'.
    Bins are converted to pandas interval index before passing
    into 'get_MVBS_along_channels'.
    
    * refactor: Update arg types to include interval index
    
    Added argument type options for 'range_interval' and 'ping_interval' to
    also be interval index.
    
    * test: Update tests to have brute force creation
    
    Changed mock mvbs to be created by doing brute force
    rather than hard coding.
    
    * [pre-commit.ci] auto fixes from pre-commit.com hooks
    
    for more information, see https://pre-commit.ci
    
    * test: Fix brute force mvbs gen
    
    Fixes the generation of expected mvbs with brute force
    as well as tweaks to mvbs_along_channel test.
    
    * chore: Clean up old code for doing compute MVBS
    
    Removes old code that perfoms compute_MVBS since
    now we've switched over to flox
    
    * chore(pytest): Added custom markers 'unit' and 'integration'
    
    * docs: Update docstring for `compute_MVBS`
    
    Added options for literal arguments
    
    * refactor: Change 'parse_range_bin' to 'parse_x_bin'
    
    Make bin parsing to be more general by making it
    to 'parse_x_bin'.
    
    * refactor: Initial unification of MVBS and NASC
    
    Added setup and validate function for shared checks
    between compute MVBS and NASC so only unique
    checks are in its individual function.
    
    * fix typo when porting from notebook
    
    * correct attribute units from m to nmi
    
    * refactor: Add typehints and use method
    
    * feat: Add get_x_along_channels
    
    Added 'get_x_along_channels' function that generalizes
    the reduction routines from 'get_MVBS_along_channels'.
    This now removes the old function in mvbs.py module.
    
    Additionally, uses of 'get_MVBS_along_channels' has
    been removed from the test and code for 'compute_MVBS'.
    
    * feat: Implement new 'compute_NASC'
    
    Use 'get_x_along_channels' for 'compute_NASC'
    and turn on old 'test_nasc.py' for initial nasc testing
    
    * test: Renamed and moved get_x_along_channels test
    
    * fix: Use 'ffill' and 'bfill'
    
    Fixes the 'FutureWarning' coming from pandas
    since as of pandas version 2.1.0 the 'method'
    argument for 'fillna' is deprecated.
    
    Ref: OSOceanAcoustics#1167 (comment)
    
    * feat: Allow import 'compute_NASC' from 'commongrid' module
    
    * fix: Fix bug on setup and validate and test
    
    Fixes bug on 'setup_and_validate' during variable checks.
    
    Also added simple testing for values from flox vs echoview.
    
    * test: Update simple NASC integration test
    
    * test: Add brute force values test for NASC
    
    * chore: Apply suggestions from code review
    
    Co-authored-by: Wu-Jung Lee <[email protected]>
    
    * refactor: Extract position reduction
    
    * refactor: Separate sv mean and raw computations
    
    * test: Remove empty test_nasc.py
    
    * docs: Update docs for functions
    
    * refactor: Move helper funcs to utils.py
    
    * add L4 processing level to compute_NASC
    
    ---------
    
    Co-authored-by: Landung 'Don' Setiawan <[email protected]>
    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
    Co-authored-by: Emilio Mayorga <[email protected]>
    
    ---------
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: Don Setiawan <[email protected]>
    Co-authored-by: Praneeth Ratna <[email protected]>
    Co-authored-by: Wu-Jung Lee <[email protected]>
    Co-authored-by: Emilio Mayorga <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
    Co-authored-by: Soham Butala <[email protected]>
    8 people committed Nov 7, 2023
    Configuration menu
    Copy the full SHA
    c6e35da View commit details
    Browse the repository at this point in the history

Commits on Nov 13, 2023

  1. Merge dev (#124)

    * docs(README): Update README on contributing section (OSOceanAcoustics#1160)
    
    * docs(README): Update README on contributing section
    
    Added contributors images directly from contributor graph.
    Update text to move Brandon to previous dev.
    Also bump the copyright date.
    
    * docs: More updates to contrib sections
    
    * docs: Remove thumbnails and revert text
    
    * Changed parser in `parse_azfp.py` to maintain consistency over other parsers. (OSOceanAcoustics#1135)
    
    * replaced usage of xml.dom.minidom with xml.etree.ElementTree
    
    * modified azfp parser and parsed all parameters
    
    * refactored the parse_azfp code and added new tests
    
    * small tweak in test, rename conversion function to _camel_to_snake
    
    * updated parameter names
    
    * Replace camel-to-snake conversion funcitonality (#1)
    
    * Create utils camel-to-snake-case function in new misc.py, and use it in ek_raw_parsers
    
    * Replace AZFP camel-to-snake function with new utils/misc.py function
    
    * fixed minor error in code
    
    * minor change in test_convert_azfp.py
    
    * fixed failing tests
    
    * fixed failing tests related to attribute name
    
    * fixed minor bug
    
    ---------
    
    Co-authored-by: Wu-Jung Lee <[email protected]>
    Co-authored-by: Emilio Mayorga <[email protected]>
    
    * ci: added support for running individual test files (OSOceanAcoustics#1166)
    
    Added a support for testing individual test files also instead of having support for testing only subpackages.
    
    * refactor(convert): refactor and cleanup parsed2zarr (OSOceanAcoustics#1070)
    
    * Bump pypa/gh-action-pypi-publish from 1.6.4 to 1.8.1 (OSOceanAcoustics#999)
    
    Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.6.4 to 1.8.1.
    - [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
    - [Commits](pypa/gh-action-pypi-publish@v1.6.4...v1.8.1)
    
    ---
    updated-dependencies:
    - dependency-name: pypa/gh-action-pypi-publish
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    
    * Bump actions/cache from 3.2.5 to 3.3.1 (OSOceanAcoustics#982)
    
    Bumps [actions/cache](https://github.com/actions/cache) from 3.2.5 to 3.3.1.
    - [Release notes](https://github.com/actions/cache/releases)
    - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
    - [Commits](actions/cache@v3.2.5...v3.3.1)
    
    ---
    updated-dependencies:
    - dependency-name: actions/cache
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    
    * [pre-commit.ci] pre-commit autoupdate (OSOceanAcoustics#1022)
    
    updates:
    - [github.com/psf/black: 23.1.0 → 23.3.0](psf/black@23.1.0...23.3.0)
    
    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
    
    * Bump pypa/gh-action-pypi-publish from 1.8.1 to 1.8.5 (OSOceanAcoustics#1021)
    
    Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.8.1 to 1.8.5.
    - [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
    - [Commits](pypa/gh-action-pypi-publish@v1.8.1...v1.8.5)
    
    ---
    updated-dependencies:
    - dependency-name: pypa/gh-action-pypi-publish
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    
    * Bump actions/setup-python from 4.5.0 to 4.6.0 (OSOceanAcoustics#1036)
    
    Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4.5.0 to 4.6.0.
    - [Release notes](https://github.com/actions/setup-python/releases)
    - [Commits](actions/setup-python@v4.5.0...v4.6.0)
    
    ---
    updated-dependencies:
    - dependency-name: actions/setup-python
      dependency-type: direct:production
      update-type: version-update:semver-minor
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    
    * Bump pypa/gh-action-pypi-publish from 1.8.5 to 1.8.6 (OSOceanAcoustics#1041)
    
    Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.8.5 to 1.8.6.
    - [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases)
    - [Commits](pypa/gh-action-pypi-publish@v1.8.5...v1.8.6)
    
    ---
    updated-dependencies:
    - dependency-name: pypa/gh-action-pypi-publish
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    
    * Bump mamba-org/provision-with-micromamba from 15 to 16 (OSOceanAcoustics#1048)
    
    Bumps [mamba-org/provision-with-micromamba](https://github.com/mamba-org/provision-with-micromamba) from 15 to 16.
    - [Release notes](https://github.com/mamba-org/provision-with-micromamba/releases)
    - [Commits](mamba-org/provision-with-micromamba@v15...v16)
    
    ---
    updated-dependencies:
    - dependency-name: mamba-org/provision-with-micromamba
      dependency-type: direct:production
      update-type: version-update:semver-major
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    
    * Bump actions/setup-python from 4.6.0 to 4.6.1 (OSOceanAcoustics#1052)
    
    Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4.6.0 to 4.6.1.
    - [Release notes](https://github.com/actions/setup-python/releases)
    - [Commits](actions/setup-python@v4.6.0...v4.6.1)
    
    ---
    updated-dependencies:
    - dependency-name: actions/setup-python
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    
    * Extract out whether_write_to_zarr and remove use_swap arg
    
    * Initial add of destination_path
    
    * Start using destination path and storage options, modify cleanup
    
    * Update docstrings, and add some checks
    
    * Add sonar model attribute to parser object
    
    * Pass sonar_model to parser and fix bug
    
    * Move dataarrays creation to parsed2zarr
    
    * Remove atexit registration
    
    * Add default DEFAULT_ZARR_TEMP_DIR global var
    
    * Initial test for parsed2zarr components
    
    * Add explicit no swap for conversion test
    
    * fix: add parsed2zarr_obj to self to fix bug
    
    * fix: uncomment zarr store close to close the store
    
    * fix: remove unneeded typing
    
    * fix: no need to close fsmap zarr store anymore, removing code
    
    * feat: write tx datagram to zarr in  during p2z
    
    * feat: add  property for ek80 p2z
    
    * feat: set  from swap array
    
    * fix: missing transmit data when no swap
    
    * fix: only delete col when it exists in p2z_ek80
    
    * test(echodata): add simple P2Z object to utils mock
    
    * fix: Import 'List' typehint
    
    Added import for 'List' that is currently
    in use but missing.
    
    * fix: Remove elif for column removal
    
    Changed the if elif to a for if so
    it removes both 'power' and 'angle' columns
    for RAW4 'tx_datagram_df' data.
    
    * fix: Removed dependency to 'more-itertools'
    
    Removed dependency to 'more-itertools' by using similar
    method that uses 'numpy.array_split' instead to
    evenly split data into desired chunks
    
    * test: Set 'no_swap' for 'test_combine_echodata_combined_append'
    
    Assign 'no_swap' to 'destination_path' during 'open_raw'
    to ensure that everything is in memory since the new
    parsed to zarr functionality is 'auto' by default.
    
    * feat: Add 'auto' keyword to enable auto 'use_swap'
    
    Changed the way that 'auto' determination of 'use_swap'
    by specifying an 'auto' keyword, rather than by default.
    Now defaulting back to 'no_swap' for empty 'destination_path'.
    
    * revert: Removed 'no_swap' in 'test_combine_echodata_combined_append'
    
    On OSOceanAcoustics@b6b79fa
    'no_swap' was set, however because now the default is 'no_swap'
    this shouldn't be needed!
    
    * fix: Use convention yaml for 'backscatter_x'
    
    Sets 'long_name' attributes for 'backscatter_r' and
    'backscatter_i' from the convention yaml for p2z
    outputs. Additionally, units changed from 'V' to 'dB' to
    sync up with the "no_swap" counterpart.
    
    Old tests for 'test_direct_to_zarr_integration' has been activated
    again to ensure equivalency b/w the two methods.
    
    * test: Added P2Z Arrays tests
    
    Added testing for underlying methods that
    gets called during a 'datagram_to_zarr'
    call to ensure that zarr arrays actually gets
    created.
    
    Ref: OSOceanAcoustics#777
    
    ---------
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
    
    * fix(commongrid):  improve 'compute_MVBS' using flox [all tests ci] (OSOceanAcoustics#1124)
    
    * chore(deps): add flox dependency >=0.7.2
    
    * fix(commongrid): fixes 'compute_MVBS' so it can work better and scale
    
    Under the hood, binning along ping time and echo range now uses flox.
    This allows for scalability and more community-maintained.
    
    * docs: add small code comment
    
    * refactor: change how ping_time index is retrieved
    
    * refactor: remove for loop for channel
    
    * test(mvbs): add mock Sv datasets and tests for dims (#2)
    
    Note that @leewujung also changed mean to nanmean for skipping NaNs in each bin.
    
    * [pre-commit.ci] auto fixes from pre-commit.com hooks
    
    for more information, see https://pre-commit.ci
    
    * fix: change dask to numpy
    
    Changed the use of dask for log10 to numpy instead since numpy can also handle dask array inputs properly.
    
    * feat: Add method argument
    
    Added 'method' argument to 'get_MVBS_along_channels'
    and also expose additional keyword arguments control for
    flox.
    
    * fix(commongrid): Fixed to include lat lon
    
    Fixed 'compute_MVBS' function to now
    include latitude and longitude if the variables
    exists in the Sv dataset.
    
    Additionally, the flox method and keyword arguments
    are now exposed within the 'compute_MVBS' function.
    
    Ref: Issue OSOceanAcoustics#1002
    
    * refactor: Set defaults to recommended
    
    After some investigation, @lsetiawan
    concluded that at this time the
    method 'map-reduce', engine 'numpy',
    and reindex True works the best,
    so this is now set as default.
    
    Also, getting echo range maximum is
    through direct data slicing rather than
    computation.
    
    * feat(commongrid): Add 'range_var' argument to 'compute_MVBS'
    
    Added a new argument 'range_var' so that user can set
    the range variable to perform binning with.
    There are 2 options of 'echo_range' and 'depth':
    
    - 'echo_range': When this is set, variable 'water_level'
                    is now included in the resulting MVBS dataset
    - 'depth': A check is in place to ensure that this variable exists
               before moving forward and use this to perform range binning.
    
    Ref: Issue OSOceanAcoustics#1002
    
    * fix: Add missing attributes for lat lon
    
    * test: Update test to use random generator
    
    * fix: Add case for no 'water_level'
    
    Added a case for dataset that doesn't have water level variable.
    
    * test(nasc): Remove 'compute_NASC' import to avoid failure
    
    * fix: Removed assumption on echo range max
    
    Reverted back the echo range max computation
    to computing on the fly since there may be some
    NaN values.
    
    * test: Extract api test and add markings
    
    Extracted fixtures to conftest.py for commongrid.
    Additionally, clean up unused functions and mark
    tests b/w unit and integration. Added a new test module
    called 'test_api.py' for 'commongrid.api'.
    
    * test: Add latlon test for 'compute_MVBS'
    
    Added a test for Sv dataset that contains latitude
    and longitude going through 'compute_MVBS'
    to ensure that those variables gets propagated through.
    
    Ref: OSOceanAcoustics#1002
    
    * test: Add small get_MVBS_along_channels test
    
    Added test for 'get_MVBS_along_channels' with either 'depth'
    as the 'range_var' or checking for 'has_positions' is True
    or False.
    
    * refactor: Integrate suggested changes
    
    Integrated suggested changes from review such as
    additional comments in code, fixing some variable names,
    and extracting out the lin2log and log2lin functions.
    
    Additionally, now echopype imports pint library
    to start having unit checks in the input for compute_MVBS.
    
    * test: Added check for position values
    
    * test: Update range_meter_bin to strings
    
    * test: Added 'compute_MVBS' values test
    
    * Update echopype/tests/utils/test_processinglevels_integration.py
    
    compute_MVBS now should preserve the processing level attributes. So, test for presence rather than absence
    
    * test: Add 'nan' sprinkles
    
    Sprinkled 'nan' values all over 'echo_range' to ensure that
    computed values from 'compute_MVBS' doesn't take into account
    the 'nan'. Added check for the expected distribution of 'nan'
    in the resulting array.
    
    Ref: OSOceanAcoustics#1124 (comment)
    
    * revert: Revert the use of 'pint'
    
    Removed dependency to 'pint' and use simple regex
    to ensure that 'range_bin' input is unit 'm'.
    Renamed 'range_meter_bin' argument to 'range_bin'.
    
    Ref: OSOceanAcoustics#1124 (comment)
    
    * feat: Allow 'range_bin' to have space
    
    * fix: Apply suggestions from code review
    
    Applied fix for regex not capturing decimal values by @emiliom
    
    Ref: https://github.com/OSOceanAcoustics/echopype/pull/1124/files#r1320422121
    
    Co-authored-by: Emilio Mayorga <[email protected]>
    
    * [pre-commit.ci] auto fixes from pre-commit.com hooks
    
    for more information, see https://pre-commit.ci
    
    * test: Fix test text for wrong unit
    
    * test: Remove the 'e.g.' part on pytest
    
    Removed the part with '(e.g., '10m')' since
    it's messing up pytests regex matching.
    
    * test: Remove remnant for test_ek.py
    
    * refactor: Extract range_bin parsing and add close arg
    
    Extracts out the 'range_bin' string to float into a private function.
    Additionally now there's a fine tune argument for bin close edges
    so user can specify either close is 'left' or 'right'.
    Bins are converted to pandas interval index before passing
    into 'get_MVBS_along_channels'.
    
    * refactor: Update arg types to include interval index
    
    Added argument type options for 'range_interval' and 'ping_interval' to
    also be interval index.
    
    * test: Update tests to have brute force creation
    
    Changed mock mvbs to be created by doing brute force
    rather than hard coding.
    
    * [pre-commit.ci] auto fixes from pre-commit.com hooks
    
    for more information, see https://pre-commit.ci
    
    * test: Fix brute force mvbs gen
    
    Fixes the generation of expected mvbs with brute force
    as well as tweaks to mvbs_along_channel test.
    
    * chore: Clean up old code for doing compute MVBS
    
    Removes old code that perfoms compute_MVBS since
    now we've switched over to flox
    
    * chore(pytest): Added custom markers 'unit' and 'integration'
    
    * docs: Update docstring for `compute_MVBS`
    
    Added options for literal arguments
    
    * refactor: Change 'parse_range_bin' to 'parse_x_bin'
    
    Make bin parsing to be more general by making it
    to 'parse_x_bin'.
    
    * chore: Update suggested changes
    
    Update some texts from suggested review as discussed.
    
    Ref: OSOceanAcoustics#1124 (review)
    
    ---------
    
    Co-authored-by: Wu-Jung Lee <[email protected]>
    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
    Co-authored-by: Emilio Mayorga <[email protected]>
    
    * ci: Fix run-test.py for module runs (OSOceanAcoustics#1180)
    
    Fixes the 'run-test.py' script so it can run module
    based testing rather than only specific test files.
    
    Ref: OSOceanAcoustics#1166
    
    * added support for AZFP multiple phase attributes parsing (OSOceanAcoustics#1182)
    
    * added support for multiple phase attributes parsing
    
    * minor changes to code
    
    * Update echopype/convert/set_groups_azfp.py
    
    Co-authored-by: Emilio Mayorga <[email protected]>
    
    * Update set_groups_azfp.py
    
    * Update test_convert_azfp.py
    
    ---------
    
    Co-authored-by: Emilio Mayorga <[email protected]>
    
    * ci: Update CI to barebone python [all tests ci] (OSOceanAcoustics#1192)
    
    * ci: Add installed packages listing
    
    * ci: Add pip listing
    
    * ci: Remove conda from PR action
    
    * ci: Update worklows and add P2Z skip
    
    * ci: More cleanup to workflow
    
    * ci: Bump actions/setup-python from 4.7.0 to 4.7.1
    
    * fix: Fix encoding in 'to_zarr' to remove 'preferred_chunks' before saving (OSOceanAcoustics#1128)
    
    * Encoding and Chunk matching only if DaskArray
    
    * Removing preffered chunks from encoding dict
    
    * [pre-commit.ci] auto fixes from pre-commit.com hooks
    
    for more information, see https://pre-commit.ci
    
    ---------
    
    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
    
    * `parse_azfp` now parses AZFP pressure data according to given matlab code (OSOceanAcoustics#1189)
    
    * added support for parsing azfp pressure data
    
    * fixed failing ci tests
    
    * Revert "fixed failing ci tests"
    
    This reverts commit c378dc0.
    
    * minor changes to tests
    
    * Update test_convert_azfp.py
    
    * Update echopype/tests/convert/test_convert_azfp.py
    
    ---------
    
    Co-authored-by: Emilio Mayorga <[email protected]>
    
    * Enhanced `update_platform` to Auto-assign first `ping_time` as `Platform` timestamp for fixed-location update case without timestamp. [all tests ci] (OSOceanAcoustics#1196)
    
    * first  is auto assigned as  timestamp for lon and lat update without timestamp
    
    * fix small typo
    
    ---------
    
    Co-authored-by: Wu-Jung Lee <[email protected]>
    
    * Added `depth_from_pressure` method required for the calculation of `vertical_offset` value (OSOceanAcoustics#1207)
    
    * added depth_from_pressure method
    
    * Function arguments can be scalars or sequences; and add more tests (#2)
    
    * Reverse order of equation terms to match UNESCO 1983 source
    
    * For depth_from_pressure, accept scalars, lists and arrays for all 3 arguments. Include consistency checks.
    
    * Add a greater variety of depth_from_pressure tests.
    
    * Update echopype/utils/misc.py
    
    * [pre-commit.ci] auto fixes from pre-commit.com hooks
    
    for more information, see https://pre-commit.ci
    
    ---------
    
    Co-authored-by: Emilio Mayorga <[email protected]>
    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
    
    * fix(commongrid): fix bugs and improve `compute_NASC` using flox (OSOceanAcoustics#1167)
    
    * chore(deps): add flox dependency >=0.7.2
    
    * fix(commongrid): fixes 'compute_MVBS' so it can work better and scale
    
    Under the hood, binning along ping time and echo range now uses flox.
    This allows for scalability and more community-maintained.
    
    * docs: add small code comment
    
    * refactor: change how ping_time index is retrieved
    
    * refactor: remove for loop for channel
    
    * test(mvbs): add mock Sv datasets and tests for dims (#2)
    
    Note that @leewujung also changed mean to nanmean for skipping NaNs in each bin.
    
    * [pre-commit.ci] auto fixes from pre-commit.com hooks
    
    for more information, see https://pre-commit.ci
    
    * fix: change dask to numpy
    
    Changed the use of dask for log10 to numpy instead since numpy can also handle dask array inputs properly.
    
    * feat: Add method argument
    
    Added 'method' argument to 'get_MVBS_along_channels'
    and also expose additional keyword arguments control for
    flox.
    
    * fix(commongrid): Fixed to include lat lon
    
    Fixed 'compute_MVBS' function to now
    include latitude and longitude if the variables
    exists in the Sv dataset.
    
    Additionally, the flox method and keyword arguments
    are now exposed within the 'compute_MVBS' function.
    
    Ref: Issue OSOceanAcoustics#1002
    
    * refactor: Set defaults to recommended
    
    After some investigation, @lsetiawan
    concluded that at this time the
    method 'map-reduce', engine 'numpy',
    and reindex True works the best,
    so this is now set as default.
    
    Also, getting echo range maximum is
    through direct data slicing rather than
    computation.
    
    * feat(commongrid): Add 'range_var' argument to 'compute_MVBS'
    
    Added a new argument 'range_var' so that user can set
    the range variable to perform binning with.
    There are 2 options of 'echo_range' and 'depth':
    
    - 'echo_range': When this is set, variable 'water_level'
                    is now included in the resulting MVBS dataset
    - 'depth': A check is in place to ensure that this variable exists
               before moving forward and use this to perform range binning.
    
    Ref: Issue OSOceanAcoustics#1002
    
    * fix: Add missing attributes for lat lon
    
    * test: Update test to use random generator
    
    * fix: Add case for no 'water_level'
    
    Added a case for dataset that doesn't have water level variable.
    
    * test(nasc): Remove 'compute_NASC' import to avoid failure
    
    * fix: Removed assumption on echo range max
    
    Reverted back the echo range max computation
    to computing on the fly since there may be some
    NaN values.
    
    * test: Extract api test and add markings
    
    Extracted fixtures to conftest.py for commongrid.
    Additionally, clean up unused functions and mark
    tests b/w unit and integration. Added a new test module
    called 'test_api.py' for 'commongrid.api'.
    
    * test: Add latlon test for 'compute_MVBS'
    
    Added a test for Sv dataset that contains latitude
    and longitude going through 'compute_MVBS'
    to ensure that those variables gets propagated through.
    
    Ref: OSOceanAcoustics#1002
    
    * test: Add small get_MVBS_along_channels test
    
    Added test for 'get_MVBS_along_channels' with either 'depth'
    as the 'range_var' or checking for 'has_positions' is True
    or False.
    
    * refactor: Integrate suggested changes
    
    Integrated suggested changes from review such as
    additional comments in code, fixing some variable names,
    and extracting out the lin2log and log2lin functions.
    
    Additionally, now echopype imports pint library
    to start having unit checks in the input for compute_MVBS.
    
    * test: Added check for position values
    
    * test: Update range_meter_bin to strings
    
    * test: Added 'compute_MVBS' values test
    
    * Update echopype/tests/utils/test_processinglevels_integration.py
    
    compute_MVBS now should preserve the processing level attributes. So, test for presence rather than absence
    
    * test: Add 'nan' sprinkles
    
    Sprinkled 'nan' values all over 'echo_range' to ensure that
    computed values from 'compute_MVBS' doesn't take into account
    the 'nan'. Added check for the expected distribution of 'nan'
    in the resulting array.
    
    Ref: OSOceanAcoustics#1124 (comment)
    
    * revert: Revert the use of 'pint'
    
    Removed dependency to 'pint' and use simple regex
    to ensure that 'range_bin' input is unit 'm'.
    Renamed 'range_meter_bin' argument to 'range_bin'.
    
    Ref: OSOceanAcoustics#1124 (comment)
    
    * feat: Allow 'range_bin' to have space
    
    * fix: Apply suggestions from code review
    
    Applied fix for regex not capturing decimal values by @emiliom
    
    Ref: https://github.com/OSOceanAcoustics/echopype/pull/1124/files#r1320422121
    
    Co-authored-by: Emilio Mayorga <[email protected]>
    
    * [pre-commit.ci] auto fixes from pre-commit.com hooks
    
    for more information, see https://pre-commit.ci
    
    * test: Fix test text for wrong unit
    
    * test: Remove the 'e.g.' part on pytest
    
    Removed the part with '(e.g., '10m')' since
    it's messing up pytests regex matching.
    
    * revive the function to make changes easier to see
    
    * add TODOs
    
    * add computation steps
    
    * [pre-commit.ci] auto fixes from pre-commit.com hooks
    
    for more information, see https://pre-commit.ci
    
    * remove unused _lin2log
    
    * test: Remove remnant for test_ek.py
    
    * refactor: Extract range_bin parsing and add close arg
    
    Extracts out the 'range_bin' string to float into a private function.
    Additionally now there's a fine tune argument for bin close edges
    so user can specify either close is 'left' or 'right'.
    Bins are converted to pandas interval index before passing
    into 'get_MVBS_along_channels'.
    
    * refactor: Update arg types to include interval index
    
    Added argument type options for 'range_interval' and 'ping_interval' to
    also be interval index.
    
    * test: Update tests to have brute force creation
    
    Changed mock mvbs to be created by doing brute force
    rather than hard coding.
    
    * [pre-commit.ci] auto fixes from pre-commit.com hooks
    
    for more information, see https://pre-commit.ci
    
    * test: Fix brute force mvbs gen
    
    Fixes the generation of expected mvbs with brute force
    as well as tweaks to mvbs_along_channel test.
    
    * chore: Clean up old code for doing compute MVBS
    
    Removes old code that perfoms compute_MVBS since
    now we've switched over to flox
    
    * chore(pytest): Added custom markers 'unit' and 'integration'
    
    * docs: Update docstring for `compute_MVBS`
    
    Added options for literal arguments
    
    * refactor: Change 'parse_range_bin' to 'parse_x_bin'
    
    Make bin parsing to be more general by making it
    to 'parse_x_bin'.
    
    * refactor: Initial unification of MVBS and NASC
    
    Added setup and validate function for shared checks
    between compute MVBS and NASC so only unique
    checks are in its individual function.
    
    * fix typo when porting from notebook
    
    * correct attribute units from m to nmi
    
    * refactor: Add typehints and use method
    
    * feat: Add get_x_along_channels
    
    Added 'get_x_along_channels' function that generalizes
    the reduction routines from 'get_MVBS_along_channels'.
    This now removes the old function in mvbs.py module.
    
    Additionally, uses of 'get_MVBS_along_channels' has
    been removed from the test and code for 'compute_MVBS'.
    
    * feat: Implement new 'compute_NASC'
    
    Use 'get_x_along_channels' for 'compute_NASC'
    and turn on old 'test_nasc.py' for initial nasc testing
    
    * test: Renamed and moved get_x_along_channels test
    
    * fix: Use 'ffill' and 'bfill'
    
    Fixes the 'FutureWarning' coming from pandas
    since as of pandas version 2.1.0 the 'method'
    argument for 'fillna' is deprecated.
    
    Ref: OSOceanAcoustics#1167 (comment)
    
    * feat: Allow import 'compute_NASC' from 'commongrid' module
    
    * fix: Fix bug on setup and validate and test
    
    Fixes bug on 'setup_and_validate' during variable checks.
    
    Also added simple testing for values from flox vs echoview.
    
    * test: Update simple NASC integration test
    
    * test: Add brute force values test for NASC
    
    * chore: Apply suggestions from code review
    
    Co-authored-by: Wu-Jung Lee <[email protected]>
    
    * refactor: Extract position reduction
    
    * refactor: Separate sv mean and raw computations
    
    * test: Remove empty test_nasc.py
    
    * docs: Update docs for functions
    
    * refactor: Move helper funcs to utils.py
    
    * add L4 processing level to compute_NASC
    
    ---------
    
    Co-authored-by: Landung 'Don' Setiawan <[email protected]>
    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
    Co-authored-by: Emilio Mayorga <[email protected]>
    
    ---------
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: Don Setiawan <[email protected]>
    Co-authored-by: Praneeth Ratna <[email protected]>
    Co-authored-by: Wu-Jung Lee <[email protected]>
    Co-authored-by: Emilio Mayorga <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
    Co-authored-by: Soham Butala <[email protected]>
    8 people committed Nov 13, 2023
    Configuration menu
    Copy the full SHA
    ffee09e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2664759 View commit details
    Browse the repository at this point in the history
  3. Fixed a test

    ruxandra-valcu committed Nov 13, 2023
    Configuration menu
    Copy the full SHA
    e62b3dd View commit details
    Browse the repository at this point in the history
  4. Fixed a test

    ruxandra-valcu committed Nov 13, 2023
    Configuration menu
    Copy the full SHA
    27da72a View commit details
    Browse the repository at this point in the history

Commits on Nov 24, 2023

  1. Denoise fix

    ruxandra-valcu committed Nov 24, 2023
    Configuration menu
    Copy the full SHA
    7905e13 View commit details
    Browse the repository at this point in the history
  2. Requirements

    ruxandra-valcu committed Nov 24, 2023
    Configuration menu
    Copy the full SHA
    0c6e4bb View commit details
    Browse the repository at this point in the history

Commits on Dec 6, 2023

  1. Fixed an array issue

    ruxandra-valcu committed Dec 6, 2023
    Configuration menu
    Copy the full SHA
    e24a01e View commit details
    Browse the repository at this point in the history

Commits on Dec 8, 2023

  1. Fixed an array issue

    ruxandra-valcu committed Dec 8, 2023
    Configuration menu
    Copy the full SHA
    538d7b9 View commit details
    Browse the repository at this point in the history