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 2690 for branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/DYN/dynvor.F90 – NEMO

Ignore:
Timestamp:
2011-03-15T16:27:46+01:00 (13 years ago)
Author:
gm
Message:

dynamic mem: #785 ; homogeneization of the coding style associated with dyn allocation

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/dev_r2586_dynamic_mem/NEMOGCM/NEMO/OPA_SRC/DYN/dynvor.F90

    r2636 r2690  
    55   !!                 planetary vorticity trends 
    66   !!====================================================================== 
    7    !! History :  OPA  !  1989-12  (P. Andrich)  vor_ens: Original code 
    8    !!            5.0  !  1991-11  (G. Madec) vor_ene, vor_mix: Original code 
    9    !!            6.0  !  1996-01  (G. Madec)  s-coord, suppress work arrays 
    10    !!            8.5  ! 2002-08  (G. Madec)  F90: Free form and module 
    11    !!   NEMO     1.0  ! 2004-02  (G. Madec)  vor_een: Original code 
    12    !!             -   !  2003-08  (G. Madec)  add vor_ctl 
    13    !!             -   !  2005-11  (G. Madec)  add dyn_vor (new step architecture) 
    14    !!            2.0  !  2006-11  (G. Madec)  flux form advection: add metric term 
    15    !!            3.2  !  2009-04  (R. Benshila)  vvl: correction of een scheme 
    16    !!            3.3  !  2010-10  (C. Ethe, G. Madec) reorganisation of initialisation phase 
     7   !! History :  OPA  ! 1989-12  (P. Andrich)  vor_ens: Original code 
     8   !!            5.0  ! 1991-11  (G. Madec) vor_ene, vor_mix: Original code 
     9   !!            6.0  ! 1996-01  (G. Madec)  s-coord, suppress work arrays 
     10   !!   NEMO     0.5  ! 2002-08  (G. Madec)  F90: Free form and module 
     11   !!            1.0  ! 2004-02  (G. Madec)  vor_een: Original code 
     12   !!             -   ! 2003-08  (G. Madec)  add vor_ctl 
     13   !!             -   ! 2005-11  (G. Madec)  add dyn_vor (new step architecture) 
     14   !!            2.0  ! 2006-11  (G. Madec)  flux form advection: add metric term 
     15   !!            3.2  ! 2009-04  (R. Benshila)  vvl: correction of een scheme 
     16   !!            3.3  ! 2010-10  (C. Ethe, G. Madec) reorganisation of initialisation phase 
    1717   !!---------------------------------------------------------------------- 
    1818 
     
    5858   !! NEMO/OPA 3.3 , NEMO Consortium (2010) 
    5959   !! $Id$ 
    60    !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 
     60   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt) 
    6161   !!---------------------------------------------------------------------- 
    6262CONTAINS 
     
    7171      !!               and planetary vorticity trends) ('key_trddyn') 
    7272      !!---------------------------------------------------------------------- 
    73       USE oce, ONLY :   ztrdu => ta   ! use ta as 3D workspace 
    74       USE oce, ONLY :   ztrdv => sa   ! use sa as 3D workspace 
    75       !! 
     73      USE oce, ONLY:   ztrdu => ta , ztrdv => sa   ! (ta,sa) used as 3D workspace 
     74      ! 
    7675      INTEGER, INTENT( in ) ::   kt   ! ocean time-step index 
    7776      !!---------------------------------------------------------------------- 
    78  
     77      ! 
    7978      !                                          ! vorticity term  
    8079      SELECT CASE ( nvor )                       ! compute the vorticity trend and add it to the general trend 
     
    171170         ! 
    172171      END SELECT 
    173  
     172      ! 
    174173      !                       ! print sum trends (used for debugging) 
    175       IF(ln_ctl) CALL prt_ctl( tab3d_1=ua, clinfo1=' vor  - Ua: ', mask1=umask, & 
     174      IF(ln_ctl) CALL prt_ctl( tab3d_1=ua, clinfo1=' vor  - Ua: ', mask1=umask,               & 
    176175         &                     tab3d_2=va, clinfo2=       ' Va: ', mask2=vmask, clinfo3='dyn' ) 
    177176      ! 
     
    205204      !! References : Sadourny, r., 1975, j. atmos. sciences, 32, 680-689. 
    206205      !!---------------------------------------------------------------------- 
    207       USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 
    208       USE wrk_nemo, ONLY: zwx => wrk_2d_1, zwy => wrk_2d_2, zwz => wrk_2d_3 
    209       !! 
     206      USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
     207      USE wrk_nemo, ONLY:   zwx => wrk_2d_1 , zwy => wrk_2d_2 , zwz => wrk_2d_3     ! 2D workspace 
     208      ! 
    210209      INTEGER , INTENT(in   )                         ::   kt     ! ocean time-step index 
    211210      INTEGER , INTENT(in   )                         ::   kvor   ! =ncor (planetary) ; =ntot (total) ; 
     
    213212      REAL(wp), INTENT(inout), DIMENSION(jpi,jpj,jpk) ::   pua    ! total u-trend 
    214213      REAL(wp), INTENT(inout), DIMENSION(jpi,jpj,jpk) ::   pva    ! total v-trend 
    215       !! 
    216       INTEGER  ::   ji, jj, jk         ! dummy loop indices 
    217       REAL(wp) ::   zx1, zy1, zfact2   ! temporary scalars 
    218       REAL(wp) ::   zx2, zy2           !    "         " 
     214      ! 
     215      INTEGER  ::   ji, jj, jk   ! dummy loop indices 
     216      REAL(wp) ::   zx1, zy1, zfact2, zx2, zy2   ! local scalars 
    219217      !!---------------------------------------------------------------------- 
    220218 
     
    286284      END DO                                           !   End of slab 
    287285      !                                                ! =============== 
    288       IF( wrk_not_released(2, 1,2,3) )   CALL ctl_stop('dyn:vor_ene: failed to release workspace arrays.') 
     286      IF( wrk_not_released(2, 1,2,3) )   CALL ctl_stop('dyn:vor_ene: failed to release workspace arrays') 
    289287      ! 
    290288   END SUBROUTINE vor_ene 
     
    322320      !! References : Sadourny, r., 1975, j. atmos. sciences, 32, 680-689. 
    323321      !!---------------------------------------------------------------------- 
    324       USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 
    325       USE wrk_nemo, ONLY: zwx => wrk_2d_4, zwy => wrk_2d_5, & 
    326                           zwz => wrk_2d_6, zww => wrk_2d_7 
    327       !! 
     322      USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
     323      USE wrk_nemo, ONLY:   zwx => wrk_2d_4 , zwy => wrk_2d_5 , zwz => wrk_2d_6 , zww => wrk_2d_7   ! 2D workspace 
     324      ! 
    328325      INTEGER, INTENT(in) ::   kt   ! ocean timestep index 
    329       !! 
     326      ! 
    330327      INTEGER  ::   ji, jj, jk   ! dummy loop indices 
    331       REAL(wp) ::   zfact1, zua, zcua, zx1, zy1   ! temporary scalars 
    332       REAL(wp) ::   zfact2, zva, zcva, zx2, zy2   !    "         " 
     328      REAL(wp) ::   zfact1, zua, zcua, zx1, zy1   ! local scalars 
     329      REAL(wp) ::   zfact2, zva, zcva, zx2, zy2   !   -      - 
    333330      !!---------------------------------------------------------------------- 
    334331 
     
    438435      !! References : Sadourny, r., 1975, j. atmos. sciences, 32, 680-689. 
    439436      !!---------------------------------------------------------------------- 
    440       USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 
    441       USE wrk_nemo, ONLY: zwx => wrk_2d_4, zwy => wrk_2d_5, zwz => wrk_2d_6 
    442       !! 
     437      USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
     438      USE wrk_nemo, ONLY:   zwx => wrk_2d_4, zwy => wrk_2d_5, zwz => wrk_2d_6    ! 2D workspace 
     439      ! 
    443440      INTEGER , INTENT(in   )                         ::   kt     ! ocean time-step index 
    444441      INTEGER , INTENT(in   )                         ::   kvor   ! =ncor (planetary) ; =ntot (total) ; 
     
    446443      REAL(wp), INTENT(inout), DIMENSION(jpi,jpj,jpk) ::   pua    ! total u-trend 
    447444      REAL(wp), INTENT(inout), DIMENSION(jpi,jpj,jpk) ::   pva    ! total v-trend 
    448       !! 
     445      ! 
    449446      INTEGER  ::   ji, jj, jk           ! dummy loop indices 
    450447      REAL(wp) ::   zfact1, zuav, zvau   ! temporary scalars 
     
    452449       
    453450      IF( wrk_in_use(2, 4,5,6) ) THEN 
    454          CALL ctl_stop('dyn:vor_ens : requested workspace arrays unavailable')   ;   RETURN 
     451         CALL ctl_stop('dyn:vor_ens: requested workspace arrays unavailable')   ;   RETURN 
    455452      END IF 
    456453 
     
    526523      END DO                                           !   End of slab 
    527524      !                                                ! =============== 
    528       IF( wrk_not_released(2, 4,5,6) )   CALL ctl_stop('dyn:vor_ens : failed to release workspace arrays') 
     525      IF( wrk_not_released(2, 4,5,6) )   CALL ctl_stop('dyn:vor_ens: failed to release workspace arrays') 
    529526      ! 
    530527   END SUBROUTINE vor_ens 
     
    551548      !!---------------------------------------------------------------------- 
    552549      USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
    553       USE wrk_nemo, ONLY:   zwx  => wrk_2d_1 , zwy  => wrk_2d_2 ,  zwz => wrk_2d_3  
     550      USE wrk_nemo, ONLY:   zwx  => wrk_2d_1 , zwy  => wrk_2d_2 ,  zwz => wrk_2d_3     ! 2D workspace 
    554551      USE wrk_nemo, ONLY:   ztnw => wrk_2d_4 , ztne => wrk_2d_5  
    555552      USE wrk_nemo, ONLY:   ztsw => wrk_2d_6 , ztse => wrk_2d_7 
    556553#if defined key_vvl 
    557       USE wrk_nemo, ONLY:   ze3f => wrk_3d_1 
     554      USE wrk_nemo, ONLY:   ze3f => wrk_3d_1                                           ! 3D workspace (lk_vvl=T) 
    558555#endif 
    559556      ! 
     
    568565      REAL(wp) ::   zfac12, zua, zva   ! local scalars 
    569566#if ! defined key_vvl 
    570       REAL(wp), ALLOCATABLE, DIMENSION(:,:,:), SAVE ::   ze3f 
     567      REAL(wp), ALLOCATABLE, DIMENSION(:,:,:), SAVE ::   ze3f     ! lk_vvl=F, ze3f=1/e3f saved one for all 
    571568#endif 
    572569      !!---------------------------------------------------------------------- 
    573570 
    574571      IF( wrk_in_use(2, 1,2,3,4,5,6,7) .OR. wrk_in_use(3, 1) ) THEN 
    575          CALL ctl_stop('dyn:vor_een : requested workspace arrays unavailable.')   ;   RETURN 
     572         CALL ctl_stop('dyn:vor_een: requested workspace arrays unavailable')   ;   RETURN 
    576573      ENDIF 
    577574 
     
    593590                  ze3f(ji,jj,jk) = ( fse3t(ji,jj+1,jk)*tmask(ji,jj+1,jk) + fse3t(ji+1,jj+1,jk)*tmask(ji+1,jj+1,jk)   & 
    594591                     &             + fse3t(ji,jj  ,jk)*tmask(ji,jj  ,jk) + fse3t(ji+1,jj  ,jk)*tmask(ji+1,jj  ,jk) ) * 0.25 
    595                   IF( ze3f(ji,jj,jk) /= 0.e0 )   ze3f(ji,jj,jk) = 1.e0 / ze3f(ji,jj,jk) 
     592                  IF( ze3f(ji,jj,jk) /= 0._wp )   ze3f(ji,jj,jk) = 1._wp / ze3f(ji,jj,jk) 
    596593               END DO 
    597594            END DO 
     
    600597      ENDIF 
    601598 
    602       zfac12 = 1.e0 / 12.e0      ! Local constant initialization 
     599      zfac12 = 1._wp / 12._wp    ! Local constant initialization 
    603600 
    604601       
     
    673670      END DO                                           !   End of slab 
    674671      !                                                ! =============== 
    675       IF(wrk_not_released(2, 1,2,3,4,5,6,7) .OR.   & 
    676          wrk_not_released(3, 1)  )   CALL ctl_stop('dyn:vor_een : failed to release workspace arrays') 
     672      IF( wrk_not_released(2, 1,2,3,4,5,6,7) .OR.   & 
     673          wrk_not_released(3, 1)             )   CALL ctl_stop('dyn:vor_een: failed to release workspace arrays') 
    677674      ! 
    678675   END SUBROUTINE vor_een 
     
    686683      !!              tracer advection schemes 
    687684      !!---------------------------------------------------------------------- 
    688       INTEGER ::   ioptio          ! temporary integer 
     685      INTEGER ::   ioptio          ! local integer 
     686      !! 
    689687      NAMELIST/namdyn_vor/ ln_dynvor_ens, ln_dynvor_ene, ln_dynvor_mix, ln_dynvor_een 
    690688      !!---------------------------------------------------------------------- 
Note: See TracChangeset for help on using the changeset viewer.