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

Changeset 625


Ignore:
Timestamp:
2007-02-27T16:51:00+01:00 (17 years ago)
Author:
opalod
Message:

nemo_v2_bugfix_025:RB: suppress hard-coded logical units

Location:
trunk/NEMO/TOP_SRC
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/TOP_SRC/SMS/trcini.cfc.h90

    r433 r625  
    44   !! * Module variables 
    55   INTEGER  ::  & 
    6       inum = 16     ! unit number 
     6      inum                   ! unit number 
    77   CHARACTER (len=34) :: & 
    88      clname = 'cfc1112.atm' ! ??? 
     
    7878      IF(lwp) WRITE(numout,*) 'read of formatted file cfc1112atm' 
    7979       
    80       OPEN( UNIT = inum, FORM = 'FORMATTED',FILE = clname, STATUS = 'OLD') 
     80      CALL ctlopn( inum, clname, 'OLD', 'FORMATTED', 'SEQUENTIAL',   & 
     81         &           1, numout, .FALSE., 1 ) 
    8182      REWIND(inum) 
    8283       
  • trunk/NEMO/TOP_SRC/SMS/trcini.pisces.h90

    r617 r625  
    5454 
    5555      INTEGER :: numriv,numdust,numbath,numdep 
    56       INTEGER :: numlight = 49 
     56      INTEGER :: numlight  
    5757 
    5858#if defined key_trc_kriest 
     
    598598      !!  A PRECOMPUTED ARRAY CORRESPONDING TO THE ATTENUATION COEFFICIENT 
    599599 
    600       OPEN( numlight, file = 'kRGB61.txt', form = 'formatted') 
     600      CALL ctlopn( numlight, 'kRGB61.txt', 'OLD', 'FORMATTED', 'SEQUENTIAL',   & 
     601         &           1, numout, .TRUE., 1 ) 
    601602      DO ichl = 1,61 
    602603         READ(numlight,*) ztoto,(xkrgb(iband,ichl),iband = 1,3) 
  • trunk/NEMO/TOP_SRC/SMS/trclsm.cfc.h90

    r348 r625  
    2626         clname = 'namelist.trc.sms' 
    2727      INTEGER ::  & 
    28          numnat = 80 
     28         numnat 
    2929 
    3030      NAMELIST/namdates/ndate_beg, nyear_res 
     
    4141      ENDIF 
    4242 
    43       OPEN( UNIT=numnat, FILE=clname, FORM='FORMATTED', STATUS='OLD' ) 
     43      CALL ctlopn( numnat, clname, 'OLD', 'FORMATTED', 'SEQUENTIAL',   & 
     44         &           1, numout, .FALSE., 1 ) 
    4445      READ( numnat , namdates ) 
    4546 
  • trunk/NEMO/TOP_SRC/SMS/trclsm.lobster1.h90

    r433 r625  
    5858 
    5959 
    60       numnat=80 
    6160      clname ='namelist.trc.sms' 
    62       OPEN( numnat, FILE= clname, FORM='formatted', STATUS = 'old') 
     61      CALL ctlopn( numnat, clname, 'OLD', 'FORMATTED', 'SEQUENTIAL',   & 
     62         &           1, numout, .FALSE., 1 ) 
    6363 
    6464      ! 1.4 namelist natbio : biological parameters 
  • trunk/NEMO/TOP_SRC/SMS/trclsm.pisces.h90

    r617 r625  
    6666      ENDIF 
    6767 
    68       numnat=80 
    6968      clname ='namelist.trc.sms' 
    70       OPEN( numnat, FILE= clname, FORM='formatted', STATUS = 'old') 
    71  
     69      CALL ctlopn( numnat, clname, 'OLD', 'FORMATTED', 'SEQUENTIAL',   & 
     70         &           1, numout, .FALSE., 1 ) 
    7271 
    7372      ! 1 Namelist natext : 
  • trunk/NEMO/TOP_SRC/prtctl_trc.F90

    r426 r625  
    1515 
    1616   !! * Module declaration 
     17   INTEGER, DIMENSION(:), ALLOCATABLE :: numid_trc  ! logical unit  
    1718   INTEGER, DIMENSION(:), ALLOCATABLE, SAVE ::   &  !: 
    1819      nlditl , nldjtl ,   &  !: first, last indoor index for each i-domain 
     
    8182 
    8283      !! * Local declarations 
    83       INTEGER  :: overlap, numid, jn, js, sind, eind, kdir 
     84      INTEGER  :: overlap, jn, js, sind, eind, kdir, j_id 
    8485      REAL(wp) :: zsum, zvctl 
    8586      REAL(wp), DIMENSION(jpi,jpj,jpk) :: zmask, ztab3d 
     
    119120      DO js = sind, eind 
    120121 
    121          numid = 90 + js 
    122  
     122         ! Set logical unit 
     123         j_id = js - narea + 1 
    123124         ! Set indices for the SUM control 
    124125         IF( .NOT. lsp_area ) THEN 
     
    152153               zsum          = SUM( ztab3d(nictls:nictle,njctls:njctle,1:kdir) & 
    153154                  &                 *zmask(nictls:nictle,njctls:njctle,1:kdir) ) 
    154                WRITE(numid,FMT="(3x,a,' : ',D23.16)") cl(jn), zsum-zvctl 
     155               WRITE(numid_trc(j_id),FMT="(3x,a,' : ',D23.16)") cl(jn), zsum-zvctl 
    155156               tra_ctl(jn,js) = zsum 
    156157            ENDDO 
     
    160161               zsum          = SUM( ztab3d(nictls:nictle,njctls:njctle,1:kdir) & 
    161162                  &               * zmask(nictls:nictle,njctls:njctle,1:kdir) ) 
    162                WRITE(numid,FMT="(3x,a,' : ',D23.16)") cl(jn), zsum 
     163               WRITE(numid_trc(j_id),FMT="(3x,a,' : ',D23.16)") cl(jn), zsum 
    163164            END DO 
    164165         ENDIF 
     
    185186 
    186187      !! * Local declarations 
    187       INTEGER ::  numid, js, sind, eind 
     188      INTEGER ::  js, sind, eind, j_id 
    188189      !!---------------------------------------------------------------------- 
    189190 
     
    200201      ! Loop over each sub-domain, i.e. number of processors ijsplt 
    201202      DO js = sind, eind 
    202          numid = 90 + js 
    203          WRITE(numid,*)clinfo 
     203         j_id = js - narea + 1 
     204         WRITE(numid_trc(j_id),*)clinfo 
    204205      ENDDO 
    205206 
     
    218219      !!---------------------------------------------------------------------- 
    219220      !! * Local declarations 
    220       INTEGER ::   js, numid, sind, eind 
     221      INTEGER ::   js, sind, eind, j_id 
    221222      CHARACTER (len=31) :: clfile_out 
    222223      CHARACTER (len=27) :: clb_name 
     
    268269      ENDIF 
    269270 
     271      ALLOCATE(numid_trc(eind-sind+1)) 
     272 
    270273      DO js = sind, eind 
    271          numid = 90 + js 
    272274         WRITE(clfile_out,FMT=clb_name) js-1 
    273          OPEN ( UNIT=numid, FILE=TRIM(clfile_out),FORM='FORMATTED' ) 
    274          WRITE(numid,*) 
    275          WRITE(numid,*) '                 L O D Y C - I P S L' 
    276          WRITE(numid,*) '                     O P A model' 
    277          WRITE(numid,*) '            Ocean General Circulation Model' 
    278          WRITE(numid,*) '               version OPA 9.0  (2005) ' 
    279          WRITE(numid,*) 
    280          WRITE(numid,*) '                   PROC number: ', js 
    281          WRITE(numid,*) 
    282          WRITE(numid,FMT="(19x,a20)")cl_run 
     275         j_id = js -narea + 1 
     276         CALL ctlopn( numid_trc(j_id), clfile_out, 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL',   & 
     277            &         1, numout, .FALSE., 1 ) 
     278         WRITE(numid_trc(j_id),*) 
     279         WRITE(numid_trc(j_id),*) '                 L O D Y C - I P S L' 
     280         WRITE(numid_trc(j_id),*) '                     O P A model' 
     281         WRITE(numid_trc(j_id),*) '            Ocean General Circulation Model' 
     282         WRITE(numid_trc(j_id),*) '               version OPA 9.0  (2005) ' 
     283         WRITE(numid_trc(j_id),*) 
     284         WRITE(numid_trc(j_id),*) '                   PROC number: ', js 
     285         WRITE(numid_trc(j_id),*) 
     286         WRITE(numid_trc(j_id),FMT="(19x,a20)")cl_run 
    283287 
    284288         ! Print the SUM control indices 
     
    296300            ENDIF 
    297301         ENDIF 
    298          WRITE(numid,*)  
    299          WRITE(numid,*) 'prt_tra_ctl :  Sum control indices' 
    300          WRITE(numid,*) '~~~~~~~' 
    301          WRITE(numid,*) 
    302          WRITE(numid,9000)'                                nlej   = ', nlejtl(js), '              ' 
    303          WRITE(numid,9000)'                  ------------- njctle = ', njctle, ' -------------' 
    304          WRITE(numid,9001)'                  |                                       |' 
    305          WRITE(numid,9001)'                  |                                       |' 
    306          WRITE(numid,9001)'                  |                                       |' 
    307          WRITE(numid,9002)'           nictls = ', nictls,  '                           nictle = ', nictle 
    308          WRITE(numid,9002)'           nldi   = ', nlditl(js),  '                           nlei   = ', nleitl(js) 
    309          WRITE(numid,9001)'                  |                                       |' 
    310          WRITE(numid,9001)'                  |                                       |' 
    311          WRITE(numid,9001)'                  |                                       |' 
    312          WRITE(numid,9004)'  njmpp  = ',njmpptl(js),'   ------------- njctls = ', njctls, ' -------------' 
    313          WRITE(numid,9003)'           nimpp  = ', nimpptl(js), '        nldj   = ', nldjtl(js), '              ' 
    314          WRITE(numid,*) 
    315          WRITE(numid,*) 
     302         WRITE(numid_trc(j_id),*)  
     303         WRITE(numid_trc(j_id),*) 'prt_tra_ctl :  Sum control indices' 
     304         WRITE(numid_trc(j_id),*) '~~~~~~~' 
     305         WRITE(numid_trc(j_id),*) 
     306         WRITE(numid_trc(j_id),9000)'                                nlej   = ', nlejtl(js), '              ' 
     307         WRITE(numid_trc(j_id),9000)'                  ------------- njctle = ', njctle, ' -------------' 
     308         WRITE(numid_trc(j_id),9001)'                  |                                       |' 
     309         WRITE(numid_trc(j_id),9001)'                  |                                       |' 
     310         WRITE(numid_trc(j_id),9001)'                  |                                       |' 
     311         WRITE(numid_trc(j_id),9002)'           nictls = ', nictls,  '                           nictle = ', nictle 
     312         WRITE(numid_trc(j_id),9002)'           nldi   = ', nlditl(js),  '                           nlei   = ', nleitl(js) 
     313         WRITE(numid_trc(j_id),9001)'                  |                                       |' 
     314         WRITE(numid_trc(j_id),9001)'                  |                                       |' 
     315         WRITE(numid_trc(j_id),9001)'                  |                                       |' 
     316         WRITE(numid_trc(j_id),9004)'  njmpp  = ',njmpptl(js),'   ------------- njctls = ', njctls, ' -------------' 
     317         WRITE(numid_trc(j_id),9003)'           nimpp  = ', nimpptl(js), '        nldj   = ', nldjtl(js), '              ' 
     318         WRITE(numid_trc(j_id),*) 
     319         WRITE(numid_trc(j_id),*) 
    316320 
    3173219000     FORMAT(a41,i4.4,a14) 
  • trunk/NEMO/TOP_SRC/trcctl.F90

    r340 r625  
    5555      istop = 0 
    5656 
    57       ! 1. LOGICAL UNIT initialization for specifi! files for passive tracer 
    58       ! -------------------------------------------------------------------- 
    59       !     nutwrs : OUTPUT for passive tracer restart UNIT (always used) 
    60       !     nutrst : restart FILE  INPUT  UNIT (lrsttr=.TRUE.) 
    61       !     nutini(jptra) : UNIT for initial FILE for tracer 
    62  
    63       nutwrs = 72 
    64       nutrst = 73 
    65  
    66       ! 2. restart for passive tracer (input) 
     57      ! 1. restart for passive tracer (input) 
    6758      ! ----------------------------- 
    6859 
     
    8374         IF(lwp) WRITE(numout,*) ' ' 
    8475 
    85          ! 3. OPEN FILES for initial tracer value 
     76         ! 2. OPEN FILES for initial tracer value 
    8677         ! -------------------------------------- 
    8778         DO jn=1,jptra 
     
    10192      ENDIF 
    10293 
    103       ! 4. Don't USE non penetrative convective mixing option 
     94      ! 3. Don't USE non penetrative convective mixing option 
    10495      !     it's not implemented for passive tracer 
    10596      ! ----------------------------------------------------- 
     
    114105      ENDIF 
    115106 
    116       ! 5. transport scheme option 
     107      ! 4. transport scheme option 
    117108      ! -------------------------- 
    118109 
     
    121112 
    122113 
    123       ! 6. SMS model 
     114      ! 5. SMS model 
    124115      ! --------------------------------------------- 
    125116 
  • trunk/NEMO/TOP_SRC/trclec.F90

    r433 r625  
    8989      ENDIF 
    9090 
    91       numnat=80 
    92       REWIND (numnat) 
    93  
    9491      clname='namelist.passivetrc' 
    95       OPEN( numnat, FILE= clname, FORM='formatted', STATUS = 'old') 
     92      CALL ctlopn( numnat, clname, 'OLD', 'FORMATTED', 'SEQUENTIAL',   & 
     93         &         1, numout, .FALSE., 1 ) 
     94 
    9695 
    9796      !! 1., 2. & 3. initialization with namelist files 
Note: See TracChangeset for help on using the changeset viewer.