-
Notifications
You must be signed in to change notification settings - Fork 78
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
Introduction of new post phases for performance updates #146
Conversation
…lc->lnd for now - but also upcoming glc->ocn and glc->ice but only after a receive from glc
…dded post_rof to run sequence
…p' into mvertens/postphases
…tent with other phases and fixed bugs in run sequence for D and TG compsets
|
||
Testing performed if application target is UFS-S2S: | ||
- [ ] (required) UFS-S2S testing | ||
- [ ] (recommended) UFS-S2S testing | ||
- description: | ||
- details (e.g. failed tests): | ||
|
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.
Is it possible to add UFS-HAFS to the list?
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.
@uturuncoglu - good point. I just added it.
call ESMF_AttributeGet(gcomp, name="Profiling", value=cvalue, & | ||
convention="NUOPC", purpose="Instance", rc=rc) | ||
! Obtain profiling level | ||
call NUOPC_CompAttributeGet(gcomp, name="Profiling", value=cvalue, isPresent=isPresent, isSet=isSet, 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.
We had a problem before related with setting verbosity and profiling. Does this fix it? Providing string such as low, high and max were not working and also there was some restriction in CIME side to set default value for the integer XML entiries.
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.
What it does fix is that I can set the profiling to the maximum number (65535) and it will work. I am printing this out to the mediator log file now.
mediator/med_phases_prep_lnd_mod.F90
Outdated
|
||
logical :: glc2lnd_coupling = .false. | ||
logical :: cism_evolve = .false. | ||
real(r8), pointer :: dataptr_scalar_lnd(:,:) |
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.
Do we need to assign them NULL?
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.
good idea - thanks for pointing this out.
In the current ufs run sequence, we have after ice->med, these 4 phases:
So med_phases_post_ice and prep_ocn_accum take care of the fraction_set, the ocn_map and the ocn_merge ? |
Yes - that is correct. Ultimately, this is a much simpler run sequence and
that is beneficial to performance as well.
…On Mon, Dec 7, 2020 at 1:11 PM Denise Worthen ***@***.***> wrote:
In the current ufs run sequence, we have after ice->med, these 4 phases:
MED med_fraction_set
MED med_phases_prep_ocn_map
MED med_phases_prep_ocn_merge
MED med_phases_prep_ocn_accum_fast
MED med_phases_profile
So med_phases_post_ice and prep_ocn_accum take care of the fraction_set,
the ocn_map and the ocn_merge ?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#146 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AB4XCE5U5XHKRAJFOCV3QE3STUZHPANCNFSM4UQZZTCA>
.
--
Mariana Vertenstein
CESM Software Engineering Group Head
National Center for Atmospheric Research
Boulder, Colorado
Office 303-497-1349
Email: mvertens@ucar.edu
|
|
||
! local variables | ||
type(InternalState) :: is_local | ||
character(len=*),parameter :: subname='(med_phases_prep_ice)' |
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.
This should be med_phases_post_ocn
@@ -260,7 +131,7 @@ subroutine med_phases_prep_ocn_accum_avg(gcomp, rc) | |||
! local variables | |||
type(InternalState) :: is_local | |||
integer :: ncnt | |||
character(len=*),parameter :: subname='(med_phases_prep_ocn_accum_avg)' | |||
character(len=*),parameter :: subname='(med_phases_prep_ocn)' |
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.
here: med_phases_prep_ocn_avg
Good point. I'll change it.
…On Mon, Dec 7, 2020 at 2:29 PM Denise Worthen ***@***.***> wrote:
***@***.**** commented on this pull request.
------------------------------
In mediator/med_phases_post_ocn_mod.F90
<#146 (comment)>:
> + use ESMF , only : ESMF_GridComp
+ use ESMF , only : ESMF_LogWrite, ESMF_LOGMSG_INFO, ESMF_SUCCESS
+ use med_utils_mod , only : chkerr => med_utils_ChkErr
+ use med_constants_mod , only : dbug_flag => med_constants_dbug_flag
+ use med_map_mod , only : med_map_field_packed
+ use med_internalstate_mod , only : InternalState, logunit, mastertask
+ use esmFlds , only : compice, compocn
+ use perf_mod , only : t_startf, t_stopf
+
+ ! input/output variables
+ type(ESMF_GridComp) :: gcomp
+ integer, intent(out) :: rc
+
+ ! local variables
+ type(InternalState) :: is_local
+ character(len=*),parameter :: subname='(med_phases_prep_ice)'
This should be med_phases_post_ocn
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#146 (review)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AB4XCE6FR25RSZOHPAVVWPDSTVCKDANCNFSM4UQZZTCA>
.
--
Mariana Vertenstein
CESM Software Engineering Group Head
National Center for Atmospheric Research
Boulder, Colorado
Office 303-497-1349
Email: mvertens@ucar.edu
|
I've tested this in my fork of ufs-weather (#4b1f313). All cpld and datm RTs passed after making all the correct changes to the run sequences. |
* adds multiple ice sheet functionality (ESCOMP#140) * adds post phases for performance enhancement (ESCOMP#146) * adds ocn->glc (land ice) coupling at multiple levels (ESCOMP#148)
Description of changes
Introduction of new post phases for performance updates
Specific notes
This PR introduces new post phases for each component in order to remove duplicate mappings that were done in the prep phases.
Code Changes:
Run Sequence Changes:
Contributors other than yourself, if any: None
CMEPS Issues Fixes: #145, #141
Are changes expected to change answers?
The results are bfb EXCEPT for the following mediator history differences due to the introduction of post phases:
Any User Interface Changes (namelist or namelist defaults changes)?
Testing performed if application target is CESM:(either UFS-S2S or CESM testing is required):
Testing performed if application target is UFS-S2S:
Hashes used for testing:
This has contains branches for CDEPS and CIME (in addition to CMEPS) that need to have PRs to master.