source: palm/trunk/SOURCE/user_data_output_mask.f90 @ 3372

Last change on this file since 3372 was 2718, checked in by maronga, 7 years ago

deleting of deprecated files; headers updated where needed

  • Property svn:keywords set to Id
File size: 3.6 KB
RevLine 
[1682]1!> @file user_data_output_mask.f90
[2000]2!------------------------------------------------------------------------------!
[2696]3! This file is part of the PALM model system.
[1036]4!
[2000]5! PALM is free software: you can redistribute it and/or modify it under the
6! terms of the GNU General Public License as published by the Free Software
7! Foundation, either version 3 of the License, or (at your option) any later
8! version.
[1036]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!
[2718]17! Copyright 1997-2018 Leibniz Universitaet Hannover
[2000]18!------------------------------------------------------------------------------!
[1036]19!
[300]20! Current revisions:
21! ------------------
[1683]22!
[2001]23!
[1321]24! Former revisions:
25! -----------------
26! $Id: user_data_output_mask.f90 2718 2018-01-02 08:49:38Z raasch $
[2716]27! Corrected "Former revisions" section
28!
29! 2696 2017-12-14 17:12:51Z kanani
30! Change in file header (GPL part)
[1321]31!
[2716]32! 2101 2017-01-05 16:42:31Z suehring
33!
[2001]34! 2000 2016-08-20 18:09:15Z knoop
35! Forced header and separation lines into 80 columns
36!
[1683]37! 1682 2015-10-07 23:56:08Z knoop
38! Code annotations made doxygen readable
39!
[1321]40! 1320 2014-03-20 08:40:49Z raasch
[1320]41! kind-parameters added to all INTEGER and REAL declaration statements,
42! kinds are defined in new module kinds,
43! old module precision_kind is removed,
44! comment fields (!:) to be used for variable explanations added to
45! all variable declaration statements
[300]46!
[1037]47! 1036 2012-10-22 13:43:42Z raasch
48! code put under GPL (PALM 3.9)
49!
[300]50! Description:
51! ------------
[1682]52!> Resorts the user-defined output quantity with indices (k,j,i) to a
53!> temporary array with indices (i,j,k) for masked data output.
[300]54!------------------------------------------------------------------------------!
[1682]55 SUBROUTINE user_data_output_mask( av, variable, found, local_pf )
56 
[300]57
58    USE control_parameters
[1320]59       
[300]60    USE indices
[1320]61   
62    USE kinds
63   
[300]64    USE user
65
66    IMPLICIT NONE
67
[1682]68    CHARACTER (LEN=*) ::  variable   !<
[300]69
[1682]70    INTEGER(iwp) ::  av   !<
71    INTEGER(iwp) ::  i    !<
72    INTEGER(iwp) ::  j    !<
73    INTEGER(iwp) ::  k    !<
[300]74
[1682]75    LOGICAL ::  found     !<
[300]76
[1320]77    REAL(wp),                                                                  &
78       DIMENSION(mask_size_l(mid,1),mask_size_l(mid,2),mask_size_l(mid,3)) ::  &
[1682]79          local_pf   !<
[300]80
81
82    found = .TRUE.
83
84    SELECT CASE ( TRIM( variable ) )
85
86!--    Uncomment and extend the following lines, if necessary.
87!--    The arrays for storing the user defined quantities (here u2 and u2_av)
88!--    have to be declared and defined by the user!
89!--    Sample for user-defined output:
90!       CASE ( 'u2' )
91!          IF ( av == 0 )  THEN
92!            DO  i = 1, mask_size_l(mid,1)
93!               DO  j = 1, mask_size_l(mid,2)
94!                  DO  k = 1, mask_size_l(mid,3)
[1320]95!                      local_pf(i,j,k) = u2(mask_k(mid,k),                       &
[300]96!                                           mask_j(mid,j),mask_i(mid,i))
97!                   ENDDO
98!                ENDDO
99!             ENDDO
100!          ELSE
101!            DO  i = 1, mask_size_l(mid,1)
102!               DO  j = 1, mask_size_l(mid,2)
103!                  DO  k = 1, mask_size_l(mid,3)
[1320]104!                      local_pf(i,j,k) = u2_av(mask_k(mid,k),                    &
[300]105!                                              mask_j(mid,j),mask_i(mid,i))
106!                   ENDDO
107!                ENDDO
108!             ENDDO
109!          ENDIF
110
111       CASE DEFAULT
112          found = .FALSE.
113
114    END SELECT
115
116
117 END SUBROUTINE user_data_output_mask
Note: See TracBrowser for help on using the repository browser.