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 2633 for branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/wrk_nemo.F90 – NEMO

Ignore:
Timestamp:
2011-02-28T18:23:23+01:00 (13 years ago)
Author:
trackstand2
Message:

Renamed wrk_use => wrk_in_use and wrk_release => wrk_not_released

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/wrk_nemo.F90

    r2632 r2633  
    1313 
    1414   PUBLIC wrk_alloc   ! routine called in nemogcm module (nemo_init routine) 
    15    PUBLIC wrk_use,     llwrk_use,     iwrk_use,     wrk_use_xz 
    16    PUBLIC wrk_release, llwrk_release, iwrk_release, wrk_release_xz 
     15   PUBLIC wrk_in_use, llwrk_in_use, iwrk_in_use, wrk_in_use_xz 
     16   PUBLIC wrk_not_released, llwrk_not_released, iwrk_not_released, wrk_not_released_xz 
    1717 
    1818   INTEGER, PARAMETER :: num_1d_wrkspaces  = 27   ! No. of 1D workspace arrays ( MAX(jpi*jpj,jpi*jpk,jpj*jpk) ) 
     
    190190 
    191191 
    192    FUNCTION wrk_use( kdim,    index1,  index2,  index3,  index4,    & 
    193       &              index5,  index6,  index7,  index8,  index9,    & 
    194       &              index10, index11, index12, index13, index14,   & 
    195       &              index15, index16, index17, index18, index19,   & 
    196       &              index20, index21, index22, index23, index24,   & 
    197       &              index25, index26, index27) 
    198       !!---------------------------------------------------------------------- 
    199       !!                   ***  FUNCTION wrk_use  *** 
     192   FUNCTION wrk_in_use( kdim,    index1,  index2,  index3,  index4,    & 
     193      &                 index5,  index6,  index7,  index8,  index9,    & 
     194      &                 index10, index11, index12, index13, index14,   & 
     195      &                 index15, index16, index17, index18, index19,   & 
     196      &                 index20, index21, index22, index23, index24,   & 
     197      &                 index25, index26, index27) 
     198      !!---------------------------------------------------------------------- 
     199      !!                   ***  FUNCTION wrk_in_use  *** 
    200200      !! 
    201201      !! ** Purpose :   Request a set of KIND(wp) workspaces to use. Returns  
     
    210210      INTEGER, OPTIONAL, INTENT(in) ::   index21, index22, index23, index24, index25, index26, index27 
    211211      ! 
    212       LOGICAL ::   wrk_use      ! Return value 
     212      LOGICAL ::   wrk_in_use      ! Return value 
    213213      INTEGER ::   iarg, iptr   ! local integer 
    214214      !!---------------------------------------------------------------------- 
    215215 
    216       wrk_use = .TRUE. 
     216      wrk_in_use = .TRUE. 
    217217      iptr    = index1 
    218218      iarg    = 1 
    219219       
    220       DO WHILE( wrk_use .AND. iarg <= max_num_wrkspaces ) 
     220      DO WHILE( wrk_in_use .AND. iarg <= max_num_wrkspaces ) 
    221221         ! 
    222222         IF( kdim == 1 ) THEN 
    223223            IF( iptr > num_1d_wrkspaces ) THEN 
    224                CALL wrk_stop('wrk_use - more 1D workspace arrays requested than defined in wrk_nemo module') 
    225                wrk_use = .FALSE. 
     224               CALL wrk_stop('wrk_in_use - more 1D workspace arrays requested than defined in wrk_nemo module') 
     225               wrk_in_use = .FALSE. 
    226226               EXIT 
    227227            ELSEIF( in_use_1d(iptr) ) THEN 
    228                wrk_use = .FALSE. 
     228               wrk_in_use = .FALSE. 
    229229               CALL print_in_use_list(1, REAL_TYPE, in_use_1d) 
    230230            ENDIF 
     
    233233         ELSEIF( kdim == 2 ) THEN 
    234234            IF( iptr > num_2d_wrkspaces ) THEN 
    235                CALL wrk_stop('wrk_use - more 2D workspace arrays requested than defined in wrk_nemo module') 
    236                wrk_use = .FALSE. 
     235               CALL wrk_stop('wrk_in_use - more 2D workspace arrays requested than defined in wrk_nemo module') 
     236               wrk_in_use = .FALSE. 
    237237               EXIT 
    238238            ELSEIF( in_use_2d(iptr) ) THEN 
    239                wrk_use = .FALSE. 
     239               wrk_in_use = .FALSE. 
    240240               CALL print_in_use_list(2, REAL_TYPE, in_use_2d) 
    241241            ENDIF 
     
    244244         ELSEIF( kdim == 3 ) THEN 
    245245            IF( iptr > num_3d_wrkspaces ) THEN 
    246                CALL wrk_stop( 'wrk_use - more 3D workspace arrays requested than defined in wrk_nemo module' ) 
    247                wrk_use = .FALSE. 
     246               CALL wrk_stop( 'wrk_in_use - more 3D workspace arrays requested than defined in wrk_nemo module' ) 
     247               wrk_in_use = .FALSE. 
    248248               EXIT 
    249249            ELSEIF( in_use_3d(iptr) ) THEN 
    250                wrk_use = .FALSE. 
     250               wrk_in_use = .FALSE. 
    251251               CALL print_in_use_list(3, REAL_TYPE, in_use_3d) 
    252252            ENDIF 
     
    255255         ELSEIF( kdim == 4 ) THEN 
    256256            IF(iptr > num_4d_wrkspaces)THEN 
    257                CALL wrk_stop( 'wrk_use - more 4D workspace arrays requested than defined in wrk_nemo module' ) 
    258                wrk_use = .FALSE. 
     257               CALL wrk_stop( 'wrk_in_use - more 4D workspace arrays requested than defined in wrk_nemo module' ) 
     258               wrk_in_use = .FALSE. 
    259259               EXIT 
    260260            ELSEIF( in_use_4d(iptr) ) THEN 
    261                wrk_use = .FALSE. 
     261               wrk_in_use = .FALSE. 
    262262               CALL print_in_use_list( 4, REAL_TYPE, in_use_4d ) 
    263263            ENDIF 
     
    266266            ! 
    267267         ELSE  
    268             IF(llwp) WRITE(kumout,*) 'wrk_use: unsupported value of kdim = ',kdim 
    269             CALL wrk_stop( 'wrk_use: unrecognised value for number of dimensions' ) 
     268            IF(llwp) WRITE(kumout,*) 'wrk_in_use: unsupported value of kdim = ',kdim 
     269            CALL wrk_stop( 'wrk_in_use: unrecognised value for number of dimensions' ) 
    270270         END IF 
    271271 
     
    280280            EXIT 
    281281         ELSEIF( iarg == -99 ) THEN 
    282             CALL wrk_stop( 'wrk_use : caught unexpected argument count - BUG' ) 
     282            CALL wrk_stop( 'wrk_in_use : caught unexpected argument count - BUG' ) 
    283283            EXIT 
    284284         END IF 
     
    286286      END DO ! end of DO WHILE() 
    287287      ! 
    288     END FUNCTION wrk_use 
    289  
    290  
    291    FUNCTION llwrk_use( kdim,   index1, index2, index3, index4,   & 
    292       &                index5, index6, index7, index8, index9) 
    293       !!---------------------------------------------------------------------- 
    294       !!                   ***  FUNCTION llwrk_use  *** 
     288    END FUNCTION wrk_in_use 
     289 
     290 
     291   FUNCTION llwrk_in_use( kdim,   index1, index2, index3, index4,   & 
     292      &                   index5, index6, index7, index8, index9) 
     293      !!---------------------------------------------------------------------- 
     294      !!                   ***  FUNCTION llwrk_in_use  *** 
    295295      !! 
    296296      !! ** Purpose :   Request a set of LOGICAL workspaces to use. Returns  
     
    303303      INTEGER, OPTIONAL, INTENT(in) :: index2, index3, index4, index5, index6, index7, index8, index9 
    304304      ! 
    305       LOGICAL ::   llwrk_use     ! Return value 
     305      LOGICAL ::   llwrk_in_use  ! Return value 
    306306      INTEGER ::   iarg, iptr    ! local integers 
    307307      !!---------------------------------------------------------------------- 
    308308      ! 
    309       llwrk_use = .TRUE. 
     309      llwrk_in_use = .TRUE. 
    310310      iptr      = index1 
    311311      iarg      = 1 
    312312      ! 
    313       DO WHILE( llwrk_use .AND. iarg <= max_num_wrkspaces ) 
     313      DO WHILE( llwrk_in_use .AND. iarg <= max_num_wrkspaces ) 
    314314         ! 
    315315         IF( kdim == 2 ) THEN 
    316316            IF(iptr > num_2d_lwrkspaces)THEN 
    317                CALL wrk_stop('llwrk_use - more 2D workspace arrays requested than defined in wrk_nemo module') 
    318                llwrk_use = .FALSE. 
     317               CALL wrk_stop('llwrk_in_use - more 2D workspace arrays requested than defined in wrk_nemo module') 
     318               llwrk_in_use = .FALSE. 
    319319               EXIT 
    320320            ELSE IF( in_use_2dll(iptr) )THEN 
    321                llwrk_use = .FALSE. 
     321               llwrk_in_use = .FALSE. 
    322322               CALL print_in_use_list(2, REAL_TYPE, in_use_2d) 
    323323            END IF 
     
    327327            ! 
    328328            IF(iptr > num_3d_lwrkspaces)THEN 
    329                CALL wrk_stop('llwrk_use - more 3D workspace arrays requested than defined in wrk_nemo module') 
    330                llwrk_use = .FALSE. 
     329               CALL wrk_stop('llwrk_in_use - more 3D workspace arrays requested than defined in wrk_nemo module') 
     330               llwrk_in_use = .FALSE. 
    331331               EXIT 
    332332            ELSE IF( in_use_3dll(iptr) )THEN 
    333                llwrk_use = .FALSE. 
     333               llwrk_in_use = .FALSE. 
    334334               CALL print_in_use_list(3, REAL_TYPE, in_use_3d) 
    335335            END IF 
     
    337337            in_use_3dll(iptr) = .TRUE. 
    338338         ELSE  
    339             IF(llwp) WRITE(kumout,*) 'llwrk_use: unsupported value of kdim = ',kdim 
    340             CALL wrk_stop('llwrk_use: unrecognised value for number of dimensions') 
     339            IF(llwp) WRITE(kumout,*) 'llwrk_in_use: unsupported value of kdim = ',kdim 
     340            CALL wrk_stop('llwrk_in_use: unrecognised value for number of dimensions') 
    341341         END IF 
    342342 
     
    347347            EXIT 
    348348         ELSEIF( iarg == -99 ) THEN 
    349             CALL wrk_stop( 'llwrk_use - ERROR, caught unexpected argument count - BUG' ) 
    350             EXIT 
    351          ENDIF 
    352          ! 
    353       END DO ! while(llwrk_use .AND. iarg <= max_num_wrkspaces) 
    354       ! 
    355    END FUNCTION llwrk_use 
    356  
    357  
    358    FUNCTION iwrk_use( kdim, index1, index2, index3, index4,   & 
    359       &                     index5, index6, index7 ) 
    360       !!---------------------------------------------------------------------- 
    361       !!                   ***  FUNCTION iwrk_use  *** 
     349            CALL wrk_stop( 'llwrk_in_use - ERROR, caught unexpected argument count - BUG' ) 
     350            EXIT 
     351         ENDIF 
     352         ! 
     353      END DO ! while(llwrk_in_use .AND. iarg <= max_num_wrkspaces) 
     354      ! 
     355   END FUNCTION llwrk_in_use 
     356 
     357 
     358   FUNCTION iwrk_in_use( kdim, index1, index2, index3, index4,   & 
     359      &                        index5, index6, index7 ) 
     360      !!---------------------------------------------------------------------- 
     361      !!                   ***  FUNCTION iwrk_in_use  *** 
    362362      !! 
    363363      !! ** Purpose :   Request a set of INTEGER workspaces to use. Returns  
     
    370370      INTEGER, OPTIONAL, INTENT(in) ::   index2, index3, index4, index5, index6, index7 
    371371      ! 
    372       LOGICAL             :: iwrk_use    ! Return value 
     372      LOGICAL             :: iwrk_in_use    ! Return value 
    373373      INTEGER :: iarg, iptr 
    374374      !!---------------------------------------------------------------------- 
    375375 
    376       iwrk_use = .TRUE. 
     376      iwrk_in_use = .TRUE. 
    377377      iptr     = index1 
    378378      iarg     = 1 
    379379       
    380       DO WHILE( iwrk_use .AND. iarg <= max_num_wrkspaces ) 
     380      DO WHILE( iwrk_in_use .AND. iarg <= max_num_wrkspaces ) 
    381381         ! 
    382382         IF( kdim == 2 ) THEN 
    383383            IF( iptr > num_2d_wrkspaces ) THEN 
    384                CALL wrk_stop( 'wrk_use - more 2D workspace arrays requested than defined in wrk_nemo module' ) 
    385                iwrk_use = .FALSE. 
     384               CALL wrk_stop( 'wrk_in_use - more 2D workspace arrays requested than defined in wrk_nemo module' ) 
     385               iwrk_in_use = .FALSE. 
    386386            ELSEIF( in_use_2di(iptr) ) THEN 
    387                iwrk_use = .FALSE. 
     387               iwrk_in_use = .FALSE. 
    388388               CALL print_in_use_list( 2, INTEGER_TYPE, in_use_2di ) 
    389389            END IF 
     
    391391            ! 
    392392         ELSE 
    393             IF(llwp) WRITE(kumout,*) 'iwrk_use: unsupported value of kdim = ',kdim 
    394             CALL wrk_stop('iwrk_use: unsupported value for number of dimensions') 
     393            IF(llwp) WRITE(kumout,*) 'iwrk_in_use: unsupported value of kdim = ',kdim 
     394            CALL wrk_stop('iwrk_in_use: unsupported value for number of dimensions') 
    395395         END IF 
    396396 
     
    424424            EXIT 
    425425         CASE DEFAULT 
    426             CALL wrk_stop( 'iwrk_use : caught unexpected argument count - BUG' ) 
     426            CALL wrk_stop( 'iwrk_in_use : caught unexpected argument count - BUG' ) 
    427427            EXIT 
    428428         END SELECT 
     
    430430      END DO ! end of DO WHILE() 
    431431      ! 
    432     END FUNCTION iwrk_use 
    433  
    434  
    435    FUNCTION wrk_use_xz( index1, index2, index3, index4,   & 
    436       &                 index5, index6, index7, index8, index9 ) 
    437       !!---------------------------------------------------------------------- 
    438       !!                   ***  FUNCTION wrk_use_xz  *** 
     432    END FUNCTION iwrk_in_use 
     433 
     434 
     435   FUNCTION wrk_in_use_xz( index1, index2, index3, index4,   & 
     436      &                    index5, index6, index7, index8, index9 ) 
     437      !!---------------------------------------------------------------------- 
     438      !!                   ***  FUNCTION wrk_in_use_xz  *** 
    439439      !! 
    440440      !! ** Purpose :   Request a set of 2D, xz (jpi,jpk) workspaces to use.  
     
    447447      INTEGER, OPTIONAL, INTENT(in) :: index2, index3, index4, index5, index6, index7, index8, index9 
    448448      ! Local variables 
    449       LOGICAL ::   wrk_use_xz   ! Return value 
    450       INTEGER ::   iarg, iptr   ! local integer 
    451       !!---------------------------------------------------------------------- 
    452  
    453       wrk_use_xz = .TRUE. 
     449      LOGICAL ::   wrk_in_use_xz   ! Return value 
     450      INTEGER ::   iarg, iptr      ! local integer 
     451      !!---------------------------------------------------------------------- 
     452 
     453      wrk_in_use_xz = .TRUE. 
    454454      iptr       = index1 
    455455      iarg       = 1 
    456456        
    457       DO WHILE( wrk_use_xz .AND. iarg <= max_num_wrkspaces ) 
     457      DO WHILE( wrk_in_use_xz .AND. iarg <= max_num_wrkspaces ) 
    458458         ! 
    459459         IF(iptr > num_xz_wrkspaces)THEN 
    460             CALL wrk_stop('wrk_use_xz - more 2D xz workspace arrays requested than defined in wrk_nemo module') 
    461             wrk_use_xz = .FALSE. 
     460            CALL wrk_stop('wrk_in_use_xz - more 2D xz workspace arrays requested than defined in wrk_nemo module') 
     461            wrk_in_use_xz = .FALSE. 
    462462            EXIT 
    463463         ELSE IF( in_use_xz(iptr) )THEN 
    464             wrk_use_xz = .FALSE. 
     464            wrk_in_use_xz = .FALSE. 
    465465            CALL print_in_use_list(2, REAL_TYPE, in_use_xz) !ARPDBG - bug 
    466466         END IF 
     
    474474            EXIT 
    475475         ELSEIF( iarg == -99 ) THEN 
    476             CALL wrk_stop( 'wrk_use_xz : caught unexpected argument count - BUG' )   ;   EXIT 
     476            CALL wrk_stop( 'wrk_in_use_xz : caught unexpected argument count - BUG' )   ;   EXIT 
    477477         END IF 
    478478         ! 
    479       END DO ! while(wrk_use_xz .AND. iarg <= max_num_wrkspaces) 
    480       ! 
    481    END FUNCTION wrk_use_xz 
    482  
    483  
    484    FUNCTION wrk_release( kdim,    index1,  index2,  index3,  index4,  & 
    485       &                  index5,  index6,  index7,  index8,  index9,  & 
    486       &                  index10, index11, index12, index13, index14, & 
    487       &                  index15, index16, index17, index18, index19, & 
    488       &                  index20, index21, index22, index23, index24, & 
    489       &                  index25, index26, index27) 
    490       !!---------------------------------------------------------------------- 
    491       !!                 ***  FUNCTION wrk_release  *** 
     479      END DO ! while(wrk_in_use_xz .AND. iarg <= max_num_wrkspaces) 
     480      ! 
     481   END FUNCTION wrk_in_use_xz 
     482 
     483 
     484   FUNCTION wrk_not_released( kdim,    index1,  index2,  index3,  index4,  & 
     485      &                       index5,  index6,  index7,  index8,  index9,  & 
     486      &                       index10, index11, index12, index13, index14, & 
     487      &                       index15, index16, index17, index18, index19, & 
     488      &                       index20, index21, index22, index23, index24, & 
     489      &                       index25, index26, index27) 
     490      !!---------------------------------------------------------------------- 
     491      !!                 ***  FUNCTION wrk_not_released  *** 
    492492      !! 
    493493      !! ** Purpose :   Flag that the specified workspace arrays are no-longer in use. 
    494494      !!---------------------------------------------------------------------- 
    495       LOGICAL             :: wrk_release ! Return value 
     495      LOGICAL             :: wrk_not_released ! Return value 
    496496      INTEGER, INTENT(in) :: kdim             ! Dimensionality of workspace(s) 
    497497      INTEGER, INTENT(in) :: index1           ! Index of 1st workspace to release 
     
    503503      !!---------------------------------------------------------------------- 
    504504 
    505       wrk_release = .TRUE. 
     505      wrk_not_released = .TRUE. 
    506506      iptr = index1 
    507507      iarg = 1 
     
    511511         IF( kdim == 1 ) THEN 
    512512            IF( iptr > num_1d_wrkspaces ) THEN 
    513                CALL wrk_stop( 'wrk_release : attempt to release a non-existent 1D workspace array' ) 
    514                wrk_release = .FALSE. 
     513               CALL wrk_stop( 'wrk_not_released : attempt to release a non-existent 1D workspace array' ) 
     514               wrk_not_released = .FALSE. 
    515515            ELSE 
    516516               in_use_1d(iptr) = .FALSE. 
     
    519519         ELSE IF(kdim == 2)THEN 
    520520            IF( iptr > num_2d_wrkspaces ) THEN 
    521                CALL wrk_stop( 'wrk_release : attempt to release a non-existent 2D workspace array' ) 
    522                wrk_release = .FALSE. 
     521               CALL wrk_stop( 'wrk_not_released : attempt to release a non-existent 2D workspace array' ) 
     522               wrk_not_released = .FALSE. 
    523523            ENDIF 
    524524            in_use_2d(iptr) = .FALSE. 
     
    526526         ELSEIF( kdim == 3 ) THEN 
    527527            IF( iptr > num_3d_wrkspaces ) THEN 
    528                CALL wrk_stop('wrk_release : attempt to release a non-existent 3D workspace array') 
    529                wrk_release = .FALSE. 
     528               CALL wrk_stop('wrk_not_released : attempt to release a non-existent 3D workspace array') 
     529               wrk_not_released = .FALSE. 
    530530            END IF 
    531531            in_use_3d(iptr) = .FALSE. 
     
    533533          ELSEIF( kdim == 4 ) THEN 
    534534            IF(iptr > num_4d_wrkspaces)THEN 
    535                CALL wrk_stop('wrk_release - ERROR - attempt to release a non-existent 4D workspace array') 
    536                wrk_release = .FALSE. 
     535               CALL wrk_stop('wrk_not_released - ERROR - attempt to release a non-existent 4D workspace array') 
     536               wrk_not_released = .FALSE. 
    537537            END IF 
    538538            in_use_4d(iptr) = .FALSE. 
    539539            ! 
    540540         ELSE  
    541             IF(llwp) WRITE(kumout,*) 'wrk_release: unsupported value of kdim = ',kdim 
    542             CALL wrk_stop('wrk_release: unrecognised value for number of dimensions') 
     541            IF(llwp) WRITE(kumout,*) 'wrk_not_released: unsupported value of kdim = ',kdim 
     542            CALL wrk_stop('wrk_not_released: unrecognised value for number of dimensions') 
    543543         ENDIF 
    544544          
     
    555555            EXIT 
    556556         ELSEIF( iarg == -99 ) THEN 
    557              CALL wrk_stop('wrk_release - caught unexpected argument count - BUG')   ;   EXIT 
     557             CALL wrk_stop('wrk_not_released - caught unexpected argument count - BUG')   ;   EXIT 
    558558         END IF 
    559559         ! 
    560560      END DO ! end of DO WHILE() 
    561561      ! 
    562    END FUNCTION wrk_release 
    563  
    564  
    565    FUNCTION llwrk_release( kdim, index1, index2, index3, index4, index5,   & 
    566       &                          index6, index7, index8, index9 ) 
    567       !!---------------------------------------------------------------------- 
    568       !!                 ***  FUNCTION wrk_release  *** 
     562   END FUNCTION wrk_not_released 
     563 
     564 
     565   FUNCTION llwrk_not_released( kdim, index1, index2, index3, index4, index5,   & 
     566      &                               index6, index7, index8, index9 ) 
     567      !!---------------------------------------------------------------------- 
     568      !!                 ***  FUNCTION wrk_not_released  *** 
    569569      !!---------------------------------------------------------------------- 
    570570      INTEGER          , INTENT(in) ::   kdim             ! Dimensionality of workspace(s) 
     
    572572      INTEGER, OPTIONAL, INTENT(in) ::   index2, index3, index4, index5, index6, index7, index8, index9 
    573573      ! 
    574       LOGICAL ::   llwrk_release   ! Return value 
    575       INTEGER ::   iarg, iptr      ! local integer 
    576       !!---------------------------------------------------------------------- 
    577       ! 
    578       llwrk_release = .TRUE. 
     574      LOGICAL ::   llwrk_not_released   ! Return value 
     575      INTEGER ::   iarg, iptr           ! local integer 
     576      !!---------------------------------------------------------------------- 
     577      ! 
     578      llwrk_not_released = .TRUE. 
    579579      iptr = index1 
    580580      iarg = 1 
     
    585585            ! 
    586586            IF( iptr > num_2d_lwrkspaces ) THEN 
    587                CALL wrk_stop( 'llwrk_release : attempt to release a non-existent 2D workspace array' ) 
    588                llwrk_release = .FALSE. 
     587               CALL wrk_stop( 'llwrk_not_released : attempt to release a non-existent 2D workspace array' ) 
     588               llwrk_not_released = .FALSE. 
    589589               EXIT 
    590590            ENDIF 
     
    593593         ELSEIF( kdim == 3 ) THEN 
    594594            IF( iptr > num_3d_lwrkspaces ) THEN 
    595                CALL wrk_stop('llwrk_release : attempt to release a non-existent 3D workspace array') 
    596                llwrk_release = .FALSE. 
     595               CALL wrk_stop('llwrk_not_released : attempt to release a non-existent 3D workspace array') 
     596               llwrk_not_released = .FALSE. 
    597597               EXIT 
    598598            ENDIF 
     
    600600            ! 
    601601         ELSE  
    602             IF(llwp) WRITE(kumout,*) 'llwrk_release: unsupported value of kdim = ', kdim 
    603             CALL wrk_stop( 'llwrk_release : unrecognised value for number of dimensions' ) 
     602            IF(llwp) WRITE(kumout,*) 'llwrk_not_released: unsupported value of kdim = ', kdim 
     603            CALL wrk_stop( 'llwrk_not_released : unrecognised value for number of dimensions' ) 
    604604         END IF 
    605605         ! 
     
    611611             EXIT 
    612612         ELSEIF( iarg == -99 ) THEN 
    613             CALL wrk_stop( 'llwrk_release : caught unexpected argument count - BUG' )   ;   EXIT 
     613            CALL wrk_stop( 'llwrk_not_released : caught unexpected argument count - BUG' )   ;   EXIT 
    614614         ENDIF 
    615615         ! 
    616616      END DO ! while (iarg <= max_num_wrkspaces) 
    617617      ! 
    618    END FUNCTION llwrk_release 
    619  
    620  
    621    FUNCTION iwrk_release( kdim, index1, index2, index3, index4,   & 
    622       &                         index5, index6, index7 ) 
    623       !!---------------------------------------------------------------------- 
    624       !!                 ***  FUNCTION iwrk_release  *** 
     618   END FUNCTION llwrk_not_released 
     619 
     620 
     621   FUNCTION iwrk_not_released( kdim, index1, index2, index3, index4,   & 
     622      &                              index5, index6, index7 ) 
     623      !!---------------------------------------------------------------------- 
     624      !!                 ***  FUNCTION iwrk_not_released  *** 
    625625      !! 
    626626      !! ** Purpose :   Flag that the specified INTEGER workspace arrays are 
     
    631631      INTEGER, OPTIONAL, INTENT(in) :: index2, index3, index4, index5, index6, index7 
    632632      ! 
    633       LOGICAL :: iwrk_release   ! Return value 
    634       INTEGER :: iarg, iptr     ! local integer 
    635       !!---------------------------------------------------------------------- 
    636       ! 
    637       iwrk_release = .TRUE. 
     633      LOGICAL :: iwrk_not_released   ! Return value 
     634      INTEGER :: iarg, iptr          ! local integer 
     635      !!---------------------------------------------------------------------- 
     636      ! 
     637      iwrk_not_released = .TRUE. 
    638638      iptr         = index1 
    639639      iarg         = 1 
     
    643643         IF( kdim == 2 ) THEN 
    644644            IF( iptr > num_2d_iwrkspaces ) THEN 
    645                CALL wrk_stop('iwrk_release : attempt to release a non-existant 2D workspace array') 
    646                iwrk_release = .FALSE. 
     645               CALL wrk_stop('iwrk_not_released : attempt to release a non-existant 2D workspace array') 
     646               iwrk_not_released = .FALSE. 
    647647            ENDIF 
    648648            in_use_2di(iptr) = .FALSE. 
    649649         ELSE  
    650             IF(llwp) WRITE(kumout,*) 'iwrk_release: unsupported value of kdim = ',kdim 
    651             CALL wrk_stop('iwrk_release: unsupported value for number of dimensions') 
     650            IF(llwp) WRITE(kumout,*) 'iwrk_not_released: unsupported value of kdim = ',kdim 
     651            CALL wrk_stop('iwrk_not_released: unsupported value for number of dimensions') 
    652652         ENDIF 
    653653         ! 
     
    681681            EXIT 
    682682         CASE DEFAULT 
    683             CALL wrk_stop( 'iwrk_release : caught unexpected argument count - BUG' ) 
     683            CALL wrk_stop( 'iwrk_not_released : caught unexpected argument count - BUG' ) 
    684684            EXIT 
    685685         END SELECT 
     
    687687      END DO ! end of DO WHILE() 
    688688      ! 
    689    END FUNCTION iwrk_release 
    690  
    691  
    692    FUNCTION wrk_release_xz( index1, index2, index3, index4, index5,   & 
    693       &                     index6, index7, index8, index9 ) 
    694       !!---------------------------------------------------------------------- 
    695       !!                 ***  FUNCTION wrk_release_xz  *** 
     689   END FUNCTION iwrk_not_released 
     690 
     691 
     692   FUNCTION wrk_not_released_xz( index1, index2, index3, index4, index5,   & 
     693      &                          index6, index7, index8, index9 ) 
     694      !!---------------------------------------------------------------------- 
     695      !!                 ***  FUNCTION wrk_not_released_xz  *** 
    696696      !! 
    697697      !!---------------------------------------------------------------------- 
     
    699699      INTEGER, OPTIONAL, INTENT(in) :: index2, index3, index4, index5, index6, index7, index8, index9 
    700700      ! 
    701       LOGICAL ::   wrk_release_xz   ! Return value 
    702       INTEGER ::   iarg, iptr       ! local integer 
    703       !!---------------------------------------------------------------------- 
    704       ! 
    705       wrk_release_xz = .TRUE. 
     701      LOGICAL ::   wrk_not_released_xz   ! Return value 
     702      INTEGER ::   iarg, iptr            ! local integer 
     703      !!---------------------------------------------------------------------- 
     704      ! 
     705      wrk_not_released_xz = .TRUE. 
    706706      iptr           = index1 
    707707      iarg           = 1 
     
    710710         ! 
    711711         IF( iptr > num_xz_wrkspaces ) THEN 
    712             CALL wrk_stop('wrk_release_xz : attempt to release a non-existant 2D xz workspace array') 
    713             wrk_release_xz = .FALSE. 
     712            CALL wrk_stop('wrk_not_released_xz : attempt to release a non-existant 2D xz workspace array') 
     713            wrk_not_released_xz = .FALSE. 
    714714            EXIT 
    715715         ENDIF 
     
    723723            EXIT 
    724724         ELSEIF( iarg == -99 ) THEN 
    725             CALL wrk_stop('wrk_release_xz : caught unexpected argument count - BUG') 
     725            CALL wrk_stop('wrk_not_released_xz : caught unexpected argument count - BUG') 
    726726            EXIT 
    727727         END IF 
     
    729729      END DO ! while (iarg <= max_num_wrkspaces) 
    730730      ! 
    731    END FUNCTION wrk_release_xz 
     731   END FUNCTION wrk_not_released_xz 
    732732 
    733733 
Note: See TracChangeset for help on using the changeset viewer.