- Timestamp:
- 2011-10-31T09:42:39+01:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2011/dev_LOCEAN_2011/NEMOGCM/NEMO/TOP_SRC/LOBSTER/trcsed.F90
r2977 r3028 57 57 !!--------------------------------------------------------------------- 58 58 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 59 USE wrk_nemo, ONLY: zw2d => wrk_2d_1, zwork => wrk_3d_2 59 USE wrk_nemo, ONLY: zwork => wrk_3d_2, ztra => wrk_3d_3 60 USE wrk_nemo, ONLY: zw2d => wrk_2d_1 60 61 !! 61 62 INTEGER, INTENT( in ) :: kt ! ocean time-step index 62 63 !! 63 64 INTEGER :: ji, jj, jk, jl, ierr 64 REAL(wp) :: ztra, ze3t65 65 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: ztrbio 66 66 CHARACTER (len=25) :: charout … … 73 73 ENDIF 74 74 75 IF( wrk_in_use(2, 1) .OR. wrk_in_use(3, 2 ) ) THEN75 IF( wrk_in_use(2, 1) .OR. wrk_in_use(3, 2,3) ) THEN 76 76 CALL ctl_stop('trc_sed : requested workspace arrays unavailable.') ; RETURN 77 77 END IF … … 85 85 ENDIF 86 86 87 IF( ln_diatrc .AND. lk_iomput) zw2d(:,:) = 0.87 IF( ln_diatrc ) zw2d(:,:) = 0. 88 88 89 89 ! sedimentation of detritus : upstream scheme … … 103 103 DO jj = 1, jpj 104 104 DO ji = 1, jpi 105 ztra = - ( zwork(ji,jj,jk) - zwork(ji,jj,jk+1) ) / fse3t(ji,jj,jk) 106 tra(ji,jj,jk,jp_lob_det) = tra(ji,jj,jk,jp_lob_det) + ztra 107 ! 108 IF( ln_diabio ) trbio(ji,jj,jk,jp_lob0_trd + 7) = ztra 109 IF( ln_diatrc ) THEN 110 ze3t = ztra * fse3t(ji,jj,jk) * 86400. 111 IF( lk_iomput ) THEN ; zw2d(ji,jj) = zw2d(ji,jj) + ze3t 112 ELSE ; trc2d(ji,jj,jp_lob0_2d + 7) = trc2d(ji,jj,jp_lob0_2d + 7) + ze3t 113 ENDIF 114 ENDIF 115 ! 105 ztra(ji,jj,jk) = - ( zwork(ji,jj,jk) - zwork(ji,jj,jk+1) ) / fse3t(ji,jj,jk) 106 tra(ji,jj,jk,jp_lob_det) = tra(ji,jj,jk,jp_lob_det) + ztra(ji,jj,jk) 116 107 END DO 117 108 END DO 118 109 END DO 119 110 120 IF( ln_diatrc .AND. lk_iomput ) CALL iom_put( "TDETSED", zw2d ) 121 111 IF( ln_diatrc ) THEN 112 zw2d(:,:) = 0. 113 DO jk = 1, jpkm1 114 DO jj = 1, jpj 115 DO ji = 1, jpi 116 zw2d(ji,jj) = zw2d(ji,jj) + ztra(ji,jj,jk) * fse3t(ji,jj,jk) * 86400. 117 END DO 118 END DO 119 END DO 120 IF( lk_iomput ) THEN 121 CALL iom_put( "TDETSED", zw2d ) 122 ELSE 123 trc2d(:,:,jp_lob0_2d + 7) = zw2d(:,:) 124 ENDIF 125 ENDIF 126 ! 127 IF( ln_diabio ) trbio(:,:,:,jp_lob0_trd + 7) = ztra(:,:,:) 128 ! 122 129 IF( l_trdtrc ) THEN 123 130 ztrbio(:,:,:) = tra(:,:,:,jp_lob_det) - ztrbio(:,:,:) … … 133 140 ENDIF 134 141 135 IF( ( wrk_not_released(2, 1) ) .OR. ( wrk_not_released(3, 2 ) ) ) &142 IF( ( wrk_not_released(2, 1) ) .OR. ( wrk_not_released(3, 2,3) ) ) & 136 143 & CALL ctl_stop('trc_sed : failed to release workspace arrays.') 137 144
Note: See TracChangeset
for help on using the changeset viewer.