Index: branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/OFF_SRC/dommsk.F90
===================================================================
--- branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/OFF_SRC/dommsk.F90	(revision 3119)
+++ branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/OFF_SRC/dommsk.F90	(revision 3149)
@@ -14,4 +14,5 @@
    USE lib_mpp         ! MPP library
    USE in_out_manager  ! I/O manager
+   USE wrk_nemo_2
 
    IMPLICIT NONE
@@ -46,15 +47,12 @@
       !!               tpol     : ???
       !!----------------------------------------------------------------------
-      USE wrk_nemo, ONLY:   iwrk_in_use, iwrk_not_released
-      USE wrk_nemo, ONLY:   imsk => iwrk_2d_1
       !
       INTEGER  ::   ji, jk                   ! dummy loop indices
       INTEGER  ::   iif, iil, ijf, ijl       ! local integers
+      INTEGER, POINTER, DIMENSION(:,:) ::  imsk 
       !
       !!---------------------------------------------------------------------
       
-      IF( iwrk_in_use(2, 1) ) THEN
-         CALL ctl_stop('dom_msk: requested workspace arrays unavailable')   ;   RETURN
-      ENDIF
+      CALL wrk_alloc( jpi, jpj, imsk )
       !
       ! Interior domain mask (used for global sum)
@@ -99,5 +97,5 @@
       ENDIF
       !
-      IF( iwrk_not_released(2, 1) )   CALL ctl_stop('dom_msk: failed to release workspace arrays')
+      CALL wrk_dealloc( jpi, jpj, imsk )
       !
    END SUBROUTINE dom_msk
Index: branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/OFF_SRC/domrea.F90
===================================================================
--- branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/OFF_SRC/domrea.F90	(revision 3119)
+++ branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/OFF_SRC/domrea.F90	(revision 3149)
@@ -19,5 +19,5 @@
    USE lib_mpp 
    USE in_out_manager
-   USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released
+   USE wrk_nemo_2
 
    IMPLICIT NONE
@@ -56,9 +56,9 @@
       !!----------------------------------------------------------------------
       USE iom
-      USE wrk_nemo, ONLY: zmbk => wrk_2d_1, zprt => wrk_2d_2, zprw => wrk_2d_3
       !!
       INTEGER  ::   ji, jj, jk   ! dummy loop indices
       INTEGER  ::   ik, inum0 , inum1 , inum2 , inum3 , inum4   ! local integers
       REAL(wp) ::   zrefdep         ! local real
+      REAL(wp), POINTER, DIMENSION(:,:) :: zmbk, zprt, zprw
       !!----------------------------------------------------------------------
 
@@ -67,7 +67,5 @@
       IF(lwp) WRITE(numout,*) '~~~~~~~'
 
-      IF( wrk_in_use(2, 1,2,3)  ) THEN
-         CALL ctl_stop('dom_rea: ERROR: requested workspace arrays unavailable.') ; RETURN
-      END IF
+      CALL wrk_alloc( jpi, jpj, zmbk, zprt, zprw )
 
       zmbk(:,:) = 0._wp
@@ -331,5 +329,5 @@
       END SELECT
       !
-      IF( wrk_not_released(2, 1,2,3)  ) CALL ctl_stop('dom_rea:failed to release workspace arrays.')
+      CALL wrk_dealloc( jpi, jpj, zmbk, zprt, zprw )
       !
    END SUBROUTINE dom_rea
@@ -346,7 +344,7 @@
       !! ** Action  : - update mbathy: level bathymetry (in level index)
       !!----------------------------------------------------------------------
-      USE wrk_nemo, ONLY: zmbk => wrk_2d_4
       !
       INTEGER ::   ji, jj   ! dummy loop indices
+      REAL(wp), POINTER, DIMENSION(:,:) :: zmbk
       !!----------------------------------------------------------------------
 
@@ -356,7 +354,5 @@
       IF(lwp) WRITE(numout,*) '    ~~~~~~~~~~~~~'
       !
-      IF( wrk_in_use(2, 4) ) THEN
-         CALL ctl_stop('dom_rea: ERROR: requested workspace arrays unavailable.')  ;  RETURN
-      END IF
+      CALL wrk_alloc( jpi, jpj, zmbk )
       !
       mbkt(:,:) = MAX( mbathy(:,:) , 1 )    ! bottom k-index of T-level (=1 over land)
@@ -372,5 +368,5 @@
       zmbk(:,:) = REAL( mbkv(:,:), wp )   ;   CALL lbc_lnk(zmbk,'V',1.)   ;   mbkv  (:,:) = MAX( INT( zmbk(:,:) ), 1 )
       !
-      IF( wrk_not_released(2, 4) ) CALL ctl_stop('dom_rea:failed to release workspace arrays.')
+      CALL wrk_dealloc( jpi, jpj, zmbk )
       !
    END SUBROUTINE zgr_bot_level
