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/TRD/trdvor.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/TRD/trdvor.F90

    r2633 r2690  
    44   !! Ocean diagnostics:  momentum trends 
    55   !!===================================================================== 
    6    !! History :  9.0  !  04-06  (L. Brunier, A-M. Treguier) Original code  
    7    !!                 !  04-08  (C. Talandier) New trends organization 
     6   !! History :  1.0  !  04-2006  (L. Brunier, A-M. Treguier) Original code  
     7   !!            2.0  !  04-2008  (C. Talandier) New trends organization 
    88   !!---------------------------------------------------------------------- 
    99#if defined key_trdvor   ||   defined key_esopa 
     
    4141 
    4242   INTEGER ::   nh_t, nmoydpvor, nidvor, nhoridvor, ndimvor1, icount   ! needs for IOIPSL output 
    43    INTEGER, SAVE, ALLOCATABLE, DIMENSION(:) :: ndexvor1 ! needed for IOIPSL output 
     43   INTEGER, SAVE, ALLOCATABLE, DIMENSION(:) ::   ndexvor1  ! needed for IOIPSL output 
    4444   INTEGER ::   ndebug     ! (0/1) set it to 1 in case of problem to have more print 
    4545 
    46    REAL(wp), SAVE, ALLOCATABLE, DIMENSION(:,  :) ::   vor_avr      ! average 
    47    REAL(wp), SAVE, ALLOCATABLE, DIMENSION(:,  :) ::   vor_avrb     ! before vorticity (kt-1) 
    48    REAL(wp), SAVE, ALLOCATABLE, DIMENSION(:,  :) ::   vor_avrbb    ! vorticity at begining of the nwrite-1 timestep averaging period 
    49    REAL(wp), SAVE, ALLOCATABLE, DIMENSION(:,  :) ::   vor_avrbn    ! after vorticity at time step after the 
    50    REAL(wp), SAVE, ALLOCATABLE, DIMENSION(:,  :) ::   rotot        ! begining of the NWRITE-1 timesteps 
    51    REAL(wp), SAVE, ALLOCATABLE, DIMENSION(:,  :) ::   vor_avrtot   ! 
    52    REAL(wp), SAVE, ALLOCATABLE, DIMENSION(:,  :) ::   vor_avrres   ! 
    53  
    54    REAL(wp), SAVE, ALLOCATABLE, DIMENSION(:,:,:) ::   vortrd  ! curl of trends 
     46   REAL(wp), SAVE, ALLOCATABLE, DIMENSION(:,:)   ::   vor_avr      ! average 
     47   REAL(wp), SAVE, ALLOCATABLE, DIMENSION(:,:)   ::   vor_avrb     ! before vorticity (kt-1) 
     48   REAL(wp), SAVE, ALLOCATABLE, DIMENSION(:,:)   ::   vor_avrbb    ! vorticity at begining of the nwrite-1 timestep averaging period 
     49   REAL(wp), SAVE, ALLOCATABLE, DIMENSION(:,:)   ::   vor_avrbn    ! after vorticity at time step after the 
     50   REAL(wp), SAVE, ALLOCATABLE, DIMENSION(:,:)   ::   rotot        ! begining of the NWRITE-1 timesteps 
     51   REAL(wp), SAVE, ALLOCATABLE, DIMENSION(:,:)   ::   vor_avrtot   ! 
     52   REAL(wp), SAVE, ALLOCATABLE, DIMENSION(:,:)   ::   vor_avrres   ! 
     53   REAL(wp), SAVE, ALLOCATABLE, DIMENSION(:,:,:) ::   vortrd       ! curl of trends 
    5554          
    5655   CHARACTER(len=12) ::   cvort 
     
    7170      !!                  ***  ROUTINE trd_vor_alloc  *** 
    7271      !!---------------------------------------------------------------------------- 
    73       ALLOCATE( vor_avr(jpi,jpj),    vor_avrb(jpi,jpj), vor_avrbb(jpi,jpj),  & 
    74          &      vor_avrbn(jpi,jpj),  rotot(jpi,jpj),    vor_avrtot(jpi,jpj), & 
    75          &      vor_avrres(jpi,jpj), vortrd(jpi,jpj,jpltot_vor),             & 
    76          &      ndexvor1(jpi*jpj),   STAT=trd_vor_alloc) 
     72      ALLOCATE( vor_avr   (jpi,jpj) , vor_avrb(jpi,jpj) , vor_avrbb (jpi,jpj) ,   & 
     73         &      vor_avrbn (jpi,jpj) , rotot   (jpi,jpj) , vor_avrtot(jpi,jpj) ,  & 
     74         &      vor_avrres(jpi,jpj) , vortrd  (jpi,jpj,jpltot_vor) ,              & 
     75         &      ndexvor1  (jpi*jpj)                                ,   STAT= trd_vor_alloc ) 
    7776         ! 
    7877      IF( lk_mpp             )   CALL mpp_sum ( trd_vor_alloc ) 
     
    108107      !!      trends output in netCDF format using ioipsl 
    109108      !!---------------------------------------------------------------------- 
    110       USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 
    111       USE wrk_nemo, ONLY: zudpvor => wrk_2d_1, &   ! total cmulative trends 
    112                           zvdpvor => wrk_2d_2 
    113       !! 
     109      USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
     110      USE wrk_nemo, ONLY:   zudpvor => wrk_2d_1 , zvdpvor => wrk_2d_2   ! total cmulative trends 
     111      ! 
    114112      INTEGER                     , INTENT(in   ) ::   ktrd       ! ocean trend index 
    115113      REAL(wp), DIMENSION(jpi,jpj), INTENT(inout) ::   putrdvor   ! u vorticity trend  
    116114      REAL(wp), DIMENSION(jpi,jpj), INTENT(inout) ::   pvtrdvor   ! v vorticity trend 
    117       !! 
     115      ! 
    118116      INTEGER ::   ji, jj       ! dummy loop indices 
    119117      INTEGER ::   ikbu, ikbv   ! local integers 
    120118      !!---------------------------------------------------------------------- 
    121119 
    122       IF(wrk_in_use(2, 1,2))THEN 
    123          CALL ctl_stop('trd_vor_zint_2d : requested workspace arrays unavailable.') 
    124          RETURN 
    125       END IF 
     120      IF( wrk_in_use(2, 1,2) ) THEN 
     121         CALL ctl_stop('trd_vor_zint_2d: requested workspace arrays unavailable')   ;   RETURN 
     122      ENDIF 
    126123 
    127124      ! Initialization 
    128       zudpvor(:,:) = 0._wp 
    129       zvdpvor(:,:) = 0._wp 
    130       ! 
    131       CALL lbc_lnk( putrdvor,  'U' , -1. )         ! lateral boundary condition on input momentum trends 
    132       CALL lbc_lnk( pvtrdvor,  'V' , -1. ) 
     125      zudpvor(:,:) = 0._wp                 ;   zvdpvor(:,:) = 0._wp 
     126      CALL lbc_lnk( putrdvor, 'U', -1. )   ;   CALL lbc_lnk( pvtrdvor, 'V', -1. )      ! lateral boundary condition 
     127       
    133128 
    134129      !  ===================================== 
     
    172167      ENDIF 
    173168      ! 
    174       IF(wrk_not_released(2, 1,2))THEN 
    175          CALL ctl_stop('trd_vor_zint_2d : failed to release workspace arrays.') 
    176       END IF 
     169      IF( wrk_not_released(2, 1,2) )   CALL ctl_stop('trd_vor_zint_2d : failed to release workspace arrays.') 
    177170      ! 
    178171   END SUBROUTINE trd_vor_zint_2d 
     
    206199      !!      trends output in netCDF format using ioipsl 
    207200      !!---------------------------------------------------------------------- 
    208       USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 
    209       USE wrk_nemo, ONLY: zubet   => wrk_2d_1,   zvbet => wrk_2d_2   ! Beta.V  
    210       USE wrk_nemo, ONLY: zudpvor => wrk_2d_3, zvdpvor => wrk_2d_4   ! total cmulative trends 
    211       !! 
     201      USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
     202      USE wrk_nemo, ONLY:   zubet   => wrk_2d_1,   zvbet => wrk_2d_2   ! Beta.V  
     203      USE wrk_nemo, ONLY:   zudpvor => wrk_2d_3, zvdpvor => wrk_2d_4   ! total cmulative trends 
     204      ! 
    212205      INTEGER                         , INTENT(in   ) ::   ktrd       ! ocean trend index 
    213206      REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) ::   putrdvor   ! u vorticity trend  
    214207      REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) ::   pvtrdvor   ! v vorticity trend 
    215       !! 
    216       INTEGER ::   ji, jj, jk 
     208      ! 
     209      INTEGER ::   ji, jj, jk   ! dummy loop indices 
    217210      !!---------------------------------------------------------------------- 
    218211      
    219       IF(wrk_in_use(2, 1,2,3,4))THEN 
    220          CALL ctl_stop('trd_vor_zint_3d : requested workspace arrays unavailable.') 
    221          RETURN 
    222       END IF 
     212      IF( wrk_in_use(2, 1,2,3,4) ) THEN 
     213         CALL ctl_stop('trd_vor_zint_3d: requested workspace arrays unavailable.')   ;   RETURN 
     214      ENDIF 
    223215 
    224216      ! Initialization 
     
    228220      zvdpvor(:,:) = 0._wp 
    229221      ! 
    230       CALL lbc_lnk( putrdvor, 'U' , -1. )         ! lateral boundary condition on input momentum trends 
    231       CALL lbc_lnk( pvtrdvor, 'V' , -1. ) 
     222      CALL lbc_lnk( putrdvor, 'U', -1. )         ! lateral boundary condition on input momentum trends 
     223      CALL lbc_lnk( pvtrdvor, 'V', -1. ) 
    232224 
    233225      !  ===================================== 
     
    284276      ENDIF 
    285277      ! 
    286       IF(wrk_not_released(2, 1,2,3,4))THEN 
    287          CALL ctl_stop('trd_vor_zint_3d : failed to release workspace arrays.') 
    288       END IF 
     278      IF( wrk_not_released(2, 1,2,3,4) )   CALL ctl_stop('trd_vor_zint_3d: failed to release workspace arrays') 
    289279      ! 
    290280   END SUBROUTINE trd_vor_zint_3d 
     
    298288      !!               and make outputs (NetCDF or DIMG format) 
    299289      !!---------------------------------------------------------------------- 
    300       USE wrk_nemo, ONLY: wrk_in_use, wrk_not_released 
    301       USE wrk_nemo, ONLY: zun => wrk_2d_1, zvn => wrk_2d_2 ! 2D workspace 
    302       !! 
     290      USE wrk_nemo, ONLY:   wrk_in_use, wrk_not_released 
     291      USE wrk_nemo, ONLY:   zun => wrk_2d_1 , zvn => wrk_2d_2 ! 2D workspace 
     292      ! 
    303293      INTEGER, INTENT(in) ::   kt   ! ocean time-step index 
    304       !! 
     294      ! 
    305295      INTEGER  ::   ji, jj, jk, jl   ! dummy loop indices 
    306296      INTEGER  ::   it, itmod        ! local integers 
     
    308298      !!---------------------------------------------------------------------- 
    309299 
    310       IF(wrk_in_use(2, 1,2))THEN 
    311          CALL ctl_stop('trd_vor : requested workspace arrays unavailable.') 
    312          RETURN 
    313       END IF 
     300      IF( wrk_in_use(2, 1,2) ) THEN 
     301         CALL ctl_stop('trd_vor: requested workspace arrays unavailable.')   ;   RETURN 
     302      ENDIF 
    314303 
    315304      !  ================= 
     
    478467      IF( kt == nitend )   CALL histclo( nidvor ) 
    479468      ! 
    480       IF(wrk_not_released(2, 1,2) )   CALL ctl_stop('trd_vor : failed to release workspace arrays') 
     469      IF( wrk_not_released(2, 1,2) )   CALL ctl_stop('trd_vor: failed to release workspace arrays') 
    481470      ! 
    482471   END SUBROUTINE trd_vor 
Note: See TracChangeset for help on using the changeset viewer.