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/TRD/trdvor.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/TRD/trdvor.F90

    r2715 r3294  
    2727   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    2828   USE lib_mpp         ! MPP library 
     29   USE wrk_nemo        ! Memory allocation 
     30 
    2931 
    3032   IMPLICIT NONE 
     
    107109      !!      trends output in netCDF format using ioipsl 
    108110      !!---------------------------------------------------------------------- 
    109       USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
    110       USE wrk_nemo, ONLY:   zudpvor => wrk_2d_1 , zvdpvor => wrk_2d_2   ! total cmulative trends 
    111111      ! 
    112112      INTEGER                     , INTENT(in   ) ::   ktrd       ! ocean trend index 
     
    116116      INTEGER ::   ji, jj       ! dummy loop indices 
    117117      INTEGER ::   ikbu, ikbv   ! local integers 
    118       !!---------------------------------------------------------------------- 
    119  
    120       IF( wrk_in_use(2, 1,2) ) THEN 
    121          CALL ctl_stop('trd_vor_zint_2d: requested workspace arrays unavailable')   ;   RETURN 
    122       ENDIF 
    123  
    124       ! Initialization 
    125       zudpvor(:,:) = 0._wp                 ;   zvdpvor(:,:) = 0._wp 
     118      REAL(wp), POINTER, DIMENSION(:,:) :: zudpvor, zvdpvor  ! total cmulative trends 
     119      !!---------------------------------------------------------------------- 
     120 
     121      ! 
     122      CALL wrk_alloc( jpi, jpj, zudpvor, zvdpvor )                                     ! Memory allocation 
     123      ! 
     124 
     125      zudpvor(:,:) = 0._wp                 ;   zvdpvor(:,:) = 0._wp                    ! Initialisation 
    126126      CALL lbc_lnk( putrdvor, 'U', -1. )   ;   CALL lbc_lnk( pvtrdvor, 'V', -1. )      ! lateral boundary condition 
    127127       
     
    167167      ENDIF 
    168168      ! 
    169       IF( wrk_not_released(2, 1,2) )   CALL ctl_stop('trd_vor_zint_2d : failed to release workspace arrays.') 
     169      CALL wrk_dealloc( jpi, jpj, zudpvor, zvdpvor )                                    
    170170      ! 
    171171   END SUBROUTINE trd_vor_zint_2d 
     
    199199      !!      trends output in netCDF format using ioipsl 
    200200      !!---------------------------------------------------------------------- 
    201       USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
    202       USE wrk_nemo, ONLY:   zubet   => wrk_2d_1,   zvbet => wrk_2d_2   ! Beta.V  
    203       USE wrk_nemo, ONLY:   zudpvor => wrk_2d_3, zvdpvor => wrk_2d_4   ! total cmulative trends 
    204201      ! 
    205202      INTEGER                         , INTENT(in   ) ::   ktrd       ! ocean trend index 
     
    208205      ! 
    209206      INTEGER ::   ji, jj, jk   ! dummy loop indices 
     207      REAL(wp), POINTER, DIMENSION(:,:) :: zubet  , zvbet    ! Beta.V    
     208      REAL(wp), POINTER, DIMENSION(:,:) :: zudpvor, zvdpvor  ! total cmulative trends 
    210209      !!---------------------------------------------------------------------- 
    211210      
    212       IF( wrk_in_use(2, 1,2,3,4) ) THEN 
    213          CALL ctl_stop('trd_vor_zint_3d: requested workspace arrays unavailable.')   ;   RETURN 
    214       ENDIF 
     211      CALL wrk_alloc( jpi,jpj, zubet, zvbet, zudpvor, zvdpvor )                                    
    215212 
    216213      ! Initialization 
     
    276273      ENDIF 
    277274      ! 
    278       IF( wrk_not_released(2, 1,2,3,4) )   CALL ctl_stop('trd_vor_zint_3d: failed to release workspace arrays') 
     275      CALL wrk_dealloc( jpi,jpj, zubet, zvbet, zudpvor, zvdpvor )                                    
    279276      ! 
    280277   END SUBROUTINE trd_vor_zint_3d 
     
    288285      !!               and make outputs (NetCDF or DIMG format) 
    289286      !!---------------------------------------------------------------------- 
    290       USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
    291       USE wrk_nemo, ONLY:   zun => wrk_2d_1 , zvn => wrk_2d_2 ! 2D workspace 
    292287      ! 
    293288      INTEGER, INTENT(in) ::   kt   ! ocean time-step index 
     
    296291      INTEGER  ::   it, itmod        ! local integers 
    297292      REAL(wp) ::   zmean            ! local scalars 
    298       !!---------------------------------------------------------------------- 
    299  
    300       IF( wrk_in_use(2, 1,2) ) THEN 
    301          CALL ctl_stop('trd_vor: requested workspace arrays unavailable.')   ;   RETURN 
    302       ENDIF 
     293      REAL(wp), POINTER, DIMENSION(:,:) :: zun, zvn 
     294      !!---------------------------------------------------------------------- 
     295 
     296      CALL wrk_alloc( jpi, jpj, zun, zvn )                                    
    303297 
    304298      !  ================= 
     
    467461      IF( kt == nitend )   CALL histclo( nidvor ) 
    468462      ! 
    469       IF( wrk_not_released(2, 1,2) )   CALL ctl_stop('trd_vor: failed to release workspace arrays') 
     463      CALL wrk_dealloc( jpi, jpj, zun, zvn )                                    
    470464      ! 
    471465   END SUBROUTINE trd_vor 
Note: See TracChangeset for help on using the changeset viewer.