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

Changeset 3160


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

Add timing in TOP routines

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

Legend:

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

    r3153 r3160  
    113113      REAL(wp), POINTER, DIMENSION(:,:,:) :: zdecay 
    114114      !!--------------------------------------------------------------------- 
    115  
     115      ! 
     116      IF( nn_timing == 1 )  CALL timing_start('trc_sms_c14b') 
     117      ! 
    116118      ! Allocate temporary workspace 
    117119      CALL wrk_alloc( jpi, jpj,      zatmbc14 ) 
     
    286288      CALL wrk_dealloc( jpi, jpj, jpk, zdecay   ) 
    287289      ! 
     290      IF( nn_timing == 1 )  CALL timing_stop('trc_sms_c14b') 
     291      ! 
    288292   END SUBROUTINE trc_sms_c14b 
    289293 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/CFC/trcsms_cfc.F90

    r3116 r3160  
    9090      REAL(wp), ALLOCATABLE, DIMENSION(:,:)  ::   zpatm     ! atmospheric function 
    9191      !!---------------------------------------------------------------------- 
     92      ! 
     93      ! 
     94      IF( nn_timing == 1 )  CALL timing_start('trc_sms_cfc') 
    9295      ! 
    9396      ALLOCATE( zpatm(jphem,jp_cfc), STAT=ierr ) 
     
    192195      END IF 
    193196      ! 
     197      IF( nn_timing == 1 )  CALL timing_stop('trc_sms_cfc') 
     198      ! 
    194199   END SUBROUTINE trc_sms_cfc 
    195200 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/LOBSTER/trcbio.F90

    r3153 r3160  
    7777      CHARACTER (len=25) :: charout 
    7878      !!--------------------------------------------------------------------- 
    79  
     79      ! 
     80      IF( nn_timing == 1 )  CALL timing_start('trc_bio') 
     81      ! 
    8082      IF( ln_diatrc ) THEN 
    8183         CALL wrk_alloc( jpi, jpj,     17, zw2d ) 
     
    440442      ENDIF 
    441443      ! 
     444      IF( nn_timing == 1 )  CALL timing_stop('trc_bio') 
     445      ! 
    442446   END SUBROUTINE trc_bio 
    443447 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/LOBSTER/trcexp.F90

    r3124 r3160  
    6161      CHARACTER (len=25) :: charout 
    6262      !!--------------------------------------------------------------------- 
    63  
     63      ! 
     64      IF( nn_timing == 1 )  CALL timing_start('trc_exp') 
     65      ! 
    6466      IF( kt == nittrc000 ) THEN 
    6567         IF(lwp) WRITE(numout,*) 
     
    155157         CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm) 
    156158      ENDIF 
    157  
     159      ! 
     160      IF( nn_timing == 1 )  CALL timing_stop('trc_exp') 
     161      ! 
    158162   END SUBROUTINE trc_exp 
    159163 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/LOBSTER/trcopt.F90

    r3153 r3160  
    6363      REAL(wp), POINTER, DIMENSION(:,:,:) :: zparr, zparg 
    6464      !!--------------------------------------------------------------------- 
    65  
     65      ! 
     66      IF( nn_timing == 1 )  CALL timing_start('trc_opt') 
     67      ! 
    6668      ! Allocate temporary workspace 
    6769      CALL wrk_alloc( jpi, jpj,      zpar100, zpar0m ) 
     
    136138      CALL wrk_dealloc( jpi, jpj, jpk, zparr, zparg    ) 
    137139      ! 
     140      IF( nn_timing == 1 )  CALL timing_stop('trc_opt') 
     141      ! 
    138142   END SUBROUTINE trc_opt 
    139143 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/LOBSTER/trcsed.F90

    r3153 r3160  
    6464      REAL(wp), POINTER, DIMENSION(:,:,:) :: zwork, ztra, ztrbio 
    6565      !!--------------------------------------------------------------------- 
    66  
     66      ! 
     67      IF( nn_timing == 1 )  CALL timing_start('trc_sed') 
     68      ! 
    6769      IF( kt == nittrc000 ) THEN 
    6870         IF(lwp) WRITE(numout,*) 
     
    137139      ENDIF 
    138140      ! 
     141      IF( nn_timing == 1 )  CALL timing_stop('trc_sed') 
     142      ! 
    139143   END SUBROUTINE trc_sed 
    140144 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/LOBSTER/trcsms_lobster.F90

    r2977 r3160  
    5050      INTEGER :: jn 
    5151      !! -------------------------------------------------------------------- 
    52  
     52      ! 
     53      IF( nn_timing == 1 )  CALL timing_start('trc_sms_lobster') 
     54      ! 
    5355      CALL trc_opt( kt )      ! optical model 
    5456      CALL trc_bio( kt )      ! biological model 
     
    6365 
    6466      IF( lk_trdmld_trc )  CALL trd_mld_bio( kt )   ! trends: Mixed-layer 
     67      ! 
     68      IF( nn_timing == 1 )  CALL timing_stop('trc_sms_lobster') 
    6569      ! 
    6670   END SUBROUTINE trc_sms_lobster 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/MY_TRC/trcsms_my_trc.F90

    r3153 r3160  
    4646      INTEGER ::   jn   ! dummy loop index 
    4747      !!---------------------------------------------------------------------- 
    48  
     48      ! 
     49      IF( nn_timing == 1 )  CALL timing_start('trc_sms_my_trc') 
     50      ! 
    4951      IF(lwp) WRITE(numout,*) 
    5052      IF(lwp) WRITE(numout,*) ' trc_sms_my_trc:  MY_TRC model' 
     
    7274          CALL wrk_dealloc( jpi, jpj, jpk, ztrmyt )  
    7375      END IF 
     76      ! 
     77      IF( nn_timing == 1 )  CALL timing_stop('trc_sms_my_trc') 
    7478      ! 
    7579   END SUBROUTINE trc_sms_my_trc 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/PISCES/p4zbio.F90

    r2977 r3160  
    6262 
    6363      !!--------------------------------------------------------------------- 
    64  
     64      ! 
     65      IF( nn_timing == 1 )  CALL timing_start('p4z_bio') 
     66      ! 
    6567      !     ASSIGN THE SHEAR RATE THAT IS USED FOR AGGREGATION 
    6668      !     OF PHYTOPLANKTON AND DETRITUS 
     
    129131      ENDIF 
    130132      ! 
     133      IF( nn_timing == 1 )  CALL timing_stop('p4z_bio') 
     134      ! 
    131135   END SUBROUTINE p4z_bio 
    132136 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/PISCES/p4zche.F90

    r2977 r3160  
    165165      REAL(wp) ::   zst  , zft  , zcks  , zckf  , zaksp1 
    166166      !!--------------------------------------------------------------------- 
    167  
     167      ! 
     168      IF( nn_timing == 1 )  CALL timing_start('p4z_che') 
     169      ! 
    168170      ! CHEMICAL CONSTANTS - SURFACE LAYER 
    169171      ! ---------------------------------- 
     
    318320      END DO 
    319321      ! 
     322      IF( nn_timing == 1 )  CALL timing_stop('p4z_che') 
     323      ! 
    320324   END SUBROUTINE p4z_che 
    321325 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/PISCES/p4zflx.F90

    r3153 r3160  
    9494      REAL(wp), POINTER, DIMENSION(:,:) :: zkgco2, zkgo2, zh2co3, zoflx  
    9595      !!--------------------------------------------------------------------- 
    96  
    97  
     96      ! 
     97      IF( nn_timing == 1 )  CALL timing_start('p4z_flx') 
    9898      ! 
    9999      CALL wrk_alloc( jpi, jpj, zkgco2, zkgo2, zh2co3, zoflx ) 
     
    240240      CALL wrk_dealloc( jpi, jpj, zkgco2, zkgo2, zh2co3, zoflx ) 
    241241      ! 
     242      IF( nn_timing == 1 )  CALL timing_stop('p4z_flx') 
     243      ! 
    242244   END SUBROUTINE p4z_flx 
    243245 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/PISCES/p4zint.F90

    r2977 r3160  
    4040      REAL(wp) ::   zvar                   ! local variable 
    4141      !!--------------------------------------------------------------------- 
    42  
     42      ! 
     43      IF( nn_timing == 1 )  CALL timing_start('p4z_int') 
     44      ! 
    4345      ! Computation of phyto and zoo metabolic rate 
    4446      ! ------------------------------------------- 
     
    6163      ENDIF 
    6264      ! 
     65      IF( nn_timing == 1 )  CALL timing_stop('p4z_int') 
     66      ! 
    6367   END SUBROUTINE p4z_int 
    6468 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/PISCES/p4zlim.F90

    r3124 r3160  
    7878      REAL(wp) ::   zconc1d, zconc1dnh4, zconc0n, zconc0nnh4    
    7979      !!--------------------------------------------------------------------- 
    80  
     80      ! 
     81      IF( nn_timing == 1 )  CALL timing_start('p4z_lim') 
     82      ! 
    8183      DO jk = 1, jpkm1 
    8284         DO jj = 1, jpj 
     
    171173         END DO 
    172174      END DO 
     175      ! 
     176      IF( nn_timing == 1 )  CALL timing_stop('p4z_lim') 
    173177      ! 
    174178   END SUBROUTINE p4z_lim 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/PISCES/p4zlys.F90

    r3153 r3160  
    6868      REAL(wp), POINTER, DIMENSION(:,:,:) :: zco3, zcaldiss    
    6969      !!--------------------------------------------------------------------- 
     70      ! 
     71      IF( nn_timing == 1 )  CALL timing_start('p4z_lys') 
    7072      ! 
    7173      CALL wrk_alloc( jpi, jpj, jpk, zco3, zcaldiss ) 
     
    168170      CALL wrk_dealloc( jpi, jpj, jpk, zco3, zcaldiss ) 
    169171      ! 
     172      IF( nn_timing == 1 )  CALL timing_stop('p4z_lys') 
     173      ! 
    170174   END SUBROUTINE p4z_lys 
    171175 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/PISCES/p4zmeso.F90

    r3124 r3160  
    8383      CHARACTER (len=25) :: charout 
    8484      REAL(wp) :: zrfact2 
    85  
    8685      !!--------------------------------------------------------------------- 
     86      ! 
     87      IF( nn_timing == 1 )  CALL timing_start('p4z_meso') 
     88      ! 
    8789 
    8890      DO jk = 1, jpkm1 
     
    226228        CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm) 
    227229      ENDIF 
    228  
     230      ! 
     231      IF( nn_timing == 1 )  CALL timing_stop('p4z_meso') 
     232      ! 
    229233   END SUBROUTINE p4z_meso 
    230234 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/PISCES/p4zmicro.F90

    r3124 r3160  
    7878      REAL(wp) :: zgrazmf, zgrazsf, zgrazpf 
    7979      CHARACTER (len=25) :: charout 
    80  
    8180      !!--------------------------------------------------------------------- 
    82  
     81      ! 
     82      IF( nn_timing == 1 )  CALL timing_start('p4z_micro') 
     83      ! 
    8384      grazing(:,:,:) = 0.  !: grazing set to zero 
    8485      DO jk = 1, jpkm1 
     
    189190         CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm) 
    190191      ENDIF 
    191  
     192      ! 
     193      IF( nn_timing == 1 )  CALL timing_stop('p4z_micro') 
     194      ! 
    192195   END SUBROUTINE p4z_micro 
    193196 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/PISCES/p4zmort.F90

    r2979 r3160  
    7777      CHARACTER (len=25) :: charout 
    7878      !!--------------------------------------------------------------------- 
    79  
     79      ! 
     80      IF( nn_timing == 1 )  CALL timing_start('p4z_nano') 
     81      ! 
    8082      prodcal(:,:,:) = 0.  !: calcite production variable set to zero 
    8183      DO jk = 1, jpkm1 
     
    133135         CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm) 
    134136       ENDIF 
    135  
     137      ! 
     138      IF( nn_timing == 1 )  CALL timing_stop('p4z_nano') 
     139      ! 
    136140   END SUBROUTINE p4z_nano 
    137141 
     
    148152      REAL(wp) ::  zrespp2, ztortp2, zmortp2, zstep 
    149153      CHARACTER (len=25) :: charout 
    150   
    151       !!--------------------------------------------------------------------- 
    152  
     154      !!--------------------------------------------------------------------- 
     155      ! 
     156      IF( nn_timing == 1 )  CALL timing_start('p4z_diat') 
     157      ! 
    153158 
    154159      !    Aggregation term for diatoms is increased in case of nutrient 
     
    212217         CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm) 
    213218      ENDIF 
    214               
     219      ! 
     220      IF( nn_timing == 1 )  CALL timing_stop('p4z_diat') 
     221      ! 
    215222   END SUBROUTINE p4z_diat 
    216223 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/PISCES/p4zopt.F90

    r3153 r3160  
    6363      REAL(wp), POINTER, DIMENSION(:,:,:) :: zekg, zekr, zekb, ze0, ze1, ze2, ze3 
    6464      !!--------------------------------------------------------------------- 
    65  
     65      ! 
     66      IF( nn_timing == 1 )  CALL timing_start('p4z_opt') 
     67      ! 
    6668      ! Allocate temporary workspace 
    6769      CALL wrk_alloc( jpi, jpj,      zdepmoy, zetmp, zetmp1, zetmp2       ) 
     
    234236      CALL wrk_dealloc( jpi, jpj, jpk, zekg, zekr, zekb, ze0, ze1, ze2, ze3 ) 
    235237      ! 
     238      IF( nn_timing == 1 )  CALL timing_stop('p4z_opt') 
     239      ! 
    236240   END SUBROUTINE p4z_opt 
    237241 
     
    243247      !! ** Purpose :   Initialization of tabulated attenuation coef 
    244248      !!---------------------------------------------------------------------- 
     249      ! 
     250      IF( nn_timing == 1 )  CALL timing_start('p4z_opt_init') 
    245251      ! 
    246252      CALL trc_oce_rgb( xkrgb )                  ! tabulated attenuation coefficients 
     
    254260      IF( ln_qsr_bio )   etot3(:,:,:) = 0._wp 
    255261      !  
     262      IF( nn_timing == 1 )  CALL timing_stop('p4z_opt_init') 
     263      ! 
    256264   END SUBROUTINE p4z_opt_init 
    257265 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/PISCES/p4zprod.F90

    r3153 r3160  
    8888      REAL(wp), POINTER, DIMENSION(:,:,:) :: zpislopead, zpislopead2, zprdia, zprbio, zprdch, zprnch, zysopt    
    8989      REAL(wp), POINTER, DIMENSION(:,:,:) :: zprorca, zprorcad, zprofed, zprofen, zprochln, zprochld, zpronew, zpronewd 
    90  
    9190      !!--------------------------------------------------------------------- 
    92  
     91      ! 
     92      IF( nn_timing == 1 )  CALL timing_start('p4z_prod') 
     93      ! 
    9394      !  Allocate temporary workspace 
    9495      CALL wrk_alloc( jpi, jpj,      zmixnano, zmixdiat, zstrn                                                  ) 
     
    446447      CALL wrk_dealloc( jpi, jpj, jpk, zprorca, zprorcad, zprofed, zprofen, zprochln, zprochld, zpronew, zpronewd ) 
    447448      ! 
     449      IF( nn_timing == 1 )  CALL timing_stop('p4z_prod') 
     450      ! 
    448451   END SUBROUTINE p4z_prod 
    449452 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/PISCES/p4zrem.F90

    r3153 r3160  
    8484      REAL(wp), POINTER, DIMENSION(:,:,:) :: zdepbac, zolimi, zolimi2 
    8585      !!--------------------------------------------------------------------- 
    86  
     86      ! 
     87      IF( nn_timing == 1 )  CALL timing_start('p4z_rem') 
     88      ! 
    8789      ! Allocate temporary workspace 
    8890      CALL wrk_alloc( jpi, jpj,      ztempbac                 ) 
     
    392394      CALL wrk_dealloc( jpi, jpj, jpk, zdepbac, zolimi, zolimi2 ) 
    393395      ! 
     396      IF( nn_timing == 1 )  CALL timing_stop('p4z_rem') 
     397      ! 
    394398   END SUBROUTINE p4z_rem 
    395399 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/PISCES/p4zsed.F90

    r3153 r3160  
    106106      REAL(wp), POINTER, DIMENSION(:,:,:) :: znitrpot, zirondep 
    107107      !!--------------------------------------------------------------------- 
    108  
     108      ! 
     109      IF( nn_timing == 1 )  CALL timing_start('p4z_sed') 
     110      ! 
    109111      ! Allocate temporary workspace 
    110112      CALL wrk_alloc( jpi, jpj,      zsidep, zwork1, zwork2, zwork3 ) 
     
    308310         CALL prt_ctl_trc(tab4d=trn, mask=tmask, clinfo=ctrcnm) 
    309311      ENDIF 
    310  
     312      ! 
    311313      CALL wrk_dealloc( jpi, jpj,      zsidep, zwork1, zwork2, zwork3 ) 
    312314      CALL wrk_dealloc( jpi, jpj, jpk, znitrpot, zirondep             ) 
    313  
     315      ! 
     316      IF( nn_timing == 1 )  CALL timing_stop('p4z_sed') 
     317      ! 
    314318   END SUBROUTINE p4z_sed 
    315319 
     
    332336      INTEGER  :: ji,jj  
    333337      REAL(wp) :: zcoef 
    334  
    335338      !!--------------------------------------------------------------------- 
    336  
     339      ! 
     340      IF( nn_timing == 1 )  CALL timing_start('p4z_sbc') 
     341      ! 
    337342      ! Compute dust at nittrc000 or only if there is more than 1 time record in dust file 
    338343      IF( ln_dust ) THEN 
     
    372377      ENDIF 
    373378      ! 
     379      IF( nn_timing == 1 )  CALL timing_stop('p4z_sbc') 
     380      ! 
    374381   END SUBROUTINE p4z_sbc 
    375382 
     
    401408        &                sedfeinput, dustsolub, wdust, nitrfix, diazolight, concfediaz  
    402409      !!---------------------------------------------------------------------- 
     410      ! 
     411      IF( nn_timing == 1 )  CALL timing_start('p4z_sed_init') 
     412      ! 
    403413      !                                    ! number of seconds per year and per month 
    404414      ryyss    = nyear_len(1) * rday 
     
    601611         WRITE(numout,*)  
    602612      ENDIF 
    603        ! 
     613      ! 
     614      IF( nn_timing == 1 )  CALL timing_stop('p4z_sed_init') 
     615      ! 
    604616   END SUBROUTINE p4z_sed_init 
    605617 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/PISCES/p4zsink.F90

    r3153 r3160  
    9898      REAL(wp), POINTER, DIMENSION(:,:,:) :: znum3d  
    9999      !!--------------------------------------------------------------------- 
     100      ! 
     101      IF( nn_timing == 1 )  CALL timing_start('p4z_sink') 
    100102      ! 
    101103      CALL wrk_alloc( jpi, jpj, jpk, znum3d ) 
     
    295297      CALL wrk_alloc( jpi, jpj, jpk, znum3d ) 
    296298      ! 
     299      IF( nn_timing == 1 )  CALL timing_stop('p4z_sink') 
     300      ! 
    297301   END SUBROUTINE p4z_sink 
    298302 
     
    318322         &                xkr_nnano, xkr_ndiat, xkr_nmeso, xkr_naggr 
    319323      !!---------------------------------------------------------------------- 
     324      ! 
     325      IF( nn_timing == 1 )  CALL timing_start('p4z_sink_init') 
    320326      ! 
    321327      REWIND( numnatp )                     ! read nampiskrs 
     
    425431      END DO 
    426432      ! 
     433      IF( nn_timing == 1 )  CALL timing_stop('p4z_sink_init') 
     434      ! 
    427435  END SUBROUTINE p4z_sink_init 
    428436 
     
    447455      CHARACTER (len=25) :: charout 
    448456      !!--------------------------------------------------------------------- 
    449  
     457      ! 
     458      IF( nn_timing == 1 )  CALL timing_start('p4z_sink') 
     459      ! 
    450460      !    Sinking speeds of detritus is increased with depth as shown 
    451461      !    by data and from the coagulation theory 
     
    572582      ENDIF 
    573583      ! 
     584      IF( nn_timing == 1 )  CALL timing_stop('p4z_sink') 
     585      ! 
    574586   END SUBROUTINE p4z_sink 
    575587 
     
    604616      REAL(wp), POINTER, DIMENSION(:,:,:) :: ztraz, zakz, zwsink2  
    605617      !!--------------------------------------------------------------------- 
    606  
     618      ! 
     619      IF( nn_timing == 1 )  CALL timing_start('p4z_sink2') 
     620      ! 
    607621      ! Allocate temporary workspace 
    608622      CALL wrk_alloc( jpi, jpj, jpk, ztraz, zakz, zwsink2 ) 
     
    690704      ! 
    691705      CALL wrk_dealloc( jpi, jpj, jpk, ztraz, zakz, zwsink2 ) 
     706      ! 
     707      IF( nn_timing == 1 )  CALL timing_stop('p4z_sink2') 
    692708      ! 
    693709   END SUBROUTINE p4z_sink2 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/PISCES/trcsms_pisces.F90

    r3116 r3160  
    6565      CHARACTER (len=25) :: charout 
    6666      !!--------------------------------------------------------------------- 
    67  
     67      ! 
     68      IF( nn_timing == 1 )  CALL timing_start('trc_sms_pisces') 
     69      ! 
    6870      IF( kt == nittrc000 )                                                CALL trc_sms_pisces_init       ! Initialization (first time-step only) 
    6971      IF( ln_rsttr .AND. ln_pisdmp .AND. MOD( kt - 1, nn_pisdmp ) == 0 )   CALL trc_sms_pisces_dmp( kt )  ! Relaxation of some tracers 
     
    116118         ! 
    117119      ENDIF 
     120      ! 
     121      IF( nn_timing == 1 )  CALL timing_stop('trc_sms_pisces') 
    118122      ! 
    119123   END SUBROUTINE trc_sms_pisces 
  • 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 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/trcdta.F90

    r3153 r3160  
    6565      NAMELIST/namtrc_dta/ sn_trcdta, cn_dir, rn_trfac  
    6666      !!---------------------------------------------------------------------- 
     67      ! 
     68      IF( nn_timing == 1 )  CALL timing_start('trc_dta_init') 
    6769      ! 
    6870      !  Initialisation 
     
    143145      ENDIF 
    144146      ! 
     147      IF( nn_timing == 1 )  CALL timing_stop('trc_dta_init') 
     148      ! 
    145149   END SUBROUTINE trc_dta_init 
    146150 
     
    166170      CHARACTER(len=100) :: clndta 
    167171      !!---------------------------------------------------------------------- 
     172      ! 
     173      IF( nn_timing == 1 )  CALL timing_start('trc_dta') 
    168174      ! 
    169175      IF( nb_trcdta > 0 ) THEN 
     
    260266      ENDIF 
    261267      !  
     268      IF( nn_timing == 1 )  CALL timing_stop('trc_dta') 
     269      ! 
    262270   END SUBROUTINE trc_dta 
    263271#else 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/trcrst.F90

    r3124 r3160  
    103103 
    104104      !!---------------------------------------------------------------------- 
    105  
     105      ! 
    106106      IF(lwp) WRITE(numout,*) 
    107107      IF(lwp) WRITE(numout,*) 'trc_rst_read : read the TOP restart file' 
     
    151151      REAL(wp) :: zarak0 
    152152      !!---------------------------------------------------------------------- 
    153  
     153      ! 
    154154      CALL trc_rst_cal( kt, 'WRITE' )   ! calendar 
    155155      CALL iom_rstput( kt, nitrst, numrtw, 'rdttrc1', rdttrc(1) )   ! surface passive tracer time step 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/trcsub.F90

    r3153 r3160  
    6767      REAL(wp)              ::  z1_ne3t, z1_ne3u, z1_ne3v, z1_ne3w 
    6868      !!------------------------------------------------------------------- 
    69  
    70        IF( kt == nit000 ) THEN 
     69      ! 
     70      IF( nn_timing == 1 )  CALL timing_start('trc_sub_stp') 
     71      ! 
     72      IF( kt == nit000 ) THEN 
    7173           IF(lwp) WRITE(numout,*) 
    7274           IF(lwp) WRITE(numout,*) 'trc_sub_stp : substepping of the passive tracers' 
     
    8183           r1_ndttrcp1      = 1._wp / REAL( nn_dttrc + 1, wp ) 
    8284           ! 
    83        ENDIF   
     85      ENDIF   
    8486 
    8587       IF( MOD( kt , nn_dttrc ) /= 0 ) THEN 
     
    539541         CALL lbc_lnk( hvr   (:,:)         , 'V', 1. )  
    540542      ENDIF 
    541  
    542  
     543      ! 
     544      IF( nn_timing == 1 )  CALL timing_start('trc_sub_stp') 
     545      ! 
    543546   END SUBROUTINE trc_sub_stp 
    544547 
     
    554557      INTEGER ::   ierr 
    555558      !!------------------------------------------------------------------- 
    556  
     559      ! 
     560      IF( nn_timing == 1 )  CALL timing_start('trc_sub_ini') 
     561      ! 
    557562      IF(lwp) WRITE(numout,*) 
    558563      IF(lwp) WRITE(numout,*) 'trc_sub_ini : initial set up of the passive tracers substepping' 
     
    643648#endif 
    644649      ! 
     650      IF( nn_timing == 1 )  CALL timing_stop('trc_sub_ini') 
     651      ! 
    645652   END SUBROUTINE trc_sub_ini 
    646653 
     
    657664      INTEGER :: jk                 ! dummy loop indices 
    658665      !!------------------------------------------------------------------- 
    659  
     666      ! 
     667      IF( nn_timing == 1 )  CALL timing_start('trc_sub_reset') 
     668      ! 
    660669      !   restore physics variables 
    661670      un    (:,:,:)   =  un_temp    (:,:,:) 
     
    867876#endif 
    868877      ! 
     878      IF( nn_timing == 1 )  CALL timing_stop('trc_sub_reset') 
     879      ! 
    869880   END SUBROUTINE trc_sub_reset 
    870881 
     
    896907      REAL(wp), POINTER, DIMENSION(:,:) :: zhdiv 
    897908      !!--------------------------------------------------------------------- 
    898  
     909      ! 
     910      IF( nn_timing == 1 )  CALL timing_start('trc_sub_ssh') 
     911      ! 
    899912      ! Allocate temporary workspace 
    900913      CALL wrk_alloc( jpi, jpj, zhdiv ) 
     
    10001013      CALL wrk_dealloc( jpi, jpj, zhdiv ) 
    10011014      ! 
     1015      IF( nn_timing == 1 )  CALL timing_stop('trc_sub_ssh') 
     1016      ! 
    10021017   END SUBROUTINE trc_sub_ssh 
    10031018 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/trcwri.F90

    r3116 r3160  
    3636      INTEGER, INTENT( in ) :: kt 
    3737      !!--------------------------------------------------------------------- 
    38  
     38      ! 
     39      IF( nn_timing == 1 )  CALL timing_start('trc_wri') 
    3940      ! 
    4041      CALL iom_setkt  ( kt + nn_dttrc - 1 )       ! set the passive tracer time step 
    4142      CALL trc_wri_trc( kt              )       ! outputs for tracer concentration 
    4243      CALL iom_setkt  ( kt              )       ! set the model time step 
     44      ! 
     45      IF( nn_timing == 1 )  CALL timing_stop('trc_wri') 
    4346      ! 
    4447   END SUBROUTINE trc_wri 
Note: See TracChangeset for help on using the changeset viewer.