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 2977 for branches/2011/dev_LOCEAN_2011/NEMOGCM/NEMO/OPA_SRC/DYN – NEMO

Ignore:
Timestamp:
2011-10-22T15:46:41+02:00 (13 years ago)
Author:
cetlod
Message:

Add in branch 2011/dev_LOCEAN_2011 changes from 2011/dev_r2787_PISCES_improvment, 2011/dev_r2787_LOCEAN_offline_fldread and 2011/dev_r2787_LOCEAN3_TRA_TRP branches, see ticket #877

Location:
branches/2011/dev_LOCEAN_2011/NEMOGCM/NEMO/OPA_SRC/DYN
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • branches/2011/dev_LOCEAN_2011/NEMOGCM/NEMO/OPA_SRC/DYN/dynadv_cen2.F90

    r2715 r2977  
    4848      !!---------------------------------------------------------------------- 
    4949      USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
    50       USE oce     , ONLY:   zfu   => ta       , zfv   => sa       ! (ta,sa) used as 3D workspace 
     50      USE oce     , ONLY:   tsa             ! tsa used as 2 3D workspace 
    5151      USE wrk_nemo, ONLY:   zfu_t => wrk_3d_1 , zfv_t => wrk_3d_4 , zfu_uw =>wrk_3d_6   ! 3D workspaces 
    5252      USE wrk_nemo, ONLY:   zfu_f => wrk_3d_2 , zfv_f => wrk_3d_5 , zfv_vw =>wrk_3d_7 
    53       USE wrk_nemo, ONLY:   zfw   => wrk_3d_3  
     53      USE wrk_nemo, ONLY:   zfw   => wrk_3d_3 
    5454      ! 
    5555      INTEGER, INTENT( in ) ::   kt   ! ocean time-step index 
     
    5757      INTEGER  ::   ji, jj, jk   ! dummy loop indices 
    5858      REAL(wp) ::   zbu, zbv     ! local scalars 
     59      REAL(wp), POINTER, DIMENSION(:,:,:) ::  zfu, zfv 
    5960      !!---------------------------------------------------------------------- 
    6061 
     
    6970         CALL ctl_stop('dyn_adv_cen2 : requested workspace array unavailable')   ;   RETURN 
    7071      ENDIF 
    71  
     72      ! 
     73      zfu => tsa(:,:,:,1)  
     74      zfv => tsa(:,:,:,2)  
     75      ! 
    7276      IF( l_trddyn ) THEN           ! Save ua and va trends 
    7377         zfu_uw(:,:,:) = ua(:,:,:) 
  • branches/2011/dev_LOCEAN_2011/NEMOGCM/NEMO/OPA_SRC/DYN/dynadv_ubs.F90

    r2715 r2977  
    6969      !!---------------------------------------------------------------------- 
    7070      USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
    71       USE oce     , ONLY:   zfu    => ta       , zfv    => sa      ! (ta,sa) used as 3D workspace 
     71      USE oce     , ONLY:   tsa             ! tsa used as 2 3D workspace 
    7272      USE wrk_nemo, ONLY:   zfu_t  => wrk_3d_1 , zfv_t  =>wrk_3d_4 , zfu_uw =>wrk_3d_6   ! 3D workspace 
    7373      USE wrk_nemo, ONLY:   zfu_f  => wrk_3d_2 , zfv_f  =>wrk_3d_5 , zfv_vw =>wrk_3d_7 
     
    8181      REAL(wp) ::   zbu, zbv    ! temporary scalars 
    8282      REAL(wp) ::   zui, zvj, zfuj, zfvi, zl_u, zl_v   ! temporary scalars 
     83      REAL(wp), POINTER, DIMENSION(:,:,:) ::  zfu, zfv 
    8384      !!---------------------------------------------------------------------- 
    8485 
     
    9394         CALL ctl_stop('dyn_adv_ubs: requested workspace array unavailable')   ;   RETURN 
    9495      ENDIF 
    95  
     96      ! 
     97      zfu => tsa(:,:,:,1)  
     98      zfv => tsa(:,:,:,2)  
     99      ! 
    96100      zfu_t(:,:,:) = 0._wp 
    97101      zfv_t(:,:,:) = 0._wp 
  • branches/2011/dev_LOCEAN_2011/NEMOGCM/NEMO/OPA_SRC/DYN/dynhpg.F90

    r2715 r2977  
    7777      !!             - Save the trend (l_trddyn=T) 
    7878      !!---------------------------------------------------------------------- 
    79       USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
    80       USE wrk_nemo, ONLY:   ztrdu => wrk_3d_1 , ztrdv => wrk_3d_2   ! 3D workspace 
     79      USE oce, ONLY:   tsa                         ! (tsa) used as 2 3D workspace 
    8180      !! 
    8281      INTEGER, INTENT(in) ::   kt   ! ocean time-step index 
    83       !!---------------------------------------------------------------------- 
    84       ! 
    85       IF( wrk_in_use(3, 1,2) ) THEN 
    86          CALL ctl_stop('dyn_hpg: requested workspace arrays are unavailable')   ;   RETURN 
    87       ENDIF 
     82      REAL(wp), POINTER, DIMENSION(:,:,:) ::  ztrdu, ztrdv 
     83      !!---------------------------------------------------------------------- 
    8884      ! 
    8985      IF( l_trddyn ) THEN                    ! Temporary saving of ua and va trends (l_trddyn) 
     86         ztrdu => tsa(:,:,:,1)  
     87         ztrdv => tsa(:,:,:,2)  
     88         ! 
    9089         ztrdu(:,:,:) = ua(:,:,:)   
    9190         ztrdv(:,:,:) = va(:,:,:)  
     
    110109      IF(ln_ctl)   CALL prt_ctl( tab3d_1=ua, clinfo1=' hpg  - Ua: ', mask1=umask,   & 
    111110         &                       tab3d_2=va, clinfo2=       ' Va: ', mask2=vmask, clinfo3='dyn' ) 
    112       ! 
    113       IF( wrk_not_released(3, 1,2) )   CALL ctl_stop('dyn_hpg: failed to release workspace arrays') 
    114111      ! 
    115112   END SUBROUTINE dyn_hpg 
     
    193190      !! ** Action : - Update (ua,va) with the now hydrastatic pressure trend 
    194191      !!---------------------------------------------------------------------- 
    195       USE oce, ONLY:   zhpi => ta , zhpj => sa   ! (ta,sa) used as 3D workspace 
     192      USE oce, ONLY:   tsa                         ! (tsa) used as 2 3D workspace 
    196193      !! 
    197194      INTEGER, INTENT(in) ::   kt    ! ocean time-step index 
     
    199196      INTEGER  ::   ji, jj, jk       ! dummy loop indices 
    200197      REAL(wp) ::   zcoef0, zcoef1   ! temporary scalars 
     198      REAL(wp), POINTER, DIMENSION(:,:,:) ::  zhpi, zhpj  
    201199      !!---------------------------------------------------------------------- 
    202200       
     201      zhpi => tsa(:,:,:,1)  
     202      zhpj => tsa(:,:,:,2)  
     203      ! 
    203204      IF( kt == nit000 ) THEN 
    204205         IF(lwp) WRITE(numout,*) 
     
    221222         END DO 
    222223      END DO 
     224 
    223225      ! 
    224226      ! interior value (2=<jk=<jpkm1) 
     
    253255      !! ** Action  : - Update (ua,va) with the now hydrastatic pressure trend 
    254256      !!----------------------------------------------------------------------  
    255       USE oce, ONLY:   zhpi => ta , zhpj => sa   ! (ta,sa) used as 3D workspace 
     257      USE oce, ONLY:   tsa                         ! (tsa) used as 2 3D workspace 
    256258      !! 
    257259      INTEGER, INTENT(in) ::   kt    ! ocean time-step index 
     
    260262      INTEGER  ::   iku, ikv                         ! temporary integers 
    261263      REAL(wp) ::   zcoef0, zcoef1, zcoef2, zcoef3   ! temporary scalars 
    262       !!---------------------------------------------------------------------- 
    263  
     264      REAL(wp), POINTER, DIMENSION(:,:,:) ::  zhpi, zhpj  
     265      !!---------------------------------------------------------------------- 
     266        
     267      zhpi => tsa(:,:,:,1)  
     268      zhpj => tsa(:,:,:,2)  
     269      ! 
    264270      IF( kt == nit000 ) THEN 
    265271         IF(lwp) WRITE(numout,*) 
     
    267273         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~   z-coordinate with partial steps - vector optimization' 
    268274      ENDIF 
     275 
    269276 
    270277      ! Local constant initialization 
     
    284291      END DO 
    285292 
     293 
    286294      ! interior value (2=<jk=<jpkm1) 
    287295      DO jk = 2, jpkm1 
     
    303311         END DO 
    304312      END DO 
     313 
    305314 
    306315      ! partial steps correction at the last level  (use gru & grv computed in zpshde.F90) 
     
    333342      END DO 
    334343      ! 
     344 
    335345   END SUBROUTINE hpg_zps 
    336346 
     
    354364      !! ** Action : - Update (ua,va) with the now hydrastatic pressure trend 
    355365      !!---------------------------------------------------------------------- 
    356       USE oce, ONLY:   zhpi => ta , zhpj => sa   ! (ta,sa) used as 3D workspace 
     366      USE oce, ONLY:   tsa                         ! (tsa) used as 2 3D workspace 
    357367      !! 
    358368      INTEGER, INTENT(in) ::   kt    ! ocean time-step index 
     
    360370      INTEGER  ::   ji, jj, jk                 ! dummy loop indices 
    361371      REAL(wp) ::   zcoef0, zuap, zvap, znad   ! temporary scalars 
    362       !!---------------------------------------------------------------------- 
    363  
     372      REAL(wp), POINTER, DIMENSION(:,:,:) ::  zhpi, zhpj  
     373      !!---------------------------------------------------------------------- 
     374 
     375      zhpi => tsa(:,:,:,1)  
     376      zhpj => tsa(:,:,:,2)  
     377      ! 
    364378      IF( kt == nit000 ) THEN 
    365379         IF(lwp) WRITE(numout,*) 
     
    439453      !!             - Save the trend (l_trddyn=T) 
    440454      !!---------------------------------------------------------------------- 
    441       USE oce, ONLY:   zhpi => ta , zhpj => sa   ! (ta,sa) used as 3D workspace 
     455      USE oce, ONLY:   tsa                         ! (tsa) used as 2 3D workspace 
    442456      !! 
    443457      INTEGER, INTENT(in) ::   kt    ! ocean time-step index 
     
    445459      INTEGER  ::   ji, jj, jk           ! dummy loop indices 
    446460      REAL(wp) ::   zcoef0, zuap, zvap   ! temporary scalars 
    447       !!---------------------------------------------------------------------- 
    448  
     461      REAL(wp), POINTER, DIMENSION(:,:,:) ::  zhpi, zhpj  
     462      !!---------------------------------------------------------------------- 
     463 
     464      zhpi => tsa(:,:,:,1)  
     465      zhpj => tsa(:,:,:,2)  
     466      ! 
    449467      IF( kt == nit000 ) THEN 
    450468         IF(lwp) WRITE(numout,*) 
     
    515533      !! Reference : Song, Mon. Wea. Rev., 126, 3213-3230, 1998. 
    516534      !!---------------------------------------------------------------------- 
    517       USE oce, ONLY:   zhpi => ta , zhpj => sa   ! (ta,sa) used as 3D workspace 
     535      USE oce, ONLY:   tsa                         ! (tsa) used as 2 3D workspace 
    518536      !! 
    519537      INTEGER, INTENT(in) ::   kt    ! ocean time-step index 
     
    522540      REAL(wp) ::   zcoef0, zuap, zvap   ! temporary scalars 
    523541      REAL(wp) ::   zalph , zbeta        !    "         " 
    524       !!---------------------------------------------------------------------- 
    525  
     542      REAL(wp), POINTER, DIMENSION(:,:,:) ::  zhpi, zhpj  
     543      !!---------------------------------------------------------------------- 
     544      ! 
     545      zhpi => tsa(:,:,:,1)  
     546      zhpj => tsa(:,:,:,2)  
     547      ! 
    526548      IF( kt == nit000 ) THEN 
    527549         IF(lwp) WRITE(numout,*) 
     
    595617      !!---------------------------------------------------------------------- 
    596618      USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
    597       USE oce     , ONLY:   zhpi  => ta        , zhpj => sa       ! (ta,sa) used as 3D workspace 
     619      USE oce     , ONLY:   tsa                         ! (tsa) used as 2 3D workspace 
    598620      USE wrk_nemo, ONLY:   drhox => wrk_3d_1  , dzx  => wrk_3d_2 
    599621      USE wrk_nemo, ONLY:   drhou => wrk_3d_3  , dzu  => wrk_3d_4 , rho_i => wrk_3d_5 
     
    610632      REAL(wp) ::   z1_10, cffu, cffx   !    "         " 
    611633      REAL(wp) ::   z1_12, cffv, cffy   !    "         " 
     634      REAL(wp), POINTER, DIMENSION(:,:,:) ::  zhpi, zhpj  
    612635      !!---------------------------------------------------------------------- 
    613636 
     
    615638         CALL ctl_stop('dyn:hpg_djc: requested workspace arrays unavailable')   ;   RETURN 
    616639      ENDIF 
     640      ! 
     641      zhpi => tsa(:,:,:,1)  
     642      zhpj => tsa(:,:,:,2)  
    617643 
    618644      IF( kt == nit000 ) THEN 
     
    826852      !!---------------------------------------------------------------------- 
    827853      USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
    828       USE oce     , ONLY:   zhpi    => ta       , zhpj    => sa       ! (ta,sa) used as 3D workspace 
     854      USE oce     , ONLY:   tsa                          ! (tsa) used as 2 3D workspace 
    829855      USE wrk_nemo, ONLY:   zdistr  => wrk_2d_1 , zsina   => wrk_2d_2 , zcosa  => wrk_2d_3 
    830856      USE wrk_nemo, ONLY:   zhpiorg => wrk_3d_1 , zhpirot => wrk_3d_2 
     
    838864      REAL(wp) ::   zforg, zcoef0, zuap, zmskd1, zmskd1m   ! temporary scalar 
    839865      REAL(wp) ::   zfrot        , zvap, zmskd2, zmskd2m   !    "         " 
     866      REAL(wp), POINTER, DIMENSION(:,:,:) ::  zhpi, zhpj  
    840867      !!---------------------------------------------------------------------- 
    841868 
     
    844871         CALL ctl_stop('dyn:hpg_rot: requested workspace arrays unavailable')   ;   RETURN 
    845872      ENDIF 
     873      ! 
     874      zhpi => tsa(:,:,:,1)  
     875      zhpj => tsa(:,:,:,2)  
    846876 
    847877      IF( kt == nit000 ) THEN 
  • branches/2011/dev_LOCEAN_2011/NEMOGCM/NEMO/OPA_SRC/DYN/dynkeg.F90

    r2777 r2977  
    5353      !!---------------------------------------------------------------------- 
    5454      USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
    55       USE oce     , ONLY:   ztrdu => ta       , ztrdv => sa   ! (ta,sa) used as 3D workspace    
     55      USE oce     , ONLY:   tsa             ! tsa used as 2 3D workspace 
    5656      USE wrk_nemo, ONLY:   zhke  => wrk_3d_1                 ! 3D workspace 
    5757      !! 
     
    6060      INTEGER  ::   ji, jj, jk   ! dummy loop indices 
    6161      REAL(wp) ::   zu, zv       ! temporary scalars 
     62      REAL(wp), POINTER, DIMENSION(:,:,:) ::   ztrdu, ztrdv  
    6263      !!---------------------------------------------------------------------- 
    6364 
     
    7374 
    7475      IF( l_trddyn ) THEN           ! Save ua and va trends 
     76         ztrdu => tsa(:,:,:,1)  
     77         ztrdv => tsa(:,:,:,2)  
     78         ! 
    7579         ztrdu(:,:,:) = ua(:,:,:)  
    7680         ztrdv(:,:,:) = va(:,:,:)  
  • branches/2011/dev_LOCEAN_2011/NEMOGCM/NEMO/OPA_SRC/DYN/dynldf_bilapg.F90

    r2715 r2977  
    8686      USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
    8787      USE wrk_nemo, ONLY:   zwk1 => wrk_3d_3 , zwk2 => wrk_3d_4   ! 3D workspace 
    88       USE oce     , ONLY:   zwk3 => ta       , zwk4 => sa         ! ta, sa used as 3D workspace    
     88      USE oce     , ONLY:   tsa             ! tsa used as 2 3D workspace 
    8989      ! 
    9090      INTEGER, INTENT( in ) ::   kt           ! ocean time-step index 
    9191      ! 
    9292      INTEGER ::   ji, jj, jk                 ! dummy loop indices 
     93      REAL(wp), POINTER, DIMENSION(:,:,:) ::  zwk3, zwk4 
    9394      !!---------------------------------------------------------------------- 
    9495 
     
    9697         CALL ctl_stop('dyn_ldf_bilapg: requested workspace arrays unavailable')   ;   RETURN 
    9798      ENDIF 
    98  
     99      ! 
     100      zwk3 => tsa(:,:,:,1)  
     101      zwk4 => tsa(:,:,:,2)  
     102      ! 
    99103      IF( kt == nit000 ) THEN 
    100104         IF(lwp) WRITE(numout,*) 
  • branches/2011/dev_LOCEAN_2011/NEMOGCM/NEMO/OPA_SRC/DYN/dynnxt.F90

    r2779 r2977  
    9393      !!---------------------------------------------------------------------- 
    9494      USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
    95       USE oce     , ONLY:   ze3u_f => ta       , ze3v_f => sa       ! (ta,sa) used as 3D workspace 
     95      USE oce     , ONLY:   tsa             ! tsa used as 2 3D workspace 
    9696      USE wrk_nemo, ONLY:   zs_t   => wrk_2d_1 , zs_u_1 => wrk_2d_2 , zs_v_1 => wrk_2d_3 
    9797      ! 
     
    105105      REAL(wp) ::   zve3a, zve3n, zve3b, zvf    !   -      - 
    106106      REAL(wp) ::   zec, zv_t_ij, zv_t_ip1j, zv_t_ijp1 
     107      REAL(wp), POINTER, DIMENSION(:,:,:) ::  ze3u_f, ze3v_f  
    107108      !!---------------------------------------------------------------------- 
    108109 
     
    110111         CALL ctl_stop('dyn_nxt: requested workspace arrays unavailable')   ;   RETURN 
    111112      ENDIF 
    112  
     113      ! 
     114      ze3u_f => tsa(:,:,:,1)  
     115      ze3v_f => tsa(:,:,:,2)  
     116      ! 
    113117      IF( kt == nit000 ) THEN 
    114118         IF(lwp) WRITE(numout,*) 
  • branches/2011/dev_LOCEAN_2011/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_flt.F90

    r2715 r2977  
    103103      !! References : Roullet and Madec 1999, JGR. 
    104104      !!--------------------------------------------------------------------- 
    105       USE oce, ONLY:   zub   => ta , zvb   => sa   ! (ta,sa) used as workspace 
     105      USE oce, ONLY:   tsa                 ! tsa used as 2 3D workspace 
    106106      !! 
    107107      INTEGER, INTENT(in   ) ::   kt       ! ocean time-step index 
     
    110110      INTEGER  ::   ji, jj, jk   ! dummy loop indices 
    111111      REAL(wp) ::   z2dt, z2dtg, zgcb, zbtd, ztdgu, ztdgv   ! local scalars 
     112      REAL(wp), POINTER, DIMENSION(:,:,:) ::  zub, zvb 
    112113      !!---------------------------------------------------------------------- 
     114      ! 
     115      zub => tsa(:,:,:,1)  
     116      zvb => tsa(:,:,:,2)  
    113117      ! 
    114118      IF( kt == nit000 ) THEN 
  • branches/2011/dev_LOCEAN_2011/NEMOGCM/NEMO/OPA_SRC/DYN/dynvor.F90

    r2715 r2977  
    7171      !!               and planetary vorticity trends) ('key_trddyn') 
    7272      !!---------------------------------------------------------------------- 
    73       USE oce, ONLY:   ztrdu => ta , ztrdv => sa   ! (ta,sa) used as 3D workspace 
    74       ! 
     73      USE oce, ONLY:   tsa            ! tsa used as 2 3D workspace 
     74      !! 
    7575      INTEGER, INTENT( in ) ::   kt   ! ocean time-step index 
    76       !!---------------------------------------------------------------------- 
     76      ! 
     77      REAL(wp), POINTER, DIMENSION(:,:,:) ::  ztrdu, ztrdv 
     78      !!---------------------------------------------------------------------- 
     79      ! 
     80      IF( l_trddyn )   THEN 
     81         ztrdu => tsa(:,:,:,1)  
     82         ztrdv => tsa(:,:,:,2)  
     83      END IF 
    7784      ! 
    7885      !                                          ! vorticity term  
  • branches/2011/dev_LOCEAN_2011/NEMOGCM/NEMO/OPA_SRC/DYN/dynzad.F90

    r2715 r2977  
    5252      !! ** Action  : - Update (ua,va) with the vert. momentum adv. trends 
    5353      !!              - Save the trends in (ztrdu,ztrdv) ('key_trddyn') 
    54      !!---------------------------------------------------------------------- 
    55       USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 
     54      !!---------------------------------------------------------------------- 
     55      USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
    5656      USE wrk_nemo, ONLY:   zww   => wrk_2d_1                        ! 2D workspace 
    57       USE oce     , ONLY:   zwuw  => ta       , zwvw  => sa          ! (ta,sa) used as 3D workspace 
     57      USE oce     , ONLY:   tsa             ! tsa used as 2 3D workspace 
    5858      USE wrk_nemo, ONLY:   ztrdu => wrk_3d_1 , ztrdv => wrk_3d_2    ! 3D workspace 
    59       ! 
     59      !! 
    6060      INTEGER, INTENT(in) ::   kt   ! ocean time-step inedx 
    6161      ! 
    6262      INTEGER  ::   ji, jj, jk      ! dummy loop indices 
    6363      REAL(wp) ::   zua, zva        ! temporary scalars 
     64      REAL(wp), POINTER, DIMENSION(:,:,:) ::  zwuw , zwvw 
    6465      !!---------------------------------------------------------------------- 
    6566       
    66       IF( wrk_in_use(2, 1) .OR. wrk_in_use(3, 1,2) ) THEN 
     67      IF( wrk_in_use(2, 1) .OR. wrk_in_use(3, 1,2) ) THEN  
    6768         CALL ctl_stop('dyn_zad: requested workspace arrays unavailable')   ;   RETURN 
    6869      ENDIF 
    69  
     70      ! 
     71      zwuw  => tsa(:,:,:,1)  
     72      zwvw  => tsa(:,:,:,2)  
     73      ! 
    7074      IF( kt == nit000 ) THEN 
    7175         IF(lwp)WRITE(numout,*) 
  • branches/2011/dev_LOCEAN_2011/NEMOGCM/NEMO/OPA_SRC/DYN/dynzdf_exp.F90

    r2715 r2977  
    5555      !!--------------------------------------------------------------------- 
    5656      USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
    57       USE oce     , ONLY:   zwx => ta       , zwy => sa         ! (ta,sa) used as 3D workspace 
    58       USE wrk_nemo, ONLY:   zwz => wrk_3d_1 , zww => wrk_3d_2   ! 3D workspace 
     57      USE oce     , ONLY:   tsa             ! tsa used as 2 3D workspace 
     58      USE wrk_nemo, ONLY:   zwz => wrk_3d_3 , zww => wrk_3d_4   ! 3D workspace 
    5959      ! 
    6060      INTEGER , INTENT(in) ::   kt     ! ocean time-step index 
     
    6363      INTEGER  ::   ji, jj, jk, jl   ! dummy loop indices 
    6464      REAL(wp) ::   zrau0r, zlavmr, zua, zva   ! local scalars 
     65      REAL(wp), POINTER, DIMENSION(:,:,:) ::  zwx, zwy 
    6566      !!---------------------------------------------------------------------- 
    6667 
    67       IF( wrk_in_use(3, 1,2) ) THEN 
     68      IF( wrk_in_use(3, 3,4) ) THEN 
    6869         CALL ctl_stop('dyn_zdf_exp: requested workspace arrays unavailable')   ;   RETURN 
    6970      ENDIF 
    70  
     71      ! 
     72      zwx => tsa(:,:,:,1)  
     73      zwy => tsa(:,:,:,2)  
     74      ! 
    7175      IF( kt == nit000 .AND. lwp ) THEN 
    7276         WRITE(numout,*) 
     
    120124      END DO                           ! End of time splitting 
    121125      ! 
    122       IF( wrk_not_released(3, 1,2) )   CALL ctl_stop('dyn_zdf_exp: failed to release workspace arrays') 
     126      IF( wrk_not_released(3, 3,4) )   CALL ctl_stop('dyn_zdf_exp: failed to release workspace arrays') 
    123127      ! 
    124128   END SUBROUTINE dyn_zdf_exp 
  • branches/2011/dev_LOCEAN_2011/NEMOGCM/NEMO/OPA_SRC/DYN/dynzdf_imp.F90

    r2715 r2977  
    5555      !!--------------------------------------------------------------------- 
    5656      USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
    57       USE oce     , ONLY:  zwd  => ta       , zws   => sa   ! (ta,sa) used as 3D workspace 
     57      USE oce     , ONLY:   tsa             ! tsa used as 2 3D workspace 
    5858      USE wrk_nemo, ONLY:   zwi => wrk_3d_3                 ! 3D workspace 
    5959      !! 
     
    6363      INTEGER  ::   ji, jj, jk   ! dummy loop indices 
    6464      REAL(wp) ::   z1_p2dt, zcoef, zzwi, zzws, zrhs   ! local scalars 
     65      REAL(wp), POINTER, DIMENSION(:,:,:) ::  zwd, zws 
    6566      !!---------------------------------------------------------------------- 
    6667 
     
    6869         CALL ctl_stop('dyn_zdf_imp: requested workspace array unavailable')   ;   RETURN 
    6970      END IF 
    70  
     71      ! 
     72      zwd => tsa(:,:,:,1)  
     73      zws => tsa(:,:,:,2)  
     74      ! 
    7175      IF( kt == nit000 ) THEN 
    7276         IF(lwp) WRITE(numout,*) 
  • branches/2011/dev_LOCEAN_2011/NEMOGCM/NEMO/OPA_SRC/DYN/sshwzv.F90

    r2715 r2977  
    7575      !! Reference  : Leclair, M., and G. Madec, 2009, Ocean Modelling. 
    7676      !!---------------------------------------------------------------------- 
    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       ! 
     77      USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 
     78      USE oce     , ONLY: tsa             ! tsa used as 2 3D workspace 
     79      USE wrk_nemo, ONLY: zhdiv => wrk_2d_1, z2d => wrk_2d_2 
     80      !! 
    8181      INTEGER, INTENT(in) ::   kt   ! time step 
    8282      ! 
    8383      INTEGER  ::   ji, jj, jk   ! dummy loop indices 
    8484      REAL(wp) ::   zcoefu, zcoefv, zcoeff, z2dt, z1_2dt, z1_rau0   ! local scalars 
     85      REAL(wp), POINTER, DIMENSION(:,:,:) ::  z3d 
    8586      !!---------------------------------------------------------------------- 
    8687 
     
    230231      IF( lk_diaar5 ) THEN                            ! vertical mass transport & its square value 
    231232         ! Caution: in the VVL case, it only correponds to the baroclinic mass transport. 
     233         z3d => tsa(:,:,:,1) 
    232234         z2d(:,:) = rau0 * e1t(:,:) * e2t(:,:) 
    233235         DO jk = 1, jpk 
Note: See TracChangeset for help on using the changeset viewer.