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

Feature/wdboggs/mapl3 freq aspect ts reftime 3358 #3404

Open
wants to merge 15 commits into
base: release/MAPL-v3
Choose a base branch
from

Conversation

darianboggs
Copy link
Contributor

Types of change(s)

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Trivial change (affects only documentation or cleanup)
  • Refactor (no functional changes, no api changes)

Checklist

  • Tested this change with a run of GEOSgcm
  • Ran the Unit Tests (make tests)

Description

FrequencyAspect has a timestep and reference time now. Conversion between FrequencyAspect objects requires a check that considers timestep and reference_time. This PR implements a fuller test of compatibility in the supports_conversion_specifc function for FrequencyAspect.

Related Issue

#3358 (part 2)

@darianboggs darianboggs added 🎁 New Feature This is a new feature 0 Diff The changes in this pull request have verified to be zero-diff with the target branch. 📈 MAPL3 MAPL 3 Related labels Feb 10, 2025
@darianboggs darianboggs requested a review from tclune February 10, 2025 20:19
@darianboggs darianboggs self-assigned this Feb 10, 2025
Copy link
Collaborator

@tclune tclune left a comment

Choose a reason for hiding this comment

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

See one inline question. Otherwise is fine.

Note that there will be some conflicts with my big PR that I started today. (#3403) Ideally yours will go in first. One thing that changed is that I used refTime in most places in deference to ESMF argument spelling. (Also tried to use esmf capitalization for timeStep, but that is not crucial to be consistent.)

@tclune
Copy link
Collaborator

tclune commented Feb 11, 2025

Alas, my PR got in first (#3403). Ping me if you need a second set of eyes to merge yours.

@darianboggs
Copy link
Contributor Author

See one inline question. Otherwise is fine.

Note that there will be some conflicts with my big PR that I started today. (#3403) Ideally yours will go in first. One thing that changed is that I used refTime in most places in deference to ESMF argument spelling. (Also tried to use esmf capitalization for timeStep, but that is not crucial to be consistent.)

Do we want the reference time procedure argument to be called refTime? The ESMF variable names make sense to me once I know what the variables are, but when I look for a variable without knowing the variable name, the names are not obvious. I am learning the conventions, like timeStep and refTime, but I still use the ESMF documentation.

As a general policy, are we using the ESMF conventions where they overlap with MAPL?

@tclune
Copy link
Collaborator

tclune commented Feb 11, 2025

I don't know these ESMF procedures any better. And I've definitely been inconsistent where "my" naming style conflicts with ESMF argument names. But when the variable really is just for the purpose of interacting with ESMF as these are it seems like the compromise should be towards ESMF. (E.g., I left the yaml key that you defined alone as it was not identical to the ESMF argument no matter what.)

I'm not worried about 100% consistency - but if you are going back in to fix other things, then yes - as much as possible follow the changes that I made.

@tclune
Copy link
Collaborator

tclune commented Feb 11, 2025

As a general policy, are we using the ESMF conventions where they overlap with MAPL?

Just to be more specify. Yes - general policy is to use ESMF conventions when a variable is substantially only used as an argument to ESMF procedures. This is the case for things like importState (where I would otherwise prefer import_state). I just don't want to be overly strict here. For now we won't go sweeping the code for consistency, but I had the energy when making related changes this weekend and propagated it as best I could.

Was hoping that this PR would go in before mine as then I would have the responsibility for completing the exercise. Instead this PR is paying the price.

@darianboggs darianboggs marked this pull request as ready for review February 11, 2025 21:38
@darianboggs darianboggs requested a review from a team as a code owner February 11, 2025 21:38
@darianboggs
Copy link
Contributor Author

As a general policy, are we using the ESMF conventions where they overlap with MAPL?

Just to be more specify. Yes - general policy is to use ESMF conventions when a variable is substantially only used as an argument to ESMF procedures. This is the case for things like importState (where I would otherwise prefer import_state). I just don't want to be overly strict here. For now we won't go sweeping the code for consistency, but I had the energy when making related changes this weekend and propagated it as best I could.

Was hoping that this PR would go in before mine as then I would have the responsibility for completing the exercise. Instead this PR is paying the price.

Got it. I might as well change them while I have them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0 Diff The changes in this pull request have verified to be zero-diff with the target branch. 📈 MAPL3 MAPL 3 Related 🎁 New Feature This is a new feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Check timestep and reference_time for compatibility in FrequencyAspect
2 participants