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 8568 for branches/2017/dev_r7881_ENHANCE09_RK3/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg.F90 – NEMO

Ignore:
Timestamp:
2017-09-27T16:29:24+02:00 (7 years ago)
Author:
gm
Message:

#1911 (ENHANCE-09): PART I.2 - _NONE option + remove zts + see associated wiki page

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_r7881_ENHANCE09_RK3/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg.F90

    r7753 r8568  
    2828   USE in_out_manager ! I/O manager 
    2929   USE lib_mpp        ! MPP library 
    30    USE wrk_nemo       ! Memory Allocation 
    3130   USE timing         ! Timing 
    3231 
     
    4746#  include "vectopt_loop_substitute.h90" 
    4847   !!---------------------------------------------------------------------- 
    49    !! NEMO/OPA 3.2 , LODYC-IPSL  (2009) 
     48   !! NEMO/OPA 4.0 , LODYC-IPSL  (2017) 
    5049   !! $Id$  
    5150   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt) 
     
    7170      !!             period is used to prevent the divergence of odd and even time step. 
    7271      !!---------------------------------------------------------------------- 
    73       INTEGER, INTENT(in   ) ::   kt       ! ocean time-step index 
    74       ! 
    75       INTEGER  ::   ji, jj, jk                             ! dummy loop indices 
    76       REAL(wp) ::   z2dt, zg_2, zintp, zgrau0r             ! temporary scalar 
    77       REAL(wp), POINTER, DIMENSION(:,:,:) ::  ztrdu, ztrdv 
    78       REAL(wp), POINTER, DIMENSION(:,:)   ::  zpice 
    79       !!---------------------------------------------------------------------- 
    80       ! 
    81       IF( nn_timing == 1 )  CALL timing_start('dyn_spg') 
     72      INTEGER, INTENT(in   ) ::   kt   ! ocean time-step index 
     73      ! 
     74      INTEGER  ::   ji, jj, jk                   ! dummy loop indices 
     75      REAL(wp) ::   z2dt, zg_2, zintp, zgrau0r   ! local scalars 
     76      REAL(wp), ALLOCATABLE, DIMENSION(:,:)   ::   zpice 
     77      REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) ::   ztrdu, ztrdv 
     78      !!---------------------------------------------------------------------- 
     79      ! 
     80      IF( ln_timing )   CALL timing_start('dyn_spg') 
    8281      ! 
    8382      IF( l_trddyn )   THEN                      ! temporary save of ta and sa trends 
    84          CALL wrk_alloc( jpi,jpj,jpk,   ztrdu, ztrdv )  
     83         ALLOCATE( ztrdu(jpi,jpj,jpk) , ztrdv(jpi,jpj,jpk) )  
    8584         ztrdu(:,:,:) = ua(:,:,:) 
    8685         ztrdv(:,:,:) = va(:,:,:) 
     
    124123         ! 
    125124         IF( nn_ice_embd == 2 ) THEN          !== embedded sea ice: Pressure gradient due to snow-ice mass ==! 
    126             CALL wrk_alloc( jpi,jpj,   zpice ) 
    127             !                                             
     125            ALLOCATE( zpice(jpi,jpj) ) 
    128126            zintp = REAL( MOD( kt-1, nn_fsbc ) ) / REAL( nn_fsbc ) 
    129127            zgrau0r     = - grav * r1_rau0 
     
    135133               END DO 
    136134            END DO 
    137             ! 
    138             CALL wrk_dealloc( jpi,jpj,   zpice )          
     135            DEALLOCATE( zpice )          
    139136         ENDIF 
    140137         ! 
     
    161158         ztrdv(:,:,:) = va(:,:,:) - ztrdv(:,:,:) 
    162159         CALL trd_dyn( ztrdu, ztrdv, jpdyn_spg, kt ) 
    163          CALL wrk_dealloc( jpi,jpj,jpk,   ztrdu, ztrdv )  
     160         DEALLOCATE( ztrdu , ztrdv )  
    164161      ENDIF 
    165162      !                                      ! print mean trends (used for debugging) 
     
    167164         &                       tab3d_2=va, clinfo2=       ' Va: ', mask2=vmask, clinfo3='dyn' ) 
    168165      ! 
    169       IF( nn_timing == 1 )  CALL timing_stop('dyn_spg') 
     166      IF( ln_timing )   CALL timing_stop('dyn_spg') 
    170167      ! 
    171168   END SUBROUTINE dyn_spg 
     
    186183      !!---------------------------------------------------------------------- 
    187184      ! 
    188       IF( nn_timing == 1 )  CALL timing_start('dyn_spg_init') 
     185      IF( ln_timing )   CALL timing_start('dyn_spg_init') 
    189186      ! 
    190187      REWIND( numnam_ref )              ! Namelist namdyn_spg in reference namelist : Free surface 
     
    227224      ENDIF 
    228225      ! 
    229       IF( nn_timing == 1 )  CALL timing_stop('dyn_spg_init') 
     226      IF( ln_timing )   CALL timing_stop('dyn_spg_init') 
    230227      ! 
    231228   END SUBROUTINE dyn_spg_init 
Note: See TracChangeset for help on using the changeset viewer.