Changeset 9155


Ignore:
Timestamp:
2017-12-21T14:32:06+01:00 (3 years ago)
Author:
davestorkey
Message:

UKMO/dev_r8600_closea_rewrite branch: Remove wrk_alloc statements in line with NEMO 4.0 practice.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/dev_r8600_closea_rewrite/NEMOGCM/NEMO/OPA_SRC/DOM/closea.F90

    r9080 r9155  
    11MODULE closea 
    22   !!====================================================================== 
    3    !!                   ***  MODULE  usrdef_closea  *** 
     3   !!                   ***  MODULE  closea  *** 
    44   !! 
    55   !! User define : specific treatments associated with closed seas 
     
    3030   USE lib_mpp         ! MPP library 
    3131   USE timing 
    32    USE wrk_nemo        ! Memory allocation 
    3332 
    3433   IMPLICIT NONE 
     
    9594      INTEGER ::   id      ! netcdf variable ID 
    9695 
    97       REAL(wp), POINTER, DIMENSION(:,:) :: zdata_in ! temporary real array for input 
     96      REAL(wp), DIMENSION(jpi,jpj) :: zdata_in ! temporary real array for input 
    9897      !!---------------------------------------------------------------------- 
    9998      ! 
     
    102101      IF(lwp) WRITE(numout,*)'~~~~~~~' 
    103102      ! 
    104       CALL wrk_alloc( jpi,jpj, zdata_in) 
    105       !  
    106103      ! read the closed seas masks (if they exist) from domain_cfg file 
    107104      ! --------------------------------------------------------------- 
     
    179176      CALL iom_close( inum ) 
    180177      ! 
    181       CALL wrk_dealloc(jpi,jpj, zdata_in) 
    182       ! 
    183178   END SUBROUTINE dom_clo 
    184179 
     
    202197      REAL(wp), PARAMETER ::   rsmall = 1.e-20_wp    ! Closed sea correction epsilon 
    203198      REAL(wp)            ::   zfwf_total, zcoef, zcoef1         !  
    204       REAL(wp), POINTER, DIMENSION(:)   ::   zfwf, zfwfr, zfwfe     ! freshwater fluxes over closed seas 
    205       REAL(wp), POINTER, DIMENSION(:,:) ::   ztmp2d   ! 2D workspace 
     199      REAL(wp), DIMENSION(jncs)    ::   zfwf      !: 
     200      REAL(wp), DIMENSION(jncsr+1) ::   zfwfr     !: freshwater fluxes over closed seas 
     201      REAL(wp), DIMENSION(jncse+1) ::   zfwfe     !:  
     202      REAL(wp), DIMENSION(jpi,jpj) ::   ztmp2d   ! 2D workspace 
    206203      !!---------------------------------------------------------------------- 
    207204      ! 
    208205      IF( nn_timing == 1 )  CALL timing_start('sbc_clo') 
    209206      ! 
    210       CALL wrk_alloc( jncs, zfwf ) 
    211       ! jncsr and jncse can be zero so add 1 to avoid allocating zero-length arrays 
    212       CALL wrk_alloc( jncsr+1, zfwfr ) 
    213       CALL wrk_alloc( jncse+1, zfwfe ) 
    214       CALL wrk_alloc( jpi,jpj, ztmp2d ) 
    215207      !                                                   !------------------!  
    216208      IF( kt == nit000 ) THEN                             !  Initialisation  ! 
     
    395387      CALL lbc_lnk( emp , 'T', 1._wp ) 
    396388      ! 
    397       CALL wrk_dealloc( jncs   , zfwf ) 
    398       CALL wrk_dealloc( jncsr+1  , zfwfr ) 
    399       CALL wrk_dealloc( jncse+1  , zfwfe ) 
    400       CALL wrk_dealloc( jpi,jpj, ztmp2d ) 
    401       ! 
    402389      IF( nn_timing == 1 )  CALL timing_stop('sbc_clo') 
    403390      ! 
     
    449436      INTEGER, DIMENSION(:,:), INTENT(inout) ::   k_top, k_bot   ! ocean first and last level indices 
    450437      INTEGER                           :: inum, id 
    451       INTEGER,  POINTER, DIMENSION(:,:) :: closea_mask ! closea_mask field 
    452       REAL(wp), POINTER, DIMENSION(:,:) :: zdata_in ! temporary real array for input 
     438      INTEGER,  DIMENSION(jpi,jpj) :: closea_mask ! closea_mask field 
     439      REAL(wp), DIMENSION(jpi,jpj) :: zdata_in ! temporary real array for input 
    453440      !!---------------------------------------------------------------------- 
    454441      ! 
     
    464451      IF( id > 0 ) THEN 
    465452         IF( lwp ) WRITE(numout,*) 'Suppressing closed seas in bathymetry based on closea_mask field,' 
    466          CALL wrk_alloc( jpi,jpj, zdata_in) 
    467          CALL wrk_alloc( jpi,jpj, closea_mask) 
    468453         CALL iom_get ( inum, jpdom_data, 'closea_mask', zdata_in ) 
    469454         closea_mask(:,:) = NINT(zdata_in(:,:)) 
     
    472457            k_bot(:,:) = 0    
    473458         ENDWHERE 
    474          CALL wrk_dealloc( jpi,jpj, zdata_in) 
    475          CALL wrk_dealloc( jpi,jpj, closea_mask) 
    476459      ELSE 
    477460         IF( lwp ) WRITE(numout,*) 'No closea_mask field found in domain_cfg file. No suppression of closed seas.' 
Note: See TracChangeset for help on using the changeset viewer.