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 for trunk/NEMO/TOP_SRC/prtctl_trc.F90 – NEMO

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 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) 
Note: See TracChangeset for help on using the changeset viewer.