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 1601 for trunk/NEMO/OPA_SRC/TRA/trabbl_adv.h90 – NEMO

Ignore:
Timestamp:
2009-08-11T12:09:19+02:00 (15 years ago)
Author:
ctlod
Message:

Doctor naming of OPA namelist variables , see ticket: #526

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/OPA_SRC/TRA/trabbl_adv.h90

    r1482 r1601  
    101101 
    102102#if defined key_vectopt_loop 
    103       jj = 1 
    104       DO ji = 1, jpij   ! vector opt. (forced unrolling) 
     103      DO jj = 1, 1 
     104         DO ji = 1, jpij   ! vector opt. (forced unrolling) 
    105105#else 
    106106      DO jj = 1, jpj 
     
    116116            zunb(ji,jj) = un(ji,jj,mbku(ji,jj))  
    117117            zvnb(ji,jj) = vn(ji,jj,mbkv(ji,jj))  
    118 #if ! defined key_vectopt_loop 
    119          END DO 
    120 #endif 
     118         END DO 
    121119      END DO 
    122120 
     
    127125      ! multiplied by the slope of the ocean bottom 
    128126 
    129       SELECT CASE ( neos ) 
     127      SELECT CASE ( nn_eos ) 
    130128      ! 
    131129      CASE ( 0 )               ! Jackett and McDougall (1994) formulation 
    132       ! 
    133       DO jj = 1, jpjm1 
    134          DO ji = 1, fs_jpim1   ! vector opt. 
    135             !   ... temperature, salinity anomalie and depth 
    136             zt = 0.5 * ( ztnb(ji,jj) + ztnb(ji+1,jj) ) 
    137             zs = 0.5 * ( zsnb(ji,jj) + zsnb(ji+1,jj) ) - 35.0 
    138             zh = 0.5 * ( zdep(ji,jj) + zdep(ji+1,jj) ) 
    139             !   ... masked ratio alpha/beta 
    140             zalbet = fsalbt( zt, zs, zh ) * umask(ji,jj,1) 
    141             !   ... local density gradient along i-bathymetric slope 
    142             zgdrho = zalbet * ( ztnb(ji+1,jj) - ztnb(ji,jj) )   & 
    143                &       -      ( zsnb(ji+1,jj) - zsnb(ji,jj) ) 
    144             zgdrho = zgdrho * umask(ji,jj,1) 
    145             !   ... sign of local i-gradient of density multiplied by the i-slope 
    146             zsign = SIGN( 0.5, -zgdrho     * ( zdep(ji+1,jj) - zdep(ji,jj) ) ) 
    147             zsigna= SIGN( 0.5, zunb(ji,jj) * ( zdep(ji+1,jj) - zdep(ji,jj) ) ) 
    148             zalphax(ji,jj)=( 0.5 + zsigna ) * ( 0.5 - zsign ) * umask(ji,jj,1) 
    149          END DO 
    150       END DO 
    151       ! 
    152       DO jj = 1, jpjm1 
    153          DO ji = 1, fs_jpim1   ! vector opt. 
    154             !   ... temperature, salinity anomalie and depth 
    155             zt = 0.5 * ( ztnb(ji,jj+1) + ztnb(ji,jj) ) 
    156             zs = 0.5 * ( zsnb(ji,jj+1) + zsnb(ji,jj) ) - 35.0 
    157             zh = 0.5 * ( zdep(ji,jj+1) + zdep(ji,jj) ) 
    158             !   ... masked ratio alpha/beta 
    159             zalbet = fsalbt( zt, zs, zh ) * vmask(ji,jj,1) 
    160             !   ... local density gradient along j-bathymetric slope 
    161             zgdrho = zalbet * ( ztnb(ji,jj+1) - ztnb(ji,jj) )   & 
    162                &       -      ( zsnb(ji,jj+1) - zsnb(ji,jj) ) 
    163             zgdrho = zgdrho*vmask(ji,jj,1) 
    164             !   ... sign of local j-gradient of density multiplied by the j-slope 
    165             zsign = SIGN( 0.5, -zgdrho     * ( zdep(ji,jj+1) - zdep(ji,jj) ) ) 
    166             zsigna= SIGN( 0.5, zvnb(ji,jj) * ( zdep(ji,jj+1) - zdep(ji,jj) ) ) 
    167             zalphay(ji,jj)=( 0.5 + zsigna ) * ( 0.5 - zsign ) * vmask(ji,jj,1) 
    168          END DO 
    169       END DO 
    170       ! 
     130         ! 
     131         DO jj = 1, jpjm1 
     132            DO ji = 1, fs_jpim1   ! vector opt. 
     133               !   ... temperature, salinity anomalie and depth 
     134               zt = 0.5 * ( ztnb(ji,jj) + ztnb(ji+1,jj) ) 
     135               zs = 0.5 * ( zsnb(ji,jj) + zsnb(ji+1,jj) ) - 35.0 
     136               zh = 0.5 * ( zdep(ji,jj) + zdep(ji+1,jj) ) 
     137               !   ... masked ratio alpha/beta 
     138               zalbet = fsalbt( zt, zs, zh ) * umask(ji,jj,1) 
     139               !   ... local density gradient along i-bathymetric slope 
     140               zgdrho = zalbet * ( ztnb(ji+1,jj) - ztnb(ji,jj) )   & 
     141                  &       -      ( zsnb(ji+1,jj) - zsnb(ji,jj) ) 
     142               zgdrho = zgdrho * umask(ji,jj,1) 
     143               !   ... sign of local i-gradient of density multiplied by the i-slope 
     144               zsign = SIGN( 0.5, -zgdrho     * ( zdep(ji+1,jj) - zdep(ji,jj) ) ) 
     145               zsigna= SIGN( 0.5, zunb(ji,jj) * ( zdep(ji+1,jj) - zdep(ji,jj) ) ) 
     146               zalphax(ji,jj)=( 0.5 + zsigna ) * ( 0.5 - zsign ) * umask(ji,jj,1) 
     147               ! 
     148               !   ... temperature, salinity anomalie and depth 
     149               zt = 0.5 * ( ztnb(ji,jj+1) + ztnb(ji,jj) ) 
     150               zs = 0.5 * ( zsnb(ji,jj+1) + zsnb(ji,jj) ) - 35.0 
     151               zh = 0.5 * ( zdep(ji,jj+1) + zdep(ji,jj) ) 
     152               !   ... masked ratio alpha/beta 
     153               zalbet = fsalbt( zt, zs, zh ) * vmask(ji,jj,1) 
     154               !   ... local density gradient along j-bathymetric slope 
     155               zgdrho = zalbet * ( ztnb(ji,jj+1) - ztnb(ji,jj) )   & 
     156                  &       -      ( zsnb(ji,jj+1) - zsnb(ji,jj) ) 
     157               zgdrho = zgdrho*vmask(ji,jj,1) 
     158               !   ... sign of local j-gradient of density multiplied by the j-slope 
     159               zsign = SIGN( 0.5, -zgdrho     * ( zdep(ji,jj+1) - zdep(ji,jj) ) ) 
     160               zsigna= SIGN( 0.5, zvnb(ji,jj) * ( zdep(ji,jj+1) - zdep(ji,jj) ) ) 
     161               zalphay(ji,jj)=( 0.5 + zsigna ) * ( 0.5 - zsign ) * vmask(ji,jj,1) 
     162            END DO 
     163         END DO 
     164         ! 
    171165      CASE ( 1 )               ! Linear formulation function of temperature only 
    172       ! 
    173       DO jj = 1, jpjm1 
    174          DO ji = 1, fs_jpim1   ! vector opt. 
    175             ! local 'density/temperature' gradient along i-bathymetric slope 
    176             zgdrho =  ( ztnb(ji+1,jj) - ztnb(ji,jj) ) 
    177             ! sign of local i-gradient of density multiplied by the i-slope 
    178             zsign = SIGN( 0.5, - zgdrho    * ( zdep(ji+1,jj) - zdep(ji,jj) ) ) 
    179             zsigna= SIGN( 0.5, zunb(ji,jj) * ( zdep(ji+1,jj) - zdep(ji,jj) ) ) 
    180             zalphax(ji,jj)=( 0.5 + zsigna ) * ( 0.5 - zsign ) * umask(ji,jj,1) 
    181  
    182             ! local density gradient along j-bathymetric slope 
    183             zgdrho =  ( ztnb(ji,jj+1) - ztnb(ji,jj) ) 
    184             ! sign of local j-gradient of density multiplied by the j-slope 
    185             zsign = SIGN( 0.5, -zgdrho     * ( zdep(ji,jj+1) - zdep(ji,jj) ) ) 
    186             zsigna= SIGN( 0.5, zvnb(ji,jj) * ( zdep(ji,jj+1) - zdep(ji,jj) ) ) 
    187             zalphay(ji,jj)=( 0.5 + zsigna ) * ( 0.5 - zsign ) * vmask(ji,jj,1) 
    188          END DO 
    189       END DO 
    190       ! 
     166         ! 
     167         DO jj = 1, jpjm1 
     168            DO ji = 1, fs_jpim1   ! vector opt. 
     169               ! local 'density/temperature' gradient along i-bathymetric slope 
     170               zgdrho =  ( ztnb(ji+1,jj) - ztnb(ji,jj) ) 
     171               ! sign of local i-gradient of density multiplied by the i-slope 
     172               zsign = SIGN( 0.5, - zgdrho    * ( zdep(ji+1,jj) - zdep(ji,jj) ) ) 
     173               zsigna= SIGN( 0.5, zunb(ji,jj) * ( zdep(ji+1,jj) - zdep(ji,jj) ) ) 
     174               zalphax(ji,jj)=( 0.5 + zsigna ) * ( 0.5 - zsign ) * umask(ji,jj,1) 
     175               !  
     176               ! local density gradient along j-bathymetric slope 
     177               zgdrho =  ( ztnb(ji,jj+1) - ztnb(ji,jj) ) 
     178               ! sign of local j-gradient of density multiplied by the j-slope 
     179               zsign = SIGN( 0.5, -zgdrho     * ( zdep(ji,jj+1) - zdep(ji,jj) ) ) 
     180               zsigna= SIGN( 0.5, zvnb(ji,jj) * ( zdep(ji,jj+1) - zdep(ji,jj) ) ) 
     181               zalphay(ji,jj)=( 0.5 + zsigna ) * ( 0.5 - zsign ) * vmask(ji,jj,1) 
     182            END DO 
     183         END DO 
     184         ! 
    191185      CASE ( 2 )               ! Linear formulation function of temperature and salinity 
    192       ! 
    193       DO jj = 1, jpjm1 
    194          DO ji = 1, fs_jpim1   ! vector opt.             
    195             ! local density gradient along i-bathymetric slope 
    196             zgdrho = - ( rbeta*( zsnb(ji+1,jj) - zsnb(ji,jj) )   & 
    197                &     -  ralpha*( ztnb(ji+1,jj) - ztnb(ji,jj) ) ) 
    198             ! sign of local i-gradient of density multiplied by the i-slope 
    199             zsign = SIGN( 0.5, - zgdrho    * ( zdep(ji+1,jj) - zdep(ji,jj) ) ) 
    200             zsigna= SIGN( 0.5, zunb(ji,jj) * ( zdep(ji+1,jj) - zdep(ji,jj) ) ) 
    201             zalphax(ji,jj) = ( 0.5 + zsigna ) * ( 0.5 - zsign ) * umask(ji,jj,1) 
    202  
    203             ! local density gradient along j-bathymetric slope 
    204             zgdrho = - ( rbeta*( zsnb(ji,jj+1) - zsnb(ji,jj) )   & 
    205                    -    ralpha*( ztnb(ji,jj+1) - ztnb(ji,jj) ) )    
    206             ! sign of local j-gradient of density multiplied by the j-slope 
    207             zsign = SIGN( 0.5, - zgdrho    * ( zdep(ji,jj+1) - zdep(ji,jj) ) ) 
    208             zsigna= SIGN( 0.5, zvnb(ji,jj) * ( zdep(ji,jj+1) - zdep(ji,jj) ) ) 
    209             zalphay(ji,jj) = ( 0.5 + zsigna ) * ( 0.5 - zsign ) * vmask(ji,jj,1) 
    210          END DO 
    211       END DO 
    212       ! 
    213       CASE DEFAULT 
    214          WRITE(ctmp1,*) '          bad flag value for neos = ', neos 
    215          CALL ctl_stop( ctmp1 ) 
     186         ! 
     187         DO jj = 1, jpjm1 
     188            DO ji = 1, fs_jpim1   ! vector opt.             
     189               ! local density gradient along i-bathymetric slope 
     190               zgdrho = - ( rn_beta *( zsnb(ji+1,jj) - zsnb(ji,jj) )   & 
     191                  &       - rn_alpha*( ztnb(ji+1,jj) - ztnb(ji,jj) ) ) 
     192               ! sign of local i-gradient of density multiplied by the i-slope 
     193               zsign = SIGN( 0.5, - zgdrho    * ( zdep(ji+1,jj) - zdep(ji,jj) ) ) 
     194               zsigna= SIGN( 0.5, zunb(ji,jj) * ( zdep(ji+1,jj) - zdep(ji,jj) ) ) 
     195               zalphax(ji,jj) = ( 0.5 + zsigna ) * ( 0.5 - zsign ) * umask(ji,jj,1) 
     196               !  
     197               ! local density gradient along j-bathymetric slope 
     198               zgdrho = - ( rn_beta *( zsnb(ji,jj+1) - zsnb(ji,jj) )   & 
     199                  &       - rn_alpha*( ztnb(ji,jj+1) - ztnb(ji,jj) ) )    
     200               ! sign of local j-gradient of density multiplied by the j-slope 
     201               zsign = SIGN( 0.5, - zgdrho    * ( zdep(ji,jj+1) - zdep(ji,jj) ) ) 
     202               zsigna= SIGN( 0.5, zvnb(ji,jj) * ( zdep(ji,jj+1) - zdep(ji,jj) ) ) 
     203               zalphay(ji,jj) = ( 0.5 + zsigna ) * ( 0.5 - zsign ) * vmask(ji,jj,1) 
     204            END DO 
     205         END DO 
    216206         ! 
    217207      END SELECT 
     
    231221       
    232222# if defined key_vectopt_loop 
    233          jj = 1 
    234          DO ji = 1, jpij-jpi   ! vector opt. (forced unrolling) 
     223         DO jj = 1, 1 
     224            DO ji = 1, jpij-jpi   ! vector opt. (forced unrolling) 
    235225# else    
    236226         DO jj = 1, jpjm1 
     
    250240                  v_bbl(ji,jj,ikv) = zalphay(ji,jj) * vn(ji,jj,ikv) * ze3v / fse3v(ji,jj,ikv)        
    251241               ENDIF 
    252 # if ! defined key_vectopt_loop 
    253             END DO 
    254 # endif 
     242            END DO 
    255243         END DO 
    256244 
     
    261249 
    262250#if defined key_vectopt_loop 
    263          jj = 1 
    264          DO ji = 1, jpij   ! vector opt. (forced unrolling) 
     251         DO jj = 1, 1 
     252            DO ji = 1, jpij   ! vector opt. (forced unrolling) 
    265253#else 
    266254         DO jj = 1, jpj 
     
    273261                  v_bbl(ji,jj,ikv) = zalphay(ji,jj) * vn(ji,jj,ikv)        
    274262               ENDIF 
    275 #if ! defined key_vectopt_loop 
    276             END DO 
    277 #endif 
     263            END DO 
    278264         END DO 
    279265        
    280266      ENDIF 
    281       
     267 
    282268 
    283269      ! 5. Along sigma advective trend 
     
    286272 
    287273# if defined key_vectopt_loop 
    288       jj = 1 
    289       DO ji = 1, jpij-jpi   ! vector opt. (forced unrolling) 
     274      DO jj = 1, 1 
     275         DO ji = 1, jpij-jpi   ! vector opt. (forced unrolling) 
    290276# else 
    291277      DO jj = 1, jpjm1 
     
    310296            zwz(ji,jj) = ( ( zfvj + ABS( zfvj ) ) * zsbb(ji  ,jj  )   & 
    311297               &          +( zfvj - ABS( zfvj ) ) * zsbb(ji  ,jj+1) ) * 0.5 
    312 #if ! defined key_vectopt_loop 
    313          END DO 
    314 #endif 
    315         END DO 
    316 # if defined key_vectopt_loop 
    317       jj = 1 
    318       DO ji = jpi+2, jpij-jpi-1   ! vector opt. (forced unrolling) 
     298         END DO 
     299      END DO 
     300# if defined key_vectopt_loop 
     301      DO jj = 1, 1 
     302         DO ji = jpi+2, jpij-jpi-1   ! vector opt. (forced unrolling) 
    319303# else 
    320304      DO jj = 2, jpjm1 
     
    332316            ta(ji,jj,ik) = ta(ji,jj,ik) + zta 
    333317            sa(ji,jj,ik) = sa(ji,jj,ik) + zsa 
    334 #if ! defined key_vectopt_loop 
    335          END DO 
    336 #endif 
     318         END DO 
    337319      END DO 
    338320 
     
    365347 
    366348      IF( ln_zps ) THEN 
    367      
    368 # if defined key_vectopt_loop 
    369          jj = 1 
    370          DO ji = 1, jpij-jpi   ! vector opt. (forced unrolling) 
     349  
     350# if defined key_vectopt_loop 
     351         DO jj = 1, 1 
     352            DO ji = 1, jpij-jpi   ! vector opt. (forced unrolling) 
    371353# else 
    372354         DO jj = 1, jpjm1 
     
    381363               ze3u = MIN( fse3u(ji,jj,iku1), fse3u(ji,jj,iku2) )  
    382364               ze3v = MIN( fse3v(ji,jj,ikv1), fse3v(ji,jj,ikv2) )  
    383            
     365 
    384366               zwu(ji,jj) = zalphax(ji,jj) * e2u(ji,jj) * ze3u   
    385367               zwv(ji,jj) = zalphay(ji,jj) * e1v(ji,jj) * ze3v 
    386 #if ! defined key_vectopt_loop 
    387             END DO 
    388 #endif 
     368            END DO 
    389369         END DO   
    390     
     370         ! 
    391371      ELSE 
    392  
    393 # if defined key_vectopt_loop 
    394          jj = 1 
    395          DO ji = 1, jpij-jpi   ! vector opt. (forced unrolling) 
     372         ! 
     373# if defined key_vectopt_loop 
     374         DO jj = 1, 1 
     375            DO ji = 1, jpij-jpi   ! vector opt. (forced unrolling) 
    396376# else 
    397377         DO jj = 1, jpjm1 
     
    402382               zwu(ji,jj) = zalphax(ji,jj) * e2u(ji,jj) * fse3u(ji,jj,iku)  
    403383               zwv(ji,jj) = zalphay(ji,jj) * e1v(ji,jj) * fse3v(ji,jj,ikv)  
    404 #if ! defined key_vectopt_loop 
    405             END DO 
    406 #endif 
    407          END DO 
    408  
     384            END DO 
     385         END DO 
     386         ! 
    409387      ENDIF 
    410388  
    411389 
    412390# if defined key_vectopt_loop 
    413       jj = 1 
    414       DO ji = jpi+2, jpij-jpi-1   ! vector opt. (forced unrolling) 
     391      DO jj = 1, 1 
     392         DO ji = jpi+2, jpij-jpi-1   ! vector opt. (forced unrolling) 
    415393# else 
    416394      DO jj = 2, jpjm1 
     
    426404               &   ) / zbt 
    427405 
    428 # if ! defined key_vectopt_loop 
    429          END DO 
    430 # endif 
    431         END DO 
     406         END DO 
     407      END DO 
    432408 
    433409      ! 7. compute additional vertical velocity to be used in t boxes 
     
    442418         END DO 
    443419      END DO 
    444  
    445       ! Boundary condition on w_bbl   (unchanged sign) 
    446       CALL lbc_lnk( w_bbl, 'W', 1. ) 
     420      CALL lbc_lnk( w_bbl, 'W', 1. )      ! Boundary condition on w_bbl   (unchanged sign) 
    447421 
    448422      CALL iom_put( "uoce_bbl", u_bbl )   ! bbl i-current       
Note: See TracChangeset for help on using the changeset viewer.