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 3147 – NEMO

Changeset 3147


Ignore:
Timestamp:
2011-11-17T17:28:03+01:00 (12 years ago)
Author:
cetlod
Message:

branch dev_NEMO_MERGE_2011:New dynamical allocation for TOP

Location:
branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC
Files:
18 edited

Legend:

Unmodified
Added
Removed
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/C14b/trcsms_c14b.F90

    r3116 r3147  
    2121   USE trdmod_trc 
    2222   USE iom           ! I/O library 
     23   USE wrk_nemo_2 
    2324 
    2425   IMPLICIT NONE 
     
    9495      !! 
    9596      !!---------------------------------------------------------------------- 
    96       USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
    97       USE wrk_nemo, ONLY:   zatmbc14 => wrk_2d_1 
    98       USE wrk_nemo, ONLY:   zdecay   => wrk_3d_1 
    9997      ! 
    10098      INTEGER, INTENT(in) ::   kt    ! ocean time-step index 
     
    113111      REAL(wp) :: zpv               ! piston velocity  
    114112      REAL(wp) :: zdemi, ztra 
    115       !!---------------------------------------------------------------------- 
    116  
    117       IF( wrk_in_use(2, 1) .OR. wrk_in_use(3, 1) ) THEN 
    118          CALL ctl_stop('trc_sms_c14b : requested workspace arrays unavailable')   ;   RETURN 
    119       ENDIF 
     113      REAL(wp), POINTER, DIMENSION(:,:  ) :: zatmbc14   
     114      REAL(wp), POINTER, DIMENSION(:,:,:) :: zdecay 
     115      !!--------------------------------------------------------------------- 
     116 
     117      ! Allocate temporary workspace 
     118      CALL wrk_alloc( jpi, jpj,      zatmbc14 ) 
     119      CALL wrk_alloc( jpi, jpj, jpk, zdecay   ) 
    120120 
    121121      IF( kt == nittrc000 )  THEN         ! Computation of decay coeffcient 
     
    284284      IF( l_trdtrc )  CALL trd_mod_trc( tra(:,:,:,jpc14), jpc14, jptra_trd_sms, kt )   ! save trends 
    285285 
    286       IF( wrk_not_released(2, 1) .OR.   & 
    287           wrk_not_released(3, 1) )   CALL ctl_stop('trc_sms_c14b : failed to release workspace arrays') 
     286      CALL wrk_dealloc( jpi, jpj,      zatmbc14 ) 
     287      CALL wrk_dealloc( jpi, jpj, jpk, zdecay   ) 
    288288      ! 
    289289   END SUBROUTINE trc_sms_c14b 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/LOBSTER/trcbio.F90

    r3116 r3147  
    2323   USE trdmod_trc 
    2424   USE iom 
     25   USE wrk_nemo_2 
    2526    
    2627   IMPLICIT NONE 
     
    6061      !!              for passive tracers are saved for futher diagnostics. 
    6162      !!--------------------------------------------------------------------- 
    62       USE wrk_nemo, ONLY: wrk_in_use,  wrk_not_released 
    63       USE wrk_nemo, ONLY: wrk_3d_2, wrk_4d_1 
    6463      !! 
    6564      INTEGER, INTENT( in ) ::   kt      ! ocean time-step index       
     
    8180 
    8281      IF( ln_diatrc ) THEN 
    83          IF( ( wrk_in_use(3, 2) ) .OR. ( wrk_in_use(4, 1) ) ) THEN 
    84             CALL ctl_stop('trc_bio : requested workspace arrays unavailable.')  ;  RETURN 
    85          END IF 
    86          ! Set-up pointers into sub-arrays of workspaces 
    87          zw2d => wrk_3d_2(:,:,1:17) 
    88          zw3d => wrk_4d_1(:,:,:,1:3) 
     82         CALL wrk_alloc( jpi, jpj,     17, zw2d ) 
     83         CALL wrk_alloc( jpi, jpj, jpk, 3, zw3d ) 
    8984      ENDIF 
    9085 
     
    441436      ENDIF 
    442437      ! 
    443       IF( ln_diatrc .AND. lk_iomput ) THEN 
    444          IF( ( wrk_not_released(3, 2) ) .OR. ( wrk_not_released(4, 1) ) )  & 
    445            &   CALL ctl_stop('trc_bio : failed to release workspace arrays.') 
     438      IF( ln_diatrc ) THEN 
     439         CALL wrk_dealloc( jpi, jpj,     17, zw2d ) 
     440         CALL wrk_dealloc( jpi, jpj, jpk, 3, zw3d ) 
    446441      ENDIF 
    447442      ! 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/LOBSTER/trcini_lobster.F90

    r2715 r3147  
    2121   USE trc 
    2222   USE lbclnk  
     23   USE wrk_nemo_2 
    2324 
    2425   IMPLICIT NONE 
     
    4041      !! ** purpose :   specific initialisation for LOBSTER bio-model 
    4142      !!---------------------------------------------------------------------- 
    42       USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
    43       USE wrk_nemo, ONLY:   zrro => wrk_2d_1 , zdm0 => wrk_3d_1 
    4443      !! 
    4544      INTEGER  ::   ji, jj, jk, jn 
    4645      REAL(wp) ::   ztest, zfluo, zfluu 
    47       !!---------------------------------------------------------------------- 
    48       ! 
    49       IF(  wrk_in_use(2, 1)  .OR.  wrk_in_use(3, 1)  )  THEN 
    50          CALL ctl_stop('trc_ini_lobster: requested workspace arrays unavailable')   ;  RETURN 
    51       ENDIF 
     46      REAL(wp), POINTER, DIMENSION(:,:  ) :: zrro 
     47      REAL(wp), POINTER, DIMENSION(:,:,:) :: zdm0 
     48      !!--------------------------------------------------------------------- 
     49 
     50      ! Allocate temporary workspace 
     51      CALL wrk_alloc( jpi, jpj,      zrro ) 
     52      CALL wrk_alloc( jpi, jpj, jpk, zdm0 ) 
     53 
    5254 
    5355      IF(lwp) WRITE(numout,*) 
     
    254256      IF(lwp) WRITE(numout,*) 'Initialization of LOBSTER tracers done' 
    255257      ! 
    256       IF(  wrk_not_released(2, 1)  .OR.   & 
    257            wrk_not_released(3, 1)   )   CALL ctl_stop('trc_ini_lobster: failed to release workspace arrays') 
     258      CALL wrk_dealloc( jpi, jpj,      zrro ) 
     259      CALL wrk_dealloc( jpi, jpj, jpk, zdm0 ) 
    258260      ! 
    259261   END SUBROUTINE trc_ini_lobster 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/LOBSTER/trcopt.F90

    r3116 r3147  
    2121   USE sms_lobster 
    2222   USE prtctl_trc      ! Print control for debbuging 
     23   USE wrk_nemo_2 
    2324 
    2425   IMPLICIT NONE 
     
    5253      !!                xze    ??? 
    5354      !!--------------------------------------------------------------------- 
    54       USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 
    55       USE wrk_nemo, ONLY: zpar100 => wrk_2d_1, & ! irradiance at euphotic layer depth 
    56                           zpar0m  => wrk_2d_2    ! irradiance just below the surface 
    57       USE wrk_nemo, ONLY: zparr => wrk_3d_2, &   ! red and green compound of par 
    58                           zparg => wrk_3d_3 
    5955      !! 
    6056      INTEGER, INTENT( in ) ::   kt   ! index of the time stepping 
     
    6561      REAL(wp) ::   zkr, zkg            ! total absorption coefficient in red and green 
    6662      REAL(wp) ::   zcoef               ! temporary scalar 
    67  
     63      REAL(wp), POINTER, DIMENSION(:,:  ) :: zpar100, zpar0m  
     64      REAL(wp), POINTER, DIMENSION(:,:,:) :: zparr, zparg 
    6865      !!--------------------------------------------------------------------- 
    6966 
    70       IF( ( wrk_in_use(2, 1,2)) .OR. ( wrk_in_use(3, 2,3)) )THEN 
    71          CALL ctl_stop('trc_opt : requested workspace arrays unavailable')   ;   RETURN 
    72       END IF 
     67      ! Allocate temporary workspace 
     68      CALL wrk_alloc( jpi, jpj,      zpar100, zpar0m ) 
     69      CALL wrk_alloc( jpi, jpj, jpk, zparr, zparg    ) 
    7370 
    7471      IF( kt == nittrc000 ) THEN 
     
    137134      ENDIF 
    138135      ! 
    139       IF( wrk_not_released(2, 1,2)  .OR.  wrk_not_released(3, 2,3)  )   & 
    140           CALL ctl_stop('trc_opt : failed to release workspace arrays') 
     136      CALL wrk_dealloc( jpi, jpj,      zpar100, zpar0m ) 
     137      CALL wrk_dealloc( jpi, jpj, jpk, zparr, zparg    ) 
    141138      ! 
    142139   END SUBROUTINE trc_opt 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/LOBSTER/trcsed.F90

    r3116 r3147  
    2222   USE iom 
    2323   USE prtctl_trc      ! Print control for debbuging 
     24   USE wrk_nemo_2 
    2425 
    2526   IMPLICIT NONE 
     
    5657      !!              trend of passive tracers is saved for futher diagnostics. 
    5758      !!--------------------------------------------------------------------- 
    58       USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 
    59       USE wrk_nemo, ONLY: zwork => wrk_3d_2, ztra => wrk_3d_3 
    60       USE wrk_nemo, ONLY: zw2d  => wrk_2d_1 
    6159      !! 
    6260      INTEGER, INTENT( in ) ::   kt      ! ocean time-step index       
    6361      !! 
    6462      INTEGER  ::   ji, jj, jk, jl, ierr 
    65       REAL(wp), DIMENSION(:,:,:), ALLOCATABLE ::  ztrbio 
    6663      CHARACTER (len=25) :: charout 
     64      REAL(wp), POINTER, DIMENSION(:,:  ) :: zw2d 
     65      REAL(wp), POINTER, DIMENSION(:,:,:) :: zwork, ztra, ztrbio 
    6766      !!--------------------------------------------------------------------- 
    6867 
     
    7372      ENDIF 
    7473 
    75       IF( wrk_in_use(2, 1) .OR. wrk_in_use(3, 2,3) ) THEN 
    76          CALL ctl_stop('trc_sed : requested workspace arrays unavailable.')  ;  RETURN 
    77       END IF 
     74      ! Allocate temporary workspace 
     75      CALL wrk_alloc( jpi, jpj, jpk, zwork, ztra ) 
    7876 
    79       IF( l_trdtrc )  THEN 
    80          ALLOCATE( ztrbio(jpi,jpj,jpk) , STAT = ierr )   ! temporary save of trends 
    81          IF( ierr > 0 ) THEN 
    82             CALL ctl_stop( 'trc_sed: unable to allocate ztrbio array' )   ;   RETURN 
    83          ENDIF 
     77      IF( ln_diatrc )  THEN 
     78         CALL wrk_alloc( jpi, jpj, zw2d ) 
     79      ENDIF 
     80 
     81      IF( l_trdtrc ) THEN 
     82         CALL wrk_alloc( jpi, jpj, jpk, ztrbio ) 
    8483         ztrbio(:,:,:) = tra(:,:,:,jp_lob_det) 
    8584      ENDIF 
    86  
    87       IF( ln_diatrc )  zw2d(:,:) = 0. 
    8885 
    8986      ! sedimentation of detritus  : upstream scheme 
     
    110107 
    111108      IF( ln_diatrc ) THEN  
    112          zw2d(:,:) = 0. 
    113109         DO jk = 1, jpkm1 
    114110            DO jj = 1, jpj 
     
    123119           trc2d(:,:,jp_lob0_2d + 7) = zw2d(:,:) 
    124120         ENDIF 
     121         CALL wrk_dealloc( jpi, jpj, zw2d ) 
    125122      ENDIF 
    126123      ! 
    127124      IF( ln_diabio )  trbio(:,:,:,jp_lob0_trd + 7) = ztra(:,:,:) 
     125      CALL wrk_dealloc( jpi, jpj, jpk, zwork, ztra ) 
    128126      ! 
    129127      IF( l_trdtrc ) THEN 
     
    131129         jl = jp_lob0_trd + 7 
    132130         CALL trd_mod_trc( ztrbio, jl, kt )   ! handle the trend 
    133          DEALLOCATE( ztrbio )  
     131         CALL wrk_dealloc( jpi, jpj, jpk, ztrbio ) 
    134132      ENDIF 
    135133 
     
    139137         CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm) 
    140138      ENDIF 
    141  
    142       IF( ( wrk_not_released(2, 1) ) .OR. ( wrk_not_released(3, 2,3) ) )  & 
    143        &         CALL ctl_stop('trc_sed : failed to release workspace arrays.') 
    144  
     139      ! 
    145140   END SUBROUTINE trc_sed 
    146141 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/MY_TRC/trcsms_my_trc.F90

    r2715 r3147  
    1818   USE trdmod_oce 
    1919   USE trdmod_trc 
     20   USE wrk_nemo_2      ! Memory allocation 
    2021 
    2122   IMPLICIT NONE 
     
    4243      !! ** Method  : -  
    4344      !!---------------------------------------------------------------------- 
    44       USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
    45       USE wrk_nemo, ONLY:   ztrmyt => wrk_3d_1   ! used for lobster sms trends 
    4645      ! 
    4746      INTEGER, INTENT(in) ::   kt   ! ocean time-step index 
     
    5352      IF(lwp) WRITE(numout,*) ' ~~~~~~~~~~~~~~' 
    5453 
     54      IF( l_trdtrc )  CALL wrk_alloc( jpi, jpj, jpk, ztrmyt )  
     55       
    5556      WHERE( (glamt <= 170) .AND. (glamt >= 160) .AND. (gphit <= -74) .AND. (gphit >=-75.6) ) 
    5657        trn(:,:,1,jpmyt1) = 1._wp 
     
    7071            CALL trd_mod_trc( ztrmyt, jn, jptra_trd_sms, kt )   ! save trends 
    7172          END DO 
     73          CALL wrk_dealloc( jpi, jpj, jpk, ztrmyt )  
    7274      END IF 
    7375      ! 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/PISCES/p4zflx.F90

    r3124 r3147  
    2929   USE sbc_oce, ONLY :  atm_co2     !  atmospheric pCO2                
    3030#endif 
     31   USE wrk_nemo_2 
    3132 
    3233   IMPLICIT NONE 
     
    8384      !!              - Add option for time-interpolation of atcco2.txt   
    8485      !!--------------------------------------------------------------------- 
    85       USE wrk_nemo, ONLY:  wrk_in_use, wrk_not_released 
    86       USE wrk_nemo, ONLY:  zkgco2 => wrk_2d_11 , zkgo2 => wrk_2d_12  
    87       USE wrk_nemo, ONLY:  zh2co3 => wrk_2d_13 , zoflx => wrk_2d_14  
    88       USE wrk_nemo, ONLY:    
    8986      ! 
    9087      INTEGER, INTENT(in) ::   kt   ! 
     
    9693      REAL(wp) ::   zyr_dec, zdco2dt 
    9794      CHARACTER (len=25) :: charout 
     95      REAL(wp), POINTER, DIMENSION(:,:) :: zkgco2, zkgo2, zh2co3, zoflx  
    9896      !!--------------------------------------------------------------------- 
    9997 
    100       IF( wrk_in_use(2, 11,12,13,14) ) THEN 
    101          CALL ctl_stop('p4z_flx: requested workspace arrays unavailable')   ;   RETURN 
    102       ENDIF 
     98 
     99      ! 
     100      CALL wrk_alloc( jpi, jpj, zkgco2, zkgo2, zh2co3, zoflx ) 
     101      ! 
    103102 
    104103      ! SURFACE CHEMISTRY (PCO2 AND [H+] IN 
     
    240239      ENDIF 
    241240      ! 
    242       IF( wrk_not_released(2, 11,12,13,14) ) CALL ctl_stop('p4z_flx: failed to release workspace arrays') 
     241      CALL wrk_dealloc( jpi, jpj, zkgco2, zkgo2, zh2co3, zoflx ) 
    243242      ! 
    244243   END SUBROUTINE p4z_flx 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/PISCES/p4zlys.F90

    r3124 r3147  
    2424   USE prtctl_trc      !  print control for debugging 
    2525   USE iom             !  I/O manager 
     26   USE wrk_nemo_2 
    2627 
    2728   IMPLICIT NONE 
     
    5859      !! ** Method  : - ??? 
    5960      !!--------------------------------------------------------------------- 
    60       USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 
    61       USE wrk_nemo, ONLY: zco3 => wrk_3d_2, zcaldiss => wrk_3d_3  
    6261      ! 
    6362      INTEGER, INTENT(in) ::   kt ! ocean time step 
     
    6867      REAL(wp) ::   zrfact2 
    6968      CHARACTER (len=25) :: charout 
     69      REAL(wp), POINTER, DIMENSION(:,:,:) :: zco3, zcaldiss    
    7070      !!--------------------------------------------------------------------- 
    71  
    72       IF(  wrk_in_use(3, 2,3) ) THEN 
    73          CALL ctl_stop('p4z_lys: requested workspace arrays unavailable')  ;  RETURN 
    74       END IF 
    75  
     71      ! 
     72      CALL wrk_alloc( jpi, jpj, jpk, zco3, zcaldiss ) 
     73      ! 
    7674      zco3    (:,:,:) = 0. 
    7775      zcaldiss(:,:,:) = 0. 
     
    163161      ENDIF 
    164162      ! 
    165        IF(ln_ctl)   THEN  ! print mean trends (used for debugging) 
    166          WRITE(charout, FMT="('lys ')") 
    167          CALL prt_ctl_trc_info(charout) 
    168          CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm) 
    169        ENDIF 
    170  
    171       IF( wrk_not_released(3, 2,3) ) CALL ctl_stop('p4z_lys: failed to release workspace arrays') 
     163      IF(ln_ctl)   THEN  ! print mean trends (used for debugging) 
     164        WRITE(charout, FMT="('lys ')") 
     165        CALL prt_ctl_trc_info(charout) 
     166        CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm) 
     167      ENDIF 
     168      ! 
     169      CALL wrk_dealloc( jpi, jpj, jpk, zco3, zcaldiss ) 
    172170      ! 
    173171   END SUBROUTINE p4z_lys 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/PISCES/p4zopt.F90

    r2977 r3147  
    1919   USE sms_pisces     ! Source Minus Sink of PISCES 
    2020   USE iom            ! I/O manager 
     21   USE wrk_nemo_2 
     22 
    2123 
    2224   IMPLICIT NONE 
     
    5355      !! ** Method  : - ??? 
    5456      !!--------------------------------------------------------------------- 
    55       USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
    56       USE wrk_nemo, ONLY:   zdepmoy => wrk_2d_1 , zetmp  => wrk_2d_2 
    57       USE wrk_nemo, ONLY:   zetmp1  => wrk_2d_3 , zetmp2 => wrk_2d_4 
    58       USE wrk_nemo, ONLY:   zekg    => wrk_3d_2 , zekr   => wrk_3d_3 , zekb => wrk_3d_4 
    59       USE wrk_nemo, ONLY:   ze0     => wrk_3d_5 , ze1    => wrk_3d_6 
    60       USE wrk_nemo, ONLY:   ze2     => wrk_3d_7 , ze3    => wrk_3d_8 
    6157      ! 
    6258      INTEGER, INTENT(in) ::   kt, jnt   ! ocean time step 
     
    6662      REAL(wp) ::   zchl, zxsi0r 
    6763      REAL(wp) ::   zc0 , zc1 , zc2, zc3, z1_dep 
     64      REAL(wp), POINTER, DIMENSION(:,:  ) :: zdepmoy, zetmp, zetmp1, zetmp2 
     65      REAL(wp), POINTER, DIMENSION(:,:,:) :: zekg, zekr, zekb, ze0, ze1, ze2, ze3 
    6866      !!--------------------------------------------------------------------- 
    6967 
    70       IF(  wrk_in_use(2, 1,2,3,4)   .OR.   wrk_in_use(3, 2,3,4,5,6,7,8)   ) THEN 
    71          CALL ctl_stop('p4z_opt: requested workspace arrays unavailable')   ;   RETURN 
    72       ENDIF 
     68      ! Allocate temporary workspace 
     69      CALL wrk_alloc( jpi, jpj,      zdepmoy, zetmp, zetmp1, zetmp2       ) 
     70      CALL wrk_alloc( jpi, jpj, jpk, zekg, zekr, zekb, ze0, ze1, ze2, ze3 ) 
    7371 
    7472      !     Initialisation of variables used to compute PAR 
     
    235233      ENDIF 
    236234      ! 
    237       IF( wrk_not_released(2, 1,2,3,4)           .OR.   & 
    238           wrk_not_released(3, 2,3,4,5,6,7,8)   )   CALL ctl_stop('p4z_opt: failed to release workspace arrays') 
     235      CALL wrk_dealloc( jpi, jpj,      zdepmoy, zetmp, zetmp1, zetmp2 ) 
     236      CALL wrk_dealloc( jpi, jpj, jpk, zekg, zekr, zekb, ze0, ze1, ze2, ze3 ) 
    239237      ! 
    240238   END SUBROUTINE p4z_opt 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/PISCES/p4zprod.F90

    r3124 r3147  
    2323   USE prtctl_trc      !  print control for debugging 
    2424   USE iom             !  I/O manager 
     25   USE wrk_nemo_2      !  Memory allocation 
     26 
    2527 
    2628   IMPLICIT NONE 
     
    7375      !! ** Method  : - ??? 
    7476      !!--------------------------------------------------------------------- 
    75       USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
    76       USE wrk_nemo, ONLY:   zmixnano   => wrk_2d_1 , zmixdiat    => wrk_2d_2, zstrn => wrk_2d_3 
    77       USE wrk_nemo, ONLY:   zpislopead => wrk_3d_2 , zpislopead2 => wrk_3d_3 
    78       USE wrk_nemo, ONLY:   zprdia     => wrk_3d_4 , zprbio      => wrk_3d_5  
    79       USE wrk_nemo, ONLY:   zprdch     => wrk_3d_6 , zprnch      => wrk_3d_7 
    80       USE wrk_nemo, ONLY:   zprorca    => wrk_3d_8 , zprorcad    => wrk_3d_9 
    81       USE wrk_nemo, ONLY:   zprofed    => wrk_3d_10, zprofen     => wrk_3d_11 
    82       USE wrk_nemo, ONLY:   zprochln   => wrk_3d_12, zprochld    => wrk_3d_13 
    83       USE wrk_nemo, ONLY:   zpronew    => wrk_3d_14, zpronewd    => wrk_3d_15 
    8477      ! 
    8578      INTEGER, INTENT(in) :: kt, jnt 
     
    9285      REAL(wp) ::   zpislopen  , zpislope2n 
    9386      REAL(wp) ::   zrum, zcodel, zargu, zval 
    94       REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: zysopt  
    9587      REAL(wp) ::   zrfact2 
    9688      CHARACTER (len=25) :: charout 
     89      REAL(wp), POINTER, DIMENSION(:,:  ) :: zmixnano, zmixdiat, zstrn 
     90      REAL(wp), POINTER, DIMENSION(:,:,:) :: zpislopead, zpislopead2, zprdia, zprbio, zprdch, zprnch, zysopt    
     91      REAL(wp), POINTER, DIMENSION(:,:,:) :: zprorca, zprorcad, zprofed, zprofen, zprochln, zprochld, zpronew, zpronewd 
     92 
    9793      !!--------------------------------------------------------------------- 
    9894 
    99       IF( wrk_in_use(2, 1,2,3)                             .OR.  & 
    100           wrk_in_use(3, 2,3,4,5,6,7,8,9,10,11,12,13,14,15)  ) THEN 
    101           CALL ctl_stop('p4z_prod: requested workspace arrays unavailable')   ;   RETURN 
    102       ENDIF 
    103     
    104       ALLOCATE( zysopt(jpi,jpj,jpk) ) 
    105  
     95      !  Allocate temporary workspace 
     96      CALL wrk_alloc( jpi, jpj,      zmixnano, zmixdiat, zstrn                                                  ) 
     97      CALL wrk_alloc( jpi, jpj, jpk, zpislopead, zpislopead2, zprdia, zprbio, zprdch, zprnch, zysopt            )  
     98      CALL wrk_alloc( jpi, jpj, jpk, zprorca, zprorcad, zprofed, zprofen, zprochln, zprochld, zpronew, zpronewd ) 
     99      ! 
    106100      zprorca (:,:,:) = 0._wp 
    107101      zprorcad(:,:,:) = 0._wp 
     
    449443         CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm) 
    450444      ENDIF 
    451  
    452       IF(  wrk_not_released(2, 1,2,3)                          .OR.  & 
    453            wrk_not_released(3, 2,3,4,5,6,7,8,9,10,11,12,13,14,15)   )   & 
    454            CALL ctl_stop('p4z_prod: failed to release workspace arrays') 
    455       ! 
    456       DEALLOCATE( zysopt ) 
     445      ! 
     446      CALL wrk_dealloc( jpi, jpj,      zmixnano, zmixdiat, zstrn                                                  ) 
     447      CALL wrk_dealloc( jpi, jpj, jpk, zpislopead, zpislopead2, zprdia, zprbio, zprdch, zprnch, zysopt            )  
     448      CALL wrk_dealloc( jpi, jpj, jpk, zprorca, zprorcad, zprofed, zprofen, zprochln, zprochld, zpronew, zpronewd ) 
    457449      ! 
    458450   END SUBROUTINE p4z_prod 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/PISCES/p4zrem.F90

    r2977 r3147  
    2626   USE p4zint          !  interpolation and computation of various fields 
    2727   USE prtctl_trc      !  print control for debugging 
     28   USE wrk_nemo_2 
    2829 
    2930   IMPLICIT NONE 
     
    6768      !! ** Method  : - ??? 
    6869      !!--------------------------------------------------------------------- 
    69       USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
    70       USE wrk_nemo, ONLY:   ztempbac => wrk_2d_1 
    71       USE wrk_nemo, ONLY:   zdepbac  => wrk_3d_2, zolimi => wrk_3d_3, zolimi2 => wrk_3d_4 
    7270      ! 
    7371      INTEGER, INTENT(in) ::   kt ! ocean time step 
     
    8482      REAL(wp) ::   zlamfac, zonitr, zstep 
    8583      CHARACTER (len=25) :: charout 
     84      REAL(wp), POINTER, DIMENSION(:,:  ) :: ztempbac  
     85      REAL(wp), POINTER, DIMENSION(:,:,:) :: zdepbac, zolimi, zolimi2 
    8686      !!--------------------------------------------------------------------- 
    8787 
    88       IF(  wrk_in_use(2, 1)  .OR.  wrk_in_use(3, 2,3,4)  ) THEN 
    89          CALL ctl_stop('p4z_rem: requested workspace arrays unavailable')   ;   RETURN 
    90       ENDIF 
     88      ! Allocate temporary workspace 
     89      CALL wrk_alloc( jpi, jpj,      ztempbac                 ) 
     90      CALL wrk_alloc( jpi, jpj, jpk, zdepbac, zolimi, zolimi2 ) 
    9191 
    9292       ! Initialisation of temprary arrys 
     
    390390      ENDIF 
    391391      ! 
    392       IF(  wrk_not_released(2, 1)     .OR.   & 
    393            wrk_not_released(3, 2,3,4)  )   CALL ctl_stop('p4z_rem: failed to release workspace arrays') 
     392      CALL wrk_dealloc( jpi, jpj,      ztempbac                 ) 
     393      CALL wrk_dealloc( jpi, jpj, jpk, zdepbac, zolimi, zolimi2 ) 
    394394      ! 
    395395   END SUBROUTINE p4z_rem 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/PISCES/p4zsed.F90

    r3124 r3147  
    2727   USE fldread         !  time interpolation 
    2828   USE prtctl_trc      !  print control for debugging 
     29   USE wrk_nemo_2      !  Memory allocation 
    2930 
    3031   IMPLICIT NONE 
     
    9394      !! ** Method  : - ??? 
    9495      !!--------------------------------------------------------------------- 
    95       USE wrk_nemo, ONLY: wrk_in_USE, wrk_not_released 
    96       USE wrk_nemo, ONLY: zsidep   => wrk_2d_11 
    97       USE wrk_nemo, ONLY: zwork1   => wrk_2d_12, zwork2 => wrk_2d_13, zwork3 => wrk_2d_14 
    98       USE wrk_nemo, ONLY: znitrpot => wrk_3d_2, zirondep => wrk_3d_3 
    9996      ! 
    10097      INTEGER, INTENT(in) ::   kt, jnt ! ocean time step 
     
    107104      REAL(wp) ::   zsiloss, zcaloss, zwsbio3, zwsbio4, zwscal, zdep 
    108105      CHARACTER (len=25) :: charout 
     106      REAL(wp), POINTER, DIMENSION(:,:  ) :: zsidep, zwork1, zwork2, zwork3 
     107      REAL(wp), POINTER, DIMENSION(:,:,:) :: znitrpot, zirondep 
    109108      !!--------------------------------------------------------------------- 
    110109 
    111       IF( ( wrk_in_USE(2, 11,12,13,14) ) .OR. ( wrk_in_USE(3, 2,3) ) ) THEN 
    112          CALL ctl_stop('p4z_sed: requested workspace arrays unavailable')  ;  RETURN 
    113       END IF 
     110      ! Allocate temporary workspace 
     111      CALL wrk_alloc( jpi, jpj,      zsidep, zwork1, zwork2, zwork3 ) 
     112      CALL wrk_alloc( jpi, jpj, jpk, znitrpot, zirondep             ) 
    114113 
    115114      IF( jnt == 1 .AND. ll_sbc ) CALL p4z_sbc( kt ) 
     
    311310      ENDIF 
    312311 
    313       IF( ( wrk_not_released(2, 11,12,13,14) ) .OR. ( wrk_not_released(3, 2,3) ) )   & 
    314         &         CALL ctl_stop('p4z_sed: failed to release workspace arrays') 
     312      CALL wrk_dealloc( jpi, jpj,      zsidep, zwork1, zwork2, zwork3 ) 
     313      CALL wrk_dealloc( jpi, jpj, jpk, znitrpot, zirondep             ) 
    315314 
    316315   END SUBROUTINE p4z_sed 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/PISCES/p4zsink.F90

    r2997 r3147  
    1919   USE prtctl_trc      !  print control for debugging 
    2020   USE iom             !  I/O manager 
     21   USE wrk_nemo_2 
    2122 
    2223   IMPLICIT NONE 
     
    8485      !! ** Method  : - ??? 
    8586      !!--------------------------------------------------------------------- 
    86       USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
    87       USE wrk_nemo, ONLY:   znum3d => wrk_3d_2 
    8887      ! 
    8988      INTEGER, INTENT(in) :: kt, jnt 
     
    9897      INTEGER  :: ik1 
    9998      CHARACTER (len=25) :: charout 
    100       !!--------------------------------------------------------------------- 
    101       ! 
    102       IF( wrk_in_use(3, 2 ) ) THEN 
    103          CALL ctl_stop('p4z_sink: requested workspace arrays unavailable')   ;   RETURN 
    104       ENDIF 
    105        
     99      REAL(wp), POINTER, DIMENSION(:,:,:) :: znum3d  
     100      !!--------------------------------------------------------------------- 
     101      ! 
     102      CALL wrk_alloc( jpi, jpj, jpk, znum3d ) 
     103      ! 
    106104      !     Initialisation of variables used to compute Sinking Speed 
    107105      !     --------------------------------------------------------- 
     
    296294      ENDIF 
    297295      ! 
    298       IF( wrk_not_released(3, 2 ) )   CALL ctl_stop('p4z_sink: failed to release workspace arrays') 
     296      CALL wrk_alloc( jpi, jpj, jpk, znum3d ) 
    299297      ! 
    300298   END SUBROUTINE p4z_sink 
     
    598596      !!      transport term, i.e.  div(u*tra). 
    599597      !!--------------------------------------------------------------------- 
    600       USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 
    601       USE wrk_nemo, ONLY: ztraz => wrk_3d_2, zakz => wrk_3d_3, zwsink2 => wrk_3d_4 
    602598      ! 
    603599      INTEGER , INTENT(in   )                         ::   jp_tra    ! tracer index index       
     
    607603      INTEGER  ::   ji, jj, jk, jn 
    608604      REAL(wp) ::   zigma,zew,zign, zflx, zstep 
    609       !!--------------------------------------------------------------------- 
    610  
    611       IF(  wrk_in_use(3, 2,3,4 ) ) THEN 
    612          CALL ctl_stop('p4z_sink2: requested workspace arrays unavailable') 
    613          RETURN 
    614       END IF 
     605      REAL(wp), POINTER, DIMENSION(:,:,:) :: ztraz, zakz, zwsink2  
     606      !!--------------------------------------------------------------------- 
     607 
     608      ! Allocate temporary workspace 
     609      CALL wrk_alloc( jpi, jpj, jpk, ztraz, zakz, zwsink2 ) 
    615610 
    616611      zstep = rfact2 / 2. 
     
    695690      psinkflx(:,:,:)        = 2. * psinkflx(:,:,:) 
    696691      ! 
    697       IF( wrk_not_released(3, 2,3,4) )   CALL ctl_stop('p4z_sink2: failed to release workspace arrays') 
     692      CALL wrk_dealloc( jpi, jpj, jpk, ztraz, zakz, zwsink2 ) 
    698693      ! 
    699694   END SUBROUTINE p4z_sink2 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/TRP/trcadv.F90

    r3124 r3147  
    2626   USE ldftra_oce      ! lateral diffusion coefficient on tracers 
    2727   USE prtctl_trc      ! Print control 
     28   USE wrk_nemo_2      ! Memory allocation 
    2829 
    2930   IMPLICIT NONE 
     
    6768      !! ** Method  : - Update the tracer with the advection term following nadv 
    6869      !!---------------------------------------------------------------------- 
    69       USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 
    70       USE wrk_nemo, ONLY: zun => wrk_3d_4, zvn => wrk_3d_5, zwn => wrk_3d_6   ! effective velocity 
    7170      !! 
    7271      INTEGER, INTENT(in) ::   kt   ! ocean time-step index 
     
    7473      INTEGER ::   jk  
    7574      CHARACTER (len=22) ::   charout 
    76       !!---------------------------------------------------------------------- 
    77       ! 
    78       IF( wrk_in_use(3, 4,5,6) ) THEN 
    79          CALL ctl_stop('trc_adv : requested workspace arrays unavailable')   ;   RETURN 
    80       ENDIF 
     75      REAL(wp), POINTER, DIMENSION(:,:,:) :: zun, zvn, zwn  ! effective velocity 
     76      !!---------------------------------------------------------------------- 
     77      ! 
     78      CALL wrk_alloc( jpi, jpj, jpk, zun, zvn, zwn ) 
     79      ! 
    8180 
    8281      IF( kt == nittrc000 )   CALL trc_adv_ctl          ! initialisation & control of options 
     
    141140      END IF 
    142141      ! 
    143       IF( wrk_not_released(3, 4,5,6) ) CALL ctl_stop('trc_adv : failed to release workspace arrays.') 
     142      CALL wrk_dealloc( jpi, jpj, jpk, zun, zvn, zwn ) 
    144143      ! 
    145144   END SUBROUTINE trc_adv 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/TRP/trcsbc.F90

    r3116 r3147  
    2121   USE trdmod_oce 
    2222   USE trdtra 
     23   USE wrk_nemo_2      ! Memory allocation 
    2324 
    2425   IMPLICIT NONE 
     
    5758      !! 
    5859      !!---------------------------------------------------------------------- 
    59       USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
    60       USE wrk_nemo, ONLY:   zemps  => wrk_2d_1 
    61       USE wrk_nemo, ONLY:   ztrtrd => wrk_3d_1 
    6260      ! 
    6361      INTEGER, INTENT( in ) ::   kt          ! ocean time-step index 
     
    6664      REAL(wp) ::   zsrau, zse3t   ! temporary scalars 
    6765      CHARACTER (len=22) :: charout 
    68       !!---------------------------------------------------------------------- 
     66      REAL(wp), POINTER, DIMENSION(:,:  ) :: zemps 
     67      REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrtrd 
     68      !!--------------------------------------------------------------------- 
    6969 
    70       IF( wrk_in_use(2, 1) .OR.  wrk_in_use(3, 1) ) THEN 
    71          CALL ctl_stop('trc_sbc: requested workspace array unavailable.')   ;   RETURN 
    72       END IF 
     70      ! Allocate temporary workspace 
     71      CALL wrk_alloc( jpi, jpj,      zemps  ) 
     72      CALL wrk_alloc( jpi, jpj, jpk, ztrtrd ) 
    7373 
    7474      IF( kt == nittrc000 ) THEN 
     
    117117      ENDIF 
    118118 
    119       IF( wrk_not_released(2, 1) .OR. wrk_not_released(3, 1) )   & 
    120       &       CALL ctl_stop('trc_sbc: failed to release workspace array.') 
     119      CALL wrk_dealloc( jpi, jpj,      zemps  ) 
     120      CALL wrk_dealloc( jpi, jpj, jpk, ztrtrd ) 
    121121 
    122122   END SUBROUTINE trc_sbc 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/TRP/trdmld_trc.F90

    r3116 r3147  
    3333   USE trdmld_trc_rst    ! restart for diagnosing the ML trends 
    3434   USE prtctl            ! print control 
    35    USE sms_pisces         
    36    USE sms_lobster 
     35   USE sms_pisces        ! PISCES bio-model 
     36   USE sms_lobster       ! LOBSTER bio-model 
     37   USE wrk_nemo_2        ! Memory allocation 
    3738 
    3839   IMPLICIT NONE 
     
    112113      !!            surface and the control surface is called "mixed-layer" 
    113114      !!---------------------------------------------------------------------- 
    114       USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
    115       USE wrk_nemo, ONLY:   zvlmsk => wrk_2d_1 
    116115      !! 
    117116      INTEGER, INTENT( in ) ::   ktrd, kjn                        ! ocean trend index and passive tracer rank 
    118117      CHARACTER(len=2), INTENT( in ) ::  ctype                    ! surface/bottom (2D) or interior (3D) physics 
    119118      REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT( in ) ::  ptrc_trdmld ! passive tracer trend 
     119      ! 
    120120      INTEGER ::   ji, jj, jk, isum 
    121       !!---------------------------------------------------------------------- 
    122  
    123       IF( wrk_in_use(2, 1) ) THEN 
    124          CALL ctl_stop('trd_mld_trc_zint: requested workspace array unavailable')   ;   RETURN 
    125       ENDIF 
     121      REAL(wp), POINTER, DIMENSION(:,:) :: zvlmsk 
     122      !!---------------------------------------------------------------------- 
     123 
     124      CALL wrk_alloc( jpi, jpj, zvlmsk ) 
    126125 
    127126      ! I. Definition of control surface and integration weights 
     
    208207      END SELECT 
    209208      ! 
    210       IF( wrk_not_released(2, 1) )   CALL ctl_stop('trd_mld_trc_zint: failed to release workspace array') 
     209      CALL wrk_dealloc( jpi, jpj, zvlmsk ) 
    211210      ! 
    212211   END SUBROUTINE trd_mld_trc_zint 
     
    231230      !!            surface and the control surface is called "mixed-layer" 
    232231      !!---------------------------------------------------------------------- 
    233       USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
    234       USE wrk_nemo, ONLY:   zvlmsk => wrk_2d_1 
    235232      !! 
    236233      INTEGER                         , INTENT(in) ::   ktrd          ! bio trend index 
     
    239236      ! 
    240237      INTEGER ::   ji, jj, jk, isum 
    241       !!---------------------------------------------------------------------- 
    242  
    243       IF( wrk_in_use(2, 1) ) THEN 
    244          CALL ctl_stop('trd_mld_bio_zint: requested workspace array unavailable')   ;   RETURN 
    245       ENDIF 
     238      REAL(wp), POINTER, DIMENSION(:,:) :: zvlmsk 
     239      !!---------------------------------------------------------------------- 
     240 
     241      CALL wrk_alloc( jpi, jpj, zvlmsk ) 
    246242 
    247243      ! I. Definition of control surface and integration weights 
     
    325321      END DO 
    326322 
    327       IF( wrk_not_released(2, 1) )   CALL ctl_stop('trd_mld_bio_zint: failed to release workspace array') 
     323      CALL wrk_alloc( jpi, jpj, zvlmsk ) 
    328324#endif 
    329325      ! 
     
    378374      !!       - See NEMO documentation (in preparation) 
    379375      !!---------------------------------------------------------------------- 
    380       USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
    381       USE wrk_nemo, ONLY:   wrk_3d_1, wrk_3d_2, wrk_3d_3, wrk_3d_4 
    382       USE wrk_nemo, ONLY:   wrk_3d_5, wrk_3d_6, wrk_3d_7, wrk_3d_8, wrk_3d_9 
    383376      ! 
    384377      INTEGER, INTENT(in) ::   kt   ! ocean time-step index 
     
    397390      REAL(wp), POINTER, DIMENSION(:,:,:) ::   ztmlatf2            !  | passive tracers 
    398391      REAL(wp), POINTER, DIMENSION(:,:,:) ::   ztmlrad2            !  | (-> for trb<0 corr in trcrad) 
    399       !REAL(wp), DIMENSION(jpi,jpj,jpltrd_trc,jptra) ::  ztmltrd2  ! -+ 
    400392      ! 
    401393      CHARACTER (LEN= 5) ::   clvar 
     
    406398      !!---------------------------------------------------------------------- 
    407399 
    408       IF( wrk_in_use(3, 1,2,3,4,5,6,7,8,9) ) THEN 
    409          CALL ctl_stop('trd_mld_trc : requested workspace arrays unavailable')   ;   RETURN 
    410       ENDIF 
    411400      ! Set-up pointers into sub-arrays of workspaces 
    412       ztmltot   => wrk_3d_1(:,:,1:jptra) 
    413       ztmlres   => wrk_3d_2(:,:,1:jptra) 
    414       ztmlatf   => wrk_3d_3(:,:,1:jptra) 
    415       ztmlrad   => wrk_3d_4(:,:,1:jptra) 
    416       ztmltot2  => wrk_3d_5(:,:,1:jptra) 
    417       ztmlres2  => wrk_3d_6(:,:,1:jptra) 
    418       ztmltrdm2 => wrk_3d_7(:,:,1:jptra) 
    419       ztmlatf2  => wrk_3d_8(:,:,1:jptra) 
    420       ztmlrad2  => wrk_3d_9(:,:,1:jptra) 
    421  
     401      CALL wrk_alloc( jpi, jpj, jptra, ztmltot , ztmlres , ztmlatf , ztmlrad             ) 
     402      CALL wrk_alloc( jpi, jpj, jptra, ztmltot2, ztmlres2, ztmlatf2, ztmlrad2, ztmltrdm2 ) 
    422403 
    423404      IF( nn_dttrc  /= 1  )   CALL ctl_stop( " Be careful, trends diags never validated " ) 
     
    907888      IF( lrst_trc )   CALL trd_mld_trc_rst_write( kt )  ! this must be after the array swap above (III.3) 
    908889 
    909       IF( wrk_not_released(3, 1,2,3,4,5,6,7,8,9) )   CALL ctl_stop('trd_mld_trc: failed to release workspace arrays') 
     890      CALL wrk_dealloc( jpi, jpj, jptra, ztmltot , ztmlres , ztmlatf , ztmlrad             ) 
     891      CALL wrk_dealloc( jpi, jpj, jptra, ztmltot2, ztmlres2, ztmlatf2, ztmlrad2, ztmltrdm2 ) 
    910892      ! 
    911893   END SUBROUTINE trd_mld_trc 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/trcdta.F90

    r3124 r3147  
    253253                                             DEALLOCATE( sf_trcdta(jn)%fnow )     !  arrays in the structure 
    254254               IF( sf_trcdta(jn)%ln_tint )   DEALLOCATE( sf_trcdta(jn)%fdta ) 
     255                                             DEALLOCATE( sf_trcdta          )     ! the structure itself 
     256 
    255257            ENDDO 
    256258            ! 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/trcsub.F90

    r3116 r3147  
    3333   USE agrif_opa_interp 
    3434#endif 
     35   USE wrk_nemo_2      ! Memory allocation 
    3536 
    3637   IMPLICIT NONE 
     
    889890      !! Reference  : Leclair, M., and G. Madec, 2009, Ocean Modelling. 
    890891      !!---------------------------------------------------------------------- 
    891       USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
    892       USE wrk_nemo, ONLY:   zhdiv => wrk_2d_1 , z2d => wrk_2d_2   ! 2D workspace 
    893       USE wrk_nemo, ONLY:   z3d => wrk_3d_10                      ! 3D workspace 
    894892      ! 
    895893      INTEGER, INTENT(in) ::   kt   ! time step 
     
    897895      INTEGER  ::   ji, jj, jk   ! dummy loop indices 
    898896      REAL(wp) ::   zcoefu, zcoefv, zcoeff, z2dt, z1_2dt, z1_rau0   ! local scalars 
    899       !!---------------------------------------------------------------------- 
    900  
    901       IF( wrk_in_use(2, 1,2) .OR. wrk_in_use(3,10) ) THEN 
    902          CALL ctl_stop('trc_sub_ssh: requested workspace arrays unavailable')   ;   RETURN 
    903       ENDIF 
    904  
     897      REAL(wp), POINTER, DIMENSION(:,:) :: zhdiv 
     898      !!--------------------------------------------------------------------- 
     899 
     900      ! Allocate temporary workspace 
     901      CALL wrk_alloc( jpi, jpj, zhdiv ) 
    905902 
    906903      IF( kt == nittrc000 ) THEN 
     
    1002999 
    10031000      ! 
    1004       IF( wrk_not_released(2, 1,2) .OR. wrk_not_released(3, 10) ) THEN 
    1005           CALL ctl_stop('ssh_wzv: failed to release workspace arrays') 
    1006       ENDIF 
     1001      CALL wrk_dealloc( jpi, jpj, zhdiv ) 
    10071002      ! 
    10081003   END SUBROUTINE trc_sub_ssh 
Note: See TracChangeset for help on using the changeset viewer.