- Timestamp:
- 2011-03-01T20:04:06+01:00 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/SOL/solpcg.F90
r2633 r2636 26 26 !! NEMO/OPA 3.3 , NEMO Consortium (2010) 27 27 !! $Id$ 28 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt)28 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 29 29 !!---------------------------------------------------------------------- 30 30 CONTAINS … … 83 83 !! ! 08-01 (R. Benshila) mpp optimization 84 84 !!---------------------------------------------------------------------- 85 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 86 USE wrk_nemo, ONLY: zgcr => wrk_2d_1 87 !! 88 INTEGER, INTENT( inout ) :: kindic ! solver indicator, < 0 if the conver- 89 ! ! gence is not reached: the model is 90 ! ! stopped in step 91 ! ! set to zero before the call of solpcg 92 !! 93 INTEGER :: ji, jj, jn ! dummy loop indices 94 REAL(wp) :: zgcad ! temporary scalars 95 REAL(wp), DIMENSION(2) :: zsum 85 USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 86 USE wrk_nemo, ONLY: zgcr => wrk_2d_1 87 !! 88 INTEGER, INTENT(inout) :: kindic ! solver indicator, < 0 if the conver- 89 ! ! gence is not reached: the model is stopped in step 90 ! ! set to zero before the call of solpcg 91 !! 92 INTEGER :: ji, jj, jn ! dummy loop indices 93 REAL(wp) :: zgcad ! temporary scalars 94 REAL(wp), DIMENSION(2) :: zsum 96 95 !!---------------------------------------------------------------------- 97 96 98 97 IF( wrk_in_use(2, 1) )THEN 99 CALL ctl_stop('sol_pcg: requested workspace array is unavailable') 100 RETURN 101 END IF 98 CALL ctl_stop('sol_pcg: requested workspace array is unavailable') ; RETURN 99 ENDIF 102 100 103 101 ! Initialization of the algorithm with standard PCG 104 102 ! ------------------------------------------------- 105 zgcr = 0. e0106 gcr = 0. e0103 zgcr = 0._wp 104 gcr = 0._wp 107 105 108 106 CALL lbc_lnk( gcx, c_solver_pt, 1. ) ! lateral boundary condition … … 207 205 END DO ! End Loop 208 206 ! !================ 209 210 207 999 CONTINUE 211 212 213 ! Output in gcx with lateral b.c. applied 214 ! --------------------------------------- 215 216 CALL lbc_lnk( gcx, c_solver_pt, 1. ) 217 208 209 CALL lbc_lnk( gcx, c_solver_pt, 1. ) ! Output in gcx with lateral b.c. applied 218 210 ! 219 IF( wrk_not_released(2, 1) )THEN 220 CALL ctl_stop('sol_pcg: failed to release workspace array') 221 END IF 211 IF( wrk_not_released(2, 1) ) CALL ctl_stop('sol_pcg: failed to release workspace array') 222 212 ! 223 213 END SUBROUTINE sol_pcg
Note: See TracChangeset
for help on using the changeset viewer.