New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 3294 for trunk/NEMOGCM/NEMO/OPA_SRC/SOL/solpcg.F90 – NEMO

Ignore:
Timestamp:
2012-01-28T17:44:18+01:00 (12 years ago)
Author:
rblod
Message:

Merge of 3.4beta into the trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMOGCM/NEMO/OPA_SRC/SOL/solpcg.F90

    r2715 r3294  
    1414   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    1515   USE in_out_manager  ! I/O manager 
    16    USE lib_fortran 
     16   USE lib_fortran     ! Fortran routines library 
     17   USE wrk_nemo        ! Memory allocation 
     18   USE timing          ! Timing 
    1719 
    1820   IMPLICIT NONE 
     
    8385      !!        !  08-01  (R. Benshila) mpp optimization 
    8486      !!---------------------------------------------------------------------- 
    85       USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
    86       USE wrk_nemo, ONLY:   zgcr => wrk_2d_1 
    8787      !! 
    8888      INTEGER, INTENT(inout) ::   kindic   ! solver indicator, < 0 if the conver- 
     
    9393      REAL(wp) ::   zgcad        ! temporary scalars 
    9494      REAL(wp), DIMENSION(2) ::   zsum 
     95      REAL(wp), POINTER, DIMENSION(:,:) ::   zgcr 
    9596      !!---------------------------------------------------------------------- 
    96        
    97       IF( wrk_in_use(2, 1) )THEN 
    98          CALL ctl_stop('sol_pcg: requested workspace array is unavailable')   ;   RETURN 
    99       ENDIF 
    100  
     97      ! 
     98      IF( nn_timing == 1 )  CALL timing_start('sol_pcg') 
     99      ! 
     100      CALL wrk_alloc( jpi, jpj, zgcr ) 
     101      ! 
    101102      ! Initialization of the algorithm with standard PCG 
    102103      ! ------------------------------------------------- 
     
    209210      CALL lbc_lnk( gcx, c_solver_pt, 1. )      ! Output in gcx with lateral b.c. applied 
    210211      !  
    211       IF( wrk_not_released(2, 1) )   CALL ctl_stop('sol_pcg: failed to release workspace array') 
     212      CALL wrk_dealloc( jpi, jpj, zgcr ) 
     213      ! 
     214      IF( nn_timing == 1 )  CALL timing_stop('sol_pcg') 
    212215      ! 
    213216   END SUBROUTINE sol_pcg 
Note: See TracChangeset for help on using the changeset viewer.