|
MOM6
|
Find an accurate and order-invariant sum of a distributed 2d field, returning the result in the form of an extended fixed point value that can be converted back with EFP_to_real.
Definition at line 59 of file MOM_coms.F90.
Private functions | |
| type(efp_type) function | reproducing_efp_sum_2d (array, isr, ier, jsr, jer, overflow_check, err, only_on_PE) |
| This subroutine uses a conversion to an integer representation of real numbers to give an order-invariant sum of distributed 2-D arrays that reproduces across domain decomposition, with the result returned as an extended fixed point type that can be converted back to a real number using EFP_to_real. This technique is described in Hallberg & Adcroft, 2014, Parallel Computing, doi:10.1016/j.parco.2014.04.007. More... | |
Find an accurate and order-invariant sum of a distributed 2d field, returning the result in the form of an extended fixed point value that can be converted back with EFP_to_real.
Definition at line 59 of file MOM_coms.F90.
|
private |
This subroutine uses a conversion to an integer representation of real numbers to give an order-invariant sum of distributed 2-D arrays that reproduces across domain decomposition, with the result returned as an extended fixed point type that can be converted back to a real number using EFP_to_real. This technique is described in Hallberg & Adcroft, 2014, Parallel Computing, doi:10.1016/j.parco.2014.04.007.
| [in] | array | The array to be summed |
| [in] | isr | The starting i-index of the sum, noting that the array indices starts at 1 |
| [in] | ier | The ending i-index of the sum, noting that the array indices starts at 1 |
| [in] | jsr | The starting j-index of the sum, noting that the array indices starts at 1 |
| [in] | jer | The ending j-index of the sum, noting that the array indices starts at 1 |
| [in] | overflow_check | If present and false, disable checking for overflows in incremental results. This can speed up calculations if the number of values being summed is small enough |
| [out] | err | If present, return an error code instead of triggering any fatal errors directly from this routine. |
| [in] | only_on_pe | If present and true, do not do the sum across processors, only reporting the local sum |
Definition at line 93 of file MOM_coms.F90.