-
Notifications
You must be signed in to change notification settings - Fork 0
CM3 change rc cmeps1.1.31 x #12
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
base: rc-cmeps1.1.31-x
Are you sure you want to change the base?
Conversation
Co-authored-by: Kieran Ricardo <u5824685@anu.edu.au>
anton-seaice
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I didn't go through everything, but my main comment is - can we harmonise field names and code style with the rest of CMEPS
| use med_kind_mod , only : CX=>SHR_KIND_CX | ||
| use med_kind_mod , only : CS=>SHR_KIND_CS | ||
| use med_kind_mod , only : CL=>SHR_KIND_CL | ||
| use med_kind_mod , only : R8=>SHR_KIND_R8 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| use med_kind_mod , only : CX=>SHR_KIND_CX | |
| use med_kind_mod , only : CS=>SHR_KIND_CS | |
| use med_kind_mod , only : CL=>SHR_KIND_CL | |
| use med_kind_mod , only : R8=>SHR_KIND_R8 | |
| use med_kind_mod , only : CX=>SHR_KIND_CX, CS=>SHR_KIND_CS, CL=>SHR_KIND_CL, R8=>SHR_KIND_R8 |
| use med_internalstate_mod , only : compmed, compatm, compocn, compwav, compice | ||
| use med_internalstate_mod , only : ncomps |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| use med_internalstate_mod , only : compmed, compatm, compocn, compwav, compice | |
| use med_internalstate_mod , only : ncomps | |
| use med_internalstate_mod , only : compmed, compatm, compocn, compice, ncomps |
| else if (coupling_mode(1:4) == 'hafs') then | ||
| call esmFldsExchange_hafs(gcomp, phase='advertise', rc=rc) | ||
| if (ChkErr(rc,__LINE__,u_FILE_u)) return | ||
| else if (trim(coupling_mode) == 'access') then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| else if (trim(coupling_mode) == 'access') then | |
| else if (trim(coupling_mode) == 'access-esm') then |
I think we should call this access-cm or access-esm, so we can have an access-om in the future (or just an access-om which alias to cesm to reduce confusion)
|
|
||
| end subroutine med_phases_post_atm | ||
|
|
||
| subroutine med_phases_post_atm_custom_access(gcomp, rc) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can this have a clearer name and a description
| nullify(is_local%wrap) | ||
| call ESMF_GridCompGetInternalState(gcomp, is_local, rc) | ||
|
|
||
| call ESMF_FieldBundleGet(is_local%wrap%FBImp(compice, compatm), fieldName='ia_aicen', field=ice_frac_cat, rc=rc) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Presumable we should be running the ChkErr error, most of the rest of the code does that
| F_flds(3,:) = (/'Fioi_meltw', 'Fioi_meltw'/) | ||
| F_flds(4,:) = (/'Fioi_melth', 'Fioi_melth'/) ! heat flux sea-ice to ocean | ||
| F_flds(5,:) = (/'Fioi_taux', 'Foxx_taux'/) | ||
| F_flds(6,:) = (/'Fioi_tauy', 'Foxx_tauy'/) ! heat flux sea-ice to ocean |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| F_flds(6,:) = (/'Fioi_tauy', 'Foxx_tauy'/) ! heat flux sea-ice to ocean | |
| F_flds(6,:) = (/'Fioi_tauy', 'Foxx_tauy'/) ! surface stress sea-ice to ocean |
?
| ! to atm: from ocn | ||
| ! --------------------------------------------------------------------- | ||
| allocate(S_flds(3)) | ||
| S_flds = (/'So_t', 'So_u', 'So_v'/) ! sea_surface_temperature |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| S_flds = (/'So_t', 'So_u', 'So_v'/) ! sea_surface_temperature | |
| S_flds = (/'So_t', 'So_u', 'So_v'/) |
There's lots of comments like this which are wrong or only partially complete
| ! --------------------------------------------------------------------- | ||
| allocate(S_flds(9)) | ||
| S_flds = (/'Si_t', & | ||
| 'ia_aicen', & |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| 'ia_aicen', & | |
| 'Si_ifrac_n', & |
Should we try and reuse existing names for these ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
from
CMEPS/mediator/esmFldsExchange_cesm_mod.F90
Lines 1753 to 1754 in 63e4c6d
| call addfld_from(compice, 'Si_ifrac_n') | |
| call addfld_to(compocn, 'Si_ifrac_n') |
| allocate(S_flds(9)) | ||
| S_flds = (/'Si_t', & | ||
| 'ia_aicen', & | ||
| 'ia_snown', & |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| 'ia_snown', & | |
| 'Si_snowh_n', & |
| S_flds = (/'Si_t', & | ||
| 'ia_aicen', & | ||
| 'ia_snown', & | ||
| 'ia_thikn', & |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| 'ia_thikn', & | |
| 'Si_ithick_n', & |
Description of changes
CM3 related changes to CMEPS. This adds an "access" coupling mode and associate field exchange module. Also adds in a custom access coupling routine to "mep_phases_post_atm_mod.F90".
Specific notes
Contributors other than yourself, if any: @blimlim
Are changes expected to change answers? No, this shouldn't affect OM3.
Testing performed
Todo (when Gadi's back)