Custom WW3 wave grids for custom ocean grids#42
Open
alperaltuntas wants to merge 10 commits into
Open
Conversation
Collaborator
|
This closes #33 |
Collaborator
|
I got this error on building a case from visualCaseGen with ww3 (custom): There doesn't seem to be anything in my user_nl_ww3, but the files are written to my ocnice |
Member
Author
|
@manishvenu Could you update to the latest WW3 tags and retry: I think we'll need to update CESM version checking accordingly. |
Collaborator
Changing to this, passed the namelist build stage with |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Let users choose, in the custom-grid flow, whether WW3 uses a standard wave grid
or reuses the newly created custom ocean grid. Adds a Wave Grid stage with a
WAV_GRID_MODEtoggle; when "Custom Ocean Grid" is selected, the WW3 grid-preprocessorinput files (
*.inp) are generated from the saved ocean grid via mom6_forge.Built on a new
relevance_conditionmechanism so irrelevant stages (e.g. Land/Runoff/Wavefor stub components) are skipped entirely instead of shown as empty boxes.
Changes
ProConPy/stage.py:Stage.relevance_condition— irrelevant stages are skipped(variables auto-resolved, no UI), and
revert()skips back over them. Factored a sharedcondition_holds(); renamed Guard'scondition→branch_conditionso the two conditionconcepts read as duals rather than parent/child.
stages/grid_stages.py: Wave Grid Mode / Wave Grid / Wave Input Files stages;relevance_conditionapplied to Land and Runoff stages.custom_widget_types/ww3_input_generator.py(new): inline generator that reconstructsthe grid/topo from the saved ocean files and writes the WW3
*.inpfiles; readsmin_depthfrom the topog attribute so the WW3 land/sea mask matches the ocean mask.
case_creator.py: branches onWAV_GRID_MODE— reuse-ocean-grid (legacy coupling +copy
*.inp) vs. standard wave grid (setWAV_GRID/WAV_DOMAIN_MESH).specs/grid_options.py,widgets/grid_widgets.py,config_vars/grid_vars.py: options,widgets, and config vars for the wave grid.
button is clicked;
T_REFcommits on enter.Testing
test_stage_relevance.py,test_ww3_coupling.pywave-grid options, and a mom6_forgewrite_ww3_inputround-trip).global custom-ocean (custom & standard wave), custom ridge bathymetry (land masking), and
the full Ridge World example (CAM/CLM/CICE/MOM6/WW3) with custom and standard wave grids.