Skip to content

Commit

Permalink
Add diag send complete calls to MOM
Browse files Browse the repository at this point in the history
  • Loading branch information
Uriel Ramirez authored and marshallward committed May 30, 2024
1 parent f21ec03 commit 705a384
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 1 deletion.
6 changes: 6 additions & 0 deletions config_src/infra/FMS1/MOM_diag_manager_infra.F90
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ module MOM_diag_manager_infra
public MOM_diag_manager_init
public MOM_diag_manager_end
public send_data_infra
public diag_send_complete_infra
public MOM_diag_field_add_attribute
public register_diag_field_infra
public register_static_field_infra
Expand Down Expand Up @@ -451,4 +452,9 @@ subroutine MOM_diag_field_add_attribute_i1d(diag_field_id, att_name, att_value)

end subroutine MOM_diag_field_add_attribute_i1d

!> Finishes the diag manager reduction methods as needed for the time_step
!! Needed for backwards compatibility, does nothing
subroutine diag_send_complete_infra ()
end subroutine diag_send_complete_infra

end module MOM_diag_manager_infra
12 changes: 11 additions & 1 deletion config_src/infra/FMS2/MOM_diag_manager_infra.F90
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,14 @@ module MOM_diag_manager_infra
use diag_data_mod, only : null_axis_id
use diag_manager_mod, only : fms_diag_manager_init => diag_manager_init
use diag_manager_mod, only : fms_diag_manager_end => diag_manager_end
use diag_manager_mod, only : diag_send_complete
use diag_manager_mod, only : send_data_fms => send_data
use diag_manager_mod, only : fms_diag_field_add_attribute => diag_field_add_attribute
use diag_manager_mod, only : DIAG_FIELD_NOT_FOUND
use diag_manager_mod, only : register_diag_field_fms => register_diag_field
use diag_manager_mod, only : register_static_field_fms => register_static_field
use diag_manager_mod, only : get_diag_field_id_fms => get_diag_field_id
use MOM_time_manager, only : time_type
use MOM_time_manager, only : time_type, set_time
use MOM_domain_infra, only : MOM_domain_type
use MOM_error_infra, only : MOM_error => MOM_err, FATAL, WARNING

Expand Down Expand Up @@ -57,6 +58,7 @@ module MOM_diag_manager_infra
public MOM_diag_manager_init
public MOM_diag_manager_end
public send_data_infra
public diag_send_complete_infra
public MOM_diag_field_add_attribute
public register_diag_field_infra
public register_static_field_infra
Expand Down Expand Up @@ -451,4 +453,12 @@ subroutine MOM_diag_field_add_attribute_i1d(diag_field_id, att_name, att_value)

end subroutine MOM_diag_field_add_attribute_i1d

!> Finishes the diag manager reduction methods as needed for the time_step
subroutine diag_send_complete_infra ()
!! The time_step in the diag_send_complete call is a dummy argument, needed for backwards compatibility
!! It won't be used at all when diag_manager_nml::use_modern_diag=.true.
!! It won't have any impact when diag_manager_nml::use_modern_diag=.false.
call diag_send_complete (set_time(0))
end subroutine diag_send_complete_infra

end module MOM_diag_manager_infra
2 changes: 2 additions & 0 deletions src/framework/MOM_diag_mediator.F90
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ module MOM_diag_mediator
use MOM_diag_manager_infra, only : send_data_infra, MOM_diag_field_add_attribute, EAST, NORTH
use MOM_diag_manager_infra, only : register_diag_field_infra, register_static_field_infra
use MOM_diag_manager_infra, only : get_MOM_diag_field_id, DIAG_FIELD_NOT_FOUND
use MOM_diag_manager_infra, only : diag_send_complete_infra
use MOM_diag_remap, only : diag_remap_ctrl, diag_remap_update, diag_remap_calc_hmask
use MOM_diag_remap, only : diag_remap_init, diag_remap_end, diag_remap_do_remap
use MOM_diag_remap, only : vertically_reintegrate_diag_field, vertically_interpolate_diag_field
Expand Down Expand Up @@ -2078,6 +2079,7 @@ end subroutine enable_averages
subroutine disable_averaging(diag_cs)
type(diag_ctrl), intent(inout) :: diag_CS !< Structure used to regulate diagnostic output

call diag_send_complete_infra()
diag_cs%time_int = 0.0
diag_cs%ave_enabled = .false.

Expand Down

0 comments on commit 705a384

Please sign in to comment.