Skip to content

Add MPAS-O and MPAS-SI from EarthWorksOrg/EarthWorks #569

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

Open
wants to merge 14 commits into
base: main
Choose a base branch
from

Conversation

gdicker1
Copy link

Description of changes

This PR edits config_*.xml files and fields exchanged to enable MPAS Ocean and MPAS SeaIce to be used as components in CESM. These components have been forked from E3SM and developed in the EarthWorks project (EarthWorksOrg/EarthWorks on GitHub).

Specific notes

Contributors other than yourself, if any: @dazlich (Don Dazlich)

Are changes expected to change answers? bfb

Any User Interface Changes (namelist or namelist defaults changes)? N/A

Testing performed

I tested a CESM sandbox with this and other relevant changes compared against the baseline version, cesm3_0_beta06 and the externals cloned there. I mainly ran the aux_cmeps via create_test on Derecho. I did not notice any new fails, just many NLFAILS reported since model_version was compared between the namelists.

Baseline: ESCOMP/CESM:cesm3_0_beta06 tag (637b59332d7ff3d339906116942a334ed5537d18)
Test: gdicker1/CESM:eworg_mpaso_mpassi branch (e6698083a8f7199dedc1cc50204dd4b324808d45)

Baseline aux_cmeps FAILS on Derecho, 5 of 24 tests:

  ERP_Ln9.f09_f09_mg17.F2000climo.derecho_nvhpc.cam-outfrq9s (Overall: FAIL) details:
    FAIL ERP_Ln9.f09_f09_mg17.F2000climo.derecho_nvhpc.cam-outfrq9s MODEL_BUILD time=393
  ERS_Ld5.T62_t232.G_JRA.derecho_nvhpc (Overall: FAIL) details:
    FAIL ERS_Ld5.T62_t232.G_JRA.derecho_nvhpc MODEL_BUILD time=175
  ERS_Lm13_P32.f10_f10_mg37.I1850Clm50SpG.derecho_nvhpc (Overall: FAIL) details:
    FAIL ERS_Lm13_P32.f10_f10_mg37.I1850Clm50SpG.derecho_nvhpc RUN time=0
  ERS_Ln9_C3.f19_g17_rx1.A.derecho_intel (Overall: FAIL) details:
    FAIL ERS_Ln9_C3.f19_g17_rx1.A.derecho_intel CREATE_NEWCASE
  SMS_Ln11_D.f19_g17_rx1.A.derecho_gnu (Overall: FAIL) details:
    FAIL SMS_Ln11_D.f19_g17_rx1.A.derecho_gnu CREATE_NEWCASE

Test (this PR) aux_cmeps FAILS on Derecho, 5 of 24 tests (plus 19 NLFAILS):

  ERP_Ln9.f09_f09_mg17.F2000climo.derecho_nvhpc.cam-outfrq9s (Overall: FAIL) details:
    FAIL ERP_Ln9.f09_f09_mg17.F2000climo.derecho_nvhpc.cam-outfrq9s MODEL_BUILD time=349
    FAIL ERR_Ld5.ne30pg3_t232.BMT1850.derecho_intel.allactive-defaultio TPUTCOMP Could not get default throughput
  ERS_Ld5.T62_t232.G_JRA.derecho_nvhpc (Overall: FAIL) details:
    FAIL ERS_Ld5.T62_t232.G_JRA.derecho_nvhpc MODEL_BUILD time=165
  ERS_Lm13_P32.f10_f10_mg37.I1850Clm50SpG.derecho_nvhpc (Overall: FAIL) details:
    FAIL ERS_Lm13_P32.f10_f10_mg37.I1850Clm50SpG.derecho_nvhpc RUN time=0
  ERS_Ln9_C3.f19_g17_rx1.A.derecho_intel (Overall: FAIL) details:
    FAIL ERS_Ln9_C3.f19_g17_rx1.A.derecho_intel CREATE_NEWCASE
  SMS_Ln11_D.f19_g17_rx1.A.derecho_gnu (Overall: FAIL) details:
    FAIL SMS_Ln11_D.f19_g17_rx1.A.derecho_gnu CREATE_NEWCASE

Don Dazlich and others added 11 commits August 27, 2022 17:03
…cesm_mod.F90

Since EarthWorksOrg/cmeps has been based on 'cmeps0.13.68' the routine
signatures are different to those used in 'cmeps0.14.2'. So, logic added
for mpas-ocean and mpas-seaice fields did not automatically update to
the new implementations. This commit manually does that update.
As the resolution of simulation increases, it makes sense to also
increase the coupling intervals to maintain stability and realism.
If the compset name contains "_MPAS" then NCPL_BASE_PERIOD changes to
hour instead of day. The new values are equivalent to the day-based
values.

