Changeset 13432
- Timestamp:
- 2020-08-24T15:06:34+02:00 (3 years ago)
- Location:
- NEMO/branches/NERC/dev_release-3.4_NEMOTAM_consolidated/NEMOGCM/NEMO/OPATAM_SRC/SOL
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/NERC/dev_release-3.4_NEMOTAM_consolidated/NEMOGCM/NEMO/OPATAM_SRC/SOL/sol_oce_tam.F90
r4587 r13432 41 41 INTEGER, PARAMETER, PUBLIC :: & 42 42 #if defined key_orca_r2 || defined key_seabass || defined key_gyre 43 & jp_it0adj = 300 ! initial value of the number of solver iteration (adj)43 & jp_it0adj = 600 ! number of solver iterations (tl and adj) 44 44 #else 45 & jp_it0adj = 1000 ! initial value of the number of solver iteration (adj)45 & jp_it0adj = 1000 ! number of solver iterations (tl and adj) 46 46 #endif 47 47 -
NEMO/branches/NERC/dev_release-3.4_NEMOTAM_consolidated/NEMOGCM/NEMO/OPATAM_SRC/SOL/solsor_tam.F90
r4586 r13432 111 111 icount = 0 112 112 ! ! ============== 113 DO jn = 1, n n_nmax! Iterative loop113 DO jn = 1, nitsor(kt - nit000 + 1) ! Iterative loop 114 114 ! ! ============== 115 115 ! applied the lateral boundary conditions … … 153 153 END DO 154 154 icount = icount + 1 155 ! test of convergence 156 IF ( (jn > nn_nmin .AND. MOD( jn-nn_nmin, nn_nmod ) == 0) .OR. jn==nn_nmax) THEN 155 ! ! test of convergence 156 ! IF ( (jn > nn_nmin .AND. MOD( jn-nn_nmin, nn_nmod ) == 0) .OR. jn==nn_nmax ) THEN 157 IF ( jn == nitsor(kt - nit000 + 1) ) THEN 157 158 SELECT CASE ( nn_sol_arp ) 158 159 CASE ( 0 ) … … 160 161 zres2 = MAXVAL( gcr_tl(2:nlci - 1,2:nlcj - 1) ) 161 162 IF( lk_mpp ) CALL mpp_max( zres2 ) ! max over the global domain 162 ! test of convergence163 ! ! test of convergence 163 164 res = SQRT( zres2 ) 164 IF( zres2 < rn_resmax .OR. jn == nn_nmax ) THEN165 niter = jn166 ncut = 999167 ! Store number of iterations for adjoint computation168 istp = kt - nit000 + 1169 nitsor(istp) = niter170 ENDIF165 ! IF( zres2 < rn_resmax .OR. jn == nn_nmax ) THEN 166 ! niter = jn 167 ! ncut = 999 168 ! ! Store number of iterations for adjoint computation 169 ! istp = kt - nit000 + 1 170 ! nitsor(istp) = niter 171 ! ENDIF 171 172 CASE ( 1 ) ! relative precision 172 173 ztab(:,:) = 0.0_wp 173 174 ztab(2:nlci-1,2:nlcj-1) = gcr_tl(2:nlci-1,2:nlcj-1) 174 175 rnorme = glob_sum(ztab) 175 ! test of convergence176 ! ! test of convergence 176 177 res = SQRT( rnorme ) 177 IF( rnorme < epsr .OR. jn == nn_nmax ) THEN178 niter = jn179 ncut = 999180 ! Store number of iterations for adjoint computation181 istp = kt - nit000 + 1182 nitsor(istp) = niter183 ENDIF178 ! IF( rnorme < epsr .OR. jn == nn_nmax ) THEN 179 ! niter = jn 180 ! ncut = 999 181 ! ! Store number of iterations for adjoint computation 182 ! istp = kt - nit000 + 1 183 ! nitsor(istp) = niter 184 ! ENDIF 184 185 END SELECT 185 186 !**** … … 188 189 !**** 189 190 ENDIF 190 ! indicator of non-convergence or explosion191 192 IF( jn == nn_nmax .OR. SQRT(epsr)/eps > 1.e+20 ) kindic = -2193 IF( ncut == 999 ) GOTO 999191 ! ! indicator of non-convergence or explosion 192 ! IF( jn == nn_nmax ) nitsor(istp) = jn 193 ! IF( jn == nn_nmax .OR. SQRT(epsr)/eps > 1.e+20 ) kindic = -2 194 ! IF( ncut == 999 ) GOTO 999 194 195 ! ! ===================== 195 196 END DO ! END of iterative loop
Note: See TracChangeset
for help on using the changeset viewer.