da_print_stats_buoy.inc
References to this file elsewhere.
1 subroutine da_print_stats_buoy(stats_unit, nu, nv, nt, np, nq, buoy)
2
3 !-----------------------------------------------------------------------
4 ! Purpose: TBD
5 !-----------------------------------------------------------------------
6
7 implicit none
8
9 integer, intent(in) :: stats_unit
10 integer, intent(inout) :: nu, nv, nt, np, nq
11 type (stats_buoy_type), intent(in) :: buoy
12
13 if (trace_use_dull) call da_trace_entry("da_print_stats_buoy")
14
15 write(unit=stats_unit, fmt='(6a/)') &
16 ' var ', &
17 'u (m/s) n k ', &
18 'v (m/s) n k ', &
19 't (K) n k ', &
20 'p (Pa) n k ', &
21 'q (kg/kg) n k'
22
23 write(unit=stats_unit, fmt='(a,i16,4i22)') &
24 ' Number: ', nu, nv, nt, np, nq
25
26 if (nu < 1) nu = 1
27 if (nv < 1) nv = 1
28 if (nt < 1) nt = 1
29 if (np < 1) np = 1
30 if (nq < 1) nq = 1
31
32 write(unit=stats_unit, fmt='((a,4(f12.4,2i5),e12.4,2i5))') &
33 ' Minimum(n,k): ', buoy%minimum%u, buoy%minimum%v, buoy%minimum%t, &
34 buoy%minimum%p, buoy%minimum%q, &
35 ' Maximum(n,k): ', buoy%maximum%u, buoy%maximum%v, buoy%maximum%t, &
36 buoy%maximum%p, buoy%maximum%q
37 write(unit=stats_unit, fmt='((a,4(f12.4,10x),e12.4,10x))') &
38 ' Average : ', buoy%average%u/real(nu), buoy%average%v/real(nv), &
39 buoy%average%t/real(nt), buoy%average%p/real(np), &
40 buoy%average%q/real(nq), &
41 ' RMSE : ', sqrt(buoy%rms_err%u/real(nu)), &
42 sqrt(buoy%rms_err%v/real(nv)), &
43 sqrt(buoy%rms_err%t/real(nt)), &
44 sqrt(buoy%rms_err%p/real(np)), &
45 sqrt(buoy%rms_err%q/real(nq))
46
47 if (trace_use_dull) call da_trace_exit("da_print_stats_buoy")
48
49 end subroutine da_print_stats_buoy
50
51