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 ステップ目のデータを取得します)。
|
|
データ入力 (固定長配列用)
既存の gtool4 データ内の変数のデータを取得します。
ポインタの配列へデータを入力を行う場合は、 HistoryGetPointer
を利用してください。
デフォルトでは、gtool4 データ内の変数データのうち、
最も新しい時刻のデータを入力します。その他の時刻データを
入力したい場合には、下記の range オプションを利用してください。
range には gtool4 のコンマ記法 (gtool4 netCDF 規約 参照) を与えることで,
入力先のデータの一部を切り出して入力を行うことが可能です。
HistoryGet は複数のサブルーチンの総称名です。array には 0 〜
7 次元のデータを与えることが可能です。 下記のサブルーチンを参照ください。
[Source]
subroutine HistoryGetDouble0(file, varname, array, range)
!
!
!== データ入力 (固定長配列用)
!
! 既存の gtool4 データ内の変数のデータを取得します。
!
! ポインタの配列へデータを入力を行う場合は、
! HistoryGetPointer を利用してください。
!
! デフォルトでは、gtool4 データ内の変数データのうち、
! 最も新しい時刻のデータを入力します。その他の時刻データを
! 入力したい場合には、下記の *range* オプションを利用してください。
!
! *range* には gtool4 のコンマ記法
! ({gtool4 netCDF 規約}[link:../xref.htm#label-6] 参照)
! を与えることで,
! 入力先のデータの一部を切り出して入力を行うことが可能です。
!
! *HistoryGet* は複数のサブルーチンの総称名です。*array* には
! 0 〜 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
! 取得するデータが格納された
! 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 ステップ目のデータを取得します)。
!
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)
else
call HistoryGetDoubleEx(file=file, varname=varname, array=array_tmp)
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 ステップ目のデータを取得します)。
|
|
データ入力 (ポインタ配列用)
既存の gtool4 データ内の変数のデータをポインタ配列へ取得します。
固定長の配列へデータを入力を行う場合は、 HistoryGet を利用してください。
array は必ず空状態で与えてください。 すなわち初期値 =>null()
を設定するか nullify を用いてください。
既に割り付けられている場合、もしくは不定状態の場合には エラーを返します。
デフォルトでは、gtool4 データ内の変数データのうち、
最も新しい時刻のデータを入力します。その他の時刻データを
入力したい場合には、下記の range オプションを利用してください。
range には gtool4 のコンマ記法 (gtool4 netCDF 規約 参照) を与えることで,
入力先のデータの一部を切り出して入力を行うことが可能です。
HistoryGetPointer は複数のサブルーチンの総称名です。array
には 0 〜 7 次元のデータを与えることが可能です。
下記のサブルーチンを参照ください。
[Source]
subroutine HistoryGetDouble0Pointer(file, varname, array, range)
!
!
! == データ入力 (ポインタ配列用)
!
! 既存の gtool4 データ内の変数のデータをポインタ配列へ取得します。
!
! 固定長の配列へデータを入力を行う場合は、
! HistoryGet を利用してください。
!
! *array* は必ず空状態で与えてください。
! すなわち初期値 =>null() を設定するか nullify を用いてください。
! 既に割り付けられている場合、もしくは不定状態の場合には
! エラーを返します。
!
! デフォルトでは、gtool4 データ内の変数データのうち、
! 最も新しい時刻のデータを入力します。その他の時刻データを
! 入力したい場合には、下記の *range* オプションを利用してください。
!
! *range* には gtool4 のコンマ記法
! ({gtool4 netCDF 規約}[link:../xref.htm#label-6] 参照)
! を与えることで,
! 入力先のデータの一部を切り出して入力を行うことが可能です。
!
! *HistoryGetPointer* は複数のサブルーチンの総称名です。*array* には
! 0 〜 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
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 ステップ目のデータを取得します)。
!
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)
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | real(DP), pointer
|
time : | real(DP), intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble0PointerTimeD(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | real(DP), pointer
|
time : | real, intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble0PointerTimeR(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | real(DP), intent(out)
|
time : | real(DP), intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble0TimeD(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
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)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble0TimeR(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
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
|
Double 型固定配列用 1 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetDouble1(file, varname, array, range)
!
! 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
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)
else
call HistoryGetDoubleEx(file=file, varname=varname, array=array)
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
|
Double 型ポインタ配列用 1 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetDouble1Pointer(file, varname, array, range)
!
! 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
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
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)
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real(DP), pointer
|
time : | real(DP), intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble1PointerTimeD(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real(DP), pointer
|
time : | real, intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble1PointerTimeR(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real(DP), intent(out)
|
time : | real(DP), intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble1TimeD(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real(DP), intent(out)
|
time : | real, intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble1TimeR(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
|
Double 型固定配列用 2 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetDouble2(file, varname, array, range)
!
! 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
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)
else
call HistoryGetDoubleEx(file=file, varname=varname, array=array)
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
|
Double 型ポインタ配列用 2 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetDouble2Pointer(file, varname, array, range)
!
! 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
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
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)
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real(DP), pointer
|
time : | real(DP), intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble2PointerTimeD(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real(DP), pointer
|
time : | real, intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble2PointerTimeR(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real(DP), intent(out)
|
time : | real(DP), intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble2TimeD(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real(DP), intent(out)
|
time : | real, intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble2TimeR(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
|
Double 型固定配列用 3 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetDouble3(file, varname, array, range)
!
! 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
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)
else
call HistoryGetDoubleEx(file=file, varname=varname, array=array)
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
|
Double 型ポインタ配列用 3 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetDouble3Pointer(file, varname, array, range)
!
! 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
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
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)
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real(DP), pointer
|
time : | real(DP), intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble3PointerTimeD(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real(DP), pointer
|
time : | real, intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble3PointerTimeR(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real(DP), intent(out)
|
time : | real(DP), intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble3TimeD(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real(DP), intent(out)
|
time : | real, intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble3TimeR(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
|
Double 型固定配列用 4 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetDouble4(file, varname, array, range)
!
! 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
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)
else
call HistoryGetDoubleEx(file=file, varname=varname, array=array)
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
|
Double 型ポインタ配列用 4 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetDouble4Pointer(file, varname, array, range)
!
! 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
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
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)
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real(DP), pointer
|
time : | real(DP), intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble4PointerTimeD(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real(DP), pointer
|
time : | real, intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble4PointerTimeR(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real(DP), intent(out)
|
time : | real(DP), intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble4TimeD(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real(DP), intent(out)
|
time : | real, intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble4TimeR(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
|
Double 型固定配列用 5 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetDouble5(file, varname, array, range)
!
! 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
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)
else
call HistoryGetDoubleEx(file=file, varname=varname, array=array)
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
|
Double 型ポインタ配列用 5 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetDouble5Pointer(file, varname, array, range)
!
! 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
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
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)
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real(DP), pointer
|
time : | real(DP), intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble5PointerTimeD(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real(DP), pointer
|
time : | real, intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble5PointerTimeR(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real(DP), intent(out)
|
time : | real(DP), intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble5TimeD(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real(DP), intent(out)
|
time : | real, intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble5TimeR(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
|
Double 型固定配列用 6 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetDouble6(file, varname, array, range)
!
! 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
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)
else
call HistoryGetDoubleEx(file=file, varname=varname, array=array)
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
|
Double 型ポインタ配列用 6 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetDouble6Pointer(file, varname, array, range)
!
! 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
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
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)
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real(DP), pointer
|
time : | real(DP), intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble6PointerTimeD(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real(DP), pointer
|
time : | real, intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble6PointerTimeR(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real(DP), intent(out)
|
time : | real(DP), intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble6TimeD(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real(DP), intent(out)
|
time : | real, intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble6TimeR(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
|
Double 型固定配列用 7 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetDouble7(file, varname, array, range)
!
! 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
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)
else
call HistoryGetDoubleEx(file=file, varname=varname, array=array)
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
|
Double 型ポインタ配列用 7 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetDouble7Pointer(file, varname, array, range)
!
! 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
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
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)
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real(DP), pointer
|
time : | real(DP), intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble7PointerTimeD(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real(DP), pointer
|
time : | real, intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble7PointerTimeR(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real(DP), intent(out)
|
time : | real(DP), intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble7TimeD(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real(DP), intent(out)
|
time : | real, intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetDouble7TimeR(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
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)}
|
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
[Source]
subroutine HistoryGetDoubleEx(file, varname, array, range)
!
! 入力用内部サブルーチン (Double の固定長配列用).
! *file* にファイル名を, *varname* に変数名を与える.
! 外部には提供されず, その他の外部に提供される入力用
! サブルーチンが内部的に呼び出すことを想定している.
! *array* には 1 次元配列を与える.
! *range* には gtool4 のコンマ記法を与えることで,
! 入力先のデータの一部を切り出して入力を行うことが
! 可能である. なお, range に数値のみが代入される場合,
! それは時刻の次元 (正確には netCDF の無制限次元) の値として
! 受け取られる.
!
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
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)}
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)
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
call EndSub(subname)
end subroutine HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
Original external subprogram is historyget.f90#HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
Original external subprogram is historyget.f90#HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
Original external subprogram is historyget.f90#HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
Original external subprogram is historyget.f90#HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
Original external subprogram is historyget.f90#HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
Original external subprogram is historyget.f90#HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
Original external subprogram is historyget.f90#HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
Original external subprogram is historyget.f90#HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
Original external subprogram is historyget.f90#HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
Original external subprogram is historyget.f90#HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
Original external subprogram is historyget.f90#HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
Original external subprogram is historyget.f90#HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
Original external subprogram is historyget.f90#HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
Original external subprogram is historyget.f90#HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
Original external subprogram is historyget.f90#HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
Original external subprogram is historyget.f90#HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
Original external subprogram is historyget.f90#HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
Original external subprogram is historyget.f90#HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
Original external subprogram is historyget.f90#HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
Original external subprogram is historyget.f90#HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
Original external subprogram is historyget.f90#HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
Original external subprogram is historyget.f90#HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
Original external subprogram is historyget.f90#HistoryGetDoubleEx
HistoryGetDoubleEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Double の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
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
|
[Source]
subroutine HistoryGetReal0(file, varname, array, range)
!
!
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
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)
else
call HistoryGetRealEx(file=file, varname=varname, array=array_tmp)
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
|
[Source]
subroutine HistoryGetReal0Pointer(file, varname, array, range)
!
!
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
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
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)
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | real, pointer
|
time : | real(DP), intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal0PointerTimeD(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | real, pointer
|
time : | real, intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal0PointerTimeR(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | real, intent(out)
|
time : | real(DP), intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal0TimeD(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
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)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal0TimeR(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
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
|
Real 型固定配列用 1 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetReal1(file, varname, array, range)
!
! 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
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)
else
call HistoryGetRealEx(file=file, varname=varname, array=array)
endif
call EndSub(subname)
end subroutine HistoryGetReal1
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real, pointer
|
range : | character(*), intent(in), optional
|
Real 型ポインタ配列用 1 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetReal1Pointer(file, varname, array, range)
!
! 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
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
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)
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real, pointer
|
time : | real(DP), intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal1PointerTimeD(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real, pointer
|
time : | real, intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal1PointerTimeR(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real, intent(out)
|
time : | real(DP), intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal1TimeD(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real, intent(out)
|
time : | real, intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal1TimeR(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real, intent(out)
|
range : | character(*), intent(in), optional
|
Real 型固定配列用 2 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetReal2(file, varname, array, range)
!
! 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
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)
else
call HistoryGetRealEx(file=file, varname=varname, array=array)
endif
call EndSub(subname)
end subroutine HistoryGetReal2
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real, pointer
|
range : | character(*), intent(in), optional
|
Real 型ポインタ配列用 2 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetReal2Pointer(file, varname, array, range)
!
! 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
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
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)
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real, pointer
|
time : | real(DP), intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal2PointerTimeD(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real, pointer
|
time : | real, intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal2PointerTimeR(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real, intent(out)
|
time : | real(DP), intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal2TimeD(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real, intent(out)
|
time : | real, intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal2TimeR(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real, intent(out)
|
range : | character(*), intent(in), optional
|
Real 型固定配列用 3 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetReal3(file, varname, array, range)
!
! 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
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)
else
call HistoryGetRealEx(file=file, varname=varname, array=array)
endif
call EndSub(subname)
end subroutine HistoryGetReal3
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real, pointer
|
range : | character(*), intent(in), optional
|
Real 型ポインタ配列用 3 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetReal3Pointer(file, varname, array, range)
!
! 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
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
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)
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real, pointer
|
time : | real(DP), intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal3PointerTimeD(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real, pointer
|
time : | real, intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal3PointerTimeR(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real, intent(out)
|
time : | real(DP), intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal3TimeD(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real, intent(out)
|
time : | real, intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal3TimeR(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real, intent(out)
|
range : | character(*), intent(in), optional
|
Real 型固定配列用 4 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetReal4(file, varname, array, range)
!
! 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
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)
else
call HistoryGetRealEx(file=file, varname=varname, array=array)
endif
call EndSub(subname)
end subroutine HistoryGetReal4
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real, pointer
|
range : | character(*), intent(in), optional
|
Real 型ポインタ配列用 4 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetReal4Pointer(file, varname, array, range)
!
! 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
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
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)
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real, pointer
|
time : | real(DP), intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal4PointerTimeD(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real, pointer
|
time : | real, intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal4PointerTimeR(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real, intent(out)
|
time : | real(DP), intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal4TimeD(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real, intent(out)
|
time : | real, intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal4TimeR(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real, intent(out)
|
range : | character(*), intent(in), optional
|
Real 型固定配列用 5 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetReal5(file, varname, array, range)
!
! 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
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)
else
call HistoryGetRealEx(file=file, varname=varname, array=array)
endif
call EndSub(subname)
end subroutine HistoryGetReal5
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real, pointer
|
range : | character(*), intent(in), optional
|
Real 型ポインタ配列用 5 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetReal5Pointer(file, varname, array, range)
!
! 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
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
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)
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real, pointer
|
time : | real(DP), intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal5PointerTimeD(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real, pointer
|
time : | real, intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal5PointerTimeR(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real, intent(out)
|
time : | real(DP), intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal5TimeD(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real, intent(out)
|
time : | real, intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal5TimeR(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real, intent(out)
|
range : | character(*), intent(in), optional
|
Real 型固定配列用 6 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetReal6(file, varname, array, range)
!
! 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
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)
else
call HistoryGetRealEx(file=file, varname=varname, array=array)
endif
call EndSub(subname)
end subroutine HistoryGetReal6
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real, pointer
|
range : | character(*), intent(in), optional
|
Real 型ポインタ配列用 6 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetReal6Pointer(file, varname, array, range)
!
! 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
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
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)
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real, pointer
|
time : | real(DP), intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal6PointerTimeD(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real, pointer
|
time : | real, intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal6PointerTimeR(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real, intent(out)
|
time : | real(DP), intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal6TimeD(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real, intent(out)
|
time : | real, intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal6TimeR(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real, intent(out)
|
range : | character(*), intent(in), optional
|
Real 型固定配列用 7 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetReal7(file, varname, array, range)
!
! 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
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)
else
call HistoryGetRealEx(file=file, varname=varname, array=array)
endif
call EndSub(subname)
end subroutine HistoryGetReal7
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real, pointer
|
range : | character(*), intent(in), optional
|
Real 型ポインタ配列用 7 次元配列用データ入力サブルーチン
[Source]
subroutine HistoryGetReal7Pointer(file, varname, array, range)
!
! 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
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
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)
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real, pointer
|
time : | real(DP), intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal7PointerTimeD(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real, pointer
|
time : | real, intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal7PointerTimeR(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real, intent(out)
|
time : | real(DP), intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal7TimeD(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
call EndSub(subname)
end subroutine
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real, intent(out)
|
time : | real, intent(in)
|
将来廃止予定です。time は range
に置き換え、文字型で与えて下さい。
[Source]
subroutine HistoryGetReal7TimeR(file, varname, array, time)
!
! 将来廃止予定です。*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
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))
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)}
|
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
[Source]
subroutine HistoryGetRealEx(file, varname, array, range)
!
! 入力用内部サブルーチン (Real の固定長配列用).
! *file* にファイル名を, *varname* に変数名を与える.
! 外部には提供されず, その他の外部に提供される入力用
! サブルーチンが内部的に呼び出すことを想定している.
! *array* には 1 次元配列を与える.
! *range* には gtool4 のコンマ記法を与えることで,
! 入力先のデータの一部を切り出して入力を行うことが
! 可能である. なお, range に数値のみが代入される場合,
! それは時刻の次元 (正確には netCDF の無制限次元) の値として
! 受け取られる.
!
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
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)}
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)
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
call EndSub(subname)
end subroutine HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
Original external subprogram is historyget.f90#HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
Original external subprogram is historyget.f90#HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
Original external subprogram is historyget.f90#HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
Original external subprogram is historyget.f90#HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
Original external subprogram is historyget.f90#HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
Original external subprogram is historyget.f90#HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
Original external subprogram is historyget.f90#HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
Original external subprogram is historyget.f90#HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
Original external subprogram is historyget.f90#HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
Original external subprogram is historyget.f90#HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
Original external subprogram is historyget.f90#HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
Original external subprogram is historyget.f90#HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
Original external subprogram is historyget.f90#HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
Original external subprogram is historyget.f90#HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
Original external subprogram is historyget.f90#HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
Original external subprogram is historyget.f90#HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
Original external subprogram is historyget.f90#HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
Original external subprogram is historyget.f90#HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
Original external subprogram is historyget.f90#HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
Original external subprogram is historyget.f90#HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
Original external subprogram is historyget.f90#HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
Original external subprogram is historyget.f90#HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
Original external subprogram is historyget.f90#HistoryGetRealEx
HistoryGetRealEx( file, varname, array, [range] )
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)}
|
|
入力用内部サブルーチン (Real の固定長配列用). file にファイル名を,
varname に変数名を与える. 外部には提供されず,
その他の外部に提供される入力用
サブルーチンが内部的に呼び出すことを想定している. array には 1
次元配列を与える. range には gtool4 のコンマ記法を与えることで,
入力先のデータの一部を切り出して入力を行うことが 可能である. なお, range
に数値のみが代入される場合, それは時刻の次元 (正確には netCDF の無制限次元)
の値として 受け取られる.
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))
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