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

Changeset 9321


Ignore:
Timestamp:
2018-02-12T14:29:34+01:00 (7 years ago)
Author:
davestorkey
Message:

UKMO/dev_r5518_GO6_package branch: allow timing of I/O and coupling only.
See GMED ticket 374.

Location:
branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/OPA_SRC
Files:
23 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/OPA_SRC/ASM/asmbkg.F90

    r8400 r9321  
    5050   USE ice 
    5151#endif 
     52   USE timing 
    5253   IMPLICIT NONE 
    5354   PRIVATE 
     
    110111            ! 
    111112            !                                      ! Write the information 
     113            IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    112114            CALL iom_rstput( kt, nitbkg_r, inum, 'rdastp' , zdate             ) 
    113115            CALL iom_rstput( kt, nitbkg_r, inum, 'un'     , un                ) 
     
    121123!            CALL iom_rstput( kt, nitbkg_r, inum, 'gcx'    , gcx               ) 
    122124            CALL iom_rstput( kt, nitbkg_r, inum, 'avt'    , avt               ) 
     125            IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    123126            ! 
    124127            CALL iom_close( inum ) 
     
    149152            ! 
    150153            !                                      ! Write the information 
     154            IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    151155            CALL iom_rstput( kt, nitdin_r, inum, 'rdastp' , zdate             ) 
    152156            CALL iom_rstput( kt, nitdin_r, inum, 'un'     , un                ) 
     
    165169            ENDIF 
    166170#endif 
     171            IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    167172            ! 
    168173            CALL iom_close( inum ) 
  • branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/OPA_SRC/DIA/diahsb.F90

    r6487 r9321  
    254254           IF(lwp) WRITE(numout,*) ' dia_hsb_rst at it= ', kt,' date= ', ndastp 
    255255           IF(lwp) WRITE(numout,*) '~~~~~~~' 
     256           IF(nn_timing == 2)  CALL timing_start('iom_rstget') 
    256257           CALL iom_get( numror, 'frc_v', frc_v ) 
    257258           CALL iom_get( numror, 'frc_t', frc_t ) 
     
    269270              CALL iom_get( numror, jpdom_autoglo, 'ssh_sc_loc_ini', ssh_sc_loc_ini ) 
    270271           ENDIF 
     272           IF(nn_timing == 2)  CALL timing_stop('iom_rstget') 
    271273       ELSE 
    272274          IF(lwp) WRITE(numout,*) '~~~~~~~' 
     
    304306        IF(lwp) WRITE(numout,*) ' dia_hsb_rst at it= ', kt,' date= ', ndastp 
    305307        IF(lwp) WRITE(numout,*) '~~~~~~~' 
    306  
     308        IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    307309        CALL iom_rstput( kt, nitrst, numrow, 'frc_v'   , frc_v     ) 
    308310        CALL iom_rstput( kt, nitrst, numrow, 'frc_t'   , frc_t     ) 
     
    320322           CALL iom_rstput( kt, nitrst, numrow, 'ssh_sc_loc_ini', ssh_sc_loc_ini ) 
    321323        ENDIF 
     324        IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    322325        ! 
    323326     ENDIF 
  • branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/OPA_SRC/DOM/daymod.F90

    r6487 r9321  
    309309         IF( iom_varid( numror, 'kt', ldstop = .FALSE. ) > 0 ) THEN 
    310310            ! Get Calendar informations 
     311            IF(nn_timing == 2)  CALL timing_start('iom_rstget') 
    311312            CALL iom_get( numror, 'kt', zkt )   ! last time-step of previous run 
     313            IF(nn_timing == 2)  CALL timing_stop('iom_rstget') 
    312314            IF(lwp) THEN 
    313315               WRITE(numout,*) ' *** Info read in restart : ' 
     
    327329            ! define ndastp and adatrj 
    328330            IF ( nrstdt == 2 ) THEN 
     331               IF(nn_timing == 2)  CALL timing_start('iom_rstget') 
    329332               ! read the parameters correspondting to nit000 - 1 (last time step of previous run) 
    330333               CALL iom_get( numror, 'ndastp', zndastp ) 
    331334               ndastp = NINT( zndastp ) 
    332335               CALL iom_get( numror, 'adatrj', adatrj  ) 
     336               IF(nn_timing == 2)  CALL timing_stop('iom_rstget') 
    333337            ELSE 
    334338               ! parameters correspondting to nit000 - 1 (as we start the step loop with a call to day) 
     
    359363         ENDIF 
    360364         ! calendar control 
     365         IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    361366         CALL iom_rstput( kt, nitrst, numrow, 'kt'     , REAL( kt    , wp) )   ! time-step 
    362367         CALL iom_rstput( kt, nitrst, numrow, 'ndastp' , REAL( ndastp, wp) )   ! date 
    363368         CALL iom_rstput( kt, nitrst, numrow, 'adatrj' , adatrj            )   ! number of elapsed days since 
    364369         !                                                                     ! the begining of the run [s] 
     370         IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    365371      ENDIF 
    366372      ! 
  • branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/OPA_SRC/DOM/domvvl.F90

    r6498 r9321  
    817817         IF( ln_rstart ) THEN                   !* Read the restart file 
    818818            CALL rst_read_open                  !  open the restart file if necessary 
     819            IF(nn_timing == 2)  CALL timing_start('iom_rstget') 
    819820            CALL iom_get( numror, jpdom_autoglo, 'sshn'   , sshn    ) 
    820821            ! 
     
    892893            ENDIF 
    893894            ! 
     895            IF(nn_timing == 2)  CALL timing_stop('iom_rstget') 
    894896         ELSE                                   !* Initialize at "rest" 
    895897            fse3t_b(:,:,:) = e3t_0(:,:,:) 
     
    908910         !                                           ! --------- ! 
    909911         !                                           ! all cases ! 
    910          !                                           ! --------- ! 
     912         !                                           ! --------- !  
     913         IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    911914         CALL iom_rstput( kt, nitrst, numrow, 'fse3t_b', fse3t_b(:,:,:) ) 
    912915         CALL iom_rstput( kt, nitrst, numrow, 'fse3t_n', fse3t_n(:,:,:) ) 
     
    922925            CALL iom_rstput( kt, nitrst, numrow, 'hdiv_lf', hdiv_lf(:,:,:) ) 
    923926         ENDIF 
     927         IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    924928 
    925929      ENDIF 
  • branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/OPA_SRC/DOM/domwri.F90

    r6487 r9321  
    126126       
    127127      !                                                         ! masks (inum2)  
     128      IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    128129      CALL iom_rstput( 0, 0, inum2, 'tmask', tmask, ktype = jp_i1 )     !    ! land-sea mask 
    129130      CALL iom_rstput( 0, 0, inum2, 'umask', umask, ktype = jp_i1 ) 
    130131      CALL iom_rstput( 0, 0, inum2, 'vmask', vmask, ktype = jp_i1 ) 
    131132      CALL iom_rstput( 0, 0, inum2, 'fmask', fmask, ktype = jp_i1 ) 
     133      IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    132134       
    133135      CALL dom_uniq( zprw, 'T' ) 
     
    138140         END DO 
    139141      END DO                             !    ! unique point mask 
     142      IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    140143      CALL iom_rstput( 0, 0, inum2, 'tmaskutil', zprt, ktype = jp_i1 )   
     144      IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    141145      CALL dom_uniq( zprw, 'U' ) 
    142146      DO jj = 1, jpj 
     
    146150         END DO 
    147151      END DO 
     152      IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    148153      CALL iom_rstput( 0, 0, inum2, 'umaskutil', zprt, ktype = jp_i1 )   
     154      IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    149155      CALL dom_uniq( zprw, 'V' ) 
    150156      DO jj = 1, jpj 
     
    154160         END DO 
    155161      END DO 
     162      IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    156163      CALL iom_rstput( 0, 0, inum2, 'vmaskutil', zprt, ktype = jp_i1 )   
     164      IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    157165      CALL dom_uniq( zprw, 'F' ) 
    158166      DO jj = 1, jpj 
     
    162170         END DO 
    163171      END DO 
     172      IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    164173      CALL iom_rstput( 0, 0, inum2, 'fmaskutil', zprt, ktype = jp_i1 )   
    165174 
     
    218227         CALL iom_rstput( 0, 0, inum4, 'gdepw_0', gdepw_0, ktype = jp_r4 )      
    219228      ENDIF 
    220        
     229      IF(nn_timing == 2)  CALL timing_stop('iom_rstput')  
    221230      IF( ln_zps ) THEN                                         ! z-coordinate - partial steps 
    222231         ! 
    223232         IF( nmsh <= 6 ) THEN                                   !    ! 3D vertical scale factors 
     233            IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    224234            CALL iom_rstput( 0, 0, inum4, 'e3t_0', e3t_0 )          
    225235            CALL iom_rstput( 0, 0, inum4, 'e3u_0', e3u_0 ) 
    226236            CALL iom_rstput( 0, 0, inum4, 'e3v_0', e3v_0 ) 
    227237            CALL iom_rstput( 0, 0, inum4, 'e3w_0', e3w_0 ) 
     238            IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    228239         ELSE                                                   !    ! 2D masked bottom ocean scale factors 
    229240            DO jj = 1,jpj    
     
    233244               END DO 
    234245            END DO 
     246            IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    235247            CALL iom_rstput( 0, 0, inum4, 'e3t_ps', e3tp )       
    236248            CALL iom_rstput( 0, 0, inum4, 'e3w_ps', e3wp ) 
     249            IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    237250         END IF 
    238251         ! 
     
    248261            END DO 
    249262            CALL lbc_lnk( zdepu, 'U', 1. )   ;   CALL lbc_lnk( zdepv, 'V', 1. )  
     263            IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    250264            CALL iom_rstput( 0, 0, inum4, 'gdepu', zdepu, ktype = jp_r4 ) 
    251265            CALL iom_rstput( 0, 0, inum4, 'gdepv', zdepv, ktype = jp_r4 ) 
    252266            CALL iom_rstput( 0, 0, inum4, 'gdepw_0', gdepw_0, ktype = jp_r4 ) 
     267            IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    253268         ELSE                                                   !    ! 2D bottom depth 
    254269            DO jj = 1,jpj    
     
    258273               END DO 
    259274            END DO 
     275            IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    260276            CALL iom_rstput( 0, 0, inum4, 'hdept', zprt, ktype = jp_r4 )      
    261277            CALL iom_rstput( 0, 0, inum4, 'hdepw', zprw, ktype = jp_r4 )  
     278            IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    262279         ENDIF 
    263280         ! 
     281         IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    264282         CALL iom_rstput( 0, 0, inum4, 'gdept_1d', gdept_1d )   !    ! reference z-coord. 
    265283         CALL iom_rstput( 0, 0, inum4, 'gdepw_1d', gdepw_1d ) 
    266284         CALL iom_rstput( 0, 0, inum4, 'e3t_1d'  , e3t_1d   ) 
    267285         CALL iom_rstput( 0, 0, inum4, 'e3w_1d'  , e3w_1d   ) 
     286         IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    268287      ENDIF 
    269288       
    270289      IF( ln_zco ) THEN 
    271290         !                                                      ! z-coordinate - full steps 
     291         IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    272292         CALL iom_rstput( 0, 0, inum4, 'gdept_1d', gdept_1d )   !    ! depth 
    273293         CALL iom_rstput( 0, 0, inum4, 'gdepw_1d', gdepw_1d ) 
    274294         CALL iom_rstput( 0, 0, inum4, 'e3t_1d'  , e3t_1d   )   !    ! scale factors 
    275295         CALL iom_rstput( 0, 0, inum4, 'e3w_1d'  , e3w_1d   ) 
     296         IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    276297      ENDIF 
    277298      !                                     ! ============================ 
  • branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_flt.F90

    r7179 r9321  
    395395! Caution : extra-hallow 
    396396! gcx and gcxb are defined as: DIMENSION(1-jpr2di:jpi+jpr2di,1-jpr2dj:jpj+jpr2dj) 
     397            IF(nn_timing == 2)  CALL timing_start('iom_rstget') 
    397398            CALL iom_get( numror, jpdom_autoglo, 'gcx' , gcx (1:jpi,1:jpj) ) 
    398399            CALL iom_get( numror, jpdom_autoglo, 'gcxb', gcxb(1:jpi,1:jpj) ) 
     400            IF(nn_timing == 2)  CALL timing_stop('iom_rstget') 
    399401            IF( neuler == 0 )   gcxb(:,:) = gcx (:,:) 
    400402         ELSE 
     
    405407! Caution : extra-hallow 
    406408! gcx and gcxb are defined as: DIMENSION(1-jpr2di:jpi+jpr2di,1-jpr2dj:jpj+jpr2dj) 
     409         IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    407410         CALL iom_rstput( kt, nitrst, numrow, 'gcx' , gcx (1:jpi,1:jpj) ) 
    408411         CALL iom_rstput( kt, nitrst, numrow, 'gcxb', gcxb(1:jpi,1:jpj) ) 
     412         IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    409413      ENDIF 
    410414      ! 
  • branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_ts.F90

    r6487 r9321  
    10191019      ! 
    10201020      IF( TRIM(cdrw) == 'READ' ) THEN 
     1021         IF(nn_timing == 2)  CALL timing_start('iom_rstget') 
    10211022         CALL iom_get( numror, jpdom_autoglo, 'ub2_b'  , ub2_b  (:,:) )    
    10221023         CALL iom_get( numror, jpdom_autoglo, 'vb2_b'  , vb2_b  (:,:) )  
     
    10361037         ENDIF 
    10371038#endif 
     1039      IF(nn_timing == 2)  CALL timing_stop('iom_rstget') 
    10381040      ! 
    10391041      ELSEIF( TRIM(cdrw) == 'WRITE' ) THEN 
     1042         IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    10401043         CALL iom_rstput( kt, nitrst, numrow, 'ub2_b'   , ub2_b  (:,:) ) 
    10411044         CALL iom_rstput( kt, nitrst, numrow, 'vb2_b'   , vb2_b  (:,:) ) 
     
    10561059         ENDIF 
    10571060#endif 
     1061         IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    10581062      ENDIF 
    10591063      ! 
  • branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/OPA_SRC/ICB/icbrst.F90

    r6755 r9321  
    2929   USE icb_oce        ! define iceberg arrays 
    3030   USE icbutl         ! iceberg utility routines 
     31   USE timing 
    3132 
    3233   IMPLICIT NONE 
     
    7172      TYPE(point)                  ::   localpt   ! NOT a pointer but an actual local variable 
    7273      !!---------------------------------------------------------------------- 
    73  
     74      IF(nn_timing == 2)  CALL timing_start('iom_rstget') 
    7475      ! Find a restart file. Assume iceberg restarts in same directory as ocean restarts 
    7576      ! and are called TRIM(cn_ocerst)//'_icebergs' 
     
    146147      CALL iom_close( ncid ) 
    147148      ! 
     149      IF(nn_timing == 2)  CALL timing_stop('iom_rstget') 
    148150      IF( lwp .and. nn_verbose_level >= 0)  WRITE(numout,'(a)') 'icebergs, read_restart_bergs: completed' 
    149151      ! 
     
    169171      TYPE(point)  , POINTER :: pt 
    170172      !!---------------------------------------------------------------------- 
    171  
     173      IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    172174      ! Assume we write iceberg restarts to same directory as ocean restarts. 
    173175      cl_path = TRIM(cn_ocerst_outdir) 
     
    374376      nret = NF90_CLOSE(ncid) 
    375377      IF (nret /= NF90_NOERR) CALL ctl_stop('icebergs, write_restart: nf_close failed') 
     378      IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    376379      ! 
    377380   END SUBROUTINE icb_rst_write 
  • branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/OPA_SRC/IOM/iom.F90

    r9163 r9321  
    4444   USE ioipsl, ONLY :  ju2ymds    ! for calendar 
    4545   USE crs             ! Grid coarsening 
     46   USE timing 
    4647 
    4748   IMPLICIT NONE 
  • branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/OPA_SRC/IOM/restart.F90

    r8046 r9321  
    2626   USE divcur          ! hor. divergence and curl      (div & cur routines) 
    2727   USE sbc_oce         ! for icesheet freshwater input variables 
     28   USE timing 
    2829 
    2930   IMPLICIT NONE 
     
    134135      INTEGER, INTENT(in) ::   kt   ! ocean time-step 
    135136      !!---------------------------------------------------------------------- 
    136  
     137                     IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    137138                     CALL iom_rstput( kt, nitrst, numrow, 'rdt'    , rdt       )   ! dynamics time step 
    138139                     CALL iom_rstput( kt, nitrst, numrow, 'rdttra1', rdttra(1) )   ! surface tracer time step 
     
    168169                     ENDIF 
    169170                     ENDIF 
     171                     IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    170172 
    171173      IF( kt == nitrst ) THEN 
     
    237239 
    238240      ! Check dynamics and tracer time-step consistency and force Euler restart if changed 
     241      IF(nn_timing == 2)  CALL timing_start('iom_rstget') 
    239242      IF( iom_varid( numror, 'rdt', ldstop = .FALSE. ) > 0 )   THEN 
    240243         CALL iom_get( numror, 'rdt', zrdt ) 
     
    300303         antarctica_icesheet_timelapsed = 0.0 
    301304      ENDIF 
    302  
     305      IF(nn_timing == 2)  CALL timing_stop('iom_rstget') 
    303306      IF( neuler == 0 ) THEN                                  ! Euler restart (neuler=0) 
    304307         tsb  (:,:,:,:) = tsn  (:,:,:,:)                             ! all before fields set to now values 
  • branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/OPA_SRC/SBC/sbcapr.F90

    r6486 r9321  
    1919   USE iom             ! IOM library 
    2020   USE lib_mpp         ! MPP library 
     21   USE timing 
    2122 
    2223   IMPLICIT NONE 
     
    143144         IF( ln_rstart .AND. iom_varid( numror, 'ssh_ibb', ldstop = .FALSE. ) > 0 ) THEN  
    144145            IF(lwp) WRITE(numout,*) 'sbc_apr:   ssh_ibb read in the restart file' 
     146            IF(nn_timing == 2)  CALL timing_start('iom_rstget') 
    145147            CALL iom_get( numror, jpdom_autoglo, 'ssh_ibb', ssh_ibb )   ! before inv. barometer ssh 
     148            IF(nn_timing == 2)  CALL timing_stop('iom_rstget') 
    146149            ! 
    147150         ELSE                                         !* no restart: set from nit000 values 
     
    156159         IF(lwp) WRITE(numout,*) 'sbc_apr : ssh_ib written in ocean restart file at it= ', kt,' date= ', ndastp 
    157160         IF(lwp) WRITE(numout,*) '~~~~' 
     161         IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    158162         CALL iom_rstput( kt, nitrst, numrow, 'ssh_ibb' , ssh_ib ) 
     163         IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    159164      ENDIF 
    160165      ! 
  • branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90

    r8427 r9321  
    257257 
    258258      ! 
    259       IF( nn_timing == 1 )  CALL timing_start('sbc_cpl_init') 
     259      IF( nn_timing.gt.0 .and. nn_timing .le. 2)  CALL timing_start('sbc_cpl_init') 
    260260      ! 
    261261      CALL wrk_alloc( jpi,jpj, zacs, zaos ) 
     
    991991      CALL wrk_dealloc( jpi,jpj, zacs, zaos ) 
    992992      ! 
    993       IF( nn_timing == 1 )  CALL timing_stop('sbc_cpl_init') 
     993      IF( nn_timing.gt.0 .and. nn_timing .le. 2 )  CALL timing_stop('sbc_cpl_init') 
    994994      ! 
    995995   END SUBROUTINE sbc_cpl_init 
     
    10621062 
    10631063      ! 
    1064       IF( nn_timing == 1 )  CALL timing_start('sbc_cpl_rcv') 
     1064      IF( nn_timing.gt.0 .and. nn_timing .le. 2 )  CALL timing_start('sbc_cpl_rcv') 
    10651065      ! 
    10661066      CALL wrk_alloc( jpi,jpj, ztx, zty, zmsk, zemp, zqns, zqsr, ztx2, zty2 ) 
     
    14531453      CALL wrk_dealloc( jpi,jpj, ztx, zty, zmsk, zemp, zqns, zqsr, ztx2, zty2 ) 
    14541454      ! 
    1455       IF( nn_timing == 1 )  CALL timing_stop('sbc_cpl_rcv') 
     1455      IF( nn_timing.gt.0 .and. nn_timing .le. 2 )  CALL timing_stop('sbc_cpl_rcv') 
    14561456      ! 
    14571457   END SUBROUTINE sbc_cpl_rcv 
     
    14991499      !!---------------------------------------------------------------------- 
    15001500      ! 
    1501       IF( nn_timing == 1 )  CALL timing_start('sbc_cpl_ice_tau') 
     1501      IF( nn_timing.gt.0 .and. nn_timing .le. 2 )  CALL timing_start('sbc_cpl_ice_tau') 
    15021502      ! 
    15031503      CALL wrk_alloc( jpi,jpj, ztx, zty ) 
     
    16641664      CALL wrk_dealloc( jpi,jpj, ztx, zty ) 
    16651665      ! 
    1666       IF( nn_timing == 1 )  CALL timing_stop('sbc_cpl_ice_tau') 
     1666      IF( nn_timing.gt.0 .and. nn_timing .le. 2 )  CALL timing_stop('sbc_cpl_ice_tau') 
    16671667      ! 
    16681668   END SUBROUTINE sbc_cpl_ice_tau 
     
    17311731      !!---------------------------------------------------------------------- 
    17321732      ! 
    1733       IF( nn_timing == 1 )  CALL timing_start('sbc_cpl_ice_flx') 
     1733      IF( nn_timing.gt.0 .and. nn_timing .le. 2 )  CALL timing_start('sbc_cpl_ice_flx') 
    17341734      ! 
    17351735      CALL wrk_alloc( jpi,jpj,     zcptn, ztmp, zicefr, zmsk, zsnw ) 
     
    21162116      CALL wrk_dealloc( jpi,jpj,jpl, zqns_ice, zqsr_ice, zdqns_ice, zqevap_ice ) 
    21172117      ! 
    2118       IF( nn_timing == 1 )  CALL timing_stop('sbc_cpl_ice_flx') 
     2118      IF( nn_timing.gt.0 .and. nn_timing .le. 2 )  CALL timing_stop('sbc_cpl_ice_flx') 
    21192119      ! 
    21202120   END SUBROUTINE sbc_cpl_ice_flx 
     
    21412141      !!---------------------------------------------------------------------- 
    21422142      ! 
    2143       IF( nn_timing == 1 )  CALL timing_start('sbc_cpl_snd') 
     2143      IF( nn_timing.gt.0 .and. nn_timing .le. 2 )  CALL timing_start('sbc_cpl_snd') 
    21442144      ! 
    21452145      CALL wrk_alloc( jpi,jpj, zfr_l, ztmp1, ztmp2, zotx1, zoty1, zotz1, zitx1, zity1, zitz1 ) 
     
    26312631      CALL wrk_dealloc( jpi,jpj,jpl, ztmp3, ztmp4 ) 
    26322632      ! 
    2633       IF( nn_timing == 1 )  CALL timing_stop('sbc_cpl_snd') 
     2633      IF( nn_timing.gt.0 .and. nn_timing .le. 2 )  CALL timing_stop('sbc_cpl_snd') 
    26342634      ! 
    26352635   END SUBROUTINE sbc_cpl_snd 
  • branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90

    r8280 r9321  
    422422            & iom_varid( numror, 'utau_b', ldstop = .FALSE. ) > 0 ) THEN  
    423423            IF(lwp) WRITE(numout,*) '          nit000-1 surface forcing fields red in the restart file' 
     424            IF(nn_timing == 2)  CALL timing_start('iom_rstget') 
    424425            CALL iom_get( numror, jpdom_autoglo, 'utau_b', utau_b )   ! before i-stress  (U-point) 
    425426            CALL iom_get( numror, jpdom_autoglo, 'vtau_b', vtau_b )   ! before j-stress  (V-point) 
     
    434435               sfx_b (:,:) = sfx(:,:) 
    435436            ENDIF 
     437            IF(nn_timing == 2)  CALL timing_stop('iom_rstget') 
    436438         ELSE                                                   !* no restart: set from nit000 values 
    437439            IF(lwp) WRITE(numout,*) '          nit000-1 surface forcing fields set to nit000' 
     
    450452            &                    'at it= ', kt,' date= ', ndastp 
    451453         IF(lwp) WRITE(numout,*) '~~~~' 
     454         IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    452455         CALL iom_rstput( kt, nitrst, numrow, 'utau_b' , utau ) 
    453456         CALL iom_rstput( kt, nitrst, numrow, 'vtau_b' , vtau ) 
     
    457460         CALL iom_rstput( kt, nitrst, numrow, 'emp_b'  , emp  ) 
    458461         CALL iom_rstput( kt, nitrst, numrow, 'sfx_b'  , sfx  ) 
     462         IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    459463      ENDIF 
    460464 
  • branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/OPA_SRC/SBC/sbcrnf.F90

    r8302 r9321  
    2727   USE eosbn2 
    2828   USE wrk_nemo        ! Memory allocation 
     29   USE timing 
    2930 
    3031   IMPLICIT NONE 
     
    148149            & iom_varid( numror, 'rnf_b', ldstop = .FALSE. ) > 0 ) THEN 
    149150            IF(lwp) WRITE(numout,*) '          nit000-1 runoff forcing fields red in the restart file' 
     151            IF(nn_timing == 2)  CALL timing_start('iom_rstget') 
    150152            CALL iom_get( numror, jpdom_autoglo, 'rnf_b', rnf_b )     ! before runoff 
    151153            CALL iom_get( numror, jpdom_autoglo, 'rnf_hc_b', rnf_tsc_b(:,:,jp_tem) )   ! before heat content of runoff 
    152154            CALL iom_get( numror, jpdom_autoglo, 'rnf_sc_b', rnf_tsc_b(:,:,jp_sal) )   ! before salinity content of runoff 
     155            IF(nn_timing == 2)  CALL timing_stop('iom_rstget') 
    153156         ELSE                                                   !* no restart: set from nit000 values 
    154157            IF(lwp) WRITE(numout,*) '          nit000-1 runoff forcing fields set to nit000' 
     
    164167            &                    'at it= ', kt,' date= ', ndastp 
    165168         IF(lwp) WRITE(numout,*) '~~~~' 
     169         IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    166170         CALL iom_rstput( kt, nitrst, numrow, 'rnf_b' , rnf ) 
    167171         CALL iom_rstput( kt, nitrst, numrow, 'rnf_hc_b', rnf_tsc(:,:,jp_tem) ) 
    168172         CALL iom_rstput( kt, nitrst, numrow, 'rnf_sc_b', rnf_tsc(:,:,jp_sal) ) 
     173         IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    169174      ENDIF 
    170175      ! 
  • branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/OPA_SRC/SBC/sbcssm.F90

    r6486 r9321  
    2121   USE prtctl          ! Print control 
    2222   USE iom             ! IOM library 
     23   USE timing 
    2324 
    2425   IMPLICIT NONE 
     
    156157            IF(lwp) WRITE(numout,*) '~~~~~~~' 
    157158            zf_sbc = REAL( nn_fsbc, wp ) 
     159            IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    158160            CALL iom_rstput( kt, nitrst, numrow, 'nn_fsbc', zf_sbc )    ! sbc frequency 
    159161            CALL iom_rstput( kt, nitrst, numrow, 'ssu_m'  , ssu_m  )    ! sea surface mean fields 
     
    164166            IF( lk_vvl )   CALL iom_rstput( kt, nitrst, numrow, 'e3t_m'  , e3t_m  ) 
    165167            CALL iom_rstput( kt, nitrst, numrow, 'frq_m'  , frq_m  ) 
     168            IF(nn_timing == 2)  CALL timing_stop('iom_rstput')  
    166169            ! 
    167170         ENDIF 
     
    206209         IF( ln_rstart .AND. iom_varid( numror, 'nn_fsbc', ldstop = .FALSE. ) > 0 ) THEN 
    207210            l_ssm_mean = .TRUE. 
     211            IF(nn_timing == 2)  CALL timing_start('iom_rstget') 
    208212            CALL iom_get( numror               , 'nn_fsbc', zf_sbc )   ! sbc frequency of previous run 
    209213            CALL iom_get( numror, jpdom_autoglo, 'ssu_m'  , ssu_m  )   ! sea surface mean velocity    (T-point) 
     
    219223               frq_m(:,:) = 1._wp   ! default definition 
    220224            ENDIF 
     225            IF(nn_timing == 2)  CALL timing_stop('iom_rstget') 
    221226            ! 
    222227            IF( zf_sbc /= REAL( nn_fsbc, wp ) ) THEN      ! nn_fsbc has changed between 2 runs 
  • branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/OPA_SRC/STO/stopar.F90

    r6487 r9321  
    2222   USE iom             ! I/O module 
    2323   USE lib_mpp 
    24  
     24   USE timing 
    2525 
    2626   IMPLICIT NONE 
     
    697697         ! Get stochastic parameters from restart file: 
    698698         ! 2D stochastic parameters 
     699         IF(nn_timing == 2)  CALL timing_start('iom_rstget') 
    699700         DO jsto = 1 , jpsto2d 
    700701            WRITE(clsto2d(7:9),'(i3.3)') jsto 
     
    717718            CALL kiss_seed( ziseed(1) , ziseed(2) , ziseed(3) , ziseed(4) ) 
    718719         ENDIF 
     720         IF(nn_timing == 2)  CALL timing_stop('iom_rstget') 
    719721 
    720722         ! Close the restart file 
     
    760762            CALL kiss_state( ziseed(1) , ziseed(2) , ziseed(3) , ziseed(4) ) 
    761763            zrseed = TRANSFER( ziseed , zrseed) 
     764            IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    762765            DO jseed = 1 , 4 
    763766               WRITE(clseed(5:5) ,'(i1.1)') jseed 
     
    775778               CALL iom_rstput( kt, nitrst, numstow, clsto3d , sto3d(:,:,:,jsto) ) 
    776779            END DO 
     780            IF(nn_timing == 2)  CALL timing_stop('iom_rstput')  
    777781            ! close the restart file 
    778782            CALL iom_close( numstow ) 
  • branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_cen2.F90

    r7179 r9321  
    286286      ! avmb, avtb will be read in zdfini in restart case as they are used in zdftke, kpp etc... 
    287287      IF( lrst_oce .AND. cdtype == 'TRA' ) THEN 
     288         IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    288289         CALL iom_rstput( kt, nitrst, numrow, 'avmb', avmb ) 
    289290         CALL iom_rstput( kt, nitrst, numrow, 'avtb', avtb ) 
     291         IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    290292      ENDIF 
    291293      ! 
  • branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/OPA_SRC/TRA/traqsr.F90

    r6498 r9321  
    368368            &                    'at it= ', kt,' date= ', ndastp 
    369369         IF(lwp) WRITE(numout,*) '~~~~' 
     370         IF(nn_timing == 2)  CALL timing_start('iom_rstput')  
    370371         CALL iom_rstput( kt, nitrst, numrow, 'qsr_hc_b'   , qsr_hc      ) 
    371372         CALL iom_rstput( kt, nitrst, numrow, 'fraqsr_1lev', fraqsr_1lev )   ! default definition in sbcssm  
     373         IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    372374         ! 
    373375      ENDIF 
     
    607609      ! initialisation of fraqsr_1lev used in sbcssm 
    608610      IF( iom_varid( numror, 'fraqsr_1lev', ldstop = .FALSE. ) > 0 ) THEN 
     611         IF(nn_timing == 2)  CALL timing_start('iom_rstget') 
    609612         CALL iom_get( numror, jpdom_autoglo, 'fraqsr_1lev'  , fraqsr_1lev  ) 
     613         IF(nn_timing == 2)  CALL timing_stop('iom_rstget') 
    610614      ELSE 
    611615         fraqsr_1lev(:,:) = 1._wp   ! default definition 
  • branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/OPA_SRC/TRA/trasbc.F90

    r8400 r9321  
    213213            &                    'at it= ', kt,' date= ', ndastp 
    214214         IF(lwp) WRITE(numout,*) '~~~~' 
     215         IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    215216         CALL iom_rstput( kt, nitrst, numrow, 'sbc_hc_b', sbc_tsc(:,:,jp_tem) ) 
    216217         CALL iom_rstput( kt, nitrst, numrow, 'sbc_sc_b', sbc_tsc(:,:,jp_sal) ) 
     218         IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    217219      ENDIF 
    218220      ! 
     
    257259               &                    'at it= ', kt,' date= ', ndastp 
    258260            IF(lwp) WRITE(numout,*) '~~~~' 
     261            IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    259262            CALL iom_rstput( kt, nitrst, numrow, 'fwf_isf_b', fwfisf(:,:)          ) 
    260263            CALL iom_rstput( kt, nitrst, numrow, 'isf_hc_b' , risf_tsc(:,:,jp_tem) ) 
    261264            CALL iom_rstput( kt, nitrst, numrow, 'isf_sc_b' , risf_tsc(:,:,jp_sal) ) 
     265            IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    262266         ENDIF 
    263267      END IF 
  • branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/OPA_SRC/TRD/trdmxl_rst.F90

    r6486 r9321  
    1616   USE iom             ! I/O module 
    1717   USE restart         ! only for lrst_oce 
     18   USE timing 
    1819 
    1920   IMPLICIT NONE 
     
    7980         WRITE(numout,*) 
    8081      ENDIF 
    81  
     82      IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    8283      IF( ln_trdmxl_instant ) THEN  
    8384         !-- Temperature 
     
    115116         CALL iom_rstput( kt, nitrst, nummxlw, 'smltrd_atf_sumb' , smltrd_atf_sumb ) 
    116117      ENDIF 
     118      IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    117119      ! 
    118120      IF( kt == nitrst ) THEN 
     
    158160 
    159161      CALL iom_open( TRIM(clpath)//TRIM(cn_trdrst_in), inum, kiolib = jlibalt )  
    160  
     162      IF(nn_timing == 2)  CALL timing_start('iom_rstget') 
    161163      IF( ln_trdmxl_instant ) THEN  
    162164         !-- Temperature 
     
    194196         CALL iom_get( inum, jpdom_autoglo, 'smltrd_atf_sumb' , smltrd_atf_sumb) 
    195197         ! 
    196          CALL iom_close( inum ) 
    197       ENDIF 
     198      ENDIF 
     199      IF(nn_timing == 2)  CALL timing_stop('iom_rstget') 
     200      CALL iom_close( inum ) 
    198201      ! 
    199202   END SUBROUTINE trd_mxl_rst_read 
  • branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfgls.F90

    r6487 r9321  
    11841184            ! 
    11851185            IF( MIN( id1, id2, id3, id4, id5, id6 ) > 0 ) THEN        ! all required arrays exist 
     1186               IF(nn_timing == 2)  CALL timing_start('iom_rstget') 
    11861187               CALL iom_get( numror, jpdom_autoglo, 'en'    , en     ) 
    11871188               CALL iom_get( numror, jpdom_autoglo, 'avt'   , avt    ) 
     
    11901191               CALL iom_get( numror, jpdom_autoglo, 'avmv'  , avmv   ) 
    11911192               CALL iom_get( numror, jpdom_autoglo, 'mxln'  , mxln   ) 
     1193               IF(nn_timing == 2)  CALL timing_stop('iom_rstget') 
    11921194            ELSE                         
    11931195               IF(lwp) WRITE(numout,*) ' ===>>>> : previous run without gls scheme, en and mxln computed by iterative loop' 
     
    12091211         !                                   ! ------------------- 
    12101212         IF(lwp) WRITE(numout,*) '---- gls-rst ----' 
     1213         IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    12111214         CALL iom_rstput( kt, nitrst, numrow, 'en'   , en     )  
    12121215         CALL iom_rstput( kt, nitrst, numrow, 'avt'  , avt_k  ) 
     
    12151218         CALL iom_rstput( kt, nitrst, numrow, 'avmv' , avmv_k ) 
    12161219         CALL iom_rstput( kt, nitrst, numrow, 'mxln' , mxln   ) 
     1220         IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    12171221         ! 
    12181222      ENDIF 
  • branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/OPA_SRC/ZDF/zdftke.F90

    r6498 r9321  
    937937              CALL iom_get( numror, jpdom_autoglo, 'en', en ) 
    938938              IF( MIN( id2, id3, id4, id5, id6 ) > 0 ) THEN        ! all required arrays exist 
     939                 IF(nn_timing == 2)  CALL timing_start('iom_rstget') 
    939940                 CALL iom_get( numror, jpdom_autoglo, 'avt'  , avt   ) 
    940941                 CALL iom_get( numror, jpdom_autoglo, 'avm'  , avm   ) 
     
    942943                 CALL iom_get( numror, jpdom_autoglo, 'avmv' , avmv  ) 
    943944                 CALL iom_get( numror, jpdom_autoglo, 'dissl', dissl ) 
     945                 IF(nn_timing == 2)  CALL timing_stop('iom_rstget') 
    944946              ELSE                                                 ! one at least array is missing 
    945947                 CALL tke_avn                                          ! compute avt, avm, avmu, avmv and dissl (approximation) 
     
    970972        !                                   ! ------------------- 
    971973        IF(lwp) WRITE(numout,*) '---- tke-rst ----' 
     974        IF(nn_timing == 2)  CALL timing_start('iom_rstput') 
    972975        CALL iom_rstput( kt, nitrst, numrow, 'en'   , en     ) 
    973976        CALL iom_rstput( kt, nitrst, numrow, 'avt'  , avt_k  ) 
     
    976979        CALL iom_rstput( kt, nitrst, numrow, 'avmv' , avmv_k ) 
    977980        CALL iom_rstput( kt, nitrst, numrow, 'dissl', dissl  ) 
     981        IF(nn_timing == 2)  CALL timing_stop('iom_rstput') 
    978982        ! 
    979983     ENDIF 
  • branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/OPA_SRC/nemogcm.F90

    r8400 r9321  
    208208         CALL Agrif_ParentGrid_To_ChildGrid() 
    209209         IF( lk_diaobs ) CALL dia_obs_wri 
    210          IF( nn_timing == 1 )   CALL timing_finalize 
     210         IF( nn_timing > 0 )   CALL timing_finalize 
    211211         CALL Agrif_ChildGrid_To_ParentGrid() 
    212212      ENDIF 
    213213#endif 
    214       IF( nn_timing == 1 )   CALL timing_finalize 
     214      IF( nn_timing > 0 )   CALL timing_finalize 
    215215      ! 
    216216      CALL nemo_closefile 
     
    405405      ENDIF 
    406406      ! 
    407       IF( nn_timing == 1 )  CALL timing_init 
     407      IF( nn_timing > 0 )  CALL timing_init 
    408408      ! 
    409409      !                                      ! General initialization 
Note: See TracChangeset for help on using the changeset viewer.