Public Instance methods
Subroutine : |
|
file : | character(*), intent(in)
: | netCDF ファイル名. NetCDF filename.
|
|
varname : | character(*), intent(in)
|
array : | real(DP), intent(out)
: | 取得するデータを格納する配列
型は整数型, 単精度実数型, 倍精度実数型 かのいづれかです. 取得するデータの空
間次元のサイズと配列のサイズとが一致し ている必要があります. 入力するデータ
の型と array の型が異なる場合は, 自 動的に array
の型に変換されます.
Array in which input data is store
Type is integer or single precision real or double precision. Size of array
must be identical to input data size. When type of input data is different
from type of array, data is converted to type of array
automatically.
|
|
range : | character(*), intent(in), optional
: | 切り出し用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=^1:^5)}
詳しくは gtool4 netCDF 規約
の「5.4 コンマ記法」を参照して ください.
Option for clipping. Give gtool4 comma-graphy {(ex.
time=100.0,x=10:20,y=^1:^5)}
For details, see "5.4 gtool4 comma-graphy" in gtool4 netCDF Convention
|
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
: | MPI 使用時にこの引数に .true. を与えると, file 引数に
"_rankXXXXXX" (X は [0-9] の数値で, ノード番号を指す)
を付加したファイル名を各ノードで読み込みます. 例えば, file に
"input.nc" を与えた場合. ノード 0 では
"input_rank000000.nc", ノード 12 では
"input_rank000012.nc" を読み込みます. デフォルトは .false. です.
When MPI is used, if ".true." is given, a filename that
"_rankXXXXXX" (X is [0-9] that indicates node number) is added to
file argument is loaded on each node. For example,
"input.nc" is given to file,
"input_rank000000.nc", "input_rank000012.nc" are loaded
on node 0 and node 12. Default value is ".false.".
|
|
returned_time : | real(DP), intent(out), optional
: | データの時刻 入力データが時刻に依存する場合は
入力したデータの正確な時刻が返ります. 時間に依存しない場合, 0 が返ります.
If input data depend on time, true time is returned. If input data do not
depend on time, 0 is returned.
|
|
flag_time_exist : | logical, intent(out), optional
: | 入力データが時刻に依存する場合は .true. が, そうでない場合は .false.
が返ります.
If input data depend on time, .true. is returned. Otherwise, .false. is
returned.
|
|
err : | logical, intent(out), optional
: | 例外処理用フラグ. デフォルトでは, この手続き内でエラーが 生じた場合,
プログラムは強制終了します. 引数 err が与えられる場合,
プログラムは強制終了せず, 代わりに err に .true. が代入されます.
Exception handling flag. By default, when error occur in this procedure,
the program aborts. If this err argument is given, .true. is
substituted to err and the program does not abort.
|
|
Note that Japanese and English are described in parallel.
netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定
していますが, 大抵の netCDF データの入力は可能であると期待されます.
デフォルトでは, ファイル内の最新データ, すなわちデータを
時刻最大で切り出したものを入力します. 別の時刻または
別の次元で切り出したデータを 入力したい場合には, 下記の time
オプションもしくは range オプションを利用してください.
file にファイル名を, varname に変数名を与えます. array
にはファイルから入力されたデータが返ります.
ポインタの配列へデータを入力を行う場合は, HistoryGetPointer
を利用してください.
ある時刻のデータを明示したい場合には, その時刻を time に与えます.
整数型, 単精度実数型, 倍精度実数型の数値を与えることが可能です.
range には gtool4 のコンマ記法 (gtool4 netCDF 規約 の「5.4
コンマ記法」参照) を与えることで,
任意の次元で入力データを切り出すことが可能です. range
に空文字を与えた場合は切り出しを行いません.
HistoryGet は複数のサブルーチンの総称名です. array には 0 〜
7 次元の整数型, 単精度実数型, 倍精度実数型の配列を与えることが可能です.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Input netCDF data. NetCDF data with gtool4 conventions is assumed, but most
netCDF data is expected to be input.
Give filename to file, variable name to varname. Input data
is returned to array. If you want to use pointer array, use
"HistoryGetPointer".
By default, recent data, that is to say, data clipped with maximum time is
input. In order to input data clipped with other time or other dimension,
use time option or range option as follows.
In order to get data at certain time, specify the time to time. Type
is integer or single precision real or double precision.
Give gtool4 comma-graphy (See "5.4 gtool4 comma-graphy" in gtool4 netCDF Convention) to
range, then input data can be clipped by an arbitrary dimension. If
null character is given to range, data is not clipped.
HistoryGet is generic name of multiple subroutines. Integer, single
precision real, and double precision real 0 — 7 rank array can be
given to array.
By default, when data is input, filename and variable name and clipping
information is printed. The message is suppressed when .true. is given to
quiet
[Source]
subroutine HistoryGetDouble0(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
!
! netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定
! していますが, 大抵の netCDF データの入力は可能であると期待されます.
!
! デフォルトでは, ファイル内の最新データ, すなわちデータを
! 時刻最大で切り出したものを入力します. 別の時刻または
! 別の次元で切り出したデータを
! 入力したい場合には, 下記の *time* オプションもしくは
! *range* オプションを利用してください.
!
! *file* にファイル名を, *varname* に変数名を与えます.
! *array* にはファイルから入力されたデータが返ります.
! ポインタの配列へデータを入力を行う場合は,
! HistoryGetPointer を利用してください.
!
! ある時刻のデータを明示したい場合には, その時刻を
! *time* に与えます.
! 整数型, 単精度実数型, 倍精度実数型の数値を与えることが可能です.
!
! *range* には gtool4 のコンマ記法
! ({gtool4 netCDF 規約}[link:../xref.htm#label-6] の「5.4 コンマ記法」参照)
! を与えることで, 任意の次元で入力データを切り出すことが可能です.
! *range* に空文字を与えた場合は切り出しを行いません.
!
! *HistoryGet* は複数のサブルーチンの総称名です. *array* には
! 0 〜 7 次元の整数型, 単精度実数型,
! 倍精度実数型の配列を与えることが可能です.
!
! デフォルトでは, データの入力時にどのファイルのどの変数が
! どの次元で切り出されて入力されたのかを表示します.
! メッセージ出力が不要な場合は *quiet* に .true. を与えてください.
!
! Input netCDF data. NetCDF data with gtool4 conventions is assumed,
! but most netCDF data is expected to be input.
!
! Give filename to *file*, variable name to *varname*.
! Input data is returned to *array*.
! If you want to use pointer array, use "HistoryGetPointer".
!
! By default, recent data, that is to say, data clipped with
! maximum time is input. In order to input data clipped with
! other time or other dimension,
! use *time* option or *range* option as follows.
!
! In order to get data at certain time, specify the time to *time*.
! Type is integer or single precision real or double precision.
!
! Give gtool4 comma-graphy
! (See "5.4 gtool4 comma-graphy" in {gtool4 netCDF Convention}[link:../xref.htm#label-6])
! to *range*, then input data can be clipped by an arbitrary dimension.
! If null character is given to *range*, data is not clipped.
!
! *HistoryGet* is generic name of multiple subroutines.
! Integer, single precision real, and double precision real
! 0 -- 7 rank array can be given to *array*.
!
! By default, when data is input, filename and variable name and
! clipping information is printed.
! The message is suppressed when .true. is given to *quiet*
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar, Split, JoinChar, StoA
use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
use dc_present, only: present_select, present_and_not_empty, present_and_true
use dc_regex, only: match
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
! netCDF ファイル名.
! NetCDF filename.
character(*), intent(in):: varname
! 変数名.
! Variable name
character(*), intent(in), optional:: range
! 切り出し用オプション.
! gtool4 変数のコンマ記法で記述
! {(例: time=100.0,x=10:20,y=^1:^5)}
!
! 詳しくは
! {gtool4 netCDF 規約}[link:../xref.htm#label-6]
! の「5.4 コンマ記法」を参照して
! ください.
!
! Option for clipping.
! Give gtool4 comma-graphy
! {(ex. time=100.0,x=10:20,y=^1:^5)}
!
! For details, see "5.4 gtool4
! comma-graphy" in
! {gtool4 netCDF Convention}[link:../xref.htm#label-6]
logical, intent(in), optional:: quiet
real(DP), intent(out) :: array
! 取得するデータを格納する配列
!
! 型は整数型, 単精度実数型, 倍精度実数型
! かのいづれかです. 取得するデータの空
! 間次元のサイズと配列のサイズとが一致し
! ている必要があります. 入力するデータ
! の型と *array* の型が異なる場合は, 自
! 動的に *array* の型に変換されます.
!
! Array in which input data is store
!
! Type is integer or single precision
! real or double precision. Size of
! array must be identical to input data
! size. When type of input data is
! different from type of *array*, data
! is converted to type of *array*
! automatically.
!
logical, intent(in), optional:: flag_mpi_split
! MPI 使用時にこの引数に .true. を与えると,
! *file* 引数に "_rankXXXXXX"
! (X は [0-9] の数値で, ノード番号を指す)
! を付加したファイル名を各ノードで読み込みます.
! 例えば, *file* に "input.nc" を与えた場合.
! ノード 0 では "input_rank000000.nc",
! ノード 12 では "input_rank000012.nc"
! を読み込みます.
! デフォルトは .false. です.
!
! When MPI is used, if ".true." is given,
! a filename that "_rankXXXXXX"
! (X is [0-9] that indicates node number)
! is added to *file* argument is loaded
! on each node.
! For example, "input.nc" is given to *file*,
! "input_rank000000.nc", "input_rank000012.nc"
! are loaded on node 0 and node 12.
! Default value is ".false.".
!
real(DP), intent(out), optional:: returned_time ! データの時刻
! 入力データが時刻に依存する場合は
! 入力したデータの正確な時刻が返ります.
! 時間に依存しない場合, 0
! が返ります.
!
! If input data depend on time,
! true time is returned.
! If input data do not depend on time,
! 0 is returned.
logical, intent(out), optional:: flag_time_exist
! 入力データが時刻に依存する場合は
! .true. が, そうでない場合は .false.
! が返ります.
!
! If input data depend on time,
! .true. is returned.
! Otherwise, .false. is returned.
logical, intent(out), optional:: err
! 例外処理用フラグ.
! デフォルトでは, この手続き内でエラーが
! 生じた場合, プログラムは強制終了します.
! 引数 *err* が与えられる場合,
! プログラムは強制終了せず, 代わりに
! *err* に .true. が代入されます.
!
! Exception handling flag.
! By default, when error occur in
! this procedure, the program aborts.
! If this *err* argument is given,
! .true. is substituted to *err* and
! the program does not abort.
real(DP):: array_tmp(1)
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
integer:: rank, alldims, array_rank
integer:: domain ! 変数の入出力領域の大きさ
! (= 変数が依存する各次元サイズの積)
character(STRING):: tname
integer:: stat
character(STRING):: cause_c
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)))
cause_c = ''
stat = DC_NOERR
file_work = file
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 最新時刻の URL 取得
! Get URL of latest time
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
! ファイルオープン
! File open
!
call Open( var, url, err = err )
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
!-------------------------------------------------------------------
! 配列形状のチェック
! Check array shape
!-------------------------------------------------------------------
! 入力ファイル中のデータの次元数
! Get size of dimesions in data of an input file
!
call Inquire( var = var, rank = rank, alldims = alldims ) ! (out)
! 引数の次元数のチェック (縮退されている場合には減らす)
! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
!
array_rank = 0
! 次元数の比較
! Compare sizes of dimensions
!
if ( .not. 0 == rank .and. .not. array_rank == rank ) then
if ( .not. present_and_true(quiet) ) then
call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 0/), c1 = trim(url) )
end if
stat = GT_ERANKMISMATCH
cause_c = 'array'
goto 999
end if
! 入力ファイル中のデータの配列形状取得
! Get shape of data in an input file
!
!-------------------------------------
! データ取得
! Get data
call Inquire( var = var, size = domain ) ! (out)
call Get( var = var, nvalue = domain, value = array_tmp) ! (out)
array = array_tmp(1)
call Close( var )
!-------------------------------------
! データファイル名と切り出し範囲の印字
! Print data filename and clipping range
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
end if
999 continue
call StoreError(stat, subname, err, cause_c)
call EndSub(subname)
end subroutine HistoryGetDouble0
HistoryGetDouble0( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
: | netCDF ファイル名. NetCDF filename.
|
|
varname : | character(*), intent(in)
|
array : | real(DP), intent(out)
: | 取得するデータを格納する配列
型は整数型, 単精度実数型, 倍精度実数型 かのいづれかです. 取得するデータの空
間次元のサイズと配列のサイズとが一致し ている必要があります. 入力するデータ
の型と array の型が異なる場合は, 自 動的に array
の型に変換されます.
Array in which input data is store
Type is integer or single precision real or double precision. Size of array
must be identical to input data size. When type of input data is different
from type of array, data is converted to type of array
automatically.
|
|
range : | character(*), intent(in), optional
: | 切り出し用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=^1:^5)}
詳しくは gtool4 netCDF 規約
の「5.4 コンマ記法」を参照して ください.
Option for clipping. Give gtool4 comma-graphy {(ex.
time=100.0,x=10:20,y=^1:^5)}
For details, see "5.4 gtool4 comma-graphy" in gtool4 netCDF Convention
|
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
: | MPI 使用時にこの引数に .true. を与えると, file 引数に
"_rankXXXXXX" (X は [0-9] の数値で, ノード番号を指す)
を付加したファイル名を各ノードで読み込みます. 例えば, file に
"input.nc" を与えた場合. ノード 0 では
"input_rank000000.nc", ノード 12 では
"input_rank000012.nc" を読み込みます. デフォルトは .false. です.
When MPI is used, if ".true." is given, a filename that
"_rankXXXXXX" (X is [0-9] that indicates node number) is added to
file argument is loaded on each node. For example,
"input.nc" is given to file,
"input_rank000000.nc", "input_rank000012.nc" are loaded
on node 0 and node 12. Default value is ".false.".
|
|
returned_time : | real(DP), intent(out), optional
: | データの時刻 入力データが時刻に依存する場合は
入力したデータの正確な時刻が返ります. 時間に依存しない場合, 0 が返ります.
If input data depend on time, true time is returned. If input data do not
depend on time, 0 is returned.
|
|
flag_time_exist : | logical, intent(out), optional
: | 入力データが時刻に依存する場合は .true. が, そうでない場合は .false.
が返ります.
If input data depend on time, .true. is returned. Otherwise, .false. is
returned.
|
|
err : | logical, intent(out), optional
: | 例外処理用フラグ. デフォルトでは, この手続き内でエラーが 生じた場合,
プログラムは強制終了します. 引数 err が与えられる場合,
プログラムは強制終了せず, 代わりに err に .true. が代入されます.
Exception handling flag. By default, when error occur in this procedure,
the program aborts. If this err argument is given, .true. is
substituted to err and the program does not abort.
|
|
Note that Japanese and English are described in parallel.
netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定
していますが, 大抵の netCDF データの入力は可能であると期待されます.
デフォルトでは, ファイル内の最新データ, すなわちデータを
時刻最大で切り出したものを入力します. 別の時刻または
別の次元で切り出したデータを 入力したい場合には, 下記の time
オプションもしくは range オプションを利用してください.
file にファイル名を, varname に変数名を与えます. array
にはファイルから入力されたデータが返ります.
ポインタの配列へデータを入力を行う場合は, HistoryGetPointer
を利用してください.
ある時刻のデータを明示したい場合には, その時刻を time に与えます.
整数型, 単精度実数型, 倍精度実数型の数値を与えることが可能です.
range には gtool4 のコンマ記法 (gtool4 netCDF 規約 の「5.4
コンマ記法」参照) を与えることで,
任意の次元で入力データを切り出すことが可能です. range
に空文字を与えた場合は切り出しを行いません.
HistoryGet は複数のサブルーチンの総称名です. array には 0 〜
7 次元の整数型, 単精度実数型, 倍精度実数型の配列を与えることが可能です.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Input netCDF data. NetCDF data with gtool4 conventions is assumed, but most
netCDF data is expected to be input.
Give filename to file, variable name to varname. Input data
is returned to array. If you want to use pointer array, use
"HistoryGetPointer".
By default, recent data, that is to say, data clipped with maximum time is
input. In order to input data clipped with other time or other dimension,
use time option or range option as follows.
In order to get data at certain time, specify the time to time. Type
is integer or single precision real or double precision.
Give gtool4 comma-graphy (See "5.4 gtool4 comma-graphy" in gtool4 netCDF Convention) to
range, then input data can be clipped by an arbitrary dimension. If
null character is given to range, data is not clipped.
HistoryGet is generic name of multiple subroutines. Integer, single
precision real, and double precision real 0 — 7 rank array can be
given to array.
By default, when data is input, filename and variable name and clipping
information is printed. The message is suppressed when .true. is given to
quiet
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble0
HistoryGetDouble0( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
: | netCDF ファイル名. NetCDF filename.
|
|
varname : | character(*), intent(in)
|
array : | real(DP), intent(out)
: | 取得するデータを格納する配列
型は整数型, 単精度実数型, 倍精度実数型 かのいづれかです. 取得するデータの空
間次元のサイズと配列のサイズとが一致し ている必要があります. 入力するデータ
の型と array の型が異なる場合は, 自 動的に array
の型に変換されます.
Array in which input data is store
Type is integer or single precision real or double precision. Size of array
must be identical to input data size. When type of input data is different
from type of array, data is converted to type of array
automatically.
|
|
range : | character(*), intent(in), optional
: | 切り出し用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=^1:^5)}
詳しくは gtool4 netCDF 規約
の「5.4 コンマ記法」を参照して ください.
Option for clipping. Give gtool4 comma-graphy {(ex.
time=100.0,x=10:20,y=^1:^5)}
For details, see "5.4 gtool4 comma-graphy" in gtool4 netCDF Convention
|
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
: | MPI 使用時にこの引数に .true. を与えると, file 引数に
"_rankXXXXXX" (X は [0-9] の数値で, ノード番号を指す)
を付加したファイル名を各ノードで読み込みます. 例えば, file に
"input.nc" を与えた場合. ノード 0 では
"input_rank000000.nc", ノード 12 では
"input_rank000012.nc" を読み込みます. デフォルトは .false. です.
When MPI is used, if ".true." is given, a filename that
"_rankXXXXXX" (X is [0-9] that indicates node number) is added to
file argument is loaded on each node. For example,
"input.nc" is given to file,
"input_rank000000.nc", "input_rank000012.nc" are loaded
on node 0 and node 12. Default value is ".false.".
|
|
returned_time : | real(DP), intent(out), optional
: | データの時刻 入力データが時刻に依存する場合は
入力したデータの正確な時刻が返ります. 時間に依存しない場合, 0 が返ります.
If input data depend on time, true time is returned. If input data do not
depend on time, 0 is returned.
|
|
flag_time_exist : | logical, intent(out), optional
: | 入力データが時刻に依存する場合は .true. が, そうでない場合は .false.
が返ります.
If input data depend on time, .true. is returned. Otherwise, .false. is
returned.
|
|
err : | logical, intent(out), optional
: | 例外処理用フラグ. デフォルトでは, この手続き内でエラーが 生じた場合,
プログラムは強制終了します. 引数 err が与えられる場合,
プログラムは強制終了せず, 代わりに err に .true. が代入されます.
Exception handling flag. By default, when error occur in this procedure,
the program aborts. If this err argument is given, .true. is
substituted to err and the program does not abort.
|
|
Note that Japanese and English are described in parallel.
netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定
していますが, 大抵の netCDF データの入力は可能であると期待されます.
デフォルトでは, ファイル内の最新データ, すなわちデータを
時刻最大で切り出したものを入力します. 別の時刻または
別の次元で切り出したデータを 入力したい場合には, 下記の time
オプションもしくは range オプションを利用してください.
file にファイル名を, varname に変数名を与えます. array
にはファイルから入力されたデータが返ります.
ポインタの配列へデータを入力を行う場合は, HistoryGetPointer
を利用してください.
ある時刻のデータを明示したい場合には, その時刻を time に与えます.
整数型, 単精度実数型, 倍精度実数型の数値を与えることが可能です.
range には gtool4 のコンマ記法 (gtool4 netCDF 規約 の「5.4
コンマ記法」参照) を与えることで,
任意の次元で入力データを切り出すことが可能です. range
に空文字を与えた場合は切り出しを行いません.
HistoryGet は複数のサブルーチンの総称名です. array には 0 〜
7 次元の整数型, 単精度実数型, 倍精度実数型の配列を与えることが可能です.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Input netCDF data. NetCDF data with gtool4 conventions is assumed, but most
netCDF data is expected to be input.
Give filename to file, variable name to varname. Input data
is returned to array. If you want to use pointer array, use
"HistoryGetPointer".
By default, recent data, that is to say, data clipped with maximum time is
input. In order to input data clipped with other time or other dimension,
use time option or range option as follows.
In order to get data at certain time, specify the time to time. Type
is integer or single precision real or double precision.
Give gtool4 comma-graphy (See "5.4 gtool4 comma-graphy" in gtool4 netCDF Convention) to
range, then input data can be clipped by an arbitrary dimension. If
null character is given to range, data is not clipped.
HistoryGet is generic name of multiple subroutines. Integer, single
precision real, and double precision real 0 — 7 rank array can be
given to array.
By default, when data is input, filename and variable name and clipping
information is printed. The message is suppressed when .true. is given to
quiet
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble0
HistoryGetDouble0( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
: | netCDF ファイル名. NetCDF filename.
|
|
varname : | character(*), intent(in)
|
array : | real(DP), intent(out)
: | 取得するデータを格納する配列
型は整数型, 単精度実数型, 倍精度実数型 かのいづれかです. 取得するデータの空
間次元のサイズと配列のサイズとが一致し ている必要があります. 入力するデータ
の型と array の型が異なる場合は, 自 動的に array
の型に変換されます.
Array in which input data is store
Type is integer or single precision real or double precision. Size of array
must be identical to input data size. When type of input data is different
from type of array, data is converted to type of array
automatically.
|
|
range : | character(*), intent(in), optional
: | 切り出し用オプション. gtool4 変数のコンマ記法で記述 {(例:
time=100.0,x=10:20,y=^1:^5)}
詳しくは gtool4 netCDF 規約
の「5.4 コンマ記法」を参照して ください.
Option for clipping. Give gtool4 comma-graphy {(ex.
time=100.0,x=10:20,y=^1:^5)}
For details, see "5.4 gtool4 comma-graphy" in gtool4 netCDF Convention
|
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
: | MPI 使用時にこの引数に .true. を与えると, file 引数に
"_rankXXXXXX" (X は [0-9] の数値で, ノード番号を指す)
を付加したファイル名を各ノードで読み込みます. 例えば, file に
"input.nc" を与えた場合. ノード 0 では
"input_rank000000.nc", ノード 12 では
"input_rank000012.nc" を読み込みます. デフォルトは .false. です.
When MPI is used, if ".true." is given, a filename that
"_rankXXXXXX" (X is [0-9] that indicates node number) is added to
file argument is loaded on each node. For example,
"input.nc" is given to file,
"input_rank000000.nc", "input_rank000012.nc" are loaded
on node 0 and node 12. Default value is ".false.".
|
|
returned_time : | real(DP), intent(out), optional
: | データの時刻 入力データが時刻に依存する場合は
入力したデータの正確な時刻が返ります. 時間に依存しない場合, 0 が返ります.
If input data depend on time, true time is returned. If input data do not
depend on time, 0 is returned.
|
|
flag_time_exist : | logical, intent(out), optional
: | 入力データが時刻に依存する場合は .true. が, そうでない場合は .false.
が返ります.
If input data depend on time, .true. is returned. Otherwise, .false. is
returned.
|
|
err : | logical, intent(out), optional
: | 例外処理用フラグ. デフォルトでは, この手続き内でエラーが 生じた場合,
プログラムは強制終了します. 引数 err が与えられる場合,
プログラムは強制終了せず, 代わりに err に .true. が代入されます.
Exception handling flag. By default, when error occur in this procedure,
the program aborts. If this err argument is given, .true. is
substituted to err and the program does not abort.
|
|
Note that Japanese and English are described in parallel.
netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定
していますが, 大抵の netCDF データの入力は可能であると期待されます.
デフォルトでは, ファイル内の最新データ, すなわちデータを
時刻最大で切り出したものを入力します. 別の時刻または
別の次元で切り出したデータを 入力したい場合には, 下記の time
オプションもしくは range オプションを利用してください.
file にファイル名を, varname に変数名を与えます. array
にはファイルから入力されたデータが返ります.
ポインタの配列へデータを入力を行う場合は, HistoryGetPointer
を利用してください.
ある時刻のデータを明示したい場合には, その時刻を time に与えます.
整数型, 単精度実数型, 倍精度実数型の数値を与えることが可能です.
range には gtool4 のコンマ記法 (gtool4 netCDF 規約 の「5.4
コンマ記法」参照) を与えることで,
任意の次元で入力データを切り出すことが可能です. range
に空文字を与えた場合は切り出しを行いません.
HistoryGet は複数のサブルーチンの総称名です. array には 0 〜
7 次元の整数型, 単精度実数型, 倍精度実数型の配列を与えることが可能です.
デフォルトでは, データの入力時にどのファイルのどの変数が
どの次元で切り出されて入力されたのかを表示します.
メッセージ出力が不要な場合は quiet に .true. を与えてください.
Input netCDF data. NetCDF data with gtool4 conventions is assumed, but most
netCDF data is expected to be input.
Give filename to file, variable name to varname. Input data
is returned to array. If you want to use pointer array, use
"HistoryGetPointer".
By default, recent data, that is to say, data clipped with maximum time is
input. In order to input data clipped with other time or other dimension,
use time option or range option as follows.
In order to get data at certain time, specify the time to time. Type
is integer or single precision real or double precision.
Give gtool4 comma-graphy (See "5.4 gtool4 comma-graphy" in gtool4 netCDF Convention) to
range, then input data can be clipped by an arbitrary dimension. If
null character is given to range, data is not clipped.
HistoryGet is generic name of multiple subroutines. Integer, single
precision real, and double precision real 0 — 7 rank array can be
given to array.
By default, when data is input, filename and variable name and clipping
information is printed. The message is suppressed when .true. is given to
quiet
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble0
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | real(DP), pointer
: | (out)
取得するデータを格納する ポインタ配列.
必ず空状態の配列を与えてください. すなわち与える配列に対し, 初期値
=>null() を設定するか nullify を用いて ください.
既に割り付けられている場合, もしくは不定状態の場合にはエラーを返し ます.
型は整数型, 単精度実数型, 倍精度実数型 かのいづれかです. 入力するデータ
の型と array の型が異なる場合は, 自 動的に array
の型に変換されます.
Array in which input data is store.
Give null array to array. More specifically, use
’=>null()’ as initial value or use ‘nullify’ to
the array. If the array is allocated already, or undefined, error is
occurred.
Type is integer or single precision real or double precision real. When
type of input data is different from type of array, data is
converted to type of array automatically.
|
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
: | MPI 使用時にこの引数に .true. を与えると, file 引数に
"_rankXXXXXX" (X は [0-9] の数値で, ノード番号を指す)
を付加したファイル名を各ノードで読み込みます. 例えば, file に
"input.nc" を与えた場合. ノード 0 では
"input_rank000000.nc", ノード 12 では
"input_rank000012.nc" を読み込みます. デフォルトは .false. です.
When MPI is used, if ".true." is given, a filename that
"_rankXXXXXX" (X is [0-9] that indicates node number) is added to
file argument is loaded on each node. For example,
"input.nc" is given to file,
"input_rank000000.nc", "input_rank000012.nc" are loaded
on node 0 and node 12. Default value is ".false.".
|
|
returned_time : | real(DP), intent(out), optional
: | データの時刻 入力データが時刻に依存する場合は
入力したデータの正確な時刻が返ります. 時間に依存しない場合, 0 が返ります.
If input data depend on time, true time is returned. If input data do not
depend on time, 0 is returned.
|
|
flag_time_exist : | logical, intent(out), optional
: | 入力データが時刻に依存する場合は .true. が, そうでない場合は .false.
が返ります.
If input data depend on time, .true. is returned. Otherwise, .false. is
returned.
|
|
err : | logical, intent(out), optional
: | 例外処理用フラグ. デフォルトでは, この手続き内でエラーが 生じた場合,
プログラムは強制終了します. 引数 err が与えられる場合,
プログラムは強制終了せず, 代わりに err に .true. が代入されます.
Exception handling flag. By default, when error occur in this procedure,
the program aborts. If this err argument is given, .true. is
substituted to err and the program does not abort.
|
|
Note that Japanese and English are described in parallel.
netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定
していますが, 大抵の netCDF データの入力は可能であると期待されます.
基本的な使い方に関しては HistoryGet を参照してください. HistoryGet
との違いは, array にポインタ配列を与えることです. array
には必ず空状態の配列を与えてください. すなわち与える配列に対し, 初期値
=>null() を設定するか nullify を用いてください.
既に割り付けられている場合, もしくは不定状態の場合には エラーを返します.
Input netCDF data. NetCDF data with gtool4 conventions is assumed, but most
netCDF data is expected to be input.
See "HistoryGet", for basic usage. Difference from
"HistoryGet" is that array is pointer array. Give null
array to array. More specifically, use ’=>null()’ as
initial value or use ‘nullify’ to the array. If the array is
allocated already, or undefined, error is occurred.
[Source]
subroutine HistoryGetDouble0Pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定
! していますが, 大抵の netCDF データの入力は可能であると期待されます.
!
! 基本的な使い方に関しては HistoryGet を参照してください.
! HistoryGet との違いは, *array* にポインタ配列を与えることです.
! *array* には必ず空状態の配列を与えてください.
! すなわち与える配列に対し, 初期値 =>null() を設定するか
! nullify を用いてください.
! 既に割り付けられている場合, もしくは不定状態の場合には
! エラーを返します.
!
! Input netCDF data. NetCDF data with gtool4 conventions is assumed,
! but most netCDF data is expected to be input.
!
! See "HistoryGet", for basic usage.
! Difference from "HistoryGet" is that *array* is pointer array.
! Give null array to *array*.
! More specifically, use '=>null()' as initial value or
! use 'nullify' to the array.
! If the array is allocated already, or undefined,
! error is occurred.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar
use dc_present,only: present_select, present_and_true
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real(DP), pointer :: array ! (out)
!
! 取得するデータを格納する
! ポインタ配列.
!
! 必ず空状態の配列を与えてください.
! すなわち与える配列に対し, 初期値 =>null()
! を設定するか nullify を用いて
! ください. 既に割り付けられている場合,
! もしくは不定状態の場合にはエラーを返し
! ます.
!
! 型は整数型, 単精度実数型, 倍精度実数型
! かのいづれかです. 入力するデータ
! の型と *array* の型が異なる場合は, 自
! 動的に *array* の型に変換されます.
!
! Array in which input data is store.
!
! Give null array to *array*. More
! specifically, use '=>null()' as
! initial value or use 'nullify' to the
! array. If the array is allocated
! already, or undefined, error is
! occurred.
!
! Type is integer or single precision
! real or double precision real. When type of
! input data is different from type of
! *array*, data is converted to type of
! *array* automatically.
!
logical, intent(in), optional:: flag_mpi_split
! MPI 使用時にこの引数に .true. を与えると,
! *file* 引数に "_rankXXXXXX"
! (X は [0-9] の数値で, ノード番号を指す)
! を付加したファイル名を各ノードで読み込みます.
! 例えば, *file* に "input.nc" を与えた場合.
! ノード 0 では "input_rank000000.nc",
! ノード 12 では "input_rank000012.nc"
! を読み込みます.
! デフォルトは .false. です.
!
! When MPI is used, if ".true." is given,
! a filename that "_rankXXXXXX"
! (X is [0-9] that indicates node number)
! is added to *file* argument is loaded
! on each node.
! For example, "input.nc" is given to *file*,
! "input_rank000000.nc", "input_rank000012.nc"
! are loaded on node 0 and node 12.
! Default value is ".false.".
!
real(DP), intent(out), optional:: returned_time ! データの時刻
! 入力データが時刻に依存する場合は
! 入力したデータの正確な時刻が返ります.
! 時間に依存しない場合, 0
! が返ります.
!
! If input data depend on time,
! true time is returned.
! If input data do not depend on time,
! 0 is returned.
logical, intent(out), optional:: flag_time_exist
! 入力データが時刻に依存する場合は
! .true. が, そうでない場合は .false.
! が返ります.
!
! If input data depend on time,
! .true. is returned.
! Otherwise, .false. is returned.
logical, intent(out), optional:: err
! 例外処理用フラグ.
! デフォルトでは, この手続き内でエラーが
! 生じた場合, プログラムは強制終了します.
! 引数 *err* が与えられる場合,
! プログラムは強制終了せず, 代わりに
! *err* に .true. が代入されます.
!
! Exception handling flag.
! By default, when error occur in
! this procedure, the program aborts.
! If this *err* argument is given,
! .true. is substituted to *err* and
! the program does not abort.
real(DP), target :: array_tmp(1)
integer:: domain ! 変数の入出力領域の大きさ
! (= 変数が依存する各次元サイズの積)
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
character(STRING):: tname
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)))
file_work = file
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 必要な情報を gtool 変数化
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
allocate(array)
call DbgMessage('@ url =%c', c1=trim(url))
! いよいよデータ取得
!
call Open(var, url, err)
call Inquire(var=var, size=domain)
call Get(var, array_tmp, domain, err)
array = array_tmp(1)
call Close(var, err)
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
end if
call EndSub(subname)
end subroutine HistoryGetDouble0Pointer
HistoryGetDouble0Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | real(DP), pointer
: | (out)
取得するデータを格納する ポインタ配列.
必ず空状態の配列を与えてください. すなわち与える配列に対し, 初期値
=>null() を設定するか nullify を用いて ください.
既に割り付けられている場合, もしくは不定状態の場合にはエラーを返し ます.
型は整数型, 単精度実数型, 倍精度実数型 かのいづれかです. 入力するデータ
の型と array の型が異なる場合は, 自 動的に array
の型に変換されます.
Array in which input data is store.
Give null array to array. More specifically, use
’=>null()’ as initial value or use ‘nullify’ to
the array. If the array is allocated already, or undefined, error is
occurred.
Type is integer or single precision real or double precision real. When
type of input data is different from type of array, data is
converted to type of array automatically.
|
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
: | MPI 使用時にこの引数に .true. を与えると, file 引数に
"_rankXXXXXX" (X は [0-9] の数値で, ノード番号を指す)
を付加したファイル名を各ノードで読み込みます. 例えば, file に
"input.nc" を与えた場合. ノード 0 では
"input_rank000000.nc", ノード 12 では
"input_rank000012.nc" を読み込みます. デフォルトは .false. です.
When MPI is used, if ".true." is given, a filename that
"_rankXXXXXX" (X is [0-9] that indicates node number) is added to
file argument is loaded on each node. For example,
"input.nc" is given to file,
"input_rank000000.nc", "input_rank000012.nc" are loaded
on node 0 and node 12. Default value is ".false.".
|
|
returned_time : | real(DP), intent(out), optional
: | データの時刻 入力データが時刻に依存する場合は
入力したデータの正確な時刻が返ります. 時間に依存しない場合, 0 が返ります.
If input data depend on time, true time is returned. If input data do not
depend on time, 0 is returned.
|
|
flag_time_exist : | logical, intent(out), optional
: | 入力データが時刻に依存する場合は .true. が, そうでない場合は .false.
が返ります.
If input data depend on time, .true. is returned. Otherwise, .false. is
returned.
|
|
err : | logical, intent(out), optional
: | 例外処理用フラグ. デフォルトでは, この手続き内でエラーが 生じた場合,
プログラムは強制終了します. 引数 err が与えられる場合,
プログラムは強制終了せず, 代わりに err に .true. が代入されます.
Exception handling flag. By default, when error occur in this procedure,
the program aborts. If this err argument is given, .true. is
substituted to err and the program does not abort.
|
|
Note that Japanese and English are described in parallel.
netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定
していますが, 大抵の netCDF データの入力は可能であると期待されます.
基本的な使い方に関しては HistoryGet を参照してください. HistoryGet
との違いは, array にポインタ配列を与えることです. array
には必ず空状態の配列を与えてください. すなわち与える配列に対し, 初期値
=>null() を設定するか nullify を用いてください.
既に割り付けられている場合, もしくは不定状態の場合には エラーを返します.
Input netCDF data. NetCDF data with gtool4 conventions is assumed, but most
netCDF data is expected to be input.
See "HistoryGet", for basic usage. Difference from
"HistoryGet" is that array is pointer array. Give null
array to array. More specifically, use ’=>null()’ as
initial value or use ‘nullify’ to the array. If the array is
allocated already, or undefined, error is occurred.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble0Pointer
HistoryGetDouble0Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | real(DP), pointer
: | (out)
取得するデータを格納する ポインタ配列.
必ず空状態の配列を与えてください. すなわち与える配列に対し, 初期値
=>null() を設定するか nullify を用いて ください.
既に割り付けられている場合, もしくは不定状態の場合にはエラーを返し ます.
型は整数型, 単精度実数型, 倍精度実数型 かのいづれかです. 入力するデータ
の型と array の型が異なる場合は, 自 動的に array
の型に変換されます.
Array in which input data is store.
Give null array to array. More specifically, use
’=>null()’ as initial value or use ‘nullify’ to
the array. If the array is allocated already, or undefined, error is
occurred.
Type is integer or single precision real or double precision real. When
type of input data is different from type of array, data is
converted to type of array automatically.
|
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
: | MPI 使用時にこの引数に .true. を与えると, file 引数に
"_rankXXXXXX" (X は [0-9] の数値で, ノード番号を指す)
を付加したファイル名を各ノードで読み込みます. 例えば, file に
"input.nc" を与えた場合. ノード 0 では
"input_rank000000.nc", ノード 12 では
"input_rank000012.nc" を読み込みます. デフォルトは .false. です.
When MPI is used, if ".true." is given, a filename that
"_rankXXXXXX" (X is [0-9] that indicates node number) is added to
file argument is loaded on each node. For example,
"input.nc" is given to file,
"input_rank000000.nc", "input_rank000012.nc" are loaded
on node 0 and node 12. Default value is ".false.".
|
|
returned_time : | real(DP), intent(out), optional
: | データの時刻 入力データが時刻に依存する場合は
入力したデータの正確な時刻が返ります. 時間に依存しない場合, 0 が返ります.
If input data depend on time, true time is returned. If input data do not
depend on time, 0 is returned.
|
|
flag_time_exist : | logical, intent(out), optional
: | 入力データが時刻に依存する場合は .true. が, そうでない場合は .false.
が返ります.
If input data depend on time, .true. is returned. Otherwise, .false. is
returned.
|
|
err : | logical, intent(out), optional
: | 例外処理用フラグ. デフォルトでは, この手続き内でエラーが 生じた場合,
プログラムは強制終了します. 引数 err が与えられる場合,
プログラムは強制終了せず, 代わりに err に .true. が代入されます.
Exception handling flag. By default, when error occur in this procedure,
the program aborts. If this err argument is given, .true. is
substituted to err and the program does not abort.
|
|
Note that Japanese and English are described in parallel.
netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定
していますが, 大抵の netCDF データの入力は可能であると期待されます.
基本的な使い方に関しては HistoryGet を参照してください. HistoryGet
との違いは, array にポインタ配列を与えることです. array
には必ず空状態の配列を与えてください. すなわち与える配列に対し, 初期値
=>null() を設定するか nullify を用いてください.
既に割り付けられている場合, もしくは不定状態の場合には エラーを返します.
Input netCDF data. NetCDF data with gtool4 conventions is assumed, but most
netCDF data is expected to be input.
See "HistoryGet", for basic usage. Difference from
"HistoryGet" is that array is pointer array. Give null
array to array. More specifically, use ’=>null()’ as
initial value or use ‘nullify’ to the array. If the array is
allocated already, or undefined, error is occurred.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble0Pointer
HistoryGetDouble0Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | real(DP), pointer
: | (out)
取得するデータを格納する ポインタ配列.
必ず空状態の配列を与えてください. すなわち与える配列に対し, 初期値
=>null() を設定するか nullify を用いて ください.
既に割り付けられている場合, もしくは不定状態の場合にはエラーを返し ます.
型は整数型, 単精度実数型, 倍精度実数型 かのいづれかです. 入力するデータ
の型と array の型が異なる場合は, 自 動的に array
の型に変換されます.
Array in which input data is store.
Give null array to array. More specifically, use
’=>null()’ as initial value or use ‘nullify’ to
the array. If the array is allocated already, or undefined, error is
occurred.
Type is integer or single precision real or double precision real. When
type of input data is different from type of array, data is
converted to type of array automatically.
|
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
: | MPI 使用時にこの引数に .true. を与えると, file 引数に
"_rankXXXXXX" (X は [0-9] の数値で, ノード番号を指す)
を付加したファイル名を各ノードで読み込みます. 例えば, file に
"input.nc" を与えた場合. ノード 0 では
"input_rank000000.nc", ノード 12 では
"input_rank000012.nc" を読み込みます. デフォルトは .false. です.
When MPI is used, if ".true." is given, a filename that
"_rankXXXXXX" (X is [0-9] that indicates node number) is added to
file argument is loaded on each node. For example,
"input.nc" is given to file,
"input_rank000000.nc", "input_rank000012.nc" are loaded
on node 0 and node 12. Default value is ".false.".
|
|
returned_time : | real(DP), intent(out), optional
: | データの時刻 入力データが時刻に依存する場合は
入力したデータの正確な時刻が返ります. 時間に依存しない場合, 0 が返ります.
If input data depend on time, true time is returned. If input data do not
depend on time, 0 is returned.
|
|
flag_time_exist : | logical, intent(out), optional
: | 入力データが時刻に依存する場合は .true. が, そうでない場合は .false.
が返ります.
If input data depend on time, .true. is returned. Otherwise, .false. is
returned.
|
|
err : | logical, intent(out), optional
: | 例外処理用フラグ. デフォルトでは, この手続き内でエラーが 生じた場合,
プログラムは強制終了します. 引数 err が与えられる場合,
プログラムは強制終了せず, 代わりに err に .true. が代入されます.
Exception handling flag. By default, when error occur in this procedure,
the program aborts. If this err argument is given, .true. is
substituted to err and the program does not abort.
|
|
Note that Japanese and English are described in parallel.
netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定
していますが, 大抵の netCDF データの入力は可能であると期待されます.
基本的な使い方に関しては HistoryGet を参照してください. HistoryGet
との違いは, array にポインタ配列を与えることです. array
には必ず空状態の配列を与えてください. すなわち与える配列に対し, 初期値
=>null() を設定するか nullify を用いてください.
既に割り付けられている場合, もしくは不定状態の場合には エラーを返します.
Input netCDF data. NetCDF data with gtool4 conventions is assumed, but most
netCDF data is expected to be input.
See "HistoryGet", for basic usage. Difference from
"HistoryGet" is that array is pointer array. Give null
array to array. More specifically, use ’=>null()’ as
initial value or use ‘nullify’ to the array. If the array is
allocated already, or undefined, error is occurred.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble0Pointer
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | real(DP), pointer
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetDouble0PointerTimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
real(DP), pointer:: array ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble0PointerTimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble0Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble0PointerTimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | real(DP), pointer
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetDouble0PointerTimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
real(DP), pointer:: array ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble0PointerTimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble0Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble0PointerTimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | real(DP), pointer
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetDouble0PointerTimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
real(DP), pointer:: array ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble0PointerTimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble0Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble0PointerTimeR
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | real(DP), intent(out)
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetDouble0TimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
real(DP), intent(out):: array
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble0TimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble0( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble0TimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | real(DP), intent(out)
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetDouble0TimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
real(DP), intent(out):: array
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble0TimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble0( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble0TimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | real(DP), intent(out)
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetDouble0TimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
real(DP), intent(out):: array
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble0TimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble0( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble0TimeR
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetDouble1(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
!
! 使用方法に関しては HistoryGet を参照してください.
!
! See "HistoryGet", for basic usage.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar, Split, JoinChar, StoA
use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
use dc_present, only: present_select, present_and_not_empty, present_and_true
use dc_regex, only: match
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real(DP), intent(out) :: array(:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time ! データの時刻
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
real(DP), allocatable:: array_tmp(:)
integer:: array_allsize
integer:: array_shape(1), data_shape(1), array_shape_check(1)
integer:: allcount
integer:: i, sd
logical:: inq_err
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
integer:: rank, alldims, array_rank
integer:: domain ! 変数の入出力領域の大きさ
! (= 変数が依存する各次元サイズの積)
character(STRING):: tname
integer:: stat
character(STRING):: cause_c
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)))
cause_c = ''
stat = DC_NOERR
file_work = file
! 配列形状の取得
! Get array shape
!
array_shape = shape( array )
array_allsize = size( array )
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 最新時刻の URL 取得
! Get URL of latest time
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
! ファイルオープン
! File open
!
call Open( var, url, err = err )
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
!-------------------------------------------------------------------
! 配列形状のチェック
! Check array shape
!-------------------------------------------------------------------
! 入力ファイル中のデータの次元数
! Get size of dimesions in data of an input file
!
call Inquire( var = var, rank = rank, alldims = alldims ) ! (out)
! 引数の次元数のチェック (縮退されている場合には減らす)
! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
!
array_rank = 1
if ( size( array, 1 ) == 1 ) array_rank = array_rank - 1
! 次元数の比較
! Compare sizes of dimensions
!
if ( .not. 1 == rank .and. .not. array_rank == rank ) then
if ( .not. present_and_true(quiet) ) then
call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 1/), c1 = trim(url) )
end if
stat = GT_ERANKMISMATCH
cause_c = 'array'
goto 999
end if
! 入力ファイル中のデータの配列形状取得
! Get shape of data in an input file
!
call Inquire( var = var , dimord = 1, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(1) = allcount
else
data_shape(1) = 1
end if
! 引数の配列形状整形
! Arrange shape of an argument
!
array_shape_check = array_shape
sd = 1
do i = 1, 1 - 1
if ( array_shape_check(sd) == 1 ) then
array_shape_check(sd:1) = cshift( array_shape_check(sd:1), 1, 1 )
else
sd = sd + 1
end if
end do
! 配列形状の比較
! Compare shapes
!
if ( .not. all( array_shape_check == data_shape ) ) then
if ( .not. present_and_true(quiet) ) then
call MessageNotify('W', subname, 'Shape of data (%c) is (%c), shape of argument is (%c)', c1 = trim( url ), c2 = trim( toChar( data_shape(1:rank) ) ), c3 = trim( toChar( array_shape_check(1:rank) ) ) )
end if
stat = GT_EARGSIZEMISMATCH
cause_c = 'array'
goto 999
end if
!-------------------------------------
! データ取得
! Get data
call Inquire( var = var, size = domain ) ! (out)
if ( allocated( array_tmp ) ) deallocate( array_tmp )
allocate( array_tmp(array_allsize) )
call Get( var, array_tmp, domain )
array = reshape( array_tmp, array_shape )
deallocate( array_tmp )
call Close( var )
!-------------------------------------
! データファイル名と切り出し範囲の印字
! Print data filename and clipping range
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
end if
999 continue
call StoreError(stat, subname, err, cause_c)
call EndSub(subname)
end subroutine HistoryGetDouble1
HistoryGetDouble1( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble1
HistoryGetDouble1( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble1
HistoryGetDouble1( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble1
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real(DP), pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
[Source]
subroutine HistoryGetDouble1Pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! See "HistoryGetPointer", for basic usage.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar
use dc_present,only: present_select, present_and_true
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real(DP), pointer :: array(:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time ! データの時刻
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
character(STRING):: tname
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)))
file_work = file
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 必要な情報を gtool 変数化
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call DbgMessage('@ url =%c', c1=trim(url))
! いよいよデータ取得
!
call Open(var, url, err)
call Get(var, array, err)
call Close(var, err)
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
end if
call EndSub(subname)
end subroutine HistoryGetDouble1Pointer
HistoryGetDouble1Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real(DP), pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble1Pointer
HistoryGetDouble1Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real(DP), pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble1Pointer
HistoryGetDouble1Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real(DP), pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble1Pointer
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real(DP), pointer
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetDouble1PointerTimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
real(DP), pointer:: array(:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble1PointerTimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble1Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble1PointerTimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real(DP), pointer
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetDouble1PointerTimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
real(DP), pointer:: array(:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble1PointerTimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble1Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble1PointerTimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real(DP), pointer
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetDouble1PointerTimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
real(DP), pointer:: array(:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble1PointerTimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble1Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble1PointerTimeR
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real(DP), intent(out)
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetDouble1TimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
real(DP), intent(out):: array(:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble1TimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble1( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble1TimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real(DP), intent(out)
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetDouble1TimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
real(DP), intent(out):: array(:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble1TimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble1( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble1TimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real(DP), intent(out)
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetDouble1TimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
real(DP), intent(out):: array(:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble1TimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble1( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble1TimeR
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetDouble2(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
!
! 使用方法に関しては HistoryGet を参照してください.
!
! See "HistoryGet", for basic usage.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar, Split, JoinChar, StoA
use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
use dc_present, only: present_select, present_and_not_empty, present_and_true
use dc_regex, only: match
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real(DP), intent(out) :: array(:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time ! データの時刻
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
real(DP), allocatable:: array_tmp(:)
integer:: array_allsize
integer:: array_shape(2), data_shape(2), array_shape_check(2)
integer:: allcount
integer:: i, sd
logical:: inq_err
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
integer:: rank, alldims, array_rank
integer:: domain ! 変数の入出力領域の大きさ
! (= 変数が依存する各次元サイズの積)
character(STRING):: tname
integer:: stat
character(STRING):: cause_c
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)))
cause_c = ''
stat = DC_NOERR
file_work = file
! 配列形状の取得
! Get array shape
!
array_shape = shape( array )
array_allsize = size( array )
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 最新時刻の URL 取得
! Get URL of latest time
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
! ファイルオープン
! File open
!
call Open( var, url, err = err )
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
!-------------------------------------------------------------------
! 配列形状のチェック
! Check array shape
!-------------------------------------------------------------------
! 入力ファイル中のデータの次元数
! Get size of dimesions in data of an input file
!
call Inquire( var = var, rank = rank, alldims = alldims ) ! (out)
! 引数の次元数のチェック (縮退されている場合には減らす)
! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
!
array_rank = 2
if ( size( array, 1 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 2 ) == 1 ) array_rank = array_rank - 1
! 次元数の比較
! Compare sizes of dimensions
!
if ( .not. 2 == rank .and. .not. array_rank == rank ) then
if ( .not. present_and_true(quiet) ) then
call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 2/), c1 = trim(url) )
end if
stat = GT_ERANKMISMATCH
cause_c = 'array'
goto 999
end if
! 入力ファイル中のデータの配列形状取得
! Get shape of data in an input file
!
call Inquire( var = var , dimord = 1, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(1) = allcount
else
data_shape(1) = 1
end if
call Inquire( var = var , dimord = 2, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(2) = allcount
else
data_shape(2) = 1
end if
! 引数の配列形状整形
! Arrange shape of an argument
!
array_shape_check = array_shape
sd = 1
do i = 1, 2 - 1
if ( array_shape_check(sd) == 1 ) then
array_shape_check(sd:2) = cshift( array_shape_check(sd:2), 1, 1 )
else
sd = sd + 1
end if
end do
! 配列形状の比較
! Compare shapes
!
if ( .not. all( array_shape_check == data_shape ) ) then
if ( .not. present_and_true(quiet) ) then
call MessageNotify('W', subname, 'Shape of data (%c) is (%c), shape of argument is (%c)', c1 = trim( url ), c2 = trim( toChar( data_shape(1:rank) ) ), c3 = trim( toChar( array_shape_check(1:rank) ) ) )
end if
stat = GT_EARGSIZEMISMATCH
cause_c = 'array'
goto 999
end if
!-------------------------------------
! データ取得
! Get data
call Inquire( var = var, size = domain ) ! (out)
if ( allocated( array_tmp ) ) deallocate( array_tmp )
allocate( array_tmp(array_allsize) )
call Get( var, array_tmp, domain )
array = reshape( array_tmp, array_shape )
deallocate( array_tmp )
call Close( var )
!-------------------------------------
! データファイル名と切り出し範囲の印字
! Print data filename and clipping range
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
end if
999 continue
call StoreError(stat, subname, err, cause_c)
call EndSub(subname)
end subroutine HistoryGetDouble2
HistoryGetDouble2( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble2
HistoryGetDouble2( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble2
HistoryGetDouble2( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble2
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real(DP), pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
[Source]
subroutine HistoryGetDouble2Pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! See "HistoryGetPointer", for basic usage.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar
use dc_present,only: present_select, present_and_true
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real(DP), pointer :: array(:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time ! データの時刻
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
character(STRING):: tname
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)))
file_work = file
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 必要な情報を gtool 変数化
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call DbgMessage('@ url =%c', c1=trim(url))
! いよいよデータ取得
!
call Open(var, url, err)
call Get(var, array, err)
call Close(var, err)
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
end if
call EndSub(subname)
end subroutine HistoryGetDouble2Pointer
HistoryGetDouble2Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real(DP), pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble2Pointer
HistoryGetDouble2Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real(DP), pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble2Pointer
HistoryGetDouble2Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real(DP), pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble2Pointer
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real(DP), pointer
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetDouble2PointerTimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
real(DP), pointer:: array(:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble2PointerTimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble2Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble2PointerTimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real(DP), pointer
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetDouble2PointerTimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
real(DP), pointer:: array(:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble2PointerTimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble2Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble2PointerTimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real(DP), pointer
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetDouble2PointerTimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
real(DP), pointer:: array(:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble2PointerTimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble2Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble2PointerTimeR
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real(DP), intent(out)
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetDouble2TimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
real(DP), intent(out):: array(:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble2TimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble2( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble2TimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real(DP), intent(out)
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetDouble2TimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
real(DP), intent(out):: array(:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble2TimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble2( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble2TimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real(DP), intent(out)
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetDouble2TimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
real(DP), intent(out):: array(:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble2TimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble2( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble2TimeR
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetDouble3(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
!
! 使用方法に関しては HistoryGet を参照してください.
!
! See "HistoryGet", for basic usage.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar, Split, JoinChar, StoA
use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
use dc_present, only: present_select, present_and_not_empty, present_and_true
use dc_regex, only: match
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real(DP), intent(out) :: array(:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time ! データの時刻
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
real(DP), allocatable:: array_tmp(:)
integer:: array_allsize
integer:: array_shape(3), data_shape(3), array_shape_check(3)
integer:: allcount
integer:: i, sd
logical:: inq_err
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
integer:: rank, alldims, array_rank
integer:: domain ! 変数の入出力領域の大きさ
! (= 変数が依存する各次元サイズの積)
character(STRING):: tname
integer:: stat
character(STRING):: cause_c
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)))
cause_c = ''
stat = DC_NOERR
file_work = file
! 配列形状の取得
! Get array shape
!
array_shape = shape( array )
array_allsize = size( array )
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 最新時刻の URL 取得
! Get URL of latest time
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
! ファイルオープン
! File open
!
call Open( var, url, err = err )
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
!-------------------------------------------------------------------
! 配列形状のチェック
! Check array shape
!-------------------------------------------------------------------
! 入力ファイル中のデータの次元数
! Get size of dimesions in data of an input file
!
call Inquire( var = var, rank = rank, alldims = alldims ) ! (out)
! 引数の次元数のチェック (縮退されている場合には減らす)
! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
!
array_rank = 3
if ( size( array, 1 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 2 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 3 ) == 1 ) array_rank = array_rank - 1
! 次元数の比較
! Compare sizes of dimensions
!
if ( .not. 3 == rank .and. .not. array_rank == rank ) then
if ( .not. present_and_true(quiet) ) then
call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 3/), c1 = trim(url) )
end if
stat = GT_ERANKMISMATCH
cause_c = 'array'
goto 999
end if
! 入力ファイル中のデータの配列形状取得
! Get shape of data in an input file
!
call Inquire( var = var , dimord = 1, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(1) = allcount
else
data_shape(1) = 1
end if
call Inquire( var = var , dimord = 2, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(2) = allcount
else
data_shape(2) = 1
end if
call Inquire( var = var , dimord = 3, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(3) = allcount
else
data_shape(3) = 1
end if
! 引数の配列形状整形
! Arrange shape of an argument
!
array_shape_check = array_shape
sd = 1
do i = 1, 3 - 1
if ( array_shape_check(sd) == 1 ) then
array_shape_check(sd:3) = cshift( array_shape_check(sd:3), 1, 1 )
else
sd = sd + 1
end if
end do
! 配列形状の比較
! Compare shapes
!
if ( .not. all( array_shape_check == data_shape ) ) then
if ( .not. present_and_true(quiet) ) then
call MessageNotify('W', subname, 'Shape of data (%c) is (%c), shape of argument is (%c)', c1 = trim( url ), c2 = trim( toChar( data_shape(1:rank) ) ), c3 = trim( toChar( array_shape_check(1:rank) ) ) )
end if
stat = GT_EARGSIZEMISMATCH
cause_c = 'array'
goto 999
end if
!-------------------------------------
! データ取得
! Get data
call Inquire( var = var, size = domain ) ! (out)
if ( allocated( array_tmp ) ) deallocate( array_tmp )
allocate( array_tmp(array_allsize) )
call Get( var, array_tmp, domain )
array = reshape( array_tmp, array_shape )
deallocate( array_tmp )
call Close( var )
!-------------------------------------
! データファイル名と切り出し範囲の印字
! Print data filename and clipping range
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
end if
999 continue
call StoreError(stat, subname, err, cause_c)
call EndSub(subname)
end subroutine HistoryGetDouble3
HistoryGetDouble3( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble3
HistoryGetDouble3( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble3
HistoryGetDouble3( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble3
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real(DP), pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
[Source]
subroutine HistoryGetDouble3Pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! See "HistoryGetPointer", for basic usage.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar
use dc_present,only: present_select, present_and_true
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real(DP), pointer :: array(:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time ! データの時刻
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
character(STRING):: tname
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)))
file_work = file
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 必要な情報を gtool 変数化
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call DbgMessage('@ url =%c', c1=trim(url))
! いよいよデータ取得
!
call Open(var, url, err)
call Get(var, array, err)
call Close(var, err)
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
end if
call EndSub(subname)
end subroutine HistoryGetDouble3Pointer
HistoryGetDouble3Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real(DP), pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble3Pointer
HistoryGetDouble3Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real(DP), pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble3Pointer
HistoryGetDouble3Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real(DP), pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble3Pointer
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real(DP), pointer
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetDouble3PointerTimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
real(DP), pointer:: array(:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble3PointerTimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble3Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble3PointerTimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real(DP), pointer
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetDouble3PointerTimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
real(DP), pointer:: array(:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble3PointerTimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble3Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble3PointerTimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real(DP), pointer
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetDouble3PointerTimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
real(DP), pointer:: array(:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble3PointerTimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble3Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble3PointerTimeR
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real(DP), intent(out)
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetDouble3TimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
real(DP), intent(out):: array(:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble3TimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble3( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble3TimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real(DP), intent(out)
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetDouble3TimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
real(DP), intent(out):: array(:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble3TimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble3( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble3TimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real(DP), intent(out)
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetDouble3TimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
real(DP), intent(out):: array(:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble3TimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble3( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble3TimeR
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetDouble4(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
!
! 使用方法に関しては HistoryGet を参照してください.
!
! See "HistoryGet", for basic usage.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar, Split, JoinChar, StoA
use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
use dc_present, only: present_select, present_and_not_empty, present_and_true
use dc_regex, only: match
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real(DP), intent(out) :: array(:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time ! データの時刻
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
real(DP), allocatable:: array_tmp(:)
integer:: array_allsize
integer:: array_shape(4), data_shape(4), array_shape_check(4)
integer:: allcount
integer:: i, sd
logical:: inq_err
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
integer:: rank, alldims, array_rank
integer:: domain ! 変数の入出力領域の大きさ
! (= 変数が依存する各次元サイズの積)
character(STRING):: tname
integer:: stat
character(STRING):: cause_c
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)))
cause_c = ''
stat = DC_NOERR
file_work = file
! 配列形状の取得
! Get array shape
!
array_shape = shape( array )
array_allsize = size( array )
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 最新時刻の URL 取得
! Get URL of latest time
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
! ファイルオープン
! File open
!
call Open( var, url, err = err )
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
!-------------------------------------------------------------------
! 配列形状のチェック
! Check array shape
!-------------------------------------------------------------------
! 入力ファイル中のデータの次元数
! Get size of dimesions in data of an input file
!
call Inquire( var = var, rank = rank, alldims = alldims ) ! (out)
! 引数の次元数のチェック (縮退されている場合には減らす)
! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
!
array_rank = 4
if ( size( array, 1 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 2 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 3 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 4 ) == 1 ) array_rank = array_rank - 1
! 次元数の比較
! Compare sizes of dimensions
!
if ( .not. 4 == rank .and. .not. array_rank == rank ) then
if ( .not. present_and_true(quiet) ) then
call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 4/), c1 = trim(url) )
end if
stat = GT_ERANKMISMATCH
cause_c = 'array'
goto 999
end if
! 入力ファイル中のデータの配列形状取得
! Get shape of data in an input file
!
call Inquire( var = var , dimord = 1, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(1) = allcount
else
data_shape(1) = 1
end if
call Inquire( var = var , dimord = 2, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(2) = allcount
else
data_shape(2) = 1
end if
call Inquire( var = var , dimord = 3, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(3) = allcount
else
data_shape(3) = 1
end if
call Inquire( var = var , dimord = 4, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(4) = allcount
else
data_shape(4) = 1
end if
! 引数の配列形状整形
! Arrange shape of an argument
!
array_shape_check = array_shape
sd = 1
do i = 1, 4 - 1
if ( array_shape_check(sd) == 1 ) then
array_shape_check(sd:4) = cshift( array_shape_check(sd:4), 1, 1 )
else
sd = sd + 1
end if
end do
! 配列形状の比較
! Compare shapes
!
if ( .not. all( array_shape_check == data_shape ) ) then
if ( .not. present_and_true(quiet) ) then
call MessageNotify('W', subname, 'Shape of data (%c) is (%c), shape of argument is (%c)', c1 = trim( url ), c2 = trim( toChar( data_shape(1:rank) ) ), c3 = trim( toChar( array_shape_check(1:rank) ) ) )
end if
stat = GT_EARGSIZEMISMATCH
cause_c = 'array'
goto 999
end if
!-------------------------------------
! データ取得
! Get data
call Inquire( var = var, size = domain ) ! (out)
if ( allocated( array_tmp ) ) deallocate( array_tmp )
allocate( array_tmp(array_allsize) )
call Get( var, array_tmp, domain )
array = reshape( array_tmp, array_shape )
deallocate( array_tmp )
call Close( var )
!-------------------------------------
! データファイル名と切り出し範囲の印字
! Print data filename and clipping range
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
end if
999 continue
call StoreError(stat, subname, err, cause_c)
call EndSub(subname)
end subroutine HistoryGetDouble4
HistoryGetDouble4( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble4
HistoryGetDouble4( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble4
HistoryGetDouble4( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble4
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real(DP), pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
[Source]
subroutine HistoryGetDouble4Pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! See "HistoryGetPointer", for basic usage.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar
use dc_present,only: present_select, present_and_true
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real(DP), pointer :: array(:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time ! データの時刻
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
character(STRING):: tname
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)))
file_work = file
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 必要な情報を gtool 変数化
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call DbgMessage('@ url =%c', c1=trim(url))
! いよいよデータ取得
!
call Open(var, url, err)
call Get(var, array, err)
call Close(var, err)
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
end if
call EndSub(subname)
end subroutine HistoryGetDouble4Pointer
HistoryGetDouble4Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real(DP), pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble4Pointer
HistoryGetDouble4Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real(DP), pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble4Pointer
HistoryGetDouble4Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real(DP), pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble4Pointer
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real(DP), pointer
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetDouble4PointerTimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
real(DP), pointer:: array(:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble4PointerTimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble4Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble4PointerTimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real(DP), pointer
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetDouble4PointerTimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
real(DP), pointer:: array(:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble4PointerTimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble4Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble4PointerTimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real(DP), pointer
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetDouble4PointerTimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
real(DP), pointer:: array(:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble4PointerTimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble4Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble4PointerTimeR
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real(DP), intent(out)
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetDouble4TimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
real(DP), intent(out):: array(:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble4TimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble4( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble4TimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real(DP), intent(out)
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetDouble4TimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
real(DP), intent(out):: array(:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble4TimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble4( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble4TimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real(DP), intent(out)
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetDouble4TimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
real(DP), intent(out):: array(:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble4TimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble4( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble4TimeR
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetDouble5(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
!
! 使用方法に関しては HistoryGet を参照してください.
!
! See "HistoryGet", for basic usage.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar, Split, JoinChar, StoA
use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
use dc_present, only: present_select, present_and_not_empty, present_and_true
use dc_regex, only: match
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real(DP), intent(out) :: array(:,:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time ! データの時刻
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
real(DP), allocatable:: array_tmp(:)
integer:: array_allsize
integer:: array_shape(5), data_shape(5), array_shape_check(5)
integer:: allcount
integer:: i, sd
logical:: inq_err
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
integer:: rank, alldims, array_rank
integer:: domain ! 変数の入出力領域の大きさ
! (= 変数が依存する各次元サイズの積)
character(STRING):: tname
integer:: stat
character(STRING):: cause_c
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)))
cause_c = ''
stat = DC_NOERR
file_work = file
! 配列形状の取得
! Get array shape
!
array_shape = shape( array )
array_allsize = size( array )
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 最新時刻の URL 取得
! Get URL of latest time
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
! ファイルオープン
! File open
!
call Open( var, url, err = err )
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
!-------------------------------------------------------------------
! 配列形状のチェック
! Check array shape
!-------------------------------------------------------------------
! 入力ファイル中のデータの次元数
! Get size of dimesions in data of an input file
!
call Inquire( var = var, rank = rank, alldims = alldims ) ! (out)
! 引数の次元数のチェック (縮退されている場合には減らす)
! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
!
array_rank = 5
if ( size( array, 1 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 2 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 3 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 4 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 5 ) == 1 ) array_rank = array_rank - 1
! 次元数の比較
! Compare sizes of dimensions
!
if ( .not. 5 == rank .and. .not. array_rank == rank ) then
if ( .not. present_and_true(quiet) ) then
call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 5/), c1 = trim(url) )
end if
stat = GT_ERANKMISMATCH
cause_c = 'array'
goto 999
end if
! 入力ファイル中のデータの配列形状取得
! Get shape of data in an input file
!
call Inquire( var = var , dimord = 1, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(1) = allcount
else
data_shape(1) = 1
end if
call Inquire( var = var , dimord = 2, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(2) = allcount
else
data_shape(2) = 1
end if
call Inquire( var = var , dimord = 3, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(3) = allcount
else
data_shape(3) = 1
end if
call Inquire( var = var , dimord = 4, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(4) = allcount
else
data_shape(4) = 1
end if
call Inquire( var = var , dimord = 5, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(5) = allcount
else
data_shape(5) = 1
end if
! 引数の配列形状整形
! Arrange shape of an argument
!
array_shape_check = array_shape
sd = 1
do i = 1, 5 - 1
if ( array_shape_check(sd) == 1 ) then
array_shape_check(sd:5) = cshift( array_shape_check(sd:5), 1, 1 )
else
sd = sd + 1
end if
end do
! 配列形状の比較
! Compare shapes
!
if ( .not. all( array_shape_check == data_shape ) ) then
if ( .not. present_and_true(quiet) ) then
call MessageNotify('W', subname, 'Shape of data (%c) is (%c), shape of argument is (%c)', c1 = trim( url ), c2 = trim( toChar( data_shape(1:rank) ) ), c3 = trim( toChar( array_shape_check(1:rank) ) ) )
end if
stat = GT_EARGSIZEMISMATCH
cause_c = 'array'
goto 999
end if
!-------------------------------------
! データ取得
! Get data
call Inquire( var = var, size = domain ) ! (out)
if ( allocated( array_tmp ) ) deallocate( array_tmp )
allocate( array_tmp(array_allsize) )
call Get( var, array_tmp, domain )
array = reshape( array_tmp, array_shape )
deallocate( array_tmp )
call Close( var )
!-------------------------------------
! データファイル名と切り出し範囲の印字
! Print data filename and clipping range
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
end if
999 continue
call StoreError(stat, subname, err, cause_c)
call EndSub(subname)
end subroutine HistoryGetDouble5
HistoryGetDouble5( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble5
HistoryGetDouble5( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble5
HistoryGetDouble5( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble5
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real(DP), pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
[Source]
subroutine HistoryGetDouble5Pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! See "HistoryGetPointer", for basic usage.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar
use dc_present,only: present_select, present_and_true
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real(DP), pointer :: array(:,:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time ! データの時刻
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
character(STRING):: tname
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)))
file_work = file
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 必要な情報を gtool 変数化
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call DbgMessage('@ url =%c', c1=trim(url))
! いよいよデータ取得
!
call Open(var, url, err)
call Get(var, array, err)
call Close(var, err)
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
end if
call EndSub(subname)
end subroutine HistoryGetDouble5Pointer
HistoryGetDouble5Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real(DP), pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble5Pointer
HistoryGetDouble5Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real(DP), pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble5Pointer
HistoryGetDouble5Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real(DP), pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble5Pointer
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real(DP), pointer
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetDouble5PointerTimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
real(DP), pointer:: array(:,:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble5PointerTimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble5Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble5PointerTimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real(DP), pointer
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetDouble5PointerTimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
real(DP), pointer:: array(:,:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble5PointerTimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble5Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble5PointerTimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real(DP), pointer
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetDouble5PointerTimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
real(DP), pointer:: array(:,:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble5PointerTimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble5Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble5PointerTimeR
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real(DP), intent(out)
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetDouble5TimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
real(DP), intent(out):: array(:,:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble5TimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble5( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble5TimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real(DP), intent(out)
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetDouble5TimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
real(DP), intent(out):: array(:,:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble5TimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble5( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble5TimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real(DP), intent(out)
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetDouble5TimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
real(DP), intent(out):: array(:,:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble5TimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble5( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble5TimeR
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetDouble6(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
!
! 使用方法に関しては HistoryGet を参照してください.
!
! See "HistoryGet", for basic usage.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar, Split, JoinChar, StoA
use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
use dc_present, only: present_select, present_and_not_empty, present_and_true
use dc_regex, only: match
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real(DP), intent(out) :: array(:,:,:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time ! データの時刻
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
real(DP), allocatable:: array_tmp(:)
integer:: array_allsize
integer:: array_shape(6), data_shape(6), array_shape_check(6)
integer:: allcount
integer:: i, sd
logical:: inq_err
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
integer:: rank, alldims, array_rank
integer:: domain ! 変数の入出力領域の大きさ
! (= 変数が依存する各次元サイズの積)
character(STRING):: tname
integer:: stat
character(STRING):: cause_c
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)))
cause_c = ''
stat = DC_NOERR
file_work = file
! 配列形状の取得
! Get array shape
!
array_shape = shape( array )
array_allsize = size( array )
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 最新時刻の URL 取得
! Get URL of latest time
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
! ファイルオープン
! File open
!
call Open( var, url, err = err )
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
!-------------------------------------------------------------------
! 配列形状のチェック
! Check array shape
!-------------------------------------------------------------------
! 入力ファイル中のデータの次元数
! Get size of dimesions in data of an input file
!
call Inquire( var = var, rank = rank, alldims = alldims ) ! (out)
! 引数の次元数のチェック (縮退されている場合には減らす)
! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
!
array_rank = 6
if ( size( array, 1 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 2 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 3 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 4 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 5 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 6 ) == 1 ) array_rank = array_rank - 1
! 次元数の比較
! Compare sizes of dimensions
!
if ( .not. 6 == rank .and. .not. array_rank == rank ) then
if ( .not. present_and_true(quiet) ) then
call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 6/), c1 = trim(url) )
end if
stat = GT_ERANKMISMATCH
cause_c = 'array'
goto 999
end if
! 入力ファイル中のデータの配列形状取得
! Get shape of data in an input file
!
call Inquire( var = var , dimord = 1, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(1) = allcount
else
data_shape(1) = 1
end if
call Inquire( var = var , dimord = 2, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(2) = allcount
else
data_shape(2) = 1
end if
call Inquire( var = var , dimord = 3, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(3) = allcount
else
data_shape(3) = 1
end if
call Inquire( var = var , dimord = 4, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(4) = allcount
else
data_shape(4) = 1
end if
call Inquire( var = var , dimord = 5, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(5) = allcount
else
data_shape(5) = 1
end if
call Inquire( var = var , dimord = 6, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(6) = allcount
else
data_shape(6) = 1
end if
! 引数の配列形状整形
! Arrange shape of an argument
!
array_shape_check = array_shape
sd = 1
do i = 1, 6 - 1
if ( array_shape_check(sd) == 1 ) then
array_shape_check(sd:6) = cshift( array_shape_check(sd:6), 1, 1 )
else
sd = sd + 1
end if
end do
! 配列形状の比較
! Compare shapes
!
if ( .not. all( array_shape_check == data_shape ) ) then
if ( .not. present_and_true(quiet) ) then
call MessageNotify('W', subname, 'Shape of data (%c) is (%c), shape of argument is (%c)', c1 = trim( url ), c2 = trim( toChar( data_shape(1:rank) ) ), c3 = trim( toChar( array_shape_check(1:rank) ) ) )
end if
stat = GT_EARGSIZEMISMATCH
cause_c = 'array'
goto 999
end if
!-------------------------------------
! データ取得
! Get data
call Inquire( var = var, size = domain ) ! (out)
if ( allocated( array_tmp ) ) deallocate( array_tmp )
allocate( array_tmp(array_allsize) )
call Get( var, array_tmp, domain )
array = reshape( array_tmp, array_shape )
deallocate( array_tmp )
call Close( var )
!-------------------------------------
! データファイル名と切り出し範囲の印字
! Print data filename and clipping range
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
end if
999 continue
call StoreError(stat, subname, err, cause_c)
call EndSub(subname)
end subroutine HistoryGetDouble6
HistoryGetDouble6( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble6
HistoryGetDouble6( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble6
HistoryGetDouble6( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble6
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real(DP), pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
[Source]
subroutine HistoryGetDouble6Pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! See "HistoryGetPointer", for basic usage.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar
use dc_present,only: present_select, present_and_true
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real(DP), pointer :: array(:,:,:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time ! データの時刻
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
character(STRING):: tname
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)))
file_work = file
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 必要な情報を gtool 変数化
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call DbgMessage('@ url =%c', c1=trim(url))
! いよいよデータ取得
!
call Open(var, url, err)
call Get(var, array, err)
call Close(var, err)
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
end if
call EndSub(subname)
end subroutine HistoryGetDouble6Pointer
HistoryGetDouble6Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real(DP), pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble6Pointer
HistoryGetDouble6Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real(DP), pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble6Pointer
HistoryGetDouble6Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real(DP), pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble6Pointer
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real(DP), pointer
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetDouble6PointerTimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
real(DP), pointer:: array(:,:,:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble6PointerTimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble6Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble6PointerTimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real(DP), pointer
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetDouble6PointerTimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
real(DP), pointer:: array(:,:,:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble6PointerTimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble6Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble6PointerTimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real(DP), pointer
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetDouble6PointerTimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
real(DP), pointer:: array(:,:,:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble6PointerTimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble6Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble6PointerTimeR
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real(DP), intent(out)
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetDouble6TimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
real(DP), intent(out):: array(:,:,:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble6TimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble6( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble6TimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real(DP), intent(out)
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetDouble6TimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
real(DP), intent(out):: array(:,:,:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble6TimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble6( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble6TimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real(DP), intent(out)
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetDouble6TimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
real(DP), intent(out):: array(:,:,:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble6TimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble6( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble6TimeR
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetDouble7(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
!
! 使用方法に関しては HistoryGet を参照してください.
!
! See "HistoryGet", for basic usage.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar, Split, JoinChar, StoA
use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
use dc_present, only: present_select, present_and_not_empty, present_and_true
use dc_regex, only: match
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real(DP), intent(out) :: array(:,:,:,:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time ! データの時刻
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
real(DP), allocatable:: array_tmp(:)
integer:: array_allsize
integer:: array_shape(7), data_shape(7), array_shape_check(7)
integer:: allcount
integer:: i, sd
logical:: inq_err
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
integer:: rank, alldims, array_rank
integer:: domain ! 変数の入出力領域の大きさ
! (= 変数が依存する各次元サイズの積)
character(STRING):: tname
integer:: stat
character(STRING):: cause_c
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)))
cause_c = ''
stat = DC_NOERR
file_work = file
! 配列形状の取得
! Get array shape
!
array_shape = shape( array )
array_allsize = size( array )
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 最新時刻の URL 取得
! Get URL of latest time
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
! ファイルオープン
! File open
!
call Open( var, url, err = err )
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
!-------------------------------------------------------------------
! 配列形状のチェック
! Check array shape
!-------------------------------------------------------------------
! 入力ファイル中のデータの次元数
! Get size of dimesions in data of an input file
!
call Inquire( var = var, rank = rank, alldims = alldims ) ! (out)
! 引数の次元数のチェック (縮退されている場合には減らす)
! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
!
array_rank = 7
if ( size( array, 1 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 2 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 3 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 4 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 5 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 6 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 7 ) == 1 ) array_rank = array_rank - 1
! 次元数の比較
! Compare sizes of dimensions
!
if ( .not. 7 == rank .and. .not. array_rank == rank ) then
if ( .not. present_and_true(quiet) ) then
call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 7/), c1 = trim(url) )
end if
stat = GT_ERANKMISMATCH
cause_c = 'array'
goto 999
end if
! 入力ファイル中のデータの配列形状取得
! Get shape of data in an input file
!
call Inquire( var = var , dimord = 1, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(1) = allcount
else
data_shape(1) = 1
end if
call Inquire( var = var , dimord = 2, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(2) = allcount
else
data_shape(2) = 1
end if
call Inquire( var = var , dimord = 3, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(3) = allcount
else
data_shape(3) = 1
end if
call Inquire( var = var , dimord = 4, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(4) = allcount
else
data_shape(4) = 1
end if
call Inquire( var = var , dimord = 5, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(5) = allcount
else
data_shape(5) = 1
end if
call Inquire( var = var , dimord = 6, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(6) = allcount
else
data_shape(6) = 1
end if
call Inquire( var = var , dimord = 7, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(7) = allcount
else
data_shape(7) = 1
end if
! 引数の配列形状整形
! Arrange shape of an argument
!
array_shape_check = array_shape
sd = 1
do i = 1, 7 - 1
if ( array_shape_check(sd) == 1 ) then
array_shape_check(sd:7) = cshift( array_shape_check(sd:7), 1, 1 )
else
sd = sd + 1
end if
end do
! 配列形状の比較
! Compare shapes
!
if ( .not. all( array_shape_check == data_shape ) ) then
if ( .not. present_and_true(quiet) ) then
call MessageNotify('W', subname, 'Shape of data (%c) is (%c), shape of argument is (%c)', c1 = trim( url ), c2 = trim( toChar( data_shape(1:rank) ) ), c3 = trim( toChar( array_shape_check(1:rank) ) ) )
end if
stat = GT_EARGSIZEMISMATCH
cause_c = 'array'
goto 999
end if
!-------------------------------------
! データ取得
! Get data
call Inquire( var = var, size = domain ) ! (out)
if ( allocated( array_tmp ) ) deallocate( array_tmp )
allocate( array_tmp(array_allsize) )
call Get( var, array_tmp, domain )
array = reshape( array_tmp, array_shape )
deallocate( array_tmp )
call Close( var )
!-------------------------------------
! データファイル名と切り出し範囲の印字
! Print data filename and clipping range
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
end if
999 continue
call StoreError(stat, subname, err, cause_c)
call EndSub(subname)
end subroutine HistoryGetDouble7
HistoryGetDouble7( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble7
HistoryGetDouble7( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble7
HistoryGetDouble7( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real(DP), intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble7
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real(DP), pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
[Source]
subroutine HistoryGetDouble7Pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! See "HistoryGetPointer", for basic usage.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar
use dc_present,only: present_select, present_and_true
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real(DP), pointer :: array(:,:,:,:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time ! データの時刻
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
character(STRING):: tname
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)))
file_work = file
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 必要な情報を gtool 変数化
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call DbgMessage('@ url =%c', c1=trim(url))
! いよいよデータ取得
!
call Open(var, url, err)
call Get(var, array, err)
call Close(var, err)
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
end if
call EndSub(subname)
end subroutine HistoryGetDouble7Pointer
HistoryGetDouble7Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real(DP), pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble7Pointer
HistoryGetDouble7Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real(DP), pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble7Pointer
HistoryGetDouble7Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real(DP), pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetDouble7Pointer
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real(DP), pointer
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetDouble7PointerTimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
real(DP), pointer:: array(:,:,:,:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble7PointerTimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble7Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble7PointerTimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real(DP), pointer
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetDouble7PointerTimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
real(DP), pointer:: array(:,:,:,:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble7PointerTimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble7Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble7PointerTimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real(DP), pointer
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetDouble7PointerTimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
real(DP), pointer:: array(:,:,:,:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble7PointerTimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble7Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble7PointerTimeR
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real(DP), intent(out)
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetDouble7TimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
real(DP), intent(out):: array(:,:,:,:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble7TimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble7( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble7TimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real(DP), intent(out)
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetDouble7TimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
real(DP), intent(out):: array(:,:,:,:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble7TimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble7( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble7TimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real(DP), intent(out)
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetDouble7TimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
real(DP), intent(out):: array(:,:,:,:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetDouble7TimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetDouble7( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetDouble7TimeR
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | integer, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetInt0(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
!
! 使用方法に関しては HistoryGet を参照してください.
!
! See "HistoryGet", for basic usage.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar, Split, JoinChar, StoA
use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
use dc_present, only: present_select, present_and_not_empty, present_and_true
use dc_regex, only: match
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
integer, intent(out) :: array
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time ! データの時刻
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
integer:: array_tmp(1)
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
integer:: rank, alldims, array_rank
integer:: domain ! 変数の入出力領域の大きさ
! (= 変数が依存する各次元サイズの積)
character(STRING):: tname
integer:: stat
character(STRING):: cause_c
character(*), parameter :: subname = "HistoryGetInt0"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range)))
cause_c = ''
stat = DC_NOERR
file_work = file
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 最新時刻の URL 取得
! Get URL of latest time
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
! ファイルオープン
! File open
!
call Open( var, url, err = err )
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
!-------------------------------------------------------------------
! 配列形状のチェック
! Check array shape
!-------------------------------------------------------------------
! 入力ファイル中のデータの次元数
! Get size of dimesions in data of an input file
!
call Inquire( var = var, rank = rank, alldims = alldims ) ! (out)
! 引数の次元数のチェック (縮退されている場合には減らす)
! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
!
array_rank = 0
! 次元数の比較
! Compare sizes of dimensions
!
if ( .not. 0 == rank .and. .not. array_rank == rank ) then
if ( .not. present_and_true(quiet) ) then
call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 0/), c1 = trim(url) )
end if
stat = GT_ERANKMISMATCH
cause_c = 'array'
goto 999
end if
! 入力ファイル中のデータの配列形状取得
! Get shape of data in an input file
!
!-------------------------------------
! データ取得
! Get data
call Inquire( var = var, size = domain ) ! (out)
call Get( var = var, nvalue = domain, value = array_tmp) ! (out)
array = array_tmp(1)
call Close( var )
!-------------------------------------
! データファイル名と切り出し範囲の印字
! Print data filename and clipping range
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
end if
999 continue
call StoreError(stat, subname, err, cause_c)
call EndSub(subname)
end subroutine HistoryGetInt0
HistoryGetInt0( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | integer, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt0
HistoryGetInt0( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | integer, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt0
HistoryGetInt0( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | integer, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt0
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | integer, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
[Source]
subroutine HistoryGetInt0Pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! See "HistoryGetPointer", for basic usage.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar
use dc_present,only: present_select, present_and_true
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
integer, pointer :: array ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time ! データの時刻
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
integer, target :: array_tmp(1)
integer:: domain ! 変数の入出力領域の大きさ
! (= 変数が依存する各次元サイズの積)
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt0Pointer"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range)))
file_work = file
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 必要な情報を gtool 変数化
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
allocate(array)
call DbgMessage('@ url =%c', c1=trim(url))
! いよいよデータ取得
!
call Open(var, url, err)
call Inquire(var=var, size=domain)
call Get(var, array_tmp, domain, err)
array = array_tmp(1)
call Close(var, err)
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
end if
call EndSub(subname)
end subroutine HistoryGetInt0Pointer
HistoryGetInt0Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | integer, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt0Pointer
HistoryGetInt0Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | integer, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt0Pointer
HistoryGetInt0Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | integer, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt0Pointer
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | integer, pointer
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetInt0PointerTimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
integer, pointer:: array ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt0PointerTimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt0Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt0PointerTimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | integer, pointer
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetInt0PointerTimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
integer, pointer:: array ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt0PointerTimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt0Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt0PointerTimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | integer, pointer
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetInt0PointerTimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
integer, pointer:: array ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt0PointerTimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt0Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt0PointerTimeR
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | integer, intent(out)
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetInt0TimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
integer, intent(out):: array
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt0TimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt0( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt0TimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | integer, intent(out)
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetInt0TimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
integer, intent(out):: array
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt0TimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt0( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt0TimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | integer, intent(out)
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetInt0TimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
integer, intent(out):: array
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt0TimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt0( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt0TimeR
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | integer, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetInt1(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
!
! 使用方法に関しては HistoryGet を参照してください.
!
! See "HistoryGet", for basic usage.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar, Split, JoinChar, StoA
use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
use dc_present, only: present_select, present_and_not_empty, present_and_true
use dc_regex, only: match
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
integer, intent(out) :: array(:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time ! データの時刻
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
integer, allocatable:: array_tmp(:)
integer:: array_allsize
integer:: array_shape(1), data_shape(1), array_shape_check(1)
integer:: allcount
integer:: i, sd
logical:: inq_err
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
integer:: rank, alldims, array_rank
integer:: domain ! 変数の入出力領域の大きさ
! (= 変数が依存する各次元サイズの積)
character(STRING):: tname
integer:: stat
character(STRING):: cause_c
character(*), parameter :: subname = "HistoryGetInt1"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range)))
cause_c = ''
stat = DC_NOERR
file_work = file
! 配列形状の取得
! Get array shape
!
array_shape = shape( array )
array_allsize = size( array )
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 最新時刻の URL 取得
! Get URL of latest time
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
! ファイルオープン
! File open
!
call Open( var, url, err = err )
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
!-------------------------------------------------------------------
! 配列形状のチェック
! Check array shape
!-------------------------------------------------------------------
! 入力ファイル中のデータの次元数
! Get size of dimesions in data of an input file
!
call Inquire( var = var, rank = rank, alldims = alldims ) ! (out)
! 引数の次元数のチェック (縮退されている場合には減らす)
! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
!
array_rank = 1
if ( size( array, 1 ) == 1 ) array_rank = array_rank - 1
! 次元数の比較
! Compare sizes of dimensions
!
if ( .not. 1 == rank .and. .not. array_rank == rank ) then
if ( .not. present_and_true(quiet) ) then
call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 1/), c1 = trim(url) )
end if
stat = GT_ERANKMISMATCH
cause_c = 'array'
goto 999
end if
! 入力ファイル中のデータの配列形状取得
! Get shape of data in an input file
!
call Inquire( var = var , dimord = 1, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(1) = allcount
else
data_shape(1) = 1
end if
! 引数の配列形状整形
! Arrange shape of an argument
!
array_shape_check = array_shape
sd = 1
do i = 1, 1 - 1
if ( array_shape_check(sd) == 1 ) then
array_shape_check(sd:1) = cshift( array_shape_check(sd:1), 1, 1 )
else
sd = sd + 1
end if
end do
! 配列形状の比較
! Compare shapes
!
if ( .not. all( array_shape_check == data_shape ) ) then
if ( .not. present_and_true(quiet) ) then
call MessageNotify('W', subname, 'Shape of data (%c) is (%c), shape of argument is (%c)', c1 = trim( url ), c2 = trim( toChar( data_shape(1:rank) ) ), c3 = trim( toChar( array_shape_check(1:rank) ) ) )
end if
stat = GT_EARGSIZEMISMATCH
cause_c = 'array'
goto 999
end if
!-------------------------------------
! データ取得
! Get data
call Inquire( var = var, size = domain ) ! (out)
if ( allocated( array_tmp ) ) deallocate( array_tmp )
allocate( array_tmp(array_allsize) )
call Get( var, array_tmp, domain )
array = reshape( array_tmp, array_shape )
deallocate( array_tmp )
call Close( var )
!-------------------------------------
! データファイル名と切り出し範囲の印字
! Print data filename and clipping range
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
end if
999 continue
call StoreError(stat, subname, err, cause_c)
call EndSub(subname)
end subroutine HistoryGetInt1
HistoryGetInt1( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | integer, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt1
HistoryGetInt1( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | integer, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt1
HistoryGetInt1( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | integer, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt1
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | integer, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
[Source]
subroutine HistoryGetInt1Pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! See "HistoryGetPointer", for basic usage.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar
use dc_present,only: present_select, present_and_true
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
integer, pointer :: array(:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time ! データの時刻
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt1Pointer"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range)))
file_work = file
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 必要な情報を gtool 変数化
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call DbgMessage('@ url =%c', c1=trim(url))
! いよいよデータ取得
!
call Open(var, url, err)
call Get(var, array, err)
call Close(var, err)
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
end if
call EndSub(subname)
end subroutine HistoryGetInt1Pointer
HistoryGetInt1Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | integer, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt1Pointer
HistoryGetInt1Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | integer, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt1Pointer
HistoryGetInt1Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | integer, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt1Pointer
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | integer, pointer
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetInt1PointerTimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
integer, pointer:: array(:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt1PointerTimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt1Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt1PointerTimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | integer, pointer
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetInt1PointerTimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
integer, pointer:: array(:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt1PointerTimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt1Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt1PointerTimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | integer, pointer
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetInt1PointerTimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
integer, pointer:: array(:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt1PointerTimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt1Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt1PointerTimeR
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | integer, intent(out)
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetInt1TimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
integer, intent(out):: array(:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt1TimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt1( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt1TimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | integer, intent(out)
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetInt1TimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
integer, intent(out):: array(:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt1TimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt1( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt1TimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | integer, intent(out)
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetInt1TimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
integer, intent(out):: array(:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt1TimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt1( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt1TimeR
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | integer, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetInt2(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
!
! 使用方法に関しては HistoryGet を参照してください.
!
! See "HistoryGet", for basic usage.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar, Split, JoinChar, StoA
use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
use dc_present, only: present_select, present_and_not_empty, present_and_true
use dc_regex, only: match
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
integer, intent(out) :: array(:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time ! データの時刻
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
integer, allocatable:: array_tmp(:)
integer:: array_allsize
integer:: array_shape(2), data_shape(2), array_shape_check(2)
integer:: allcount
integer:: i, sd
logical:: inq_err
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
integer:: rank, alldims, array_rank
integer:: domain ! 変数の入出力領域の大きさ
! (= 変数が依存する各次元サイズの積)
character(STRING):: tname
integer:: stat
character(STRING):: cause_c
character(*), parameter :: subname = "HistoryGetInt2"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range)))
cause_c = ''
stat = DC_NOERR
file_work = file
! 配列形状の取得
! Get array shape
!
array_shape = shape( array )
array_allsize = size( array )
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 最新時刻の URL 取得
! Get URL of latest time
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
! ファイルオープン
! File open
!
call Open( var, url, err = err )
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
!-------------------------------------------------------------------
! 配列形状のチェック
! Check array shape
!-------------------------------------------------------------------
! 入力ファイル中のデータの次元数
! Get size of dimesions in data of an input file
!
call Inquire( var = var, rank = rank, alldims = alldims ) ! (out)
! 引数の次元数のチェック (縮退されている場合には減らす)
! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
!
array_rank = 2
if ( size( array, 1 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 2 ) == 1 ) array_rank = array_rank - 1
! 次元数の比較
! Compare sizes of dimensions
!
if ( .not. 2 == rank .and. .not. array_rank == rank ) then
if ( .not. present_and_true(quiet) ) then
call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 2/), c1 = trim(url) )
end if
stat = GT_ERANKMISMATCH
cause_c = 'array'
goto 999
end if
! 入力ファイル中のデータの配列形状取得
! Get shape of data in an input file
!
call Inquire( var = var , dimord = 1, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(1) = allcount
else
data_shape(1) = 1
end if
call Inquire( var = var , dimord = 2, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(2) = allcount
else
data_shape(2) = 1
end if
! 引数の配列形状整形
! Arrange shape of an argument
!
array_shape_check = array_shape
sd = 1
do i = 1, 2 - 1
if ( array_shape_check(sd) == 1 ) then
array_shape_check(sd:2) = cshift( array_shape_check(sd:2), 1, 1 )
else
sd = sd + 1
end if
end do
! 配列形状の比較
! Compare shapes
!
if ( .not. all( array_shape_check == data_shape ) ) then
if ( .not. present_and_true(quiet) ) then
call MessageNotify('W', subname, 'Shape of data (%c) is (%c), shape of argument is (%c)', c1 = trim( url ), c2 = trim( toChar( data_shape(1:rank) ) ), c3 = trim( toChar( array_shape_check(1:rank) ) ) )
end if
stat = GT_EARGSIZEMISMATCH
cause_c = 'array'
goto 999
end if
!-------------------------------------
! データ取得
! Get data
call Inquire( var = var, size = domain ) ! (out)
if ( allocated( array_tmp ) ) deallocate( array_tmp )
allocate( array_tmp(array_allsize) )
call Get( var, array_tmp, domain )
array = reshape( array_tmp, array_shape )
deallocate( array_tmp )
call Close( var )
!-------------------------------------
! データファイル名と切り出し範囲の印字
! Print data filename and clipping range
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
end if
999 continue
call StoreError(stat, subname, err, cause_c)
call EndSub(subname)
end subroutine HistoryGetInt2
HistoryGetInt2( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | integer, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt2
HistoryGetInt2( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | integer, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt2
HistoryGetInt2( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | integer, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt2
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | integer, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
[Source]
subroutine HistoryGetInt2Pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! See "HistoryGetPointer", for basic usage.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar
use dc_present,only: present_select, present_and_true
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
integer, pointer :: array(:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time ! データの時刻
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt2Pointer"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range)))
file_work = file
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 必要な情報を gtool 変数化
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call DbgMessage('@ url =%c', c1=trim(url))
! いよいよデータ取得
!
call Open(var, url, err)
call Get(var, array, err)
call Close(var, err)
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
end if
call EndSub(subname)
end subroutine HistoryGetInt2Pointer
HistoryGetInt2Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | integer, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt2Pointer
HistoryGetInt2Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | integer, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt2Pointer
HistoryGetInt2Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | integer, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt2Pointer
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | integer, pointer
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetInt2PointerTimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
integer, pointer:: array(:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt2PointerTimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt2Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt2PointerTimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | integer, pointer
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetInt2PointerTimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
integer, pointer:: array(:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt2PointerTimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt2Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt2PointerTimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | integer, pointer
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetInt2PointerTimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
integer, pointer:: array(:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt2PointerTimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt2Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt2PointerTimeR
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | integer, intent(out)
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetInt2TimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
integer, intent(out):: array(:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt2TimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt2( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt2TimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | integer, intent(out)
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetInt2TimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
integer, intent(out):: array(:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt2TimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt2( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt2TimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | integer, intent(out)
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetInt2TimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
integer, intent(out):: array(:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt2TimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt2( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt2TimeR
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | integer, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetInt3(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
!
! 使用方法に関しては HistoryGet を参照してください.
!
! See "HistoryGet", for basic usage.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar, Split, JoinChar, StoA
use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
use dc_present, only: present_select, present_and_not_empty, present_and_true
use dc_regex, only: match
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
integer, intent(out) :: array(:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time ! データの時刻
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
integer, allocatable:: array_tmp(:)
integer:: array_allsize
integer:: array_shape(3), data_shape(3), array_shape_check(3)
integer:: allcount
integer:: i, sd
logical:: inq_err
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
integer:: rank, alldims, array_rank
integer:: domain ! 変数の入出力領域の大きさ
! (= 変数が依存する各次元サイズの積)
character(STRING):: tname
integer:: stat
character(STRING):: cause_c
character(*), parameter :: subname = "HistoryGetInt3"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range)))
cause_c = ''
stat = DC_NOERR
file_work = file
! 配列形状の取得
! Get array shape
!
array_shape = shape( array )
array_allsize = size( array )
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 最新時刻の URL 取得
! Get URL of latest time
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
! ファイルオープン
! File open
!
call Open( var, url, err = err )
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
!-------------------------------------------------------------------
! 配列形状のチェック
! Check array shape
!-------------------------------------------------------------------
! 入力ファイル中のデータの次元数
! Get size of dimesions in data of an input file
!
call Inquire( var = var, rank = rank, alldims = alldims ) ! (out)
! 引数の次元数のチェック (縮退されている場合には減らす)
! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
!
array_rank = 3
if ( size( array, 1 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 2 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 3 ) == 1 ) array_rank = array_rank - 1
! 次元数の比較
! Compare sizes of dimensions
!
if ( .not. 3 == rank .and. .not. array_rank == rank ) then
if ( .not. present_and_true(quiet) ) then
call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 3/), c1 = trim(url) )
end if
stat = GT_ERANKMISMATCH
cause_c = 'array'
goto 999
end if
! 入力ファイル中のデータの配列形状取得
! Get shape of data in an input file
!
call Inquire( var = var , dimord = 1, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(1) = allcount
else
data_shape(1) = 1
end if
call Inquire( var = var , dimord = 2, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(2) = allcount
else
data_shape(2) = 1
end if
call Inquire( var = var , dimord = 3, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(3) = allcount
else
data_shape(3) = 1
end if
! 引数の配列形状整形
! Arrange shape of an argument
!
array_shape_check = array_shape
sd = 1
do i = 1, 3 - 1
if ( array_shape_check(sd) == 1 ) then
array_shape_check(sd:3) = cshift( array_shape_check(sd:3), 1, 1 )
else
sd = sd + 1
end if
end do
! 配列形状の比較
! Compare shapes
!
if ( .not. all( array_shape_check == data_shape ) ) then
if ( .not. present_and_true(quiet) ) then
call MessageNotify('W', subname, 'Shape of data (%c) is (%c), shape of argument is (%c)', c1 = trim( url ), c2 = trim( toChar( data_shape(1:rank) ) ), c3 = trim( toChar( array_shape_check(1:rank) ) ) )
end if
stat = GT_EARGSIZEMISMATCH
cause_c = 'array'
goto 999
end if
!-------------------------------------
! データ取得
! Get data
call Inquire( var = var, size = domain ) ! (out)
if ( allocated( array_tmp ) ) deallocate( array_tmp )
allocate( array_tmp(array_allsize) )
call Get( var, array_tmp, domain )
array = reshape( array_tmp, array_shape )
deallocate( array_tmp )
call Close( var )
!-------------------------------------
! データファイル名と切り出し範囲の印字
! Print data filename and clipping range
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
end if
999 continue
call StoreError(stat, subname, err, cause_c)
call EndSub(subname)
end subroutine HistoryGetInt3
HistoryGetInt3( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | integer, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt3
HistoryGetInt3( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | integer, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt3
HistoryGetInt3( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | integer, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt3
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | integer, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
[Source]
subroutine HistoryGetInt3Pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! See "HistoryGetPointer", for basic usage.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar
use dc_present,only: present_select, present_and_true
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
integer, pointer :: array(:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time ! データの時刻
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt3Pointer"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range)))
file_work = file
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 必要な情報を gtool 変数化
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call DbgMessage('@ url =%c', c1=trim(url))
! いよいよデータ取得
!
call Open(var, url, err)
call Get(var, array, err)
call Close(var, err)
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
end if
call EndSub(subname)
end subroutine HistoryGetInt3Pointer
HistoryGetInt3Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | integer, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt3Pointer
HistoryGetInt3Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | integer, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt3Pointer
HistoryGetInt3Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | integer, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt3Pointer
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | integer, pointer
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetInt3PointerTimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
integer, pointer:: array(:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt3PointerTimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt3Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt3PointerTimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | integer, pointer
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetInt3PointerTimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
integer, pointer:: array(:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt3PointerTimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt3Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt3PointerTimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | integer, pointer
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetInt3PointerTimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
integer, pointer:: array(:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt3PointerTimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt3Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt3PointerTimeR
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | integer, intent(out)
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetInt3TimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
integer, intent(out):: array(:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt3TimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt3( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt3TimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | integer, intent(out)
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetInt3TimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
integer, intent(out):: array(:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt3TimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt3( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt3TimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | integer, intent(out)
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetInt3TimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
integer, intent(out):: array(:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt3TimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt3( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt3TimeR
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | integer, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetInt4(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
!
! 使用方法に関しては HistoryGet を参照してください.
!
! See "HistoryGet", for basic usage.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar, Split, JoinChar, StoA
use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
use dc_present, only: present_select, present_and_not_empty, present_and_true
use dc_regex, only: match
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
integer, intent(out) :: array(:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time ! データの時刻
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
integer, allocatable:: array_tmp(:)
integer:: array_allsize
integer:: array_shape(4), data_shape(4), array_shape_check(4)
integer:: allcount
integer:: i, sd
logical:: inq_err
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
integer:: rank, alldims, array_rank
integer:: domain ! 変数の入出力領域の大きさ
! (= 変数が依存する各次元サイズの積)
character(STRING):: tname
integer:: stat
character(STRING):: cause_c
character(*), parameter :: subname = "HistoryGetInt4"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range)))
cause_c = ''
stat = DC_NOERR
file_work = file
! 配列形状の取得
! Get array shape
!
array_shape = shape( array )
array_allsize = size( array )
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 最新時刻の URL 取得
! Get URL of latest time
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
! ファイルオープン
! File open
!
call Open( var, url, err = err )
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
!-------------------------------------------------------------------
! 配列形状のチェック
! Check array shape
!-------------------------------------------------------------------
! 入力ファイル中のデータの次元数
! Get size of dimesions in data of an input file
!
call Inquire( var = var, rank = rank, alldims = alldims ) ! (out)
! 引数の次元数のチェック (縮退されている場合には減らす)
! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
!
array_rank = 4
if ( size( array, 1 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 2 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 3 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 4 ) == 1 ) array_rank = array_rank - 1
! 次元数の比較
! Compare sizes of dimensions
!
if ( .not. 4 == rank .and. .not. array_rank == rank ) then
if ( .not. present_and_true(quiet) ) then
call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 4/), c1 = trim(url) )
end if
stat = GT_ERANKMISMATCH
cause_c = 'array'
goto 999
end if
! 入力ファイル中のデータの配列形状取得
! Get shape of data in an input file
!
call Inquire( var = var , dimord = 1, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(1) = allcount
else
data_shape(1) = 1
end if
call Inquire( var = var , dimord = 2, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(2) = allcount
else
data_shape(2) = 1
end if
call Inquire( var = var , dimord = 3, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(3) = allcount
else
data_shape(3) = 1
end if
call Inquire( var = var , dimord = 4, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(4) = allcount
else
data_shape(4) = 1
end if
! 引数の配列形状整形
! Arrange shape of an argument
!
array_shape_check = array_shape
sd = 1
do i = 1, 4 - 1
if ( array_shape_check(sd) == 1 ) then
array_shape_check(sd:4) = cshift( array_shape_check(sd:4), 1, 1 )
else
sd = sd + 1
end if
end do
! 配列形状の比較
! Compare shapes
!
if ( .not. all( array_shape_check == data_shape ) ) then
if ( .not. present_and_true(quiet) ) then
call MessageNotify('W', subname, 'Shape of data (%c) is (%c), shape of argument is (%c)', c1 = trim( url ), c2 = trim( toChar( data_shape(1:rank) ) ), c3 = trim( toChar( array_shape_check(1:rank) ) ) )
end if
stat = GT_EARGSIZEMISMATCH
cause_c = 'array'
goto 999
end if
!-------------------------------------
! データ取得
! Get data
call Inquire( var = var, size = domain ) ! (out)
if ( allocated( array_tmp ) ) deallocate( array_tmp )
allocate( array_tmp(array_allsize) )
call Get( var, array_tmp, domain )
array = reshape( array_tmp, array_shape )
deallocate( array_tmp )
call Close( var )
!-------------------------------------
! データファイル名と切り出し範囲の印字
! Print data filename and clipping range
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
end if
999 continue
call StoreError(stat, subname, err, cause_c)
call EndSub(subname)
end subroutine HistoryGetInt4
HistoryGetInt4( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | integer, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt4
HistoryGetInt4( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | integer, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt4
HistoryGetInt4( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | integer, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt4
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | integer, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
[Source]
subroutine HistoryGetInt4Pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! See "HistoryGetPointer", for basic usage.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar
use dc_present,only: present_select, present_and_true
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
integer, pointer :: array(:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time ! データの時刻
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt4Pointer"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range)))
file_work = file
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 必要な情報を gtool 変数化
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call DbgMessage('@ url =%c', c1=trim(url))
! いよいよデータ取得
!
call Open(var, url, err)
call Get(var, array, err)
call Close(var, err)
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
end if
call EndSub(subname)
end subroutine HistoryGetInt4Pointer
HistoryGetInt4Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | integer, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt4Pointer
HistoryGetInt4Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | integer, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt4Pointer
HistoryGetInt4Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | integer, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt4Pointer
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | integer, pointer
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetInt4PointerTimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
integer, pointer:: array(:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt4PointerTimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt4Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt4PointerTimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | integer, pointer
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetInt4PointerTimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
integer, pointer:: array(:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt4PointerTimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt4Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt4PointerTimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | integer, pointer
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetInt4PointerTimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
integer, pointer:: array(:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt4PointerTimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt4Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt4PointerTimeR
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | integer, intent(out)
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetInt4TimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
integer, intent(out):: array(:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt4TimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt4( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt4TimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | integer, intent(out)
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetInt4TimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
integer, intent(out):: array(:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt4TimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt4( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt4TimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | integer, intent(out)
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetInt4TimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
integer, intent(out):: array(:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt4TimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt4( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt4TimeR
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | integer, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetInt5(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
!
! 使用方法に関しては HistoryGet を参照してください.
!
! See "HistoryGet", for basic usage.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar, Split, JoinChar, StoA
use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
use dc_present, only: present_select, present_and_not_empty, present_and_true
use dc_regex, only: match
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
integer, intent(out) :: array(:,:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time ! データの時刻
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
integer, allocatable:: array_tmp(:)
integer:: array_allsize
integer:: array_shape(5), data_shape(5), array_shape_check(5)
integer:: allcount
integer:: i, sd
logical:: inq_err
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
integer:: rank, alldims, array_rank
integer:: domain ! 変数の入出力領域の大きさ
! (= 変数が依存する各次元サイズの積)
character(STRING):: tname
integer:: stat
character(STRING):: cause_c
character(*), parameter :: subname = "HistoryGetInt5"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range)))
cause_c = ''
stat = DC_NOERR
file_work = file
! 配列形状の取得
! Get array shape
!
array_shape = shape( array )
array_allsize = size( array )
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 最新時刻の URL 取得
! Get URL of latest time
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
! ファイルオープン
! File open
!
call Open( var, url, err = err )
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
!-------------------------------------------------------------------
! 配列形状のチェック
! Check array shape
!-------------------------------------------------------------------
! 入力ファイル中のデータの次元数
! Get size of dimesions in data of an input file
!
call Inquire( var = var, rank = rank, alldims = alldims ) ! (out)
! 引数の次元数のチェック (縮退されている場合には減らす)
! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
!
array_rank = 5
if ( size( array, 1 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 2 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 3 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 4 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 5 ) == 1 ) array_rank = array_rank - 1
! 次元数の比較
! Compare sizes of dimensions
!
if ( .not. 5 == rank .and. .not. array_rank == rank ) then
if ( .not. present_and_true(quiet) ) then
call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 5/), c1 = trim(url) )
end if
stat = GT_ERANKMISMATCH
cause_c = 'array'
goto 999
end if
! 入力ファイル中のデータの配列形状取得
! Get shape of data in an input file
!
call Inquire( var = var , dimord = 1, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(1) = allcount
else
data_shape(1) = 1
end if
call Inquire( var = var , dimord = 2, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(2) = allcount
else
data_shape(2) = 1
end if
call Inquire( var = var , dimord = 3, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(3) = allcount
else
data_shape(3) = 1
end if
call Inquire( var = var , dimord = 4, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(4) = allcount
else
data_shape(4) = 1
end if
call Inquire( var = var , dimord = 5, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(5) = allcount
else
data_shape(5) = 1
end if
! 引数の配列形状整形
! Arrange shape of an argument
!
array_shape_check = array_shape
sd = 1
do i = 1, 5 - 1
if ( array_shape_check(sd) == 1 ) then
array_shape_check(sd:5) = cshift( array_shape_check(sd:5), 1, 1 )
else
sd = sd + 1
end if
end do
! 配列形状の比較
! Compare shapes
!
if ( .not. all( array_shape_check == data_shape ) ) then
if ( .not. present_and_true(quiet) ) then
call MessageNotify('W', subname, 'Shape of data (%c) is (%c), shape of argument is (%c)', c1 = trim( url ), c2 = trim( toChar( data_shape(1:rank) ) ), c3 = trim( toChar( array_shape_check(1:rank) ) ) )
end if
stat = GT_EARGSIZEMISMATCH
cause_c = 'array'
goto 999
end if
!-------------------------------------
! データ取得
! Get data
call Inquire( var = var, size = domain ) ! (out)
if ( allocated( array_tmp ) ) deallocate( array_tmp )
allocate( array_tmp(array_allsize) )
call Get( var, array_tmp, domain )
array = reshape( array_tmp, array_shape )
deallocate( array_tmp )
call Close( var )
!-------------------------------------
! データファイル名と切り出し範囲の印字
! Print data filename and clipping range
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
end if
999 continue
call StoreError(stat, subname, err, cause_c)
call EndSub(subname)
end subroutine HistoryGetInt5
HistoryGetInt5( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | integer, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt5
HistoryGetInt5( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | integer, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt5
HistoryGetInt5( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | integer, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt5
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | integer, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
[Source]
subroutine HistoryGetInt5Pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! See "HistoryGetPointer", for basic usage.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar
use dc_present,only: present_select, present_and_true
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
integer, pointer :: array(:,:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time ! データの時刻
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt5Pointer"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range)))
file_work = file
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 必要な情報を gtool 変数化
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call DbgMessage('@ url =%c', c1=trim(url))
! いよいよデータ取得
!
call Open(var, url, err)
call Get(var, array, err)
call Close(var, err)
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
end if
call EndSub(subname)
end subroutine HistoryGetInt5Pointer
HistoryGetInt5Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | integer, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt5Pointer
HistoryGetInt5Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | integer, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt5Pointer
HistoryGetInt5Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | integer, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt5Pointer
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | integer, pointer
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetInt5PointerTimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
integer, pointer:: array(:,:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt5PointerTimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt5Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt5PointerTimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | integer, pointer
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetInt5PointerTimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
integer, pointer:: array(:,:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt5PointerTimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt5Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt5PointerTimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | integer, pointer
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetInt5PointerTimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
integer, pointer:: array(:,:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt5PointerTimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt5Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt5PointerTimeR
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | integer, intent(out)
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetInt5TimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
integer, intent(out):: array(:,:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt5TimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt5( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt5TimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | integer, intent(out)
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetInt5TimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
integer, intent(out):: array(:,:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt5TimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt5( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt5TimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | integer, intent(out)
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetInt5TimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
integer, intent(out):: array(:,:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt5TimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt5( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt5TimeR
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | integer, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetInt6(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
!
! 使用方法に関しては HistoryGet を参照してください.
!
! See "HistoryGet", for basic usage.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar, Split, JoinChar, StoA
use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
use dc_present, only: present_select, present_and_not_empty, present_and_true
use dc_regex, only: match
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
integer, intent(out) :: array(:,:,:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time ! データの時刻
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
integer, allocatable:: array_tmp(:)
integer:: array_allsize
integer:: array_shape(6), data_shape(6), array_shape_check(6)
integer:: allcount
integer:: i, sd
logical:: inq_err
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
integer:: rank, alldims, array_rank
integer:: domain ! 変数の入出力領域の大きさ
! (= 変数が依存する各次元サイズの積)
character(STRING):: tname
integer:: stat
character(STRING):: cause_c
character(*), parameter :: subname = "HistoryGetInt6"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range)))
cause_c = ''
stat = DC_NOERR
file_work = file
! 配列形状の取得
! Get array shape
!
array_shape = shape( array )
array_allsize = size( array )
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 最新時刻の URL 取得
! Get URL of latest time
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
! ファイルオープン
! File open
!
call Open( var, url, err = err )
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
!-------------------------------------------------------------------
! 配列形状のチェック
! Check array shape
!-------------------------------------------------------------------
! 入力ファイル中のデータの次元数
! Get size of dimesions in data of an input file
!
call Inquire( var = var, rank = rank, alldims = alldims ) ! (out)
! 引数の次元数のチェック (縮退されている場合には減らす)
! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
!
array_rank = 6
if ( size( array, 1 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 2 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 3 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 4 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 5 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 6 ) == 1 ) array_rank = array_rank - 1
! 次元数の比較
! Compare sizes of dimensions
!
if ( .not. 6 == rank .and. .not. array_rank == rank ) then
if ( .not. present_and_true(quiet) ) then
call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 6/), c1 = trim(url) )
end if
stat = GT_ERANKMISMATCH
cause_c = 'array'
goto 999
end if
! 入力ファイル中のデータの配列形状取得
! Get shape of data in an input file
!
call Inquire( var = var , dimord = 1, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(1) = allcount
else
data_shape(1) = 1
end if
call Inquire( var = var , dimord = 2, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(2) = allcount
else
data_shape(2) = 1
end if
call Inquire( var = var , dimord = 3, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(3) = allcount
else
data_shape(3) = 1
end if
call Inquire( var = var , dimord = 4, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(4) = allcount
else
data_shape(4) = 1
end if
call Inquire( var = var , dimord = 5, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(5) = allcount
else
data_shape(5) = 1
end if
call Inquire( var = var , dimord = 6, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(6) = allcount
else
data_shape(6) = 1
end if
! 引数の配列形状整形
! Arrange shape of an argument
!
array_shape_check = array_shape
sd = 1
do i = 1, 6 - 1
if ( array_shape_check(sd) == 1 ) then
array_shape_check(sd:6) = cshift( array_shape_check(sd:6), 1, 1 )
else
sd = sd + 1
end if
end do
! 配列形状の比較
! Compare shapes
!
if ( .not. all( array_shape_check == data_shape ) ) then
if ( .not. present_and_true(quiet) ) then
call MessageNotify('W', subname, 'Shape of data (%c) is (%c), shape of argument is (%c)', c1 = trim( url ), c2 = trim( toChar( data_shape(1:rank) ) ), c3 = trim( toChar( array_shape_check(1:rank) ) ) )
end if
stat = GT_EARGSIZEMISMATCH
cause_c = 'array'
goto 999
end if
!-------------------------------------
! データ取得
! Get data
call Inquire( var = var, size = domain ) ! (out)
if ( allocated( array_tmp ) ) deallocate( array_tmp )
allocate( array_tmp(array_allsize) )
call Get( var, array_tmp, domain )
array = reshape( array_tmp, array_shape )
deallocate( array_tmp )
call Close( var )
!-------------------------------------
! データファイル名と切り出し範囲の印字
! Print data filename and clipping range
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
end if
999 continue
call StoreError(stat, subname, err, cause_c)
call EndSub(subname)
end subroutine HistoryGetInt6
HistoryGetInt6( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | integer, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt6
HistoryGetInt6( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | integer, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt6
HistoryGetInt6( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | integer, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt6
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | integer, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
[Source]
subroutine HistoryGetInt6Pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! See "HistoryGetPointer", for basic usage.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar
use dc_present,only: present_select, present_and_true
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
integer, pointer :: array(:,:,:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time ! データの時刻
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt6Pointer"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range)))
file_work = file
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 必要な情報を gtool 変数化
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call DbgMessage('@ url =%c', c1=trim(url))
! いよいよデータ取得
!
call Open(var, url, err)
call Get(var, array, err)
call Close(var, err)
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
end if
call EndSub(subname)
end subroutine HistoryGetInt6Pointer
HistoryGetInt6Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | integer, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt6Pointer
HistoryGetInt6Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | integer, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt6Pointer
HistoryGetInt6Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | integer, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt6Pointer
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | integer, pointer
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetInt6PointerTimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
integer, pointer:: array(:,:,:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt6PointerTimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt6Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt6PointerTimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | integer, pointer
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetInt6PointerTimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
integer, pointer:: array(:,:,:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt6PointerTimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt6Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt6PointerTimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | integer, pointer
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetInt6PointerTimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
integer, pointer:: array(:,:,:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt6PointerTimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt6Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt6PointerTimeR
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | integer, intent(out)
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetInt6TimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
integer, intent(out):: array(:,:,:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt6TimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt6( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt6TimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | integer, intent(out)
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetInt6TimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
integer, intent(out):: array(:,:,:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt6TimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt6( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt6TimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | integer, intent(out)
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetInt6TimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
integer, intent(out):: array(:,:,:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt6TimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt6( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt6TimeR
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | integer, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetInt7(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
!
! 使用方法に関しては HistoryGet を参照してください.
!
! See "HistoryGet", for basic usage.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar, Split, JoinChar, StoA
use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
use dc_present, only: present_select, present_and_not_empty, present_and_true
use dc_regex, only: match
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
integer, intent(out) :: array(:,:,:,:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time ! データの時刻
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
integer, allocatable:: array_tmp(:)
integer:: array_allsize
integer:: array_shape(7), data_shape(7), array_shape_check(7)
integer:: allcount
integer:: i, sd
logical:: inq_err
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
integer:: rank, alldims, array_rank
integer:: domain ! 変数の入出力領域の大きさ
! (= 変数が依存する各次元サイズの積)
character(STRING):: tname
integer:: stat
character(STRING):: cause_c
character(*), parameter :: subname = "HistoryGetInt7"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range)))
cause_c = ''
stat = DC_NOERR
file_work = file
! 配列形状の取得
! Get array shape
!
array_shape = shape( array )
array_allsize = size( array )
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 最新時刻の URL 取得
! Get URL of latest time
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
! ファイルオープン
! File open
!
call Open( var, url, err = err )
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
!-------------------------------------------------------------------
! 配列形状のチェック
! Check array shape
!-------------------------------------------------------------------
! 入力ファイル中のデータの次元数
! Get size of dimesions in data of an input file
!
call Inquire( var = var, rank = rank, alldims = alldims ) ! (out)
! 引数の次元数のチェック (縮退されている場合には減らす)
! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
!
array_rank = 7
if ( size( array, 1 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 2 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 3 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 4 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 5 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 6 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 7 ) == 1 ) array_rank = array_rank - 1
! 次元数の比較
! Compare sizes of dimensions
!
if ( .not. 7 == rank .and. .not. array_rank == rank ) then
if ( .not. present_and_true(quiet) ) then
call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 7/), c1 = trim(url) )
end if
stat = GT_ERANKMISMATCH
cause_c = 'array'
goto 999
end if
! 入力ファイル中のデータの配列形状取得
! Get shape of data in an input file
!
call Inquire( var = var , dimord = 1, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(1) = allcount
else
data_shape(1) = 1
end if
call Inquire( var = var , dimord = 2, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(2) = allcount
else
data_shape(2) = 1
end if
call Inquire( var = var , dimord = 3, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(3) = allcount
else
data_shape(3) = 1
end if
call Inquire( var = var , dimord = 4, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(4) = allcount
else
data_shape(4) = 1
end if
call Inquire( var = var , dimord = 5, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(5) = allcount
else
data_shape(5) = 1
end if
call Inquire( var = var , dimord = 6, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(6) = allcount
else
data_shape(6) = 1
end if
call Inquire( var = var , dimord = 7, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(7) = allcount
else
data_shape(7) = 1
end if
! 引数の配列形状整形
! Arrange shape of an argument
!
array_shape_check = array_shape
sd = 1
do i = 1, 7 - 1
if ( array_shape_check(sd) == 1 ) then
array_shape_check(sd:7) = cshift( array_shape_check(sd:7), 1, 1 )
else
sd = sd + 1
end if
end do
! 配列形状の比較
! Compare shapes
!
if ( .not. all( array_shape_check == data_shape ) ) then
if ( .not. present_and_true(quiet) ) then
call MessageNotify('W', subname, 'Shape of data (%c) is (%c), shape of argument is (%c)', c1 = trim( url ), c2 = trim( toChar( data_shape(1:rank) ) ), c3 = trim( toChar( array_shape_check(1:rank) ) ) )
end if
stat = GT_EARGSIZEMISMATCH
cause_c = 'array'
goto 999
end if
!-------------------------------------
! データ取得
! Get data
call Inquire( var = var, size = domain ) ! (out)
if ( allocated( array_tmp ) ) deallocate( array_tmp )
allocate( array_tmp(array_allsize) )
call Get( var, array_tmp, domain )
array = reshape( array_tmp, array_shape )
deallocate( array_tmp )
call Close( var )
!-------------------------------------
! データファイル名と切り出し範囲の印字
! Print data filename and clipping range
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
end if
999 continue
call StoreError(stat, subname, err, cause_c)
call EndSub(subname)
end subroutine HistoryGetInt7
HistoryGetInt7( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | integer, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt7
HistoryGetInt7( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | integer, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt7
HistoryGetInt7( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | integer, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt7
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | integer, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
[Source]
subroutine HistoryGetInt7Pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! See "HistoryGetPointer", for basic usage.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar
use dc_present,only: present_select, present_and_true
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
integer, pointer :: array(:,:,:,:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time ! データの時刻
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt7Pointer"
continue
call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range)))
file_work = file
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 必要な情報を gtool 変数化
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call DbgMessage('@ url =%c', c1=trim(url))
! いよいよデータ取得
!
call Open(var, url, err)
call Get(var, array, err)
call Close(var, err)
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
end if
call EndSub(subname)
end subroutine HistoryGetInt7Pointer
HistoryGetInt7Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | integer, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt7Pointer
HistoryGetInt7Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | integer, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt7Pointer
HistoryGetInt7Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | integer, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetInt7Pointer
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | integer, pointer
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetInt7PointerTimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
integer, pointer:: array(:,:,:,:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt7PointerTimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt7Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt7PointerTimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | integer, pointer
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetInt7PointerTimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
integer, pointer:: array(:,:,:,:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt7PointerTimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt7Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt7PointerTimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | integer, pointer
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetInt7PointerTimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
integer, pointer:: array(:,:,:,:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt7PointerTimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt7Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt7PointerTimeR
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | integer, intent(out)
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetInt7TimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
integer, intent(out):: array(:,:,:,:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt7TimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt7( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt7TimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | integer, intent(out)
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetInt7TimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
integer, intent(out):: array(:,:,:,:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt7TimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt7( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt7TimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | integer, intent(out)
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetInt7TimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
integer, intent(out):: array(:,:,:,:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetInt7TimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetInt7( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetInt7TimeR
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | real, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetReal0(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
!
! 使用方法に関しては HistoryGet を参照してください.
!
! See "HistoryGet", for basic usage.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar, Split, JoinChar, StoA
use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
use dc_present, only: present_select, present_and_not_empty, present_and_true
use dc_regex, only: match
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real, intent(out) :: array
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time ! データの時刻
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
real:: array_tmp(1)
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
integer:: rank, alldims, array_rank
integer:: domain ! 変数の入出力領域の大きさ
! (= 変数が依存する各次元サイズの積)
character(STRING):: tname
integer:: stat
character(STRING):: cause_c
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)))
cause_c = ''
stat = DC_NOERR
file_work = file
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 最新時刻の URL 取得
! Get URL of latest time
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
! ファイルオープン
! File open
!
call Open( var, url, err = err )
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
!-------------------------------------------------------------------
! 配列形状のチェック
! Check array shape
!-------------------------------------------------------------------
! 入力ファイル中のデータの次元数
! Get size of dimesions in data of an input file
!
call Inquire( var = var, rank = rank, alldims = alldims ) ! (out)
! 引数の次元数のチェック (縮退されている場合には減らす)
! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
!
array_rank = 0
! 次元数の比較
! Compare sizes of dimensions
!
if ( .not. 0 == rank .and. .not. array_rank == rank ) then
if ( .not. present_and_true(quiet) ) then
call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 0/), c1 = trim(url) )
end if
stat = GT_ERANKMISMATCH
cause_c = 'array'
goto 999
end if
! 入力ファイル中のデータの配列形状取得
! Get shape of data in an input file
!
!-------------------------------------
! データ取得
! Get data
call Inquire( var = var, size = domain ) ! (out)
call Get( var = var, nvalue = domain, value = array_tmp) ! (out)
array = array_tmp(1)
call Close( var )
!-------------------------------------
! データファイル名と切り出し範囲の印字
! Print data filename and clipping range
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
end if
999 continue
call StoreError(stat, subname, err, cause_c)
call EndSub(subname)
end subroutine HistoryGetReal0
HistoryGetReal0( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | real, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal0
HistoryGetReal0( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | real, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal0
HistoryGetReal0( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | real, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal0
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | real, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
[Source]
subroutine HistoryGetReal0Pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! See "HistoryGetPointer", for basic usage.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar
use dc_present,only: present_select, present_and_true
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real, pointer :: array ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time ! データの時刻
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
real, target :: array_tmp(1)
integer:: domain ! 変数の入出力領域の大きさ
! (= 変数が依存する各次元サイズの積)
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
character(STRING):: tname
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)))
file_work = file
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 必要な情報を gtool 変数化
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
allocate(array)
call DbgMessage('@ url =%c', c1=trim(url))
! いよいよデータ取得
!
call Open(var, url, err)
call Inquire(var=var, size=domain)
call Get(var, array_tmp, domain, err)
array = array_tmp(1)
call Close(var, err)
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
end if
call EndSub(subname)
end subroutine HistoryGetReal0Pointer
HistoryGetReal0Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | real, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal0Pointer
HistoryGetReal0Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | real, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal0Pointer
HistoryGetReal0Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | real, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal0Pointer
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | real, pointer
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetReal0PointerTimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
real, pointer:: array ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal0PointerTimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal0Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal0PointerTimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | real, pointer
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetReal0PointerTimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
real, pointer:: array ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal0PointerTimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal0Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal0PointerTimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | real, pointer
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetReal0PointerTimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
real, pointer:: array ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal0PointerTimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal0Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal0PointerTimeR
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | real, intent(out)
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetReal0TimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
real, intent(out):: array
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal0TimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal0( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal0TimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | real, intent(out)
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetReal0TimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
real, intent(out):: array
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal0TimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal0( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal0TimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array : | real, intent(out)
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetReal0TimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
real, intent(out):: array
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal0TimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal0( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal0TimeR
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetReal1(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
!
! 使用方法に関しては HistoryGet を参照してください.
!
! See "HistoryGet", for basic usage.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar, Split, JoinChar, StoA
use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
use dc_present, only: present_select, present_and_not_empty, present_and_true
use dc_regex, only: match
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real, intent(out) :: array(:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time ! データの時刻
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
real, allocatable:: array_tmp(:)
integer:: array_allsize
integer:: array_shape(1), data_shape(1), array_shape_check(1)
integer:: allcount
integer:: i, sd
logical:: inq_err
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
integer:: rank, alldims, array_rank
integer:: domain ! 変数の入出力領域の大きさ
! (= 変数が依存する各次元サイズの積)
character(STRING):: tname
integer:: stat
character(STRING):: cause_c
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)))
cause_c = ''
stat = DC_NOERR
file_work = file
! 配列形状の取得
! Get array shape
!
array_shape = shape( array )
array_allsize = size( array )
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 最新時刻の URL 取得
! Get URL of latest time
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
! ファイルオープン
! File open
!
call Open( var, url, err = err )
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
!-------------------------------------------------------------------
! 配列形状のチェック
! Check array shape
!-------------------------------------------------------------------
! 入力ファイル中のデータの次元数
! Get size of dimesions in data of an input file
!
call Inquire( var = var, rank = rank, alldims = alldims ) ! (out)
! 引数の次元数のチェック (縮退されている場合には減らす)
! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
!
array_rank = 1
if ( size( array, 1 ) == 1 ) array_rank = array_rank - 1
! 次元数の比較
! Compare sizes of dimensions
!
if ( .not. 1 == rank .and. .not. array_rank == rank ) then
if ( .not. present_and_true(quiet) ) then
call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 1/), c1 = trim(url) )
end if
stat = GT_ERANKMISMATCH
cause_c = 'array'
goto 999
end if
! 入力ファイル中のデータの配列形状取得
! Get shape of data in an input file
!
call Inquire( var = var , dimord = 1, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(1) = allcount
else
data_shape(1) = 1
end if
! 引数の配列形状整形
! Arrange shape of an argument
!
array_shape_check = array_shape
sd = 1
do i = 1, 1 - 1
if ( array_shape_check(sd) == 1 ) then
array_shape_check(sd:1) = cshift( array_shape_check(sd:1), 1, 1 )
else
sd = sd + 1
end if
end do
! 配列形状の比較
! Compare shapes
!
if ( .not. all( array_shape_check == data_shape ) ) then
if ( .not. present_and_true(quiet) ) then
call MessageNotify('W', subname, 'Shape of data (%c) is (%c), shape of argument is (%c)', c1 = trim( url ), c2 = trim( toChar( data_shape(1:rank) ) ), c3 = trim( toChar( array_shape_check(1:rank) ) ) )
end if
stat = GT_EARGSIZEMISMATCH
cause_c = 'array'
goto 999
end if
!-------------------------------------
! データ取得
! Get data
call Inquire( var = var, size = domain ) ! (out)
if ( allocated( array_tmp ) ) deallocate( array_tmp )
allocate( array_tmp(array_allsize) )
call Get( var, array_tmp, domain )
array = reshape( array_tmp, array_shape )
deallocate( array_tmp )
call Close( var )
!-------------------------------------
! データファイル名と切り出し範囲の印字
! Print data filename and clipping range
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
end if
999 continue
call StoreError(stat, subname, err, cause_c)
call EndSub(subname)
end subroutine HistoryGetReal1
HistoryGetReal1( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal1
HistoryGetReal1( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal1
HistoryGetReal1( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal1
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
[Source]
subroutine HistoryGetReal1Pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! See "HistoryGetPointer", for basic usage.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar
use dc_present,only: present_select, present_and_true
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real, pointer :: array(:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time ! データの時刻
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
character(STRING):: tname
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)))
file_work = file
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 必要な情報を gtool 変数化
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call DbgMessage('@ url =%c', c1=trim(url))
! いよいよデータ取得
!
call Open(var, url, err)
call Get(var, array, err)
call Close(var, err)
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
end if
call EndSub(subname)
end subroutine HistoryGetReal1Pointer
HistoryGetReal1Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal1Pointer
HistoryGetReal1Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal1Pointer
HistoryGetReal1Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal1Pointer
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real, pointer
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetReal1PointerTimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
real, pointer:: array(:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal1PointerTimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal1Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal1PointerTimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real, pointer
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetReal1PointerTimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
real, pointer:: array(:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal1PointerTimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal1Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal1PointerTimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real, pointer
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetReal1PointerTimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
real, pointer:: array(:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal1PointerTimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal1Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal1PointerTimeR
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real, intent(out)
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetReal1TimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
real, intent(out):: array(:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal1TimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal1( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal1TimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real, intent(out)
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetReal1TimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
real, intent(out):: array(:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal1TimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal1( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal1TimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:) : | real, intent(out)
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetReal1TimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
real, intent(out):: array(:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal1TimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal1( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal1TimeR
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetReal2(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
!
! 使用方法に関しては HistoryGet を参照してください.
!
! See "HistoryGet", for basic usage.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar, Split, JoinChar, StoA
use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
use dc_present, only: present_select, present_and_not_empty, present_and_true
use dc_regex, only: match
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real, intent(out) :: array(:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time ! データの時刻
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
real, allocatable:: array_tmp(:)
integer:: array_allsize
integer:: array_shape(2), data_shape(2), array_shape_check(2)
integer:: allcount
integer:: i, sd
logical:: inq_err
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
integer:: rank, alldims, array_rank
integer:: domain ! 変数の入出力領域の大きさ
! (= 変数が依存する各次元サイズの積)
character(STRING):: tname
integer:: stat
character(STRING):: cause_c
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)))
cause_c = ''
stat = DC_NOERR
file_work = file
! 配列形状の取得
! Get array shape
!
array_shape = shape( array )
array_allsize = size( array )
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 最新時刻の URL 取得
! Get URL of latest time
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
! ファイルオープン
! File open
!
call Open( var, url, err = err )
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
!-------------------------------------------------------------------
! 配列形状のチェック
! Check array shape
!-------------------------------------------------------------------
! 入力ファイル中のデータの次元数
! Get size of dimesions in data of an input file
!
call Inquire( var = var, rank = rank, alldims = alldims ) ! (out)
! 引数の次元数のチェック (縮退されている場合には減らす)
! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
!
array_rank = 2
if ( size( array, 1 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 2 ) == 1 ) array_rank = array_rank - 1
! 次元数の比較
! Compare sizes of dimensions
!
if ( .not. 2 == rank .and. .not. array_rank == rank ) then
if ( .not. present_and_true(quiet) ) then
call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 2/), c1 = trim(url) )
end if
stat = GT_ERANKMISMATCH
cause_c = 'array'
goto 999
end if
! 入力ファイル中のデータの配列形状取得
! Get shape of data in an input file
!
call Inquire( var = var , dimord = 1, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(1) = allcount
else
data_shape(1) = 1
end if
call Inquire( var = var , dimord = 2, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(2) = allcount
else
data_shape(2) = 1
end if
! 引数の配列形状整形
! Arrange shape of an argument
!
array_shape_check = array_shape
sd = 1
do i = 1, 2 - 1
if ( array_shape_check(sd) == 1 ) then
array_shape_check(sd:2) = cshift( array_shape_check(sd:2), 1, 1 )
else
sd = sd + 1
end if
end do
! 配列形状の比較
! Compare shapes
!
if ( .not. all( array_shape_check == data_shape ) ) then
if ( .not. present_and_true(quiet) ) then
call MessageNotify('W', subname, 'Shape of data (%c) is (%c), shape of argument is (%c)', c1 = trim( url ), c2 = trim( toChar( data_shape(1:rank) ) ), c3 = trim( toChar( array_shape_check(1:rank) ) ) )
end if
stat = GT_EARGSIZEMISMATCH
cause_c = 'array'
goto 999
end if
!-------------------------------------
! データ取得
! Get data
call Inquire( var = var, size = domain ) ! (out)
if ( allocated( array_tmp ) ) deallocate( array_tmp )
allocate( array_tmp(array_allsize) )
call Get( var, array_tmp, domain )
array = reshape( array_tmp, array_shape )
deallocate( array_tmp )
call Close( var )
!-------------------------------------
! データファイル名と切り出し範囲の印字
! Print data filename and clipping range
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
end if
999 continue
call StoreError(stat, subname, err, cause_c)
call EndSub(subname)
end subroutine HistoryGetReal2
HistoryGetReal2( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal2
HistoryGetReal2( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal2
HistoryGetReal2( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal2
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
[Source]
subroutine HistoryGetReal2Pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! See "HistoryGetPointer", for basic usage.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar
use dc_present,only: present_select, present_and_true
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real, pointer :: array(:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time ! データの時刻
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
character(STRING):: tname
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)))
file_work = file
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 必要な情報を gtool 変数化
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call DbgMessage('@ url =%c', c1=trim(url))
! いよいよデータ取得
!
call Open(var, url, err)
call Get(var, array, err)
call Close(var, err)
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
end if
call EndSub(subname)
end subroutine HistoryGetReal2Pointer
HistoryGetReal2Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal2Pointer
HistoryGetReal2Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal2Pointer
HistoryGetReal2Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal2Pointer
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real, pointer
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetReal2PointerTimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
real, pointer:: array(:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal2PointerTimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal2Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal2PointerTimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real, pointer
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetReal2PointerTimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
real, pointer:: array(:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal2PointerTimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal2Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal2PointerTimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real, pointer
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetReal2PointerTimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
real, pointer:: array(:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal2PointerTimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal2Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal2PointerTimeR
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real, intent(out)
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetReal2TimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
real, intent(out):: array(:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal2TimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal2( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal2TimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real, intent(out)
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetReal2TimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
real, intent(out):: array(:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal2TimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal2( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal2TimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:) : | real, intent(out)
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetReal2TimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
real, intent(out):: array(:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal2TimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal2( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal2TimeR
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetReal3(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
!
! 使用方法に関しては HistoryGet を参照してください.
!
! See "HistoryGet", for basic usage.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar, Split, JoinChar, StoA
use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
use dc_present, only: present_select, present_and_not_empty, present_and_true
use dc_regex, only: match
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real, intent(out) :: array(:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time ! データの時刻
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
real, allocatable:: array_tmp(:)
integer:: array_allsize
integer:: array_shape(3), data_shape(3), array_shape_check(3)
integer:: allcount
integer:: i, sd
logical:: inq_err
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
integer:: rank, alldims, array_rank
integer:: domain ! 変数の入出力領域の大きさ
! (= 変数が依存する各次元サイズの積)
character(STRING):: tname
integer:: stat
character(STRING):: cause_c
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)))
cause_c = ''
stat = DC_NOERR
file_work = file
! 配列形状の取得
! Get array shape
!
array_shape = shape( array )
array_allsize = size( array )
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 最新時刻の URL 取得
! Get URL of latest time
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
! ファイルオープン
! File open
!
call Open( var, url, err = err )
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
!-------------------------------------------------------------------
! 配列形状のチェック
! Check array shape
!-------------------------------------------------------------------
! 入力ファイル中のデータの次元数
! Get size of dimesions in data of an input file
!
call Inquire( var = var, rank = rank, alldims = alldims ) ! (out)
! 引数の次元数のチェック (縮退されている場合には減らす)
! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
!
array_rank = 3
if ( size( array, 1 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 2 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 3 ) == 1 ) array_rank = array_rank - 1
! 次元数の比較
! Compare sizes of dimensions
!
if ( .not. 3 == rank .and. .not. array_rank == rank ) then
if ( .not. present_and_true(quiet) ) then
call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 3/), c1 = trim(url) )
end if
stat = GT_ERANKMISMATCH
cause_c = 'array'
goto 999
end if
! 入力ファイル中のデータの配列形状取得
! Get shape of data in an input file
!
call Inquire( var = var , dimord = 1, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(1) = allcount
else
data_shape(1) = 1
end if
call Inquire( var = var , dimord = 2, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(2) = allcount
else
data_shape(2) = 1
end if
call Inquire( var = var , dimord = 3, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(3) = allcount
else
data_shape(3) = 1
end if
! 引数の配列形状整形
! Arrange shape of an argument
!
array_shape_check = array_shape
sd = 1
do i = 1, 3 - 1
if ( array_shape_check(sd) == 1 ) then
array_shape_check(sd:3) = cshift( array_shape_check(sd:3), 1, 1 )
else
sd = sd + 1
end if
end do
! 配列形状の比較
! Compare shapes
!
if ( .not. all( array_shape_check == data_shape ) ) then
if ( .not. present_and_true(quiet) ) then
call MessageNotify('W', subname, 'Shape of data (%c) is (%c), shape of argument is (%c)', c1 = trim( url ), c2 = trim( toChar( data_shape(1:rank) ) ), c3 = trim( toChar( array_shape_check(1:rank) ) ) )
end if
stat = GT_EARGSIZEMISMATCH
cause_c = 'array'
goto 999
end if
!-------------------------------------
! データ取得
! Get data
call Inquire( var = var, size = domain ) ! (out)
if ( allocated( array_tmp ) ) deallocate( array_tmp )
allocate( array_tmp(array_allsize) )
call Get( var, array_tmp, domain )
array = reshape( array_tmp, array_shape )
deallocate( array_tmp )
call Close( var )
!-------------------------------------
! データファイル名と切り出し範囲の印字
! Print data filename and clipping range
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
end if
999 continue
call StoreError(stat, subname, err, cause_c)
call EndSub(subname)
end subroutine HistoryGetReal3
HistoryGetReal3( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal3
HistoryGetReal3( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal3
HistoryGetReal3( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal3
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
[Source]
subroutine HistoryGetReal3Pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! See "HistoryGetPointer", for basic usage.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar
use dc_present,only: present_select, present_and_true
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real, pointer :: array(:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time ! データの時刻
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
character(STRING):: tname
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)))
file_work = file
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 必要な情報を gtool 変数化
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call DbgMessage('@ url =%c', c1=trim(url))
! いよいよデータ取得
!
call Open(var, url, err)
call Get(var, array, err)
call Close(var, err)
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
end if
call EndSub(subname)
end subroutine HistoryGetReal3Pointer
HistoryGetReal3Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal3Pointer
HistoryGetReal3Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal3Pointer
HistoryGetReal3Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal3Pointer
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real, pointer
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetReal3PointerTimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
real, pointer:: array(:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal3PointerTimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal3Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal3PointerTimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real, pointer
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetReal3PointerTimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
real, pointer:: array(:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal3PointerTimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal3Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal3PointerTimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real, pointer
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetReal3PointerTimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
real, pointer:: array(:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal3PointerTimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal3Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal3PointerTimeR
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real, intent(out)
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetReal3TimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
real, intent(out):: array(:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal3TimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal3( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal3TimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real, intent(out)
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetReal3TimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
real, intent(out):: array(:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal3TimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal3( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal3TimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:) : | real, intent(out)
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetReal3TimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
real, intent(out):: array(:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal3TimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal3( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal3TimeR
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetReal4(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
!
! 使用方法に関しては HistoryGet を参照してください.
!
! See "HistoryGet", for basic usage.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar, Split, JoinChar, StoA
use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
use dc_present, only: present_select, present_and_not_empty, present_and_true
use dc_regex, only: match
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real, intent(out) :: array(:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time ! データの時刻
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
real, allocatable:: array_tmp(:)
integer:: array_allsize
integer:: array_shape(4), data_shape(4), array_shape_check(4)
integer:: allcount
integer:: i, sd
logical:: inq_err
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
integer:: rank, alldims, array_rank
integer:: domain ! 変数の入出力領域の大きさ
! (= 変数が依存する各次元サイズの積)
character(STRING):: tname
integer:: stat
character(STRING):: cause_c
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)))
cause_c = ''
stat = DC_NOERR
file_work = file
! 配列形状の取得
! Get array shape
!
array_shape = shape( array )
array_allsize = size( array )
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 最新時刻の URL 取得
! Get URL of latest time
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
! ファイルオープン
! File open
!
call Open( var, url, err = err )
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
!-------------------------------------------------------------------
! 配列形状のチェック
! Check array shape
!-------------------------------------------------------------------
! 入力ファイル中のデータの次元数
! Get size of dimesions in data of an input file
!
call Inquire( var = var, rank = rank, alldims = alldims ) ! (out)
! 引数の次元数のチェック (縮退されている場合には減らす)
! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
!
array_rank = 4
if ( size( array, 1 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 2 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 3 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 4 ) == 1 ) array_rank = array_rank - 1
! 次元数の比較
! Compare sizes of dimensions
!
if ( .not. 4 == rank .and. .not. array_rank == rank ) then
if ( .not. present_and_true(quiet) ) then
call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 4/), c1 = trim(url) )
end if
stat = GT_ERANKMISMATCH
cause_c = 'array'
goto 999
end if
! 入力ファイル中のデータの配列形状取得
! Get shape of data in an input file
!
call Inquire( var = var , dimord = 1, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(1) = allcount
else
data_shape(1) = 1
end if
call Inquire( var = var , dimord = 2, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(2) = allcount
else
data_shape(2) = 1
end if
call Inquire( var = var , dimord = 3, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(3) = allcount
else
data_shape(3) = 1
end if
call Inquire( var = var , dimord = 4, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(4) = allcount
else
data_shape(4) = 1
end if
! 引数の配列形状整形
! Arrange shape of an argument
!
array_shape_check = array_shape
sd = 1
do i = 1, 4 - 1
if ( array_shape_check(sd) == 1 ) then
array_shape_check(sd:4) = cshift( array_shape_check(sd:4), 1, 1 )
else
sd = sd + 1
end if
end do
! 配列形状の比較
! Compare shapes
!
if ( .not. all( array_shape_check == data_shape ) ) then
if ( .not. present_and_true(quiet) ) then
call MessageNotify('W', subname, 'Shape of data (%c) is (%c), shape of argument is (%c)', c1 = trim( url ), c2 = trim( toChar( data_shape(1:rank) ) ), c3 = trim( toChar( array_shape_check(1:rank) ) ) )
end if
stat = GT_EARGSIZEMISMATCH
cause_c = 'array'
goto 999
end if
!-------------------------------------
! データ取得
! Get data
call Inquire( var = var, size = domain ) ! (out)
if ( allocated( array_tmp ) ) deallocate( array_tmp )
allocate( array_tmp(array_allsize) )
call Get( var, array_tmp, domain )
array = reshape( array_tmp, array_shape )
deallocate( array_tmp )
call Close( var )
!-------------------------------------
! データファイル名と切り出し範囲の印字
! Print data filename and clipping range
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
end if
999 continue
call StoreError(stat, subname, err, cause_c)
call EndSub(subname)
end subroutine HistoryGetReal4
HistoryGetReal4( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal4
HistoryGetReal4( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal4
HistoryGetReal4( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal4
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
[Source]
subroutine HistoryGetReal4Pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! See "HistoryGetPointer", for basic usage.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar
use dc_present,only: present_select, present_and_true
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real, pointer :: array(:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time ! データの時刻
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
character(STRING):: tname
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)))
file_work = file
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 必要な情報を gtool 変数化
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call DbgMessage('@ url =%c', c1=trim(url))
! いよいよデータ取得
!
call Open(var, url, err)
call Get(var, array, err)
call Close(var, err)
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
end if
call EndSub(subname)
end subroutine HistoryGetReal4Pointer
HistoryGetReal4Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal4Pointer
HistoryGetReal4Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal4Pointer
HistoryGetReal4Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal4Pointer
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real, pointer
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetReal4PointerTimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
real, pointer:: array(:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal4PointerTimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal4Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal4PointerTimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real, pointer
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetReal4PointerTimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
real, pointer:: array(:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal4PointerTimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal4Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal4PointerTimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real, pointer
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetReal4PointerTimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
real, pointer:: array(:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal4PointerTimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal4Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal4PointerTimeR
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real, intent(out)
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetReal4TimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
real, intent(out):: array(:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal4TimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal4( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal4TimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real, intent(out)
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetReal4TimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
real, intent(out):: array(:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal4TimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal4( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal4TimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:) : | real, intent(out)
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetReal4TimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
real, intent(out):: array(:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal4TimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal4( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal4TimeR
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetReal5(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
!
! 使用方法に関しては HistoryGet を参照してください.
!
! See "HistoryGet", for basic usage.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar, Split, JoinChar, StoA
use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
use dc_present, only: present_select, present_and_not_empty, present_and_true
use dc_regex, only: match
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real, intent(out) :: array(:,:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time ! データの時刻
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
real, allocatable:: array_tmp(:)
integer:: array_allsize
integer:: array_shape(5), data_shape(5), array_shape_check(5)
integer:: allcount
integer:: i, sd
logical:: inq_err
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
integer:: rank, alldims, array_rank
integer:: domain ! 変数の入出力領域の大きさ
! (= 変数が依存する各次元サイズの積)
character(STRING):: tname
integer:: stat
character(STRING):: cause_c
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)))
cause_c = ''
stat = DC_NOERR
file_work = file
! 配列形状の取得
! Get array shape
!
array_shape = shape( array )
array_allsize = size( array )
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 最新時刻の URL 取得
! Get URL of latest time
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
! ファイルオープン
! File open
!
call Open( var, url, err = err )
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
!-------------------------------------------------------------------
! 配列形状のチェック
! Check array shape
!-------------------------------------------------------------------
! 入力ファイル中のデータの次元数
! Get size of dimesions in data of an input file
!
call Inquire( var = var, rank = rank, alldims = alldims ) ! (out)
! 引数の次元数のチェック (縮退されている場合には減らす)
! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
!
array_rank = 5
if ( size( array, 1 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 2 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 3 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 4 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 5 ) == 1 ) array_rank = array_rank - 1
! 次元数の比較
! Compare sizes of dimensions
!
if ( .not. 5 == rank .and. .not. array_rank == rank ) then
if ( .not. present_and_true(quiet) ) then
call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 5/), c1 = trim(url) )
end if
stat = GT_ERANKMISMATCH
cause_c = 'array'
goto 999
end if
! 入力ファイル中のデータの配列形状取得
! Get shape of data in an input file
!
call Inquire( var = var , dimord = 1, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(1) = allcount
else
data_shape(1) = 1
end if
call Inquire( var = var , dimord = 2, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(2) = allcount
else
data_shape(2) = 1
end if
call Inquire( var = var , dimord = 3, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(3) = allcount
else
data_shape(3) = 1
end if
call Inquire( var = var , dimord = 4, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(4) = allcount
else
data_shape(4) = 1
end if
call Inquire( var = var , dimord = 5, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(5) = allcount
else
data_shape(5) = 1
end if
! 引数の配列形状整形
! Arrange shape of an argument
!
array_shape_check = array_shape
sd = 1
do i = 1, 5 - 1
if ( array_shape_check(sd) == 1 ) then
array_shape_check(sd:5) = cshift( array_shape_check(sd:5), 1, 1 )
else
sd = sd + 1
end if
end do
! 配列形状の比較
! Compare shapes
!
if ( .not. all( array_shape_check == data_shape ) ) then
if ( .not. present_and_true(quiet) ) then
call MessageNotify('W', subname, 'Shape of data (%c) is (%c), shape of argument is (%c)', c1 = trim( url ), c2 = trim( toChar( data_shape(1:rank) ) ), c3 = trim( toChar( array_shape_check(1:rank) ) ) )
end if
stat = GT_EARGSIZEMISMATCH
cause_c = 'array'
goto 999
end if
!-------------------------------------
! データ取得
! Get data
call Inquire( var = var, size = domain ) ! (out)
if ( allocated( array_tmp ) ) deallocate( array_tmp )
allocate( array_tmp(array_allsize) )
call Get( var, array_tmp, domain )
array = reshape( array_tmp, array_shape )
deallocate( array_tmp )
call Close( var )
!-------------------------------------
! データファイル名と切り出し範囲の印字
! Print data filename and clipping range
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
end if
999 continue
call StoreError(stat, subname, err, cause_c)
call EndSub(subname)
end subroutine HistoryGetReal5
HistoryGetReal5( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal5
HistoryGetReal5( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal5
HistoryGetReal5( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal5
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
[Source]
subroutine HistoryGetReal5Pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! See "HistoryGetPointer", for basic usage.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar
use dc_present,only: present_select, present_and_true
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real, pointer :: array(:,:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time ! データの時刻
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
character(STRING):: tname
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)))
file_work = file
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 必要な情報を gtool 変数化
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call DbgMessage('@ url =%c', c1=trim(url))
! いよいよデータ取得
!
call Open(var, url, err)
call Get(var, array, err)
call Close(var, err)
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
end if
call EndSub(subname)
end subroutine HistoryGetReal5Pointer
HistoryGetReal5Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal5Pointer
HistoryGetReal5Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal5Pointer
HistoryGetReal5Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal5Pointer
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real, pointer
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetReal5PointerTimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
real, pointer:: array(:,:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal5PointerTimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal5Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal5PointerTimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real, pointer
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetReal5PointerTimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
real, pointer:: array(:,:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal5PointerTimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal5Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal5PointerTimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real, pointer
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetReal5PointerTimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
real, pointer:: array(:,:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal5PointerTimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal5Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal5PointerTimeR
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real, intent(out)
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetReal5TimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
real, intent(out):: array(:,:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal5TimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal5( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal5TimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real, intent(out)
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetReal5TimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
real, intent(out):: array(:,:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal5TimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal5( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal5TimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:) : | real, intent(out)
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetReal5TimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
real, intent(out):: array(:,:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal5TimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal5( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal5TimeR
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetReal6(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
!
! 使用方法に関しては HistoryGet を参照してください.
!
! See "HistoryGet", for basic usage.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar, Split, JoinChar, StoA
use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
use dc_present, only: present_select, present_and_not_empty, present_and_true
use dc_regex, only: match
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real, intent(out) :: array(:,:,:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time ! データの時刻
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
real, allocatable:: array_tmp(:)
integer:: array_allsize
integer:: array_shape(6), data_shape(6), array_shape_check(6)
integer:: allcount
integer:: i, sd
logical:: inq_err
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
integer:: rank, alldims, array_rank
integer:: domain ! 変数の入出力領域の大きさ
! (= 変数が依存する各次元サイズの積)
character(STRING):: tname
integer:: stat
character(STRING):: cause_c
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)))
cause_c = ''
stat = DC_NOERR
file_work = file
! 配列形状の取得
! Get array shape
!
array_shape = shape( array )
array_allsize = size( array )
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 最新時刻の URL 取得
! Get URL of latest time
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
! ファイルオープン
! File open
!
call Open( var, url, err = err )
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
!-------------------------------------------------------------------
! 配列形状のチェック
! Check array shape
!-------------------------------------------------------------------
! 入力ファイル中のデータの次元数
! Get size of dimesions in data of an input file
!
call Inquire( var = var, rank = rank, alldims = alldims ) ! (out)
! 引数の次元数のチェック (縮退されている場合には減らす)
! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
!
array_rank = 6
if ( size( array, 1 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 2 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 3 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 4 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 5 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 6 ) == 1 ) array_rank = array_rank - 1
! 次元数の比較
! Compare sizes of dimensions
!
if ( .not. 6 == rank .and. .not. array_rank == rank ) then
if ( .not. present_and_true(quiet) ) then
call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 6/), c1 = trim(url) )
end if
stat = GT_ERANKMISMATCH
cause_c = 'array'
goto 999
end if
! 入力ファイル中のデータの配列形状取得
! Get shape of data in an input file
!
call Inquire( var = var , dimord = 1, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(1) = allcount
else
data_shape(1) = 1
end if
call Inquire( var = var , dimord = 2, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(2) = allcount
else
data_shape(2) = 1
end if
call Inquire( var = var , dimord = 3, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(3) = allcount
else
data_shape(3) = 1
end if
call Inquire( var = var , dimord = 4, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(4) = allcount
else
data_shape(4) = 1
end if
call Inquire( var = var , dimord = 5, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(5) = allcount
else
data_shape(5) = 1
end if
call Inquire( var = var , dimord = 6, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(6) = allcount
else
data_shape(6) = 1
end if
! 引数の配列形状整形
! Arrange shape of an argument
!
array_shape_check = array_shape
sd = 1
do i = 1, 6 - 1
if ( array_shape_check(sd) == 1 ) then
array_shape_check(sd:6) = cshift( array_shape_check(sd:6), 1, 1 )
else
sd = sd + 1
end if
end do
! 配列形状の比較
! Compare shapes
!
if ( .not. all( array_shape_check == data_shape ) ) then
if ( .not. present_and_true(quiet) ) then
call MessageNotify('W', subname, 'Shape of data (%c) is (%c), shape of argument is (%c)', c1 = trim( url ), c2 = trim( toChar( data_shape(1:rank) ) ), c3 = trim( toChar( array_shape_check(1:rank) ) ) )
end if
stat = GT_EARGSIZEMISMATCH
cause_c = 'array'
goto 999
end if
!-------------------------------------
! データ取得
! Get data
call Inquire( var = var, size = domain ) ! (out)
if ( allocated( array_tmp ) ) deallocate( array_tmp )
allocate( array_tmp(array_allsize) )
call Get( var, array_tmp, domain )
array = reshape( array_tmp, array_shape )
deallocate( array_tmp )
call Close( var )
!-------------------------------------
! データファイル名と切り出し範囲の印字
! Print data filename and clipping range
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
end if
999 continue
call StoreError(stat, subname, err, cause_c)
call EndSub(subname)
end subroutine HistoryGetReal6
HistoryGetReal6( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal6
HistoryGetReal6( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal6
HistoryGetReal6( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal6
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
[Source]
subroutine HistoryGetReal6Pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! See "HistoryGetPointer", for basic usage.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar
use dc_present,only: present_select, present_and_true
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real, pointer :: array(:,:,:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time ! データの時刻
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
character(STRING):: tname
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)))
file_work = file
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 必要な情報を gtool 変数化
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call DbgMessage('@ url =%c', c1=trim(url))
! いよいよデータ取得
!
call Open(var, url, err)
call Get(var, array, err)
call Close(var, err)
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
end if
call EndSub(subname)
end subroutine HistoryGetReal6Pointer
HistoryGetReal6Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal6Pointer
HistoryGetReal6Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal6Pointer
HistoryGetReal6Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal6Pointer
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real, pointer
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetReal6PointerTimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
real, pointer:: array(:,:,:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal6PointerTimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal6Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal6PointerTimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real, pointer
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetReal6PointerTimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
real, pointer:: array(:,:,:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal6PointerTimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal6Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal6PointerTimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real, pointer
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetReal6PointerTimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
real, pointer:: array(:,:,:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal6PointerTimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal6Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal6PointerTimeR
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real, intent(out)
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetReal6TimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
real, intent(out):: array(:,:,:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal6TimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal6( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal6TimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real, intent(out)
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetReal6TimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
real, intent(out):: array(:,:,:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal6TimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal6( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal6TimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:) : | real, intent(out)
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetReal6TimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
real, intent(out):: array(:,:,:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal6TimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal6( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal6TimeR
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetReal7(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
!
! 使用方法に関しては HistoryGet を参照してください.
!
! See "HistoryGet", for basic usage.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar, Split, JoinChar, StoA
use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
use dc_present, only: present_select, present_and_not_empty, present_and_true
use dc_regex, only: match
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real, intent(out) :: array(:,:,:,:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time ! データの時刻
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
real, allocatable:: array_tmp(:)
integer:: array_allsize
integer:: array_shape(7), data_shape(7), array_shape_check(7)
integer:: allcount
integer:: i, sd
logical:: inq_err
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
integer:: rank, alldims, array_rank
integer:: domain ! 変数の入出力領域の大きさ
! (= 変数が依存する各次元サイズの積)
character(STRING):: tname
integer:: stat
character(STRING):: cause_c
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)))
cause_c = ''
stat = DC_NOERR
file_work = file
! 配列形状の取得
! Get array shape
!
array_shape = shape( array )
array_allsize = size( array )
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 最新時刻の URL 取得
! Get URL of latest time
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
! ファイルオープン
! File open
!
call Open( var, url, err = err )
if ( present_and_true(err) ) then
stat = GT_ENOTURL
cause_c = url
goto 999
end if
!-------------------------------------------------------------------
! 配列形状のチェック
! Check array shape
!-------------------------------------------------------------------
! 入力ファイル中のデータの次元数
! Get size of dimesions in data of an input file
!
call Inquire( var = var, rank = rank, alldims = alldims ) ! (out)
! 引数の次元数のチェック (縮退されている場合には減らす)
! Check size of dimensions of an argument (If any dimension degenerated, size of dimensions is decreased)
!
array_rank = 7
if ( size( array, 1 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 2 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 3 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 4 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 5 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 6 ) == 1 ) array_rank = array_rank - 1
if ( size( array, 7 ) == 1 ) array_rank = array_rank - 1
! 次元数の比較
! Compare sizes of dimensions
!
if ( .not. 7 == rank .and. .not. array_rank == rank ) then
if ( .not. present_and_true(quiet) ) then
call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 7/), c1 = trim(url) )
end if
stat = GT_ERANKMISMATCH
cause_c = 'array'
goto 999
end if
! 入力ファイル中のデータの配列形状取得
! Get shape of data in an input file
!
call Inquire( var = var , dimord = 1, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(1) = allcount
else
data_shape(1) = 1
end if
call Inquire( var = var , dimord = 2, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(2) = allcount
else
data_shape(2) = 1
end if
call Inquire( var = var , dimord = 3, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(3) = allcount
else
data_shape(3) = 1
end if
call Inquire( var = var , dimord = 4, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(4) = allcount
else
data_shape(4) = 1
end if
call Inquire( var = var , dimord = 5, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(5) = allcount
else
data_shape(5) = 1
end if
call Inquire( var = var , dimord = 6, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(6) = allcount
else
data_shape(6) = 1
end if
call Inquire( var = var , dimord = 7, allcount = allcount, err = inq_err ) ! (out)
if ( .not. inq_err ) then
data_shape(7) = allcount
else
data_shape(7) = 1
end if
! 引数の配列形状整形
! Arrange shape of an argument
!
array_shape_check = array_shape
sd = 1
do i = 1, 7 - 1
if ( array_shape_check(sd) == 1 ) then
array_shape_check(sd:7) = cshift( array_shape_check(sd:7), 1, 1 )
else
sd = sd + 1
end if
end do
! 配列形状の比較
! Compare shapes
!
if ( .not. all( array_shape_check == data_shape ) ) then
if ( .not. present_and_true(quiet) ) then
call MessageNotify('W', subname, 'Shape of data (%c) is (%c), shape of argument is (%c)', c1 = trim( url ), c2 = trim( toChar( data_shape(1:rank) ) ), c3 = trim( toChar( array_shape_check(1:rank) ) ) )
end if
stat = GT_EARGSIZEMISMATCH
cause_c = 'array'
goto 999
end if
!-------------------------------------
! データ取得
! Get data
call Inquire( var = var, size = domain ) ! (out)
if ( allocated( array_tmp ) ) deallocate( array_tmp )
allocate( array_tmp(array_allsize) )
call Get( var, array_tmp, domain )
array = reshape( array_tmp, array_shape )
deallocate( array_tmp )
call Close( var )
!-------------------------------------
! データファイル名と切り出し範囲の印字
! Print data filename and clipping range
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url), rank_mpi = -1)
end if
999 continue
call StoreError(stat, subname, err, cause_c)
call EndSub(subname)
end subroutine HistoryGetReal7
HistoryGetReal7( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal7
HistoryGetReal7( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal7
HistoryGetReal7( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real, intent(out)
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGet を参照してください.
See "HistoryGet", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal7
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
[Source]
subroutine HistoryGetReal7Pointer(file, varname, array, range, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! See "HistoryGetPointer", for basic usage.
!
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Inquire, Close, Get
use dc_string, only: toChar
use dc_present,only: present_select, present_and_true
use dc_types, only: DP, STRING
use dc_message, only: MessageNotify
use dc_trace, only: Beginsub, Endsub, DbgMessage
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(*), intent(in):: varname
character(*), intent(in), optional:: range
logical, intent(in), optional:: quiet
real, pointer :: array(:,:,:,:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time ! データの時刻
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
type(GT_VARIABLE):: var
character(STRING):: file_work, url, actual_url
character(STRING):: tname
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)))
file_work = file
! ファイル名の変更 (MPI 用)
! Change filename (for MPI)
!
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
! 必要な情報を gtool 変数化
!
call lookup_growable_url(file_work, varname, url, range, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call DbgMessage('@ url =%c', c1=trim(url))
! いよいよデータ取得
!
call Open(var, url, err)
call Get(var, array, err)
call Close(var, err)
call actual_iorange_dump(url, actual_url, returned_time, time_name = tname, err = err) ! (out) optional
if ( .not. present_and_true(quiet) ) then
call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url))
end if
call EndSub(subname)
end subroutine HistoryGetReal7Pointer
HistoryGetReal7Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal7Pointer
HistoryGetReal7Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal7Pointer
HistoryGetReal7Pointer( file, varname, array, [range], [quiet], [flag_mpi_split], [returned_time], [flag_time_exist], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real, pointer
|
range : | character(*), intent(in), optional
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
使用方法に関しては HistoryGetPointer を参照してください.
See "HistoryGetPointer", for basic usage.
Original external subprogram is gtool/gtool_history/historyget.F90#HistoryGetReal7Pointer
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real, pointer
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetReal7PointerTimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
real, pointer:: array(:,:,:,:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal7PointerTimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal7Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal7PointerTimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real, pointer
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetReal7PointerTimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
real, pointer:: array(:,:,:,:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal7PointerTimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal7Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal7PointerTimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real, pointer
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては
HistoryGet を参照してください.
This is "HistoryGet" with numerical argument time for
specification of time. See "HistoryGet", for basic usage.
[Source]
subroutine HistoryGetReal7PointerTimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGet です.
! 使用方法に関しては HistoryGet を参照してください.
!
! This is "HistoryGet" with numerical argument *time* for
! specification of time.
! See "HistoryGet", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
real, pointer:: array(:,:,:,:,:,:,:) ! (out)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal7PointerTimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal7Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal7PointerTimeR
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real, intent(out)
|
time : | real(DP), intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetReal7TimeD( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real(DP), intent(in):: time
logical, intent(in), optional:: quiet
real, intent(out):: array(:,:,:,:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal7TimeD"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal7( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal7TimeD
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real, intent(out)
|
time : | integer, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetReal7TimeI( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
integer, intent(in):: time
logical, intent(in), optional:: quiet
real, intent(out):: array(:,:,:,:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal7TimeI"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal7( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal7TimeI
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
array(:,:,:,:,:,:,:) : | real, intent(out)
|
time : | real, intent(in)
|
quiet : | logical, intent(in), optional
|
flag_mpi_split : | logical, intent(in), optional
|
returned_time : | real(DP), intent(out), optional
|
flag_time_exist : | logical, intent(out), optional
|
err : | logical, intent(out), optional
|
Note that Japanese and English are described in parallel.
数値型引数 time で時刻指定可能な HistoryGetPointer です.
使用方法に関しては HistoryGetPointer を参照してください.
This is "HistoryGetPointer" with numerical argument time
for specification of time. See "HistoryGetPointer", for basic
usage.
[Source]
subroutine HistoryGetReal7TimeR( file, varname, array, time, quiet, flag_mpi_split, returned_time, flag_time_exist, err)
!
! <b>Note that Japanese and English are described in parallel.</b>
!
! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です.
! 使用方法に関しては HistoryGetPointer を参照してください.
!
! This is "HistoryGetPointer" with numerical argument *time* for
! specification of time.
! See "HistoryGetPointer", for basic usage.
!
use dc_string, only: toChar, Split
use dc_types, only: DP, STRING
use dc_trace, only: Beginsub, Endsub, DbgMessage
use dc_url, only: Url_Chop_IOrange, GT_EQUAL
use dc_present, only: present_and_true
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file, varname
real, intent(in):: time
logical, intent(in), optional:: quiet
real, intent(out):: array(:,:,:,:,:,:,:)
logical, intent(in), optional:: flag_mpi_split
real(DP), intent(out), optional:: returned_time
logical, intent(out), optional:: flag_time_exist
logical, intent(out), optional:: err
character(STRING):: file_work, url, iorange, remainder, timevar_name, time_range
character(STRING), pointer:: carray (:)
character(STRING):: tname
character(*), parameter :: subname = "HistoryGetReal7TimeR"
continue
call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))
file_work = file
if ( present_and_true( flag_mpi_split ) ) file_work = file_rename_mpi( file_work )
call lookup_growable_url(file = file_work, varname = varname, url = url, flag_time_exist = flag_time_exist, time_name = tname, err = err)
call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
call Split( str = iorange, carray = carray, sep = GT_EQUAL )
timevar_name = carray(1)
deallocate( carray )
time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))
call HistoryGetReal7( file = file, varname = varname, array = array, range = time_range, quiet = quiet, flag_mpi_split = flag_mpi_split, returned_time = returned_time, flag_time_exist = flag_time_exist, err = err )
call EndSub(subname)
end subroutine HistoryGetReal7TimeR
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
[Source]
subroutine actual_iorange_dump( url, actual_url, returned_time, time_name, err ) ! (out) optional
!
! 変数 URL *url* に対応するファイル, 変数からデータを取り出す際,
! 入出力範囲指定によって切り出される値の本当の位置を
! 標準出力に出力する. *actual_url* が与えられる場合には
! その引数に値を返し, 標準出力には出力しない.
!
! HistoryGet, HistoryGetPointer が下層で呼び出している
! gtdata_generic#Get は, 入出力範囲が次元データに正確に一致しない
! 場合, 最も近い値を自動的に選択して切り出す. しかしその結果,
! 「本当はどこのデータを入力したか」がわからない場合があるため,
! このサブルーチンによって正確な位置をユーザに知らせる.
!
! *time_name* と *returned_time* が与えられる場合には,
! *returned_time* に時刻の数値を返す.
! *returned_time* のみ与えられる場合には 0 を返す.
!
use dc_types, only: DP, STRING
use dc_string, only: Split, JoinChar, toChar, RoundNum
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 dc_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
real(DP), intent(out), optional:: returned_time ! データの時刻
character(*), intent(in), optional:: time_name ! 時刻次元の名称
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
if ( present(returned_time) ) then
returned_time = 0.
end if
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)
if ( present(time_name) .and. present(returned_time) ) then
if ( trim(time_name) == trim(dimname) ) then
returned_time = iorange_value(1)
end if
end if
new_range_values(j) = RoundNum( 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], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
actual_iorange_dump( url, [actual_url], [returned_time], [time_name], [err] )
Subroutine : |
|
url : | character(*), intent(in)
|
actual_url : | character(*), intent(out), optional
: | 正確な入出力範囲指定に修正 された変数 URL
|
|
returned_time : | real(DP), intent(out), optional
|
time_name : | character(*), intent(in), optional
|
err : | logical, intent(out), optional
|
(out) optional
変数 URL url に対応するファイル, 変数からデータを取り出す際,
入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する.
actual_url が与えられる場合には その引数に値を返し,
標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get
は, 入出力範囲が次元データに正確に一致しない 場合,
最も近い値を自動的に選択して切り出す. しかしその結果,
「本当はどこのデータを入力したか」がわからない場合があるため,
このサブルーチンによって正確な位置をユーザに知らせる.
time_name と returned_time が与えられる場合には,
returned_time に時刻の数値を返す. returned_time
のみ与えられる場合には 0 を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#actual_iorange_dump
Function : |
|
result : | character(STRING)
|
file : | character(*), intent(in)
|
[Source]
function file_rename_mpi( file ) result(result)
use dc_types, only: STRING, TOKEN
use dc_string, only: CPrintf, LChar
#ifdef LIB_MPI
! MPI ライブラリ
! MPI library
!
use mpi
#endif
implicit none
character(*), intent(in):: file
character(STRING):: result
#ifdef LIB_MPI
logical:: initflag_mpi
character(STRING):: file_mpi
character(TOKEN):: nc_suffix_mpi
integer:: myrank_mpi, err_mpi, index_nc_mpi
character(TOKEN), save:: save_myrank = ''
character(*), parameter:: rank_prefix = '_rank'
#endif
continue
#ifndef LIB_MPI
result = file
return
#else
if ( trim(save_myrank) == '' ) then
call MPI_Initialized(initflag_mpi, err_mpi)
if ( initflag_mpi ) then
call MPI_Comm_Rank(MPI_COMM_WORLD, myrank_mpi, err_mpi)
save_myrank = CPrintf( '%06d', i = (/ myrank_mpi /) )
else
result = file
return
end if
end if
file_mpi = file
index_nc_mpi = index( LChar(file), '.nc' )
if ( index_nc_mpi > 1 ) then
nc_suffix_mpi = file_mpi(index_nc_mpi:)
file_mpi = file_mpi(:index_nc_mpi-1) // rank_prefix // trim( save_myrank ) // trim( nc_suffix_mpi )
elseif ( index_nc_mpi > 0 ) then
file_mpi = rank_prefix // trim( save_myrank ) // trim( file_mpi )
else
file_mpi = trim( file_mpi ) // rank_prefix // trim( save_myrank )
end if
result = file_mpi
#endif
end function file_rename_mpi
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
file_rename_mpi( file ) result(result)
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
[Source]
subroutine lookup_growable_url( file, varname, url, range, flag_time_exist, time_name, err) ! (out) optional
!
! file の変数 varname が依存する次元の内, 時間の次元
! (growable == .TRUE. のもの, つまり無制限次元) の変数名,
! およびその最後の値を取得し, gtool 変数化
! ("file@varname,time=10.5" みたいな) して返す.
!
! * もしも varname が次元変数である場合は「time=」を付けずに返す.
! * range を与えた場合, 以下のチェックを行った後, それを gtool4
! 変数の iorange 部分に付加する.
! * range に空文字が与えられた場合, range が与えられない場合と
! 同じ動作をする.
! * range 内に時間次元が設定されていない場合は, 自動的に
! 時間次元に関する iorange ("time=0.5") が指定される.
! * 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
! エラーを生じる.
!
! *flag_time_exist* が与えられる場合には, 得られるデータに
! 時刻次元が含まれる場合には .true. を, 含まれない場合は
! .false. を返す.
! *time_name* が与えられる場合には, 得られるデータに
! 時刻次元が含まれる場合にはその時刻次元変数名を,
! 含まれない場合には空文字を返す.
!
use gtdata_types, only: GT_VARIABLE
use gtdata_generic, only: Open, Close, Inquire
use dc_present,only: present_select, present_and_not_empty, present_and_true
use dc_string, only: toChar
use dc_error, only: StoreError, DC_NOERR, GT_ENOUNLIMITDIM, NF_EINVAL, GT_ENOTVAR, GT_EBADGT4COMMAGRAPHY
use dc_url, only: GT_CIRCUMFLEX, GT_COMMA, GT_EQUAL
use dc_url, only: UrlSplit, UrlMerge, UrlSearchIORange
use dc_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:: flag_time_exist ! 時刻次元の存在の有無
character(*), intent(out), optional:: time_name ! 時刻次元の名称
logical, intent(out), optional :: err ! エラーのフラグ
!
type(GT_VARIABLE) :: var
type(GT_VARIABLE), allocatable :: dimvar(:)
character(STRING) :: time_url, tname, 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 = ""
url = ""
! 引数の正当性をチェック
if (.not. present_and_not_empty(file)) then
stat = NF_EINVAL
cause_c = '"file" is not specified'
goto 999
elseif (.not. present_and_not_empty(varname)) then
stat = NF_EINVAL
cause_c = '"varname" is not specified'
goto 999
end if
! 時刻次元の変数名, およびその最終時刻の
! 探査のために file@varname を open (まだデータを取得しない)
call Open(var, UrlMerge(file, varname), err = err)
if ( present_and_true(err) ) then
stat = GT_ENOTVAR
goto 999
end if
! 次元の数を取得
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. のもの (つまりは時間)
! の変数名 (tname) を取得する.
call DbgMessage('[%c: growable-dim-search]', c1=trim(subname))
tname = ''
do, i = 1, nd
call Open(var = dimvar(i), source_var = var, dimord = i, count_compact = .TRUE., err = err) ! (out) optional
! まずは変数入り gtool4 変数を time_url に取得
call Inquire(var = dimvar(i), growable = growable, allcount = allcount, url = time_url) ! (out)
call DbgMessage(' [dim=<%d>: growable=<%y>: url=<%c>]', i = (/i/), L = (/growable/), c1 = trim(time_url))
! 変数部分だけ分離
call UrlSplit( fullname = time_url, var = tname) ! (out)
! 無制限次元で, かつ開こうとする変数自体が無制限次元でない場合
!
if ( growable .and. trim(tname) /= trim(varname) ) then
! 総数 = 最後の数を timecount に
!
timecount = allcount
nounlimited = .false.
endif
call Close(dimvar(i))
! 時刻次元が見つかった場合にはループを抜ける
!
if ( .not. nounlimited ) then
exit
! 時刻次元ではない場合, tname を空に
!
else
tname = ''
end if
end do
! 探査を終了したので閉じる
call Close(var)
if (stat /= DC_NOERR) then
goto 999
end if
! 時刻次元名を返す
!
if ( present(time_name) ) time_name = tname
! 時刻部分の iorange を作成しておく.
! 格子点情報で取得されているので, 頭に "^" を付加する.
if (nounlimited) then
time_iorange = ''
if ( present(flag_time_exist) ) flag_time_exist = .false.
!!$ if ( present(returned_time) ) returned_time = 0.
else
time_iorange = trim(tname) // GT_EQUAL // GT_CIRCUMFLEX // adjustl(toChar(timecount))
if ( present(flag_time_exist) ) flag_time_exist = .true.
!!$ if ( present(returned_time) ) then
!!$ returned_time =
!!$ end if
end if
! iorange を指定する.
! 時刻に関しては, range が存在しない場合には
! 自動取得した最後の時刻を付加する.
! range が存在する場合, "=" が含まれなければ, gtool4 のコンマ記法
! として不適切としてエラーを生じる.
! "=" が含まれる場合, 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
cause_c = range
stat = GT_EBADGT4COMMAGRAPHY
goto 999
!!$ iorange = trim(tname) // GT_EQUAL // adjustl(range)
else
! コンマ記法になっている場合, まずその中に無制限次元が
! 存在しているか調べ, 存在してない場合のみ time_iorange を
! 付加する.
if (trim(UrlSearchIORange(range, tname)) /= "") 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], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url
lookup_growable_url( file, varname, url, [range], [flag_time_exist], [time_name], [err] )
Subroutine : |
|
file : | character(*), intent(in)
|
varname : | character(*), intent(in)
|
url : | character(*), intent(out)
|
range : | character(*), intent(in), optional
|
flag_time_exist : | logical, intent(out), optional
|
time_name : | character(*), intent(out), optional
|
err : | logical, intent(out), optional
|
(out) optional
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE.
のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool
変数化 ("file@varname,time=10.5" みたいな) して返す.
- もしも varname が次元変数である場合は「time=」を付けずに返す.
- range を与えた場合, 以下のチェックを行った後, それを gtool4 変数の iorange
部分に付加する.
- range に空文字が与えられた場合, range が与えられない場合と 同じ動作をする.
- range 内に時間次元が設定されていない場合は, 自動的に 時間次元に関する
iorange ("time=0.5") が指定される.
- 数値のみの文字列 (例: "20", "10.354") が与えられる場合,
エラーを生じる.
flag_time_exist が与えられる場合には, 得られるデータに
時刻次元が含まれる場合には .true. を, 含まれない場合は .false. を返す.
time_name が与えられる場合には, 得られるデータに
時刻次元が含まれる場合にはその時刻次元変数名を,
含まれない場合には空文字を返す.
Original external subprogram is gtool/gtool_history/historyget.F90#lookup_growable_url