Changeset 10985 for NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/OCE/TRA/tradmp.F90
- Timestamp:
- 2019-05-15T21:19:35+02:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/OCE/TRA/tradmp.F90
r10954 r10985 72 72 73 73 74 SUBROUTINE tra_dmp( kt, Kbb, Kmm, Krhs )74 SUBROUTINE tra_dmp( kt, Kbb, Kmm, pts, Krhs ) 75 75 !!---------------------------------------------------------------------- 76 76 !! *** ROUTINE tra_dmp *** … … 90 90 !! ** Action : - tsa: tracer trends updated with the damping trend 91 91 !!---------------------------------------------------------------------- 92 INTEGER, INTENT(in) :: kt ! ocean time-step index 93 INTEGER, INTENT(in) :: Kbb, Kmm, Krhs ! time level indices 92 INTEGER, INTENT(in ) :: kt ! ocean time-step index 93 INTEGER, INTENT(in ) :: Kbb, Kmm, Krhs ! time level indices 94 REAL(wp), DIMENSION(jpi,jpj,jpk,jpts,jpt), INTENT(inout) :: pts ! active tracers and RHS of tracer equation 94 95 ! 95 96 INTEGER :: ji, jj, jk, jn ! dummy loop indices … … 102 103 IF( l_trdtra ) THEN !* Save ta and sa trends 103 104 ALLOCATE( ztrdts(jpi,jpj,jpk,jpts) ) 104 ztrdts(:,:,:,:) = ts(:,:,:,:,Krhs)105 ztrdts(:,:,:,:) = pts(:,:,:,:,Krhs) 105 106 ENDIF 106 107 ! !== input T-S data at kt ==! … … 114 115 DO jj = 2, jpjm1 115 116 DO ji = fs_2, fs_jpim1 ! vector opt. 116 ts(ji,jj,jk,jn,Krhs) = ts(ji,jj,jk,jn,Krhs) + resto(ji,jj,jk) * ( zts_dta(ji,jj,jk,jn) - ts(ji,jj,jk,jn,Kbb) ) 117 pts(ji,jj,jk,jn,Krhs) = pts(ji,jj,jk,jn,Krhs) & 118 & + resto(ji,jj,jk) * ( zts_dta(ji,jj,jk,jn) - pts(ji,jj,jk,jn,Kbb) ) 117 119 END DO 118 120 END DO … … 125 127 DO ji = fs_2, fs_jpim1 ! vector opt. 126 128 IF( avt(ji,jj,jk) <= avt_c ) THEN 127 ts(ji,jj,jk,jp_tem,Krhs) =ts(ji,jj,jk,jp_tem,Krhs) &128 & + resto(ji,jj,jk) * ( zts_dta(ji,jj,jk,jp_tem) -ts(ji,jj,jk,jp_tem,Kbb) )129 ts(ji,jj,jk,jp_sal,Krhs) =ts(ji,jj,jk,jp_sal,Krhs) &130 & + resto(ji,jj,jk) * ( zts_dta(ji,jj,jk,jp_sal) -ts(ji,jj,jk,jp_sal,Kbb) )129 pts(ji,jj,jk,jp_tem,Krhs) = pts(ji,jj,jk,jp_tem,Krhs) & 130 & + resto(ji,jj,jk) * ( zts_dta(ji,jj,jk,jp_tem) - pts(ji,jj,jk,jp_tem,Kbb) ) 131 pts(ji,jj,jk,jp_sal,Krhs) = pts(ji,jj,jk,jp_sal,Krhs) & 132 & + resto(ji,jj,jk) * ( zts_dta(ji,jj,jk,jp_sal) - pts(ji,jj,jk,jp_sal,Kbb) ) 131 133 ENDIF 132 134 END DO … … 139 141 DO ji = fs_2, fs_jpim1 ! vector opt. 140 142 IF( gdept(ji,jj,jk,Kmm) >= hmlp (ji,jj) ) THEN 141 ts(ji,jj,jk,jp_tem,Krhs) =ts(ji,jj,jk,jp_tem,Krhs) &142 & + resto(ji,jj,jk) * ( zts_dta(ji,jj,jk,jp_tem) -ts(ji,jj,jk,jp_tem,Kbb) )143 ts(ji,jj,jk,jp_sal,Krhs) =ts(ji,jj,jk,jp_sal,Krhs) &144 & + resto(ji,jj,jk) * ( zts_dta(ji,jj,jk,jp_sal) -ts(ji,jj,jk,jp_sal,Kbb) )143 pts(ji,jj,jk,jp_tem,Krhs) = pts(ji,jj,jk,jp_tem,Krhs) & 144 & + resto(ji,jj,jk) * ( zts_dta(ji,jj,jk,jp_tem) - pts(ji,jj,jk,jp_tem,Kbb) ) 145 pts(ji,jj,jk,jp_sal,Krhs) = pts(ji,jj,jk,jp_sal,Krhs) & 146 & + resto(ji,jj,jk) * ( zts_dta(ji,jj,jk,jp_sal) - pts(ji,jj,jk,jp_sal,Kbb) ) 145 147 ENDIF 146 148 END DO … … 151 153 ! 152 154 IF( l_trdtra ) THEN ! trend diagnostic 153 ztrdts(:,:,:,:) = ts(:,:,:,:,Krhs) - ztrdts(:,:,:,:)155 ztrdts(:,:,:,:) = pts(:,:,:,:,Krhs) - ztrdts(:,:,:,:) 154 156 CALL trd_tra( kt, Kmm, Krhs, 'TRA', jp_tem, jptra_dmp, ztrdts(:,:,:,jp_tem) ) 155 157 CALL trd_tra( kt, Kmm, Krhs, 'TRA', jp_sal, jptra_dmp, ztrdts(:,:,:,jp_sal) ) … … 157 159 ENDIF 158 160 ! ! Control print 159 IF(ln_ctl) CALL prt_ctl( tab3d_1= ts(:,:,:,jp_tem,Krhs), clinfo1=' dmp - Ta: ', mask1=tmask, &160 & tab3d_2= ts(:,:,:,jp_sal,Krhs), clinfo2= ' Sa: ', mask2=tmask, clinfo3='tra' )161 IF(ln_ctl) CALL prt_ctl( tab3d_1=pts(:,:,:,jp_tem,Krhs), clinfo1=' dmp - Ta: ', mask1=tmask, & 162 & tab3d_2=pts(:,:,:,jp_sal,Krhs), clinfo2= ' Sa: ', mask2=tmask, clinfo3='tra' ) 161 163 ! 162 164 IF( ln_timing ) CALL timing_stop('tra_dmp')
Note: See TracChangeset
for help on using the changeset viewer.