source: palm/trunk/SOURCE/user_data_output_3d.f90 @ 1106

Last change on this file since 1106 was 1106, checked in by raasch, 9 years ago

New:
---

Porting of FFT-solver for serial runs to GPU using CUDA FFT,
preprocessor lines in transpose routines rearranged, so that routines can also
be used in serial (non-parallel) mode,
transpositions also carried out in serial mode, routines fftx, fftxp replaced
by calls of fft_x, fft_x replaced by fft_x_1d in the 1D-decomposition routines
(Makefile, Makefile_check, fft_xy, poisfft, poisfft_hybrid, transpose, new: cuda_fft_interfaces)

--stdin argument for mpiexec on lckyuh, -y and -Y settings output to header (mrun)

Changed:


Module array_kind renamed precision_kind
(check_open, data_output_3d, fft_xy, modules, user_data_output_3d)

some format changes for coupled atmosphere-ocean runs (header)
small changes in code formatting (microphysics, prognostic_equations)

Errors:


bugfix: default value (0) assigned to coupling_start_time (modules)
bugfix: initial time for preruns of coupled runs is output as -coupling_start_time (data_output_profiles)

  • Property svn:keywords set to Id
File size: 2.7 KB
RevLine 
[211]1 SUBROUTINE user_data_output_3d( av, variable, found, local_pf, nz_do )
2
[1036]3!--------------------------------------------------------------------------------!
4! This file is part of PALM.
5!
6! PALM is free software: you can redistribute it and/or modify it under the terms
7! of the GNU General Public License as published by the Free Software Foundation,
8! either version 3 of the License, or (at your option) any later version.
9!
10! PALM is distributed in the hope that it will be useful, but WITHOUT ANY
11! WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
12! A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
13!
14! You should have received a copy of the GNU General Public License along with
15! PALM. If not, see <http://www.gnu.org/licenses/>.
16!
17! Copyright 1997-2012  Leibniz University Hannover
18!--------------------------------------------------------------------------------!
19!
[484]20! Current revisions:
[1106]21! ------------------
22! array_kind renamed precision_kind
[211]23!
24! Former revisions:
25! -----------------
26! $Id: user_data_output_3d.f90 1106 2013-03-04 05:31:38Z raasch $
27!
[1037]28! 1036 2012-10-22 13:43:42Z raasch
29! code put under GPL (PALM 3.9)
30!
[668]31! 667 2010-12-23 12:06:00Z suehring/gryschka
32! nxl-1, nxr+1, nys-1, nyn+1 replaced by nxlg, nxrg, nysg, nyng
33!
[226]34! 211 2008-11-11 04:46:24Z raasch
35! Former file user_interface.f90 split into one file per subroutine
36!
[211]37! Description:
38! ------------
39! Resorts the user-defined output quantity with indices (k,j,i) to a
40! temporary array with indices (i,j,k).
41!------------------------------------------------------------------------------!
42
43    USE indices
[1106]44    USE precision_kind
[211]45    USE user
46
47    IMPLICIT NONE
48
49    CHARACTER (LEN=*) ::  variable
50
51    INTEGER ::  av, i, j, k, nz_do
52
53    LOGICAL ::  found
54
[667]55   REAL(spk), DIMENSION(nxlg:nxrg,nysg:nyng,nzb:nz_do) ::  local_pf
[211]56
57
58    found = .TRUE.
59
60    SELECT CASE ( TRIM( variable ) )
61
62!
63!--    Uncomment and extend the following lines, if necessary.
64!--    The arrays for storing the user defined quantities (here u2 and u2_av)
65!--    have to be declared and defined by the user!
66!--    Sample for user-defined output:
67!       CASE ( 'u2' )
68!          IF ( av == 0 )  THEN
[667]69!             DO  i = nxlg, nxrg
70!                DO  j = nysg, nyng
[211]71!                   DO  k = nzb, nz_do
72!                      local_pf(i,j,k) = u2(k,j,i)
73!                   ENDDO
74!                ENDDO
75!             ENDDO
76!          ELSE
[667]77!             DO  i = nxlg, nxrg
78!                DO  j = nysg, nyng
[211]79!                   DO  k = nzb, nz_do
80!                      local_pf(i,j,k) = u2_av(k,j,i)
81!                   ENDDO
82!                ENDDO
83!             ENDDO
84!          ENDIF
85!
86
87       CASE DEFAULT
88          found = .FALSE.
89
90    END SELECT
91
92
93 END SUBROUTINE user_data_output_3d
94
Note: See TracBrowser for help on using the repository browser.