Scheduled Downtime
On Tuesday 24 October 2023 @ 5pm MT the forums will be in read only mode in preparation for the downtime. On Wednesday 25 October 2023 @ 5am MT, this website will be down for maintenance and expected to return online later in the morning.
Normal Operations
The forums are back online with normal operations. If you notice any issues or errors related to the forums, please reach out to help@ucar.edu

What is the function of subroutine 'POP_HaloUpdate' in POP model?

ganbaranaito

takufuu
Member
This subroutine 'POP_HaloUpdate' appears in many places but I don't understand its function. Can anyone give me some help? Thanks in advance!
 

mlevy

Michael Levy
CSEG and Liaisons
Staff member
I suggest looking at the domain decomposition section of the POP reference manual, but basically each block in the parallel decomposition has a halo of two cells that are also computed on neighboring blocks; this allows the model to compute baroclinic tendencies without passing MPI messages between tasks (the increase in memory / computational costs is less than the increase in communcation costs would be if the model did not have a halo region).

edit to add: the halo update is an MPI communication step that is required to make sure the values in the halo region match what is in the neighboring blocks, but it's still much less communication between nodes than constructing the model without any halo cells.
 

ganbaranaito

takufuu
Member
I suggest looking at the domain decomposition section of the POP reference manual, but basically each block in the parallel decomposition has a halo of two cells that are also computed on neighboring blocks; this allows the model to compute baroclinic tendencies without passing MPI messages between tasks (the increase in memory / computational costs is less than the increase in communcation costs would be if the model did not have a halo region).

edit to add: the halo update is an MPI communication step that is required to make sure the values in the halo region match what is in the neighboring blocks, but it's still much less communication between nodes than constructing the model without any halo cells.
Thanks for detailed reply! I got it.
 
Top