Public Instance methods
Subroutine : |
|
file : | character(*), intent(in)
: | 取得するデータが格納された netCDF ファイル名
|
|
varname : | character(*), intent(in)
: | 取得しようとするデータの変数名
ここで指定する変数名は、 file で指定されるファイル内に含
まれていなければなりません。
|
|
array : | real(DP), intent(out)
: | 取得するデータを格納する配列
型は単精度実数型か倍精度実数型 かのどちらかです。
取得するデータの空間次元の サイズと配列のサイズとが一
致している必要があります。 varname のデータ型と array
の型が異なる場合は、自動的 に array の型に変換されます。
|
|
range : | character(*), intent(in), optional
: | gtool4 のコンマ記法による データの切り出し指定
詳しくは gtool4 netCDF 規約 の「5.4
コンマ記法」を参照して ください。
数値のみが与えられる場合 (※ 引数の型は常に文字型です。 すなわち
"10.0" のような文字列が与えられた場合
を指します)、それは時刻の値 として受け取られます。
この場合、"^" を 先頭に付加することで、
時間のステップ数で指定する ことも可能です。 (例えば
"^10"ならば 10 ステップ目のデータを取得します)。
|
|
quiet : | logical, intent(in), optional
|
データ入力 (固定長配列用)
既存の gtool4 データ内の変数のデータを取得します.
ポインタの配列へデータを入力を行う場合は, HistoryGetPointer
を利用してください.
デフォルトでは, gtool4 データ内の変数データのうち,
最も新しい時刻のデータを入力します. その他の時刻データを
入力したい場合には, 下記の range オプションを利用してください.
range には gtool4 のコンマ記法 (gtool4 netCDF 規約 参照) を与えることで,
入力先のデータの一部を切り出して入力を行うことが可能です.
HistoryGet は複数のサブルーチンの総称名です. array には 0 ~
7 次元のデータを与えることが可能です. 下記のサブルーチンを参照ください.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
[Source]
subroutine HistoryGetDouble0(file, varname, array, range, quiet)
!
!
!== データ入力 (固定長配列用)
!
! 既存の gtool4 データ内の変数のデータを取得します.
!
! ポインタの配列へデータを入力を行う場合は,
! HistoryGetPointer を利用してください.
!
! デフォルトでは, gtool4 データ内の変数データのうち,
! 最も新しい時刻のデータを入力します. その他の時刻データを
! 入力したい場合には, 下記の *range* オプションを利用してください.
!
! *range* には gtool4 のコンマ記法
! ({gtool4 netCDF 規約}[link:../xref.htm#label-6] 参照)
! を与えることで,
! 入力先のデータの一部を切り出して入力を行うことが可能です.
!
! *HistoryGet* は複数のサブルーチンの総称名です. *array* には
! 0 ~ 7 次元のデータを与えることが可能です.
! 下記のサブルーチンを参照ください.
!
! デフォルトでは, データの入力時にどのファイルのどの変数が
! どの次元で切り出されて入力されたのかを表示します.
! メッセージ出力が不要な場合は *quiet* に .true. を与えてください.
!
!
use dc_string, only: toChar
use dc_present, only: present_select, present_and_not_empty
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file
! 取得するデータが格納された
! netCDF ファイル名
!
character(*), intent(in):: varname
! 取得しようとするデータの変数名
!
! ここで指定する変数名は、 *file*
! で指定されるファイル内に含
! まれていなければなりません。
!
character(*), intent(in), optional:: range
! gtool4 のコンマ記法による
! データの切り出し指定
!
! 詳しくは
! {gtool4 netCDF 規約}[link:../xref.htm#label-6]
! の「5.4 コンマ記法」を参照して
! ください。
!
! 数値のみが与えられる場合
! (※ 引数の型は常に文字型です。
! すなわち
! "<b><tt>10.0</tt></b>"
! のような文字列が与えられた場合
! を指します)、それは時刻の値
! として受け取られます。
! この場合、"<b><tt>^</tt></b>" を
! 先頭に付加することで、
! 時間のステップ数で指定する
! ことも可能です。 (例えば
! "<b><tt>^10</tt></b>"ならば
! 10 ステップ目のデータを取得します)。
!
logical, intent(in), optional:: quiet
real(DP), intent(out) :: array
! 取得するデータを格納する配列
!
! 型は単精度実数型か倍精度実数型
! かのどちらかです。
! 取得するデータの空間次元の
! サイズと配列のサイズとが一
! 致している必要があります。
! *varname* のデータ型と *array*
! の型が異なる場合は、自動的
! に *array* の型に変換されます。
!
real(DP) :: array_tmp(1)
character(*), parameter :: subname = "HistoryGetDouble0"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range)))
if (present_and_not_empty(range)) then
call HistoryGetDoubleEx(file=file, varname=varname, array=array_tmp, range=range, quiet=quiet)
else
call HistoryGetDoubleEx(file=file, varname=varname, array=array_tmp, quiet=quiet)
end if
array = array_tmp(1)
call EndSub(subname)
end subroutine HistoryGetDouble0
Subroutine : |
|
file : | character(*), intent(in)
: | 取得するデータが格納された netCDF ファイル名
|
|
varname : | character(*), intent(in)
: | 取得しようとするデータの変数名
ここで指定する変数名は、 file で指定されるファイル内に含
まれていなければなりません。
|
|
array : | real(DP), pointer
: | (out) 取得するデータを格納する ポインタの配列
必ず空状態で与えてください。 すなわち初期値 =>null() を 設定するか
nullify を用い ください。
型は単精度実数型か倍精度実数型 かのどちらかです。
取得するデータの空間次元の サイズに合わせ、配列のサイズは
自動的に設定されます。 varname のデータ型と array
の型が異なる場合は、自動的 に array の型に変換されます。
|
|
range : | character(*), intent(in), optional
: | gtool4 のコンマ記法による データの切り出し指定
詳しくは gtool4 netCDF 規約 の「5.4
コンマ記法」を参照して ください。
数値のみが与えられる場合 (※ 引数の型は常に文字型です。 すなわち
"10.0" のような文字列が与えられた場合
を指します)、それは時刻の値 として受け取られます。
この場合、"^" を 先頭に付加することで、
時間のステップ数で指定する ことも可能です。 (例えば
"^10"ならば
10 ステップ目のデータを取得します)。
|
|
quiet : | logical, intent(in), optional
|
データ入力 (ポインタ配列用)
既存の gtool4 データ内の変数のデータをポインタ配列へ取得します.
固定長の配列へデータを入力を行う場合は, HistoryGet を利用してください.
array は必ず空状態で与えてください. すなわち初期値 =>null()
を設定するか nullify を用いてください. 既に割り付けられている場合,
もしくは不定状態の場合には エラーを返します.
デフォルトでは, gtool4 データ内の変数データのうち,
最も新しい時刻のデータを入力します. その他の時刻データを
入力したい場合には, 下記の range オプションを利用してください.
range には gtool4 のコンマ記法 (gtool4 netCDF 規約 参照) を与えることで,
入力先のデータの一部を切り出して入力を行うことが可能です.
HistoryGetPointer は複数のサブルーチンの総称名です. array
には 0 ~ 7 次元のデータを与えることが可能です.
下記のサブルーチンを参照ください.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
[Source]
subroutine HistoryGetDouble0Pointer(file, varname, array, range, quiet)
!
!
!== データ入力 (ポインタ配列用)
!
! 既存の gtool4 データ内の変数のデータをポインタ配列へ取得します.
!
! 固定長の配列へデータを入力を行う場合は,
! HistoryGet を利用してください.
!
! *array* は必ず空状態で与えてください.
! すなわち初期値 =>null() を設定するか nullify を用いてください.
! 既に割り付けられている場合, もしくは不定状態の場合には
! エラーを返します.
!
! デフォルトでは, gtool4 データ内の変数データのうち,
! 最も新しい時刻のデータを入力します. その他の時刻データを
! 入力したい場合には, 下記の *range* オプションを利用してください.
!
! *range* には gtool4 のコンマ記法
! ({gtool4 netCDF 規約}[link:../xref.htm#label-6] 参照)
! を与えることで,
! 入力先のデータの一部を切り出して入力を行うことが可能です.
!
! *HistoryGetPointer* は複数のサブルーチンの総称名です. *array* には
! 0 ~ 7 次元のデータを与えることが可能です.
! 下記のサブルーチンを参照ください.
!
! デフォルトでは, データの入力時にどのファイルのどの変数が
! どの次元で切り出されて入力されたのかを表示します.
! メッセージ出力が不要な場合は *quiet* に .true. を与えてください.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar
use dc_present, only: present_select, present_and_true
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file
! 取得するデータが格納された
! netCDF ファイル名
!
character(*), intent(in):: varname
! 取得しようとするデータの変数名
!
! ここで指定する変数名は、 *file*
! で指定されるファイル内に含
! まれていなければなりません。
!
character(*), intent(in), optional:: range
! gtool4 のコンマ記法による
! データの切り出し指定
!
! 詳しくは
! {gtool4 netCDF 規約}[link:../xref.htm#label-6]
! の「5.4 コンマ記法」を参照して
! ください。
!
! 数値のみが与えられる場合
! (※ 引数の型は常に文字型です。
! すなわち
! "<b><tt>10.0</tt></b>"
! のような文字列が与えられた場合
! を指します)、それは時刻の値
! として受け取られます。
! この場合、"<b><tt>^</tt></b>" を
! 先頭に付加することで、
! 時間のステップ数で指定する
! ことも可能です。 (例えば
! "<b><tt>^10</tt></b>"ならば
! 10 ステップ目のデータを取得します)。
!
logical, intent(in), optional:: quiet
real(DP), pointer :: array
! (out)
! 取得するデータを格納する
! ポインタの配列
!
! 必ず空状態で与えてください。
! すなわち初期値 =>null() を
! 設定するか nullify を用い
! ください。
!
! 型は単精度実数型か倍精度実数型
! かのどちらかです。
! 取得するデータの空間次元の
! サイズに合わせ、配列のサイズは
! 自動的に設定されます。
! *varname* のデータ型と *array*
! の型が異なる場合は、自動的
! に *array* の型に変換されます。
!
real(DP), target :: array_tmp(1)
type(GT_VARIABLE) :: var
character(STRING) :: url, actual_url
integer:: domain ! 変数の入出力領域の大きさ
! (= 変数が依存する各次元サイズの積)
character(*), parameter :: subname = "HistoryGetDouble0Pointer"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range)))
! 必要な情報を gtool 変数化
call lookup_growable_url(file, varname, url, range)
allocate(array)
! いよいよデータ取得
call Open(var, url)
call Inquire(var=var, size=domain)
call Get(var, array_tmp, domain)
call Close(var)
array = array_tmp(1)
call actual_iorange_dump(url, actual_url)
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
end if
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | real(DP), pointer
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble0PointerTimeD(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use gt4_history, only: HistoryGetPointer
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in) :: file, varname
real(DP), intent(in) :: time
logical, intent(in), optional:: quiet
real(DP), pointer :: array ! (out)
character(*), parameter :: subname = "HistoryGetDouble0PointerTimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetPointer(file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | real(DP), pointer
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble0PointerTimeR(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use gt4_history, only: HistoryGetPointer
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in) :: file, varname
real, intent(in) :: time
logical, intent(in), optional:: quiet
real(DP), pointer :: array ! (out)
character(*), parameter :: subname = "HistoryGetDouble0PointerTimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetPointer(file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | real(DP), intent(out)
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble0TimeD(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use dc_string, only: toChar
use dc_types, only: DP
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real(DP), intent(in) :: time
logical, intent(in), optional:: quiet
real(DP), intent(out) :: array
real(DP) :: array_tmp(1)
character(*), parameter :: subname = "HistoryGetDouble0TimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetDoubleEx(file=file, varname=varname, array=array_tmp, range=toChar(time), quiet=quiet)
call EndSub(subname)
array = array_tmp(1)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | real(DP), intent(out)
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble0TimeR(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real, intent(in) :: time
logical, intent(in), optional:: quiet
real(DP), intent(out) :: array
real(DP) :: array_tmp(1)
character(*), parameter :: subname = "HistoryGetDouble0TimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetDoubleEx(file=file, varname=varname, array=array_tmp, range=toChar(time), quiet=quiet)
call EndSub(subname)
array = array_tmp(1)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
Double 型固定配列用 1 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetDouble1(file, varname, array, range, quiet)
!
! Double 型固定配列用 1 次元配列用データ入力サブルーチン
!
!
use dc_string, only: toChar
use dc_present,only: present_select, present_and_not_empty
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real(DP), intent(out) :: array(:)
character(*), parameter :: subname = "HistoryGetDouble1"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range)))
if (present_and_not_empty(range)) then
call HistoryGetDoubleEx(file=file, varname=varname, array=array, range=range, quiet=quiet)
else
call HistoryGetDoubleEx(file=file, varname=varname, array=array, quiet=quiet)
endif
call EndSub(subname)
end subroutine HistoryGetDouble1
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real(DP), pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
Double 型ポインタ配列用 1 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetDouble1Pointer(file, varname, array, range, quiet)
!
! Double 型ポインタ配列用 1 次元配列用データ入力サブルーチン
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar
use dc_present,only: present_select, present_and_true
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real(DP), pointer :: array(:) ! (out)
type(GT_VARIABLE) :: var
character(STRING) :: url, actual_url
character(*), parameter :: subname = "HistoryGetDouble1Pointer"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range)))
! 必要な情報を gtool 変数化
call lookup_growable_url(file, varname, url, range)
call DbgMessage('@ url =%c', c1=trim(url))
! いよいよデータ取得
call Open(var, url)
call Get(var, array)
call Close(var)
call actual_iorange_dump(url, actual_url)
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
end if
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real(DP), pointer
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble1PointerTimeD(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use gt4_history, only: HistoryGetPointer
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real(DP), intent(in) :: time
logical, intent(in), optional:: quiet
real(DP), pointer :: array(:) ! (out)
character(*), parameter :: subname = "HistoryGetDouble1PointerTimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetPointer( file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real(DP), pointer
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble1PointerTimeR(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use gt4_history, only: HistoryGetPointer
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real, intent(in) :: time
logical, intent(in), optional:: quiet
real(DP), pointer :: array(:) ! (out)
character(*), parameter :: subname = "HistoryGetDouble1PointerTimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetPointer( file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real(DP), intent(out)
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble1TimeD(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real(DP), intent(in) :: time
logical, intent(in), optional:: quiet
real(DP), intent(out) :: array(:)
character(*), parameter :: subname = "HistoryGetDouble1TimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetDoubleEx(file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real(DP), intent(out)
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble1TimeR(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real, intent(in) :: time
logical, intent(in), optional:: quiet
real(DP), intent(out) :: array(:)
character(*), parameter :: subname = "HistoryGetDouble1TimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetDoubleEx(file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
Double 型固定配列用 2 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetDouble2(file, varname, array, range, quiet)
!
! Double 型固定配列用 2 次元配列用データ入力サブルーチン
!
!
use dc_string, only: toChar
use dc_present,only: present_select, present_and_not_empty
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real(DP), intent(out) :: array(:,:)
character(*), parameter :: subname = "HistoryGetDouble2"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range)))
if (present_and_not_empty(range)) then
call HistoryGetDoubleEx(file=file, varname=varname, array=array, range=range, quiet=quiet)
else
call HistoryGetDoubleEx(file=file, varname=varname, array=array, quiet=quiet)
endif
call EndSub(subname)
end subroutine HistoryGetDouble2
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real(DP), pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
Double 型ポインタ配列用 2 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetDouble2Pointer(file, varname, array, range, quiet)
!
! Double 型ポインタ配列用 2 次元配列用データ入力サブルーチン
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar
use dc_present,only: present_select, present_and_true
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real(DP), pointer :: array(:,:) ! (out)
type(GT_VARIABLE) :: var
character(STRING) :: url, actual_url
character(*), parameter :: subname = "HistoryGetDouble2Pointer"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range)))
! 必要な情報を gtool 変数化
call lookup_growable_url(file, varname, url, range)
call DbgMessage('@ url =%c', c1=trim(url))
! いよいよデータ取得
call Open(var, url)
call Get(var, array)
call Close(var)
call actual_iorange_dump(url, actual_url)
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
end if
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real(DP), pointer
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble2PointerTimeD(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use gt4_history, only: HistoryGetPointer
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real(DP), intent(in) :: time
logical, intent(in), optional:: quiet
real(DP), pointer :: array(:,:) ! (out)
character(*), parameter :: subname = "HistoryGetDouble2PointerTimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetPointer( file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real(DP), pointer
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble2PointerTimeR(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use gt4_history, only: HistoryGetPointer
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real, intent(in) :: time
logical, intent(in), optional:: quiet
real(DP), pointer :: array(:,:) ! (out)
character(*), parameter :: subname = "HistoryGetDouble2PointerTimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetPointer( file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real(DP), intent(out)
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble2TimeD(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real(DP), intent(in) :: time
logical, intent(in), optional:: quiet
real(DP), intent(out) :: array(:,:)
character(*), parameter :: subname = "HistoryGetDouble2TimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetDoubleEx(file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real(DP), intent(out)
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble2TimeR(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real, intent(in) :: time
logical, intent(in), optional:: quiet
real(DP), intent(out) :: array(:,:)
character(*), parameter :: subname = "HistoryGetDouble2TimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetDoubleEx(file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
Double 型固定配列用 3 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetDouble3(file, varname, array, range, quiet)
!
! Double 型固定配列用 3 次元配列用データ入力サブルーチン
!
!
use dc_string, only: toChar
use dc_present,only: present_select, present_and_not_empty
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real(DP), intent(out) :: array(:,:,:)
character(*), parameter :: subname = "HistoryGetDouble3"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range)))
if (present_and_not_empty(range)) then
call HistoryGetDoubleEx(file=file, varname=varname, array=array, range=range, quiet=quiet)
else
call HistoryGetDoubleEx(file=file, varname=varname, array=array, quiet=quiet)
endif
call EndSub(subname)
end subroutine HistoryGetDouble3
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real(DP), pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
Double 型ポインタ配列用 3 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetDouble3Pointer(file, varname, array, range, quiet)
!
! Double 型ポインタ配列用 3 次元配列用データ入力サブルーチン
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar
use dc_present,only: present_select, present_and_true
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real(DP), pointer :: array(:,:,:) ! (out)
type(GT_VARIABLE) :: var
character(STRING) :: url, actual_url
character(*), parameter :: subname = "HistoryGetDouble3Pointer"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range)))
! 必要な情報を gtool 変数化
call lookup_growable_url(file, varname, url, range)
call DbgMessage('@ url =%c', c1=trim(url))
! いよいよデータ取得
call Open(var, url)
call Get(var, array)
call Close(var)
call actual_iorange_dump(url, actual_url)
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
end if
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real(DP), pointer
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble3PointerTimeD(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use gt4_history, only: HistoryGetPointer
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real(DP), intent(in) :: time
logical, intent(in), optional:: quiet
real(DP), pointer :: array(:,:,:) ! (out)
character(*), parameter :: subname = "HistoryGetDouble3PointerTimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetPointer( file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real(DP), pointer
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble3PointerTimeR(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use gt4_history, only: HistoryGetPointer
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real, intent(in) :: time
logical, intent(in), optional:: quiet
real(DP), pointer :: array(:,:,:) ! (out)
character(*), parameter :: subname = "HistoryGetDouble3PointerTimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetPointer( file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real(DP), intent(out)
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble3TimeD(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real(DP), intent(in) :: time
logical, intent(in), optional:: quiet
real(DP), intent(out) :: array(:,:,:)
character(*), parameter :: subname = "HistoryGetDouble3TimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetDoubleEx(file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real(DP), intent(out)
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble3TimeR(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real, intent(in) :: time
logical, intent(in), optional:: quiet
real(DP), intent(out) :: array(:,:,:)
character(*), parameter :: subname = "HistoryGetDouble3TimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetDoubleEx(file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
Double 型固定配列用 4 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetDouble4(file, varname, array, range, quiet)
!
! Double 型固定配列用 4 次元配列用データ入力サブルーチン
!
!
use dc_string, only: toChar
use dc_present,only: present_select, present_and_not_empty
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real(DP), intent(out) :: array(:,:,:,:)
character(*), parameter :: subname = "HistoryGetDouble4"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range)))
if (present_and_not_empty(range)) then
call HistoryGetDoubleEx(file=file, varname=varname, array=array, range=range, quiet=quiet)
else
call HistoryGetDoubleEx(file=file, varname=varname, array=array, quiet=quiet)
endif
call EndSub(subname)
end subroutine HistoryGetDouble4
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real(DP), pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
Double 型ポインタ配列用 4 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetDouble4Pointer(file, varname, array, range, quiet)
!
! Double 型ポインタ配列用 4 次元配列用データ入力サブルーチン
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar
use dc_present,only: present_select, present_and_true
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real(DP), pointer :: array(:,:,:,:) ! (out)
type(GT_VARIABLE) :: var
character(STRING) :: url, actual_url
character(*), parameter :: subname = "HistoryGetDouble4Pointer"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range)))
! 必要な情報を gtool 変数化
call lookup_growable_url(file, varname, url, range)
call DbgMessage('@ url =%c', c1=trim(url))
! いよいよデータ取得
call Open(var, url)
call Get(var, array)
call Close(var)
call actual_iorange_dump(url, actual_url)
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
end if
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real(DP), pointer
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble4PointerTimeD(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use gt4_history, only: HistoryGetPointer
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real(DP), intent(in) :: time
logical, intent(in), optional:: quiet
real(DP), pointer :: array(:,:,:,:) ! (out)
character(*), parameter :: subname = "HistoryGetDouble4PointerTimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetPointer( file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real(DP), pointer
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble4PointerTimeR(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use gt4_history, only: HistoryGetPointer
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real, intent(in) :: time
logical, intent(in), optional:: quiet
real(DP), pointer :: array(:,:,:,:) ! (out)
character(*), parameter :: subname = "HistoryGetDouble4PointerTimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetPointer( file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real(DP), intent(out)
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble4TimeD(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real(DP), intent(in) :: time
logical, intent(in), optional:: quiet
real(DP), intent(out) :: array(:,:,:,:)
character(*), parameter :: subname = "HistoryGetDouble4TimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetDoubleEx(file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real(DP), intent(out)
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble4TimeR(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real, intent(in) :: time
logical, intent(in), optional:: quiet
real(DP), intent(out) :: array(:,:,:,:)
character(*), parameter :: subname = "HistoryGetDouble4TimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetDoubleEx(file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
Double 型固定配列用 5 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetDouble5(file, varname, array, range, quiet)
!
! Double 型固定配列用 5 次元配列用データ入力サブルーチン
!
!
use dc_string, only: toChar
use dc_present,only: present_select, present_and_not_empty
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real(DP), intent(out) :: array(:,:,:,:,:)
character(*), parameter :: subname = "HistoryGetDouble5"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range)))
if (present_and_not_empty(range)) then
call HistoryGetDoubleEx(file=file, varname=varname, array=array, range=range, quiet=quiet)
else
call HistoryGetDoubleEx(file=file, varname=varname, array=array, quiet=quiet)
endif
call EndSub(subname)
end subroutine HistoryGetDouble5
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real(DP), pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
Double 型ポインタ配列用 5 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetDouble5Pointer(file, varname, array, range, quiet)
!
! Double 型ポインタ配列用 5 次元配列用データ入力サブルーチン
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar
use dc_present,only: present_select, present_and_true
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real(DP), pointer :: array(:,:,:,:,:) ! (out)
type(GT_VARIABLE) :: var
character(STRING) :: url, actual_url
character(*), parameter :: subname = "HistoryGetDouble5Pointer"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range)))
! 必要な情報を gtool 変数化
call lookup_growable_url(file, varname, url, range)
call DbgMessage('@ url =%c', c1=trim(url))
! いよいよデータ取得
call Open(var, url)
call Get(var, array)
call Close(var)
call actual_iorange_dump(url, actual_url)
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
end if
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real(DP), pointer
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble5PointerTimeD(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use gt4_history, only: HistoryGetPointer
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real(DP), intent(in) :: time
logical, intent(in), optional:: quiet
real(DP), pointer :: array(:,:,:,:,:) ! (out)
character(*), parameter :: subname = "HistoryGetDouble5PointerTimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetPointer( file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real(DP), pointer
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble5PointerTimeR(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use gt4_history, only: HistoryGetPointer
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real, intent(in) :: time
logical, intent(in), optional:: quiet
real(DP), pointer :: array(:,:,:,:,:) ! (out)
character(*), parameter :: subname = "HistoryGetDouble5PointerTimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetPointer( file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real(DP), intent(out)
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble5TimeD(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real(DP), intent(in) :: time
logical, intent(in), optional:: quiet
real(DP), intent(out) :: array(:,:,:,:,:)
character(*), parameter :: subname = "HistoryGetDouble5TimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetDoubleEx(file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real(DP), intent(out)
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble5TimeR(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real, intent(in) :: time
logical, intent(in), optional:: quiet
real(DP), intent(out) :: array(:,:,:,:,:)
character(*), parameter :: subname = "HistoryGetDouble5TimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetDoubleEx(file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
Double 型固定配列用 6 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetDouble6(file, varname, array, range, quiet)
!
! Double 型固定配列用 6 次元配列用データ入力サブルーチン
!
!
use dc_string, only: toChar
use dc_present,only: present_select, present_and_not_empty
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real(DP), intent(out) :: array(:,:,:,:,:,:)
character(*), parameter :: subname = "HistoryGetDouble6"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range)))
if (present_and_not_empty(range)) then
call HistoryGetDoubleEx(file=file, varname=varname, array=array, range=range, quiet=quiet)
else
call HistoryGetDoubleEx(file=file, varname=varname, array=array, quiet=quiet)
endif
call EndSub(subname)
end subroutine HistoryGetDouble6
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real(DP), pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
Double 型ポインタ配列用 6 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetDouble6Pointer(file, varname, array, range, quiet)
!
! Double 型ポインタ配列用 6 次元配列用データ入力サブルーチン
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar
use dc_present,only: present_select, present_and_true
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real(DP), pointer :: array(:,:,:,:,:,:) ! (out)
type(GT_VARIABLE) :: var
character(STRING) :: url, actual_url
character(*), parameter :: subname = "HistoryGetDouble6Pointer"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range)))
! 必要な情報を gtool 変数化
call lookup_growable_url(file, varname, url, range)
call DbgMessage('@ url =%c', c1=trim(url))
! いよいよデータ取得
call Open(var, url)
call Get(var, array)
call Close(var)
call actual_iorange_dump(url, actual_url)
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
end if
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real(DP), pointer
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble6PointerTimeD(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use gt4_history, only: HistoryGetPointer
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real(DP), intent(in) :: time
logical, intent(in), optional:: quiet
real(DP), pointer :: array(:,:,:,:,:,:) ! (out)
character(*), parameter :: subname = "HistoryGetDouble6PointerTimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetPointer( file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real(DP), pointer
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble6PointerTimeR(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use gt4_history, only: HistoryGetPointer
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real, intent(in) :: time
logical, intent(in), optional:: quiet
real(DP), pointer :: array(:,:,:,:,:,:) ! (out)
character(*), parameter :: subname = "HistoryGetDouble6PointerTimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetPointer( file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real(DP), intent(out)
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble6TimeD(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real(DP), intent(in) :: time
logical, intent(in), optional:: quiet
real(DP), intent(out) :: array(:,:,:,:,:,:)
character(*), parameter :: subname = "HistoryGetDouble6TimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetDoubleEx(file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real(DP), intent(out)
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble6TimeR(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real, intent(in) :: time
logical, intent(in), optional:: quiet
real(DP), intent(out) :: array(:,:,:,:,:,:)
character(*), parameter :: subname = "HistoryGetDouble6TimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetDoubleEx(file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
Double 型固定配列用 7 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetDouble7(file, varname, array, range, quiet)
!
! Double 型固定配列用 7 次元配列用データ入力サブルーチン
!
!
use dc_string, only: toChar
use dc_present,only: present_select, present_and_not_empty
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real(DP), intent(out) :: array(:,:,:,:,:,:,:)
character(*), parameter :: subname = "HistoryGetDouble7"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range)))
if (present_and_not_empty(range)) then
call HistoryGetDoubleEx(file=file, varname=varname, array=array, range=range, quiet=quiet)
else
call HistoryGetDoubleEx(file=file, varname=varname, array=array, quiet=quiet)
endif
call EndSub(subname)
end subroutine HistoryGetDouble7
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real(DP), pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
Double 型ポインタ配列用 7 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetDouble7Pointer(file, varname, array, range, quiet)
!
! Double 型ポインタ配列用 7 次元配列用データ入力サブルーチン
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar
use dc_present,only: present_select, present_and_true
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real(DP), pointer :: array(:,:,:,:,:,:,:) ! (out)
type(GT_VARIABLE) :: var
character(STRING) :: url, actual_url
character(*), parameter :: subname = "HistoryGetDouble7Pointer"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range)))
! 必要な情報を gtool 変数化
call lookup_growable_url(file, varname, url, range)
call DbgMessage('@ url =%c', c1=trim(url))
! いよいよデータ取得
call Open(var, url)
call Get(var, array)
call Close(var)
call actual_iorange_dump(url, actual_url)
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
end if
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real(DP), pointer
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble7PointerTimeD(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use gt4_history, only: HistoryGetPointer
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real(DP), intent(in) :: time
logical, intent(in), optional:: quiet
real(DP), pointer :: array(:,:,:,:,:,:,:) ! (out)
character(*), parameter :: subname = "HistoryGetDouble7PointerTimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetPointer( file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real(DP), pointer
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble7PointerTimeR(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use gt4_history, only: HistoryGetPointer
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real, intent(in) :: time
logical, intent(in), optional:: quiet
real(DP), pointer :: array(:,:,:,:,:,:,:) ! (out)
character(*), parameter :: subname = "HistoryGetDouble7PointerTimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetPointer( file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real(DP), intent(out)
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble7TimeD(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real(DP), intent(in) :: time
logical, intent(in), optional:: quiet
real(DP), intent(out) :: array(:,:,:,:,:,:,:)
character(*), parameter :: subname = "HistoryGetDouble7TimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetDoubleEx(file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real(DP), intent(out)
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble7TimeR(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real, intent(in) :: time
logical, intent(in), optional:: quiet
real(DP), intent(out) :: array(:,:,:,:,:,:,:)
character(*), parameter :: subname = "HistoryGetDouble7TimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetDoubleEx(file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
[Source]
subroutine HistoryGetDoubleEx(file, varname, array, range, quiet)
!
! 入力用内部サブルーチン (Double の固定長配列用).
! *file* にファイル名を, *varname* に変数名を与えます.
! 外部には提供されず, その他の外部に提供される入力用
! サブルーチンが内部的に呼び出すことを想定しています.
! *array* にはファイルから入力されたデータが返ります.
!
! *range* には gtool4 のコンマ記法を与えることで,
! 入力先のデータの一部を切り出して入力を行うことが
! 可能です. なお, range に数値のみが代入される場合,
! それは時刻の次元 (正確には netCDF の無制限次元) の値として
! 受け取られます.
!
! デフォルトでは, データの入力時にどのファイルのどの変数が
! どの次元で切り出されて入力されたのかを表示します.
! メッセージ出力が不要な場合は *quiet* に .true. を与えてください.
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar, Split, JoinChar, StoA
use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
use dc_present, only: present_select, present_and_not_empty, present_and_true
use regex, only: match
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file ! ファイル名
character(*), intent(in):: varname ! 変数名
character(*), intent(in), optional:: range
! スライス用オプション.
! gtool4 変数のコンマ記法で記述
! {(例: time=100.0,x=10:20,y=30.5)}
logical, intent(in), optional:: quiet
real(DP), intent(out):: array(*) ! データ
type(GT_VARIABLE) :: var
character(STRING) :: url, actual_url
integer:: domain ! 変数の入出力領域の大きさ
! (= 変数が依存する各次元サイズの積)
character(*), parameter :: subname = "HistoryGetDoubleEx"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range)))
call lookup_growable_url(file, varname, url, range)
! いよいよデータ取得
call Open(var, url)
call Inquire(var=var, size=domain)
call Get(var, array, domain)
call Close(var)
call actual_iorange_dump(url, actual_url)
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
end if
call EndSub(subname)
end subroutine HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetDoubleEx
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | real, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
[Source]
subroutine HistoryGetReal0(file, varname, array, range, quiet)
!
!
use dc_string, only: toChar
use dc_present, only: present_select, present_and_not_empty
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real, intent(out) :: array
real :: array_tmp(1)
character(*), parameter :: subname = "HistoryGetReal0"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range)))
if (present_and_not_empty(range)) then
call HistoryGetRealEx(file=file, varname=varname, array=array_tmp, range=range, quiet=quiet)
else
call HistoryGetRealEx(file=file, varname=varname, array=array_tmp, quiet=quiet)
end if
array = array_tmp(1)
call EndSub(subname)
end subroutine HistoryGetReal0
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | real, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
[Source]
subroutine HistoryGetReal0Pointer(file, varname, array, range, quiet)
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar
use dc_present, only: present_select, present_and_true
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real, pointer :: array
real, target :: array_tmp(1)
type(GT_VARIABLE) :: var
character(STRING) :: url, actual_url
integer:: domain ! 変数の入出力領域の大きさ
! (= 変数が依存する各次元サイズの積)
character(*), parameter :: subname = "HistoryGetReal0Pointer"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range)))
! 必要な情報を gtool 変数化
call lookup_growable_url(file, varname, url, range)
allocate(array)
! いよいよデータ取得
call Open(var, url)
call Inquire(var=var, size=domain)
call Get(var, array_tmp, domain)
call Close(var)
array = array_tmp(1)
call actual_iorange_dump(url, actual_url)
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
end if
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | real, pointer
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal0PointerTimeD(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use gt4_history, only: HistoryGetPointer
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in) :: file, varname
real(DP), intent(in) :: time
logical, intent(in), optional:: quiet
real, pointer :: array ! (out)
character(*), parameter :: subname = "HistoryGetReal0PointerTimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetPointer(file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | real, pointer
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal0PointerTimeR(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use gt4_history, only: HistoryGetPointer
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in) :: file, varname
real, intent(in) :: time
logical, intent(in), optional:: quiet
real, pointer :: array ! (out)
character(*), parameter :: subname = "HistoryGetReal0PointerTimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetPointer(file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | real, intent(out)
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal0TimeD(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use dc_string, only: toChar
use dc_types, only: DP
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real(DP), intent(in) :: time
logical, intent(in), optional:: quiet
real, intent(out) :: array
real :: array_tmp(1)
character(*), parameter :: subname = "HistoryGetReal0TimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetRealEx(file=file, varname=varname, array=array_tmp, range=toChar(time), quiet=quiet)
call EndSub(subname)
array = array_tmp(1)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | real, intent(out)
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal0TimeR(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real, intent(in) :: time
logical, intent(in), optional:: quiet
real, intent(out) :: array
real :: array_tmp(1)
character(*), parameter :: subname = "HistoryGetReal0TimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetRealEx(file=file, varname=varname, array=array_tmp, range=toChar(time), quiet=quiet)
call EndSub(subname)
array = array_tmp(1)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
Real 型固定配列用 1 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetReal1(file, varname, array, range, quiet)
!
! Real 型固定配列用 1 次元配列用データ入力サブルーチン
!
!
use dc_string, only: toChar
use dc_present,only: present_select, present_and_not_empty
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real, intent(out) :: array(:)
character(*), parameter :: subname = "HistoryGetReal1"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range)))
if (present_and_not_empty(range)) then
call HistoryGetRealEx(file=file, varname=varname, array=array, range=range, quiet=quiet)
else
call HistoryGetRealEx(file=file, varname=varname, array=array, quiet=quiet)
endif
call EndSub(subname)
end subroutine HistoryGetReal1
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
Real 型ポインタ配列用 1 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetReal1Pointer(file, varname, array, range, quiet)
!
! Real 型ポインタ配列用 1 次元配列用データ入力サブルーチン
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar
use dc_present,only: present_select, present_and_true
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real, pointer :: array(:) ! (out)
type(GT_VARIABLE) :: var
character(STRING) :: url, actual_url
character(*), parameter :: subname = "HistoryGetReal1Pointer"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range)))
! 必要な情報を gtool 変数化
call lookup_growable_url(file, varname, url, range)
call DbgMessage('@ url =%c', c1=trim(url))
! いよいよデータ取得
call Open(var, url)
call Get(var, array)
call Close(var)
call actual_iorange_dump(url, actual_url)
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
end if
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real, pointer
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal1PointerTimeD(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use gt4_history, only: HistoryGetPointer
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real(DP), intent(in) :: time
logical, intent(in), optional:: quiet
real, pointer :: array(:) ! (out)
character(*), parameter :: subname = "HistoryGetReal1PointerTimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetPointer( file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real, pointer
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal1PointerTimeR(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use gt4_history, only: HistoryGetPointer
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real, intent(in) :: time
logical, intent(in), optional:: quiet
real, pointer :: array(:) ! (out)
character(*), parameter :: subname = "HistoryGetReal1PointerTimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetPointer( file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real, intent(out)
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal1TimeD(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real(DP), intent(in) :: time
logical, intent(in), optional:: quiet
real, intent(out) :: array(:)
character(*), parameter :: subname = "HistoryGetReal1TimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetRealEx(file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real, intent(out)
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal1TimeR(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real, intent(in) :: time
logical, intent(in), optional:: quiet
real, intent(out) :: array(:)
character(*), parameter :: subname = "HistoryGetReal1TimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetRealEx(file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
Real 型固定配列用 2 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetReal2(file, varname, array, range, quiet)
!
! Real 型固定配列用 2 次元配列用データ入力サブルーチン
!
!
use dc_string, only: toChar
use dc_present,only: present_select, present_and_not_empty
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real, intent(out) :: array(:,:)
character(*), parameter :: subname = "HistoryGetReal2"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range)))
if (present_and_not_empty(range)) then
call HistoryGetRealEx(file=file, varname=varname, array=array, range=range, quiet=quiet)
else
call HistoryGetRealEx(file=file, varname=varname, array=array, quiet=quiet)
endif
call EndSub(subname)
end subroutine HistoryGetReal2
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
Real 型ポインタ配列用 2 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetReal2Pointer(file, varname, array, range, quiet)
!
! Real 型ポインタ配列用 2 次元配列用データ入力サブルーチン
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar
use dc_present,only: present_select, present_and_true
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real, pointer :: array(:,:) ! (out)
type(GT_VARIABLE) :: var
character(STRING) :: url, actual_url
character(*), parameter :: subname = "HistoryGetReal2Pointer"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range)))
! 必要な情報を gtool 変数化
call lookup_growable_url(file, varname, url, range)
call DbgMessage('@ url =%c', c1=trim(url))
! いよいよデータ取得
call Open(var, url)
call Get(var, array)
call Close(var)
call actual_iorange_dump(url, actual_url)
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
end if
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real, pointer
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal2PointerTimeD(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use gt4_history, only: HistoryGetPointer
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real(DP), intent(in) :: time
logical, intent(in), optional:: quiet
real, pointer :: array(:,:) ! (out)
character(*), parameter :: subname = "HistoryGetReal2PointerTimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetPointer( file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real, pointer
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal2PointerTimeR(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use gt4_history, only: HistoryGetPointer
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real, intent(in) :: time
logical, intent(in), optional:: quiet
real, pointer :: array(:,:) ! (out)
character(*), parameter :: subname = "HistoryGetReal2PointerTimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetPointer( file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real, intent(out)
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal2TimeD(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real(DP), intent(in) :: time
logical, intent(in), optional:: quiet
real, intent(out) :: array(:,:)
character(*), parameter :: subname = "HistoryGetReal2TimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetRealEx(file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real, intent(out)
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal2TimeR(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real, intent(in) :: time
logical, intent(in), optional:: quiet
real, intent(out) :: array(:,:)
character(*), parameter :: subname = "HistoryGetReal2TimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetRealEx(file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
Real 型固定配列用 3 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetReal3(file, varname, array, range, quiet)
!
! Real 型固定配列用 3 次元配列用データ入力サブルーチン
!
!
use dc_string, only: toChar
use dc_present,only: present_select, present_and_not_empty
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real, intent(out) :: array(:,:,:)
character(*), parameter :: subname = "HistoryGetReal3"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range)))
if (present_and_not_empty(range)) then
call HistoryGetRealEx(file=file, varname=varname, array=array, range=range, quiet=quiet)
else
call HistoryGetRealEx(file=file, varname=varname, array=array, quiet=quiet)
endif
call EndSub(subname)
end subroutine HistoryGetReal3
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
Real 型ポインタ配列用 3 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetReal3Pointer(file, varname, array, range, quiet)
!
! Real 型ポインタ配列用 3 次元配列用データ入力サブルーチン
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar
use dc_present,only: present_select, present_and_true
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real, pointer :: array(:,:,:) ! (out)
type(GT_VARIABLE) :: var
character(STRING) :: url, actual_url
character(*), parameter :: subname = "HistoryGetReal3Pointer"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range)))
! 必要な情報を gtool 変数化
call lookup_growable_url(file, varname, url, range)
call DbgMessage('@ url =%c', c1=trim(url))
! いよいよデータ取得
call Open(var, url)
call Get(var, array)
call Close(var)
call actual_iorange_dump(url, actual_url)
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
end if
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real, pointer
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal3PointerTimeD(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use gt4_history, only: HistoryGetPointer
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real(DP), intent(in) :: time
logical, intent(in), optional:: quiet
real, pointer :: array(:,:,:) ! (out)
character(*), parameter :: subname = "HistoryGetReal3PointerTimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetPointer( file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real, pointer
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal3PointerTimeR(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use gt4_history, only: HistoryGetPointer
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real, intent(in) :: time
logical, intent(in), optional:: quiet
real, pointer :: array(:,:,:) ! (out)
character(*), parameter :: subname = "HistoryGetReal3PointerTimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetPointer( file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real, intent(out)
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal3TimeD(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real(DP), intent(in) :: time
logical, intent(in), optional:: quiet
real, intent(out) :: array(:,:,:)
character(*), parameter :: subname = "HistoryGetReal3TimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetRealEx(file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real, intent(out)
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal3TimeR(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real, intent(in) :: time
logical, intent(in), optional:: quiet
real, intent(out) :: array(:,:,:)
character(*), parameter :: subname = "HistoryGetReal3TimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetRealEx(file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
Real 型固定配列用 4 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetReal4(file, varname, array, range, quiet)
!
! Real 型固定配列用 4 次元配列用データ入力サブルーチン
!
!
use dc_string, only: toChar
use dc_present,only: present_select, present_and_not_empty
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real, intent(out) :: array(:,:,:,:)
character(*), parameter :: subname = "HistoryGetReal4"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range)))
if (present_and_not_empty(range)) then
call HistoryGetRealEx(file=file, varname=varname, array=array, range=range, quiet=quiet)
else
call HistoryGetRealEx(file=file, varname=varname, array=array, quiet=quiet)
endif
call EndSub(subname)
end subroutine HistoryGetReal4
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
Real 型ポインタ配列用 4 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetReal4Pointer(file, varname, array, range, quiet)
!
! Real 型ポインタ配列用 4 次元配列用データ入力サブルーチン
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar
use dc_present,only: present_select, present_and_true
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real, pointer :: array(:,:,:,:) ! (out)
type(GT_VARIABLE) :: var
character(STRING) :: url, actual_url
character(*), parameter :: subname = "HistoryGetReal4Pointer"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range)))
! 必要な情報を gtool 変数化
call lookup_growable_url(file, varname, url, range)
call DbgMessage('@ url =%c', c1=trim(url))
! いよいよデータ取得
call Open(var, url)
call Get(var, array)
call Close(var)
call actual_iorange_dump(url, actual_url)
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
end if
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real, pointer
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal4PointerTimeD(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use gt4_history, only: HistoryGetPointer
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real(DP), intent(in) :: time
logical, intent(in), optional:: quiet
real, pointer :: array(:,:,:,:) ! (out)
character(*), parameter :: subname = "HistoryGetReal4PointerTimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetPointer( file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real, pointer
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal4PointerTimeR(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use gt4_history, only: HistoryGetPointer
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real, intent(in) :: time
logical, intent(in), optional:: quiet
real, pointer :: array(:,:,:,:) ! (out)
character(*), parameter :: subname = "HistoryGetReal4PointerTimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetPointer( file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real, intent(out)
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal4TimeD(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real(DP), intent(in) :: time
logical, intent(in), optional:: quiet
real, intent(out) :: array(:,:,:,:)
character(*), parameter :: subname = "HistoryGetReal4TimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetRealEx(file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real, intent(out)
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal4TimeR(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real, intent(in) :: time
logical, intent(in), optional:: quiet
real, intent(out) :: array(:,:,:,:)
character(*), parameter :: subname = "HistoryGetReal4TimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetRealEx(file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
Real 型固定配列用 5 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetReal5(file, varname, array, range, quiet)
!
! Real 型固定配列用 5 次元配列用データ入力サブルーチン
!
!
use dc_string, only: toChar
use dc_present,only: present_select, present_and_not_empty
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real, intent(out) :: array(:,:,:,:,:)
character(*), parameter :: subname = "HistoryGetReal5"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range)))
if (present_and_not_empty(range)) then
call HistoryGetRealEx(file=file, varname=varname, array=array, range=range, quiet=quiet)
else
call HistoryGetRealEx(file=file, varname=varname, array=array, quiet=quiet)
endif
call EndSub(subname)
end subroutine HistoryGetReal5
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
Real 型ポインタ配列用 5 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetReal5Pointer(file, varname, array, range, quiet)
!
! Real 型ポインタ配列用 5 次元配列用データ入力サブルーチン
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar
use dc_present,only: present_select, present_and_true
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real, pointer :: array(:,:,:,:,:) ! (out)
type(GT_VARIABLE) :: var
character(STRING) :: url, actual_url
character(*), parameter :: subname = "HistoryGetReal5Pointer"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range)))
! 必要な情報を gtool 変数化
call lookup_growable_url(file, varname, url, range)
call DbgMessage('@ url =%c', c1=trim(url))
! いよいよデータ取得
call Open(var, url)
call Get(var, array)
call Close(var)
call actual_iorange_dump(url, actual_url)
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
end if
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real, pointer
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal5PointerTimeD(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use gt4_history, only: HistoryGetPointer
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real(DP), intent(in) :: time
logical, intent(in), optional:: quiet
real, pointer :: array(:,:,:,:,:) ! (out)
character(*), parameter :: subname = "HistoryGetReal5PointerTimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetPointer( file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real, pointer
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal5PointerTimeR(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use gt4_history, only: HistoryGetPointer
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real, intent(in) :: time
logical, intent(in), optional:: quiet
real, pointer :: array(:,:,:,:,:) ! (out)
character(*), parameter :: subname = "HistoryGetReal5PointerTimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetPointer( file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real, intent(out)
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal5TimeD(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real(DP), intent(in) :: time
logical, intent(in), optional:: quiet
real, intent(out) :: array(:,:,:,:,:)
character(*), parameter :: subname = "HistoryGetReal5TimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetRealEx(file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real, intent(out)
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal5TimeR(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real, intent(in) :: time
logical, intent(in), optional:: quiet
real, intent(out) :: array(:,:,:,:,:)
character(*), parameter :: subname = "HistoryGetReal5TimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetRealEx(file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
Real 型固定配列用 6 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetReal6(file, varname, array, range, quiet)
!
! Real 型固定配列用 6 次元配列用データ入力サブルーチン
!
!
use dc_string, only: toChar
use dc_present,only: present_select, present_and_not_empty
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real, intent(out) :: array(:,:,:,:,:,:)
character(*), parameter :: subname = "HistoryGetReal6"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range)))
if (present_and_not_empty(range)) then
call HistoryGetRealEx(file=file, varname=varname, array=array, range=range, quiet=quiet)
else
call HistoryGetRealEx(file=file, varname=varname, array=array, quiet=quiet)
endif
call EndSub(subname)
end subroutine HistoryGetReal6
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
Real 型ポインタ配列用 6 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetReal6Pointer(file, varname, array, range, quiet)
!
! Real 型ポインタ配列用 6 次元配列用データ入力サブルーチン
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar
use dc_present,only: present_select, present_and_true
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real, pointer :: array(:,:,:,:,:,:) ! (out)
type(GT_VARIABLE) :: var
character(STRING) :: url, actual_url
character(*), parameter :: subname = "HistoryGetReal6Pointer"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range)))
! 必要な情報を gtool 変数化
call lookup_growable_url(file, varname, url, range)
call DbgMessage('@ url =%c', c1=trim(url))
! いよいよデータ取得
call Open(var, url)
call Get(var, array)
call Close(var)
call actual_iorange_dump(url, actual_url)
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
end if
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real, pointer
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal6PointerTimeD(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use gt4_history, only: HistoryGetPointer
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real(DP), intent(in) :: time
logical, intent(in), optional:: quiet
real, pointer :: array(:,:,:,:,:,:) ! (out)
character(*), parameter :: subname = "HistoryGetReal6PointerTimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetPointer( file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real, pointer
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal6PointerTimeR(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use gt4_history, only: HistoryGetPointer
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real, intent(in) :: time
logical, intent(in), optional:: quiet
real, pointer :: array(:,:,:,:,:,:) ! (out)
character(*), parameter :: subname = "HistoryGetReal6PointerTimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetPointer( file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real, intent(out)
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal6TimeD(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real(DP), intent(in) :: time
logical, intent(in), optional:: quiet
real, intent(out) :: array(:,:,:,:,:,:)
character(*), parameter :: subname = "HistoryGetReal6TimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetRealEx(file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real, intent(out)
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal6TimeR(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real, intent(in) :: time
logical, intent(in), optional:: quiet
real, intent(out) :: array(:,:,:,:,:,:)
character(*), parameter :: subname = "HistoryGetReal6TimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetRealEx(file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
Real 型固定配列用 7 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetReal7(file, varname, array, range, quiet)
!
! Real 型固定配列用 7 次元配列用データ入力サブルーチン
!
!
use dc_string, only: toChar
use dc_present,only: present_select, present_and_not_empty
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real, intent(out) :: array(:,:,:,:,:,:,:)
character(*), parameter :: subname = "HistoryGetReal7"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range)))
if (present_and_not_empty(range)) then
call HistoryGetRealEx(file=file, varname=varname, array=array, range=range, quiet=quiet)
else
call HistoryGetRealEx(file=file, varname=varname, array=array, quiet=quiet)
endif
call EndSub(subname)
end subroutine HistoryGetReal7
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
Real 型ポインタ配列用 7 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetReal7Pointer(file, varname, array, range, quiet)
!
! Real 型ポインタ配列用 7 次元配列用データ入力サブルーチン
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar
use dc_present,only: present_select, present_and_true
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real, pointer :: array(:,:,:,:,:,:,:) ! (out)
type(GT_VARIABLE) :: var
character(STRING) :: url, actual_url
character(*), parameter :: subname = "HistoryGetReal7Pointer"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range)))
! 必要な情報を gtool 変数化
call lookup_growable_url(file, varname, url, range)
call DbgMessage('@ url =%c', c1=trim(url))
! いよいよデータ取得
call Open(var, url)
call Get(var, array)
call Close(var)
call actual_iorange_dump(url, actual_url)
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
end if
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real, pointer
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal7PointerTimeD(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use gt4_history, only: HistoryGetPointer
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real(DP), intent(in) :: time
logical, intent(in), optional:: quiet
real, pointer :: array(:,:,:,:,:,:,:) ! (out)
character(*), parameter :: subname = "HistoryGetReal7PointerTimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetPointer( file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real, pointer
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal7PointerTimeR(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use gt4_history, only: HistoryGetPointer
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real, intent(in) :: time
logical, intent(in), optional:: quiet
real, pointer :: array(:,:,:,:,:,:,:) ! (out)
character(*), parameter :: subname = "HistoryGetReal7PointerTimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetPointer( file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real, intent(out)
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal7TimeD(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real(DP), intent(in) :: time
logical, intent(in), optional:: quiet
real, intent(out) :: array(:,:,:,:,:,:,:)
character(*), parameter :: subname = "HistoryGetReal7TimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetRealEx(file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real, intent(out)
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal7TimeR(file, varname, array, time, quiet)
!
! 将来廃止予定です。*time* は *range* に置き換え、文字型で与えて下さい。
!
use dc_string, only: toChar
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file, varname
real, intent(in) :: time
logical, intent(in), optional:: quiet
real, intent(out) :: array(:,:,:,:,:,:,:)
character(*), parameter :: subname = "HistoryGetReal7TimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
call HistoryGetRealEx(file=file, varname=varname, array=array, range=toChar(time), quiet=quiet)
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real, intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
[Source]
subroutine HistoryGetRealEx(file, varname, array, range, quiet)
!
! 入力用内部サブルーチン (Real の固定長配列用).
! *file* にファイル名を, *varname* に変数名を与えます.
! 外部には提供されず, その他の外部に提供される入力用
! サブルーチンが内部的に呼び出すことを想定しています.
! *array* にはファイルから入力されたデータが返ります.
!
! *range* には gtool4 のコンマ記法を与えることで,
! 入力先のデータの一部を切り出して入力を行うことが
! 可能です. なお, range に数値のみが代入される場合,
! それは時刻の次元 (正確には netCDF の無制限次元) の値として
! 受け取られます.
!
! デフォルトでは, データの入力時にどのファイルのどの変数が
! どの次元で切り出されて入力されたのかを表示します.
! メッセージ出力が不要な場合は *quiet* に .true. を与えてください.
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar, Split, JoinChar, StoA
use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
use dc_present, only: present_select, present_and_not_empty, present_and_true
use regex, only: match
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in):: file ! ファイル名
character(*), intent(in):: varname ! 変数名
character(*), intent(in), optional:: range
! スライス用オプション.
! gtool4 変数のコンマ記法で記述
! {(例: time=100.0,x=10:20,y=30.5)}
logical, intent(in), optional:: quiet
real, intent(out):: array(*) ! データ
type(GT_VARIABLE) :: var
character(STRING) :: url, actual_url
integer:: domain ! 変数の入出力領域の大きさ
! (= 変数が依存する各次元サイズの積)
character(*), parameter :: subname = "HistoryGetRealEx"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range)))
call lookup_growable_url(file, varname, url, range)
! いよいよデータ取得
call Open(var, url)
call Inquire(var=var, size=domain)
call Get(var, array, domain)
call Close(var)
call actual_iorange_dump(url, actual_url)
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
end if
call EndSub(subname)
end subroutine HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real, intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real, intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real, intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real, intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real, intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real, intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real, intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real, intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real, intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real, intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real, intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real, intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real, intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real, intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real, intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real, intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real, intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real, intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real, intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real, intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real, intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real, intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real, intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range], [quiet] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(*) : | real, intent(out)
|
range : | character(*), intent(in), optional
: | スライス用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=30.5)}
|
|
quiet : | logical, intent(in), optional
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与えます. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定しています. array
にはファイルから入力されたデータが返ります.
range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能です. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られます.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Original external subprogram is historyget.f90#HistoryGetRealEx
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
err : | logical, intent(out), optional
|
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は,
入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
[Source]
subroutine actual_iorange_dump(url, actual_url, err)
!
! 変数 URL *url* に対応するファイル, 変数からデータを取り出す際,
! 入出力範囲指定によって切り出される値の本当の位置を
! 標準出力に出力する. *actual_url* が与えられる場合には
! その引数に値を返し, 標準出力には出力しない.
!
! HistoryGet, HistoryGetPointer が下層で呼び出している
! gtdata_generic#Get は, 入出力範囲が次元データに正確に一致しない
! 場合, 最も近い値を自動的に選択して切り出す. しかしその結果,
! 「本当はどこのデータを入力したか」がわからない場合があるため,
! このサブルーチンによって正確な位置をユーザに知らせる.
!
use dc_types, only: DP, STRING
use dc_string, only: Split, JoinChar, toChar
use dc_url, only: UrlSearchIORange, UrlMerge, UrlSplit
use dc_url, only: GT_COMMA, GT_EQUAL, GT_COLON
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
use regex, only: match
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Close, Get
use dc_error, only: StoreError, DC_NOERR
character(*), intent(in) :: url ! 変数 URL
character(*), intent(out), optional :: actual_url
! 正確な入出力範囲指定に修正
! された変数 URL
logical, intent(out), optional :: err ! エラーのフラグ
character(STRING), pointer :: iorange_each(:) =>null()
character(STRING), pointer :: range_values(:) =>null()
character(STRING), pointer :: new_iorange_each(:) =>null()
character(STRING), pointer :: new_range_values(:) =>null()
character(STRING) :: new_url, new_iorange, url_tmp, dimname
character(STRING) :: file, varname, range, cause_c
type(GT_VARIABLE) :: var
real :: iorange_value(1)
integer :: i, j, regex_len, regex_stat, stat
character(*), parameter :: subname = "actual_iorange_dump"
continue
call BeginSub(subname, '<url=%c>', c1=trim(url))
new_iorange = ''
cause_c = ''
stat = DC_NOERR
call UrlSplit(url, file, varname, iorange=range)
call Split(range, iorange_each, GT_COMMA)
allocate(new_iorange_each(size(iorange_each)))
do i = 1, size(iorange_each)
call match(GT_EQUAL, iorange_each(i), regex_len, regex_stat)
if (regex_stat < 0 .or. regex_len < 2) then
new_iorange_each(i) = trim(iorange_each(i))
else
dimname = iorange_each(i)(:regex_len-1)
call Split(iorange_each(i)(regex_len+1:), range_values, GT_COLON)
allocate(new_range_values(size(range_values)))
do j = 1, size(range_values)
url_tmp = UrlMerge(file, dimname, '', iorange=trim(dimname) // GT_EQUAL // trim(range_values(j)))
call Open(var, url_tmp)
call Get(var, iorange_value, 1)
call Close(var)
new_range_values(j) = toChar(iorange_value)
end do
new_iorange_each(i) = trim(dimname) // GT_EQUAL // JoinChar(new_range_values, GT_COLON)
deallocate(new_range_values)
deallocate(range_values)
end if
end do
new_iorange = JoinChar(new_iorange_each, GT_COMMA)
deallocate(new_iorange_each)
deallocate(iorange_each)
new_url = UrlMerge(file, varname, '', new_iorange)
if (present(actual_url)) then
actual_url = new_url
else
call MessageNotify('M', subname, 'Input %c', c1=trim(new_url))
end if
999 continue
call StoreError(stat, subname, err, cause_c)
call EndSub(subname, '<actual_url=%c>', c1=trim(new_url))
end subroutine actual_iorange_dump
actual_iorange_dump( url, [actual_url], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
err : | logical, intent(out), optional
|
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は,
入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
Original external subprogram is historyget.f90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
err : | logical, intent(out), optional
|
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は,
入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
Original external subprogram is historyget.f90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
err : | logical, intent(out), optional
|
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は,
入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
Original external subprogram is historyget.f90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
err : | logical, intent(out), optional
|
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は,
入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
Original external subprogram is historyget.f90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
err : | logical, intent(out), optional
|
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は,
入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
Original external subprogram is historyget.f90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
err : | logical, intent(out), optional
|
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は,
入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
Original external subprogram is historyget.f90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
err : | logical, intent(out), optional
|
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は,
入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
Original external subprogram is historyget.f90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
err : | logical, intent(out), optional
|
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は,
入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
Original external subprogram is historyget.f90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
err : | logical, intent(out), optional
|
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は,
入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
Original external subprogram is historyget.f90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
err : | logical, intent(out), optional
|
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は,
入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
Original external subprogram is historyget.f90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
err : | logical, intent(out), optional
|
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は,
入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
Original external subprogram is historyget.f90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
err : | logical, intent(out), optional
|
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は,
入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
Original external subprogram is historyget.f90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
err : | logical, intent(out), optional
|
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は,
入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
Original external subprogram is historyget.f90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
err : | logical, intent(out), optional
|
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は,
入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
Original external subprogram is historyget.f90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
err : | logical, intent(out), optional
|
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は,
入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
Original external subprogram is historyget.f90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
err : | logical, intent(out), optional
|
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は,
入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
Original external subprogram is historyget.f90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
err : | logical, intent(out), optional
|
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は,
入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
Original external subprogram is historyget.f90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
err : | logical, intent(out), optional
|
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は,
入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
Original external subprogram is historyget.f90#actual_iorange_dump
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool変数化
("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- 数値のみが与えられる場合, 時間次元の値として認識され, その値を用いた url
が返る.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
[Source]
subroutine lookup_growable_url(file, varname, url, range, err)
!
! file の変数 varname が依存する次元の内, 時間の次元
! (growable == .TRUE. のもの, つまり無制限次元) の変数名,
! およびその最後の値を取得し, gtool変数化
! ("file@varname,time=10.5" みたいな) して返す.
!
! * もしも varname が次元変数である場合は「time=」を付けずに返す.
! * range を与えた場合, 以下のチェックを行った後, それを gtool4
! 変数の iorange 部分に付加する.
! * 数値のみが与えられる場合, 時間次元の値として認識され,
! その値を用いた url が返る.
! * range 内に時間次元が設定されていない場合は, 自動的に
! 時間次元に関する iorange ("time=0.5") が指定される.
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Close, Inquire
use dc_present,only: present_select, present_and_not_empty
use dc_string, only: toChar
use dc_error, only: StoreError, DC_NOERR, GT_ENOUNLIMITDIM, NF_EINVAL
use dc_url, only: GT_CIRCUMFLEX, GT_COMMA, GT_EQUAL
use dc_url, only: UrlSplit, UrlMerge, UrlSearchIORange
use regex, only: match
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
character(*), intent(in) :: file ! ファイル名
character(*), intent(in) :: varname ! 変数名
character(*), intent(out) :: url ! gtool変数化した文字列
character(*), intent(in), optional:: range ! 範囲限定や一点切り出し指定
logical, intent(out), optional :: err ! エラーのフラグ
!
type(GT_VARIABLE) :: var
type(GT_VARIABLE), allocatable :: dimvar(:)
character(STRING) :: time_url, time_name, time_iorange
character(STRING) :: iorange, cause_c
logical:: growable, nounlimited
integer:: allcount, timecount, nd, i, stat
integer:: regex_stat, regex_len
character(*), parameter :: subname = "lookup_growable_url"
continue
call BeginSub(subname, '<file=%c varname=%c range=%c>', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range)))
stat = DC_NOERR
cause_c = ""
! 引数の正当性をチェック
if (.not. present_and_not_empty(file)) then
stat = NF_EINVAL
cause_c = '"file" is not specified'
url = ""
goto 999
elseif (.not. present_and_not_empty(varname)) then
stat = NF_EINVAL
cause_c = '"varname" is not specified'
url = ""
goto 999
end if
! 時刻次元の変数名, およびその最終時刻の
! 探査のために file@varname を open (まだデータを取得しない)
call Open(var, UrlMerge(file, varname))
! 次元の数を取得
call Inquire(var=var, alldims=nd)
call DbgMessage('@ alldims = %d', i=(/nd/))
if (allocated(dimvar)) then
deallocate(dimvar)
end if
allocate(dimvar(nd))
!
! 変数が無制限変数を持たない場合には, それに関する iorange を
! 付けないで返すよう, フラグを立てる.
! 無制限次元があれば, .false. にする.
nounlimited = .true.
!
! 各次元毎に情報を取得し, growable == .TRUE. のもの (つまりは時間)
! の変数名 (time_name) を取得する.
call DbgMessage('[%c: growable-dim-search]', c1=trim(subname))
time_name = ''
do, i = 1, nd
call Open(var=dimvar(i), source_var=var, dimord=i, count_compact=.TRUE., err=err)
! まずは変数入り gtool4 変数を time_url に取得
call Inquire(var=dimvar(i), growable=growable, allcount=allcount, url=time_url)
call DbgMessage(' [dim=<%d>: growable=<%y>: url=<%c>]', i=(/i/), L=(/growable/), c1=trim(time_url))
! 総数 = 最後の数, なので...
if (growable) then
! 変数部分だけ分離
call UrlSplit(fullname=time_url, var=time_name)
timecount = allcount
nounlimited = .false.
endif
call Close(dimvar(i))
end do
! 探査を終了したので閉じる
call Close(var)
if (stat /= DC_NOERR) then
goto 999
end if
! 時刻部分の iorange を作成しておく.
! 格子点情報で取得されているので, 頭に "^" を付加する.
if (nounlimited) then
time_iorange = ''
else
time_iorange = trim(time_name) // GT_EQUAL // GT_CIRCUMFLEX // adjustl(toChar(timecount))
end if
! iorange を指定する.
! 時刻に関しては, range が存在しない場合には
! 自動取得した最後の時刻を付加する.
! range が存在する場合, "=" が含まれなければ単に時刻の
! 値として取得.
! "=" が含まれる場合, iorange としてそのまま iorange になる.
! ただし, その iorange に時刻次元が含まれない場合,
! やはり先ほど自動取得した値が付加される.
! 当然, 時刻次元が存在しない場合には付加しない.
if (.not. present_and_not_empty(range)) then
iorange = time_iorange
else
! range がコンマ記法になっているか, "=" があるかどうかで調べる
call match(GT_EQUAL, range, regex_len, regex_stat)
! コンマ記法になってない場合は無制限次元の値と判定
if (regex_stat < 0) then
iorange = trim(time_name) // GT_EQUAL // adjustl(range)
else
! コンマ記法になっている場合, まずその中に無制限次元が
! 存在しているか調べ, 存在してない場合のみ time_iorange を
! 付加する.
if (trim(UrlSearchIORange(range, time_name)) /= "") then
iorange = range
else
if (trim(time_iorange) /= "") then
iorange = range // GT_COMMA // time_iorange
else
iorange = range
end if
end if
end if
endif
call DbgMessage('@ iorange=%c', c1=trim(iorange))
! file, varname, iorange を gtool変数化
! (「file@varname,time=10.5」のように)
url = UrlMerge(file, varname, '', iorange)
999 continue
call StoreError(stat, subname, err, cause_c)
call EndSub(subname, '<url=%c>', c1=trim(url))
end subroutine lookup_growable_url
lookup_growable_url( file, varname, url, [range], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool変数化
("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- 数値のみが与えられる場合, 時間次元の値として認識され, その値を用いた url
が返る.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
Original external subprogram is historyget.f90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool変数化
("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- 数値のみが与えられる場合, 時間次元の値として認識され, その値を用いた url
が返る.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
Original external subprogram is historyget.f90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool変数化
("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- 数値のみが与えられる場合, 時間次元の値として認識され, その値を用いた url
が返る.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
Original external subprogram is historyget.f90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool変数化
("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- 数値のみが与えられる場合, 時間次元の値として認識され, その値を用いた url
が返る.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
Original external subprogram is historyget.f90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool変数化
("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- 数値のみが与えられる場合, 時間次元の値として認識され, その値を用いた url
が返る.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
Original external subprogram is historyget.f90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool変数化
("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- 数値のみが与えられる場合, 時間次元の値として認識され, その値を用いた url
が返る.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
Original external subprogram is historyget.f90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool変数化
("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- 数値のみが与えられる場合, 時間次元の値として認識され, その値を用いた url
が返る.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
Original external subprogram is historyget.f90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool変数化
("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- 数値のみが与えられる場合, 時間次元の値として認識され, その値を用いた url
が返る.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
Original external subprogram is historyget.f90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool変数化
("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- 数値のみが与えられる場合, 時間次元の値として認識され, その値を用いた url
が返る.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
Original external subprogram is historyget.f90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool変数化
("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- 数値のみが与えられる場合, 時間次元の値として認識され, その値を用いた url
が返る.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
Original external subprogram is historyget.f90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool変数化
("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- 数値のみが与えられる場合, 時間次元の値として認識され, その値を用いた url
が返る.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
Original external subprogram is historyget.f90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool変数化
("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- 数値のみが与えられる場合, 時間次元の値として認識され, その値を用いた url
が返る.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
Original external subprogram is historyget.f90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool変数化
("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- 数値のみが与えられる場合, 時間次元の値として認識され, その値を用いた url
が返る.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
Original external subprogram is historyget.f90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool変数化
("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- 数値のみが与えられる場合, 時間次元の値として認識され, その値を用いた url
が返る.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
Original external subprogram is historyget.f90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool変数化
("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- 数値のみが与えられる場合, 時間次元の値として認識され, その値を用いた url
が返る.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
Original external subprogram is historyget.f90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool変数化
("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- 数値のみが与えられる場合, 時間次元の値として認識され, その値を用いた url
が返る.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
Original external subprogram is historyget.f90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool変数化
("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- 数値のみが与えられる場合, 時間次元の値として認識され, その値を用いた url
が返る.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
Original external subprogram is historyget.f90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool変数化
("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- 数値のみが与えられる場合, 時間次元の値として認識され, その値を用いた url
が返る.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
Original external subprogram is historyget.f90#lookup_growable_url