da_print_stats_pseudo.inc

References to this file elsewhere.
1 subroutine da_print_stats_pseudo(stats_unit, nu, nv, nt, np, nq, pseudo)
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_pseudo_type), intent(in):: pseudo
12 
13    write(unit=stats_unit, fmt='(6a/)') &
14         '   var             ', &
15         'u (m/s)     n    k    ', &
16         'v (m/s)     n    k    ', &
17         't (K)       n    k    ', &
18         'p (Pa)      n    k    ', &
19         'q (kg/kg)   n    k'
20 
21    write(unit=stats_unit, fmt='(a,i16,4i22)') &
22         '  Number: ', nu, nv, nt, np, nq
23 
24    if (nu < 1) nu = 1
25    if (nv < 1) nv = 1
26    if (nt < 1) nt = 1
27    if (np < 1) np = 1
28    if (nq < 1) nq = 1
29    
30    write(unit=stats_unit, fmt='((a,4(f12.4,2i5),e12.4,2i5))') &
31         ' Minimum(n,k): ', pseudo%minimum%u, pseudo%minimum%v, pseudo%minimum%t, &
32                       pseudo%minimum%p, pseudo%minimum%q, &
33         ' Maximum(n,k): ', pseudo%maximum%u, pseudo%maximum%v, pseudo%maximum%t, &
34                       pseudo%maximum%p, pseudo%maximum%q
35    write(unit=stats_unit, fmt='((a,4(f12.4,10x),e12.4,10x))') &
36         ' Average     : ', pseudo%average%u/real(nu), pseudo%average%v/real(nv), &
37                       pseudo%average%t/real(nt), pseudo%average%p/real(np), &
38                       pseudo%average%q/real(nq), &
39         '    RMSE     : ', sqrt(pseudo%rms_err%u/real(nu)), &
40                       sqrt(pseudo%rms_err%v/real(nv)), &
41                       sqrt(pseudo%rms_err%t/real(nt)), &
42                       sqrt(pseudo%rms_err%p/real(np)), &
43                       sqrt(pseudo%rms_err%q/real(nq))
44 
45 end subroutine da_print_stats_pseudo
46 
47