!--------------------------------------------------------------------------- !--------------------------------------------------------------------------- !--------------------------------------------------------------------------- subroutine steer_ave (steer, ave, rms, n) use cesrv_struct use cesrv_interface implicit none type (v1_var_struct) steer type (var_struct) :: vv real(rp) ave, rms, del integer i, n ! n = 0; ave = 0; rms = 0 do i = 1, 99 vv = steer%v(i) if (steer%v(i)%useit) then del = steer%v(i)%cu_saved - steer%v(i)%model / steer%v(i)%dvar_dcu n = n + 1 ave = ave + del rms = rms + del**2 endif enddo if (n /= 0) then ave = ave / n rms = sqrt(max(0.0_rp, rms/n - ave**2)) endif end subroutine