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/RK3_SRC/LDF/ldfslp.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/RK3_SRC/LDF/ldfslp.F90

    r7753 r8568  
    3232   USE lib_mpp        ! distribued memory computing library 
    3333   USE lib_fortran    ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined) 
    34    USE wrk_nemo       ! work arrays 
    3534   USE timing         ! Timing 
    3635 
     
    118117      REAL(wp) ::   zck, zfk,      zbw             !   -      - 
    119118      REAL(wp) ::   zdepu, zdepv                   !   -      - 
    120       REAL(wp), POINTER, DIMENSION(:,:  ) ::  zslpml_hmlpu, zslpml_hmlpv 
    121       REAL(wp), POINTER, DIMENSION(:,:,:) ::  zwz, zww 
    122       REAL(wp), POINTER, DIMENSION(:,:,:) ::  zdzr 
    123       REAL(wp), POINTER, DIMENSION(:,:,:) ::  zgru, zgrv 
    124       !!---------------------------------------------------------------------- 
    125       ! 
    126       IF( nn_timing == 1 )  CALL timing_start('ldf_slp') 
    127       ! 
    128       CALL wrk_alloc( jpi,jpj,jpk, zwz, zww, zdzr, zgru, zgrv ) 
    129       CALL wrk_alloc( jpi,jpj, zslpml_hmlpu, zslpml_hmlpv ) 
    130  
     119      REAL(wp), DIMENSION(jpi,jpj)     ::  zslpml_hmlpu, zslpml_hmlpv 
     120      REAL(wp), DIMENSION(jpi,jpj,jpk) ::  zgru, zwz, zdzr 
     121      REAL(wp), DIMENSION(jpi,jpj,jpk) ::  zgrv, zww 
     122      !!---------------------------------------------------------------------- 
     123      ! 
     124      IF( ln_timing )   CALL timing_start('ldf_slp') 
     125      ! 
    131126      zeps   =  1.e-20_wp        !==   Local constant initialization   ==! 
    132127      z1_16  =  1.0_wp / 16._wp 
     
    157152         DO jj = 1, jpjm1 
    158153            DO ji = 1, jpim1 
    159                IF ( miku(ji,jj) > 1 ) zgru(ji,jj,miku(ji,jj)) = grui(ji,jj)  
    160                IF ( mikv(ji,jj) > 1 ) zgrv(ji,jj,mikv(ji,jj)) = grvi(ji,jj) 
     154               IF( miku(ji,jj) > 1 )  zgru(ji,jj,miku(ji,jj)) = grui(ji,jj)  
     155               IF( mikv(ji,jj) > 1 )  zgrv(ji,jj,mikv(ji,jj)) = grvi(ji,jj) 
    161156            END DO 
    162157         END DO 
     
    375370      ENDIF 
    376371      ! 
    377       CALL wrk_dealloc( jpi,jpj,jpk, zwz, zww, zdzr, zgru, zgrv ) 
    378       CALL wrk_dealloc( jpi,jpj, zslpml_hmlpu, zslpml_hmlpv ) 
    379       ! 
    380       IF( nn_timing == 1 )  CALL timing_stop('ldf_slp') 
     372      IF( ln_timing )   CALL timing_stop('ldf_slp') 
    381373      ! 
    382374   END SUBROUTINE ldf_slp 
     
    409401      REAL(wp) ::   zdzrho_raw 
    410402      REAL(wp) ::   zbeta0, ze3_e1, ze3_e2 
    411       REAL(wp), POINTER, DIMENSION(:,:)     ::   z1_mlbw 
    412       REAL(wp), POINTER, DIMENSION(:,:,:)   ::   zalbet 
    413       REAL(wp), POINTER, DIMENSION(:,:,:,:) ::   zdxrho , zdyrho, zdzrho     ! Horizontal and vertical density gradients 
    414       REAL(wp), POINTER, DIMENSION(:,:,:,:) ::   zti_mlb, ztj_mlb            ! for Griffies operator only 
    415       !!---------------------------------------------------------------------- 
    416       ! 
    417       IF( nn_timing == 1 )  CALL timing_start('ldf_slp_triad') 
    418       ! 
    419       CALL wrk_alloc( jpi,jpj, z1_mlbw ) 
    420       CALL wrk_alloc( jpi,jpj,jpk, zalbet ) 
    421       CALL wrk_alloc( jpi,jpj,jpk,2, zdxrho , zdyrho, zdzrho,              klstart = 0  ) 
    422       CALL wrk_alloc( jpi,jpj,  2,2, zti_mlb, ztj_mlb,        kkstart = 0, klstart = 0  ) 
     403      REAL(wp), DIMENSION(jpi,jpj)     ::   z1_mlbw 
     404      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zalbet 
     405      REAL(wp), DIMENSION(jpi,jpj,jpk,0:1) ::   zdxrho , zdyrho, zdzrho     ! Horizontal and vertical density gradients 
     406      REAL(wp), DIMENSION(jpi,jpj,0:1,0:1) ::   zti_mlb, ztj_mlb            ! for Griffies operator only 
     407      !!---------------------------------------------------------------------- 
     408      ! 
     409      IF( ln_timing )   CALL timing_start('ldf_slp_triad') 
     410      ! 
    423411      ! 
    424412      !--------------------------------! 
     
    624612      CALL lbc_lnk( wslp2, 'W', 1. )      ! lateral boundary confition on wslp2 only   ==>>> gm : necessary ? to be checked 
    625613      ! 
    626       CALL wrk_dealloc( jpi,jpj, z1_mlbw ) 
    627       CALL wrk_dealloc( jpi,jpj,jpk, zalbet ) 
    628       CALL wrk_dealloc( jpi,jpj,jpk,2, zdxrho , zdyrho, zdzrho,              klstart = 0  ) 
    629       CALL wrk_dealloc( jpi,jpj,  2,2, zti_mlb, ztj_mlb,        kkstart = 0, klstart = 0  ) 
    630       ! 
    631       IF( nn_timing == 1 )  CALL timing_stop('ldf_slp_triad') 
     614      IF( ln_timing )   CALL timing_stop('ldf_slp_triad') 
    632615      ! 
    633616   END SUBROUTINE ldf_slp_triad 
     
    663646      !!---------------------------------------------------------------------- 
    664647      ! 
    665       IF( nn_timing == 1 )  CALL timing_start('ldf_slp_mxl') 
     648      IF( ln_timing )   CALL timing_start('ldf_slp_mxl') 
    666649      ! 
    667650      zeps   =  1.e-20_wp        !==   Local constant initialization   ==! 
     
    746729      CALL lbc_lnk( wslpiml, 'W', -1. )   ;   CALL lbc_lnk( wslpjml, 'W', -1. )   ! lateral boundary conditions 
    747730      ! 
    748       IF( nn_timing == 1 )  CALL timing_stop('ldf_slp_mxl') 
     731      IF( ln_timing )   CALL timing_stop('ldf_slp_mxl') 
    749732      ! 
    750733   END SUBROUTINE ldf_slp_mxl 
     
    763746      !!---------------------------------------------------------------------- 
    764747      ! 
    765       IF( nn_timing == 1 )  CALL timing_start('ldf_slp_init') 
     748      IF( ln_timing )   CALL timing_start('ldf_slp_init') 
    766749      ! 
    767750      IF(lwp) THEN 
     
    821804      ENDIF 
    822805      ! 
    823       IF( nn_timing == 1 )  CALL timing_stop('ldf_slp_init') 
     806      IF( ln_timing )   CALL timing_stop('ldf_slp_init') 
    824807      ! 
    825808   END SUBROUTINE ldf_slp_init 
Note: See TracChangeset for help on using the changeset viewer.