From 3f69a40d78e6f5088737a94aab63df959de15c31 Mon Sep 17 00:00:00 2001 From: Marshall Ward Date: Sat, 30 Jan 2021 17:23:58 -0500 Subject: [PATCH] MOM_domain_infra: Document FMS passthroughs This patch explicitly identifies `global_field_sum` and `group_pass_type` as FMS pass-throughs. These remain undocumented and cannot be wrapped, but the exceptional reasons for retaining them justifies their existence as pass-throughs. Since `global_field_sum` is unused in MOM6/src, it does not require an explicit definition or wrapper. Legacy drivers may still require this definition, however, so we retain it here. The contents of `group_pass_type` are never accessed, and it is only used to facilitate internal mpp operations, so it does not need to formally be part of the MOM6 API and can be left undocumented. Since these two functions are exceptions to the rule that all active operations should be wrapped and documented, it makes sense to explicitly identify them as such. --- src/framework/MOM_domain_infra.F90 | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/framework/MOM_domain_infra.F90 b/src/framework/MOM_domain_infra.F90 index d980c48317..68385b1c6d 100644 --- a/src/framework/MOM_domain_infra.F90 +++ b/src/framework/MOM_domain_infra.F90 @@ -7,11 +7,11 @@ module MOM_domain_infra use MOM_cpu_clock, only : cpu_clock_begin, cpu_clock_end use MOM_error_infra, only : MOM_error=>MOM_err, NOTE, WARNING, FATAL -use mpp_domains_mod, only : domain2D, domain1D, group_pass_type => mpp_group_update_type +use mpp_domains_mod, only : domain2D, domain1D use mpp_domains_mod, only : mpp_define_io_domain, mpp_define_domains, mpp_deallocate_domain use mpp_domains_mod, only : mpp_get_domain_components, mpp_get_domain_extents use mpp_domains_mod, only : mpp_get_compute_domain, mpp_get_data_domain, mpp_get_global_domain -use mpp_domains_mod, only : mpp_get_boundary, mpp_update_domains, global_field_sum => mpp_global_sum +use mpp_domains_mod, only : mpp_get_boundary, mpp_update_domains use mpp_domains_mod, only : mpp_start_update_domains, mpp_complete_update_domains use mpp_domains_mod, only : mpp_create_group_update, mpp_do_group_update use mpp_domains_mod, only : mpp_reset_group_update_field, mpp_group_update_initialized @@ -26,6 +26,12 @@ module MOM_domain_infra use fms_io_mod, only : file_exist, parse_mask_table use fms_affinity_mod, only : fms_affinity_init, fms_affinity_set, fms_affinity_get +! This subroutine is not in MOM6/src but may be required by legacy drivers +use mpp_domains_mod, only : global_field_sum => mpp_global_sum + +! The `group_pass_type` fields are never accessed, so we keep it as an FMS type +use mpp_domains_mod, only : group_pass_type => mpp_group_update_type + implicit none ; private ! These types are inherited from mpp, but are treated as opaque here.