241 | | {{{ IF ( initializing_actions == 'read_restart_data' ) THEN |
242 | | {{{ READ ( 13 ) field_char |
243 | | {{{ DO WHILE ( TRIM( field_char ) /= '*** end user ***' ) |
244 | | {{{ SELECT CASE ( TRIM( field_char ) ) |
245 | | {{{ CASE ( 'u2_av' ) |
246 | | {{{ IF ( .NOT. ALLOCATED( u2_av ) ) THEN |
247 | | {{{ ALLOCATE( u2_av(nzb:nzt+1,nys-1:nyn+1,nxl-1:nxr+1) ) |
248 | | {{{ ENDIF |
249 | | {{{ READ ( 13 ) tmp_3d |
250 | | {{{ u2_av(:,nysc-1:nync+1,nxlc-1:nxrc+1) = & |
251 | | {{{ tmp_3d(:,nysf-1:nynf+1,nxlf-1:nxrf+1) |
252 | | |
253 | | {{{ CASE DEFAULT |
254 | | {{{ PRINT*, '+++ user_init: unknown variable named "', & |
255 | | {{{ TRIM( field_char ), '" found in' |
256 | | {{{ PRINT*, ' data from prior run on PE ', myid |
257 | | {{{ CALL local_stop |
258 | | |
259 | | {{{ END SELECT |
260 | | |
261 | | {{{ READ ( 13 ) field_char |
262 | | |
263 | | {{{ ENDDO |
264 | | {{{ ENDIF |
| 241 | {{{ IF ( initializing_actions == 'read_restart_data' ) THEN }}}\\ |
| 242 | {{{ READ ( 13 ) field_char }}}\\ |
| 243 | {{{ DO WHILE ( TRIM( field_char ) /= '*** end user ***' ) }}}\\ |
| 244 | {{{ SELECT CASE ( TRIM( field_char ) ) }}}\\ |
| 245 | {{{ CASE ( 'u2_av' ) }}}\\ |
| 246 | {{{ IF ( .NOT. ALLOCATED( u2_av ) ) THEN }}}\\ |
| 247 | {{{ ALLOCATE( u2_av(nzb:nzt+1,nysd:nynd,nxld:nxrd) ) }}}\\ |
| 248 | {{{ ENDIF }}}\\ |
| 249 | {{{ READ ( 13 ) tmp_3d }}}\\ |
| 250 | {{{ u2_av(:,nysc-1:nync+1,nxlc-1:nxrc+1) = & }}}\\ |
| 251 | {{{ tmp_3d(:,nysf-1:nynf+1,nxlf-1:nxrf+1) }}}\\ |
| 252 | |
| 253 | {{{ CASE DEFAULT }}}\\ |
| 254 | {{{ PRINT*, '+++ user_init: unknown variable named "', & }}}\\ |
| 255 | {{{ TRIM( field_char ), '" found in' }}}\\ |
| 256 | {{{ PRINT*, ' data from prior run on PE ', myid }}}\\ |
| 257 | {{{ CALL local_stop }}}\\ |
| 258 | {{{ END SELECT }}}\\ |
| 259 | {{{ READ ( 13 ) field_char }}}\\ |
| 260 | {{{ ENDDO }}}\\ |
| 261 | {{{ ENDIF }}}\\ |
267 | | This example shows the output of the quantity "square of the u-component", u2. If more than one user-defined quantity shall be output, the following steps have to be carried out in the same way for each of the quantities. First, steps 1 - 6 of part 3. (2d cross section or 3d volume data) are required. Second, the gridpoint data of the quantity has to be resorted to array local_pf in subroutine user_data_output_dvrp as follows: |
268 | | |
269 | | CASE ( 'u2', 'u2_xy', 'u2_xz', 'u2_yz' ) |
270 | | DO i = nxl, nxr+1 |
271 | | DO j = nys, nyn+1 |
272 | | DO k = nzb, nz_do3d |
273 | | local_pf(i,j,k) = u2(k,j,i) |
274 | | ENDDO |
275 | | ENDDO |
276 | | ENDDO |
| 264 | This example shows the output of the quantity "square of the u-component", u^2^. If more than one user-defined quantity shall be output, the following steps have to be carried out in the same way for each of the quantities. First, steps 1 - 6 of part [#part_3. (2d cross section or 3d volume data)] are required. Second, the gridpoint data of the quantity has to be resorted to array {{{local_pf}}} in subroutine [../int#user_data_output_dvrp user_data_output_dvrp] as follows: |
| 265 | |
| 266 | {{{ CASE ( '}}}[[span(u2,style=color: red)]]', '[[span(u2,style=color: red)]]_xy', '[[span(u2,style=color: red)]]_xz', '[[span(u2,style=color: red)]]_yz' ) \\ |
| 267 | {{{ DO i = nxl, nxr+1 }}}\\ |
| 268 | {{{ DO j = nys, nyn+1 }}}\\ |
| 269 | {{{ DO k = nzb, nz_do3d }}}\\ |
| 270 | {{{ local_pf(i,j,k) =}}} [[span(u2,style=color: red)]]{{{(k,j,i) }}}\\ |
| 271 | {{{ ENDDO }}}\\ |
| 272 | {{{ ENDDO }}}\\ |
| 273 | {{{ ENDDO }}}\\ |