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

Update to CMEPS 1.0.25 #4

Draft
wants to merge 18 commits into
base: access-cmeps-1.0.25
Choose a base branch
from

Conversation

blimlim
Copy link

@blimlim blimlim commented Feb 18, 2025

This PR forms part of the work for ACCESS-NRI/dev_coupling#51

It merges our version of CMEPS, based on version 0.14.35, with CMEPS1.0.25, which is the version currently used in OM3.

I'm using a duplicate access-cmeps-0.14.35-merge-copy branch because resolving the merge conflicts applies a merge commit to the feature branch, and I'm hoping to not break our original access-cmeps-0.14.35 branch. I'll add separate elaborating on the choices for the different merge conflicts.

@blimlim
Copy link
Author

blimlim commented Feb 18, 2025

Notes on the merge conflicts:

  1. med_history_mod.f90:
<<<<<<< access-cmeps-0.14.35
                  use_float=.false., rc=rc)
=======
                  use_float=.true., ntile=ntile, rc=rc)
>>>>>>> access-cmeps-1.0.25

Here I used the access-cmeps-1.0.25 change. Attempting to keep use_float=.false along with the ntile changes led to the issues discussed here

  1. med_phases_prep_atm.f90:


<<<<<<< access-cmeps-0.14.35
    if (trim(coupling_mode) == 'cesm' .or. &
        trim(coupling_mode) == 'nems_frac_aoflux' .or. &
        trim(coupling_mode) == 'hafs') then
       call med_merge_auto(&
            is_local%wrap%med_coupling_active(:,compatm), &
            is_local%wrap%FBExp(compatm), &
            is_local%wrap%FBFrac(compatm), &
            is_local%wrap%FBImp(:,compatm), &
            fldList, &
            FBMed1=is_local%wrap%FBMed_ocnalb_a, &
            FBMed2=is_local%wrap%FBMed_aoflux_a, rc=rc)
       if (ChkErr(rc,__LINE__,u_FILE_u)) return
    else if (trim(coupling_mode) == 'nems_frac' .or. &
             trim(coupling_mode) == 'nems_orig' .or. &
             trim(coupling_mode) == 'nems_frac_aoflux_sbs' .or. &
             trim(coupling_mode) == 'access') then
       call med_merge_auto(&
            is_local%wrap%med_coupling_active(:,compatm), &
            is_local%wrap%FBExp(compatm), &
            is_local%wrap%FBFrac(compatm), &
            is_local%wrap%FBImp(:,compatm), &
            fldList, &
            rc=rc)
       if (ChkErr(rc,__LINE__,u_FILE_u)) return
    end if
=======
    call med_merge_auto(&
         is_local%wrap%med_coupling_active(:,compatm), &
         is_local%wrap%FBExp(compatm), &
         is_local%wrap%FBFrac(compatm), &
         is_local%wrap%FBImp(:,compatm), &
         fldList, &
         FBMed1=is_local%wrap%FBMed_ocnalb_a, &
         FBMed2=is_local%wrap%FBMed_aoflux_a, rc=rc)
    if (ChkErr(rc,__LINE__,u_FILE_u)) return
>>>>>>> access-cmeps-1.0.25

Again I used the change from access-cmeps-1.0.25. This PR dropped the separate treatment for different models in these merges, instead including the albedo and flux field bundles for every model. Discussing this with @kieranricardo, it sounds like using the access-cmeps-1.0.25 changes should be ok here as the extra unused field bundles shouldn't have any impact.

There's an analogous conflict in med_phases_prep_ocn_mod.f90 but the diff ended up a bit broken. I followed the access-cmeps-1.0.25 changes here too.

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.

1 participant