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

Changeset 623


Ignore:
Timestamp:
2007-02-26T18:26:08+01:00 (17 years ago)
Author:
opalod
Message:

nemo_v2_bugfix_024:RB: Use of ctlopn for all files (except for dimg and coupled part)

Location:
trunk/NEMO/OPA_SRC
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/OPA_SRC/DIA/diafwb.F90

    r474 r623  
    6767 
    6868      !! * Local declarations 
     69      INTEGER :: inum             ! temporary logical unit 
    6970      INTEGER :: ji, jj, jk, jt   ! dummy loop indices 
    7071      INTEGER :: ii0, ii1, ij0, ij1 
     
    387388      IF ( kt == nitend ) THEN 
    388389 
    389          OPEN(111,FILE='STRAIT.dat') 
    390          WRITE(111,*) 
    391          WRITE(111,*)    'Net freshwater budget ' 
    392          WRITE(111,9010) '  emp    = ',a_emp,   ' m3 =', a_emp   /(FLOAT(nitend-nit000+1)*rdttra(1)) * 1.e-6,' Sv' 
    393          WRITE(111,9010) '  precip = ',a_precip,' m3 =', a_precip/(FLOAT(nitend-nit000+1)*rdttra(1)) * 1.e-6,' Sv' 
    394          WRITE(111,9010) '  a_rnf  = ',a_rnf,   ' m3 =', a_rnf   /(FLOAT(nitend-nit000+1)*rdttra(1)) * 1.e-6,' Sv' 
    395          WRITE(111,*) 
    396          WRITE(111,9010) '  zarea =',zarea 
    397          WRITE(111,9010) '  zvol  =',zvol 
    398          WRITE(111,*) 
    399          WRITE(111,*)    'Mean sea level : ' 
    400          WRITE(111,9010) '  at nit000 = ',a_sshb        ,' m3 ' 
    401          WRITE(111,9010) '  at nitend = ',a_sshn        ,' m3 ' 
    402          WRITE(111,9010) '  diff      = ',(a_sshn-a_sshb),' m3 =', (a_sshn-a_sshb)/(FLOAT(nitend-nit000+1)*rdt) * 1.e-6,' Sv' 
    403          WRITE(111,9020) '  mean sea level elevation    =', a_sshn/zarea,' m' 
    404          WRITE(111,*) 
    405          WRITE(111,*)    'Anomaly of salinity content : ' 
    406          WRITE(111,9010) '  at nit000 = ',a_salb        ,' psu.m3 ' 
    407          WRITE(111,9010) '  at nitend = ',a_saln        ,' psu.m3 ' 
    408          WRITE(111,9010) '  diff      = ',(a_saln-a_salb),' psu.m3' 
    409          WRITE(111,*) 
    410          WRITE(111,*)    'Mean salinity : ' 
    411          WRITE(111,9020) '  at nit000 =',a_salb/zvol+zsm0   ,' psu ' 
    412          WRITE(111,9020) '  at nitend =',a_saln/zvol+zsm0   ,' psu ' 
    413          WRITE(111,9020) '  diff      =',(a_saln-a_salb)/zvol,' psu' 
    414          WRITE(111,9020) '  S-SLevitus=',a_saln/zvol,' psu' 
    415          WRITE(111,*) 
    416          WRITE(111,*)    'Coeff : ' 
    417          WRITE(111,9030) '  Alpha+   =  ', a_aplus 
    418          WRITE(111,9030) '  Alpha-   =  ', a_aminus 
    419          WRITE(111,*) 
    420          WRITE(111,*) 
    421          WRITE(111,*)    'Gibraltar : ' 
    422          WRITE(111,9030) '  Flux entrant (Sv) :', a_flxi(1) 
    423          WRITE(111,9030) '  Flux sortant (Sv) :', a_flxo(1) 
    424          WRITE(111,9030) '  T entrant (deg)   :', a_temi(1) 
    425          WRITE(111,9030) '  T sortant (deg)   :', a_temo(1) 
    426          WRITE(111,9030) '  S entrant (psu)   :', a_sali(1) 
    427          WRITE(111,9030) '  S sortant (psu)   :', a_salo(1) 
    428          WRITE(111,*) 
    429          WRITE(111,*)    'Cadiz : ' 
    430          WRITE(111,9030) '  Flux entrant (Sv) :', a_flxi(2) 
    431          WRITE(111,9030) '  Flux sortant (Sv) :', a_flxo(2) 
    432          WRITE(111,9030) '  T entrant (deg)   :', a_temi(2) 
    433          WRITE(111,9030) '  T sortant (deg)   :', a_temo(2) 
    434          WRITE(111,9030) '  S entrant (psu)   :', a_sali(2) 
    435          WRITE(111,9030) '  S sortant (psu)   :', a_salo(2) 
    436          WRITE(111,*) 
    437          WRITE(111,*)    'Bab el Mandeb : ' 
    438          WRITE(111,9030) '  Flux entrant (Sv) :', a_flxi(3) 
    439          WRITE(111,9030) '  Flux sortant (Sv) :', a_flxo(3) 
    440          WRITE(111,9030) '  T entrant (deg)   :', a_temi(3) 
    441          WRITE(111,9030) '  T sortant (deg)   :', a_temo(3) 
    442          WRITE(111,9030) '  S entrant (psu)   :', a_sali(3) 
    443          WRITE(111,9030) '  S sortant (psu)   :', a_salo(3) 
    444          WRITE(111,*) 
    445          WRITE(111,*)    'Baltic : ' 
    446          WRITE(111,9030) '  Flux entrant (Sv) :', a_flxi(4) 
    447          WRITE(111,9030) '  Flux sortant (Sv) :', a_flxo(4) 
    448          WRITE(111,9030) '  T entrant (deg)   :', a_temi(4) 
    449          WRITE(111,9030) '  T sortant (deg)   :', a_temo(4) 
    450          WRITE(111,9030) '  S entrant (psu)   :', a_sali(4) 
    451          WRITE(111,9030) '  S sortant (psu)   :', a_salo(4) 
    452          CLOSE(111) 
     390         CALL ctlopn( inum, 'STAIT.dat', 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL',   & 
     391            &         1, numout, .TRUE., 1 ) 
     392         WRITE(inum,*) 
     393         WRITE(inum,*)    'Net freshwater budget ' 
     394         WRITE(inum,9010) '  emp    = ',a_emp,   ' m3 =', a_emp   /(FLOAT(nitend-nit000+1)*rdttra(1)) * 1.e-6,' Sv' 
     395         WRITE(inum,9010) '  precip = ',a_precip,' m3 =', a_precip/(FLOAT(nitend-nit000+1)*rdttra(1)) * 1.e-6,' Sv' 
     396         WRITE(inum,9010) '  a_rnf  = ',a_rnf,   ' m3 =', a_rnf   /(FLOAT(nitend-nit000+1)*rdttra(1)) * 1.e-6,' Sv' 
     397         WRITE(inum,*) 
     398         WRITE(inum,9010) '  zarea =',zarea 
     399         WRITE(inum,9010) '  zvol  =',zvol 
     400         WRITE(inum,*) 
     401         WRITE(inum,*)    'Mean sea level : ' 
     402         WRITE(inum,9010) '  at nit000 = ',a_sshb        ,' m3 ' 
     403         WRITE(inum,9010) '  at nitend = ',a_sshn        ,' m3 ' 
     404         WRITE(inum,9010) '  diff      = ',(a_sshn-a_sshb),' m3 =', (a_sshn-a_sshb)/(FLOAT(nitend-nit000+1)*rdt) * 1.e-6,' Sv' 
     405         WRITE(inum,9020) '  mean sea level elevation    =', a_sshn/zarea,' m' 
     406         WRITE(inum,*) 
     407         WRITE(inum,*)    'Anomaly of salinity content : ' 
     408         WRITE(inum,9010) '  at nit000 = ',a_salb        ,' psu.m3 ' 
     409         WRITE(inum,9010) '  at nitend = ',a_saln        ,' psu.m3 ' 
     410         WRITE(inum,9010) '  diff      = ',(a_saln-a_salb),' psu.m3' 
     411         WRITE(inum,*) 
     412         WRITE(inum,*)    'Mean salinity : ' 
     413         WRITE(inum,9020) '  at nit000 =',a_salb/zvol+zsm0   ,' psu ' 
     414         WRITE(inum,9020) '  at nitend =',a_saln/zvol+zsm0   ,' psu ' 
     415         WRITE(inum,9020) '  diff      =',(a_saln-a_salb)/zvol,' psu' 
     416         WRITE(inum,9020) '  S-SLevitus=',a_saln/zvol,' psu' 
     417         WRITE(inum,*) 
     418         WRITE(inum,*)    'Coeff : ' 
     419         WRITE(inum,9030) '  Alpha+   =  ', a_aplus 
     420         WRITE(inum,9030) '  Alpha-   =  ', a_aminus 
     421         WRITE(inum,*) 
     422         WRITE(inum,*) 
     423         WRITE(inum,*)    'Gibraltar : ' 
     424         WRITE(inum,9030) '  Flux entrant (Sv) :', a_flxi(1) 
     425         WRITE(inum,9030) '  Flux sortant (Sv) :', a_flxo(1) 
     426         WRITE(inum,9030) '  T entrant (deg)   :', a_temi(1) 
     427         WRITE(inum,9030) '  T sortant (deg)   :', a_temo(1) 
     428         WRITE(inum,9030) '  S entrant (psu)   :', a_sali(1) 
     429         WRITE(inum,9030) '  S sortant (psu)   :', a_salo(1) 
     430         WRITE(inum,*) 
     431         WRITE(inum,*)    'Cadiz : ' 
     432         WRITE(inum,9030) '  Flux entrant (Sv) :', a_flxi(2) 
     433         WRITE(inum,9030) '  Flux sortant (Sv) :', a_flxo(2) 
     434         WRITE(inum,9030) '  T entrant (deg)   :', a_temi(2) 
     435         WRITE(inum,9030) '  T sortant (deg)   :', a_temo(2) 
     436         WRITE(inum,9030) '  S entrant (psu)   :', a_sali(2) 
     437         WRITE(inum,9030) '  S sortant (psu)   :', a_salo(2) 
     438         WRITE(inum,*) 
     439         WRITE(inum,*)    'Bab el Mandeb : ' 
     440         WRITE(inum,9030) '  Flux entrant (Sv) :', a_flxi(3) 
     441         WRITE(inum,9030) '  Flux sortant (Sv) :', a_flxo(3) 
     442         WRITE(inum,9030) '  T entrant (deg)   :', a_temi(3) 
     443         WRITE(inum,9030) '  T sortant (deg)   :', a_temo(3) 
     444         WRITE(inum,9030) '  S entrant (psu)   :', a_sali(3) 
     445         WRITE(inum,9030) '  S sortant (psu)   :', a_salo(3) 
     446         WRITE(inum,*) 
     447         WRITE(inum,*)    'Baltic : ' 
     448         WRITE(inum,9030) '  Flux entrant (Sv) :', a_flxi(4) 
     449         WRITE(inum,9030) '  Flux sortant (Sv) :', a_flxo(4) 
     450         WRITE(inum,9030) '  T entrant (deg)   :', a_temi(4) 
     451         WRITE(inum,9030) '  T sortant (deg)   :', a_temo(4) 
     452         WRITE(inum,9030) '  S entrant (psu)   :', a_sali(4) 
     453         WRITE(inum,9030) '  S sortant (psu)   :', a_salo(4) 
     454         CLOSE(inum) 
    453455      ENDIF 
    454456 
  • trunk/NEMO/OPA_SRC/FLO/floats.F90

    r247 r623  
    9999 
    100100      !! * Local declarations 
    101       NAMELIST/namflo/ ln_rstflo, nwritefl, nstockfl  
     101      NAMELIST/namflo/ ln_rstflo, nwritefl, nstockfl, ln_argo, ln_flork4  
    102102      !!--------------------------------------------------------------------- 
    103103      ! Namelist namflo : floats 
     
    118118         WRITE(numout,*) '            frequency of float output file   nwritefl  = ', nwritefl 
    119119         WRITE(numout,*) '            frequency of float restart file  nstockfl  = ', nstockfl 
     120         WRITE(numout,*) '            Argo type floats                 ln_argo   = ', ln_argo 
     121         WRITE(numout,*) '            Computation of T trajectories    ln_flork4 = ', ln_flork4 
    120122         WRITE(numout,*) ' ' 
    121123      ENDIF 
  • trunk/NEMO/OPA_SRC/FLO/floblk.F90

    r466 r623  
    2525   !! * Accessibility 
    2626   PUBLIC flo_blk      ! routine called by floats.F90 
     27 
     28   !! * Substitutions 
     29#  include "domzgr_substitute.h90" 
    2730   !!---------------------------------------------------------------------- 
    2831   !!   OPA 9.0 , LOCEAN-IPSL (2005)  
     
    127130            ! for a isobar float zsurfz is put to zero. The vertical velocity will be zero too. 
    128131            zsurfz = e1t(iiloc(jfl),ijloc(jfl)) * e2t(iiloc(jfl),ijloc(jfl)) 
    129             zvol   = zsurfz * fse3t(iiloc(jfl),ijloc(jfl),-ikl(jfl)) ) 
     132            zvol   = zsurfz * fse3t(iiloc(jfl),ijloc(jfl),-ikl(jfl)) 
    130133 
    131134            ! 
  • trunk/NEMO/OPA_SRC/FLO/flodom.F90

    r283 r623  
    5050      INTEGER  :: ji, jj, jk               ! DO loop index on 3 directions 
    5151      INTEGER  :: jfl, jfl1                ! number of floats    
    52       INTEGER  :: inum = 11                ! logical unit for file read 
     52      INTEGER  :: inum                     ! logical unit for file read 
    5353      INTEGER, DIMENSION ( jpnfl    )  ::   & 
    5454         iimfl, ijmfl, ikmfl,    &          ! index mesh of floats 
     
    6969         ! open the restart file  
    7070         clname='restart_float' 
    71          OPEN (inum,FILE=clname,FORM='UNFORMATTED') 
     71         CALL ctlopn( inum, clname, 'OLD', 'FORMATTED', 'SEQUENTIAL',   & 
     72            &         1, numout, .TRUE., 1 ) 
    7273         REWIND inum 
    7374 
     
    9495            ! open the init file  
    9596            clname='init_float' 
    96             OPEN(inum,FILE=clname,FORM='FORMATTED') 
     97            CALL ctlopn( inum, clname, 'OLD', 'FORMATTED', 'SEQUENTIAL',   & 
     98               &         1, numout, .TRUE., 1 ) 
    9799            DO jfl = jpnrstflo+1, jpnfl 
    98100               READ(inum,*) flxx(jfl),flyy(jfl),flzz(jfl), nisobfl(jfl),ngrpfl(jfl),jfl1 
     
    225227         ! open the init file  
    226228         clname='init_float' 
    227          OPEN(inum,FILE=clname,FORM='FORMATTED') 
     229         CALL ctlopn( inum, clname, 'OLD', 'FORMATTED', 'SEQUENTIAL',   & 
     230            &         1, numout, .TRUE., 1 ) 
    228231         READ(inum) (flxx(jfl)   , jfl=1, jpnfl),   & 
    229232                    (flyy(jfl)   , jfl=1, jpnfl),   & 
  • trunk/NEMO/OPA_SRC/FLO/flowri.F90

    r247 r623  
    5656      !! * Local declarations 
    5757      CHARACTER (len=21) ::  clname 
    58       INTEGER ::   inum = 11       ! temporary logical unit for restart file 
     58      INTEGER ::   inum            ! temporary logical unit for restart file 
    5959      INTEGER  ::   & 
    6060         iafl,ibfl,icfl,ia1fl,ib1fl,ic1fl,jfl,irecflo,   & 
     
    8181         ! open the file numflo  
    8282         clname='trajec_float' 
    83          OPEN (numflo,FILE=clname,FORM='UNFORMATTED') 
     83         CALL ctlopn( numflo, clname, 'UNKNOWN', 'UNFORMATTED', 'SEQUENTIAL',   & 
     84            &           1, numout, .FALSE., 1 ) 
    8485         !      REWIND numflo 
    8586 
     
    141142            ! these 2 lines have accendentaly been removed from ATL6-V8 run hence 
    142143            ! giving 0 salinity and temperature on the float trajectory 
    143             CALL mpp_sum( ztemp, jpk*jpnfl ) 
    144             CALL mpp_sum( zsal , jpk*jpnfl ) 
     144!bug RB 
     145!compilation failed in mpp 
     146!            CALL mpp_sum( ztemp, jpk*jpnfl ) 
     147!            CALL mpp_sum( zsal , jpk*jpnfl ) 
    145148 
    146149         ELSE 
     
    266269         END DO 
    267270 
    268          OPEN (inum,FILE=clname,FORM='UNFORMATTED') 
     271         CALL ctlopn( inum, clname, 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL',   & 
     272            &           1, numout, .FALSE., 0 ) 
    269273         REWIND inum 
    270274         ! 
  • trunk/NEMO/OPA_SRC/IOM/in_out_manager.F90

    r596 r623  
    5858   INTEGER            ::   numstp     =  1        !: logical unit for time step 
    5959   INTEGER            ::   numout     =  2        !: logical unit for output print 
     60   INTEGER            ::   numid                  !: logical unit for debug print 
    6061   INTEGER            ::   numnam     =  3        !: logical unit for namelist 
    6162   INTEGER            ::   numnam_ice =  4        !: logical unit for ice namelist 
  • trunk/NEMO/OPA_SRC/LDF/ldfdyn_c2d.h90

    r247 r623  
    139139      !! * Local variables 
    140140      INTEGER ::   ji, jj, jn      ! dummy loop indices 
    141       INTEGER ::   inum = 11       ! temporary logical unit 
    142       INTEGER ::   iost, iim, ijm 
     141      INTEGER ::   inum            ! temporary logical unit 
     142      INTEGER ::   iim, ijm 
    143143      INTEGER ::   ifreq, il1, il2, ij, ii 
    144144      INTEGER, DIMENSION(jpidta,jpidta) ::   idata 
     
    165165      ! ===================== equatorial strip (20N-20S) defined at t-points 
    166166 
    167       OPEN( UNIT=inum, FILE='ahmcoef', STATUS='OLD',   & 
    168          &  FORM='FORMATTED', ACCESS='SEQUENTIAL', ERR=111 ,   & 
    169          &  IOSTAT= iost )  
    170       IF( iost == 0 ) THEN 
    171          IF(lwp) WRITE(numout,*) '     file   : ahmcoef open ok' 
    172          IF(lwp) WRITE(numout,*) '     unit   = ', inum 
    173          IF(lwp) WRITE(numout,*) '     status = OLD' 
    174          IF(lwp) WRITE(numout,*) '     form   = FORMATTED' 
    175          IF(lwp) WRITE(numout,*) '     access = SEQUENTIAL' 
    176          IF(lwp) WRITE(numout,*) 
    177       ENDIF 
    178  111  CONTINUE  
    179       IF( iost /= 0 ) THEN 
    180          IF(lwp) WRITE(numout,*) 
    181          IF(lwp) WRITE(numout,*) ' ===>>>> : bad opening file: ahmcoef' 
    182          IF(lwp) WRITE(numout,*) ' =======   ===  ' 
    183          IF(lwp) WRITE(numout,*) '           we stop. verify the file ' 
    184          IF(lwp) WRITE(numout,*) 
    185          STOP 'ldfdyn_c2d.h90' 
    186       ENDIF 
    187  
     167      CALL ctlopn( inum, 'ahmcoef', 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL',   & 
     168         &           1, numout, .TRUE., 1 ) 
    188169      REWIND inum 
    189170      READ(inum,9101) clexp, iim, ijm 
  • trunk/NEMO/OPA_SRC/LDF/ldfdyn_c3d.h90

    r473 r623  
    197197      INTEGER ::   ji, jj, jk, jn      ! dummy loop indices 
    198198      INTEGER ::   ii0, ii1, ij0, ij1  ! temporary integers 
    199       INTEGER ::   inum = 11           ! temporary logical unit 
    200       INTEGER ::   iost, iim, ijm 
     199      INTEGER ::   inum                ! temporary logical unit 
     200      INTEGER ::   iim, ijm 
    201201      INTEGER ::   ifreq, il1, il2, ij, ii 
    202202      INTEGER, DIMENSION(jpidta, jpjdta) ::   idata 
     
    223223      ! ===================== equatorial strip (20N-20S) defined at t-points 
    224224 
    225       OPEN( UNIT=inum, FILE='ahmcoef', STATUS='OLD',   & 
    226          &  FORM='FORMATTED', ACCESS='SEQUENTIAL', ERR=111 ,   & 
    227          &  IOSTAT= iost) 
    228       IF( iost == 0 ) THEN 
    229          IF(lwp) THEN 
    230             WRITE(numout,*) '     file   : ahmcoef open ok' 
    231             WRITE(numout,*) '     unit   = ', inum 
    232             WRITE(numout,*) '     status = OLD' 
    233             WRITE(numout,*) '     form   = FORMATTED' 
    234             WRITE(numout,*) '     access = SEQUENTIAL' 
    235             WRITE(numout,*) 
    236          ENDIF 
    237       ENDIF 
    238 111   CONTINUE 
    239       IF( iost /= 0 ) CALL ctl_stop( ' ',  & 
    240            &    ' ===>>>> : bad opening file: ahmcoef, verify the file ahmcoef', & 
    241            &    ' =======   ===  ' ) 
     225      CALL ctlopn( inum, 'ahmcoef', 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL',   & 
     226         &         1, numout, .TRUE., 1 ) 
    242227      REWIND inum 
    243228      READ(inum,9101) clexp, iim, ijm 
  • trunk/NEMO/OPA_SRC/OBC/obcdta.F90

    r591 r623  
    608608      !! * Local declarations 
    609609      INTEGER ::   ji, jj, jnic, jip         ! dummy loop indices 
    610       INTEGER ::   inum = 11                 ! temporary logical unit 
     610      INTEGER ::   inum                      ! temporary logical unit 
    611611      INTEGER ::   ip, ii, ij, iii, ijj 
    612612      INTEGER ::   kbsfstart 
     
    673673 
    674674         IF( kt == nit000 .OR. kt <= kbsfstart )   THEN 
    675             OPEN(inum,file='obceastbsf.dta') 
     675            CALL ctlopn( inum, 'obceastbsf.dta', 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL',   & 
     676               &         1, numout, .TRUE., 1 ) 
    676677            READ(inum,*) 
    677678            READ(inum,*) 
     
    691692 
    692693         IF( kt == nit000 .OR. kt <= kbsfstart ) then 
    693             OPEN(inum,file='obcwestbsf.dta') 
     694            CALL ctlopn( inum, 'obcwestbsf.dta', 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL',   & 
     695               &         1, numout, .TRUE., 1 ) 
    694696            READ(inum,*) 
    695697            READ(inum,*) 
     
    709711 
    710712         IF( kt == nit000 .OR. kt <= kbsfstart )   THEN 
    711             OPEN(inum,file='obcsouthbsf.dta') 
     713            CALL ctlopn( inum, 'obcsouthbsf.dta', 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL',   & 
     714               &         1, numout, .TRUE., 1 ) 
    712715            READ(inum,*) 
    713716            READ(inum,*) 
     
    726729      IF( lpnorthobc)   THEN 
    727730         IF( kt == nit000 .OR. kt <= kbsfstart )   THEN 
    728             OPEN(inum,file='obcnorthbsf.dta') 
     731            CALL ctlopn( inum, 'obcnorthbsf.dta', 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL',   & 
     732               &         1, numout, .TRUE., 1 ) 
    729733            READ(inum,*) 
    730734            READ(inum,*) 
  • trunk/NEMO/OPA_SRC/OBC/obcrst.F90

    r474 r623  
    6666 
    6767      !! * Local declarations 
    68       INTEGER ::   ji, jj, jk, ios 
    69       INTEGER ::   inum = 11          ! temporary logical unit 
     68      INTEGER ::   ji, jj, jk 
     69      INTEGER ::   inum               ! temporary logical unit 
    7070      INTEGER ::   ibloc, nreclo, jrec, jt, jb  
    7171      INTEGER ::   jfoe, jfow, ifon, ifos 
     
    9696         ! 1.1 Open file 
    9797         ! ------------- 
    98          OPEN( UNIT   = inum,                 & 
    99                IOSTAT = ios,                  & 
    100                FILE   = 'restart.obc.output', & 
    101                ACCESS = 'DIRECT',             & 
    102                RECL   =  nreclo,              & 
    103                FORM   = 'UNFORMATTED' ) 
    104          IF( ios > 0 ) CALL ctl_stop( '        Pbm to OPEN the restart.obc.output file ' ) 
     98 
     99         CALL ctlopn( inum, 'restart.obc.output', 'UNKNOWN', 'UNFORMATTED', 'DIRECT',   & 
     100            &         nreclo, numout, .TRUE., 1 ) 
    105101  
    106102         ! 1.2 Write header 
     
    352348      ! 0.1 Open files 
    353349      ! --------------- 
    354       OPEN( UNIT   =  inum,       & 
    355             IOSTAT =  ios,          & 
    356             FILE   = 'restart.obc', & 
    357             ACCESS = 'DIRECT',      & 
    358             RECL   =  nreclo,       & 
    359             FORM   = 'UNFORMATTED' ) 
    360       IF( ios > 0 ) CALL ctl_stop( '        Pbm to OPEN the restart.obc file ' ) 
     350      CALL ctlopn( inum, 'restart.obc.output', 'UNKNOWN', 'UNFORMATTED', 'DIRECT',   & 
     351         &         nreclo, numout, .TRUE., 1 ) 
    361352 
    362353      ! 1. Read 
  • trunk/NEMO/OPA_SRC/SBC/flxfwb.F90

    r622 r623  
    8080 
    8181      !! * Local declarations 
     82      CHARACTER (len=32) ::   & 
     83         clname = 'EMPav.dat' 
    8284      INTEGER  ::   ji, jj, jk        ! dummy loop indices 
    83       INTEGER  ::   inum = 11         ! temporary logical unit 
     85      INTEGER  ::   inum              ! temporary logical unit 
    8486      INTEGER  ::   ikty              !  
    8587      REAL(wp) ::   & 
     
    194196      IF( kt == nitend ) THEN 
    195197 
    196          OPEN( inum, FILE='EMPave.dat' ) 
     198         CALL ctlopn( inum, clname, 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL',   & 
     199            &           1, numout, .FALSE., 0 ) 
    197200         WRITE(inum, "(24X,I8,2ES24.16)" ) nyear, a_fwb_b, a_fwb 
    198201         WRITE(inum,*) 
     
    249252      !!---------------------------------------------------------------------- 
    250253      !! * Local declarations 
    251       LOGICAL ::   llbon 
    252254      CHARACTER (len=32) ::   & 
    253255         clname = 'EMPave_old.dat' 
    254       INTEGER ::   inum = 11         ! temporary logical unit 
    255       INTEGER ::   iyear 
     256      INTEGER ::   inum, iyear 
    256257 
    257258      NAMELIST/namfwb/ ln_fwb  
     
    290291         !                                     ! ============================== 
    291292         ! Read the corrective factor on precipitations (empold) 
    292          INQUIRE( FILE=clname, EXIST=llbon ) 
    293          IF( llbon ) THEN 
    294             OPEN ( inum, FILE=clname) 
    295             READ ( inum, "(24X,I8,2ES24.16)" ) iyear, a_fwb_b, a_fwb 
    296             CLOSE( inum ) 
    297             empold = a_fwb                  ! current year freshwater budget correction 
    298             !                               ! estimate from the previous year budget 
    299             IF(lwp)WRITE(numout,*) 
    300             IF(lwp)WRITE(numout,*)'flx_fwb_init : year = ',iyear  , ' freshwater budget correction = ', empold 
    301             IF(lwp)WRITE(numout,*)'               year = ',iyear-1, ' freshwater budget read       = ', a_fwb 
    302             IF(lwp)WRITE(numout,*)'               year = ',iyear-2, ' freshwater budget read       = ', a_fwb_b 
    303          ELSE 
    304             WRITE(ctmp1,*)'flx_fwb_init : unable to read the file', clname 
    305             CALL ctl_stop( ctmp1 ) 
    306          ENDIF 
     293         CALL ctlopn( inum, clname, 'OLD', 'FORMATTED', 'SEQUENTIAL',   & 
     294            &           1, numout, .FALSE., 1 ) 
     295         READ ( inum, "(24X,I8,2ES24.16)" ) iyear, a_fwb_b, a_fwb 
     296         CLOSE( inum ) 
     297         empold = a_fwb                  ! current year freshwater budget correction 
     298         !                               ! estimate from the previous year budget 
     299         IF(lwp)WRITE(numout,*) 
     300         IF(lwp)WRITE(numout,*)'flx_fwb_init : year = ',iyear  , ' freshwater budget correction = ', empold 
     301         IF(lwp)WRITE(numout,*)'               year = ',iyear-1, ' freshwater budget read       = ', a_fwb 
     302         IF(lwp)WRITE(numout,*)'               year = ',iyear-2, ' freshwater budget read       = ', a_fwb_b 
    307303         !                                    ! ============================== 
    308304      ELSE                                    !      NO  budget correction  
Note: See TracChangeset for help on using the changeset viewer.