Changeset 624
- Timestamp:
- 2007-02-27T15:46:47+01:00 (18 years ago)
- Location:
- trunk/NEMO
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/LIM_SRC/limdia.F90
r508 r624 241 241 ! opening "ice_evolu" file 242 242 irecl = ( jpchinf + 1 ) * nvinfo 243 OPEN( numevo_ice, file='ice.evolu', status='unknown', RECL = irecl)244 OPEN( numevo_ice, file='ice.evolu', status='unknown')243 CALL ctlopn( numevo_ice, 'ice_evolu', 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL', & 244 & irecl, numout, .TRUE., 1 ) 245 245 246 246 !- ecriture de 2 lignes d''entete : -
trunk/NEMO/OPA_SRC/IOM/in_out_manager.F90
r623 r624 56 56 !! logical units 57 57 !!---------------------------------------------------------------------- 58 INTEGER :: numstp = 1 !: logical unit for time step 59 INTEGER :: numout = 2 !: logical unit for output print 60 INTEGER :: numid !: logical unit for debug print 61 INTEGER :: numnam = 3 !: logical unit for namelist 62 INTEGER :: numnam_ice = 4 !: logical unit for ice namelist 63 INTEGER :: numevo_ice = 17 !: logical unit for ice variables (temp. evolution) 64 INTEGER :: numsol = 25 !: logical unit for solver statistics 65 INTEGER :: numwri = 40 !: logical unit for output write 66 INTEGER :: numisp = 41 !: logical unit for island statistics 67 INTEGER :: numgap = 45 !: logical unit for differences diagnostic 68 INTEGER :: numbol = 67 !: logical unit for "bol" diagnostics 69 INTEGER :: numptr = 68 !: logical unit for Poleward TRansports 70 INTEGER :: numflo = 69 !: logical unit for drifting floats 58 INTEGER :: numstp !: logical unit for time step 59 INTEGER :: numout !: logical unit for output print 60 INTEGER :: numnam !: logical unit for namelist 61 INTEGER :: numnam_ice !: logical unit for ice namelist 62 INTEGER :: numevo_ice !: logical unit for ice variables (temp. evolution) 63 INTEGER :: numsol !: logical unit for solver statistics 64 INTEGER :: numwri !: logical unit for output write 65 INTEGER :: numisp !: logical unit for island statistics 66 INTEGER :: numgap !: logical unit for differences diagnostic 67 INTEGER :: numbol !: logical unit for "bol" diagnostics 68 INTEGER :: numptr !: logical unit for Poleward TRansports 69 INTEGER :: numflo !: logical unit for drifting floats 71 70 72 71 !!---------------------------------------------------------------------- … … 158 157 LOGICAL :: llopn 159 158 !--------------------------------------------------------------------- 160 getunit = 50! choose a unit that is big enough then it is159 getunit = 15 ! choose a unit that is big enough then it is 161 160 ! not already used in OPA 162 161 llopn = .TRUE. -
trunk/NEMO/OPA_SRC/ctlopn.F90
r392 r624 15 15 USE Agrif_Util 16 16 #endif 17 USE in_out_manager 17 18 IMPLICIT NONE 18 19 20 INTEGER, INTENT( out ) :: & 21 knum ! logical unit to open 19 22 INTEGER, INTENT( in ) :: & 20 #if !defined key_agrif21 knum, & ! logical unit to open22 #endif23 23 krequ, & ! =1 file required (stop if not exist) 24 24 ! ! =0 file not required (create the file if does not exist) 25 25 kout, & ! number of logical units for write 26 26 klengh ! record length 27 28 INTEGER :: iost29 27 CHARACTER (len=* ), INTENT( in ) :: & 30 28 cdacce, & ! access specifier … … 34 32 CHARACTER (len=* ), INTENT( in ) :: & 35 33 cdfile ! file name to open 36 #endif 37 38 LOGICAL :: ldwp ! boolean term for print 39 40 #if defined key_agrif 41 LOGICAL :: op 42 INTEGER, INTENT( inout ) :: & 43 knum ! logical unit to open 34 #else 44 35 CHARACTER (len=* ), INTENT( inout ) :: & 45 36 cdfile ! file name to open 46 37 #endif 38 39 INTEGER :: iost 40 LOGICAL :: ldwp ! boolean term for print 41 47 42 !!---------------------------------------------------------------------- 48 43 !! OPA 9.0 , LOCEAN-IPSL (2005) … … 55 50 cdfile= TRIM(Agrif_CFixed())//'_'//TRIM(cdfile) 56 51 endif 57 INQUIRE(UNIT=knum,OPENED=op)58 IF (op) THEN59 52 knum=Agrif_Get_Unit() 60 ENDIF 53 #else 54 knum=getunit() 61 55 #endif 62 56 -
trunk/NEMO/OPA_SRC/mppini.F90
r516 r624 345 345 ! Save processor layout in layout.dat file 346 346 IF (lwp) THEN 347 inum = 11 348 349 OPEN(inum,FILE='layout.dat') 347 CALL ctlopn( inum, 'layout.dat', 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL', & 348 & 1, numout, .FALSE., 1 ) 350 349 WRITE(inum,'(a)') ' jpnij jpi jpj jpk jpiglo jpjglo' 351 350 WRITE(inum,'(6i8)') jpnij,jpi,jpj,jpk,jpiglo,jpjglo -
trunk/NEMO/OPA_SRC/mppini_2.h90
r473 r624 466 466 ! Save processor layout in ascii file 467 467 IF (lwp) THEN 468 inum = 11 ! how do we know that 11 is ok???469 OPEN(inum,FILE='layout.dat')468 CALL ctlopn( inum, 'layout.dat', 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL', & 469 & 1, numout, .FALSE., 1 ) 470 470 WRITE(inum,'(6i8)') jpnij,jpi,jpj,jpk,jpiglo,jpjglo 471 471 WRITE(inum,'(a)') 'NAREA nlci nlcj nldi nldj nlei nlej nimpp njmpp' -
trunk/NEMO/OPA_SRC/opa.F90
r599 r624 190 190 191 191 ! open listing and namelist units 192 IF ( numout /= 0 .AND. numout /= 6 ) THEN 193 CALL ctlopn( numout, file_out, 'UNKNOWN', 'FORMATTED', & 194 & 'SEQUENTIAL', 1, numout, .FALSE., 1 ) 195 ENDIF 192 CALL ctlopn( numout, file_out, 'UNKNOWN', 'FORMATTED', & 193 & 'SEQUENTIAL', 1, numout, .FALSE., 1 ) 196 194 197 195 WRITE(numout,*) -
trunk/NEMO/OPA_SRC/prtctl.F90
r516 r624 12 12 13 13 !! * Module declaration 14 INTEGER, DIMENSION(:), ALLOCATABLE :: numid 14 15 INTEGER, DIMENSION(:), ALLOCATABLE, SAVE :: & !: 15 16 nlditl , nldjtl , & !: first, last indoor index for each i-domain … … 91 92 92 93 !! * Local declarations 93 INTEGER :: overlap, numid, jn, sind, eind, kdir94 INTEGER :: overlap, jn, sind, eind, kdir,j_id 94 95 CHARACTER (len=15) :: cl2 95 96 REAL(wp) :: zsum1, zsum2, zvctl1, zvctl2 … … 136 137 ! Loop over each sub-domain, i.e. the total number of processors ijsplt 137 138 DO jn = sind, eind 138 139 numid = 90 + jn 140 139 ! Set logical unit 140 j_id =jn - narea + 1 141 141 ! Set indices for the SUM control 142 142 IF( .NOT. lsp_area ) THEN … … 187 187 ! Print the result 188 188 IF( PRESENT(clinfo3) ) THEN 189 WRITE(numid ,FMT='(a,D23.16,3x,a,D23.16)')clinfo1, zsum1-zvctl1, cl2, zsum2-zvctl2189 WRITE(numid(j_id),FMT='(a,D23.16,3x,a,D23.16)')clinfo1, zsum1-zvctl1, cl2, zsum2-zvctl2 190 190 SELECT CASE( clinfo3 ) 191 191 CASE ( 'tra-ta' ) … … 199 199 END SELECT 200 200 ELSEIF ( PRESENT(clinfo2) .OR. PRESENT(tab2d_2) .OR. PRESENT(tab3d_2) ) THEN 201 WRITE(numid ,FMT='(a,D23.16,3x,a,D23.16)')clinfo1, zsum1, cl2, zsum2201 WRITE(numid(j_id),FMT='(a,D23.16,3x,a,D23.16)')clinfo1, zsum1, cl2, zsum2 202 202 ELSE 203 WRITE(numid ,FMT='(a,D23.16)')clinfo1, zsum1203 WRITE(numid(j_id),FMT='(a,D23.16)')clinfo1, zsum1 204 204 ENDIF 205 205 … … 232 232 233 233 !! * Local declarations 234 INTEGER :: numid, jn, sind, eind, iltime234 INTEGER :: jn, sind, eind, iltime, j_id 235 235 !!---------------------------------------------------------------------- 236 236 … … 257 257 ! Loop over each sub-domain, i.e. number of processors ijsplt 258 258 DO jn = sind, eind 259 260 numid = 90 + jn 259 260 ! Set logical unit 261 j_id = jn - narea +1 261 262 262 263 IF( PRESENT(ivar1) .AND. PRESENT(clinfo2) .AND. PRESENT(ivar2) ) THEN 263 WRITE(numid ,*)clinfo1, ivar1, clinfo2, ivar2264 WRITE(numid(j_id),*)clinfo1, ivar1, clinfo2, ivar2 264 265 ELSEIF ( PRESENT(ivar1) .AND. PRESENT(clinfo2) .AND. .NOT. PRESENT(ivar2) ) THEN 265 WRITE(numid ,*)clinfo1, ivar1, clinfo2266 WRITE(numid(j_id),*)clinfo1, ivar1, clinfo2 266 267 ELSEIF ( PRESENT(ivar1) .AND. .NOT. PRESENT(clinfo2) .AND. PRESENT(ivar2) ) THEN 267 WRITE(numid ,*)clinfo1, ivar1, ivar2268 WRITE(numid(jn-narea+1),*)clinfo1, ivar1, ivar2 268 269 ELSEIF ( PRESENT(ivar1) .AND. .NOT. PRESENT(clinfo2) .AND. .NOT. PRESENT(ivar2) ) THEN 269 WRITE(numid ,*)clinfo1, ivar1270 WRITE(numid(j_id),*)clinfo1, ivar1 270 271 ELSE 271 WRITE(numid ,*)clinfo1272 WRITE(numid(j_id),*)clinfo1 272 273 ENDIF 273 274 … … 287 288 !!---------------------------------------------------------------------- 288 289 !! * Local declarations 289 INTEGER :: jn, numid, sind, eind290 INTEGER :: jn, sind, eind, j_id 290 291 CHARACTER (len=28) :: clfile_out 291 292 CHARACTER (len=23) :: clb_name … … 344 345 ENDIF 345 346 347 ALLOCATE(numid(eind-sind+1)) 348 346 349 DO jn = sind, eind 347 numid = 90 + jn348 350 WRITE(clfile_out,FMT=clb_name) jn-1 349 OPEN ( UNIT=numid, FILE=TRIM(clfile_out),FORM='FORMATTED' ) 350 WRITE(numid,*) 351 WRITE(numid,*) ' L O D Y C - I P S L' 352 WRITE(numid,*) ' O P A model' 353 WRITE(numid,*) ' Ocean General Circulation Model' 354 WRITE(numid,*) ' version OPA 9.0 (2005) ' 355 WRITE(numid,*) 356 WRITE(numid,*) ' PROC number: ', jn 357 WRITE(numid,*) 358 WRITE(numid,FMT="(19x,a20)")cl_run 351 j_id = jn -narea + 1 352 CALL ctlopn( numid(j_id), clfile_out, 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL', & 353 & 1, numout, .FALSE., 1 ) 354 WRITE(numid(j_id),*) 355 WRITE(numid(j_id),*) ' L O D Y C - I P S L' 356 WRITE(numid(j_id),*) ' O P A model' 357 WRITE(numid(j_id),*) ' Ocean General Circulation Model' 358 WRITE(numid(j_id),*) ' version OPA 9.0 (2005) ' 359 WRITE(numid(j_id),*) 360 WRITE(numid(j_id),*) ' PROC number: ', jn 361 WRITE(numid(j_id),*) 362 WRITE(numid(j_id),FMT="(19x,a20)")cl_run 359 363 360 364 ! Print the SUM control indices … … 365 369 njctle = njmpptl(jn) + nlejtl(jn) - 1 366 370 ENDIF 367 WRITE(numid ,*)368 WRITE(numid ,*) 'prt_ctl : Sum control indices'369 WRITE(numid ,*) '~~~~~~~'370 WRITE(numid ,*)371 WRITE(numid ,9000)' nlej = ', nlejtl(jn), ' '372 WRITE(numid ,9000)' ------------- njctle = ', njctle, ' -------------'373 WRITE(numid ,9001)' | |'374 WRITE(numid ,9001)' | |'375 WRITE(numid ,9001)' | |'376 WRITE(numid ,9002)' nictls = ', nictls, ' nictle = ', nictle377 WRITE(numid ,9002)' nldi = ', nlditl(jn), ' nlei = ', nleitl(jn)378 WRITE(numid ,9001)' | |'379 WRITE(numid ,9001)' | |'380 WRITE(numid ,9001)' | |'381 WRITE(numid ,9004)' njmpp = ',njmpptl(jn),' ------------- njctls = ', njctls, ' -------------'382 WRITE(numid ,9003)' nimpp = ', nimpptl(jn), ' nldj = ', nldjtl(jn), ' '383 WRITE(numid ,*)384 WRITE(numid ,*)371 WRITE(numid(j_id),*) 372 WRITE(numid(j_id),*) 'prt_ctl : Sum control indices' 373 WRITE(numid(j_id),*) '~~~~~~~' 374 WRITE(numid(j_id),*) 375 WRITE(numid(j_id),9000)' nlej = ', nlejtl(jn), ' ' 376 WRITE(numid(j_id),9000)' ------------- njctle = ', njctle, ' -------------' 377 WRITE(numid(j_id),9001)' | |' 378 WRITE(numid(j_id),9001)' | |' 379 WRITE(numid(j_id),9001)' | |' 380 WRITE(numid(j_id),9002)' nictls = ', nictls, ' nictle = ', nictle 381 WRITE(numid(j_id),9002)' nldi = ', nlditl(jn), ' nlei = ', nleitl(jn) 382 WRITE(numid(j_id),9001)' | |' 383 WRITE(numid(j_id),9001)' | |' 384 WRITE(numid(j_id),9001)' | |' 385 WRITE(numid(j_id),9004)' njmpp = ',njmpptl(jn),' ------------- njctls = ', njctls, ' -------------' 386 WRITE(numid(j_id),9003)' nimpp = ', nimpptl(jn), ' nldj = ', nldjtl(jn), ' ' 387 WRITE(numid(j_id),*) 388 WRITE(numid(j_id),*) 385 389 386 390 9000 FORMAT(a41,i4.4,a14)
Note: See TracChangeset
for help on using the changeset viewer.