- Timestamp:
- 2022-01-04T19:30:17+01:00 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2021/dev_r14318_RK3_stage1/src/OCE/stprk3_stg.F90
r15621 r15627 49 49 REAL(wp) :: r2_3 = 2._wp / 3._wp 50 50 51 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: ssha ! sea-surface height at N+1 52 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: ua_b, va_b ! barotropic velocity at N+1 51 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: ssha ! sea-surface height at N+1 52 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: r3ta, r3ua, r3va, r3fa, r3fb ! ssh/h_0 ratio at t,u,v-column 53 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: ua_b, va_b ! barotropic velocity at N+1 53 54 54 55 !! * Substitutions … … 120 121 vv_b(:,:,Kaa) = r2_3 * vv_b(:,:,Kbb) + r1_3 * va_b(:,:) 121 122 ! 123 ! 124 ! !== ssh/h0 ratio at Kaa ==! 125 ! 126 IF( .NOT.lk_linssh ) THEN ! "after" ssh/h_0 ratio at t,u,v-column 127 ! 128 ALLOCATE( r3ta(jpi,jpj) , r3ua(jpi,jpj) , r3va(jpi,jpj) , r3fa(jpi,jpj) , r3fb(jpi,jpj) ) 129 ! 130 r3fb(:,:) = r3f(:,:) !!st dirty fix check with gm 131 CALL dom_qco_r3c_RK3( ssha, r3ta, r3ua, r3va, r3fa ) 132 ! 133 CALL lbc_lnk( 'stprk3_stg', r3ua, 'U', 1._wp, r3va, 'V', 1._wp, r3fa, 'F', 1._wp ) 134 ! 135 r3t(:,:,Kaa) = r2_3 * r3t(:,:,Kbb) + r1_3 * r3ta(:,:) 136 r3u(:,:,Kaa) = r2_3 * r3u(:,:,Kbb) + r1_3 * r3ua(:,:) 137 r3v(:,:,Kaa) = r2_3 * r3v(:,:,Kbb) + r1_3 * r3va(:,:) 138 r3f(:,:) = r2_3 * r3fb(:,:) + r1_3 * r3fa(:,:) 139 ENDIF 140 ! 122 141 ! !---------------! 123 142 CASE ( 2 ) !== Stage 2 ==! Kbb = N ; Kmm = N+1/3 ; Kaa = N+1/2 … … 132 151 vv_b(:,:,Kaa) = r1_2 * ( vv_b(:,:,Kbb) + va_b(:,:) ) 133 152 ! 153 IF( .NOT.lk_linssh ) THEN 154 r3t(:,:,Kaa) = r1_2 * ( r3t(:,:,Kbb) + r3ta(:,:) ) 155 r3u(:,:,Kaa) = r1_2 * ( r3u(:,:,Kbb) + r3ua(:,:) ) 156 r3v(:,:,Kaa) = r1_2 * ( r3v(:,:,Kbb) + r3va(:,:) ) 157 r3f(:,:) = r1_2 * ( r3fb(:,:) + r3fa(:,:) ) 158 ENDIF 159 ! 134 160 ! !---------------! 135 161 CASE ( 3 ) !== Stage 3 ==! Kbb = N ; Kmm = N+1/2 ; Kaa = N+1 … … 145 171 DEALLOCATE( ssha , ua_b , va_b ) 146 172 ! 173 IF( .NOT.lk_linssh ) THEN 174 r3t(:,:,Kaa) = r3ta(:,:) 175 r3u(:,:,Kaa) = r3ua(:,:) 176 r3v(:,:,Kaa) = r3va(:,:) 177 r3f(:,: ) = r3fa(:,:) 178 DEALLOCATE( r3ta, r3ua, r3va, r3fa, r3fb ) 179 ! 180 ENDIF 181 ! 147 182 END SELECT 148 !149 ! !== ssh/h0 ratio at Kaa ==!150 !151 IF( .NOT.lk_linssh ) CALL dom_qco_r3c( ssh(:,:,Kaa), r3t(:,:,Kaa), r3u(:,:,Kaa), r3v(:,:,Kaa), r3f(:,:) ) ! "after" ssh/h_0 ratio at t,u,v-column152 !! SELECT CASE( kstg )153 !154 !! CASE ( 3 )155 !!st required at each stage for div hor loops156 CALL lbc_lnk( 'stprk3_stg', r3u(:,:,Kaa), 'U', 1._wp, r3v(:,:,Kaa), 'V', 1._wp, r3f(:,:), 'F', 1._wp )157 !158 !! END SELECT159 183 ! 160 184 !
Note: See TracChangeset
for help on using the changeset viewer.