Changeset 10806 for NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/OCE/TRA/tradmp.F90
- Timestamp:
- 2019-03-27T17:55:22+01: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
r10425 r10806 72 72 73 73 74 SUBROUTINE tra_dmp( kt )74 SUBROUTINE tra_dmp( kt, ktlev, kt2lev, pts_rhs ) 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 92 INTEGER, INTENT(in) :: kt ! ocean time-step index 93 INTEGER, INTENT(in) :: ktlev ! time level index for 3-time-level source terms 94 INTEGER, INTENT(in) :: kt2lev ! time level index for 2-time-level source terms 95 REAL(wp), INTENT( inout), DIMENSION(jpi,jpj,jpk,jpts) :: pts_rhs ! temperature and salinity trends 93 96 ! 94 97 INTEGER :: ji, jj, jk, jn ! dummy loop indices … … 101 104 IF( l_trdtra ) THEN !* Save ta and sa trends 102 105 ALLOCATE( ztrdts(jpi,jpj,jpk,jpts) ) 103 ztrdts(:,:,:,:) = tsa(:,:,:,:)106 ztrdts(:,:,:,:) = pts_rhs(:,:,:,:) 104 107 ENDIF 105 108 ! !== input T-S data at kt ==! … … 113 116 DO jj = 2, jpjm1 114 117 DO ji = fs_2, fs_jpim1 ! vector opt. 115 tsa(ji,jj,jk,jn) = tsa(ji,jj,jk,jn) + resto(ji,jj,jk) * ( zts_dta(ji,jj,jk,jn) - tsb(ji,jj,jk,jn) )118 pts_rhs(ji,jj,jk,jn) = pts_rhs(ji,jj,jk,jn) + resto(ji,jj,jk) * ( zts_dta(ji,jj,jk,jn) - ts(ji,jj,jk,jn,ktlev) ) 116 119 END DO 117 120 END DO … … 124 127 DO ji = fs_2, fs_jpim1 ! vector opt. 125 128 IF( avt(ji,jj,jk) <= avt_c ) THEN 126 tsa(ji,jj,jk,jp_tem) = tsa(ji,jj,jk,jp_tem) &127 & + resto(ji,jj,jk) * ( zts_dta(ji,jj,jk,jp_tem) - ts b(ji,jj,jk,jp_tem) )128 tsa(ji,jj,jk,jp_sal) = tsa(ji,jj,jk,jp_sal) &129 & + resto(ji,jj,jk) * ( zts_dta(ji,jj,jk,jp_sal) - ts b(ji,jj,jk,jp_sal) )129 pts_rhs(ji,jj,jk,jp_tem) = pts_rhs(ji,jj,jk,jp_tem) & 130 & + resto(ji,jj,jk) * ( zts_dta(ji,jj,jk,jp_tem) - ts(ji,jj,jk,jp_tem,ktlev) ) 131 pts_rhs(ji,jj,jk,jp_sal) = pts_rhs(ji,jj,jk,jp_sal) & 132 & + resto(ji,jj,jk) * ( zts_dta(ji,jj,jk,jp_sal) - ts(ji,jj,jk,jp_sal,ktlev) ) 130 133 ENDIF 131 134 END DO … … 137 140 DO jj = 2, jpjm1 138 141 DO ji = fs_2, fs_jpim1 ! vector opt. 139 IF( gdept _n(ji,jj,jk) >= hmlp (ji,jj) ) THEN140 tsa(ji,jj,jk,jp_tem) = tsa(ji,jj,jk,jp_tem) &141 & + resto(ji,jj,jk) * ( zts_dta(ji,jj,jk,jp_tem) - ts b(ji,jj,jk,jp_tem) )142 tsa(ji,jj,jk,jp_sal) = tsa(ji,jj,jk,jp_sal) &143 & + resto(ji,jj,jk) * ( zts_dta(ji,jj,jk,jp_sal) - ts b(ji,jj,jk,jp_sal) )142 IF( gdept(ji,jj,jk,kt2lev) >= hmlp (ji,jj) ) THEN 143 pts_rhs(ji,jj,jk,jp_tem) = pts_rhs(ji,jj,jk,jp_tem) & 144 & + resto(ji,jj,jk) * ( zts_dta(ji,jj,jk,jp_tem) - ts(ji,jj,jk,jp_tem,ktlev) ) 145 pts_rhs(ji,jj,jk,jp_sal) = pts_rhs(ji,jj,jk,jp_sal) & 146 & + resto(ji,jj,jk) * ( zts_dta(ji,jj,jk,jp_sal) - ts(ji,jj,jk,jp_sal,ktlev) ) 144 147 ENDIF 145 148 END DO … … 150 153 ! 151 154 IF( l_trdtra ) THEN ! trend diagnostic 152 ztrdts(:,:,:,:) = tsa(:,:,:,:) - ztrdts(:,:,:,:)155 ztrdts(:,:,:,:) = pts_rhs(:,:,:,:) - ztrdts(:,:,:,:) 153 156 CALL trd_tra( kt, 'TRA', jp_tem, jptra_dmp, ztrdts(:,:,:,jp_tem) ) 154 157 CALL trd_tra( kt, 'TRA', jp_sal, jptra_dmp, ztrdts(:,:,:,jp_sal) )
Note: See TracChangeset
for help on using the changeset viewer.