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 4616 for branches/2014/dev_CNRS0_NOC1_LDF/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_ts.F90 – NEMO

Ignore:
Timestamp:
2014-04-06T17:28:25+02:00 (10 years ago)
Author:
gm
Message:

#1260 : see the associated wiki page for explanation

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2014/dev_CNRS0_NOC1_LDF/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_ts.F90

    r4496 r4616  
    7575#  include "vectopt_loop_substitute.h90" 
    7676   !!---------------------------------------------------------------------- 
    77    !! NEMO/OPA 3.5 , NEMO Consortium (2013) 
     77   !! NEMO/OPA 3.7 , NEMO Consortium (2014) 
    7878   !! $Id: dynspg_ts.F90 
    7979   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt) 
     
    104104      ! 
    105105   END FUNCTION dyn_spg_ts_alloc 
     106 
    106107 
    107108   SUBROUTINE dyn_spg_ts( kt ) 
     
    290291      ! 
    291292      DO jk = 1, jpkm1 
    292 #if defined key_vectopt_loop 
    293          DO jj = 1, 1         !Vector opt. => forced unrolling 
    294             DO ji = 1, jpij 
    295 #else  
    296293         DO jj = 1, jpj 
    297294            DO ji = 1, jpi 
    298 #endif                                                                    
    299295               zu_frc(ji,jj) = zu_frc(ji,jj) + fse3u_n(ji,jj,jk) * ua(ji,jj,jk) * umask(ji,jj,jk) 
    300296               zv_frc(ji,jj) = zv_frc(ji,jj) + fse3v_n(ji,jj,jk) * va(ji,jj,jk) * vmask(ji,jj,jk)          
     
    324320         DO jj = 2, jpjm1 
    325321            DO ji = fs_2, fs_jpim1   ! vector opt. 
    326                zy1 = ( zwy(ji,jj-1) + zwy(ji+1,jj-1) ) / e1u(ji,jj) 
    327                zy2 = ( zwy(ji,jj  ) + zwy(ji+1,jj  ) ) / e1u(ji,jj) 
    328                zx1 = ( zwx(ji-1,jj) + zwx(ji-1,jj+1) ) / e2v(ji,jj) 
    329                zx2 = ( zwx(ji  ,jj) + zwx(ji  ,jj+1) ) / e2v(ji,jj) 
     322               zy1 = ( zwy(ji,jj-1) + zwy(ji+1,jj-1) ) 
     323               zy2 = ( zwy(ji,jj  ) + zwy(ji+1,jj  ) ) 
     324               zx1 = ( zwx(ji-1,jj) + zwx(ji-1,jj+1) ) 
     325               zx2 = ( zwx(ji  ,jj) + zwx(ji  ,jj+1) ) 
    330326               ! energy conserving formulation for planetary vorticity term 
    331                zu_trd(ji,jj) = z1_4 * ( zwz(ji  ,jj-1) * zy1 + zwz(ji,jj) * zy2 ) 
    332                zv_trd(ji,jj) =-z1_4 * ( zwz(ji-1,jj  ) * zx1 + zwz(ji,jj) * zx2 ) 
     327               zu_trd(ji,jj) = z1_4 * r1_e1u(ji,jj) * ( zwz(ji  ,jj-1) * zy1 + zwz(ji,jj) * zy2 ) 
     328               zv_trd(ji,jj) =-z1_4 * r1_e2v(ji,jj) * ( zwz(ji-1,jj  ) * zx1 + zwz(ji,jj) * zx2 ) 
    333329            END DO 
    334330         END DO 
     
    338334            DO ji = fs_2, fs_jpim1   ! vector opt. 
    339335               zy1 =   z1_8 * ( zwy(ji  ,jj-1) + zwy(ji+1,jj-1) & 
    340                  &            + zwy(ji  ,jj  ) + zwy(ji+1,jj  ) ) / e1u(ji,jj) 
     336                 &            + zwy(ji  ,jj  ) + zwy(ji+1,jj  ) ) * r1_e1u(ji,jj) 
    341337               zx1 = - z1_8 * ( zwx(ji-1,jj  ) + zwx(ji-1,jj+1) & 
    342                  &            + zwx(ji  ,jj  ) + zwx(ji  ,jj+1) ) / e2v(ji,jj) 
     338                 &            + zwx(ji  ,jj  ) + zwx(ji  ,jj+1) ) * r1_e2v(ji,jj) 
    343339               zu_trd(ji,jj)  = zy1 * ( zwz(ji  ,jj-1) + zwz(ji,jj) ) 
    344340               zv_trd(ji,jj)  = zx1 * ( zwz(ji-1,jj  ) + zwz(ji,jj) ) 
     
    349345         DO jj = 2, jpjm1 
    350346            DO ji = fs_2, fs_jpim1   ! vector opt. 
    351                zu_trd(ji,jj) = + z1_12 / e1u(ji,jj) * (  ftne(ji,jj  ) * zwy(ji  ,jj  ) & 
    352                 &                                      + ftnw(ji+1,jj) * zwy(ji+1,jj  ) & 
    353                 &                                      + ftse(ji,jj  ) * zwy(ji  ,jj-1) & 
    354                 &                                      + ftsw(ji+1,jj) * zwy(ji+1,jj-1) ) 
    355                zv_trd(ji,jj) = - z1_12 / e2v(ji,jj) * (  ftsw(ji,jj+1) * zwx(ji-1,jj+1) & 
    356                 &                                      + ftse(ji,jj+1) * zwx(ji  ,jj+1) & 
    357                 &                                      + ftnw(ji,jj  ) * zwx(ji-1,jj  ) & 
    358                 &                                      + ftne(ji,jj  ) * zwx(ji  ,jj  ) ) 
     347               zu_trd(ji,jj) = + z1_12 * r1_e1u(ji,jj) * (  ftne(ji,jj  ) * zwy(ji  ,jj  ) & 
     348                &                                         + ftnw(ji+1,jj) * zwy(ji+1,jj  ) & 
     349                &                                         + ftse(ji,jj  ) * zwy(ji  ,jj-1) & 
     350                &                                         + ftsw(ji+1,jj) * zwy(ji+1,jj-1) ) 
     351               zv_trd(ji,jj) = - z1_12 * r1_e2v(ji,jj) * (  ftsw(ji,jj+1) * zwx(ji-1,jj+1) & 
     352                &                                         + ftse(ji,jj+1) * zwx(ji  ,jj+1) & 
     353                &                                         + ftnw(ji,jj  ) * zwx(ji-1,jj  ) & 
     354                &                                         + ftne(ji,jj  ) * zwx(ji  ,jj  ) ) 
    359355            END DO 
    360356         END DO 
     
    367363         DO jj = 2, jpjm1  
    368364            DO ji = fs_2, fs_jpim1   ! vector opt. 
    369                zu_trd(ji,jj) = zu_trd(ji,jj) - grav * (  sshn(ji+1,jj  ) - sshn(ji  ,jj  )  ) / e1u(ji,jj) 
    370                zv_trd(ji,jj) = zv_trd(ji,jj) - grav * (  sshn(ji  ,jj+1) - sshn(ji  ,jj  )  ) / e2v(ji,jj) 
     365               zu_trd(ji,jj) = zu_trd(ji,jj) - grav * (  sshn(ji+1,jj  ) - sshn(ji  ,jj  )  ) * r1_e1u(ji,jj) 
     366               zv_trd(ji,jj) = zv_trd(ji,jj) - grav * (  sshn(ji  ,jj+1) - sshn(ji  ,jj  )  ) * r1_e2v(ji,jj) 
    371367            END DO 
    372368         END DO 
     
    417413            DO jj = 2, jpjm1               
    418414               DO ji = fs_2, fs_jpim1   ! vector opt. 
    419                   zu_spg =  grav * (  ssh_ib (ji+1,jj  ) - ssh_ib (ji,jj) ) /e1u(ji,jj) 
    420                   zv_spg =  grav * (  ssh_ib (ji  ,jj+1) - ssh_ib (ji,jj) ) /e2v(ji,jj) 
     415                  zu_spg =  grav * (  ssh_ib (ji+1,jj  ) - ssh_ib (ji,jj) ) * r1_e1u(ji,jj) 
     416                  zv_spg =  grav * (  ssh_ib (ji  ,jj+1) - ssh_ib (ji,jj) ) * r1_e2v(ji,jj) 
    421417                  zu_frc(ji,jj) = zu_frc(ji,jj) + zu_spg 
    422418                  zv_frc(ji,jj) = zv_frc(ji,jj) + zv_spg 
     
    427423               DO ji = fs_2, fs_jpim1   ! vector opt. 
    428424                  zu_spg =  grav * z1_2 * (  ssh_ib (ji+1,jj  ) - ssh_ib (ji,jj)    & 
    429                       &                    + ssh_ibb(ji+1,jj  ) - ssh_ibb(ji,jj)  ) /e1u(ji,jj) 
     425                      &                    + ssh_ibb(ji+1,jj  ) - ssh_ibb(ji,jj)  ) * r1_e1u(ji,jj) 
    430426                  zv_spg =  grav * z1_2 * (  ssh_ib (ji  ,jj+1) - ssh_ib (ji,jj)    & 
    431                       &                    + ssh_ibb(ji  ,jj+1) - ssh_ibb(ji,jj)  ) /e2v(ji,jj) 
     427                      &                    + ssh_ibb(ji  ,jj+1) - ssh_ibb(ji,jj)  ) * r1_e2v(ji,jj) 
    432428                  zu_frc(ji,jj) = zu_frc(ji,jj) + zu_spg 
    433429                  zv_frc(ji,jj) = zv_frc(ji,jj) + zv_spg 
     
    525521            DO jj = 2, jpjm1                                    ! Sea Surface Height at u- & v-points 
    526522               DO ji = 2, fs_jpim1   ! Vector opt. 
    527                   zwx(ji,jj) = z1_2 * umask(ji,jj,1)  * r1_e12u(ji,jj)     & 
    528                      &              * ( e12t(ji  ,jj) * zsshp2_e(ji  ,jj)  & 
    529                      &              +   e12t(ji+1,jj) * zsshp2_e(ji+1,jj) ) 
    530                   zwy(ji,jj) = z1_2 * vmask(ji,jj,1)  * r1_e12v(ji,jj)     & 
    531                      &              * ( e12t(ji,jj  ) * zsshp2_e(ji,jj  )  & 
    532                      &              +   e12t(ji,jj+1) * zsshp2_e(ji,jj+1) ) 
     523                  zwx(ji,jj) = z1_2 * umask(ji,jj,1)  * r1_e1e2u(ji,jj)     & 
     524                     &              * ( e1e2t(ji  ,jj) * zsshp2_e(ji  ,jj)  & 
     525                     &              +   e1e2t(ji+1,jj) * zsshp2_e(ji+1,jj) ) 
     526                  zwy(ji,jj) = z1_2 * vmask(ji,jj,1)  * r1_e1e2v(ji,jj)     & 
     527                     &              * ( e1e2t(ji,jj  ) * zsshp2_e(ji,jj  )  & 
     528                     &              +   e1e2t(ji,jj+1) * zsshp2_e(ji,jj+1) ) 
    533529               END DO 
    534530            END DO 
     
    578574         ! Sum over sub-time-steps to compute advective velocities 
    579575         za2 = wgtbtp2(jn) 
    580          zu_sum  (:,:) = zu_sum  (:,:) + za2 * zwx  (:,:) / e2u  (:,:) 
    581          zv_sum  (:,:) = zv_sum  (:,:) + za2 * zwy  (:,:) / e1v  (:,:) 
     576         zu_sum  (:,:) = zu_sum  (:,:) + za2 * zwx  (:,:) * r1_e2u  (:,:) 
     577         zv_sum  (:,:) = zv_sum  (:,:) + za2 * zwy  (:,:) * r1_e1v  (:,:) 
    582578         ! 
    583579         ! Set next sea level: 
     
    585581            DO ji = fs_2, fs_jpim1   ! vector opt. 
    586582               zhdiv(ji,jj) = (   zwx(ji,jj) - zwx(ji-1,jj)   & 
    587                   &             + zwy(ji,jj) - zwy(ji,jj-1)   ) * r1_e12t(ji,jj) 
     583                  &             + zwy(ji,jj) - zwy(ji,jj-1)   ) * r1_e1e2t(ji,jj) 
    588584            END DO 
    589585         END DO 
     
    603599            DO jj = 2, jpjm1 
    604600               DO ji = 2, jpim1      ! NO Vector Opt. 
    605                   zsshu_a(ji,jj) = z1_2 * umask(ji,jj,1)  * r1_e12u(ji,jj)  & 
    606                      &              * ( e12t(ji  ,jj  ) * ssha_e(ji  ,jj  ) & 
    607                      &              +   e12t(ji+1,jj  ) * ssha_e(ji+1,jj  ) ) 
    608                   zsshv_a(ji,jj) = z1_2 * vmask(ji,jj,1)  * r1_e12v(ji,jj)  & 
    609                      &              * ( e12t(ji  ,jj  ) * ssha_e(ji  ,jj  ) & 
    610                      &              +   e12t(ji  ,jj+1) * ssha_e(ji  ,jj+1) ) 
     601                  zsshu_a(ji,jj) = z1_2 * umask(ji,jj,1)  * r1_e1e2u(ji,jj)  & 
     602                     &              * ( e1e2t(ji  ,jj  ) * ssha_e(ji  ,jj  ) & 
     603                     &              +   e1e2t(ji+1,jj  ) * ssha_e(ji+1,jj  ) ) 
     604                  zsshv_a(ji,jj) = z1_2 * vmask(ji,jj,1)  * r1_e1e2v(ji,jj)  & 
     605                     &              * ( e1e2t(ji  ,jj  ) * ssha_e(ji  ,jj  ) & 
     606                     &              +   e1e2t(ji  ,jj+1) * ssha_e(ji  ,jj+1) ) 
    611607               END DO 
    612608            END DO 
     
    642638            DO jj = 2, jpjm1                             
    643639               DO ji = 2, jpim1 
    644                   zx1 = z1_2 * umask(ji  ,jj,1) *  r1_e12u(ji  ,jj)    & 
    645                      &      * ( e12t(ji  ,jj  ) * zsshp2_e(ji  ,jj)    & 
    646                      &      +   e12t(ji+1,jj  ) * zsshp2_e(ji+1,jj  ) ) 
    647                   zy1 = z1_2 * vmask(ji  ,jj,1) *  r1_e12v(ji  ,jj  )  & 
    648                      &       * ( e12t(ji ,jj  ) * zsshp2_e(ji  ,jj  )  & 
    649                      &       +   e12t(ji ,jj+1) * zsshp2_e(ji  ,jj+1) ) 
     640                  zx1 = z1_2 * umask(ji  ,jj,1) *  r1_e1e2u(ji  ,jj)    & 
     641                     &      * ( e1e2t(ji  ,jj  ) * zsshp2_e(ji  ,jj)    & 
     642                     &      +   e1e2t(ji+1,jj  ) * zsshp2_e(ji+1,jj  ) ) 
     643                  zy1 = z1_2 * vmask(ji  ,jj,1) *  r1_e1e2v(ji  ,jj  )  & 
     644                     &       * ( e1e2t(ji ,jj  ) * zsshp2_e(ji  ,jj  )  & 
     645                     &       +   e1e2t(ji ,jj+1) * zsshp2_e(ji  ,jj+1) ) 
    650646                  zhust_e(ji,jj) = hu_0(ji,jj) + zx1  
    651647                  zhvst_e(ji,jj) = hv_0(ji,jj) + zy1 
     
    664660            DO jj = 2, jpjm1 
    665661               DO ji = fs_2, fs_jpim1   ! vector opt. 
    666                   zy1 = ( zwy(ji  ,jj-1) + zwy(ji+1,jj-1) ) / e1u(ji,jj) 
    667                   zy2 = ( zwy(ji  ,jj  ) + zwy(ji+1,jj  ) ) / e1u(ji,jj) 
    668                   zx1 = ( zwx(ji-1,jj  ) + zwx(ji-1,jj+1) ) / e2v(ji,jj) 
    669                   zx2 = ( zwx(ji  ,jj  ) + zwx(ji  ,jj+1) ) / e2v(ji,jj) 
    670                   zu_trd(ji,jj) = z1_4 * ( zwz(ji  ,jj-1) * zy1 + zwz(ji,jj) * zy2 ) 
    671                   zv_trd(ji,jj) =-z1_4 * ( zwz(ji-1,jj  ) * zx1 + zwz(ji,jj) * zx2 ) 
     662                  zy1 = ( zwy(ji  ,jj-1) + zwy(ji+1,jj-1) ) 
     663                  zy2 = ( zwy(ji  ,jj  ) + zwy(ji+1,jj  ) ) 
     664                  zx1 = ( zwx(ji-1,jj  ) + zwx(ji-1,jj+1) ) 
     665                  zx2 = ( zwx(ji  ,jj  ) + zwx(ji  ,jj+1) ) 
     666                  zu_trd(ji,jj) = z1_4 * ( zwz(ji  ,jj-1) * zy1 + zwz(ji,jj) * zy2 ) * r1_e1u(ji,jj) 
     667                  zv_trd(ji,jj) =-z1_4 * ( zwz(ji-1,jj  ) * zx1 + zwz(ji,jj) * zx2 ) * r1_e2v(ji,jj) 
    672668               END DO 
    673669            END DO 
     
    677673               DO ji = fs_2, fs_jpim1   ! vector opt. 
    678674                  zy1 =   z1_8 * ( zwy(ji  ,jj-1) + zwy(ji+1,jj-1) & 
    679                    &             + zwy(ji  ,jj  ) + zwy(ji+1,jj  ) ) / e1u(ji,jj) 
     675                   &             + zwy(ji  ,jj  ) + zwy(ji+1,jj  ) ) * r1_e1u(ji,jj) 
    680676                  zx1 = - z1_8 * ( zwx(ji-1,jj  ) + zwx(ji-1,jj+1) & 
    681                    &             + zwx(ji  ,jj  ) + zwx(ji  ,jj+1) ) / e2v(ji,jj) 
     677                   &             + zwx(ji  ,jj  ) + zwx(ji  ,jj+1) ) * r1_e2v(ji,jj) 
    682678                  zu_trd(ji,jj)  = zy1 * ( zwz(ji  ,jj-1) + zwz(ji,jj) ) 
    683679                  zv_trd(ji,jj)  = zx1 * ( zwz(ji-1,jj  ) + zwz(ji,jj) ) 
     
    688684            DO jj = 2, jpjm1 
    689685               DO ji = fs_2, fs_jpim1   ! vector opt. 
    690                   zu_trd(ji,jj) = + z1_12 / e1u(ji,jj) * (  ftne(ji,jj  ) * zwy(ji  ,jj  ) & 
    691                      &                                    + ftnw(ji+1,jj) * zwy(ji+1,jj  ) & 
    692                      &                                    + ftse(ji,jj  ) * zwy(ji  ,jj-1) &  
    693                      &                                    + ftsw(ji+1,jj) * zwy(ji+1,jj-1) ) 
    694                   zv_trd(ji,jj) = - z1_12 / e2v(ji,jj) * (  ftsw(ji,jj+1) * zwx(ji-1,jj+1) &  
    695                      &                                    + ftse(ji,jj+1) * zwx(ji  ,jj+1) & 
    696                      &                                    + ftnw(ji,jj  ) * zwx(ji-1,jj  ) &  
    697                      &                                    + ftne(ji,jj  ) * zwx(ji  ,jj  ) ) 
     686                  zu_trd(ji,jj) = + z1_12 * r1_e1u(ji,jj) * (  ftne(ji,jj  ) * zwy(ji  ,jj  ) & 
     687                     &                                       + ftnw(ji+1,jj) * zwy(ji+1,jj  ) & 
     688                     &                                       + ftse(ji,jj  ) * zwy(ji  ,jj-1) &  
     689                     &                                       + ftsw(ji+1,jj) * zwy(ji+1,jj-1) ) 
     690                  zv_trd(ji,jj) = - z1_12 * r1_e2v(ji,jj) * (  ftsw(ji,jj+1) * zwx(ji-1,jj+1) &  
     691                     &                                       + ftse(ji,jj+1) * zwx(ji  ,jj+1) & 
     692                     &                                       + ftnw(ji,jj  ) * zwx(ji-1,jj  ) &  
     693                     &                                       + ftne(ji,jj  ) * zwx(ji  ,jj  ) ) 
    698694               END DO 
    699695            END DO 
     
    705701            DO jj = 2, jpjm1 
    706702               DO ji = fs_2, fs_jpim1   ! vector opt. 
    707                   zu_spg = grav * ( pot_astro(ji+1,jj) - pot_astro(ji,jj) ) / e1u(ji,jj) 
    708                   zv_spg = grav * ( pot_astro(ji,jj+1) - pot_astro(ji,jj) ) / e2v(ji,jj) 
     703                  zu_spg = grav * ( pot_astro(ji+1,jj) - pot_astro(ji,jj) ) * r1_e1u(ji,jj) 
     704                  zv_spg = grav * ( pot_astro(ji,jj+1) - pot_astro(ji,jj) ) * r1_e2v(ji,jj) 
    709705                  zu_trd(ji,jj) = zu_trd(ji,jj) + zu_spg 
    710706                  zv_trd(ji,jj) = zv_trd(ji,jj) + zv_spg 
     
    721717            DO ji = fs_2, fs_jpim1   ! vector opt. 
    722718               ! Add surface pressure gradient 
    723                zu_spg = - grav * ( zsshp2_e(ji+1,jj) - zsshp2_e(ji,jj) ) / e1u(ji,jj) 
    724                zv_spg = - grav * ( zsshp2_e(ji,jj+1) - zsshp2_e(ji,jj) ) / e2v(ji,jj) 
     719               zu_spg = - grav * ( zsshp2_e(ji+1,jj) - zsshp2_e(ji,jj) ) * r1_e1u(ji,jj) 
     720               zv_spg = - grav * ( zsshp2_e(ji,jj+1) - zsshp2_e(ji,jj) ) * r1_e2v(ji,jj) 
    725721               zwx(ji,jj) = zu_spg 
    726722               zwy(ji,jj) = zv_spg 
     
    827823         DO jj = 1, jpjm1 
    828824            DO ji = 1, jpim1      ! NO Vector Opt. 
    829                zsshu_a(ji,jj) = z1_2 * umask(ji,jj,1)  * r1_e12u(ji,jj) & 
    830                   &              * ( e12t(ji  ,jj) * ssha(ji  ,jj)    & 
    831                   &              +   e12t(ji+1,jj) * ssha(ji+1,jj) ) 
    832                zsshv_a(ji,jj) = z1_2 * vmask(ji,jj,1)  * r1_e12v(ji,jj) & 
    833                   &              * ( e12t(ji,jj  ) * ssha(ji,jj  )    & 
    834                   &              +   e12t(ji,jj+1) * ssha(ji,jj+1) ) 
     825               zsshu_a(ji,jj) = z1_2 * umask(ji,jj,1)  * r1_e1e2u(ji,jj) & 
     826                  &              * ( e1e2t(ji  ,jj) * ssha(ji  ,jj)    & 
     827                  &              +   e1e2t(ji+1,jj) * ssha(ji+1,jj) ) 
     828               zsshv_a(ji,jj) = z1_2 * vmask(ji,jj,1)  * r1_e1e2v(ji,jj) & 
     829                  &              * ( e1e2t(ji,jj  ) * ssha(ji,jj  )    & 
     830                  &              +   e1e2t(ji,jj+1) * ssha(ji,jj+1) ) 
    835831            END DO 
    836832         END DO 
     
    10711067         DO jj = 1, jpj 
    10721068            DO ji =1, jpi 
    1073                zxr2 = 1./(e1t(ji,jj)*e1t(ji,jj)) 
    1074                zyr2 = 1./(e2t(ji,jj)*e2t(ji,jj)) 
    1075                zcu(ji,jj) = sqrt(grav*ht_0(ji,jj)*(zxr2 + zyr2) ) 
     1069               zxr2 = 1._wp / ( e1t(ji,jj)*e1t(ji,jj) ) 
     1070               zyr2 = 1._wp / ( e2t(ji,jj)*e2t(ji,jj) ) 
     1071               zcu(ji,jj) = SQRT( grav*ht_0(ji,jj)*(zxr2 + zyr2) ) 
    10761072            END DO 
    10771073         END DO 
     
    10791075         DO jj = 1, jpj 
    10801076            DO ji =1, jpi 
    1081                zxr2 = 1./(e1t(ji,jj)*e1t(ji,jj)) 
    1082                zyr2 = 1./(e2t(ji,jj)*e2t(ji,jj)) 
    1083                zcu(ji,jj) = sqrt(grav*ht(ji,jj)*(zxr2 + zyr2) ) 
     1077               zxr2 = 1._wp / ( e1t(ji,jj)*e1t(ji,jj) ) 
     1078               zyr2 = 1._wp / ( e2t(ji,jj)*e2t(ji,jj) ) 
     1079               zcu(ji,jj) = SQRT( grav*ht(ji,jj)*(zxr2 + zyr2) ) 
    10841080            END DO 
    10851081         END DO 
     
    10921088      IF (ln_bt_nn_auto) nn_baro = CEILING( rdt / rn_bt_cmax * zcmax) 
    10931089       
    1094       rdtbt = rdt / FLOAT(nn_baro) 
     1090      rdtbt = rdt / REAL( nn_baro, wp ) 
    10951091      zcmax = zcmax * rdtbt 
    10961092                     ! Print results 
Note: See TracChangeset for help on using the changeset viewer.