1 subroutine da_print_stats_pseudo(stats_unit, nu, nv, nt, np, nq, pseudo)
3 !-----------------------------------------------------------------------
5 !-----------------------------------------------------------------------
9 integer, intent(in) :: stats_unit
10 integer, intent(inout) :: nu, nv, nt, np, nq
11 type (stats_pseudo_type), intent(in) :: pseudo
13 if (trace_use_dull) call da_trace_entry("da_print_stats_pseudo")
15 if ( len_trim(adjustl(pseudo_var)) == 3 .and. &
16 (pseudo_var(1:1) == 'q' .or. pseudo_var(1:1) == 'Q') ) then
17 write(unit=stats_unit, fmt='(6a/)') &
23 pseudo_var(1:3), ' (kg/kg) n k'
25 write(unit=stats_unit, fmt='(6a/)') &
33 write(unit=stats_unit, fmt='(a,i16,4i22)') &
34 ' Number: ', nu, nv, nt, np, nq
42 write(unit=stats_unit, fmt='((a,4(f12.4,2i5),e12.4,2i5))') &
43 ' Minimum(n,k): ', pseudo%minimum%u, pseudo%minimum%v, pseudo%minimum%t, &
44 pseudo%minimum%p, pseudo%minimum%q, &
45 ' Maximum(n,k): ', pseudo%maximum%u, pseudo%maximum%v, pseudo%maximum%t, &
46 pseudo%maximum%p, pseudo%maximum%q
47 write(unit=stats_unit, fmt='((a,4(f12.4,10x),e12.4,10x))') &
48 ' Average : ', pseudo%average%u/real(nu), pseudo%average%v/real(nv), &
49 pseudo%average%t/real(nt), pseudo%average%p/real(np), &
50 pseudo%average%q/real(nq), &
51 ' RMSE : ', sqrt(pseudo%rms_err%u/real(nu)), &
52 sqrt(pseudo%rms_err%v/real(nv)), &
53 sqrt(pseudo%rms_err%t/real(nt)), &
54 sqrt(pseudo%rms_err%p/real(np)), &
55 sqrt(pseudo%rms_err%q/real(nq))
57 if (trace_use_dull) call da_trace_exit("da_print_stats_pseudo")
59 end subroutine da_print_stats_pseudo