Changeset 5040


Ignore:
Timestamp:
2015-01-22T14:23:26+01:00 (6 years ago)
Author:
smasson
Message:

supress wrk_alloc( jpidta, jpjdta, see ticket #1440

Location:
trunk/NEMOGCM/NEMO/OPA_SRC
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMOGCM/NEMO/OPA_SRC/DOM/domzgr.F90

    r5015 r5040  
    365365      INTEGER  ::   ji, jj, jl, jk            ! dummy loop indices 
    366366      INTEGER  ::   inum                      ! temporary logical unit 
     367      INTEGER  ::   ierror                    ! error flag 
    367368      INTEGER  ::   ii_bump, ij_bump, ih      ! bump center position 
    368369      INTEGER  ::   ii0, ii1, ij0, ij1, ik    ! local indices 
    369370      REAL(wp) ::   r_bump , h_bump , h_oce   ! bump characteristics  
    370371      REAL(wp) ::   zi, zj, zh, zhmin         ! local scalars 
    371       INTEGER , POINTER, DIMENSION(:,:) ::   idta   ! global domain integer data 
    372       REAL(wp), POINTER, DIMENSION(:,:) ::   zdta   ! global domain scalar data 
     372      INTEGER , ALLOCATABLE, DIMENSION(:,:) ::   idta   ! global domain integer data 
     373      REAL(wp), ALLOCATABLE, DIMENSION(:,:) ::   zdta   ! global domain scalar data 
    373374      !!---------------------------------------------------------------------- 
    374375      ! 
    375376      IF( nn_timing == 1 )  CALL timing_start('zgr_bat') 
    376       ! 
    377       CALL wrk_alloc( jpidta, jpjdta, idta ) 
    378       CALL wrk_alloc( jpidta, jpjdta, zdta ) 
    379377      ! 
    380378      IF(lwp) WRITE(numout,*) 
     
    385383         !                                            ! ================== ! 
    386384         !                                            ! global domain level and meter bathymetry (idta,zdta) 
     385         ! 
     386         ALLOCATE( idta(jpidta,jpjdta), STAT=ierror ) 
     387         IF( ierror > 0 )   CALL ctl_stop( 'STOP', 'zgr_bat: unable to allocate idta array' ) 
     388         ALLOCATE( zdta(jpidta,jpjdta), STAT=ierror ) 
     389         IF( ierror > 0 )   CALL ctl_stop( 'STOP', 'zgr_bat: unable to allocate zdta array' ) 
    387390         ! 
    388391         IF( ntopo == 0 ) THEN                        ! flat basin 
     
    489492            WHERE( bathy(:,:) <= 0._wp )  risfdep(:,:) = 0._wp 
    490493         END IF 
     494         ! 
     495         DEALLOCATE( idta, zdta ) 
    491496         ! 
    492497         !                                            ! ================ ! 
     
    593598      ENDIF 
    594599      ! 
    595       CALL wrk_dealloc( jpidta, jpjdta, idta ) 
    596       CALL wrk_dealloc( jpidta, jpjdta, zdta ) 
    597       ! 
    598600      IF( nn_timing == 1 )  CALL timing_stop('zgr_bat') 
    599601      ! 
  • trunk/NEMOGCM/NEMO/OPA_SRC/LDF/ldfdyn_c2d.h90

    r4325 r5040  
    146146      INTEGER  ::   inum, iim, ijm            ! local integers 
    147147      INTEGER  ::   ifreq, il1, il2, ij, ii 
    148       INTEGER  ::   ijpt0,ijpt1 
     148      INTEGER  ::   ijpt0,ijpt1, ierror 
    149149      REAL(wp) ::   zahmeq, zcoft, zcoff, zmsk 
    150150      CHARACTER (len=15) ::   clexp 
    151       INTEGER, POINTER, DIMENSION(:,:)  :: icof 
    152       INTEGER, POINTER, DIMENSION(:,:)  :: idata 
     151      INTEGER,     POINTER, DIMENSION(:,:)  :: icof 
     152      INTEGER, ALLOCATABLE, DIMENSION(:,:)  :: idata 
    153153      !!---------------------------------------------------------------------- 
    154154      !                                 
    155155      CALL wrk_alloc( jpi   , jpj   , icof  ) 
    156       CALL wrk_alloc( jpidta, jpjdta, idata ) 
    157156      ! 
    158157      IF(lwp) WRITE(numout,*) 
     
    234233         ! ===================== equatorial strip (20N-20S) defined at t-points 
    235234          
     235         ALLOCATE( idata(jpidta,jpjdta), STAT=ierror ) 
     236         IF( ierror > 0 )   CALL ctl_stop( 'STOP', 'ldf_dyn_c2d_orca: unable to allocate idata array' ) 
     237         ! 
    236238         CALL ctl_opn( inum, 'ahmcoef', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp ) 
    237239         READ(inum,9101) clexp, iim, ijm 
     
    2692719201     FORMAT(3x,13(i3,12x)) 
    2702729202     FORMAT(i3,41i3) 
    271  
     273          
     274         DEALLOCATE(idata) 
    272275 
    273276         ! Set ahm1 and ahm2  ( T- and F- points) (used for laplacian operator) 
     
    346349      ! 
    347350      CALL wrk_dealloc( jpi   , jpj   , icof  ) 
    348       CALL wrk_dealloc( jpidta, jpjdta, idata ) 
    349351      ! 
    350352   END SUBROUTINE ldf_dyn_c2d_orca 
     
    374376      INTEGER ::   iim, ijm 
    375377      INTEGER ::   ifreq, il1, il2, ij, ii 
    376       INTEGER ::   ijpt0,ijpt1 
     378      INTEGER ::   ijpt0,ijpt1, ierror 
    377379      REAL(wp) ::   zahmeq, zcoft, zcoff, zmsk, zam20s 
    378380      CHARACTER (len=15) ::   clexp 
    379       INTEGER, POINTER, DIMENSION(:,:)  :: icof 
    380       INTEGER, POINTER, DIMENSION(:,:)  :: idata 
     381      INTEGER,     POINTER, DIMENSION(:,:)  :: icof 
     382      INTEGER, ALLOCATABLE, DIMENSION(:,:)  :: idata 
    381383      !!---------------------------------------------------------------------- 
    382384      !                                 
    383385      CALL wrk_alloc( jpi   , jpj   , icof  ) 
    384       CALL wrk_alloc( jpidta, jpjdta, idata ) 
    385386      !                                 
    386387 
     
    464465         ! ===================== equatorial strip (20N-20S) defined at t-points 
    465466          
     467         ALLOCATE( idata(jpidta,jpjdta), STAT=ierror ) 
     468         IF( ierror > 0 )   CALL ctl_stop( 'STOP', 'ldf_dyn_c2d_orca_R1: unable to allocate idata array' ) 
     469         ! 
    466470         CALL ctl_opn( inum, 'ahmcoef', 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL',   & 
    467471            &           1, numout, lwp ) 
     
    5015059201     FORMAT(3x,13(i3,12x)) 
    5025069202     FORMAT(i3,41i3) 
    503  
     507          
     508         DEALLOCATE(idata) 
    504509 
    505510         ! Set ahm1 and ahm2  ( T- and F- points) (used for laplacian operator) 
     
    583588      ! 
    584589      CALL wrk_dealloc( jpi   , jpj   , icof  ) 
    585       CALL wrk_dealloc( jpidta, jpjdta, idata ) 
    586590      ! 
    587591   END SUBROUTINE ldf_dyn_c2d_orca_R1 
Note: See TracChangeset for help on using the changeset viewer.