historyautoputaxismpi.f90
Go to the documentation of this file.
1 !--
2 ! *** Caution!! ***
3 !
4 ! This file is generated from "historyautoputaxismpi.rb2f90" by Ruby 2.3.3.
5 ! Please do not edit this file directly.
6 !
7 ! [JAPANESE]
8 !
9 ! ※※※ 注意!!! ※※※
10 !
11 ! このファイルは "historyautoputaxismpi.rb2f90" から Ruby 2.3.3
12 ! によって自動生成されたファイルです.
13 ! このファイルを直接編集しませんようお願い致します.
14 !
15 !
16 !++
17 !
18 != 領域全体の座標データの設定 (MPI 用)
19 != Settings of data on whole area of axes (for MPI)
20 !
21 ! Authors:: Yasuhiro MORIKAWA
22 ! Version:: $Id: historyautoputaxismpi.rb2f90,v 1.1 2009-05-10 12:19:17 morikawa Exp $
23 ! Tag Name:: $Name: $
24 ! Copyright:: Copyright (C) GFD Dennou Club, 2008-2009. All rights reserved.
25 ! License:: See COPYRIGHT[link:../../../COPYRIGHT]
26 !
27 
28  subroutine historyautoputaxismpireal( dim, array )
29  !
30  ! MPI 使用時に, 各々のノード上のデータを単一ファイルに
31  ! 集約して出力する場合には,
32  ! このサブルーチンに領域全体の座標データを与えてください.
33  ! また, HistoryAutoCreate のオプショナル論理型引数 *flag_mpi_gather*
34  ! に .true. を与えてください.
35  !
36  ! When MPI is used, if data on each node is integrated and
37  ! output to one file, give data of axes in whole area to
38  ! this subroutine.
39  ! And give .true. to optional logical argument *flag_mpi_gather*
40  ! in "HistoryAutoCreate".
41  !
43  use gtool_history, only: historyaxisinquire
44  use dc_trace, only: beginsub, endsub
46  use dc_error, only: storeerror, dc_noerr, dc_enotinit, &
48  use dc_message, only: messagenotify
49  use dc_types, only: dp, string, token
50  implicit none
51  character(*), intent(in):: dim
52 
53  real, intent(in):: array(:)
54 
55  integer:: i, dimsize
56  character(STRING):: name
57  integer:: stat
58  character(STRING):: cause_c
59  character(*), parameter:: subname = "HistoryAutoPutAxisMPIReal"
60  continue
61  call beginsub(subname, 'dim=%c', c1 = trim(dim) )
62  stat = dc_noerr
63  cause_c = ""
64 
65  do i = 1, numdims
66  call historyaxisinquire( &
67  & axis = gthst_axes(i), & ! (in)
68  & name = name ) ! (out)
69  if ( trim(dim) == trim(name) ) then
70  dimsize = size( array )
71  allocate( data_axes_whole(i) % a_axis( dimsize ) )
72  data_axes_whole(i) % a_axis(:) = array(:)
73  goto 999
74  end if
75  end do
76 
77  stat = hst_enoaxisname
78  cause_c = dim
79 
80  ! 終了処理, 例外処理
81  ! Termination and Exception handling
82  !
83 999 continue
84  call storeerror( stat, subname, cause_c = cause_c )
85  call endsub(subname)
86  end subroutine historyautoputaxismpireal
87 
88 
89 
90  subroutine historyautoputaxismpidouble( dim, array )
91  !
92  ! MPI 使用時に, 各々のノード上のデータを単一ファイルに
93  ! 集約して出力する場合には,
94  ! このサブルーチンに領域全体の座標データを与えてください.
95  ! また, HistoryAutoCreate のオプショナル論理型引数 *flag_mpi_gather*
96  ! に .true. を与えてください.
97  !
98  ! When MPI is used, if data on each node is integrated and
99  ! output to one file, give data of axes in whole area to
100  ! this subroutine.
101  ! And give .true. to optional logical argument *flag_mpi_gather*
102  ! in "HistoryAutoCreate".
103  !
105  use gtool_history, only: historyaxisinquire
106  use dc_trace, only: beginsub, endsub
108  use dc_error, only: storeerror, dc_noerr, dc_enotinit, &
110  use dc_message, only: messagenotify
111  use dc_types, only: dp, string, token
112  implicit none
113  character(*), intent(in):: dim
114  ! 座標変数の名称.
115  !
116  ! ここで指定するものは, HistoryAutoCreate の
117  ! 引数 *dims* で既に指定されてい
118  ! なければなりません.
119  !
120  ! Name of dimensional variable.
121  !
122  ! This name must be specified by
123  ! an argument *dims* in "HistoryAutoCreate".
124  !
125 
126  real(DP), intent(in):: array(:)
127  ! 座標データ.
128  !
129  ! Data of axes.
130 
131  integer:: i, dimsize
132  character(STRING):: name
133  integer:: stat
134  character(STRING):: cause_c
135  character(*), parameter:: subname = "HistoryAutoPutAxisMPIDouble"
136  continue
137  call beginsub(subname, 'dim=%c', c1 = trim(dim) )
138  stat = dc_noerr
139  cause_c = ""
140 
141  do i = 1, numdims
142  call historyaxisinquire( &
143  & axis = gthst_axes(i), & ! (in)
144  & name = name ) ! (out)
145  if ( trim(dim) == trim(name) ) then
146  dimsize = size( array )
147  allocate( data_axes_whole(i) % a_axis( dimsize ) )
148  data_axes_whole(i) % a_axis(:) = array(:)
149  goto 999
150  end if
151  end do
152 
153  stat = hst_enoaxisname
154  cause_c = dim
155 
156  ! 終了処理, 例外処理
157  ! Termination and Exception handling
158  !
159 999 continue
160  call storeerror( stat, subname, cause_c = cause_c )
161  call endsub(subname)
162  end subroutine historyautoputaxismpidouble
163 
164 
165 
166  subroutine historyautoputaxismpiint( dim, array )
167  !
168  ! MPI 使用時に, 各々のノード上のデータを単一ファイルに
169  ! 集約して出力する場合には,
170  ! このサブルーチンに領域全体の座標データを与えてください.
171  ! また, HistoryAutoCreate のオプショナル論理型引数 *flag_mpi_gather*
172  ! に .true. を与えてください.
173  !
174  ! When MPI is used, if data on each node is integrated and
175  ! output to one file, give data of axes in whole area to
176  ! this subroutine.
177  ! And give .true. to optional logical argument *flag_mpi_gather*
178  ! in "HistoryAutoCreate".
179  !
181  use gtool_history, only: historyaxisinquire
182  use dc_trace, only: beginsub, endsub
184  use dc_error, only: storeerror, dc_noerr, dc_enotinit, &
186  use dc_message, only: messagenotify
187  use dc_types, only: dp, string, token
188  implicit none
189  character(*), intent(in):: dim
190 
191  integer, intent(in):: array(:)
192 
193  integer:: i, dimsize
194  character(STRING):: name
195  integer:: stat
196  character(STRING):: cause_c
197  character(*), parameter:: subname = "HistoryAutoPutAxisMPIInt"
198  continue
199  call beginsub(subname, 'dim=%c', c1 = trim(dim) )
200  stat = dc_noerr
201  cause_c = ""
202 
203  do i = 1, numdims
204  call historyaxisinquire( &
205  & axis = gthst_axes(i), & ! (in)
206  & name = name ) ! (out)
207  if ( trim(dim) == trim(name) ) then
208  dimsize = size( array )
209  allocate( data_axes_whole(i) % a_axis( dimsize ) )
210  data_axes_whole(i) % a_axis(:) = array(:)
211  goto 999
212  end if
213  end do
214 
215  stat = hst_enoaxisname
216  cause_c = dim
217 
218  ! 終了処理, 例外処理
219  ! Termination and Exception handling
220  !
221 999 continue
222  call storeerror( stat, subname, cause_c = cause_c )
223  call endsub(subname)
224  end subroutine historyautoputaxismpiint
225 
226 
227 !--
228 ! vi:set readonly sw=4 ts=8:
229 !
230 !Local Variables:
231 !mode: f90
232 !buffer-read-only: t
233 !End:
234 !
235 !++
integer, parameter, public dc_enotinit
Definition: dc_error.f90:557
subroutine historyautoputaxismpiint(dim, array)
integer, parameter, public token
単語やキーワードを保持する文字型変数の種別型パラメタ
Definition: dc_types.f90:109
subroutine, public storeerror(number, where, err, cause_c, cause_i)
Definition: dc_error.f90:830
type(gt_history_axis_data), dimension(1:nf90_max_dims), target, save, public data_axes_whole
integer, parameter, public dc_noerr
Definition: dc_error.f90:509
type(gt_history_axis), dimension(1:nf90_max_dims), target, save, public gthst_axes
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
subroutine, public beginsub(name, fmt, i, r, d, L, n, c1, c2, c3, ca, version)
Definition: dc_trace.f90:351
subroutine historyautoputaxismpidouble(dim, array)
種別型パラメタを提供します。
Definition: dc_types.f90:49
integer, parameter, public hst_enoaxisname
Definition: dc_error.f90:589
subroutine historyautoputaxismpireal(dim, array)
integer, parameter, public gt_ebaddimname
Definition: dc_error.f90:532
subroutine, public endsub(name, fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:446
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118