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/DYN/sshwzv.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/DYN/sshwzv.F90

    r2715 r3294  
    3939   USE asminc          ! Assimilation increment 
    4040#endif 
     41   USE wrk_nemo        ! Memory Allocation 
     42   USE timing          ! Timing 
    4143 
    4244   IMPLICIT NONE 
     
    7577      !! Reference  : Leclair, M., and G. Madec, 2009, Ocean Modelling. 
    7678      !!---------------------------------------------------------------------- 
    77       USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
    78       USE oce     , ONLY:   z3d   => ta                           ! ta used as 3D workspace 
    79       USE wrk_nemo, ONLY:   zhdiv => wrk_2d_1 , z2d => wrk_2d_2   ! 2D workspace 
    80       ! 
    8179      INTEGER, INTENT(in) ::   kt   ! time step 
    8280      ! 
    8381      INTEGER  ::   ji, jj, jk   ! dummy loop indices 
    8482      REAL(wp) ::   zcoefu, zcoefv, zcoeff, z2dt, z1_2dt, z1_rau0   ! local scalars 
    85       !!---------------------------------------------------------------------- 
    86  
    87       IF( wrk_in_use(2, 1,2) ) THEN 
    88          CALL ctl_stop('ssh_wzv: requested workspace arrays unavailable')   ;   RETURN 
    89       ENDIF 
    90  
     83      REAL(wp), POINTER, DIMENSION(:,:  ) ::  z2d, zhdiv 
     84      REAL(wp), POINTER, DIMENSION(:,:,:) ::  z3d 
     85      !!---------------------------------------------------------------------- 
     86      ! 
     87      IF( nn_timing == 1 )  CALL timing_start('ssh_wzv') 
     88      ! 
     89      CALL wrk_alloc( jpi, jpj, z2d, zhdiv )  
     90      ! 
    9191      IF( kt == nit000 ) THEN 
    9292         ! 
     
    182182#if defined key_bdy 
    183183      ssha(:,:) = ssha(:,:) * bdytmask(:,:) 
    184       CALL lbc_lnk( ssha, 'T', 1. )  
     184      CALL lbc_lnk( ssha, 'T', 1. )                 ! absolutly compulsory !! (jmm) 
    185185#endif 
    186186 
     
    230230      IF( lk_diaar5 ) THEN                            ! vertical mass transport & its square value 
    231231         ! Caution: in the VVL case, it only correponds to the baroclinic mass transport. 
     232         CALL wrk_alloc( jpi,jpj,jpk, z3d ) 
    232233         z2d(:,:) = rau0 * e1t(:,:) * e2t(:,:) 
    233234         DO jk = 1, jpk 
     
    236237         CALL iom_put( "w_masstr" , z3d                     )   
    237238         CALL iom_put( "w_masstr2", z3d(:,:,:) * z3d(:,:,:) ) 
     239         CALL wrk_dealloc( jpi,jpj,jpk, z3d ) 
    238240      ENDIF 
    239241      ! 
    240242      IF(ln_ctl)   CALL prt_ctl( tab2d_1=ssha, clinfo1=' ssha  - : ', mask1=tmask, ovlap=1 ) 
    241243      ! 
    242       IF( wrk_not_released(2, 1,2) )   CALL ctl_stop('ssh_wzv: failed to release workspace arrays') 
     244      CALL wrk_dealloc( jpi, jpj, z2d, zhdiv )  
     245      ! 
     246      IF( nn_timing == 1 )  CALL timing_stop('ssh_wzv') 
    243247      ! 
    244248   END SUBROUTINE ssh_wzv 
     
    269273      REAL(wp) ::   zec      ! temporary scalar 
    270274      !!---------------------------------------------------------------------- 
    271  
     275      ! 
     276      IF( nn_timing == 1 )  CALL timing_start('ssh_nxt') 
     277      ! 
    272278      IF( kt == nit000 ) THEN 
    273279         IF(lwp) WRITE(numout,*) 
     
    354360      IF(ln_ctl)   CALL prt_ctl( tab2d_1=sshb, clinfo1=' sshb  - : ', mask1=tmask, ovlap=1 ) 
    355361      ! 
     362      IF( nn_timing == 1 )  CALL timing_stop('ssh_nxt') 
     363      ! 
    356364   END SUBROUTINE ssh_nxt 
    357365 
Note: See TracChangeset for help on using the changeset viewer.