Skip to content

Commit

Permalink
FMS1: Don't create IO domains for single-PE domain
Browse files Browse the repository at this point in the history
FMS mpp domain creation is done in the `clone_MD_to_d2D` function, and
currently an IO domain is always created within the MPP domain.

This has caused problems with single-PE runs in FMS1, where the
`write_field` logic was not able to reach the part which removes halo
data if an IO domain was present, and halo data was being written to the
restart files.

This issue arose when `PARALLEL_RESTARTFILES` was set to `True` for
single-PE tests.

This does not appear to be a problem with FMS2, and no action is needed
by the FMS team.
  • Loading branch information
marshallward committed Oct 13, 2021
1 parent ce5595f commit e1bccb4
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions config_src/infra/FMS1/MOM_domain_infra.F90
Original file line number Diff line number Diff line change
Expand Up @@ -1716,13 +1716,13 @@ subroutine clone_MD_to_d2D(MD_in, mpp_domain, min_halo, halo_size, symmetric, &
symmetry=symmetric_dom, xextent=xextent, yextent=yextent, name=dom_name)
endif

if ((MD_in%io_layout(1) + MD_in%io_layout(2) > 0) .and. &
(MD_in%layout(1)*MD_in%layout(2) > 1)) then
call mpp_define_io_domain(mpp_domain, MD_in%io_layout)
else
call mpp_define_io_domain(mpp_domain, (/ 1, 1 /) )
if (MD_in%layout(1) * MD_in%layout(2) > 1) then
if ((MD_in%io_layout(1) + MD_in%io_layout(2) > 0)) then
call mpp_define_io_domain(mpp_domain, MD_in%io_layout)
else
call mpp_define_io_domain(mpp_domain, [1, 1] )
endif
endif

end subroutine clone_MD_to_d2D

!> Returns the index ranges that have been stored in a MOM_domain_type
Expand Down

0 comments on commit e1bccb4

Please sign in to comment.