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.
Changeset 14820 for NEMO/trunk/src/OCE/DOM/domqco.F90 – NEMO

Ignore:
Timestamp:
2021-05-10T10:26:13+02:00 (3 years ago)
Author:
francesca
Message:

merge ticket2607_r14608_halo1_halo2_compatibility into trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/src/OCE/DOM/domqco.F90

    r14433 r14820  
    180180 
    181181            DO_2D( 0, 0, 0, 0 )                               ! start from 1 since lbc_lnk('F') doesn't update the 1st row/line 
    182                pr3f(ji,jj) = 0.25_wp * (  e1e2t(ji  ,jj  ) * pssh(ji  ,jj  )  & 
    183                   &                     + e1e2t(ji+1,jj  ) * pssh(ji+1,jj  )  & 
    184                   &                     + e1e2t(ji  ,jj+1) * pssh(ji  ,jj+1)  & 
    185                   &                     + e1e2t(ji+1,jj+1) * pssh(ji+1,jj+1)  ) * r1_hf_0(ji,jj) * r1_e1e2f(ji,jj) 
     182               ! round brackets added to fix the order of floating point operations 
     183               ! needed to ensure halo 1 - halo 2 compatibility 
     184               pr3f(ji,jj) = 0.25_wp * ( ( e1e2t(ji  ,jj  ) * pssh(ji  ,jj  )   & 
     185                  &                      + e1e2t(ji+1,jj  ) * pssh(ji+1,jj  )   & 
     186                  &                      )                                      & ! bracket for halo 1 - halo 2 compatibility 
     187                  &                     + ( e1e2t(ji  ,jj+1) * pssh(ji  ,jj+1)  & 
     188                  &                       + e1e2t(ji+1,jj+1) * pssh(ji+1,jj+1)  & 
     189                  &                       )                                     & ! bracket for halo 1 - halo 2 compatibility 
     190                  &                    ) * r1_hf_0(ji,jj) * r1_e1e2f(ji,jj) 
    186191            END_2D 
    187192!!st         ELSE                                      !- Flux Form   (simple averaging) 
    188193#else 
    189194            DO_2D( 0, 0, 0, 0 )                               ! start from 1 since lbc_lnk('F') doesn't update the 1st row/line 
    190                pr3f(ji,jj) = 0.25_wp * (  pssh(ji,jj  ) + pssh(ji+1,jj  )  & 
    191                   &                     + pssh(ji,jj+1) + pssh(ji+1,jj+1)  ) * r1_hf_0(ji,jj) 
     195               ! round brackets added to fix the order of floating point operations 
     196               ! needed to ensure halo 1 - halo 2 compatibility 
     197               pr3f(ji,jj) = 0.25_wp * ( ( pssh(ji,jj  ) + pssh(ji+1,jj  ) ) & 
     198                  &                     + ( pssh(ji,jj+1) + pssh(ji+1,jj+1)  &  
     199                  &                       )                                  & ! bracket for halo 1 - halo 2 compatibility 
     200                  &                    ) * r1_hf_0(ji,jj) 
    192201            END_2D 
    193202!!st         ENDIF 
Note: See TracChangeset for help on using the changeset viewer.