source_read

震源ファイルを読み込みます。

 

 

function source_read( src_file, grid_i, grid_j, grid_k, region, pth, dth, rth,

   am0, timeshift, iswstf, funcparams, iswdc

) result(status)

 

パラメータ

character(len=*), intent(in) :: src_file

震源ファイルの名前を指定します。

integer, intent(out) :: grid_i(:), grid_j(:), grid_k(:)

震源座標のi,j,k成分配列が代入されます。

integer, intent(out) :: region(:)

震源の領域番号配列が代入されます。

real, intent(out) :: pth(:)

震源メカニズムのstrike成分配列が代入されます。角度は度単位です。

real, intent(out) :: dth(:)

震源メカニズムのdip成分配列が代入されます。角度は度単位です。

real, intent(out) :: rth(:)

震源メカニズムのrake成分配列が代入されます。角度は度単位です。

real, intent(out) :: am0(:)

震源のモーメント配列が代入されます。単位は[N*m]です。

real, intent(out) :: timeshift(:)

震源時間関数の時間シフト量配列が代入されます。単位は秒です。

integer, intent(out) :: iswstf(:)

震源時間関数番号配列が代入されます。

real, intent(out) :: funcparams(:,:)

震源時間関数のパラメータ配列が代入されます。

integer, intent(out) :: iswdc

震源のダブルカップル・シングルフォースのスイッチ配列が代入されます。1のときダブルカップル、0のときシングルフォースです。

 

戻り値

関数が成功すると0が返ります。関数が失敗すると、エラーが返ります。返されるエラー値は次の通りです。

 

説明

-1

ファイルオープンに失敗しました。

-2

HDF5データセットのオープンに失敗しました。

-4

FdmToolIDに不整合があります。

-5

HDF5データセットの読み込み処理でエラーが発生しました。

-7

配列の数がそろっていません。

-8

HDF5データタイプエラーが発生しました。

-15

メモリアロケーション処理でエラーが発生しました。

 

 

解説

震源ファイルから震源情報を読み込みます。引数として渡す1次元配列変数は、source_sizeを使用して震源の個数を取得しておき、震源の個数のサイズでアロケートしておく必要があります。また、funcparamsは<震源の個数>×<震源時間関数パラメータ個数>でアロケートしておく必要があります。

 

参照

source_size