505 LOGICAL,
INTENT(IN) :: P_ON
506 INTEGER,
INTENT(IN) :: NP
507 CHARACTER(LEN=*),
INTENT(IN):: FNM
509 CHARACTER(LEN=80):: cstr1,cstr2,cstr3
510 LOGICAL FEXIST,ISLOCAL
511 INTEGER :: I,J,IERR,IOS,STATUS, N_PROBE
512 INTEGER :: PROCMAX, IBND, charnum
513 CHARACTER(LEN=120) :: pathnfile
514 CHARACTER(LEN=4) :: OFLAG
516 INTEGER(ITIME) :: OSTEP
517 if(dbg_set(dbg_sbr)) &
518 &
write(
ipt,*)
"START: SET_PROBES;" 526 IF (.not. probe_on)
THEN 527 if(dbg_set(dbg_log)) &
528 &
write(
ipt,*)
"! Time Series Probes are off" 531 if(dbg_set(dbg_log))
then 532 write(
ipt,*)
"! Time Series Probes are on" 533 write(
ipt,*)
"! Setting up Probes:" 541 &
CALL warning(
"PROBES FILE does not end in .nml", &
545 INQUIRE(file=pathnfile,exist=fexist)
547 Call fopen(
probeunit,trim(pathnfile),
'cfr')
550 Call fopen(
probeunit,trim(pathnfile),
'cfr')
555 CALL alloc_probe(glb_probe,global_probes)
571 if (n_probe > global_probes)
exit 577 glb_probe(n_probe)%K_ONE = probe_levels(1)
578 glb_probe(n_probe)%K_TWO = probe_levels(2)
579 glb_probe(n_probe)%D_LOC_GL = probe_location
581 glb_probe(n_probe)%D_TIT =probe_title
582 glb_probe(n_probe)%D_DES =probe_description
583 glb_probe(n_probe)%VAR =probe_variable
584 glb_probe(n_probe)%VNAME =probe_var_name
591 IF (oflag ==
'time')
THEN 592 glb_probe(n_probe)%O_INT = otime
594 ELSE IF(oflag ==
'step')
THEN 595 glb_probe(n_probe)%O_INT =
imdti * ostep
599 IF (glb_probe(n_probe)%O_INT <=
zerotime)
CALL fatal_error&
600 &(
'ERROR IN PROBE SETUP: Time series output interval is less than or equal to zero!')
605 CALL probe_store(glb_probe(n_probe))
607 IF (glb_probe(n_probe)%MINE)
THEN 608 local_probes=local_probes+1
610 glb_probe(n_probe)%O_NUM =n_probe
617 IF(global_probes .ne. n_probe)
THEN 619 if(dbg_set(dbg_log))
then 620 write(
ipt,*)
"Bad NML_PROBE in the Name List!" 621 write(
ipt,*)
"Specified number of PROBES=",global_probes
622 write(
ipt,*)
"But Found",n_probe,
"; Valid PROBE name list objects.(Printing Last)" 623 write(unit=
ipt,nml=nml_probe)
627 &(
'THE NUMBER OF PROBES SPECIFIED IN THE RUN FILE CAN',&
628 &
'NOT BE FOUND IN THE PROBE FILE:'//trim(
probes_file))
634 CALL alloc_probe(lcl_probe,local_probes)
637 DO i = 1,global_probes
638 IF (glb_probe(i)%O_NUM .NE. 0)
THEN 640 lcl_probe(n_probe)=glb_probe(i)
643 IF(n_probe .NE. local_probes)
CALL fatal_error(
"mod_probe: this should not happen?")
646 DEALLOCATE(glb_probe)
651 IF(global_probes > 0)
THEN 653 if(dbg_set(dbg_sbrio))
write(
ipt,*)
"GLobal probes"&
654 &,global_probes,
"Local_probes",local_probes,
size(lcl_probe)
656 IF(dbg_set(dbg_log))
THEN 658 WRITE(
ipt,*)
'! TIME SERIES OBJECT DATA ' 659 WRITE(
ipt,*)
" OBJ# PROC GLOBAL LOCAL VAR FILENAME" 668 WRITE(
ipt,101)lcl_probe(i)%O_NUM,
myid,lcl_probe(i)%D_LOC_GL,lcl_probe(i)%D_LOC, &
669 & trim(lcl_probe(i)%VAR),trim(lcl_probe(i)%D_TIT)
683 if(dbg_set(dbg_sbr))
write(
ipt,*)
"END: SET_PROBES" 685 101
FORMAT(i5,i5,i8,i8,3x,a6,1x,a30)
integer, parameter probeunit
subroutine ideal_time_string2time(string, flag, ntime, tstep)
character(len=80) input_dir
character(len=80) probes_file