gtool5 Fortran 90/95 ライブラリ 1.0.0-rc5
English
Loading...
Searching...
No Matches
historyautoputaxismpi.f90
Go to the documentation of this file.
1!--
2! *** Caution!! ***
3!
4! This file is generated from "historyautoputaxismpi.rb2f90" by Ruby 3.3.8.
5! Please do not edit this file directly.
6!
7! [JAPANESE]
8!
9! ※※※ 注意!!! ※※※
10!
11! このファイルは "historyautoputaxismpi.rb2f90" から Ruby 3.3.8
12! によって自動生成されたファイルです.
13! このファイルを直接編集しませんようお願い致します.
14!
15!
16!++
17!> @file historyautoputaxismpi.f90
18!>
19!> @author Yasuhiro MORIKAWA
20!> @copyright Copyright (C) GFD Dennou Club, 2008-2026. All rights reserved. <br/>
21!> License is BSD-2-Clause. See [COPYRIGHT](@ref COPYRIGHT) in detail
22!>
23!> @en
24!> @brief Settings of data on whole area of axes (for MPI)
25!> @enden
26!>
27!> @ja
28!> @brief 領域全体の座標データの設定 (MPI 用)
29!> @endja
30
31 !> @en
32 !> @brief Set data of axes in whole area (for MPI).
33 !>
34 !> When MPI is used, if data on each node is integrated and
35 !> output to one file, give data of axes in whole area to
36 !> this subroutine.
37 !> And give .true. to optional logical argument *flag_mpi_gather*
38 !> in HistoryAutoCreate.
39 !>
40 !> @param[in] dim Name of dimensional variable.
41 !> This name must be specified by
42 !> an argument *dims* in HistoryAutoCreate.
43 !> @param[in] array Data of axes.
44 !> @enden
45 !>
46 !> @ja
47 !> @brief 領域全体の座標データの設定 (MPI 用).
48 !>
49 !> MPI 使用時に, 各々のノード上のデータを単一ファイルに
50 !> 集約して出力する場合には,
51 !> このサブルーチンに領域全体の座標データを与えてください.
52 !> また, HistoryAutoCreate のオプショナル論理型引数 *flag_mpi_gather*
53 !> に .true. を与えてください.
54 !>
55 !> @param[in] dim 座標変数の名称.
56 !> ここで指定するものは, HistoryAutoCreate の
57 !> 引数 *dims* で既に指定されていなければなりません.
58 !> @param[in] array 座標データ.
59 !> @endja
60 subroutine historyautoputaxismpireal( dim, array )
62 use gtool_history, only: historyaxisinquire
63 use dc_trace, only: beginsub, endsub
65 use dc_message, only: messagenotify
66 use dc_types, only: string
67 implicit none
68 character(*), intent(in):: dim
69
70 real, intent(in):: array(:)
71
72 integer:: i, dimsize
73 character(STRING):: name
74 integer:: stat
75 character(STRING):: cause_c
76 character(*), parameter:: subname = "HistoryAutoPutAxisMPIReal"
77 continue
78 call beginsub(subname, 'dim=%c', c1 = trim(dim) )
79 stat = dc_noerr
80 cause_c = ""
81
82 do i = 1, numdims
83 call historyaxisinquire( &
84 & axis = gthst_axes(i), & ! (in)
85 & name = name ) ! (out)
86 if ( trim(dim) == trim(name) ) then
87 dimsize = size( array )
88 allocate( data_axes_whole(i) % a_axis( dimsize ) )
89 data_axes_whole(i) % a_axis(:) = array(:)
90 goto 999
91 end if
92 end do
93
94 stat = hst_enoaxisname
95 cause_c = dim
96
97 ! 終了処理, 例外処理
98 ! Termination and Exception handling
99 !
100999 continue
101 call storeerror( stat, subname, cause_c = cause_c )
102 call endsub(subname)
103 end subroutine historyautoputaxismpireal
104
105
106
107 !> @en
108 !> @brief Set data of axes in whole area (for MPI).
109 !>
110 !> When MPI is used, if data on each node is integrated and
111 !> output to one file, give data of axes in whole area to
112 !> this subroutine.
113 !> And give .true. to optional logical argument *flag_mpi_gather*
114 !> in HistoryAutoCreate.
115 !>
116 !> @param[in] dim Name of dimensional variable.
117 !> This name must be specified by
118 !> an argument *dims* in HistoryAutoCreate.
119 !> @param[in] array Data of axes.
120 !> @enden
121 !>
122 !> @ja
123 !> @brief 領域全体の座標データの設定 (MPI 用).
124 !>
125 !> MPI 使用時に, 各々のノード上のデータを単一ファイルに
126 !> 集約して出力する場合には,
127 !> このサブルーチンに領域全体の座標データを与えてください.
128 !> また, HistoryAutoCreate のオプショナル論理型引数 *flag_mpi_gather*
129 !> に .true. を与えてください.
130 !>
131 !> @param[in] dim 座標変数の名称.
132 !> ここで指定するものは, HistoryAutoCreate の
133 !> 引数 *dims* で既に指定されていなければなりません.
134 !> @param[in] array 座標データ.
135 !> @endja
136 subroutine historyautoputaxismpidouble( dim, array )
138 use gtool_history, only: historyaxisinquire
139 use dc_trace, only: beginsub, endsub
141 use dc_message, only: messagenotify
142 use dc_types, only: string, dp
143 implicit none
144 character(*), intent(in):: dim
145 ! 座標変数の名称.
146 !
147 ! ここで指定するものは, HistoryAutoCreate の
148 ! 引数 *dims* で既に指定されてい
149 ! なければなりません.
150 !
151 ! Name of dimensional variable.
152 !
153 ! This name must be specified by
154 ! an argument *dims* in "HistoryAutoCreate".
155 !
156
157 real(DP), intent(in):: array(:)
158 ! 座標データ.
159 !
160 ! Data of axes.
161
162 integer:: i, dimsize
163 character(STRING):: name
164 integer:: stat
165 character(STRING):: cause_c
166 character(*), parameter:: subname = "HistoryAutoPutAxisMPIDouble"
167 continue
168 call beginsub(subname, 'dim=%c', c1 = trim(dim) )
169 stat = dc_noerr
170 cause_c = ""
171
172 do i = 1, numdims
173 call historyaxisinquire( &
174 & axis = gthst_axes(i), & ! (in)
175 & name = name ) ! (out)
176 if ( trim(dim) == trim(name) ) then
177 dimsize = size( array )
178 allocate( data_axes_whole(i) % a_axis( dimsize ) )
179 data_axes_whole(i) % a_axis(:) = array(:)
180 goto 999
181 end if
182 end do
183
184 stat = hst_enoaxisname
185 cause_c = dim
186
187 ! 終了処理, 例外処理
188 ! Termination and Exception handling
189 !
190999 continue
191 call storeerror( stat, subname, cause_c = cause_c )
192 call endsub(subname)
193 end subroutine historyautoputaxismpidouble
194
195
196
197 !> @en
198 !> @brief Set data of axes in whole area (for MPI).
199 !>
200 !> When MPI is used, if data on each node is integrated and
201 !> output to one file, give data of axes in whole area to
202 !> this subroutine.
203 !> And give .true. to optional logical argument *flag_mpi_gather*
204 !> in HistoryAutoCreate.
205 !>
206 !> @param[in] dim Name of dimensional variable.
207 !> This name must be specified by
208 !> an argument *dims* in HistoryAutoCreate.
209 !> @param[in] array Data of axes.
210 !> @enden
211 !>
212 !> @ja
213 !> @brief 領域全体の座標データの設定 (MPI 用).
214 !>
215 !> MPI 使用時に, 各々のノード上のデータを単一ファイルに
216 !> 集約して出力する場合には,
217 !> このサブルーチンに領域全体の座標データを与えてください.
218 !> また, HistoryAutoCreate のオプショナル論理型引数 *flag_mpi_gather*
219 !> に .true. を与えてください.
220 !>
221 !> @param[in] dim 座標変数の名称.
222 !> ここで指定するものは, HistoryAutoCreate の
223 !> 引数 *dims* で既に指定されていなければなりません.
224 !> @param[in] array 座標データ.
225 !> @endja
226 subroutine historyautoputaxismpiint( dim, array )
228 use gtool_history, only: historyaxisinquire
229 use dc_trace, only: beginsub, endsub
231 use dc_message, only: messagenotify
232 use dc_types, only: string
233 implicit none
234 character(*), intent(in):: dim
235
236 integer, intent(in):: array(:)
237
238 integer:: i, dimsize
239 character(STRING):: name
240 integer:: stat
241 character(STRING):: cause_c
242 character(*), parameter:: subname = "HistoryAutoPutAxisMPIInt"
243 continue
244 call beginsub(subname, 'dim=%c', c1 = trim(dim) )
245 stat = dc_noerr
246 cause_c = ""
247
248 do i = 1, numdims
249 call historyaxisinquire( &
250 & axis = gthst_axes(i), & ! (in)
251 & name = name ) ! (out)
252 if ( trim(dim) == trim(name) ) then
253 dimsize = size( array )
254 allocate( data_axes_whole(i) % a_axis( dimsize ) )
255 data_axes_whole(i) % a_axis(:) = array(:)
256 goto 999
257 end if
258 end do
259
260 stat = hst_enoaxisname
261 cause_c = dim
262
263 ! 終了処理, 例外処理
264 ! Termination and Exception handling
265 !
266999 continue
267 call storeerror( stat, subname, cause_c = cause_c )
268 call endsub(subname)
269 end subroutine historyautoputaxismpiint
270
271
272!--
273! vi:set readonly sw=4 ts=8:
274!
275!Local Variables:
276!mode: f90
277!buffer-read-only: t
278!End:
279!
280!++
subroutine historyautoputaxismpiint(dim, array)
subroutine historyautoputaxismpidouble(dim, array)
subroutine historyautoputaxismpireal(dim, array)
エラー処理用モジュール
Definition dc_error.f90:454
subroutine, public storeerror(number, where, err, cause_c, cause_i)
Definition dc_error.f90:891
integer, parameter, public hst_enoaxisname
Definition dc_error.f90:565
integer, parameter, public dc_noerr
エラー等を保持
Definition dc_error.f90:468
メッセージの出力
デバッグ時の追跡用モジュール
Definition dc_trace.f90:150
subroutine, public beginsub(name, fmt, i, r, d, l, n, c1, c2, c3, ca, version)
Definition dc_trace.f90:476
subroutine, public endsub(name, fmt, i, r, d, l, n, c1, c2, c3, ca)
Definition dc_trace.f90:599
種別型パラメタを提供します。
Definition dc_types.f90:55
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition dc_types.f90:137
integer, parameter, public dp
倍精度実数型変数
Definition dc_types.f90:92
type(gt_history_axis_data), dimension(1:nf90_max_dims), target, save, public data_axes_whole
type(gt_history_axis), dimension(1:nf90_max_dims), target, save, public gthst_axes