Skip to content

fix: fix frequency_to_string outputing 108000s#216

Merged
aaron-hopkinson merged 5 commits intomainfrom
feature/fix-frequency_to_string-outputing-108000s
Oct 21, 2025
Merged

fix: fix frequency_to_string outputing 108000s#216
aaron-hopkinson merged 5 commits intomainfrom
feature/fix-frequency_to_string-outputing-108000s

Conversation

@floriankrb
Copy link
Member

@floriankrb floriankrb commented Sep 16, 2025

Description

Fixes #215

As a contributor to the Anemoi framework, please ensure that your changes include unit tests, updates to any affected dependencies and documentation, and have been tested in a parallel setting (i.e., with multiple GPUs). As a reviewer, you are also responsible for verifying these aspects and requesting changes if they are not adequately addressed. For guidelines about those please refer to https://anemoi.readthedocs.io/en/latest/

By opening this pull request, I affirm that all authors agree to the Contributor License Agreement.

@floriankrb floriankrb marked this pull request as draft September 16, 2025 11:19
@floriankrb floriankrb changed the title feat: fix frequency_to_string outputing 108000s fix: fix frequency_to_string outputing 108000s Sep 16, 2025
@github-actions github-actions bot added the tests label Sep 16, 2025
@floriankrb floriankrb marked this pull request as ready for review September 16, 2025 11:21
@anaprietonem anaprietonem self-requested a review September 16, 2025 11:24
anaprietonem
anaprietonem previously approved these changes Sep 16, 2025
Copy link
Collaborator

@anaprietonem anaprietonem left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes looks good, and assert confirm it's working as expect. I think the function could be simplified as right now there is a renaming from total_seconds to second that looked unnecessary. If this function is just experimental feel free to ignore, if we plan to use this across packages I think cleaning could then be added.


def frequency_to_string(frequency: datetime.timedelta) -> str:
    total_seconds = int(frequency.total_seconds())
    if total_seconds < 0:
        return f"-{frequency_to_string(-frequency)}"

    if total_seconds % (24 * 3600) == 0:
        return f"{total_seconds // (24 * 3600)}d"
    elif total_seconds % 3600 == 0:
        return f"{total_seconds // 3600}h"
    elif total_seconds % 60 == 0:
        return f"{total_seconds // 60}m"
    else:
        return f"{total_seconds}s"

Copy link
Collaborator

@anaprietonem anaprietonem left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks for the changes @floriankrb, good to be merged!

aaron-hopkinson pushed a commit to ecmwf/anemoi-datasets that referenced this pull request Oct 21, 2025
## Description
Needed for ecmwf/anemoi-utils#216

***As a contributor to the Anemoi framework, please ensure that your
changes include unit tests, updates to any affected dependencies and
documentation, and have been tested in a parallel setting (i.e., with
multiple GPUs). As a reviewer, you are also responsible for verifying
these aspects and requesting changes if they are not adequately
addressed. For guidelines about those please refer to
https://anemoi.readthedocs.io/en/latest/***

By opening this pull request, I affirm that all authors agree to the
[Contributor License
Agreement.](https://github.com/ecmwf/codex/blob/main/Legal/contributor_license_agreement.md)
@aaron-hopkinson aaron-hopkinson merged commit 5806a0c into main Oct 21, 2025
124 of 126 checks passed
@aaron-hopkinson aaron-hopkinson deleted the feature/fix-frequency_to_string-outputing-108000s branch October 21, 2025 10:09
@github-project-automation github-project-automation bot moved this from To be triaged to Done in Anemoi-dev Oct 21, 2025
anaprietonem pushed a commit that referenced this pull request Oct 22, 2025
🤖 Automated Release PR

This PR was created by `release-please` to prepare the next release.
Once merged:

1. A new version tag will be created
2. A GitHub release will be published
3. The changelog will be updated

Changes to be included in the next release:
---


##
[0.4.38](0.4.37...0.4.38)
(2025-10-22)


### Features

* **testing:** Add download timeout
([#230](#230))
([721d114](721d114))
* **testing:** Sane test data download retries
([#227](#227))
([1e08996](1e08996))


### Bug Fixes

* Fix frequency_to_string outputing 108000s
([#216](#216))
([5806a0c](5806a0c))
* Support dicts of supporting_arrays
([#229](#229))
([9badbad](9badbad))

---
> [!IMPORTANT]
> Please do not change the PR title, manifest file, or any other
automatically generated content in this PR unless you understand the
implications. Changes here can break the release process.
> ⚠️ Merging this PR will:
> - Create a new release
> - Trigger deployment pipelines
> - Update package versions

 **Before merging:**
 - Ensure all tests pass
 - Review the changelog carefully
 - Get required approvals

[Release-please
documentation](https://github.com/googleapis/release-please)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

frequency_to_string(frequency_to_timedelta('30h')) returns "108000s" instead of "30h"

3 participants