Also add an entry for ROF, so that it is set to ATM_NCPL if the compset
includes "_MPAS" in the name.
Necessary coupling fields associated with the new version of
MPAS-Ocean have been added. These fields are associated
with Stokes drift and may not actually be used.
Catch up to development, especially to cesm3_0_beta06 version.
@gdicker1
Copy link
Author

Some help reviewing from @jedwards4b and optionally @fischer-ncar would be appreciated! (Can't assign reviewers.)

@gdicker1
Copy link
Author

Copy link
Collaborator

@jedwards4b jedwards4b left a comment

Choose a reason for hiding this comment

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

I am concerned that these changes are being applied to all cases but may only be relevant for earthworks. Are you certain that they have no adverse effects on other compsets?

@gdicker1
Copy link
Author

I am concerned that these changes are being applied to all cases but may only be relevant for earthworks. Are you certain that they have no adverse effects on other compsets?

I'm not exhaustively certain. I have not noticed any answer differences from cesm3_0_beta06 after adding these changes for what I've tested (especially aux_cmeps runs for this PR). @dazlich any thoughts?

@jedwards4b, would it help your concern to add some logic so this new code is only executed if MPAS-O is the ocean model (`ocn_name == 'mpaso')?

@jedwards4b
Copy link
Collaborator

Yes, I think that would address my concern. Thanks

@dazlich
Copy link

dazlich commented Jun 16, 2025

@gdicker1 , @jedwards4b I believe the concern might be that mpasa framework might get confused with the framework used by mpaso and mpassi. We have modified the mpaso/si framework so that all modules carry a different name from those in mpasa.
One place that might need addressing is the mpas-seaice column physics - they are closely related to the CICE column physics, but if only one seaice model is built that shouldn't be an issue.

@dazlich
Copy link

dazlich commented Jun 16, 2025

@gdicker1 , @jedwards4b I should add that means maintenance of two copies of mpas-framework code, not a good practice. The effort to merge them is likely non-trivial, but likely not too onerous.

@gdicker1
Copy link
Author

gdicker1 commented Jun 16, 2025

@dazlich, noted on the mpas-framework. I likely won't be able to address it before these PRs, but that would be good to address soon-ish (i.e. before August).

@dazlich
Copy link

dazlich commented Jun 16, 2025 via email

@gdicker1
Copy link
Author

@gdicker1 , @jedwards4b I believe the concern might be that mpasa framework might get confused with the framework used by mpaso and mpassi. We have modified the mpaso/si framework so that all modules carry a different name from those in mpasa. One place that might need addressing is the mpas-seaice column physics - they are closely related to the CICE column physics, but if only one seaice model is built that shouldn't be an issue.

@dazlich, could you help my understanding a bit? Is this comment a concern overall with adding MPAS-O and MPAS-SI to CESM? Or am I not following how this comment relates to the changes in esmFldsExchange_cesm_mod.F90?

@dazlich
Copy link

dazlich commented Jun 16, 2025 via email

@gdicker1
Copy link
Author

@gdicker1 - that’s an overall comment on porting MPAS-O and MPAS-SI into CESM. I neglected to note this was in the CMEPS discussion when my name popped up. Is there another place to put my framework comments?

@dazlich, I think this works for now since I don't have an ESCOMP/CESM PR. I'll get some of these points copied into EarthWorksOrg/EarthWorks Issue#40.

As to esmFldsExchange_cesm_mod.F90 - I recall adding mpaso/si variables as necessary. I don’t have a good idea what, if any, conflicts they might introduce into cesm, so the mpaso specific logic comment is a good idea.

Thanks!

This change tries to ensure that adding MPAS-O and MPAS-SI won't affect
CESM results.
@gdicker1
Copy link
Author

@jedwards4b, could you make sure I've satisfied requested edits?

And @dazlich, your opinion would be valued too.

!-----------------------------
! to ocn:
!-----------------------------
if (ocn_name == 'mpaso') then
Copy link
Collaborator

Choose a reason for hiding this comment

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

I think that you can bracket all of this code with one if instead of having one for each variable.

Copy link
Author

Choose a reason for hiding this comment

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

Understood, will do.

Copy link
Author

Choose a reason for hiding this comment

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

My recent commit just did the big 'mpaso' section. Let me know if I need to consolidate more.

@dazlich
Copy link

dazlich commented Jun 18, 2025

I agree with Jim, otherwise looks good

Copy link
Collaborator

@jedwards4b jedwards4b left a comment

Choose a reason for hiding this comment

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

thanks

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

Successfully merging this pull request may close these issues.

3 participants