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 3169 – NEMO

Changeset 3169


Ignore:
Timestamp:
2011-11-22T10:53:46+01:00 (12 years ago)
Author:
cetlod
Message:

New memory allocation for some forgotten TOP routines

Location:
branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/prtctl_trc.F90

    r2715 r3169  
    6767      INTEGER                              , INTENT(in), OPTIONAL ::   kdim      ! k- direction for 4D arrays 
    6868      !! 
    69       REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: zmask, ztab3d  
    7069      INTEGER  ::   overlap, jn, js, sind, eind, kdir, j_id 
    7170      REAL(wp) ::   zsum, zvctl 
    7271      CHARACTER (len=20), DIMENSION(jptra) ::   cl 
    7372      CHARACTER (len=10) ::   cl2 
    74       !!---------------------------------------------------------------------- 
    75  
    76       ALLOCATE( zmask (jpi,jpj,jpk) ) 
    77       ALLOCATE( ztab3d(jpi,jpj,jpk) ) 
     73      REAL(wp), POINTER, DIMENSION(:,:,:)  :: zmask, ztab3d  
     74      !!---------------------------------------------------------------------- 
     75 
     76      CALL wrk_alloc( jpi, jpj, jpk, zmask, ztab3d ) 
    7877      !                                      ! Arrays, scalars initialization  
    7978      overlap       = 0 
     
    151150      END DO 
    152151      ! 
    153       DEALLOCATE( zmask  ) 
    154       DEALLOCATE( ztab3d ) 
     152      CALL wrk_dealloc( jpi, jpj, jpk, zmask, ztab3d ) 
    155153      ! 
    156154   END SUBROUTINE prt_ctl_trc 
     
    336334      INTEGER ::   nrecil, nrecjl, nldil, nleil, nldjl, nlejl 
    337335      REAL(wp) ::   zidom, zjdom            ! temporary scalars 
    338       INTEGER, DIMENSION(:,:), ALLOCATABLE ::   iimpptl, ijmpptl, ilcitl, ilcjtl   ! temporary workspace 
    339       !!---------------------------------------------------------------------- 
    340  
     336      INTEGER, POINTER, DIMENSION(:,:) ::   iimpptl, ijmpptl, ilcitl, ilcjtl   ! temporary workspace 
     337      !!---------------------------------------------------------------------- 
     338      ! 
     339      CALL wrk_alloc( isplt, jsplt, ilcitl, ilcjtl, iimpptl, ijmpptl ) 
     340      ! 
    341341      ! Dimension arrays for subdomains 
    342342      ! ------------------------------- 
     
    350350      ijpj = ( jpjglo-2*jprecj + (jsplt-1) ) / jsplt + 2*jprecj 
    351351 
    352       ALLOCATE( ilcitl (isplt,jsplt) ) 
    353       ALLOCATE( ilcjtl (isplt,jsplt) ) 
    354  
    355352      nrecil  = 2 * jpreci 
    356353      nrecjl  = 2 * jprecj 
     
    391388      ! --------------------------- 
    392389 
    393       ALLOCATE( iimpptl(isplt,jsplt) ) 
    394       ALLOCATE( ijmpptl(isplt,jsplt) ) 
    395        
    396390      iimpptl(:,:) = 1 
    397391      ijmpptl(:,:) = 1 
     
    450444         nlejtl(js) = nlejl 
    451445      END DO 
    452  
    453       DEALLOCATE( iimpptl ) 
    454       DEALLOCATE( ijmpptl ) 
    455       DEALLOCATE( ilcitl ) 
    456       DEALLOCATE( ilcjtl ) 
     446      ! 
     447      CALL wrk_dealloc( isplt, jsplt, ilcitl, ilcjtl, iimpptl, ijmpptl ) 
    457448      ! 
    458449   END SUBROUTINE sub_dom 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/trcini.F90

    r3166 r3169  
    6060      INTEGER ::   ierr          ! local integer 
    6161      CHARACTER (len=25) :: charout 
    62       REAL(wp), ALLOCATABLE, DIMENSION(:,:,:,:) ::  ztrcdta   ! 4D  workspace 
     62      REAL(wp), POINTER, DIMENSION(:,:,:,:) ::  ztrcdta   ! 4D  workspace 
    6363      !!--------------------------------------------------------------------- 
    6464      ! 
     
    118118        ENDIF 
    119119        IF( ln_trcdta .AND. nb_trcdta > 0 ) THEN  ! Initialisation of tracer from a file that may also be used for damping 
    120             ALLOCATE( ztrcdta(jpi,jpj,jpk,nb_trcdta), STAT=ierr ) 
    121             IF( ierr > 0 ) THEN 
    122                CALL ctl_stop( 'trc_ini: unable to allocate ztrcdta array' )   ;   RETURN 
    123             ENDIF 
     120            ! 
     121            CALL wrk_alloc( jpi, jpj, jpk, nb_trcdta, ztrcdta )    ! Memory allocation 
    124122            ! 
    125123            CALL trc_dta( nit000, ztrcdta )   ! read tracer data at nit000 
     
    131129               ENDIF 
    132130            ENDDO 
    133             DEALLOCATE( ztrcdta )  
     131            CALL wrk_dealloc( jpi, jpj, jpk, nb_trcdta, ztrcdta ) 
    134132        ENDIF 
    135133        ! 
Note: See TracChangeset for help on using the changeset viewer.