da_print_be_stats_h_global.inc

References to this file elsewhere.
1 subroutine da_print_be_stats_h_global(outunit, variable, k, max_wavenumber, &
2   total_power)
3 
4    !-----------------------------------------------------------------------
5    ! Purpose: TBD
6    !-----------------------------------------------------------------------
7 
8    implicit none 
9 
10    integer, intent(inout)   :: outunit        ! Output file unit.
11    character*10, intent(in) :: variable       ! Variable name.
12    integer, intent(in)      :: k              ! Vertical index.
13    integer, intent(in)      :: max_wavenumber ! Smallest scale required (ni/2-1)
14 
15    ! Total Power spectrum (averaged over time/members)
16    real, intent(in) :: total_power(0:max_wavenumber)
17 
18    integer             :: n                     ! Loop counter.
19    real                :: accum_power, variance ! Accumulated power, variance.
20 
21    accum_power = 0.0
22    variance = sum(total_power(0:max_wavenumber))
23 
24    write(unit=stdout,fmt='(3a,i5,a,i5)')' Power spectra for variable ', trim(variable), &
25                           ' and level ', k, ' in unit ', outunit
26 
27    do n = 0, max_wavenumber
28       accum_power = accum_power + total_power(n)
29       write(unit=outunit,fmt='(2i4,2f18.5,f8.3)')k, n, total_power(n), accum_power, &
30                                         accum_power / variance
31    end do
32 
33    outunit = outunit + 1
34    write(unit=stdout,fmt=*) ''
35 
36 end subroutine da_print_be_stats_h_global
37 
38