- Timestamp:
- 2010-10-28T11:06:10+02:00 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/TRA/traqsr.F90
r2317 r2326 103 103 REAL(wp), DIMENSION(jpi,jpj) :: zekb, zekg, zekr ! 2D workspace 104 104 REAL(wp), DIMENSION(jpi,jpj,jpk) :: ze0, ze1 , ze2, ze3, zea ! 3D workspace 105 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: ztrdt , ztrds105 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: ztrdt 106 106 !!---------------------------------------------------------------------- 107 107 … … 115 115 IF( l_trdtra ) THEN ! Save ta and sa trends 116 116 ALLOCATE( ztrdt(jpi,jpj,jpk) ) ; ztrdt(:,:,:) = tsa(:,:,:,jp_tem) 117 ALLOCATE( ztrds(jpi,jpj,jpk) ) ; ztrds(:,:,:) = 0.118 117 ENDIF 119 118 … … 143 142 ! ! ============================================== ! 144 143 DO jk = 1, jpkm1 145 DO jj = 2, jpjm1 144 qsr_hc(:,:,jk) = ro0cpr * ( etot3(:,:,jk) - etot3(:,:,jk+1) ) 145 END DO 146 ! Add to the general trend 147 DO jk = 1, jpkm1 148 DO jj = 2, jpjm1 146 149 DO ji = fs_2, fs_jpim1 ! vector opt. 147 qsr_hc(ji,jj,jk) = ro0cpr * ( etot3(ji,jj,jk) - etot3(ji,jj,jk+1) ) / fse3t(ji,jj,jk) 150 z1_e3t = zfact / fse3t(ji,jj,jk) 151 tsa(ji,jj,jk,jp_tem) = tsa(ji,jj,jk,jp_tem) + ( qsr_hc_b(ji,jj,jk) + qsr_hc(ji,jj,jk) ) * z1_e3t 148 152 END DO 149 153 END DO … … 234 238 zc0 = zz0 * EXP( -fsdepw(ji,jj,jk )*xsi0r ) + zz1 * EXP( -fsdepw(ji,jj,jk )*xsi1r ) 235 239 zc1 = zz0 * EXP( -fsdepw(ji,jj,jk+1)*xsi0r ) + zz1 * EXP( -fsdepw(ji,jj,jk+1)*xsi1r ) 236 qsr_hc(ji,jj,jk) = qsr(ji,jj) * ( zc0*tmask(ji,jj,jk) - zc1*tmask(ji,jj,jk+1) ) / fse3t(ji,jj,jk)240 qsr_hc(ji,jj,jk) = qsr(ji,jj) * ( zc0*tmask(ji,jj,jk) - zc1*tmask(ji,jj,jk+1) ) 237 241 END DO 238 242 END DO … … 251 255 ENDIF 252 256 ! 253 ENDIF 254 ! Add to the general trend 255 ! ************************ 256 DO jk = 1, nksr 257 DO jj = 2, jpjm1 258 DO ji = fs_2, fs_jpim1 ! vector opt. 259 z1_e3t = zfact / fse3t(ji,jj,jk) 260 tsa(ji,jj,jk,jp_tem) = tsa(ji,jj,jk,jp_tem) + ( qsr_hc_b(ji,jj,jk) + qsr_hc(ji,jj,jk) ) * z1_e3t 257 ! Add to the general trend 258 DO jk = 1, nksr 259 DO jj = 2, jpjm1 260 DO ji = fs_2, fs_jpim1 ! vector opt. 261 z1_e3t = zfact / fse3t(ji,jj,jk) 262 tsa(ji,jj,jk,jp_tem) = tsa(ji,jj,jk,jp_tem) + ( qsr_hc_b(ji,jj,jk) + qsr_hc(ji,jj,jk) ) * z1_e3t 263 END DO 261 264 END DO 262 265 END DO 263 END DO 266 ! 267 ENDIF 264 268 ! 265 269 IF( lrst_oce ) THEN ! Write in the ocean restart file … … 276 280 ztrdt(:,:,:) = tsa(:,:,:,jp_tem) - ztrdt(:,:,:) 277 281 CALL trd_tra( kt, 'TRA', jp_tem, jptra_trd_qsr, ztrdt ) 278 CALL trd_tra( kt, 'TRA', jp_sal, jptra_trd_qsr, ztrds ) 279 DEALLOCATE( ztrdt ) ; DEALLOCATE( ztrds ) 282 DEALLOCATE( ztrdt ) 280 283 ENDIF 281 284 ! ! print mean trends (used for debugging) … … 443 446 ! 444 447 DO jk = 1, nksr 445 etot3(:,:,jk) = ro0cpr * ( zea(:,:,jk) - zea(:,:,jk+1) ) / fse3t_0(:,:,jk)448 etot3(:,:,jk) = ro0cpr * ( zea(:,:,jk) - zea(:,:,jk+1) ) 446 449 END DO 447 450 etot3(:,:,nksr+1:jpk) = 0.e0 ! below 400m set to zero … … 471 474 zc0 = zz0 * EXP( -fsdepw(ji,jj,jk )*xsi0r ) + zz1 * EXP( -fsdepw(ji,jj,jk )*xsi1r ) 472 475 zc1 = zz0 * EXP( -fsdepw(ji,jj,jk+1)*xsi0r ) + zz1 * EXP( -fsdepw(ji,jj,jk+1)*xsi1r ) 473 etot3(ji,jj,jk) = ( zc0 * tmask(ji,jj,jk) - zc1 * tmask(ji,jj,jk+1) ) / fse3t_0(ji,jj,jk)476 etot3(ji,jj,jk) = ( zc0 * tmask(ji,jj,jk) - zc1 * tmask(ji,jj,jk+1) ) 474 477 END DO 475 478 END DO
Note: See TracChangeset
for help on using the changeset viewer.