13 | | 1. The quantity has to be given a unique string identifier, e.g.'' 'u*v*'.'' This identifier must be different from the identifiers used for the {{{PALM}}} standard output (see list in description of parameter [../../d3par#data_output_pr data_output_pr]). To switch on output of this quantity, the user has to assign the string identifier to the parameter [../../userpar#data_output_pr_user data_output_pr_user], eg.: |
14 | | {{{ |
15 | | data_output_pr_user = 'u*v*', |
16 | | }}} |
| 13 | 1. The quantity has to be given a unique string identifier, e.g.'' 'u*v*'.'' This identifier must be different from the identifiers used for the {{{PALM}}} standard output (see list in description of parameter [../../d3par#data_output_pr data_output_pr]). To switch on output of this quantity, the user has to assign the string identifier to the parameter [../../userpar#data_output_pr_user data_output_pr_user], eg.:\\\ |
| 14 | {{{data_output_pr_user = 'u*v*'}}}, \\\\ |
| 15 | |
18 | | {{{ |
19 | | CASE ( 'u*v*' ) |
20 | | index = pr_palm + 1 ! identification number |
21 | | dopr_index(var_count) = index |
22 | | dopr_unit(var_count) = 'm2/s2' ! physical unit |
23 | | hom(:,2,index,:) = SPREAD( zu, 2, statistic_regions+1 ) ! vertical grid |
24 | | }}} |
| 17 | {{{CASE ( 'u*v*' )}}} \\ |
| 18 | {{{index = pr_palm +}}} [[span(1 ,style=color: red)]] {{{! identification number}}} \\ |
| 19 | {{{dopr_index(var_count) = index}}} \\ |
| 20 | {{{dopr_unit(var_count) =}}} '[[span(m2s2,style=color: red)]]' {{{! physical unit}}} \\ |
| 21 | {{{hom(:,2,index,:) = SPREAD(}}} [[span(zu,style=color: red)]]{{{, 2, statistic_regions+1 ) ! vertical grid }}} |
29 | | 3. The quantity has to be calculated for all gridpoints (subroutine user_statistics): |
30 | | {{{ |
31 | | !$OMP DO |
32 | | DO i = nxl, nxr |
33 | | DO j = nys, nyn |
34 | | DO k = nzb_s_inner(j,i)+1, nzt |
35 | | sums_l(k,pr_palm+1,tn) = sums_l(k,pr_palm+1,tn) + & |
36 | | ( 0.5 * ( u(k,j,i) + u(k,j,i+1) ) - hom(k,1,1,sr) ) * & |
37 | | ( 0.5 * ( v(k,j,i) + v(k,j+1,i) ) - hom(k,1,2,sr) ) & |
38 | | * rmask(j,i,sr) |
39 | | ENDDO |
40 | | ENDDO |
41 | | ENDDO |
42 | | }}} |
| 26 | 3. The quantity has to be calculated for all gridpoints (subroutine user_statistics): \\\\ |
| 27 | {{{!$OMP DO}}} |
| 28 | {{{DO i = nxl, nxr}}} |
| 29 | {{{DO j = nys, nyn}}} |
| 30 | {{{DO k = nzb_s_inner(j,i)+1, nzt}}} |
| 31 | {{{sums_l(k,pr_palm+1,tn) = sums_l(k,pr_palm+1,tn) +}}} {{{ & }}} |
| 32 | [[span(({{{0.5*(u(k,j,i)+u(k,j,i+1))-hom(k,1,1,sr))*&}}},style=color: red)]] \\ |
| 33 | [[span(({{{0.5*(v(k,j,i)+v(k,j+1,i))-hom(k,1,2,sr)) &}}},style=color: red)]] \\ |
| 34 | {{{* rmask(j,i,sr)}}} |
| 35 | {{{ENDDO}}} \\ |
| 36 | {{{ENDDO}}} \\ |
| 37 | {{{ENDDO}}} \\\\ |
| 38 | |