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 3231 for branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/OPA_SRC/DYN/dynhpg.F90 – NEMO

Ignore:
Timestamp:
2011-12-21T10:11:11+01:00 (12 years ago)
Author:
smasson
Message:

dev_NEMO_MERGE_2011: supress TARGET attribute for tsa and use work arrays

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/OPA_SRC/DYN/dynhpg.F90

    r3223 r3231  
    7676      !!             - Save the trend (l_trddyn=T) 
    7777      !!---------------------------------------------------------------------- 
    78       USE oce, ONLY:   tsa                         ! (tsa) used as 2 3D workspace 
    79       !! 
    8078      INTEGER, INTENT(in) ::   kt   ! ocean time-step index 
    8179      REAL(wp), POINTER, DIMENSION(:,:,:) ::  ztrdu, ztrdv 
     
    8583      ! 
    8684      IF( l_trddyn ) THEN                    ! Temporary saving of ua and va trends (l_trddyn) 
    87          ztrdu => tsa(:,:,:,1)  
    88          ztrdv => tsa(:,:,:,2)  
    89          ! 
     85         CALL wrk_alloc( jpi,jpj,jpk, ztrdu, ztrdv ) 
    9086         ztrdu(:,:,:) = ua(:,:,:)   
    9187         ztrdv(:,:,:) = va(:,:,:)  
     
    104100         ztrdv(:,:,:) = va(:,:,:) - ztrdv(:,:,:) 
    105101         CALL trd_mod( ztrdu, ztrdv, jpdyn_trd_hpg, 'DYN', kt ) 
     102         CALL wrk_dealloc( jpi,jpj,jpk, ztrdu, ztrdv ) 
    106103      ENDIF           
    107104      ! 
     
    191188      !! ** Action : - Update (ua,va) with the now hydrastatic pressure trend 
    192189      !!---------------------------------------------------------------------- 
    193       USE oce, ONLY:   tsa                         ! (tsa) used as 2 3D workspace 
    194       !! 
    195190      INTEGER, INTENT(in) ::   kt    ! ocean time-step index 
    196191      !! 
     
    199194      REAL(wp), POINTER, DIMENSION(:,:,:) ::  zhpi, zhpj  
    200195      !!---------------------------------------------------------------------- 
    201        
    202       zhpi => tsa(:,:,:,1)  
    203       zhpj => tsa(:,:,:,2)  
     196      !   
     197      CALL wrk_alloc( jpi,jpj,jpk, zhpi, zhpj ) 
    204198      ! 
    205199      IF( kt == nit000 ) THEN 
     
    245239      END DO 
    246240      ! 
     241      CALL wrk_dealloc( jpi,jpj,jpk, zhpi, zhpj ) 
     242      ! 
    247243   END SUBROUTINE hpg_zco 
    248244 
     
    256252      !! ** Action  : - Update (ua,va) with the now hydrastatic pressure trend 
    257253      !!----------------------------------------------------------------------  
    258       USE oce, ONLY:   tsa                         ! (tsa) used as 2 3D workspace 
    259       !! 
    260254      INTEGER, INTENT(in) ::   kt    ! ocean time-step index 
    261255      !! 
     
    265259      REAL(wp), POINTER, DIMENSION(:,:,:) ::  zhpi, zhpj  
    266260      !!---------------------------------------------------------------------- 
    267         
    268       zhpi => tsa(:,:,:,1)  
    269       zhpj => tsa(:,:,:,2)  
     261      ! 
     262      CALL wrk_alloc( jpi,jpj,jpk, zhpi, zhpj ) 
    270263      ! 
    271264      IF( kt == nit000 ) THEN 
     
    343336      END DO 
    344337      ! 
    345  
     338      CALL wrk_dealloc( jpi,jpj,jpk, zhpi, zhpj ) 
     339      ! 
    346340   END SUBROUTINE hpg_zps 
    347341 
     
    365359      !! ** Action : - Update (ua,va) with the now hydrastatic pressure trend 
    366360      !!---------------------------------------------------------------------- 
    367       USE oce, ONLY:   tsa                         ! (tsa) used as 2 3D workspace 
    368       !! 
    369361      INTEGER, INTENT(in) ::   kt    ! ocean time-step index 
    370362      !! 
     
    373365      REAL(wp), POINTER, DIMENSION(:,:,:) ::  zhpi, zhpj  
    374366      !!---------------------------------------------------------------------- 
    375  
    376       zhpi => tsa(:,:,:,1)  
    377       zhpj => tsa(:,:,:,2)  
     367      ! 
     368      CALL wrk_alloc( jpi,jpj,jpk, zhpi, zhpj ) 
    378369      ! 
    379370      IF( kt == nit000 ) THEN 
     
    432423      END DO 
    433424      ! 
     425      CALL wrk_dealloc( jpi,jpj,jpk, zhpi, zhpj ) 
     426      ! 
    434427   END SUBROUTINE hpg_sco 
    435428 
     
    442435      !! Reference: Shchepetkin and McWilliams, J. Geophys. Res., 108(C3), 3090, 2003 
    443436      !!---------------------------------------------------------------------- 
    444       USE oce     , ONLY:   tsa                         ! (tsa) used as 2 3D workspace 
    445       !! 
    446437      INTEGER, INTENT(in) ::   kt    ! ocean time-step index 
    447438      !! 
     
    458449      CALL wrk_alloc( jpi, jpj, jpk, dzx  , dzy  , dzz  , dzu  , dzv  , dzw   )  
    459450      CALL wrk_alloc( jpi, jpj, jpk, drhox, drhoy, drhoz, drhou, drhov, drhow )  
    460       CALL wrk_alloc( jpi, jpj, jpk, rho_i, rho_j, rho_k                      )  
    461       zhpi => tsa(:,:,:,1)  
    462       zhpj => tsa(:,:,:,2)  
     451      CALL wrk_alloc( jpi, jpj, jpk, rho_i, rho_j, rho_k,  zhpi,  zhpj        )  
    463452      ! 
    464453 
     
    660649      CALL wrk_dealloc( jpi, jpj, jpk, dzx  , dzy  , dzz  , dzu  , dzv  , dzw   )  
    661650      CALL wrk_dealloc( jpi, jpj, jpk, drhox, drhoy, drhoz, drhou, drhov, drhow )  
    662       CALL wrk_dealloc( jpi, jpj, jpk, rho_i, rho_j, rho_k                      )  
     651      CALL wrk_dealloc( jpi, jpj, jpk, rho_i, rho_j, rho_k,  zhpi,  zhpj        )  
    663652      ! 
    664653   END SUBROUTINE hpg_djc 
     
    678667      !! 
    679668      !!---------------------------------------------------------------------- 
    680       USE oce     , ONLY:   tsa                          ! (tsa) used as 2 3D workspace 
    681       !!---------------------------------------------------------------------- 
    682       !! 
    683669      INTEGER, PARAMETER  :: polynomial_type = 1    ! 1: cubic spline, 2: linear 
    684670      INTEGER, INTENT(in) ::   kt                   ! ocean time-step index 
     
    697683      !!---------------------------------------------------------------------- 
    698684      ! 
    699       CALL wrk_alloc( jpi, jpj, jpk, zhpi, zu, zv, fsp, xsp, asp, bsp, csp, dsp )  
    700       zdeptht => tsa(:,:,:,1)  
    701       zrhh    => tsa(:,:,:,2)  
     685      CALL wrk_alloc( jpi,jpj,jpk, zhpi, zu, zv, fsp, xsp, asp, bsp, csp, dsp )  
     686      CALL wrk_alloc( jpi,jpj,jpk, zdeptht, zrhh )  
    702687      ! 
    703688      IF( kt == nit000 ) THEN 
     
    955940      END DO 
    956941      ! 
    957       CALL wrk_dealloc( jpi, jpj, jpk, zhpi, zu, zv, fsp, xsp, asp, bsp, csp, dsp )  
     942      CALL wrk_dealloc( jpi,jpj,jpk, zhpi, zu, zv, fsp, xsp, asp, bsp, csp, dsp )  
     943      CALL wrk_dealloc( jpi,jpj,jpk, zdeptht, zrhh )  
    958944      ! 
    959945   END SUBROUTINE hpg_prj 
Note: See TracChangeset for help on using the changeset viewer.