subroutine var_plot (how, gvar, u) use cesrv_struct use cesrv_interface use quick_plot implicit none type (v1_var_struct) :: gvar type (universe_struct) u type (qp_axis_struct) axis real(rp) y1_dat(200), y2_dat(200), y3_dat(200), y4_dat(200), x_dat(200) integer i, n character how*(*), label*60 ! call cu_target_calc (gvar%v, u, 1.0_rp) call qp_set_axis ('X', 0.0_rp, 120.0_rp, 12, 0) n = 0 do i = lbound(gvar%v, 1), ubound(gvar%v, 1) if (.not. gvar%v(i)%exists) cycle if (gvar%v(i)%dvar_dcu == 0) cycle if (gvar%type == hsteer_kick$) then if (how == 'HBND') then if (i < 100) cycle else if (i > 100) exit ! do not plot hbnd's endif endif n = n + 1 x_dat(n) = gvar%v(i)%ix_index y4_dat(n) = gvar%v(i)%cu_target - & (gvar%v(i)%design-gvar%v(i)%base_cu0) / gvar%v(i)%dvar_dcu y3_dat(n) = gvar%v(i)%cu_target y2_dat(n) = gvar%v(i)%cu_target - gvar%v(i)%cu_saved y1_dat(n) = gvar%v(i)%cu_saved enddo axis%bounds = 'GENERAL' axis%major_div = 4 ! graph 4 call qp_calc_axis_scale (minval(y4_dat(1:n)-10), maxval(y4_dat(1:n)+10), axis) call qp_set_box (1, 4, 1, 4) call qp_set_axis ('Y', axis%min, axis%max, axis%major_div, 0) label = trim(gvar%plot%title) // ' [Target - Design] (CU)' call qp_draw_graph (x_dat(1:n), y4_dat(1:n), 'Index', 'CU', label) ! graph 3 call qp_calc_axis_scale (minval(y3_dat(1:n)-10), maxval(y3_dat(1:n)+10), axis) call qp_set_box (1, 3, 1, 4) call qp_set_axis ('Y', axis%min, axis%max, axis%major_div, 0) label = trim(gvar%plot%title) // ' [Target] (CU)' call qp_draw_graph (x_dat(1:n), y3_dat(1:n), 'Index', 'CU', label) ! graph 2 call qp_calc_axis_scale (minval(y2_dat(1:n)-10), maxval(y2_dat(1:n)+10), axis) call qp_set_box (1, 2, 1, 4) call qp_set_axis ('Y', axis%min, axis%max, axis%major_div, 0) label = trim(gvar%plot%title) // ' [Change = Target - Saved] (CU)' call qp_draw_graph (x_dat(1:n), y2_dat(1:n), 'Index', 'CU', label) ! graph 1 call qp_calc_axis_scale (minval(y1_dat(1:n)-10), maxval(y1_dat(1:n)+10), axis) call qp_set_box (1, 1, 1, 4) call qp_set_axis ('Y', axis%min, axis%max, axis%major_div, 0) label = trim(gvar%plot%title) // ' [Saved] (CU)' call qp_draw_graph (x_dat(1:n), y1_dat(1:n), 'Index', 'CU', label) end subroutine