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 8895 for branches/UKMO/dev_r7750_GO6_package_oasis_timers/NEMOGCM/NEMO/OPA_SRC/CRS/crsdomwri.F90 – NEMO

Ignore:
Timestamp:
2017-12-05T09:31:13+01:00 (7 years ago)
Author:
andmirek
Message:

#1978 new timers for NEMO restart write

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/dev_r7750_GO6_package_oasis_timers/NEMOGCM/NEMO/OPA_SRC/CRS/crsdomwri.F90

    r6486 r8895  
    122122      !======================================================== 
    123123      !                                                         ! masks (inum2)  
     124      IF(nn_timing == 2)  CALL timing_start('rst_put') 
    124125      CALL iom_rstput( 0, 0, inum2, 'tmask', tmask_crs, ktype = jp_i1 )     !    ! land-sea mask 
    125126      CALL iom_rstput( 0, 0, inum2, 'umask', umask_crs, ktype = jp_i1 ) 
    126127      CALL iom_rstput( 0, 0, inum2, 'vmask', vmask_crs, ktype = jp_i1 ) 
    127128      CALL iom_rstput( 0, 0, inum2, 'fmask', fmask_crs, ktype = jp_i1 ) 
     129      IF(nn_timing == 2)  CALL timing_stop('rst_put') 
    128130       
    129131       
     
    156158         fpol_crs(jpiglo_crs/2+1:jpiglo_crs,:)=0._wp 
    157159      ENDIF 
    158        
     160      IF(nn_timing == 2)  CALL timing_start('rst_put')  
    159161      CALL iom_rstput( 0, 0, inum2, 'tmaskutil', tmask_i_crs, ktype = jp_i1 ) 
    160                                    !    ! unique point mask 
     162      IF(nn_timing == 2)  CALL timing_stop('rst_put') 
    161163      CALL dom_uniq_crs( zprw, 'U' ) 
    162164      zprt = umask_crs(:,:,1) * zprw 
     165      IF(nn_timing == 2)  CALL timing_start('rst_put') 
    163166      CALL iom_rstput( 0, 0, inum2, 'umaskutil', zprt, ktype = jp_i1 )   
     167      IF(nn_timing == 2)  CALL timing_stop('rst_put') 
    164168      CALL dom_uniq_crs( zprw, 'V' ) 
    165169      zprt = vmask_crs(:,:,1) * zprw 
     170      IF(nn_timing == 2)  CALL timing_start('rst_put') 
    166171      CALL iom_rstput( 0, 0, inum2, 'vmaskutil', zprt, ktype = jp_i1 )   
     172      IF(nn_timing == 2)  CALL timing_stop('rst_put') 
    167173      CALL dom_uniq_crs( zprw, 'F' ) 
    168174      zprt = fmask_crs(:,:,1) * zprw 
     175      IF(nn_timing == 2)  CALL timing_start('rst_put') 
    169176      CALL iom_rstput( 0, 0, inum2, 'fmaskutil', zprt, ktype = jp_i1 )   
    170177      !======================================================== 
     
    191198       
    192199      CALL iom_rstput( 0, 0, inum3, 'ff', ff_crs, ktype = jp_r8 )           !    ! coriolis factor 
    193  
     200      IF(nn_timing == 2)  CALL timing_stop('rst_put') 
    194201      !======================================================== 
    195202      !                                                         ! vertical mesh (inum4)  
    196203!     ! note that mbkt is set to 1 over land ==> use surface tmask_crs 
    197204      zprt(:,:) = tmask_crs(:,:,1) * REAL( mbkt_crs(:,:) , wp ) 
     205      IF(nn_timing == 2)  CALL timing_start('rst_put') 
    198206      CALL iom_rstput( 0, 0, inum4, 'mbathy', zprt, ktype = jp_i2 )     !    ! nb of ocean T-points 
     207      IF(nn_timing == 2)  CALL timing_stop('rst_put') 
    199208 
    200209      IF( ln_zps ) THEN                       ! z-coordinate - partial steps 
     
    202211             
    203212         IF ( nn_msh_crs <= 6 ) THEN 
     213            IF(nn_timing == 2)  CALL timing_start('rst_put') 
    204214            CALL iom_rstput( 0, 0, inum4, 'e3t', e3t_crs )       
    205215            CALL iom_rstput( 0, 0, inum4, 'e3w', e3w_crs )       
    206216            CALL iom_rstput( 0, 0, inum4, 'e3u', e3u_crs )       
    207217            CALL iom_rstput( 0, 0, inum4, 'e3v', e3v_crs )       
     218            IF(nn_timing == 2)  CALL timing_stop('rst_put') 
    208219         ELSE 
    209220            DO jj = 1,jpj_crs    
     
    216227            CALL crs_lbc_lnk( ze3tp,'T', 1.0 ) 
    217228            CALL crs_lbc_lnk( ze3wp,'W', 1.0 ) 
    218    
     229            IF(nn_timing == 2)  CALL timing_start('rst_put')  
    219230            CALL iom_rstput( 0, 0, inum4, 'e3t_ps', ze3tp )       
    220231            CALL iom_rstput( 0, 0, inum4, 'e3w_ps', ze3wp ) 
     232            IF(nn_timing == 2)  CALL timing_stop('rst_put') 
    221233         ENDIF 
    222234 
     
    233245 
    234246            CALL crs_lbc_lnk( zdepu,'U', 1. )   ;   CALL crs_lbc_lnk( zdepv,'V', 1. )  
     247            IF(nn_timing == 2)  CALL timing_start('rst_put') 
    235248            CALL iom_rstput( 0, 0, inum4, 'gdepu', zdepu, ktype = jp_r4 ) 
    236249            CALL iom_rstput( 0, 0, inum4, 'gdepv', zdepv, ktype = jp_r4 ) 
    237250            CALL iom_rstput( 0, 0, inum4, 'gdepw', gdepw_crs, ktype = jp_r4 ) 
     251            IF(nn_timing == 2)  CALL timing_stop('rst_put') 
    238252         ELSE 
    239253            DO jj = 1,jpj_crs    
     
    243257               END DO 
    244258            END DO 
     259            IF(nn_timing == 2)  CALL timing_start('rst_put') 
    245260            CALL iom_rstput( 0, 0, inum4, 'hdept', zprt, ktype = jp_r4 )      
    246261            CALL iom_rstput( 0, 0, inum4, 'hdepw', zprw, ktype = jp_r4 )  
     262            IF(nn_timing == 2)  CALL timing_stop('rst_put') 
    247263         ENDIF 
    248  
     264         IF(nn_timing == 2)  CALL timing_start('rst_put') 
    249265         CALL iom_rstput( 0, 0, inum4, 'gdept_1d', gdept_1d )     !    ! reference z-coord. 
    250266         CALL iom_rstput( 0, 0, inum4, 'gdepw_1d', gdepw_1d ) 
     
    269285         CALL iom_rstput(  0, 0, inum4, 'crs_surfv_wgt', crs_surfv_wgt )  
    270286         CALL iom_rstput(  0, 0, inum4, 'crs_volt_wgt' , crs_volt_wgt  )  
    271  
     287         IF(nn_timing == 2)  CALL timing_stop('rst_put')  
    272288      ENDIF 
    273289       
    274290     IF( ln_zco ) THEN 
    275291         !                                                      ! z-coordinate - full steps 
     292        IF(nn_timing == 2)  CALL timing_start('rst_put') 
    276293        CALL iom_rstput( 0, 0, inum4, 'gdept_1d', gdept_1d )     !    ! depth 
    277294        CALL iom_rstput( 0, 0, inum4, 'gdepw_1d', gdepw_1d ) 
    278295        CALL iom_rstput( 0, 0, inum4, 'e3t_1d'  , e3t_1d   )     !    ! scale factors 
    279296        CALL iom_rstput( 0, 0, inum4, 'e3w_1d'  , e3w_1d   ) 
     297        IF(nn_timing == 2)  CALL timing_stop('rst_put') 
    280298     ENDIF 
    281299      !                                     ! ============================ 
Note: See TracChangeset for help on using the changeset viewer.