Merge remote-tracking branch 'origin/release-v4.6.1'
[WRF.git] / var / da / da_sound / da_print_stats_sonde_sfc.inc
blobb01f8021cb0114c9a9a59644ca5159763e4a17f2
1 subroutine da_print_stats_sonde_sfc(stats_unit, nu, nv, nt, np, nq, sonde_sfc)
3    !-----------------------------------------------------------------------
4    ! Purpose: TBD
5    !-----------------------------------------------------------------------
7    implicit none
9    integer,                     intent(in)    :: stats_unit
10    integer,                     intent(inout) :: nu, nv, nt, np, nq
11    type (stats_sonde_sfc_type), intent(in)    :: sonde_sfc
13    if (trace_use_dull) call da_trace_entry("da_print_stats_sonde_sfc")
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'
23    write(unit=stats_unit, fmt='(a,i16,4i22)') &
24       '  Number: ', nu, nv, nt, np, nq
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
32    write(unit=stats_unit, fmt='((a,4(f12.4,2i5),e12.4,2i5))') &
33       ' Minimum(n,k): ', sonde_sfc%minimum%u, sonde_sfc%minimum%v, &
34       sonde_sfc%minimum%t, sonde_sfc%minimum%p, sonde_sfc%minimum%q, &
35       ' Maximum(n,k): ', sonde_sfc%maximum%u, sonde_sfc%maximum%v, &
36       sonde_sfc%maximum%t, &
37                         sonde_sfc%maximum%p, sonde_sfc%maximum%q
38    write(unit=stats_unit, fmt='((a,4(f12.4,10x),e12.4,10x))') &
39       ' Average     : ', sonde_sfc%average%u/real(nu), &
40       sonde_sfc%average%v/real(nv), &
41       sonde_sfc%average%t/real(nt), sonde_sfc%average%p/real(np), &
42       sonde_sfc%average%q/real(nq), &
43       '    RMSE     : ', sqrt(sonde_sfc%rms_err%u/real(nu)), &
44       sqrt(sonde_sfc%rms_err%v/real(nv)), &
45       sqrt(sonde_sfc%rms_err%t/real(nt)), &
46       sqrt(sonde_sfc%rms_err%p/real(np)), &
47       sqrt(sonde_sfc%rms_err%q/real(nq))
49    if (trace_use_dull) call da_trace_exit("da_print_stats_sonde_sfc")
51 end subroutine da_print_stats_sonde_sfc