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 11085 for branches/UKMO/AMM15_v3_6_STABLE_package_reanalysis3/NEMOGCM/NEMO/OPA_SRC/DIA/diadct.F90 – NEMO

Ignore:
Timestamp:
2019-06-06T17:39:19+02:00 (5 years ago)
Author:
rrenshaw
Message:

code fixes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/AMM15_v3_6_STABLE_package_reanalysis3/NEMOGCM/NEMO/OPA_SRC/DIA/diadct.F90

    r11066 r11085  
    160160     INTEGER           ::   ios,jsec        ! Local integer output status for namelist read 
    161161     CHARACTER(len=3)  ::   jsec_str        ! name of the jsec 
     162     LOGICAL       ::   verbose      
     163     verbose = .false. 
    162164 
    163165     IF( nn_timing == 1 )   CALL timing_start('dia_dct_init') 
     
    204206 
    205207     IF( lwp ) THEN 
     208       IF( verbose ) THEN 
    206209        WRITE(numout,*) " " 
    207210        WRITE(numout,*) "diadct_init: compute transports through sections " 
     
    223226           WRITE(numout,*) "       Frequency of write:       nn_dctwri = ",nn_dctwri 
    224227        ENDIF 
     228       ENDIF 
    225229 
    226230        IF      ( nn_secdebug .GE. 1 .AND. nn_secdebug .LE. nb_sec_max )THEN 
     
    254258           ENDIF 
    255259        ELSE 
    256            CALL ctl_opn( numdct_vol,  'volume_transport', 'NEW', 'FORMATTED', 'SEQUENTIAL', -1, numout,  .FALSE. ) 
    257            CALL ctl_opn( numdct_heat, 'heat_transport'  , 'NEW', 'FORMATTED', 'SEQUENTIAL', -1, numout,  .FALSE. ) 
    258            CALL ctl_opn( numdct_salt, 'salt_transport'  , 'NEW', 'FORMATTED', 'SEQUENTIAL', -1, numout,  .FALSE. ) 
     260           CALL ctl_opn( numdct_vol,  'volume_transport', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout,  .FALSE. ) 
     261           CALL ctl_opn( numdct_heat, 'heat_transport'  , 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout,  .FALSE. ) 
     262           CALL ctl_opn( numdct_salt, 'salt_transport'  , 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout,  .FALSE. ) 
    259263        ENDIF 
    260264     ENDIF 
     
    357361     REAL(wp), POINTER, DIMENSION(:)    :: zwork !   "   
    358362     REAL(wp), POINTER, DIMENSION(:,:,:):: zsum  !   " 
     363     LOGICAL       ::   verbose      
     364     verbose = .false. 
    359365 
    360366     !!---------------------------------------------------------------------     
     
    371377     zsum(:,:,:) = 0.0 
    372378 
    373      IF( lwp .AND. kt==nit000+nn_dct-1 ) THEN 
     379     IF( lwp .AND. kt==nit000+nn_dct-1 .AND. verbose ) THEN 
    374380         WRITE(numout,*) " " 
    375381         WRITE(numout,*) "diadct: compute transport" 
     
    408414             
    409415 
    410               IF( lwp .AND. kt==nit000+nn_dctwri-1 ) WRITE(numout,*)"      diadct: average and write at kt = ",kt 
     416              IF( lwp .AND. kt==nit000+nn_dctwri-1 .AND. verbose ) WRITE(numout,*)"      diadct: average and write at kt = ",kt 
    411417 
    412418 
     
    473479            IF( MOD(kt,nn_dctwri_h)==0 )THEN 
    474480 
    475               IF( lwp .AND. kt==nit000+nn_dctwri_h-1 )WRITE(numout,*)"      diadct: average and write hourly files at kt = ",kt          
     481              IF( lwp .AND. kt==nit000+nn_dctwri_h-1 .AND. verbose )WRITE(numout,*)"      diadct: average and write hourly files at kt = ",kt          
    476482       
    477483              !! divide arrays by nn_dctwri/nn_dct to obtain average 
     
    556562     LOGICAL :: llbon                                       ,&!local logical 
    557563                lldebug                                       !debug the section 
     564     LOGICAL       ::   verbose      
     565     verbose = .false. 
    558566     !!------------------------------------------------------------------------------------- 
    559567     CALL wrk_alloc( nb_point_max, directemp ) 
     
    564572     !OPEN(UNIT=107,FILE='section_ijglobal.diadct', FORM='UNFORMATTED', ACCESS='SEQUENTIAL', STATUS='OLD',convert='LITTLE_ENDIAN') 
    565573      
    566      write(numout,*) 'dct low-level pre open: big endian :',nproc,narea 
     574     IF ( verbose ) write(numout,*) 'dct low-level pre open: big endian :',nproc,narea 
    567575     OPEN(UNIT=107,FILE='section_ijglobal.diadct', FORM='UNFORMATTED', ACCESS='SEQUENTIAL', STATUS='OLD',convert='BIG_ENDIAN') 
    568576      
     
    632640        READ(numdct_in)iptglo 
    633641 
    634         IF ( ln_NOOS ) THEN 
     642        IF ( ln_NOOS .AND. verbose ) THEN 
    635643           WRITE(numout,*) 'Section name = ',TRIM(secs(jsec)%name) 
    636644           WRITE(numout,*) 'coordSec = ',secs(jsec)%coordSec 
     
    663671           !read points'coordinates and directions  
    664672           !-------------------------------------- 
    665            IF ( ln_NOOS ) THEN 
     673           IF ( ln_NOOS .AND. verbose ) THEN 
    666674              WRITE(numout,*) 'Coords and direction read' 
    667675           ENDIF 
     
    766774     nb_sec = jsec-1   !number of section read in the file 
    767775 
    768      IF( lwp )  WRITE(numout,*)'diadct: read sections: Finished readsec.' 
     776     IF( lwp .AND. verbose )  WRITE(numout,*)'diadct: read sections: Finished readsec.' 
    769777 
    770778     CALL wrk_dealloc( nb_point_max, directemp ) 
     
    18231831     REAL(wp), DIMENSION(3) :: tmp_iom_output 
    18241832     REAL(wp)               :: max_iom_val 
     1833     LOGICAL       ::   verbose      
     1834     verbose = .false. 
    18251835      
    18261836     !!-------------------------------------------------------------  
     
    18281838      
    18291839      
    1830      IF( lwp ) THEN 
     1840     IF( lwp .AND. verbose ) THEN 
    18311841        WRITE(numout,*) " " 
    18321842        WRITE(numout,*) "dia_dct_wri_NOOS: write transports through sections at timestep: ", kt 
     
    21762186          
    21772187         noos_var_sect_name = "noos_" // trim(noos_sect_name) // '_trans' 
    2178          if ( lwp ) WRITE(numout,*) 'dia_dct_wri_NOOS iom_put: ', kt,ksec, noos_var_sect_name 
     2188         if ( lwp .AND. verbose ) WRITE(numout,*) 'dia_dct_wri_NOOS iom_put: ', kt,ksec, noos_var_sect_name 
    21792189         CALL iom_put( noos_var_sect_name,  noos_iom_dummy ) 
    21802190         noos_iom_dummy(:,:,:) = 0. 
     
    22122222          
    22132223         noos_var_sect_name =  "noos_" // trim(noos_sect_name) // '_heat' 
    2214          if ( lwp ) WRITE(numout,*) 'dia_dct_wri_NOOS iom_put: ', kt,ksec, noos_var_sect_name 
     2224         if ( lwp .AND. verbose ) WRITE(numout,*) 'dia_dct_wri_NOOS iom_put: ', kt,ksec, noos_var_sect_name 
    22152225         CALL iom_put(noos_var_sect_name,  noos_iom_dummy )   
    22162226         noos_iom_dummy(:,:,:) = 0. 
     
    22492259          
    22502260         noos_var_sect_name = "noos_" // trim(noos_sect_name) // '_salt' 
    2251          if ( lwp ) WRITE(numout,*) 'dia_dct_wri_NOOS iom_put: ', kt,ksec, noos_var_sect_name 
     2261         if ( lwp .AND. verbose ) WRITE(numout,*) 'dia_dct_wri_NOOS iom_put: ', kt,ksec, noos_var_sect_name 
    22522262         CALL iom_put(noos_var_sect_name,  noos_iom_dummy ) 
    22532263         noos_iom_dummy(:,:,:) = 0.          
     
    23612371     REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) ::   noos_iom_dummy 
    23622372     INTEGER               :: IERR 
     2373     LOGICAL       ::   verbose      
     2374     verbose = .false. 
    23632375      
    23642376     !!-------------------------------------------------------------  
    23652377 
    2366      IF( lwp ) THEN 
     2378     IF( lwp .AND. verbose ) THEN 
    23672379        WRITE(numout,*) " " 
    23682380        WRITE(numout,*) "dia_dct_wri_NOOS_h: write transports through section Transect:",ksec-1," at timestep: ", hr 
Note: See TracChangeset for help on using the changeset viewer.