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 11467 for NEMO/branches/UKMO/dev_r10037_GPU/src/OCE/TRA – NEMO

Ignore:
Timestamp:
2019-08-22T11:49:08+02:00 (5 years ago)
Author:
andmirek
Message:

Ticket #2197 allocate arrays at the beggining of the run

Location:
NEMO/branches/UKMO/dev_r10037_GPU/src/OCE/TRA
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/UKMO/dev_r10037_GPU/src/OCE/TRA/traadv.F90

    r10843 r11467  
    8383      !! ** Method  : - Update (ua,va) with the advection term following nadv 
    8484      !!---------------------------------------------------------------------- 
     85      USE scoce, ONLY : zun => scr1, zvn => scr2, zwn => scr3, &  ! 3D workspace 
     86                       ztrdt => scr4, ztrds => scr5 
    8587      INTEGER, INTENT(in) ::   kt   ! ocean time-step index 
    8688      ! 
    8789      INTEGER ::   jk   ! dummy loop index 
    88       REAL(wp), DIMENSION(jpi,jpj,jpk)        :: zun, zvn, zwn   ! 3D workspace 
    89       REAL(wp), DIMENSION(:,:,:), ALLOCATABLE ::   ztrdt, ztrds 
    9090      !!---------------------------------------------------------------------- 
    9191      ! 
     
    138138      ! 
    139139      IF( l_trdtra )   THEN                    !* Save ta and sa trends 
    140          ALLOCATE( ztrdt(jpi,jpj,jpk), ztrds(jpi,jpj,jpk) ) 
    141140         ztrdt(:,:,:) = tsa(:,:,:,jp_tem) 
    142141         ztrds(:,:,:) = tsa(:,:,:,jp_sal) 
     
    165164         CALL trd_tra( kt, 'TRA', jp_tem, jptra_totad, ztrdt ) 
    166165         CALL trd_tra( kt, 'TRA', jp_sal, jptra_totad, ztrds ) 
    167          DEALLOCATE( ztrdt, ztrds ) 
    168166      ENDIF 
    169167      !                                              ! print mean trends (used for debugging) 
  • NEMO/branches/UKMO/dev_r10037_GPU/src/OCE/TRA/tranxt.F90

    r10843 r11467  
    8686      !! ** Action  : - tsb & tsn ready for the next time step 
    8787      !!---------------------------------------------------------------------- 
     88      USE scoce, ONLY : ztrdt => scr1, ztrds => scr2  
    8889      INTEGER, INTENT(in) ::   kt    ! ocean time-step index 
    8990      !! 
    9091      INTEGER  ::   ji, jj, jk, jn   ! dummy loop indices 
    9192      REAL(wp) ::   zfact            ! local scalars 
    92       REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) ::   ztrdt, ztrds 
    9393      !!---------------------------------------------------------------------- 
    9494      ! 
     
    118118      ! trends computation initialisation 
    119119      IF( l_trdtra )   THEN                     
    120          ALLOCATE( ztrdt(jpi,jpj,jpk) , ztrds(jpi,jpj,jpk) ) 
    121120         ztrdt(:,:,jpk) = 0._wp 
    122121         ztrds(:,:,jpk) = 0._wp 
     
    178177         CALL trd_tra( kt, 'TRA', jp_sal, jptra_atf, ztrds ) 
    179178      END IF 
    180       IF( l_trdtra )   DEALLOCATE( ztrdt , ztrds ) 
    181179      ! 
    182180      !                        ! control print 
  • NEMO/branches/UKMO/dev_r10037_GPU/src/OCE/TRA/traqsr.F90

    r10843 r11467  
    101101      !!              Morel, A. et Berthon, JF, 1989, Limnol Oceanogr 34(8), 1545-1562 
    102102      !!---------------------------------------------------------------------- 
     103      USE scoce, ONLY : zekb => scr2D1, zekg => scr2D2, zekr => scr2D3, & 
     104                       ze0 => scr1, ze1 => scr2, ze2 => scr3, ze3 => scr4, zea => scr5, ztrdt => scr6, & 
     105                       zetot => scr7, zchl3d => scr8  
    103106      INTEGER, INTENT(in) ::   kt     ! ocean time-step 
    104107      ! 
     
    111114      REAL(wp) ::   zCb, zCmax, zze, zpsi, zpsimax, zdelpsi, zCtot, zCze 
    112115      REAL(wp) ::   zlogc, zlogc2, zlogc3  
    113       REAL(wp), ALLOCATABLE, DIMENSION(:,:)   :: zekb, zekg, zekr 
    114       REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: ze0, ze1, ze2, ze3, zea, ztrdt 
    115       REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: zetot, zchl3d 
    116116      !!---------------------------------------------------------------------- 
    117117      ! 
     
    125125      ! 
    126126      IF( l_trdtra ) THEN      ! trends diagnostic: save the input temperature trend 
    127          ALLOCATE( ztrdt(jpi,jpj,jpk) )  
    128127         ztrdt(:,:,:) = tsa(:,:,:,jp_tem) 
    129128      ENDIF 
     
    158157         ! 
    159158      CASE( np_RGB , np_RGBc )         !==  R-G-B fluxes  ==! 
    160          ! 
    161          ALLOCATE( zekb(jpi,jpj)     , zekg(jpi,jpj)     , zekr  (jpi,jpj)     , & 
    162             &      ze0 (jpi,jpj,jpk) , ze1 (jpi,jpj,jpk) , ze2   (jpi,jpj,jpk) , & 
    163             &      ze3 (jpi,jpj,jpk) , zea (jpi,jpj,jpk) , zchl3d(jpi,jpj,jpk)   )  
    164159         ! 
    165160         IF( nqsr == np_RGBc ) THEN          !*  Variable Chlorophyll 
     
    239234         END DO 
    240235         ! 
    241          DEALLOCATE( zekb , zekg , zekr , ze0 , ze1 , ze2 , ze3 , zea , zchl3d )  
    242          ! 
    243236      CASE( np_2BD  )            !==  2-bands fluxes  ==! 
    244237         ! 
     
    278271      ! 
    279272      IF( iom_use('qsr3d') ) THEN      ! output the shortwave Radiation distribution 
    280          ALLOCATE( zetot(jpi,jpj,jpk) ) 
    281273         zetot(:,:,nksr+1:jpk) = 0._wp     ! below ~400m set to zero 
    282274         DO jk = nksr, 1, -1 
     
    284276         END DO          
    285277         CALL iom_put( 'qsr3d', zetot )   ! 3D distribution of shortwave Radiation 
    286          DEALLOCATE( zetot )  
    287278      ENDIF 
    288279      ! 
     
    297288         ztrdt(:,:,:) = tsa(:,:,:,jp_tem) - ztrdt(:,:,:) 
    298289         CALL trd_tra( kt, 'TRA', jp_tem, jptra_qsr, ztrdt ) 
    299          DEALLOCATE( ztrdt )  
    300290      ENDIF 
    301291      !                       ! print mean trends (used for debugging) 
  • NEMO/branches/UKMO/dev_r10037_GPU/src/OCE/TRA/trasbc.F90

    r10843 r11467  
    7373      !!              - send trends to trdtra module for further diagnostics(l_trdtra=T) 
    7474      !!---------------------------------------------------------------------- 
     75      USE scoce, ONLY : ztrdt => scr1, ztrds => scr2 
    7576      INTEGER, INTENT(in) ::   kt   ! ocean time-step index 
    7677      ! 
     
    7879      INTEGER  ::   ikt, ikb                    ! local integers 
    7980      REAL(wp) ::   zfact, z1_e3t, zdep, ztim   ! local scalar 
    80       REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) ::  ztrdt, ztrds 
    8181      !!---------------------------------------------------------------------- 
    8282      ! 
     
    9090      ! 
    9191      IF( l_trdtra ) THEN                    !* Save ta and sa trends 
    92          ALLOCATE( ztrdt(jpi,jpj,jpk) , ztrds(jpi,jpj,jpk) )  
    9392         ztrdt(:,:,:) = tsa(:,:,:,jp_tem) 
    9493         ztrds(:,:,:) = tsa(:,:,:,jp_sal) 
     
    276275         CALL trd_tra( kt, 'TRA', jp_tem, jptra_nsr, ztrdt ) 
    277276         CALL trd_tra( kt, 'TRA', jp_sal, jptra_nsr, ztrds ) 
    278          DEALLOCATE( ztrdt , ztrds )  
    279277      ENDIF 
    280278      ! 
Note: See TracChangeset for help on using the changeset viewer.