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

Version 1.0: North Atlantic Update - Tides, Curved Boundaries, Config, and More!😀🤯🥳 #193

Draft
wants to merge 98 commits into
base: main
Choose a base branch
from

Conversation

manishvenu
Copy link

@manishvenu manishvenu commented Oct 11, 2024

Description:

Major Features:

  • Accepting curved boundary supergrids and bathymetry
  • Tides from TPXO
  • Import from Config Files
  • Major bathymetry fixes for land-sea mask
  • Moving experiment specific changes to MOM_override (Boundary parameters and others) and out of MOM_input
  • New GLORYS downloader (that can account for curved boundaries)
  • Additional tests (tides specific)
  • Changing function names to verb beginnings (initial_condition -> setup_initial_condition)
  • Add properties (i.e. more functional object variables) and dataset plotting

Minor Features:

  • Ability to code without greek letters
  • Removed unintentional machine-specific code
  • Increased print statements

Breaking Changes (for backwards compatibility):

  • Practically Everything. Functions changed to verb starts!

Documentation Changes (TBD):

  • Update README and Docs

Co-authored-by: @ashjbarnes

ashjbarnes and others added 30 commits August 28, 2024 14:00
Changes to make compatible with CESM
having mask table and layout no longer required
Replace minimum layers with min depth
…nt num

After talking with Ashley, the find_MOM6_orientation will likely be removed
The function names for rectangular and sinmple boundaries were changed because the tides are a kind of boundary function, the old names now give a warning and call the correct function. GFDL had rough horizontal subsetting for the tpxo dataset (probably for efficiency?), implemented in setup_tides_rectangular_boundaries.
Collapsed the *_tidal_dims functions into the encode_tides function in segment, and add citing documentation to the docstrings for now.
Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@manishvenu manishvenu changed the title Version 1.0: North Atlantic Update - Tides, Curved Boundaries, Config, and More\]\]\ Version 1.0: North Atlantic Update - Tides, Curved Boundaries, Config, and More!😀🤯🥳 Oct 11, 2024
tests/test_angled_grids.py Outdated Show resolved Hide resolved
@navidcy
Copy link
Contributor

navidcy commented Oct 11, 2024

Hi @manishvenu

T H A N K S !

This is a huge PR. Is there any chance we break it into a few smaller ones? Otherwise reviewing will be hard.

Btw,
> Functions changed to verb starts!
what does "verb starts" mean?
(got it!)

@@ -129,7 +129,7 @@ def test_quadrilateral_areas(lat, lon, true_area):
],
)
def test_rectangular_hgrid(lat, lon):
assert isinstance(rectangular_hgrid(lat, lon), xr.Dataset)
assert isinstance(generate_rectangular_hgrid(lat, lon), xr.Dataset)
Copy link
Contributor

Choose a reason for hiding this comment

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

The args are reversed in the test compared to the method definition

https://github.com/CROCODILE-CESM/regional-mom6/blob/cd987f590d9346ebcb232413ee78fd3e34b86c78/regional_mom6/regional_mom6.py#L487

Probably doesn't matter for this test, but it might create confusion to users/developers.

@ashjbarnes
Copy link
Collaborator

Hi @manishvenu

T H A N K S !

This is a huge PR. Is there any chance we break it into a few smaller ones? Otherwise reviewing will be hard.

Btw, > Functions changed to verb starts! what does "verb starts" mean? (got it!)

Yes it's a huge PR! We did have this broken down into smaller PRs on the CROCODILE fork, which we reviewed and merged one by one over the last couple of months. Unfortunately these PRs might not be useful for us to break up this big one any more, because we did need to do a lot of merging given that @manishvenu and I were working in parallel on several changes.

It's still in draft state for now while we polish it (build on the properties for each input which is WIP, add more comments, remove commented out code, review the demos etc) but thought it could be good to get the ball rolling on the review.

Is there a way you suggest that we break up the PR? Since we did a huge overhaul of the entire codebase, it's kind of hard to separate some of the changes!

manishvenu and others added 4 commits October 14, 2024 14:29
…up_run_directory (#20)

* Package type changes for CRR

* Black Formatting

* Change MOM Param

* Change MOM_param to Work

* black

* Remvoe premade_run_dir_arg

* Remove init

* Black

* Update MOM_param_test

* Clean
* include DataReader class

* within __getattr__ read data files

* bug

* update demo with plots

* typo
@ashjbarnes
Copy link
Collaborator

BTW this PR closes #184 , #168 , and also #55 in a roundabout way since user now specifies which boundaries they want, and the MOM inputs are adjusted accordingly.

@navidcy
Copy link
Contributor

navidcy commented Oct 14, 2024

BTW this PR closes #184 , #168 , and also #55 in a roundabout way since user now specifies which boundaries they want, and the MOM inputs are adjusted accordingly.

the closes #XYZ either needs to be in the first comment of the PR or we need to manually link the issues with the PR

@navidcy
Copy link
Contributor

navidcy commented Oct 14, 2024

Yes it's a huge PR! We did have this broken down into smaller PRs on the CROCODILE fork, which we reviewed and merged one by one over the last couple of months. Unfortunately these PRs might not be useful for us to break up this big one any more, because we did need to do a lot of merging given that @manishvenu and I were working in parallel on several changes.

It's still in draft state for now while we polish it (build on the properties for each input which is WIP, add more comments, remove commented out code, review the demos etc) but thought it could be good to get the ball rolling on the review.

OK, when is ready to review we can talk again? Huge PRs are harder to review though and take longer...

Is there a way you suggest that we break up the PR?

Each of the major features mentioned in the first comment sounds like could be a PR? Just a suggestion..

@navidcy navidcy added the enhancement New feature or request label Oct 14, 2024
@navidcy
Copy link
Contributor

navidcy commented Oct 14, 2024

Ability to code without greek letters

haha, sorry if I introduced this difficulty to devs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants