Changeset 516 for trunk/NEMO/OPA_SRC/prtctl.F90
- Timestamp:
- 2006-10-05T17:53:31+02:00 (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/OPA_SRC/prtctl.F90
r473 r516 22 22 t_ctll , s_ctll , & !: previous trend values 23 23 u_ctll , v_ctll 24 25 INTEGER :: ktime !: time step 24 26 25 27 !! * Routine accessibility … … 79 81 REAL(wp), DIMENSION(:,:,:), INTENT(in), OPTIONAL :: tab3d_1 80 82 REAL(wp), DIMENSION(:,:,:), INTENT(in), OPTIONAL :: mask1 81 CHARACTER (len=*) , INTENT(in), OPTIONAL :: clinfo183 CHARACTER (len=*) , INTENT(in), OPTIONAL :: clinfo1 82 84 REAL(wp), DIMENSION(:,:) , INTENT(in), OPTIONAL :: tab2d_2 83 85 REAL(wp), DIMENSION(:,:,:), INTENT(in), OPTIONAL :: tab3d_2 84 86 REAL(wp), DIMENSION(:,:,:), INTENT(in), OPTIONAL :: mask2 85 CHARACTER (len=*) , INTENT(in), OPTIONAL :: clinfo286 INTEGER , INTENT(in), OPTIONAL :: ovlap87 INTEGER , INTENT(in), OPTIONAL :: kdim88 CHARACTER (len=*) , INTENT(in), OPTIONAL :: clinfo387 CHARACTER (len=*) , INTENT(in), OPTIONAL :: clinfo2 88 INTEGER , INTENT(in), OPTIONAL :: ovlap 89 INTEGER , INTENT(in), OPTIONAL :: kdim 90 CHARACTER (len=*) , INTENT(in), OPTIONAL :: clinfo3 89 91 90 92 !! * Local declarations … … 135 137 DO jn = sind, eind 136 138 137 numid = 90 139 numid = 90 + jn 138 140 139 141 ! Set indices for the SUM control … … 184 186 185 187 ! Print the result 186 IF( PRESENT(clinfo 2) .OR. PRESENT(tab2d_2) .OR. PRESENT(tab3d_2) ) THEN188 IF( PRESENT(clinfo3) ) THEN 187 189 WRITE(numid,FMT='(a,D23.16,3x,a,D23.16)')clinfo1, zsum1-zvctl1, cl2, zsum2-zvctl2 188 IF( clinfo3 == 'tra-ta' ) THEN189 t_ctll(jn) = zsum1190 ENDIF191 IF( clinfo3 == 'tra' ) THEN190 SELECT CASE( clinfo3 ) 191 CASE ( 'tra-ta' ) 192 t_ctll(jn) = zsum1 193 CASE ( 'tra' ) 192 194 t_ctll(jn) = zsum1 193 195 s_ctll(jn) = zsum2 194 ENDIF 195 IF( clinfo3 == 'dyn' ) THEN 196 CASE ( 'dyn' ) 196 197 u_ctll(jn) = zsum1 197 198 v_ctll(jn) = zsum2 198 ENDIF 199 END SELECT 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, zsum2 199 202 ELSE 200 203 WRITE(numid,FMT='(a,D23.16)')clinfo1, zsum1 … … 206 209 207 210 208 SUBROUTINE prt_ctl_info (clinfo1, ivar1, clinfo2, ivar2 )211 SUBROUTINE prt_ctl_info (clinfo1, ivar1, clinfo2, ivar2, itime) 209 212 !!---------------------------------------------------------------------- 210 213 !! *** ROUTINE prt_ctl_info *** … … 223 226 !! * Arguments 224 227 CHARACTER (len=*), INTENT(in) :: clinfo1 225 INTEGER , INTENT(in), OPTIONAL :: ivar1228 INTEGER , INTENT(in), OPTIONAL :: ivar1 226 229 CHARACTER (len=*), INTENT(in), OPTIONAL :: clinfo2 227 INTEGER, INTENT(in), OPTIONAL :: ivar2 230 INTEGER , INTENT(in), OPTIONAL :: ivar2 231 INTEGER , INTENT(in), OPTIONAL :: itime 228 232 229 233 !! * Local declarations 230 INTEGER :: numid, jn, sind, eind 234 INTEGER :: numid, jn, sind, eind, iltime 231 235 !!---------------------------------------------------------------------- 232 236 … … 241 245 ENDIF 242 246 247 ! Set to zero arrays at each new time step 248 IF( PRESENT(itime) ) THEN 249 iltime = itime 250 IF( iltime > ktime ) THEN 251 t_ctll(:) = 0.e0 ; s_ctll(:) = 0.e0 252 u_ctll(:) = 0.e0 ; v_ctll(:) = 0.e0 253 ktime = iltime 254 ENDIF 255 ENDIF 256 243 257 ! Loop over each sub-domain, i.e. number of processors ijsplt 244 258 DO jn = sind, eind 245 259 246 numid = 90 260 numid = 90 + jn 247 261 248 262 IF( PRESENT(ivar1) .AND. PRESENT(clinfo2) .AND. PRESENT(ivar2) ) THEN … … 296 310 297 311 ! Initialization 298 t_ctll (:)=0.e0 299 s_ctll (:)=0.e0 300 u_ctll (:)=0.e0 301 v_ctll (:)=0.e0 312 t_ctll(:)=0.e0 313 s_ctll(:)=0.e0 314 u_ctll(:)=0.e0 315 v_ctll(:)=0.e0 316 ktime = 1 302 317 303 318 IF( lk_mpp ) THEN … … 330 345 331 346 DO jn = sind, eind 332 numid = 90 347 numid = 90 + jn 333 348 WRITE(clfile_out,FMT=clb_name) jn-1 334 349 OPEN ( UNIT=numid, FILE=TRIM(clfile_out),FORM='FORMATTED' ) … … 345 360 ! Print the SUM control indices 346 361 IF( .NOT. lsp_area ) THEN 347 IF ( lk_mpp ) THEN 348 nictls = nlditl(jn) 349 nictle = nleitl(jn) 350 njctls = nldjtl(jn) 351 njctle = nlejtl(jn) 352 ELSE 353 nictls = nimpptl(jn) + nlditl(jn) - 1 354 nictle = nimpptl(jn) + nleitl(jn) - 1 355 njctls = njmpptl(jn) + nldjtl(jn) - 1 356 njctle = njmpptl(jn) + nlejtl(jn) - 1 357 ENDIF 362 nictls = nimpptl(jn) + nlditl(jn) - 1 363 nictle = nimpptl(jn) + nleitl(jn) - 1 364 njctls = njmpptl(jn) + nldjtl(jn) - 1 365 njctle = njmpptl(jn) + nlejtl(jn) - 1 358 366 ENDIF 359 367 WRITE(numid,*)
Note: See TracChangeset
for help on using the changeset viewer.