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

Changeset 1581


Ignore:
Timestamp:
2009-08-05T16:53:12+02:00 (15 years ago)
Author:
smasson
Message:

ctlopn cleanup, see ticket:515 and ticket:237

Location:
trunk/NEMO
Files:
1 deleted
33 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/C1D_SRC/diawri_c1d.F90

    r1546 r1581  
    134134         ! WRITE root name in date.file for use by postpro 
    135135         CALL dia_nam( clhstnam, nwrite,' ' ) 
    136          CALL ctlopn( inum, 'date.file', 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL', 1, numout, lwp, 1 ) 
     136         CALL ctl_opn( inum, 'date.file', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', 1, numout, lwp ) 
    137137         WRITE(inum,*) clhstnam 
    138138         CLOSE(inum) 
  • trunk/NEMO/LIM_SRC_2/iceini_2.F90

    r1471 r1581  
    4545      !! ** purpose :    
    4646      !!---------------------------------------------------------------------- 
    47       CHARACTER(len=80) :: namelist_icename 
    48       !!---------------------------------------------------------------------- 
    4947      ! 
    5048      ! Open the namelist file  
    51       namelist_icename = 'namelist_ice' 
    52       CALL ctlopn(numnam_ice,namelist_icename,'OLD', 'FORMATTED', 'SEQUENTIAL',   & 
    53                      1,numout,.FALSE.,1)       
     49      CALL ctl_opn( numnam_ice, 'namelist_ice', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp )       
    5450      CALL ice_run_2                    !  read in namelist some run parameters 
    5551                  
  • trunk/NEMO/LIM_SRC_2/limdia_2.F90

    r1470 r1581  
    173173       !!------------------------------------------------------------------- 
    174174       CHARACTER(len=jpchinf) ::   titinf 
    175        CHARACTER(len=50)      ::   clname  
    176175       INTEGER  ::   jv            ! dummy loop indice 
    177        INTEGER  ::   ntot , ndeb , irecl 
     176       INTEGER  ::   ntot , ndeb  
    178177       INTEGER  ::   nv            ! indice of variable  
    179178       REAL(wp) ::   zxx0, zxx1    ! temporary scalars 
     
    239238 
    240239       ! opening  "ice_evolu" file 
    241        clname = 'ice_evolu'  
    242        irecl = ( jpchinf + 1 ) * nvinfo  
    243        CALL ctlopn( numevo_ice, clname, 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL',   & 
    244           &           irecl, numout, lwp, 1 ) 
     240       CALL ctl_opn( numevo_ice, 'ice_evolu', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp ) 
    245241 
    246242       !- ecriture de 2 lignes d''entete : 
  • trunk/NEMO/LIM_SRC_3/iceini.F90

    r1471 r1581  
    5858 
    5959      ! Open the namelist file  
    60       CALL ctlopn(numnam_ice,'namelist_ice','OLD', 'FORMATTED', 'SEQUENTIAL', 1,numout,.FALSE.,1) 
     60      CALL ctl_opn( numnam_ice, 'namelist_ice', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp ) 
    6161 
    6262      CALL ice_run                    !  read in namelist some run parameters 
  • trunk/NEMO/LIM_SRC_3/limdia.F90

    r1465 r1581  
    446446      INTEGER  ::   jv   ,     &  ! dummy loop indice 
    447447         &          ntot ,     & 
    448          &          ndeb ,     & 
    449          &          irecl 
     448         &          ndeb 
    450449 
    451450      REAL(wp) ::   zxx0, zxx1    ! temporary scalars 
    452451 
    453452      CHARACTER(len=jpchinf) ::   titinf 
    454       CHARACTER(len=50)      ::   clname 
    455453      !!------------------------------------------------------------------- 
    456454 
     
    576574 
    577575      ! opening  "ice_evolu" file 
    578       clname = 'ice.evolu' 
    579       irecl = ( jpchinf + 1 ) * nvinfo  
    580       CALL ctlopn( numevo_ice, clname, 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL',    & 
    581          &         irecl, numout, lwp, 1 ) 
     576      CALL ctl_opn( numevo_ice, 'ice.evolu', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp ) 
    582577 
    583578      !- ecriture de 2 lignes d''entete : 
  • trunk/NEMO/OPA_SRC/DIA/diadimg.F90

    r1152 r1581  
    4242    !! 
    4343    !! History : 
    44     !!   03-12 (J.M. Molines ) : Original. Replace ctlopn, writn2d 
     44    !!   03-12 (J.M. Molines ) : Original. Replace ctl_opn, writn2d 
    4545    !!--------------------------------------------------------------------------- 
    4646    !! * Arguments 
     
    104104    IF ( ln_dimgnnn  ) THEN 
    105105       WRITE(clname,'(a,a,i3.3)') TRIM(cd_name),'.',narea 
    106        CALL ctlopn(inum, clname,'UNKNOWN','UNFORMATTED','DIRECT',irecl4,numout,lwp,1) 
     106       CALL ctl_opn( inum, clname, 'REPLACE', 'UNFORMATTED', 'DIRECT', irecl4, numout, lwp ) 
    107107       WRITE(inum,REC=1 ) clver, cd_text, irecl4, & 
    108108            &     jpi,jpj, klev, 1 , 1 ,            & 
     
    131131       !! Standard dimgproc (1 file per variable, all procs. write to this file ) 
    132132       !! * Open file 
    133        CALL ctlopn(inum, cd_name,'UNKNOWN','UNFORMATTED','DIRECT',irecl4,numout,lwp,1) 
     133       CALL ctl_opn( inum, cd_name, 'REPLACE', 'UNFORMATTED', 'DIRECT', irecl4, numout, lwp ) 
    134134 
    135135       !! * Write header on record #1 
  • trunk/NEMO/OPA_SRC/DIA/diafwb.F90

    r1528 r1581  
    357357      ! -------------------------- 
    358358 
    359       IF ( kt == nitend .AND. cp_cfg == "orca" ) THEN 
    360  
    361          CALL ctlopn( inum, 'STRAIT.dat', 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL',   & 
    362             &         1, numout, lwp, 1 ) 
     359      IF ( kt == nitend .AND. cp_cfg == "orca" .AND. lwp ) THEN 
     360 
     361         CALL ctl_opn( inum, 'STRAIT.dat', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp, narea ) 
    363362         WRITE(inum,*) 
    364363         WRITE(inum,*)    'Net freshwater budget ' 
  • trunk/NEMO/OPA_SRC/DIA/diawri.F90

    r1577 r1581  
    150150      REAL(wp), DIMENSION(jpi,jpj) :: & 
    151151         zw2d                            ! temporary workspace 
    152       CHARACTER (len=80) :: clname 
    153152      !!---------------------------------------------------------------------- 
    154153      ! 
     
    209208 
    210209         ! WRITE root name in date.file for use by postpro 
    211          IF( lwp) THEN 
     210         IF(lwp) THEN 
    212211            CALL dia_nam( clhstnam, nwrite,' ' ) 
    213             clname = 'date.file' 
    214             CALL ctlopn( inum, clname,  'UNKNOWN', 'FORMATTED', 'SEQUENTIAL', 1, numout, lwp, 1 ) 
     212            CALL ctl_opn( inum, 'date.file', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp, narea ) 
    215213            WRITE(inum,*) clhstnam 
    216214            CLOSE(inum) 
  • trunk/NEMO/OPA_SRC/FLO/flodom.F90

    r1152 r1581  
    4747      !! * Local declarations 
    4848      LOGICAL  :: llinmesh 
    49       CHARACTER (len=21) ::  clname 
    5049      INTEGER  :: ji, jj, jk               ! DO loop index on 3 directions 
    5150      INTEGER  :: jfl, jfl1                ! number of floats    
     
    6867          
    6968         ! open the restart file  
    70          clname='restart_float' 
    71          CALL ctlopn( inum, clname, 'OLD', 'FORMATTED', 'SEQUENTIAL',   & 
    72             &         1, numout, lwp, 1 ) 
    73          REWIND inum 
     69         CALL ctl_opn( inum, 'restart_float', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp ) 
    7470 
    7571         ! read of the restart file 
     
    9490         IF( jpnfl > jpnrstflo ) THEN 
    9591            ! open the init file  
    96             clname='init_float' 
    97             CALL ctlopn( inum, clname, 'OLD', 'FORMATTED', 'SEQUENTIAL',   & 
    98                &         1, numout, .TRUE., 1 ) 
     92            CALL ctl_opn( inum, 'init_float', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp ) 
    9993            DO jfl = jpnrstflo+1, jpnfl 
    10094               READ(inum,*) flxx(jfl),flyy(jfl),flzz(jfl), nisobfl(jfl),ngrpfl(jfl),jfl1 
     
    226220         ! an index for the number of the float          
    227221         ! open the init file  
    228          clname='init_float' 
    229          CALL ctlopn( inum, clname, 'OLD', 'FORMATTED', 'SEQUENTIAL',   & 
    230             &         1, numout, .TRUE., 1 ) 
     222         CALL ctl_opn( inum, 'init_float', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp ) 
    231223         READ(inum) (flxx(jfl)   , jfl=1, jpnfl),   & 
    232224                    (flyy(jfl)   , jfl=1, jpnfl),   & 
  • trunk/NEMO/OPA_SRC/FLO/flowri.F90

    r1152 r1581  
    8080 
    8181         ! open the file numflo  
    82          clname='trajec_float' 
    83          CALL ctlopn( numflo, clname, 'UNKNOWN', 'UNFORMATTED', 'SEQUENTIAL',   & 
    84             &           1, numout, .FALSE., 1 ) 
     82         CALL ctl_opn( numflo, 'trajec_float', 'REPLACE', 'UNFORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) 
    8583         !      REWIND numflo 
    8684 
     
    269267         END DO 
    270268 
    271          CALL ctlopn( inum, clname, 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL',   & 
    272             &           1, numout, .FALSE., 0 ) 
     269         CALL ctl_opn( inum, clname, 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) 
    273270         REWIND inum 
    274271         ! 
  • trunk/NEMO/OPA_SRC/IOM/in_out_manager.F90

    r1579 r1581  
    55   !!                 turbulent closure parameterization 
    66   !!===================================================================== 
    7    !! History :   1.0  !  2002-06  (G. Madec)  original code 
     7   !! History :   1.0  !  2002-06  (G. Madec)   original code 
    88   !!             2.0  !  2006-07  (S. Masson)  iom, add ctl_stop, ctl_warn 
    9    !!             3.0  !  2008-06  (G. Madec)  add ctmp4 to ctmp10 
     9   !!             3.0  !  2008-06  (G. Madec)   add ctmp4 to ctmp10 
     10   !!             3.2  !  2009-08  (S. MAsson)  add new ctl_opn 
    1011   !!---------------------------------------------------------------------- 
    1112 
     
    1819   USE par_oce         ! ocean parameter 
    1920   USE lib_print       ! formated print library 
     21#if defined key_agrif 
     22   USE Agrif_Util 
     23#endif 
    2024 
    2125   IMPLICIT NONE 
     
    161165 
    162166 
     167   SUBROUTINE ctl_opn ( knum, cdfile, cdstat, cdform, cdacce, klengh, kout, ldwp, karea ) 
     168      !!---------------------------------------------------------------------- 
     169      !!                  ***  ROUTINE ctl_opn  *** 
     170      !! 
     171      !! ** Purpose :   Open file and check if required file is available. 
     172      !! 
     173      !! ** Method  :   Fortan open 
     174      !! 
     175      !! History : 
     176      !!        !  1995-12  (G. Madec)  Original code 
     177      !!   8.5  !  2002-06  (G. Madec)  F90: Free form and module 
     178      !!---------------------------------------------------------------------- 
     179 
     180      INTEGER          , INTENT(  out) ::   knum      ! logical unit to open 
     181      CHARACTER(len=*) , INTENT(in   ) ::   cdfile    ! file name to open 
     182      CHARACTER(len=*) , INTENT(in   ) ::   cdstat    ! disposition specifier 
     183      CHARACTER(len=*) , INTENT(in   ) ::   cdform    ! formatting specifier 
     184      CHARACTER(len=*) , INTENT(in   ) ::   cdacce    ! access specifier 
     185      INTEGER          , INTENT(in   ) ::   klengh    ! record length 
     186      INTEGER          , INTENT(in   ) ::   kout      ! number of logical units for write 
     187      LOGICAL          , INTENT(in   ) ::   ldwp      ! boolean term for print 
     188      INTEGER, OPTIONAL, INTENT(in   ) ::   karea     ! proc number 
     189      !! 
     190      CHARACTER(len=80) ::   clfile 
     191      INTEGER           ::   iost 
     192 
     193      ! adapt filename 
     194      ! ---------------- 
     195      clfile = TRIM(cdfile) 
     196      IF( PRESENT( karea ) ) THEN 
     197         IF( karea > 1 )   WRITE(clfile, "(a,'_',i4.4)") TRIM(clfile), karea-1 
     198      ENDIF 
     199#if defined key_agrif 
     200      IF( .NOT. Agrif_Root() )   clfile = TRIM(Agrif_CFixed())//'_'//TRIM(clfile) 
     201      knum=Agrif_Get_Unit() 
     202#else 
     203      knum=getunit() 
     204#endif 
     205 
     206      iost=0 
     207      IF( cdacce(1:6) == 'DIRECT' )  THEN 
     208         OPEN( UNIT=knum, FILE=clfile, FORM=cdform, ACCESS=cdacce, STATUS=cdstat, RECL=klengh, ERR=100, IOSTAT=iost ) 
     209      ELSE 
     210         OPEN( UNIT=knum, FILE=clfile, FORM=cdform, ACCESS=cdacce, STATUS=cdstat             , ERR=100, IOSTAT=iost ) 
     211      ENDIF 
     212      IF( iost == 0 ) THEN 
     213         IF(ldwp) THEN 
     214            WRITE(kout,*) '     file   : ', clfile,' open ok' 
     215            WRITE(kout,*) '     unit   = ', knum 
     216            WRITE(kout,*) '     status = ', cdstat 
     217            WRITE(kout,*) '     form   = ', cdform 
     218            WRITE(kout,*) '     access = ', cdacce 
     219            WRITE(kout,*) 
     220         ENDIF 
     221      ENDIF 
     222100   CONTINUE 
     223      IF( iost /= 0 ) THEN 
     224         IF(ldwp) THEN 
     225            WRITE(kout,*) 
     226            WRITE(kout,*) ' ===>>>> : bad opening file: ', clfile 
     227            WRITE(kout,*) ' =======   ===  ' 
     228            WRITE(kout,*) '           unit   = ', knum 
     229            WRITE(kout,*) '           status = ', cdstat 
     230            WRITE(kout,*) '           form   = ', cdform 
     231            WRITE(kout,*) '           access = ', cdacce 
     232            WRITE(kout,*) '           iostat = ', iost 
     233            WRITE(kout,*) '           we stop. verify the file ' 
     234            WRITE(kout,*) 
     235         ENDIF 
     236         STOP 'ctl_opn bad opening' 
     237      ENDIF 
     238       
     239   END SUBROUTINE ctl_opn 
     240 
     241 
    163242   FUNCTION getunit() 
    164243      !!---------------------------------------------------------------------- 
  • trunk/NEMO/OPA_SRC/LDF/ldfdyn_c2d.h90

    r1152 r1581  
    176176      ! ===================== equatorial strip (20N-20S) defined at t-points 
    177177 
    178       CALL ctlopn( inum, 'ahmcoef', 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL',   & 
    179          &           1, numout, lwp, 1 ) 
    180       REWIND inum 
     178      CALL ctl_opn( inum, 'ahmcoef', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp ) 
    181179      READ(inum,9101) clexp, iim, ijm 
    182180      READ(inum,'(/)') 
  • trunk/NEMO/OPA_SRC/LDF/ldfdyn_c3d.h90

    r1152 r1581  
    235235      ! ===================== equatorial strip (20N-20S) defined at t-points 
    236236 
    237       CALL ctlopn( inum, 'ahmcoef', 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL',   & 
    238          &         1, numout, lwp, 1 ) 
    239       REWIND inum 
     237      CALL ctl_opn( inum, 'ahmcoef', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp ) 
    240238      READ(inum,9101) clexp, iim, ijm 
    241239      READ(inum,'(/)') 
  • trunk/NEMO/OPA_SRC/OBC/obcrst.F90

    r1528 r1581  
    9797         ! ------------- 
    9898 
    99          CALL ctlopn( inum, 'restart.obc.output', 'UNKNOWN', 'UNFORMATTED', 'DIRECT',   & 
    100             &         nreclo, numout, lwp, 1 ) 
     99         CALL ctl_opn( inum, 'restart.obc.output', 'REPLACE', 'UNFORMATTED', 'DIRECT', nreclo, numout, lwp ) 
    101100  
    102101         ! 1.2 Write header 
     
    324323      ! 0.1 Open files 
    325324      ! --------------- 
    326       CALL ctlopn( inum, 'restart.obc', 'UNKNOWN', 'UNFORMATTED', 'DIRECT',   & 
    327          &         nreclo, numout, lwp, 1 ) 
     325      CALL ctl_opn( inum, 'restart.obc', 'REPLACE', 'UNFORMATTED', 'DIRECT', nreclo, numout, lwp ) 
    328326 
    329327      ! 1. Read 
  • trunk/NEMO/OPA_SRC/SBC/sbcfwb.F90

    r1573 r1581  
    6666      INTEGER  ::   inum                  ! temporary logical unit 
    6767      INTEGER  ::   ikty, iyear           !  
    68       CHARACTER (len=32) ::   clname  
    6968      REAL(wp) ::   z_emp, z_emp_nsrf       ! temporary scalars 
    7069      REAL(wp) ::   zsurf_neg, zsurf_pos, zsurf_tospread 
     
    115114         IF( kt == nit000 ) THEN 
    116115            ! Read the corrective factor on precipitations (empold) 
    117             clname = 'EMPave_old.dat' 
    118             CALL ctlopn( inum, clname, 'OLD', 'FORMATTED', 'SEQUENTIAL',   & 
    119                &           1, numout, .FALSE., 1 ) 
    120  
     116            CALL ctl_opn( inum, 'EMPave_old.dat', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) 
    121117            READ ( inum, "(24X,I8,2ES24.16)" ) iyear, a_fwb_b, a_fwb 
    122118            CLOSE( inum ) 
     
    149145         ! save empold value in a file 
    150146         IF( kt == nitend .AND. lwp ) THEN 
    151             clname = 'EMPav.dat'     
    152             CALL ctlopn( inum, clname, 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL',   & 
    153                &           1, numout, .FALSE., 0 ) 
    154             WRITE(inum, "(24X,I8,2ES24.16)" ) nyear, a_fwb_b, a_fwb 
     147            CALL ctl_opn( inum, 'EMPave.dat', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE., narea ) 
     148            WRITE( inum, "(24X,I8,2ES24.16)" ) nyear, a_fwb_b, a_fwb 
     149            CLOSE( inum ) 
    155150         ENDIF 
    156151         ! 
  • trunk/NEMO/OPA_SRC/SOL/solver.F90

    r1556 r1581  
    6565      INTEGER, INTENT(in) :: kt 
    6666 
    67       !! * Local declarations 
    68       CHARACTER(len=80) :: clname 
    69  
    7067      NAMELIST/namsol/ nsolv, nsol_arp, nmin, nmax, nmod, eps, resmax, sor, rnu 
    7168      !!---------------------------------------------------------------------- 
    7269 
    73       IF(lwp) WRITE(numout,*) 
    74       IF(lwp) WRITE(numout,*) 'solver_init : solver to compute the surface pressure gradient' 
    75       IF(lwp) WRITE(numout,*) '~~~~~~~~~~~' 
    76  
    77       ! open elliptic solver statistics file 
    78       clname = 'solver.stat' 
    79       CALL ctlopn( numsol, clname, 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL',   & 
    80                    1, numout, lwp, 1 ) 
     70      IF(lwp) THEN 
     71         WRITE(numout,*) 
     72         WRITE(numout,*) 'solver_init : solver to compute the surface pressure gradient' 
     73         WRITE(numout,*) '~~~~~~~~~~~' 
     74          
     75         ! open elliptic solver statistics file 
     76         CALL ctl_opn( numsol, 'solver.stat', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp, narea ) 
     77      ENDIF 
    8178 
    8279 
  • trunk/NEMO/OPA_SRC/TRD/trdmld.F90

    r1334 r1581  
    720720      !!---------------------------------------------------------------------- 
    721721      !! * Local declarations 
    722       INTEGER :: ilseq, jl 
     722      INTEGER :: jl 
    723723 
    724724      REAL(wp) ::   zjulian, zsto, zout 
    725725 
    726       CHARACTER (LEN=21) ::    & 
    727          clold ='OLD'        , & ! open specifier (direct access files) 
    728          clunf ='UNFORMATTED', & ! open specifier (direct access files) 
    729          clseq ='SEQUENTIAL'     ! open specifier (direct access files) 
    730726      CHARACTER (LEN=40) ::   clop 
    731727      CHARACTER (LEN=12) ::   clmxl, cltu, clsu 
     
    796792      END IF 
    797793 
    798       ilseq  = 1   ;   icount = 1   ;   ionce  = 1                            ! open specifier 
     794      icount = 1   ;   ionce  = 1                            ! open specifier 
    799795 
    800796      ! I.3 Read control surface from file ctlsurf_idx 
     
    802798  
    803799      IF( nctls == 1 ) THEN 
    804          clname = 'ctlsurf_idx' 
    805          CALL ctlopn( numbol, clname, clold, clunf, clseq, ilseq, numout, lwp, 1 ) 
    806          REWIND( numbol ) 
    807          READ  ( numbol ) nbol 
     800         CALL ctl_opn( numbol, 'ctlsurf_idx', 'OLD', 'UNFORMATTED', 'SEQUENTIAL', -1, numout, lwp ) 
     801         READ ( numbol ) nbol 
     802         CLOSE( numbol ) 
    808803      END IF 
    809804 
  • trunk/NEMO/OPA_SRC/mppini.F90

    r1556 r1581  
    129129      !!---------------------------------------------------------------------- 
    130130      !! * Local variables 
    131       CHARACTER (len=32) ::   clname 
    132131      INTEGER ::   ji, jj, jn               ! dummy loop indices 
    133132      INTEGER ::   & 
     
    335334     ! Save processor layout in layout.dat file  
    336335       IF (lwp) THEN 
    337         clname = 'layout.dat' 
    338         CALL ctlopn( inum, clname, 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL',   & 
    339            &         1, numout, .FALSE., 1 ) 
     336        CALL ctl_opn( inum, 'layout.dat', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE., narea ) 
    340337        WRITE(inum,'(a)') '   jpnij     jpi     jpj     jpk  jpiglo  jpjglo' 
    341338        WRITE(inum,'(6i8)') jpnij,jpi,jpj,jpk,jpiglo,jpjglo 
  • trunk/NEMO/OPA_SRC/mppini_2.h90

    r1556 r1581  
    4040      !!---------------------------------------------------------------------- 
    4141      !! * Modules used 
     42      USE in_out_manager  ! I/O Manager 
    4243      USE iom 
    4344    
    4445      !! Local variables 
    45       CHARACTER (len=32) :: clname 
    4646      INTEGER :: ji, jj, jn, jproc, jarea     ! dummy loop indices 
    4747      INTEGER ::  inum                        ! temporary logical unit 
     
    463463      ! Save processor layout in ascii file 
    464464      IF (lwp) THEN 
    465          clname = 'layout.dat' 
    466          CALL ctlopn( inum, clname, 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL',   & 
    467             &         1, numout, .FALSE., 1 ) 
     465         CALL ctl_opn( inum, 'layout.dat', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE., narea ) 
    468466         WRITE(inum,'(6i8)') jpnij,jpi,jpj,jpk,jpiglo,jpjglo 
    469467         WRITE(inum,'(a)') 'NAREA nlci nlcj nldi nldj nlei nlej nimpp njmpp' 
  • trunk/NEMO/OPA_SRC/opa.F90

    r1579 r1581  
    179179      INTEGER :: localComm 
    180180#endif 
    181       CHARACTER(len=20)               ::   namelistname 
    182       CHARACTER(len=28)               ::   file_out 
    183       CHARACTER(len=80),dimension(10) ::   cltxt 
     181      CHARACTER(len=80),dimension(10) ::   cltxt = '' 
    184182      INTEGER                         :: ji             ! local loop indicees 
    185183      NAMELIST/namctl/ ln_ctl, nprint, nictls, nictle,   & 
     
    187185      !!---------------------------------------------------------------------- 
    188186 
    189       ! Initializations 
    190       ! =============== 
    191       cltxt(:) = '' 
    192       file_out = 'ocean.output' 
    193       namelistname = 'namelist' 
    194        
    195187      ! Namelist namctl : Control prints & Benchmark 
    196       CALL ctlopn( numnam, namelistname, 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE., 1 ) 
    197       REWIND( numnam )   ! is this really needed? we just open the file... 
     188      CALL ctl_opn( numnam, 'namelist', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE. ) 
    198189      READ  ( numnam, namctl ) 
    199190 
     
    227218      IF( lwp ) THEN 
    228219         ! open listing and namelist units 
    229          IF( narea > 1 )   WRITE(file_out, "(a,'_',i4.4)") TRIM(file_out), narea-1 
    230          CALL ctlopn( numout, file_out, 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE., 1 ) 
     220         CALL ctl_opn( numout, 'ocean.output', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, 6, .FALSE., narea ) 
    231221          
    232222         WRITE(numout,*) 
  • trunk/NEMO/OPA_SRC/prtctl.F90

    r1152 r1581  
    349349      DO jn = sind, eind 
    350350         WRITE(clfile_out,FMT=clb_name) jn-1 
    351          CALL ctlopn( numid(jn -narea + 1), clfile_out, 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL',   & 
    352             &         1, numout, .FALSE., 1 ) 
     351         CALL ctl_opn( numid(jn -narea + 1), clfile_out, 'REPLACE', 'FORMATTED', 'SEQUENTIAL', 1, numout, .FALSE. ) 
    353352         j_id = numid(jn -narea + 1) 
    354353         WRITE(j_id,*) 
  • trunk/NEMO/OPA_SRC/stpctl.F90

    r1566 r1581  
    5656      INTEGER, DIMENSION(3) ::   ilocu      !  
    5757      INTEGER, DIMENSION(2) ::   ilocs      !  
    58       CHARACTER(len=80) :: clname 
    5958      !!---------------------------------------------------------------------- 
    6059 
     
    6463         WRITE(numout,*) '~~~~~~~' 
    6564         ! open time.step file 
    66          clname = 'time.step' 
    67          CALL ctlopn( numstp, clname, 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL', 1, numout, lwp, 1 ) 
     65         CALL ctl_opn( numstp, 'time.step', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp, narea ) 
    6866      ENDIF 
    6967 
     
    158156         ENDIF 
    159157         ! 
    160       ELSE                                            !* ssh statistics (and others...) 
    161          IF( kt == nit000 ) THEN      ! open ssh statistics file (put in solver.stat file) 
    162             CALL ctlopn( numsol, 'solver.stat', 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL', 1, numout, lwp, 1 ) 
     158      ELSE                                   !* ssh statistics (and others...) 
     159         IF( kt == nit000 .AND. lwp ) THEN   ! open ssh statistics file (put in solver.stat file) 
     160            CALL ctl_opn( numsol, 'solver.stat', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp, narea ) 
    163161         ENDIF 
    164162         ! 
  • trunk/NEMO/OPA_SRC/trc_oce.F90

    r1445 r1581  
    167167      INTEGER  ::   numlight 
    168168      REAL(wp) ::   zchl 
    169       CHARACTER(LEN=20) :: clname 
    170       !!---------------------------------------------------------------------- 
    171       ! 
    172       clname = 'kRGB61.txt'  
    173       CALL ctlopn( numlight, clname, 'OLD', 'FORMATTED', 'SEQUENTIAL', 1, numout, .TRUE., 1 ) 
     169      !!---------------------------------------------------------------------- 
     170      ! 
     171      CALL ctl_opn( numlight, 'kRGB61.txt', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp ) 
    174172      DO jchl = 1, 61 
    175173         READ(numlight,*) zchl, ( prgb(jband,jchl), jband=1,3 ) 
  • trunk/NEMO/TOP_SRC/C14b/trcini_c14b.F90

    r1542 r1581  
    1717   USE trc             ! TOP variables 
    1818   USE trcsms_c14b     ! C14 sms trends 
     19   USE in_out_manager  ! I/O manager 
    1920 
    2021   IMPLICIT NONE 
     
    3031      nrec   ,  & ! number of year in CO2 Concentrations file 
    3132      nmaxrec  
    32  
    33    CHARACTER (len=34) :: & 
    34      clname_co2 = 'splco2.dat'  , & ! CO2 atmospheric concentrations file 
    35      clname_c14 = 'atmc14.dat'     ! C-14 atmospheric concentrations file 
    3633 
    3734   INTEGER  ::   inum1, inum2               ! unit number 
     
    9289      IF(lwp) WRITE(numout,*) 'Read CO2 atmospheric concentrations file ' 
    9390   
    94       CALL ctlopn( inum1, clname_co2, 'OLD', 'FORMATTED', 'SEQUENTIAL',1, numout, .FALSE., 1 ) 
     91      CALL ctl_opn( inum1, 'splco2.dat', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) 
    9592      REWIND(inum1) 
    9693       
     
    109106      IF (lwp) WRITE(numout,*) 'Read C-14 atmospheric concentrations file ' 
    110107 
    111       CALL ctlopn( inum2, clname_c14, 'OLD', 'FORMATTED', 'SEQUENTIAL', 1, numout, .FALSE., 1 ) 
     108      CALL ctl_opn( inum2, 'atmc14.dat', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) 
    112109      REWIND(inum2) 
    113110 
  • trunk/NEMO/TOP_SRC/C14b/trclsm_c14b.F90

    r1252 r1581  
    1616   USE trc             ! TOP variables 
    1717   USE trcsms_c14b     ! C14b specific variable 
     18   USE in_out_manager  ! I/O manager 
    1819 
    1920   IMPLICIT NONE 
     
    4142      !! ** input   :   Namelist namelist_c14b 
    4243      !!---------------------------------------------------------------------- 
    43       CHARACTER (len=32) ::   clname = 'namelist_c14b' 
    4444      INTEGER ::   numnatb 
    4545 
     
    6767 
    6868      !                             ! Open namelist file 
    69       CALL ctlopn( numnatb, clname, 'OLD', 'FORMATTED', 'SEQUENTIAL', 1, numout, .FALSE., 1 ) 
     69      CALL ctl_opn( numnatb, 'namelist_c14b', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) 
    7070          
    7171      READ( numnatb , namc14date )     ! read namelist 
  • trunk/NEMO/TOP_SRC/CFC/trcini_cfc.F90

    r1542 r1581  
    1616   USE trc             ! TOP variables 
    1717   USE trcsms_cfc          ! CFC sms trends 
     18   USE in_out_manager  ! I/O manager 
    1819 
    1920   IMPLICIT NONE 
     
    2122 
    2223   PUBLIC   trc_ini_cfc   ! called by trcini.F90 module 
    23  
    24    CHARACTER (len=34) ::   clname = 'cfc1112.atm'   ! ??? 
    2524 
    2625   INTEGER  ::   inum                   ! unit number 
     
    8988      IF(lwp) WRITE(numout,*) 'read of formatted file cfc1112atm' 
    9089       
    91       CALL ctlopn( inum, clname, 'OLD', 'FORMATTED', 'SEQUENTIAL',   & 
    92          &           1, numout, .FALSE., 1 ) 
     90      CALL ctl_opn( inum, 'cfc1112.atm', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) 
    9391      REWIND(inum) 
    9492       
  • trunk/NEMO/TOP_SRC/CFC/trclsm_cfc.F90

    r1255 r1581  
    1616   USE trc             ! TOP variables 
    1717   USE trcsms_cfc      ! CFC specific variable 
     18   USE in_out_manager  ! I/O manager 
    1819 
    1920   IMPLICIT NONE 
     
    4142      !! ** input   :   Namelist namcfc 
    4243      !!---------------------------------------------------------------------- 
    43       CHARACTER (len=32) ::   clname = 'namelist_cfc' 
    4444      INTEGER ::   numnatc 
    4545#if defined key_trc_diaadd 
     
    6565 
    6666      !                             ! Open namelist file 
    67       CALL ctlopn( numnatc, clname, 'OLD', 'FORMATTED', 'SEQUENTIAL',  1, numout, .FALSE., 1 ) 
     67      CALL ctl_opn( numnatc, 'namelist_cfc', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) 
    6868          
    6969      READ( numnatc , namcfcdate )     ! read namelist 
  • trunk/NEMO/TOP_SRC/LOBSTER/trclsm_lobster.F90

    r1457 r1581  
    1616   USE trc             ! TOP variables 
    1717   USE sms_lobster     ! sms trends 
     18   USE in_out_manager  ! I/O manager 
    1819 
    1920   IMPLICIT NONE 
     
    3940      !!             namelist: natbio, natopt, and natdbi ("key_trc_diabio") 
    4041      !!---------------------------------------------------------------------- 
    41       CHARACTER (len=32) :: clname 
    4242      INTEGER ::   numnatl 
    4343      !! 
     
    9292      !                               ! Open the namelist file 
    9393      !                               ! ---------------------- 
    94       clname ='namelist_lobster' 
    95       CALL ctlopn( numnatl, clname, 'OLD', 'FORMATTED', 'SEQUENTIAL', 1, numout, .FALSE., 1 ) 
     94      CALL ctl_opn( numnatl, 'namelist_lobster', 'OLD', 'FORMATTED', 'SEQUENTIAL', 1, numout, .FALSE. ) 
    9695 
    9796      ! namlobphy : parameters for phytoplankton 
  • trunk/NEMO/TOP_SRC/PISCES/trclsm_pisces.F90

    r1457 r1581  
    1919   USE trc             ! TOP variables 
    2020   USE sms_pisces      ! sms trends 
     21   USE in_out_manager  ! I/O manager 
    2122 
    2223 
     
    4546      !!                       natkriest ("key_kriest") 
    4647      !!---------------------------------------------------------------------- 
    47       CHARACTER (len=32) ::  clname 
    4848      !! 
    4949#if defined key_trc_diaadd && ! defined key_iomput 
     
    7878      !                               ! Open the namelist file 
    7979      !                               ! ---------------------- 
    80       clname ='namelist_pisces' 
    81       CALL ctlopn( numnat, clname, 'OLD', 'FORMATTED', 'SEQUENTIAL', 1, numout, .FALSE., 1 ) 
     80      CALL ctl_opn( numnat, 'namelist_pisces', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) 
    8281 
    8382      REWIND( numnat )                     
  • trunk/NEMO/TOP_SRC/SED/sedini.F90

    r1290 r1581  
    1717   USE sedarr 
    1818   USE iom 
     19   USE in_out_manager  ! I/O manager 
    1920 
    2021 
     
    7677      !!---------------------------------------------------------------------- 
    7778      INTEGER :: ji, jj, ikt 
    78       CHARACTER (len=40) :: csedout 
    7979#if defined key_sed_off 
    8080      INTEGER  :: numblt          
     
    8888      !--------------------------------------- 
    8989 
    90       csedout = 'sediment.output' 
    91       CALL ctlopn( numsed, csedout, 'OLD', 'FORMATTED', 'SEQUENTIAL', & 
    92       &            1, numout, .FALSE., 1 ) 
     90      CALL ctl_opn( numsed, 'sediment.output', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) 
    9391 
    9492      WRITE(numsed,*) 
     
    429427 
    430428      INTEGER :: jn, jn1 
    431       CHARACTER(len=40) :: csednam 
    432429      !------------------------------------------------------- 
    433430 
     
    443440      ! Reading namelist.sed variables 
    444441      !--------------------------------- 
    445       csednam = 'namelist.sediment' 
    446       CALL ctlopn( numnamsed, csednam, 'OLD', 'FORMATTED', 'SEQUENTIAL',   & 
    447          &         1, numout, .FALSE., 1 ) 
     442      CALL ctl_opn( numnamsed, 'namelist.sediment', 'OLD', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) 
    448443 
    449444      dtsed = rdt 
  • trunk/NEMO/TOP_SRC/TRP/trdmld_trc.F90

    r1542 r1581  
    12151215      INTEGER :: ilseq, jl, jn 
    12161216      REAL(wp) ::   zjulian, zsto, zout 
    1217       CHARACTER (LEN=21) ::   clold ='OLD'         ! open specifier (direct access files) 
    1218       CHARACTER (LEN=21) ::   clunf ='UNFORMATTED' ! open specifier (direct access files) 
    1219       CHARACTER (LEN=21) ::   clseq ='SEQUENTIAL'  ! open specifier (direct access files) 
    12201217      CHARACTER (LEN=40) ::   clop, cleiv 
    12211218      CHARACTER (LEN=15) ::   csuff 
     
    12231220      CHARACTER (LEN=16) ::   cltrcu 
    12241221      CHARACTER (LEN= 5) ::   clvar 
    1225       CHARACTER (LEN=80) ::   clname 
    12261222 
    12271223      NAMELIST/namtoptrd/ ntrd_trc, nctls_trc, ucf_trc, & 
     
    13591355       ENDIF 
    13601356 
    1361       ilseq  = 1   ;   icount = 1   ;   ionce  = 1  ! open specifier    
     1357      icount = 1   ;   ionce  = 1  ! open specifier    
    13621358 
    13631359#if defined key_lobster 
     
    13681364      ! ---------------------------------------------- 
    13691365      IF( nctls_trc == 1 ) THEN 
    1370          clname = 'ctlsurf_idx' 
    1371          CALL ctlopn( numbol, clname, clold, clunf, clseq, ilseq, numout, lwp, 1 ) 
    1372          REWIND( numbol ) 
    1373          READ  ( numbol ) nbol_trc 
     1366         CALL ctl_opn( numbol, 'ctlsurf_idx', 'OLD', 'UNFORMATTED', 'SEQUENTIAL', -1, numout, lwp ) 
     1367         READ ( numbol ) nbol_trc 
     1368         CLOSE( numbol ) 
    13741369      ENDIF 
    13751370 
  • trunk/NEMO/TOP_SRC/prtctl_trc.F90

    r1152 r1581  
    247247      DO js = sind, eind 
    248248         WRITE(clfile_out,FMT=clb_name) js-1 
    249          CALL ctlopn( numid_trc(js -narea + 1), clfile_out, 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL',   & 
    250             &         1, numout, .FALSE., 1 ) 
     249         CALL ctl_opn( numid_trc(js -narea + 1), clfile_out, 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, .FALSE. ) 
    251250         j_id = numid_trc(js -narea + 1) 
    252251         WRITE(j_id,*) 
  • trunk/NEMO/TOP_SRC/trclec.F90

    r1542 r1581  
    5656      !!--------------------------------------------------------------------- 
    5757      INTEGER ::  jn 
    58       CHARACTER (len=32) ::   clname 
    5958 
    6059      ! Definition of a tracer as a structure 
     
    8382      IF(lwp) WRITE(numout,*) '~~~~~~~' 
    8483 
    85       clname = 'namelist_top' 
    86       CALL ctlopn( numnat, clname, 'OLD', 'FORMATTED', 'SEQUENTIAL', 1, numout, .FALSE., 1 ) 
     84      CALL ctl_opn( numnat, 'namelist_top', 'OLD', 'FORMATTED', 'SEQUENTIAL', 1, numout, .FALSE. ) 
    8785 
    8886      ! Namelist nattrc (files) 
Note: See TracChangeset for help on using the changeset viewer.