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 4985 for branches/2014 – NEMO

Changeset 4985 for branches/2014


Ignore:
Timestamp:
2014-12-12T19:43:51+01:00 (9 years ago)
Author:
mathiot
Message:

add initialisation + rm useless IF

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2014/dev_MERGE_2014/NEMOGCM/NEMO/OPA_SRC/TRA/zpshde.F90

    r4946 r4985  
    113113      ! 
    114114      pgtu(:,:,:)=0.0_wp ; pgtv(:,:,:)=0.0_wp ; 
     115      sgtu(:,:,:)=0.0_wp ; sgtv(:,:,:)=0.0_wp ; 
     116      zti (:,:,:)=0.0_wp ; ztj (:,:,:)=0.0_wp ; 
     117      zhi (:,:  )=0.0_wp ; zhj (:,:  )=0.0_wp ; 
    115118      ! 
    116119      DO jn = 1, kjpt      !==   Interpolation of tracers at the last ocean level   ==! 
     
    128131               ! 
    129132               ! i- direction 
    130                IF (iku .GT. 1) THEN 
    131                   IF( ze3wu >= 0._wp ) THEN      ! case 1 
    132                      zmaxu =  ze3wu / fse3w(ji+1,jj,iku) 
    133                      ! interpolated values of tracers 
    134                      zti (ji,jj,jn) = pta(ji+1,jj,iku,jn) + zmaxu * ( pta(ji+1,jj,ikum1,jn) - pta(ji+1,jj,iku,jn) ) 
    135                      ! gradient of  tracers 
    136                      pgtu(ji,jj,jn) = umask(ji,jj,iku) * ( zti(ji,jj,jn) - pta(ji,jj,iku,jn) ) 
    137                   ELSE                           ! case 2 
    138                      zmaxu = -ze3wu / fse3w(ji,jj,iku) 
    139                      ! interpolated values of tracers 
    140                      zti (ji,jj,jn) = pta(ji,jj,iku,jn) + zmaxu * ( pta(ji,jj,ikum1,jn) - pta(ji,jj,iku,jn) ) 
    141                      ! gradient of tracers 
    142                      pgtu(ji,jj,jn) = umask(ji,jj,iku) * ( pta(ji+1,jj,iku,jn) - zti(ji,jj,jn) ) 
    143                   ENDIF 
     133               IF( ze3wu >= 0._wp ) THEN      ! case 1 
     134                  zmaxu =  ze3wu / fse3w(ji+1,jj,iku) 
     135                  ! interpolated values of tracers 
     136                  zti (ji,jj,jn) = pta(ji+1,jj,iku,jn) + zmaxu * ( pta(ji+1,jj,ikum1,jn) - pta(ji+1,jj,iku,jn) ) 
     137                  ! gradient of  tracers 
     138                  pgtu(ji,jj,jn) = umask(ji,jj,iku) * ( zti(ji,jj,jn) - pta(ji,jj,iku,jn) ) 
     139               ELSE                           ! case 2 
     140                  zmaxu = -ze3wu / fse3w(ji,jj,iku) 
     141                  ! interpolated values of tracers 
     142                  zti (ji,jj,jn) = pta(ji,jj,iku,jn) + zmaxu * ( pta(ji,jj,ikum1,jn) - pta(ji,jj,iku,jn) ) 
     143                  ! gradient of tracers 
     144                  pgtu(ji,jj,jn) = umask(ji,jj,iku) * ( pta(ji+1,jj,iku,jn) - zti(ji,jj,jn) ) 
    144145               ENDIF 
    145146               ! 
    146147               ! j- direction 
    147                IF (ikv .GT. 1) THEN 
    148                   IF( ze3wv >= 0._wp ) THEN      ! case 1 
    149                      zmaxv =  ze3wv / fse3w(ji,jj+1,ikv) 
    150                      ! interpolated values of tracers 
    151                      ztj (ji,jj,jn) = pta(ji,jj+1,ikv,jn) + zmaxv * ( pta(ji,jj+1,ikvm1,jn) - pta(ji,jj+1,ikv,jn) ) 
    152                      ! gradient of tracers 
    153                      pgtv(ji,jj,jn) = vmask(ji,jj,ikv) * ( ztj(ji,jj,jn) - pta(ji,jj,ikv,jn) ) 
    154                   ELSE                           ! case 2 
    155                      zmaxv =  -ze3wv / fse3w(ji,jj,ikv) 
    156                      ! interpolated values of tracers 
    157                      ztj (ji,jj,jn) = pta(ji,jj,ikv,jn) + zmaxv * ( pta(ji,jj,ikvm1,jn) - pta(ji,jj,ikv,jn) ) 
    158                      ! gradient of tracers 
    159                      pgtv(ji,jj,jn) = vmask(ji,jj,ikv) * ( pta(ji,jj+1,ikv,jn) - ztj(ji,jj,jn) ) 
    160                   ENDIF 
    161               ENDIF 
     148               IF( ze3wv >= 0._wp ) THEN      ! case 1 
     149                  zmaxv =  ze3wv / fse3w(ji,jj+1,ikv) 
     150                  ! interpolated values of tracers 
     151                  ztj (ji,jj,jn) = pta(ji,jj+1,ikv,jn) + zmaxv * ( pta(ji,jj+1,ikvm1,jn) - pta(ji,jj+1,ikv,jn) ) 
     152                  ! gradient of tracers 
     153                  pgtv(ji,jj,jn) = vmask(ji,jj,ikv) * ( ztj(ji,jj,jn) - pta(ji,jj,ikv,jn) ) 
     154               ELSE                           ! case 2 
     155                  zmaxv =  -ze3wv / fse3w(ji,jj,ikv) 
     156                  ! interpolated values of tracers 
     157                  ztj (ji,jj,jn) = pta(ji,jj,ikv,jn) + zmaxv * ( pta(ji,jj,ikvm1,jn) - pta(ji,jj,ikv,jn) ) 
     158                  ! gradient of tracers 
     159                  pgtv(ji,jj,jn) = vmask(ji,jj,ikv) * ( pta(ji,jj+1,ikv,jn) - ztj(ji,jj,jn) ) 
     160               ENDIF 
    162161            END DO 
    163162         END DO 
     
    168167      ! horizontal derivative of density anomalies (rd) 
    169168      IF( PRESENT( prd ) ) THEN         ! depth of the partial step level 
    170          pgru(:,:)=0.0_wp ; pgrv(:,:)=0.0_wp  
     169         pgru(:,:)=0.0_wp   ; pgrv(:,:)=0.0_wp ;  
     170         pgzu(:,:)=0.0_wp   ; pgzv(:,:)=0.0_wp ; 
     171         pmru(:,:)=0.0_wp   ; pmru(:,:)=0.0_wp ; 
     172         pge3ru(:,:)=0.0_wp ; pge3rv(:,:)=0.0_wp ; 
    171173         DO jj = 1, jpjm1 
    172174            DO ji = 1, jpim1 
     
    285287      ! horizontal derivative of density anomalies (rd) 
    286288      IF( PRESENT( prd ) ) THEN         ! depth of the partial step level 
     289         sgru(:,:)  =0.0_wp ; sgrv(:,:)  =0.0_wp ; 
     290         sgzu(:,:)  =0.0_wp ; sgzv(:,:)  =0.0_wp ; 
     291         smru(:,:)  =0.0_wp ; smru(:,:)  =0.0_wp ; 
     292         sge3ru(:,:)=0.0_wp ; sge3rv(:,:)=0.0_wp ; 
     293 
    287294         DO jj = 1, jpjm1 
    288295            DO ji = 1, jpim1 
Note: See TracChangeset for help on using the changeset viewer.