New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
2021WP/HPC-03_Mele_Comm_Cleanup (diff) – NEMO

Changes between Version 6 and Version 7 of 2021WP/HPC-03_Mele_Comm_Cleanup


Ignore:
Timestamp:
2021-03-15T09:22:35+01:00 (3 years ago)
Author:
epico
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • 2021WP/HPC-03_Mele_Comm_Cleanup

    v6 v7  
    2828The implementation (or better the rationalization) of the lbc_lnk calls will start from DYN and ZDF modules (the TRA module was completed in 2020). Because we decided to support halo=1 execution, we put the lbc_lnk call inside of an IF statement condition whenever needed.  
    2929 
    30 The movement of a communication earlier in the code (in the case of halo=2) often leads to a difference in the outputs when compared with the halo=1 run. This is due to the north folding algorithm. In the attached document ([attachment:NorthFold and Halo2.pdf]) we analysed the problem and found that, due to the north fold, some expressions are evalauted correctly but with a different order of the floating point operations with respect the halo=1 case. 
     30The movement of a communication earlier in the code (in the case of halo=2) often leads to a difference in the outputs when compared with the halo=1 run. This is due to the north folding algorithm. In the attached document ([attachment:"NorthFold and Halo2.pdf"]) we analysed the problem and found that, due to the north fold, some expressions are evalauted correctly but with a different order of the floating point operations with respect the halo=1 case. 
    3131 
    3232In order to preserve the bit comparison of the results between the cases halo=1 and halo=2, we have to "force" the order of the floating point operations in both cases by introducing round brackets whithin the interested expressions.