conductor_readを実行する際に確保しておく配列変数のサイズを読み込みます。
function conductor_size( cndct_file, src_file, stn_file, strct_file,
numof_absorp_r1x, numof_absorp_r1y,
numof_absorp_r2x, numof_absorp_r2y,
numof_dump2d_x, numof_dump2d_y, numof_dump2d_z
) result(status)
パラメータ
integer, intent(in) :: arg
波動場の3次元データのマージンの大きさを指定します。
character(len=*), intent(in) :: cndct_file
コンダクターファイルのファイル名を指定します。
character(len=*), intent(out) :: src_file
震源ファイルのファイル名が代入されます。
character(len=*), intent(out) :: stn_file
観測点ファイルのファイル名が代入されます。
character(len=*), intent(out) :: strct_file
構造ファイルのファイル名が代入されます。
integer, intent(out) :: numof_absorp_r1x
第1領域のX方向の吸収境界情報の配列長が代入されます。
integer, intent(out) :: numof_absorp_r1y
第1領域のY方向の吸収境界情報の配列長が代入されます。
integer, intent(out) :: numof_absorp_r2x
第2領域のY方向の吸収境界情報の配列長が代入されます。
integer, intent(out) :: numof_absorp_r2y
第2領域のY方向の吸収境界情報の配列長が代入されます。
integer, intent(out) :: numof_dump2d_x
X軸に垂直な2次元ダンプ情報の配列長が代入されます。
integer, intent(out) :: numof_dump2d_y
Y軸に垂直な2次元ダンプ情報の配列長が代入されます。
integer, intent(out) :: numof_dump2d_z
Z軸に垂直な2次元ダンプ情報の配列長が代入されます。
戻り値
関数が成功すると0が返ります。関数が失敗すると、エラーが返ります。返されるエラー値は次の通りです。
値 |
説明 |
-1 |
ファイルオープンに失敗しました。 |
-2 |
震源ファイル名の読み込みに失敗しました。 |
-3 |
観測点ファイル名の読み込みに失敗しました。 |
-4 |
構造ファイル名の読み込みに失敗しました。 |
-5 |
読み込みスキップ中にエラーが発生しました。 |
-6 |
X,Y方向の吸収境界情報の読み込み中にエラーが発生しました。 |
-7 |
Z方向の吸収境界情報の読み込み中にエラーが発生しました。 |
-8 |
吸収境界情報の数に不整合があります。 |
-9 |
読み込みスキップ中にエラーが発生しました。 |
-10 |
読み込みスキップ中にエラーが発生しました。 |
-11 |
2次元ダンプ情報の読み込み中にエラーが発生しました。 |
解説
*_readを実行する前に確保しておかなければならない、吸収境界情報の配列長と2次元ダンプ情報の配列長を、conductor.txtから読み込みます。また、source_size, station_size, struct_sizeを実行する際にそれぞれのファイル名が必要なため、これらも先にconductor.txtから読み込みます。
参照
conductor_read, source_size, station_size, struct_size