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 516 for trunk/NEMO/OPA_SRC/DOM/domzgr.F90 – NEMO

Ignore:
Timestamp:
2006-10-05T17:53:31+02:00 (18 years ago)
Author:
opalod
Message:

nemo_v1_update_072 : CT : - lights modifications to ensure good control prints for the restartability & reproductibility tests

  • build all ocean.output_XXXX files only if logical namelist ln_ctl is TRUE, in all case keep the initial ocean.output file (require a new namelist namctl)
  • conditionning some prints using nprint parameter
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/OPA_SRC/DOM/domzgr.F90

    r473 r516  
    100100      ENDIF 
    101101 
    102  
    103102      ! Build the vertical coordinate system 
    104103      ! ------------------------------------ 
     
    115114 
    116115!!bug gm control print: 
    117       write(numout,*) ' MIN val mbathy ', MINVAL( mbathy(:,:) ), ' MAX ', MAXVAL( mbathy(:,:) ) 
    118       write(numout,*) ' MIN val depth t ', MINVAL( fsdept(:,:,:) ),   & 
    119          &                   ' w ',   MINVAL( fsdepw(:,:,:) ), '3w ', MINVAL( fsde3w(:,:,:) ) 
    120       write(numout,*) ' MIN val e3    t ', MINVAL( fse3t(:,:,:) ), ' f ', MINVAL( fse3f(:,:,:) ),  & 
    121          &                   ' u ',   MINVAL( fse3u(:,:,:) ), ' u ', MINVAL( fse3v(:,:,:) ),  & 
    122          &                   ' uw',   MINVAL( fse3uw(:,:,:)), ' vw', MINVAL( fse3vw(:,:,:)),   & 
    123          &                   ' w ',   MINVAL( fse3w(:,:,:) ) 
    124  
    125       write(numout,*) ' MAX val depth t ', MAXVAL( fsdept(:,:,:) ),   & 
    126          &                   ' w ',   MAXVAL( fsdepw(:,:,:) ), '3w ', MAXVAL( fsde3w(:,:,:) ) 
    127       write(numout,*) ' MAX val e3    t ', MAXVAL( fse3t(:,:,:) ), ' f ', MAXVAL( fse3f(:,:,:) ),  & 
    128          &                   ' u ',   MAXVAL( fse3u(:,:,:) ), ' u ', MAXVAL( fse3v(:,:,:) ),  & 
    129          &                   ' uw',   MAXVAL( fse3uw(:,:,:)), ' vw', MAXVAL( fse3vw(:,:,:)),   & 
    130          &                   ' w ',   MAXVAL( fse3w(:,:,:) ) 
     116      IF( nprint == 1 .AND. lwp )   THEN 
     117         WRITE(numout,*) ' MIN val mbathy ', MINVAL( mbathy(:,:) ), ' MAX ', MAXVAL( mbathy(:,:) ) 
     118         WRITE(numout,*) ' MIN val depth t ', MINVAL( fsdept(:,:,:) ),   & 
     119            &                   ' w ',   MINVAL( fsdepw(:,:,:) ), '3w ', MINVAL( fsde3w(:,:,:) ) 
     120         WRITE(numout,*) ' MIN val e3    t ', MINVAL( fse3t(:,:,:) ), ' f ', MINVAL( fse3f(:,:,:) ),  & 
     121            &                   ' u ',   MINVAL( fse3u(:,:,:) ), ' u ', MINVAL( fse3v(:,:,:) ),  & 
     122            &                   ' uw',   MINVAL( fse3uw(:,:,:)), ' vw', MINVAL( fse3vw(:,:,:)),   & 
     123            &                   ' w ',   MINVAL( fse3w(:,:,:) ) 
     124 
     125         WRITE(numout,*) ' MAX val depth t ', MAXVAL( fsdept(:,:,:) ),   & 
     126            &                   ' w ',   MAXVAL( fsdepw(:,:,:) ), '3w ', MAXVAL( fsde3w(:,:,:) ) 
     127         WRITE(numout,*) ' MAX val e3    t ', MAXVAL( fse3t(:,:,:) ), ' f ', MAXVAL( fse3f(:,:,:) ),  & 
     128            &                   ' u ',   MAXVAL( fse3u(:,:,:) ), ' u ', MAXVAL( fse3v(:,:,:) ),  & 
     129            &                   ' uw',   MAXVAL( fse3uw(:,:,:)), ' vw', MAXVAL( fse3vw(:,:,:)),   & 
     130            &                   ' w ',   MAXVAL( fse3w(:,:,:) ) 
     131      ENDIF 
    131132!!!bug gm 
    132133 
     
    421422         !                                            ! =============== ! 
    422423 
    423          CALL iom_open ( 'bathy_level.nc', inum )   ! Level bathymetry 
    424          IF ( inum > 0 ) THEN 
     424         IF( ln_zco )   THEN 
     425            CALL iom_open ( 'bathy_level.nc', inum )   ! Level bathymetry 
    425426            CALL iom_get ( inum, jpdom_data, 'Bathy_level', bathy ) 
    426427            CALL iom_close (inum) 
    427428            mbathy(:,:) = INT( bathy(:,:) ) 
    428          ELSE  
    429             IF( ln_zco ) THEN 
    430                CALL ctl_stop( '    zgr_bat : unable to read the file ' ) 
    431             ELSE 
    432                IF(lwp) WRITE(numout,*)'    zgr_bat : bathy_level will be computed from bathy_meter' 
    433                nstop = nstop - 1        ! supress the error count for opening 'bathy_level.nc' 
    434                mbathy(:,:) = jpkm1       
    435             ENDIF 
    436429         ENDIF 
    437430 
    438          CALL iom_open ( 'bathy_meter.nc', inum )   ! meter bathymetry 
    439          IF ( inum > 0 ) THEN 
     431         IF( ln_zps .OR. ln_sco )   THEN 
     432            CALL iom_open ( 'bathy_meter.nc', inum )   ! meter bathymetry 
    440433            CALL iom_get ( inum, jpdom_data, 'Bathymetry', bathy ) 
    441434            CALL iom_close (inum) 
    442          ELSE  
    443             IF( ln_zps .OR. ln_sco ) THEN 
    444               CALL ctl_stop( '    zgr_bat : unable to read the file ' ) 
    445             ELSE 
    446                bathy(:,:) = 0.e0        ! initialisation 
    447                nstop = nstop - 1        ! supress the error count for opening 'bathy_level.nc' 
    448                IF(lwp) WRITE(numout,*)'    zgr_bat : bathy_meter not found, but not used, bathy array set to zero' 
    449             ENDIF 
    450435         ENDIF 
    451436         !                                            ! =============== ! 
     
    969954         zrmax  = EXP( -(gphit(10,jj)/8)**2 ) 
    970955         ztaper = EXP( -(FLOAT(jj-74)/10.)**2 ) 
    971          write(numout,*) jj, (FLOAT(jj-74)/10.), ztaper,(gphit(10,jj)/8), zrmax 
    972       END DO 
    973  
    974       write(numout,*) ' bathy  MAX ', MAXVAL( bathy(:,:) ), ' MIN ', MINVAL( bathy(:,:) ) 
    975       write(numout,*) ' hbatt  MAX ', MAXVAL( hbatt(:,:) ), ' MIN ', MINVAL( hbatt(:,:) ) 
     956         IF( nprint == 1 .AND. lwp ) WRITE(numout,*) jj, (FLOAT(jj-74)/10.), ztaper,(gphit(10,jj)/8), zrmax 
     957      END DO 
     958 
     959      IF( nprint == 1 .AND. lwp )   THEN 
     960         WRITE(numout,*) ' bathy  MAX ', MAXVAL( bathy(:,:) ), ' MIN ', MINVAL( bathy(:,:) ) 
     961         WRITE(numout,*) ' hbatt  MAX ', MAXVAL( hbatt(:,:) ), ' MIN ', MINVAL( hbatt(:,:) ) 
     962      ENDIF 
    976963 
    977964      ! Control print 
     
    10481035      hiff(:,:) = MIN( hiff(:,:), hbatf(:,:) ) 
    10491036 
    1050       write(numout,*) ' MAX val hif   t ', MAXVAL( hift(:,:) ), ' f ', MAXVAL( hiff(:,:) ),  & 
    1051          &                        ' u ',   MAXVAL( hifu(:,:) ), ' v ', MAXVAL( hifv(:,:) ) 
    1052       write(numout,*) ' MIN val hif   t ', MINVAL( hift(:,:) ), ' f ', MINVAL( hiff(:,:) ),  & 
    1053          &                        ' u ',   MINVAL( hifu(:,:) ), ' v ', MINVAL( hifv(:,:) ) 
    1054       write(numout,*) ' MAX val hbat  t ', MAXVAL( hbatt(:,:) ), ' f ', MAXVAL( hbatf(:,:) ),  & 
    1055          &                        ' u ',   MAXVAL( hbatu(:,:) ), ' v ', MAXVAL( hbatv(:,:) ) 
    1056       write(numout,*) ' MIN val hbat  t ', MINVAL( hbatt(:,:) ), ' f ', MINVAL( hbatf(:,:) ),  & 
    1057          &                        ' u ',   MINVAL( hbatu(:,:) ), ' v ', MINVAL( hbatv(:,:) ) 
     1037      IF( nprint == 1 .AND. lwp )   THEN 
     1038         WRITE(numout,*) ' MAX val hif   t ', MAXVAL( hift(:,:) ), ' f ', MAXVAL( hiff(:,:) ),  & 
     1039            &                        ' u ',   MAXVAL( hifu(:,:) ), ' v ', MAXVAL( hifv(:,:) ) 
     1040         WRITE(numout,*) ' MIN val hif   t ', MINVAL( hift(:,:) ), ' f ', MINVAL( hiff(:,:) ),  & 
     1041            &                        ' u ',   MINVAL( hifu(:,:) ), ' v ', MINVAL( hifv(:,:) ) 
     1042         WRITE(numout,*) ' MAX val hbat  t ', MAXVAL( hbatt(:,:) ), ' f ', MAXVAL( hbatf(:,:) ),  & 
     1043            &                        ' u ',   MAXVAL( hbatu(:,:) ), ' v ', MAXVAL( hbatv(:,:) ) 
     1044         WRITE(numout,*) ' MIN val hbat  t ', MINVAL( hbatt(:,:) ), ' f ', MINVAL( hbatf(:,:) ),  & 
     1045            &                        ' u ',   MINVAL( hbatu(:,:) ), ' v ', MINVAL( hbatv(:,:) ) 
     1046      ENDIF 
    10581047!! helsinki 
    10591048 
     
    10691058      END DO 
    10701059 
    1071       write(numout,*) 'gsigw 1 jpk    ', gsigw(1), gsigw(jpk) 
     1060      IF( nprint == 1 .AND. lwp ) WRITE(numout,*) 'gsigw 1 jpk    ', gsigw(1), gsigw(jpk) 
    10721061 
    10731062!!org DO jk = 1, jpk 
     
    11401129      END DO 
    11411130 
    1142       write(numout,*) ' MIN val mbathy h90 ', MINVAL( mbathy(:,:) ), ' MAX ', MAXVAL( mbathy(:,:) ) 
     1131      IF( nprint == 1 .AND. lwp ) WRITE(numout,*) ' MIN val mbathy h90 ', MINVAL( mbathy(:,:) ), ' MAX ', MAXVAL( mbathy(:,:) ) 
    11431132 
    11441133 
Note: See TracChangeset for help on using the changeset viewer.