Changeset 642
- Timestamp:
- 2007-03-15T12:17:58+01:00 (18 years ago)
- Location:
- trunk/NEMO/OPA_SRC
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/OPA_SRC/DOM/domvvl.F90
r592 r642 32 32 PUBLIC dom_vvl_ssh ! called by trazdf.F90 33 33 PUBLIC dom_vvl ! called by istate.F90 and step.F90 34 PUBLIC sfe3ini ! 35 PUBLIC sfe3 ! 34 36 35 37 !! * Module variables … … 299 301 END SUBROUTINE dom_vvl_ssh 300 302 303 FUNCTION sfe3( zssh, gridp ) 304 !!---------------------------------------------------------------------- 305 !! *** ROUTINE sfe3 *** 306 !! 307 !! ** Purpose : compute vertical scale factor at each time step 308 !!---------------------------------------------------------------------- 309 !! * Arguments 310 CHARACTER(LEN=1) , INTENT( in ) :: gridp ! grid point type 311 REAL(wp), DIMENSION(jpi,jpj) , INTENT( in ) :: zssh ! 2D workspace 312 REAL(wp), DIMENSION(jpi,jpj,jpk) :: sfe3 ! 3D workspace 313 314 !! * Local declarations 315 INTEGER :: jk ! dummy loop indices 316 !!---------------------------------------------------------------------- 317 318 SELECT CASE (gridp) 319 320 CASE ('U') 321 ! 322 DO jk = 1, jpk 323 sfe3(:,:,jk) = fsve3u(:,:,jk) * ( 1 + zssh(:,:) * muu(:,:,jk) ) 324 ENDDO 325 326 CASE ('V') 327 ! 328 DO jk = 1, jpk 329 sfe3(:,:,jk) = fsve3v(:,:,jk) * ( 1 + zssh(:,:) * muv(:,:,jk) ) 330 ENDDO 331 332 CASE ('T') 333 ! 334 DO jk = 1, jpk 335 sfe3(:,:,jk) = fsve3t(:,:,jk) * ( 1 + zssh(:,:) * mut(:,:,jk) ) 336 ENDDO 337 338 END SELECT 339 340 END FUNCTION sfe3 341 342 FUNCTION sfe3ini( gridp ) 343 !!---------------------------------------------------------------------- 344 !! *** ROUTINE sfe3 *** 345 !! 346 !! ** Purpose : affect the appropriate vertical scale factor. It is done 347 !! to avoid compiling error when using key_zco cpp key 348 !!---------------------------------------------------------------------- 349 !! * Arguments 350 CHARACTER(LEN=1) , INTENT( in ) :: gridp ! grid point type 351 REAL(wp), DIMENSION(jpi,jpj,jpk) :: sfe3ini ! 3D workspace 352 !!---------------------------------------------------------------------- 353 354 SELECT CASE (gridp) 355 356 CASE ('U') 357 ! 358 sfe3ini(:,:,:) = fse3u(:,:,:) 359 360 CASE ('V') 361 ! 362 sfe3ini(:,:,:) = fse3v(:,:,:) 363 364 CASE ('T') 365 ! 366 sfe3ini(:,:,:) = fse3t(:,:,:) 367 368 END SELECT 369 370 END FUNCTION sfe3ini 301 371 #else 302 372 !!---------------------------------------------------------------------- … … 312 382 WRITE(*,*) 'dom_vvl_ssh: You should not have seen this print! error?', kt 313 383 END SUBROUTINE dom_vvl_ssh 384 FUNCTION sfe3( zssh, gridp ) 385 !! * Arguments 386 CHARACTER(LEN=1) , INTENT( in ) :: gridp ! grid point type 387 REAL(wp), DIMENSION(jpi,jpj) , INTENT( in ) :: zssh ! 2D workspace 388 REAL(wp), DIMENSION(jpi,jpj,jpk) :: sfe3 ! 3D workspace 389 sfe3(:,:,:) = 0.e0 390 WRITE(*,*) 'sfe3: You should not have seen this print! error?', gridp 391 WRITE(*,*) 'sfe3: You should not have seen this print! error?', zssh(1,1) 392 END FUNCTION sfe3 393 FUNCTION sfe3ini( gridp ) 394 !! * Arguments 395 CHARACTER(LEN=1) , INTENT( in ) :: gridp ! grid point type 396 REAL(wp), DIMENSION(jpi,jpj,jpk) :: sfe3ini ! 3D workspace 397 sfe3ini(:,:,:) = 0.e0 398 WRITE(*,*) 'sfe3ini: You should not have seen this print! error?', gridp 399 END FUNCTION sfe3ini 314 400 #endif 315 401 -
trunk/NEMO/OPA_SRC/DOM/domzgr_substitute.h90
r592 r642 56 56 # define fsve3vw(i,j,k) e3vw_1(i,j,k) 57 57 #else 58 # define fsvdept(i,j,k) gdept(i,j,k)58 # define fsvdept(i,j,k) fsdept(i,j,k) 59 59 60 # define fsvdepw(i,j,k) gdepw(i,j,k)61 # define fsvde3w(i,j,k) gdep3w(i,j,k)60 # define fsvdepw(i,j,k) fsdepw(i,j,k) 61 # define fsvde3w(i,j,k) fsde3w(i,j,k) 62 62 63 # define fsve3t(i,j,k) e3t(i,j,k)64 # define fsve3u(i,j,k) e3u(i,j,k)65 # define fsve3v(i,j,k) e3v(i,j,k)66 # define fsve3f(i,j,k) e3f(i,j,k)63 # define fsve3t(i,j,k) fse3t(i,j,k) 64 # define fsve3u(i,j,k) fse3u(i,j,k) 65 # define fsve3v(i,j,k) fse3v(i,j,k) 66 # define fsve3f(i,j,k) fse3f(i,j,k) 67 67 68 # define fsve3w(i,j,k) e3w(i,j,k)69 # define fsve3uw(i,j,k) e3uw(i,j,k)70 # define fsve3vw(i,j,k) e3vw(i,j,k)68 # define fsve3w(i,j,k) fse3w(i,j,k) 69 # define fsve3uw(i,j,k) fse3uw(i,j,k) 70 # define fsve3vw(i,j,k) fse3vw(i,j,k) 71 71 #endif 72 72 -
trunk/NEMO/OPA_SRC/DYN/dynnxt.F90
r592 r642 73 73 INTEGER :: ji, jj, jk ! dummy loop indices 74 74 REAL(wp) :: z2dt ! temporary scalar 75 REAL(wp) :: zsshun1, zsshvn1 ! temporary scalar 75 76 !! Variable volume 76 REAL(wp) :: zsshun, zsshvn ! temporary scalars77 REAL(wp), DIMENSION(jpi,jpj) ::&78 zssh ub, zsshua, zsshvb, zsshva ! 2D workspace77 REAL(wp), DIMENSION(jpi,jpj) :: & ! 2D workspace 78 zsshub, zsshun, zsshua, & 79 zsshvb, zsshvn, zsshva 79 80 REAL(wp), DIMENSION(jpi,jpj,jpk) :: & 80 81 zfse3ub, zfse3un, zfse3ua, & ! 3D workspace … … 134 135 ! Scale factors at before and after time step 135 136 ! ------------------------------------------- 136 DO jk = 1, jpkm1 137 zfse3ub(:,:,jk) = fsve3u(:,:,jk) * ( 1 + zsshub(:,:) * muu(:,:,jk) ) 138 zfse3ua(:,:,jk) = fsve3u(:,:,jk) * ( 1 + zsshua(:,:) * muu(:,:,jk) ) 139 zfse3vb(:,:,jk) = fsve3v(:,:,jk) * ( 1 + zsshvb(:,:) * muv(:,:,jk) ) 140 zfse3va(:,:,jk) = fsve3v(:,:,jk) * ( 1 + zsshva(:,:) * muv(:,:,jk) ) 141 END DO 137 zfse3ub(:,:,:) = sfe3( zsshub, 'U' ) ; zfse3ua(:,:,:) = sfe3( zsshua, 'U' ) 138 zfse3vb(:,:,:) = sfe3( zsshvb, 'V' ) ; zfse3va(:,:,:) = sfe3( zsshva, 'V' ) 142 139 143 140 ! Asselin filtered scale factor at now time step 144 141 ! ---------------------------------------------- 145 142 IF( (neuler == 0 .AND. kt == nit000) .OR. lk_dynspg_ts ) THEN 146 zfse3un(:,:,:) = fse3u(:,:,:)147 zfse3vn(:,:,:) = fse3v(:,:,:)143 zfse3un(:,:,:) = sfe3ini( 'U' ) 144 zfse3vn(:,:,:) = sfe3ini( 'V' ) 148 145 ELSE 149 DO jk = 1, jpkm1 150 DO jj = 1, jpj 151 DO ji = 1, jpi 152 zsshun = atfp * ( zsshub(ji,jj) + zsshua(ji,jj) ) + atfp1 * sshu(ji,jj) 153 zsshvn = atfp * ( zsshvb(ji,jj) + zsshva(ji,jj) ) + atfp1 * sshv(ji,jj) 154 zfse3un(ji,jj,jk) = fsve3u(ji,jj,jk) * ( 1 + zsshun * muu(ji,jj,jk) ) 155 zfse3vn(ji,jj,jk) = fsve3v(ji,jj,jk) * ( 1 + zsshvn * muv(ji,jj,jk) ) 156 END DO 157 END DO 158 END DO 146 zsshun(:,:) = atfp * ( zsshub(:,:) + zsshua(:,:) ) + atfp1 * sshu(:,:) 147 zsshvn(:,:) = atfp * ( zsshvb(:,:) + zsshva(:,:) ) + atfp1 * sshv(:,:) 148 zfse3un(:,:,:) = sfe3( zsshun, 'U' ) ; zfse3vn(:,:,:) = sfe3( zsshvn, 'V' ) 159 149 ENDIF 160 150 161 151 ! Thickness weighting 162 152 ! ------------------- 163 ua(:,:,1:jpkm1) = ua(:,:,1:jpkm1) * fse3u (:,:,1:jpkm1) 164 va(:,:,1:jpkm1) = va(:,:,1:jpkm1) * fse3v (:,:,1:jpkm1) 165 166 un(:,:,1:jpkm1) = un(:,:,1:jpkm1) * fse3u (:,:,1:jpkm1) 167 vn(:,:,1:jpkm1) = vn(:,:,1:jpkm1) * fse3v (:,:,1:jpkm1) 168 169 ub(:,:,1:jpkm1) = ub(:,:,1:jpkm1) * zfse3ub(:,:,1:jpkm1) 170 vb(:,:,1:jpkm1) = vb(:,:,1:jpkm1) * zfse3vb(:,:,1:jpkm1) 153 DO jk = 1, jpkm1 154 DO jj = 1, jpj 155 DO ji = 1, jpi 156 ua(ji,jj,jk) = ua(ji,jj,jk) * fse3u(ji,jj,jk) 157 va(ji,jj,jk) = va(ji,jj,jk) * fse3v(ji,jj,jk) 158 159 un(ji,jj,jk) = un(ji,jj,jk) * fse3u(ji,jj,jk) 160 vn(ji,jj,jk) = vn(ji,jj,jk) * fse3v(ji,jj,jk) 161 162 ub(ji,jj,jk) = ub(ji,jj,jk) * zfse3ub(ji,jj,jk) 163 vb(ji,jj,jk) = vb(ji,jj,jk) * zfse3vb(ji,jj,jk) 164 END DO 165 END DO 166 END DO 171 167 172 168 ENDIF … … 241 237 DO jj = 1, jpj 242 238 DO ji = 1, jpi 243 zsshun = umask(ji,jj,jk) / fse3u(ji,jj,jk)244 zsshvn = vmask(ji,jj,jk) / fse3v(ji,jj,jk)245 ub(ji,jj,jk) = un(ji,jj,jk) * zsshun * umask(ji,jj,jk)246 vb(ji,jj,jk) = vn(ji,jj,jk) * zsshvn * vmask(ji,jj,jk)247 zsshun = umask(ji,jj,jk) / zfse3ua(ji,jj,jk)248 zsshvn = vmask(ji,jj,jk) / zfse3va(ji,jj,jk)249 un(ji,jj,jk) = ua(ji,jj,jk) * zsshun * umask(ji,jj,jk)250 vn(ji,jj,jk) = va(ji,jj,jk) * zsshvn * vmask(ji,jj,jk)239 zsshun1 = umask(ji,jj,jk) / fse3u(ji,jj,jk) 240 zsshvn1 = vmask(ji,jj,jk) / fse3v(ji,jj,jk) 241 ub(ji,jj,jk) = un(ji,jj,jk) * zsshun1 * umask(ji,jj,jk) 242 vb(ji,jj,jk) = vn(ji,jj,jk) * zsshvn1 * vmask(ji,jj,jk) 243 zsshun1 = umask(ji,jj,jk) / zfse3ua(ji,jj,jk) 244 zsshvn1 = vmask(ji,jj,jk) / zfse3va(ji,jj,jk) 245 un(ji,jj,jk) = ua(ji,jj,jk) * zsshun1 * umask(ji,jj,jk) 246 vn(ji,jj,jk) = va(ji,jj,jk) * zsshvn1 * vmask(ji,jj,jk) 251 247 END DO 252 248 END DO … … 268 264 DO jj = 1, jpj 269 265 DO ji = 1, jpi 270 zsshun = umask(ji,jj,jk) / zfse3un(ji,jj,jk)271 zsshvn = vmask(ji,jj,jk) / zfse3vn(ji,jj,jk)266 zsshun1 = umask(ji,jj,jk) / zfse3un(ji,jj,jk) 267 zsshvn1 = vmask(ji,jj,jk) / zfse3vn(ji,jj,jk) 272 268 ub(ji,jj,jk) = ( atfp * ( ub(ji,jj,jk) + ua(ji,jj,jk) ) & 273 & + atfp1 * un(ji,jj,jk) ) * zsshun 269 & + atfp1 * un(ji,jj,jk) ) * zsshun1 274 270 vb(ji,jj,jk) = ( atfp * ( vb(ji,jj,jk) + va(ji,jj,jk) ) & 275 & + atfp1 * vn(ji,jj,jk) ) * zsshvn 276 zsshun = umask(ji,jj,jk) / zfse3ua(ji,jj,jk)277 zsshvn = vmask(ji,jj,jk) / zfse3va(ji,jj,jk)278 un(ji,jj,jk) = ua(ji,jj,jk) * zsshun 279 vn(ji,jj,jk) = va(ji,jj,jk) * zsshvn 271 & + atfp1 * vn(ji,jj,jk) ) * zsshvn1 272 zsshun1 = umask(ji,jj,jk) / zfse3ua(ji,jj,jk) 273 zsshvn1 = vmask(ji,jj,jk) / zfse3va(ji,jj,jk) 274 un(ji,jj,jk) = ua(ji,jj,jk) * zsshun1 275 vn(ji,jj,jk) = va(ji,jj,jk) * zsshvn1 280 276 END DO 281 277 END DO -
trunk/NEMO/OPA_SRC/DYN/dynspg_flt.F90
r592 r642 187 187 ! Scale factors at before and after time step 188 188 ! ------------------------------------------- 189 DO jk = 1, jpkm1 190 zfse3ua(:,:,jk) = fsve3u(:,:,jk) * ( 1 + zsshua(:,:) * muu(:,:,jk) ) 191 zfse3va(:,:,jk) = fsve3v(:,:,jk) * ( 1 + zsshva(:,:) * muv(:,:,jk) ) 192 zfse3ub(:,:,jk) = fsve3u(:,:,jk) * ( 1 + zsshub(:,:) * muu(:,:,jk) ) 193 zfse3vb(:,:,jk) = fsve3v(:,:,jk) * ( 1 + zsshvb(:,:) * muv(:,:,jk) ) 194 END DO 189 zfse3ua(:,:,:) = sfe3( zsshua, 'U' ) ; zfse3ub(:,:,:) = sfe3( zsshub, 'U' ) 190 zfse3va(:,:,:) = sfe3( zsshva, 'V' ) ; zfse3vb(:,:,:) = sfe3( zsshvb, 'V' ) 195 191 196 192 ! Thickness weighting 197 193 ! ------------------- 198 ua(:,:,1:jpkm1) = ua(:,:,1:jpkm1) * fse3u(:,:,1:jpkm1) 199 va(:,:,1:jpkm1) = va(:,:,1:jpkm1) * fse3v(:,:,1:jpkm1) 200 201 zub(:,:,1:jpkm1) = ub(:,:,1:jpkm1) * zfse3ub(:,:,1:jpkm1) 202 zvb(:,:,1:jpkm1) = vb(:,:,1:jpkm1) * zfse3vb(:,:,1:jpkm1) 194 DO jk = 1, jpkm1 195 DO jj = 1, jpj 196 DO ji = 1, jpi 197 ua(ji,jj,jk) = ua(ji,jj,jk) * fse3u(ji,jj,jk) 198 va(ji,jj,jk) = va(ji,jj,jk) * fse3v(ji,jj,jk) 199 200 zub(ji,jj,jk) = ub(ji,jj,jk) * zfse3ub(ji,jj,jk) 201 zvb(ji,jj,jk) = vb(ji,jj,jk) * zfse3vb(ji,jj,jk) 202 END DO 203 END DO 204 END DO 203 205 204 206 ! Evaluate the masked next velocity (effect of the additional force not included) -
trunk/NEMO/OPA_SRC/DYN/dynspg_ts.F90
r592 r642 511 511 ! Scale factors at before and after time step 512 512 ! ------------------------------------------- 513 DO jk = 1, jpkm1 514 zfse3un_e(:,:,jk) = fsve3u(:,:,jk) * ( 1 + zsshun_e(:,:) * muu(:,:,jk) ) 515 zfse3vn_e(:,:,jk) = fsve3v(:,:,jk) * ( 1 + zsshvn_e(:,:) * muv(:,:,jk) ) 516 END DO 513 zfse3un_e(:,:,:) = sfe3( zsshun_e, 'U' ) ; zfse3vn_e(:,:,:) = sfe3( zsshvn_e, 'V' ) 517 514 518 515 ! Ocean depth at U- and V-points -
trunk/NEMO/OPA_SRC/TRA/tranxt.F90
r592 r642 86 86 INTEGER, INTENT(in) :: kt ! ocean time-step index 87 87 !! 88 INTEGER :: ji, jj, jk ! dummy loop indices89 REAL(wp) :: zt, zs 90 REAL(wp) :: zfact ! temporary scalar88 INTEGER :: ji, jj, jk ! dummy loop indices 89 REAL(wp) :: zt, zs, zssh1 ! temporary scalars 90 REAL(wp) :: zfact ! temporary scalar 91 91 !! Variable volume 92 REAL(wp) :: zssh ! temporary scalars92 REAL(wp), DIMENSION(jpi,jpj) :: zssh ! temporary scalars 93 93 REAL(wp), DIMENSION(jpi,jpj,jpk) :: zfse3tb, zfse3tn, zfse3ta ! 3D workspace 94 94 … … 100 100 ! Scale factors at before and after time step 101 101 ! ------------------------------------------- 102 DO jk = 1, jpkm1 103 zfse3tb(:,:,jk) = fsve3t(:,:,jk) * ( 1 + sshb(:,:) * mut(:,:,jk) ) 104 zfse3ta(:,:,jk) = fsve3t(:,:,jk) * ( 1 + ssha(:,:) * mut(:,:,jk) ) 105 END DO 102 zfse3tb(:,:,:) = sfe3( sshb, 'T' ) ; zfse3ta(:,:,:) = sfe3( ssha, 'T' ) 106 103 107 104 ! Asselin filtered scale factor at now time step 108 105 ! ---------------------------------------------- 109 106 IF( (neuler == 0 .AND. kt == nit000) .OR. lk_dynspg_ts ) THEN 110 zfse3tn(:,:,:) = fse3t(:,:,:)107 zfse3tn(:,:,:) = sfe3ini( 'T' ) 111 108 ELSE 112 DO jk = 1, jpkm1 113 DO jj = 1, jpj 114 DO ji = 1, jpi 115 zssh = atfp * ( sshb(ji,jj) + ssha(ji,jj) ) + atfp1 * sshn(ji,jj) 116 zfse3tn(ji,jj,jk) = fsve3t(ji,jj,jk) * ( 1 + zssh * mut(ji,jj,jk) ) 117 END DO 109 zssh(:,:) = atfp * ( sshb(:,:) + ssha(:,:) ) + atfp1 * sshn(:,:) 110 zfse3tn(:,:,:) = sfe3( zssh, 'T' ) 111 ENDIF 112 113 ! Thickness weighting 114 ! ------------------- 115 DO jk = 1, jpkm1 116 DO jj = 1, jpj 117 DO ji = 1, jpi 118 ta(ji,jj,jk) = ta(ji,jj,jk) * fse3t(ji,jj,jk) 119 sa(ji,jj,jk) = sa(ji,jj,jk) * fse3t(ji,jj,jk) 120 121 tn(ji,jj,jk) = tn(ji,jj,jk) * fse3t(ji,jj,jk) 122 sn(ji,jj,jk) = sn(ji,jj,jk) * fse3t(ji,jj,jk) 123 124 tb(ji,jj,jk) = tb(ji,jj,jk) * zfse3tb(ji,jj,jk) 125 sb(ji,jj,jk) = sb(ji,jj,jk) * zfse3tb(ji,jj,jk) 118 126 END DO 119 127 END DO 120 ENDIF 121 122 ! Thickness weighting 123 ! ------------------- 124 ta(:,:,1:jpkm1) = ta(:,:,1:jpkm1) * fse3t (:,:,1:jpkm1) 125 sa(:,:,1:jpkm1) = sa(:,:,1:jpkm1) * fse3t (:,:,1:jpkm1) 126 127 tn(:,:,1:jpkm1) = tn(:,:,1:jpkm1) * fse3t (:,:,1:jpkm1) 128 sn(:,:,1:jpkm1) = sn(:,:,1:jpkm1) * fse3t (:,:,1:jpkm1) 129 130 tb(:,:,1:jpkm1) = tb(:,:,1:jpkm1) * zfse3tb(:,:,1:jpkm1) 131 sb(:,:,1:jpkm1) = sb(:,:,1:jpkm1) * zfse3tb(:,:,1:jpkm1) 128 END DO 132 129 133 130 ENDIF … … 221 218 DO jj = 1, jpj 222 219 DO ji = 1, jpi 223 zssh = tmask(ji,jj,jk) / fse3t(ji,jj,jk)224 tb(ji,jj,jk) = tn(ji,jj,jk) * zssh * tmask(ji,jj,jk)225 sb(ji,jj,jk) = sn(ji,jj,jk) * zssh * tmask(ji,jj,jk)226 zssh = tmask(ji,jj,jk) / zfse3ta(ji,jj,jk)227 tn(ji,jj,jk) = ta(ji,jj,jk) * zssh * tmask(ji,jj,jk)228 sn(ji,jj,jk) = sa(ji,jj,jk) * zssh * tmask(ji,jj,jk)220 zssh1 = tmask(ji,jj,jk) / fse3t(ji,jj,jk) 221 tb(ji,jj,jk) = tn(ji,jj,jk) * zssh1 * tmask(ji,jj,jk) 222 sb(ji,jj,jk) = sn(ji,jj,jk) * zssh1 * tmask(ji,jj,jk) 223 zssh1 = tmask(ji,jj,jk) / zfse3ta(ji,jj,jk) 224 tn(ji,jj,jk) = ta(ji,jj,jk) * zssh1 * tmask(ji,jj,jk) 225 sn(ji,jj,jk) = sa(ji,jj,jk) * zssh1 * tmask(ji,jj,jk) 229 226 END DO 230 227 END DO … … 255 252 DO jj = 1, jpj 256 253 DO ji = 1, jpi 257 zssh = tmask(ji,jj,jk) / zfse3tn(ji,jj,jk)254 zssh1 = tmask(ji,jj,jk) / zfse3tn(ji,jj,jk) 258 255 tb(ji,jj,jk) = ( atfp * ( tb(ji,jj,jk) + ta(ji,jj,jk) ) & 259 & + atfp1 * tn(ji,jj,jk) ) * zssh 256 & + atfp1 * tn(ji,jj,jk) ) * zssh1 260 257 sb(ji,jj,jk) = ( atfp * ( sb(ji,jj,jk) + sa(ji,jj,jk) ) & 261 & + atfp1 * sn(ji,jj,jk) ) * zssh 262 zssh = tmask(ji,jj,1) / zfse3ta(ji,jj,jk)263 tn(ji,jj,jk) = ta(ji,jj,jk) * zssh 264 sn(ji,jj,jk) = sa(ji,jj,jk) * zssh 258 & + atfp1 * sn(ji,jj,jk) ) * zssh1 259 zssh1 = tmask(ji,jj,1) / zfse3ta(ji,jj,jk) 260 tn(ji,jj,jk) = ta(ji,jj,jk) * zssh1 261 sn(ji,jj,jk) = sa(ji,jj,jk) * zssh1 265 262 END DO 266 263 END DO
Note: See TracChangeset
for help on using the changeset viewer.