Changeset 4985 for branches/2014/dev_MERGE_2014
- Timestamp:
- 2014-12-12T19:43:51+01:00 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2014/dev_MERGE_2014/NEMOGCM/NEMO/OPA_SRC/TRA/zpshde.F90
r4946 r4985 113 113 ! 114 114 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 ; 115 118 ! 116 119 DO jn = 1, kjpt !== Interpolation of tracers at the last ocean level ==! … … 128 131 ! 129 132 ! 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) ) 144 145 ENDIF 145 146 ! 146 147 ! 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 162 161 END DO 163 162 END DO … … 168 167 ! horizontal derivative of density anomalies (rd) 169 168 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 ; 171 173 DO jj = 1, jpjm1 172 174 DO ji = 1, jpim1 … … 285 287 ! horizontal derivative of density anomalies (rd) 286 288 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 287 294 DO jj = 1, jpjm1 288 295 DO ji = 1, jpim1
Note: See TracChangeset
for help on using the changeset viewer.