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 3160 for branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/TRP – NEMO

Ignore:
Timestamp:
2011-11-20T15:27:18+01:00 (13 years ago)
Author:
cetlod
Message:

Add timing in TOP routines

Location:
branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/TRP
Files:
8 edited

Legend:

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

    r3153 r3160  
    7575      !!---------------------------------------------------------------------- 
    7676      ! 
     77      IF( nn_timing == 1 )  CALL timing_start('trc_adv') 
     78      ! 
    7779      CALL wrk_alloc( jpi, jpj, jpk, zun, zvn, zwn ) 
    7880      ! 
     
    140142      ! 
    141143      CALL wrk_dealloc( jpi, jpj, jpk, zun, zvn, zwn ) 
     144      ! 
     145      IF( nn_timing == 1 )  CALL timing_stop('trc_adv') 
    142146      ! 
    143147   END SUBROUTINE trc_adv 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/TRP/trcbbl.F90

    r3116 r3160  
    5353      INTEGER, INTENT( in ) ::   kt   ! ocean time-step  
    5454      CHARACTER (len=22) :: charout 
    55       REAL(wp), DIMENSION(:,:,:,:), ALLOCATABLE ::   ztrtrd 
     55      REAL(wp), POINTER, DIMENSION(:,:,:,:) ::   ztrtrd 
    5656      !!---------------------------------------------------------------------- 
    57  
     57      ! 
     58      IF( nn_timing == 1 )  CALL timing_start('trc_bbl') 
     59      ! 
    5860      IF( .NOT. lk_offline .AND. nn_dttrc == 1 ) THEN 
    5961         CALL bbl( kt, nittrc000, 'TRC' )      ! Online coupling with dynamics  : Computation of bbl coef and bbl transport 
     
    6264 
    6365      IF( l_trdtrc )  THEN 
    64          ALLOCATE( ztrtrd(jpi,jpj,jpk,jptra) ) ! temporary save of trends 
     66         CALL wrk_alloc( jpi, jpj, jpk, jptra, ztrtrd ) ! temporary save of trends 
    6567         ztrtrd(:,:,:,:)  = tra(:,:,:,:) 
    6668      ENDIF 
     
    9395           CALL trd_tra( kt, 'TRC', jn, jptra_trd_ldf, ztrtrd(:,:,:,jn) ) 
    9496        END DO 
    95         DEALLOCATE( ztrtrd ) 
     97        CALL wrk_dealloc( jpi, jpj, jpk, jptra, ztrtrd ) ! temporary save of trends 
    9698      ENDIF 
     99      ! 
     100      IF( nn_timing == 1 ) CALL timing_stop('trc_bbl') 
    97101      ! 
    98102   END SUBROUTINE trc_bbl 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/TRP/trcdmp.F90

    r3116 r3160  
    8989      REAL(wp) ::   ztra                 ! temporary scalars 
    9090      CHARACTER (len=22) :: charout 
    91       REAL(wp), DIMENSION(:,:,:), ALLOCATABLE ::   ztrtrd 
    92       !!---------------------------------------------------------------------- 
    93  
     91      REAL(wp), POINTER, DIMENSION(:,:,:) ::   ztrtrd 
     92      !!---------------------------------------------------------------------- 
     93      ! 
     94      IF( nn_timing == 1 )  CALL timing_start('trc_dmp') 
     95      ! 
    9496      ! 0. Initialization (first time-step only) 
    9597      !    -------------- 
    9698      IF( kt == nittrc000 ) CALL trc_dmp_init 
    9799 
    98       IF( l_trdtrc )   ALLOCATE( ztrtrd(jpi,jpj,jpk) )   ! temporary save of trends 
     100      IF( l_trdtrc )   CALL wrk_alloc( jpi, jpj, jpk, ztrtrd )   ! temporary save of trends 
    99101 
    100102      ! 1. Newtonian damping trends on tracer fields 
     
    156158      END DO                                                     ! tracer loop 
    157159      !                                                          ! =========== 
    158       IF( l_trdtrc )  DEALLOCATE( ztrtrd ) 
     160      IF( l_trdtrc )  CALL wrk_dealloc( jpi, jpj, jpk, ztrtrd ) 
    159161      !                                          ! print mean trends (used for debugging) 
    160162      IF( ln_ctl )   THEN 
     
    163165      ENDIF 
    164166      ! 
     167      IF( nn_timing == 1 )  CALL timing_stop('trc_dmp') 
     168      ! 
    165169   END SUBROUTINE trc_dmp 
    166170 
     
    175179      !!              called by trc_dmp at the first timestep (nittrc000) 
    176180      !!---------------------------------------------------------------------- 
    177  
     181      ! 
     182      IF( nn_timing == 1 )  CALL timing_start('trc_dmp_init') 
     183      ! 
    178184      SELECT CASE ( nn_hdmp_tr ) 
    179185      CASE (  -1  )   ;   IF(lwp) WRITE(numout,*) '   tracer damping in the Med & Red seas only' 
     
    204210                             &            nn_file_tr, 'TRC'     , restotr                ) 
    205211      ENDIF 
     212      ! 
     213      IF( nn_timing == 1 )  CALL timing_stop('trc_dmp_init') 
    206214      ! 
    207215   END SUBROUTINE trc_dmp_init 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/TRP/trcldf.F90

    r3118 r3160  
    5858      INTEGER            :: jn 
    5959      CHARACTER (len=22) :: charout 
    60       REAL(wp), DIMENSION(:,:,:,:), ALLOCATABLE ::   ztrtrd 
    61       !!---------------------------------------------------------------------- 
    62  
     60      REAL(wp), POINTER, DIMENSION(:,:,:,:) ::   ztrtrd 
     61      !!---------------------------------------------------------------------- 
     62      ! 
     63      IF( nn_timing == 1 )   CALL timing_start('trc_ldf') 
     64      ! 
    6365      IF( kt == nittrc000 )   CALL ldf_ctl          ! initialisation & control of options 
    6466 
     
    6668 
    6769      IF( l_trdtrc )  THEN 
    68          ALLOCATE( ztrtrd(jpi,jpj,jpk,jptra) )  ! temporary save of trends 
     70         CALL wrk_alloc( jpi, jpj, jpk, jptra, ztrtrd ) 
    6971         ztrtrd(:,:,:,:)  = tra(:,:,:,:) 
    7072      ENDIF 
     
    105107           CALL trd_tra( kt, 'TRC', jn, jptra_trd_ldf, ztrtrd(:,:,:,jn) ) 
    106108        END DO 
    107         DEALLOCATE( ztrtrd ) 
     109        CALL wrk_dealloc( jpi, jpj, jpk, jptra, ztrtrd ) 
    108110      ENDIF 
    109111      !                                          ! print mean trends (used for debugging) 
     
    112114                                           CALL prt_ctl_trc( tab4d=tra, mask=tmask, clinfo=ctrcnm, clinfo2='trd' ) 
    113115      ENDIF 
     116      ! 
     117      IF( nn_timing == 1 )   CALL timing_stop('trc_ldf') 
    114118      ! 
    115119   END SUBROUTINE trc_ldf 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/TRP/trcnxt.F90

    r3124 r3160  
    9393      REAL(wp) ::   zfact            ! temporary scalar 
    9494      CHARACTER (len=22) :: charout 
    95       REAL(wp), DIMENSION(:,:,:,:), ALLOCATABLE ::  ztrdt  
     95      REAL(wp), POINTER, DIMENSION(:,:,:,:) ::  ztrdt  
    9696      !!---------------------------------------------------------------------- 
    97  
     97      ! 
     98      IF( nn_timing == 1 )  CALL timing_start('trc_nxt') 
     99      ! 
    98100      IF( kt == nittrc000 .AND. lwp ) THEN 
    99101         WRITE(numout,*) 
     
    125127      ! trends computation initialisation 
    126128      IF( l_trdtrc )  THEN 
    127          ALLOCATE( ztrdt(jpi,jpj,jpk,jptra) )  !* store now fields before applying the Asselin filter 
     129         CALL wrk_alloc( jpi, jpj, jpk, jptra, ztrdt )  !* store now fields before applying the Asselin filter 
    128130         ztrdt(:,:,:,:)  = trn(:,:,:,:) 
    129131      ENDIF 
     
    158160            END DO 
    159161         END DO 
    160          DEALLOCATE( ztrdt ) 
     162         CALL wrk_dealloc( jpi, jpj, jpk, jptra, ztrdt )  
    161163      END IF 
    162164      ! 
     
    166168         CALL prt_ctl_trc(tab4d=trn, mask=tmask, clinfo=ctrcnm) 
    167169      ENDIF 
     170      ! 
     171      IF( nn_timing == 1 )  CALL timing_stop('trc_nxt') 
    168172      ! 
    169173   END SUBROUTINE trc_nxt 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/TRP/trcrad.F90

    r3124 r3160  
    5252      CHARACTER (len=22) :: charout 
    5353      !!---------------------------------------------------------------------- 
    54  
     54      ! 
     55      IF( nn_timing == 1 )  CALL timing_start('trc_rad') 
     56      ! 
    5557      IF( kt == nittrc000 ) THEN 
    5658         IF(lwp) WRITE(numout,*) 
     
    6567      IF( lk_my_trc  )   CALL trc_rad_sms( kt, trb, trn, jp_myt0 , jp_myt1               )  ! MY_TRC model 
    6668 
    67  
    6869      ! 
    6970      IF(ln_ctl) THEN      ! print mean trends (used for debugging) 
     
    7273         CALL prt_ctl_trc( tab4d=trn, mask=tmask, clinfo=ctrcnm ) 
    7374      ENDIF 
     75      ! 
     76      IF( nn_timing == 1 )  CALL timing_stop('trc_rad') 
    7477      ! 
    7578   END SUBROUTINE trc_rad 
     
    107110      REAL(wp) :: ztrcorb, ztrmasb   ! temporary scalars 
    108111      REAL(wp) :: zcoef, ztrcorn, ztrmasn   !    "         " 
    109       REAL(wp), DIMENSION(:,:,:), ALLOCATABLE ::   ztrtrdb  ! workspace arrays 
    110       REAL(wp), DIMENSION(:,:,:), ALLOCATABLE ::   ztrtrdn  ! workspace arrays 
     112      REAL(wp), POINTER, DIMENSION(:,:,:) ::   ztrtrdb, ztrtrdn   ! workspace arrays 
    111113      REAL(wp) :: zs2rdt 
    112114      LOGICAL ::   lldebug = .FALSE. 
    113  
    114       !!---------------------------------------------------------------------- 
    115  
    116       IF( l_trdtrc ) THEN 
    117         ! 
    118         ALLOCATE( ztrtrdb(jpi,jpj,jpk) ) 
    119         ALLOCATE( ztrtrdn(jpi,jpj,jpk) ) 
    120         ! 
    121       ENDIF 
     115      !!---------------------------------------------------------------------- 
     116 
     117  
     118      IF( l_trdtrc )  CALL wrk_alloc( jpi, jpj, jpk, ztrtrdb, ztrtrdn ) 
    122119       
    123120      IF( PRESENT( cpreserv )  ) THEN   !  total tracer concentration is preserved  
     
    200197      ENDIF 
    201198 
    202       IF( l_trdtrc )   DEALLOCATE( ztrtrdb, ztrtrdn ) 
     199      IF( l_trdtrc )  CALL wrk_dealloc( jpi, jpj, jpk, ztrtrdb, ztrtrdn ) 
    203200 
    204201   END SUBROUTINE trc_rad_sms 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/TRP/trcsbc.F90

    r3153 r3160  
    6666      REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrtrd 
    6767      !!--------------------------------------------------------------------- 
    68  
     68      ! 
     69      IF( nn_timing == 1 )  CALL timing_start('trc_sbc') 
     70      ! 
    6971      ! Allocate temporary workspace 
    70       CALL wrk_alloc( jpi, jpj,      zemps  ) 
    71       CALL wrk_alloc( jpi, jpj, jpk, ztrtrd ) 
     72                      CALL wrk_alloc( jpi, jpj,      zemps  ) 
     73      IF( l_trdtrc )  CALL wrk_alloc( jpi, jpj, jpk, ztrtrd ) 
    7274 
    7375      IF( kt == nittrc000 ) THEN 
     
    115117                                           CALL prt_ctl_trc( tab4d=tra, mask=tmask, clinfo=ctrcnm, clinfo2='trd' ) 
    116118      ENDIF 
    117  
    118       CALL wrk_dealloc( jpi, jpj,      zemps  ) 
    119       CALL wrk_dealloc( jpi, jpj, jpk, ztrtrd ) 
    120  
     119                      CALL wrk_dealloc( jpi, jpj,      zemps  ) 
     120      IF( l_trdtrc )  CALL wrk_dealloc( jpi, jpj, jpk, ztrtrd ) 
     121      ! 
     122      IF( nn_timing == 1 )  CALL timing_stop('trc_sbc') 
     123      ! 
    121124   END SUBROUTINE trc_sbc 
    122125 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/TRP/trczdf.F90

    r3124 r3160  
    6666      INTEGER               ::  jk, jn 
    6767      CHARACTER (len=22)    :: charout 
    68       REAL(wp), DIMENSION(:,:,:,:), ALLOCATABLE ::   ztrtrd   ! 4D workspace 
     68      REAL(wp), POINTER, DIMENSION(:,:,:,:) ::   ztrtrd   ! 4D workspace 
    6969      !!--------------------------------------------------------------------- 
    70  
     70      ! 
     71      IF( nn_timing == 1 )  CALL timing_start('trc_zdf') 
     72      ! 
    7173      IF( kt == nittrc000 )   CALL zdf_ctl          ! initialisation & control of options 
    7274 
     
    8284 
    8385      IF( l_trdtrc )  THEN 
    84          ALLOCATE( ztrtrd(jpi,jpj,jpk,jptra) )   ! temporary save of trends 
     86         CALL wrk_alloc( jpi, jpj, jpk, jptra, ztrtrd ) 
    8587         ztrtrd(:,:,:,:)  = tra(:,:,:,:) 
    8688      ENDIF 
     
    106108            CALL trd_tra( kt, 'TRC', jn, jptra_trd_zdf, ztrtrd(:,:,:,jn) ) 
    107109         END DO 
    108          DEALLOCATE( ztrtrd ) 
     110         CALL wrk_dealloc( jpi, jpj, jpk, jptra, ztrtrd ) 
    109111      ENDIF 
    110  
    111112      !                                          ! print mean trends (used for debugging) 
    112113      IF( ln_ctl )   THEN 
     
    114115                                           CALL prt_ctl_trc( tab4d=tra, mask=tmask, clinfo=ctrcnm, clinfo2='trd' ) 
    115116      END IF 
     117      ! 
     118      IF( nn_timing == 1 )  CALL timing_stop('trc_zdf') 
    116119      ! 
    117120   END SUBROUTINE trc_zdf 
Note: See TracChangeset for help on using the changeset viewer.