-
Notifications
You must be signed in to change notification settings - Fork 55
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
#2a - Creation of full_coupler_clocks object #106
Conversation
full/coupler_main.F90
Outdated
character(len=128) :: version = '$Id$' | ||
character(len=128) :: tag = '$Name$' |
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.
These should probably be added back in. There may be some models that use this.
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.
Wondering if they wanted to use version and tag, they could use full_coupler_mod?
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.
These are artifacts from our days of using CVS. We had a different method for GitHub, but trying to insert things was shell dependent and not reliable.
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.
Sounds like it is safe to remove then. I will remove it.
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.
Spoke too soon, it is used in coupler_init.
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.
Look at other files that use version and search back in their history to see how things have changed. For example here's mpp.F90 from 19 years ago and 9 years ago when version and tag where updated/removed.
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'll do this in a separate PR
@thomas-robinson @bensonr ready for review |
@@ -226,6 +228,47 @@ module full_coupler_mod | |||
use_hyper_thread, concurrent_ice, slow_ice_with_ocean, & | |||
do_endpoint_chksum, combined_ice_and_ocean | |||
|
|||
type coupler_clock_type |
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 needs documentation. The type and the variables.
@@ -226,6 +228,47 @@ module full_coupler_mod | |||
use_hyper_thread, concurrent_ice, slow_ice_with_ocean, & | |||
do_endpoint_chksum, combined_ice_and_ocean | |||
|
|||
type coupler_clock_type | |||
integer :: initialization |
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.
These should all be private and we should use getters and setters to get and set the variables. Please open an issue to address this in the near future.
full/full_coupler_mod.F90
Outdated
type(coupler_clock_type), intent(inout) :: coupler_clocks | ||
type(atmos_data_type), intent(in) :: Atm | ||
type(land_data_type), intent(in) :: Land | ||
type(ocean_public_type), intent(in) :: Ocean | ||
type(ice_data_type), intent(in) :: Ice | ||
integer, dimension(:), intent(in) :: slow_ice_ocean_pelist | ||
integer, dimension(:,:), intent(in) :: ensemble_pelist | ||
integer, intent(in) :: ensemble_id |
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.
These variables need documentation.
@@ -1503,5 +1523,107 @@ subroutine ocean_chksum(id, timestep, Ocean, Ice_ocean_boundary) | |||
|
|||
end subroutine ocean_chksum | |||
|
|||
!> \brief This subroutine sets the ID for clocks used in coupler_main | |||
subroutine coupler_set_clock_ids(coupler_clocks, Atm, Land, Ice, Ocean, ensemble_pelist,& |
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 could be a type bound procedure. This is the setter. Please add it to the issue you open.
In this PR, a
coupler_clocks
object of typecoupler_clock_type
has been created and is used to replace thenewClocks
.Because of slight changes in the order of clock id creations, the statistics of all clocks used in coupler will be outputted at the top of
mpp_clock statistics
after the outputs forAM4, AM5, SPEAR, and CM4 passes.