Path: | historyget.f90 |
Last Update: | Sat Aug 25 11:28:10 JST 2007 |
Authors: | Yasuhiro MORIKAWA |
Version: | $Id: historyget.f90,v 1.7 2007/08/25 02:28:10 morikawa Exp $ |
Tag Name: | $Name: gt4f90io-20070824 $ |
Copyright: | Copyright (C) GFD Dennou Club, 2006. All rights reserved. |
License: | See COPYRIGHT |
以下のサブルーチン, 関数は gt4_history から gt4_history#HistoryGet もしくは gt4_history#HistoryGetPointer として提供されます.
Following subroutines and functions are provided as gt4_history#HistoryGet or gt4_history#HistoryGetPointer from gt4_history.
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
array : | real(DP), intent(out)
| ||
range : | character(*), intent(in), optional
| ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional
|
netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定 していますが, 大抵の netCDF データの入力は可能であると期待されます.
Input netCDF data. NetCDF data with gtool4 conventions is assumed, but most netCDF data is expected to be input.
file にファイル名を, varname に変数名を与えます. array にはファイルから入力されたデータが返ります. ポインタの配列へデータを入力を行う場合は, HistoryGetPointer を利用してください.
Give filename to file, variable name to varname. Input data is returned to array. If you want to use pointer array, use HistoryGetPointer .
デフォルトでは, ファイル内の最新データ, すなわちデータを 時刻最大で切り出したものを入力します. 別の時刻で切り出したデータを 入力したい場合には, 下記の range オプションを利用してください.
By default, recent data, that is to say, data clipped with maximum time is input. In order to input data clipped with other time, use range option as follows.
range には gtool4 のコンマ記法 (gtool4 netCDF 規約 の「5.4 コンマ記法」参照) を与えることで, 入力データの一部を切り出すことが可能です.
Give gtool4 comma-graphy (See "5.4 gtool4 comma-graphy" in gtool4 netCDF Convention) to range, then input data is clipped.
HistoryGet は複数のサブルーチンの総称名です. array には 0 〜 7 次元の整数型, 単精度実数型, 倍精度実数型の配列を与えることが可能です.
HistoryGet is generic name of multiple subroutines. Integer, single precision real, and double precision 0 — 7 rank array can be given to array.
デフォルトでは, データの入力時にどのファイルのどの変数が どの次元で切り出されて入力されたのかを表示します. メッセージ出力が不要な場合は quiet に .true. を与えてください.
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
subroutine HistoryGetDouble0(file, varname, array, range, quiet, err) ! ! ! netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定 ! していますが, 大抵の netCDF データの入力は可能であると期待されます. ! ! Input netCDF data. NetCDF data with gtool4 conventions is assumed, ! but most netCDF data is expected to be input. ! ! *file* にファイル名を, *varname* に変数名を与えます. ! *array* にはファイルから入力されたデータが返ります. ! ポインタの配列へデータを入力を行う場合は, ! HistoryGetPointer を利用してください. ! ! Give filename to *file*, variable name to *varname*. ! Input data is returned to *array*. ! If you want to use pointer array, use HistoryGetPointer . ! ! デフォルトでは, ファイル内の最新データ, すなわちデータを ! 時刻最大で切り出したものを入力します. 別の時刻で切り出したデータを ! 入力したい場合には, 下記の *range* オプションを利用してください. ! ! By default, recent data, that is to say, data clipped with ! maximum time is input. In order to input data clipped with ! other time, use *range* option as follows. ! ! *range* には gtool4 のコンマ記法 ! ({gtool4 netCDF 規約}[link:../xref.htm#label-6] の「5.4 コンマ記法」参照) ! を与えることで, 入力データの一部を切り出すことが可能です. ! ! Give gtool4 comma-graphy ! (See "5.4 gtool4 comma-graphy" in {gtool4 netCDF Convention}[link:../xref.htm#label-6]) ! to *range*, then input data is clipped. ! ! *HistoryGet* は複数のサブルーチンの総称名です. *array* には ! 0 〜 7 次元の整数型, 単精度実数型, ! 倍精度実数型の配列を与えることが可能です. ! ! *HistoryGet* is generic name of multiple subroutines. ! Integer, single precision real, and double precision ! 0 -- 7 rank array can be given to *array*. ! ! デフォルトでは, データの入力時にどのファイルのどの変数が ! どの次元で切り出されて入力されたのかを表示します. ! メッセージ出力が不要な場合は *quiet* に .true. を与えてください. ! ! 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 dc_string, only: toChar use dc_present, only: present_select, present_and_not_empty use dc_types, only: DP, STRING use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file ! netCDF ファイル名. ! 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 コンマ記法」を参照して ! ください. ! ! 数値のみが与えられる場合 (※ 引数の型 ! は常に文字型です. ここでの「数値」は ! "<b><tt>10.0</tt></b>" のような文字列 ! を指します), この値は時刻(正確には ! netCDF の無制限次元) の値として扱われ ! ます. ! ! 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] ! ! When pure numerical value is given ! (Type of argument is character. In ! this case, the "pure numerical value" ! means a character like ! "<b><tt>10.0</tt></b>") the value is ! treated as time (to be exact, ! unlimited dimension). ! 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(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) character(*), parameter :: subname = "HistoryGetDouble0" continue call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range))) if (present_and_not_empty(range)) then call HistoryGetDoubleEx(file = file, varname = varname, array = array_tmp, range = range, quiet = quiet, err = err) else call HistoryGetDoubleEx(file = file, varname = varname, array = array_tmp, quiet = quiet, err = err) end if array = array_tmp(1) call EndSub(subname) end subroutine HistoryGetDouble0
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
array : | real(DP), pointer
| ||
range : | character(*), intent(in), optional
| ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional
|
netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定 していますが, 大抵の netCDF データの入力は可能であると期待されます.
Input netCDF data. NetCDF data with gtool4 conventions is assumed, but most netCDF data is expected to be input.
file にファイル名を, varname に変数名を与えます. array にはファイルから入力されたデータが返ります. 固定長の配列へデータを入力を行う場合は, HistoryGet を利用してください.
Give filename to file, variable name to varname. Input data is returned to array. If you want to use fixed length array, use HistoryGet .
array には必ず空状態の配列を与えてください. すなわち与える配列に対し, 初期値 =>null() を設定するか nullify を用いてください. 既に割り付けられている場合, もしくは不定状態の場合には エラーを返します.
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.
デフォルトでは, ファイル内の最新データ, すなわちデータを 時刻最大で切り出したものを入力します. 別の時刻で切り出したデータを 入力したい場合には, 下記の range オプションを利用してください.
By default, recent data, that is to say, data clipped with maximum time is input. In order to input data clipped with other time, use range option as follows.
range には gtool4 のコンマ記法 (gtool4 netCDF 規約 の「5.4 コンマ記法」参照) を与えることで, 入力データの一部を切り出すことが可能です.
Give gtool4 comma-graphy (See "5.4 gtool4 comma-graphy" in gtool4 netCDF Convention) to range, then input data is clipped.
HistoryGetPointer は複数のサブルーチンの総称名です. array には 0 〜 7 次元の整数型, 単精度実数型, 倍精度実数型の配列を与えることが可能です.
HistoryGetPointer is generic name of multiple subroutines. Integer, single precision real, and double precision 0 — 7 rank array can be given to array.
デフォルトでは, データの入力時にどのファイルのどの変数が どの次元で切り出されて入力されたのかを表示します. メッセージ出力が不要な場合は quiet に .true. を与えてください.
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
subroutine HistoryGetDouble0Pointer(file, varname, array, range, quiet, err) ! ! ! netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定 ! していますが, 大抵の netCDF データの入力は可能であると期待されます. ! ! Input netCDF data. NetCDF data with gtool4 conventions is assumed, ! but most netCDF data is expected to be input. ! ! *file* にファイル名を, *varname* に変数名を与えます. ! *array* にはファイルから入力されたデータが返ります. ! 固定長の配列へデータを入力を行う場合は, ! HistoryGet を利用してください. ! ! Give filename to *file*, variable name to *varname*. ! Input data is returned to *array*. ! If you want to use fixed length array, use HistoryGet . ! ! *array* には必ず空状態の配列を与えてください. ! すなわち与える配列に対し, 初期値 =>null() を設定するか ! nullify を用いてください. ! 既に割り付けられている場合, もしくは不定状態の場合には ! エラーを返します. ! ! 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. ! ! デフォルトでは, ファイル内の最新データ, すなわちデータを ! 時刻最大で切り出したものを入力します. 別の時刻で切り出したデータを ! 入力したい場合には, 下記の *range* オプションを利用してください. ! ! By default, recent data, that is to say, data clipped with ! maximum time is input. In order to input data clipped with ! other time, use *range* option as follows. ! ! *range* には gtool4 のコンマ記法 ! ({gtool4 netCDF 規約}[link:../xref.htm#label-6] の「5.4 コンマ記法」参照) ! を与えることで, 入力データの一部を切り出すことが可能です. ! ! Give gtool4 comma-graphy ! (See "5.4 gtool4 comma-graphy" in {gtool4 netCDF Convention}[link:../xref.htm#label-6]) ! to *range*, then input data is clipped. ! ! *HistoryGetPointer* は複数のサブルーチンの総称名です. *array* には ! 0 〜 7 次元の整数型, 単精度実数型, ! 倍精度実数型の配列を与えることが可能です. ! ! *HistoryGetPointer* is generic name of multiple subroutines. ! Integer, single precision real, and double precision ! 0 -- 7 rank array can be given to *array*. ! ! デフォルトでは, データの入力時にどのファイルのどの変数が ! どの次元で切り出されて入力されたのかを表示します. ! メッセージ出力が不要な場合は *quiet* に .true. を与えてください. ! ! 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 use dc_present, only: present_select, present_and_true use dc_types, only: DP, STRING use dc_message, only: MessageNotify use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file ! netCDF ファイル名. ! 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 コンマ記法」を参照して ! ください. ! ! 数値のみが与えられる場合 (※ 引数の型 ! は常に文字型です. ここでの「数値」は ! "<b><tt>10.0</tt></b>" のような文字列 ! を指します), この値は時刻(正確には ! netCDF の無制限次元) の値として扱われ ! ます. ! ! 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] ! ! When pure numerical value is given ! (Type of argument is character. In ! this case, the "pure numerical value" ! means a character like ! "<b><tt>10.0</tt></b>") the value is ! treated as time (to be exact, ! unlimited dimension). ! 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. When type of ! input data is different from type of ! *array*, data is converted to type of ! *array* automatically. ! 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) type(GT_VARIABLE) :: var character(STRING) :: url, actual_url integer:: domain ! 変数の入出力領域の大きさ ! (= 変数が依存する各次元サイズの積) character(*), parameter :: subname = "HistoryGetDouble0Pointer" continue call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range))) ! 必要な情報を gtool 変数化 call lookup_growable_url(file, varname, url, range, err) allocate(array) ! いよいよデータ取得 call Open(var, url, err) call Inquire(var=var, size=domain) call Get(var, array_tmp, domain, err) call Close(var, err) array = array_tmp(1) call actual_iorange_dump(url, actual_url, err) if ( .not. present_and_true(quiet) ) then call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url)) end if call EndSub(subname) end subroutine
Subroutine : | |
file : | character(*), intent(in) |
varname : | character(*), intent(in) |
array(:) : | real(DP), intent(out) |
range : | character(*), intent(in), optional |
quiet : | logical, intent(in), optional |
err : | logical, intent(out), optional |
Double 型固定配列用 1 次元配列用データ入力サブルーチン
subroutine HistoryGetDouble1(file, varname, array, range, quiet, err) ! ! Double 型固定配列用 1 次元配列用データ入力サブルーチン ! ! use dc_string, only: toChar use dc_present,only: present_select, present_and_not_empty use dc_types, only: DP, STRING use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file character(*), intent(in):: varname character(*), intent(in), optional:: range logical, intent(in), optional:: quiet real(DP), intent(out) :: array(:) logical, intent(out), optional:: err character(*), parameter :: subname = "HistoryGetDouble1" continue call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range))) if (present_and_not_empty(range)) then call HistoryGetDoubleEx(file = file, varname = varname, array = array, range = range, quiet = quiet, err = err) else call HistoryGetDoubleEx(file = file, varname = varname, array = array, quiet = quiet, err = err) endif call EndSub(subname) end subroutine HistoryGetDouble1
Subroutine : | |||
file : | character(*), intent(in) | ||
varname : | character(*), intent(in) | ||
array(:) : | real(DP), pointer
| ||
range : | character(*), intent(in), optional | ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional |
Double 型ポインタ配列用 1 次元配列用データ入力サブルーチン
subroutine HistoryGetDouble1Pointer(file, varname, array, range, quiet, err) ! ! Double 型ポインタ配列用 1 次元配列用データ入力サブルーチン ! use gtdata_types, only: GT_VARIABLE use gtdata_generic, only: Open, Inquire, Close, Get use dc_string, only: toChar use dc_present,only: present_select, present_and_true use dc_types, only: DP, STRING use dc_message, only: MessageNotify use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file, varname character(*), intent(in), optional:: range logical, intent(in), optional:: quiet logical, intent(out), optional:: err real(DP), pointer :: array(:) ! (out) type(GT_VARIABLE) :: var character(STRING) :: url, actual_url character(*), parameter :: subname = "HistoryGetDouble1Pointer" continue call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range))) ! 必要な情報を gtool 変数化 call lookup_growable_url(file, varname, url, range, 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, err) if ( .not. present_and_true(quiet) ) then call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url)) end if call EndSub(subname) end subroutine
Subroutine : | |
file : | character(*), intent(in) |
varname : | character(*), intent(in) |
array(:,:) : | real(DP), intent(out) |
range : | character(*), intent(in), optional |
quiet : | logical, intent(in), optional |
err : | logical, intent(out), optional |
Double 型固定配列用 2 次元配列用データ入力サブルーチン
subroutine HistoryGetDouble2(file, varname, array, range, quiet, err) ! ! Double 型固定配列用 2 次元配列用データ入力サブルーチン ! ! use dc_string, only: toChar use dc_present,only: present_select, present_and_not_empty use dc_types, only: DP, STRING use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file character(*), intent(in):: varname character(*), intent(in), optional:: range logical, intent(in), optional:: quiet real(DP), intent(out) :: array(:,:) logical, intent(out), optional:: err character(*), parameter :: subname = "HistoryGetDouble2" continue call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range))) if (present_and_not_empty(range)) then call HistoryGetDoubleEx(file = file, varname = varname, array = array, range = range, quiet = quiet, err = err) else call HistoryGetDoubleEx(file = file, varname = varname, array = array, quiet = quiet, err = err) endif call EndSub(subname) end subroutine HistoryGetDouble2
Subroutine : | |||
file : | character(*), intent(in) | ||
varname : | character(*), intent(in) | ||
array(:,:) : | real(DP), pointer
| ||
range : | character(*), intent(in), optional | ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional |
Double 型ポインタ配列用 2 次元配列用データ入力サブルーチン
subroutine HistoryGetDouble2Pointer(file, varname, array, range, quiet, err) ! ! Double 型ポインタ配列用 2 次元配列用データ入力サブルーチン ! use gtdata_types, only: GT_VARIABLE use gtdata_generic, only: Open, Inquire, Close, Get use dc_string, only: toChar use dc_present,only: present_select, present_and_true use dc_types, only: DP, STRING use dc_message, only: MessageNotify use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file, varname character(*), intent(in), optional:: range logical, intent(in), optional:: quiet logical, intent(out), optional:: err real(DP), pointer :: array(:,:) ! (out) type(GT_VARIABLE) :: var character(STRING) :: url, actual_url character(*), parameter :: subname = "HistoryGetDouble2Pointer" continue call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range))) ! 必要な情報を gtool 変数化 call lookup_growable_url(file, varname, url, range, 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, err) if ( .not. present_and_true(quiet) ) then call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url)) end if call EndSub(subname) end subroutine
Subroutine : | |
file : | character(*), intent(in) |
varname : | character(*), intent(in) |
array(:,:,:) : | real(DP), intent(out) |
range : | character(*), intent(in), optional |
quiet : | logical, intent(in), optional |
err : | logical, intent(out), optional |
Double 型固定配列用 3 次元配列用データ入力サブルーチン
subroutine HistoryGetDouble3(file, varname, array, range, quiet, err) ! ! Double 型固定配列用 3 次元配列用データ入力サブルーチン ! ! use dc_string, only: toChar use dc_present,only: present_select, present_and_not_empty use dc_types, only: DP, STRING use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file character(*), intent(in):: varname character(*), intent(in), optional:: range logical, intent(in), optional:: quiet real(DP), intent(out) :: array(:,:,:) logical, intent(out), optional:: err character(*), parameter :: subname = "HistoryGetDouble3" continue call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range))) if (present_and_not_empty(range)) then call HistoryGetDoubleEx(file = file, varname = varname, array = array, range = range, quiet = quiet, err = err) else call HistoryGetDoubleEx(file = file, varname = varname, array = array, quiet = quiet, err = err) endif call EndSub(subname) end subroutine HistoryGetDouble3
Subroutine : | |||
file : | character(*), intent(in) | ||
varname : | character(*), intent(in) | ||
array(:,:,:) : | real(DP), pointer
| ||
range : | character(*), intent(in), optional | ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional |
Double 型ポインタ配列用 3 次元配列用データ入力サブルーチン
subroutine HistoryGetDouble3Pointer(file, varname, array, range, quiet, err) ! ! Double 型ポインタ配列用 3 次元配列用データ入力サブルーチン ! use gtdata_types, only: GT_VARIABLE use gtdata_generic, only: Open, Inquire, Close, Get use dc_string, only: toChar use dc_present,only: present_select, present_and_true use dc_types, only: DP, STRING use dc_message, only: MessageNotify use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file, varname character(*), intent(in), optional:: range logical, intent(in), optional:: quiet logical, intent(out), optional:: err real(DP), pointer :: array(:,:,:) ! (out) type(GT_VARIABLE) :: var character(STRING) :: url, actual_url character(*), parameter :: subname = "HistoryGetDouble3Pointer" continue call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range))) ! 必要な情報を gtool 変数化 call lookup_growable_url(file, varname, url, range, 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, err) if ( .not. present_and_true(quiet) ) then call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url)) end if call EndSub(subname) end subroutine
Subroutine : | |
file : | character(*), intent(in) |
varname : | character(*), intent(in) |
array(:,:,:,:) : | real(DP), intent(out) |
range : | character(*), intent(in), optional |
quiet : | logical, intent(in), optional |
err : | logical, intent(out), optional |
Double 型固定配列用 4 次元配列用データ入力サブルーチン
subroutine HistoryGetDouble4(file, varname, array, range, quiet, err) ! ! Double 型固定配列用 4 次元配列用データ入力サブルーチン ! ! use dc_string, only: toChar use dc_present,only: present_select, present_and_not_empty use dc_types, only: DP, STRING use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file character(*), intent(in):: varname character(*), intent(in), optional:: range logical, intent(in), optional:: quiet real(DP), intent(out) :: array(:,:,:,:) logical, intent(out), optional:: err character(*), parameter :: subname = "HistoryGetDouble4" continue call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range))) if (present_and_not_empty(range)) then call HistoryGetDoubleEx(file = file, varname = varname, array = array, range = range, quiet = quiet, err = err) else call HistoryGetDoubleEx(file = file, varname = varname, array = array, quiet = quiet, err = err) endif call EndSub(subname) end subroutine HistoryGetDouble4
Subroutine : | |||
file : | character(*), intent(in) | ||
varname : | character(*), intent(in) | ||
array(:,:,:,:) : | real(DP), pointer
| ||
range : | character(*), intent(in), optional | ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional |
Double 型ポインタ配列用 4 次元配列用データ入力サブルーチン
subroutine HistoryGetDouble4Pointer(file, varname, array, range, quiet, err) ! ! Double 型ポインタ配列用 4 次元配列用データ入力サブルーチン ! use gtdata_types, only: GT_VARIABLE use gtdata_generic, only: Open, Inquire, Close, Get use dc_string, only: toChar use dc_present,only: present_select, present_and_true use dc_types, only: DP, STRING use dc_message, only: MessageNotify use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file, varname character(*), intent(in), optional:: range logical, intent(in), optional:: quiet logical, intent(out), optional:: err real(DP), pointer :: array(:,:,:,:) ! (out) type(GT_VARIABLE) :: var character(STRING) :: url, actual_url character(*), parameter :: subname = "HistoryGetDouble4Pointer" continue call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range))) ! 必要な情報を gtool 変数化 call lookup_growable_url(file, varname, url, range, 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, err) if ( .not. present_and_true(quiet) ) then call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url)) end if call EndSub(subname) end subroutine
Subroutine : | |
file : | character(*), intent(in) |
varname : | character(*), intent(in) |
array(:,:,:,:,:) : | real(DP), intent(out) |
range : | character(*), intent(in), optional |
quiet : | logical, intent(in), optional |
err : | logical, intent(out), optional |
Double 型固定配列用 5 次元配列用データ入力サブルーチン
subroutine HistoryGetDouble5(file, varname, array, range, quiet, err) ! ! Double 型固定配列用 5 次元配列用データ入力サブルーチン ! ! use dc_string, only: toChar use dc_present,only: present_select, present_and_not_empty use dc_types, only: DP, STRING use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file character(*), intent(in):: varname character(*), intent(in), optional:: range logical, intent(in), optional:: quiet real(DP), intent(out) :: array(:,:,:,:,:) logical, intent(out), optional:: err character(*), parameter :: subname = "HistoryGetDouble5" continue call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range))) if (present_and_not_empty(range)) then call HistoryGetDoubleEx(file = file, varname = varname, array = array, range = range, quiet = quiet, err = err) else call HistoryGetDoubleEx(file = file, varname = varname, array = array, quiet = quiet, err = err) endif call EndSub(subname) end subroutine HistoryGetDouble5
Subroutine : | |||
file : | character(*), intent(in) | ||
varname : | character(*), intent(in) | ||
array(:,:,:,:,:) : | real(DP), pointer
| ||
range : | character(*), intent(in), optional | ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional |
Double 型ポインタ配列用 5 次元配列用データ入力サブルーチン
subroutine HistoryGetDouble5Pointer(file, varname, array, range, quiet, err) ! ! Double 型ポインタ配列用 5 次元配列用データ入力サブルーチン ! use gtdata_types, only: GT_VARIABLE use gtdata_generic, only: Open, Inquire, Close, Get use dc_string, only: toChar use dc_present,only: present_select, present_and_true use dc_types, only: DP, STRING use dc_message, only: MessageNotify use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file, varname character(*), intent(in), optional:: range logical, intent(in), optional:: quiet logical, intent(out), optional:: err real(DP), pointer :: array(:,:,:,:,:) ! (out) type(GT_VARIABLE) :: var character(STRING) :: url, actual_url character(*), parameter :: subname = "HistoryGetDouble5Pointer" continue call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range))) ! 必要な情報を gtool 変数化 call lookup_growable_url(file, varname, url, range, 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, err) if ( .not. present_and_true(quiet) ) then call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url)) end if call EndSub(subname) end subroutine
Subroutine : | |
file : | character(*), intent(in) |
varname : | character(*), intent(in) |
array(:,:,:,:,:,:) : | real(DP), intent(out) |
range : | character(*), intent(in), optional |
quiet : | logical, intent(in), optional |
err : | logical, intent(out), optional |
Double 型固定配列用 6 次元配列用データ入力サブルーチン
subroutine HistoryGetDouble6(file, varname, array, range, quiet, err) ! ! Double 型固定配列用 6 次元配列用データ入力サブルーチン ! ! use dc_string, only: toChar use dc_present,only: present_select, present_and_not_empty use dc_types, only: DP, STRING use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file character(*), intent(in):: varname character(*), intent(in), optional:: range logical, intent(in), optional:: quiet real(DP), intent(out) :: array(:,:,:,:,:,:) logical, intent(out), optional:: err character(*), parameter :: subname = "HistoryGetDouble6" continue call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range))) if (present_and_not_empty(range)) then call HistoryGetDoubleEx(file = file, varname = varname, array = array, range = range, quiet = quiet, err = err) else call HistoryGetDoubleEx(file = file, varname = varname, array = array, quiet = quiet, err = err) endif call EndSub(subname) end subroutine HistoryGetDouble6
Subroutine : | |||
file : | character(*), intent(in) | ||
varname : | character(*), intent(in) | ||
array(:,:,:,:,:,:) : | real(DP), pointer
| ||
range : | character(*), intent(in), optional | ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional |
Double 型ポインタ配列用 6 次元配列用データ入力サブルーチン
subroutine HistoryGetDouble6Pointer(file, varname, array, range, quiet, err) ! ! Double 型ポインタ配列用 6 次元配列用データ入力サブルーチン ! use gtdata_types, only: GT_VARIABLE use gtdata_generic, only: Open, Inquire, Close, Get use dc_string, only: toChar use dc_present,only: present_select, present_and_true use dc_types, only: DP, STRING use dc_message, only: MessageNotify use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file, varname character(*), intent(in), optional:: range logical, intent(in), optional:: quiet logical, intent(out), optional:: err real(DP), pointer :: array(:,:,:,:,:,:) ! (out) type(GT_VARIABLE) :: var character(STRING) :: url, actual_url character(*), parameter :: subname = "HistoryGetDouble6Pointer" continue call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range))) ! 必要な情報を gtool 変数化 call lookup_growable_url(file, varname, url, range, 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, err) if ( .not. present_and_true(quiet) ) then call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url)) end if call EndSub(subname) end subroutine
Subroutine : | |
file : | character(*), intent(in) |
varname : | character(*), intent(in) |
array(:,:,:,:,:,:,:) : | real(DP), intent(out) |
range : | character(*), intent(in), optional |
quiet : | logical, intent(in), optional |
err : | logical, intent(out), optional |
Double 型固定配列用 7 次元配列用データ入力サブルーチン
subroutine HistoryGetDouble7(file, varname, array, range, quiet, err) ! ! Double 型固定配列用 7 次元配列用データ入力サブルーチン ! ! use dc_string, only: toChar use dc_present,only: present_select, present_and_not_empty use dc_types, only: DP, STRING use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file character(*), intent(in):: varname character(*), intent(in), optional:: range logical, intent(in), optional:: quiet real(DP), intent(out) :: array(:,:,:,:,:,:,:) logical, intent(out), optional:: err character(*), parameter :: subname = "HistoryGetDouble7" continue call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range))) if (present_and_not_empty(range)) then call HistoryGetDoubleEx(file = file, varname = varname, array = array, range = range, quiet = quiet, err = err) else call HistoryGetDoubleEx(file = file, varname = varname, array = array, quiet = quiet, err = err) endif call EndSub(subname) end subroutine HistoryGetDouble7
Subroutine : | |||
file : | character(*), intent(in) | ||
varname : | character(*), intent(in) | ||
array(:,:,:,:,:,:,:) : | real(DP), pointer
| ||
range : | character(*), intent(in), optional | ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional |
Double 型ポインタ配列用 7 次元配列用データ入力サブルーチン
subroutine HistoryGetDouble7Pointer(file, varname, array, range, quiet, err) ! ! Double 型ポインタ配列用 7 次元配列用データ入力サブルーチン ! use gtdata_types, only: GT_VARIABLE use gtdata_generic, only: Open, Inquire, Close, Get use dc_string, only: toChar use dc_present,only: present_select, present_and_true use dc_types, only: DP, STRING use dc_message, only: MessageNotify use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file, varname character(*), intent(in), optional:: range logical, intent(in), optional:: quiet logical, intent(out), optional:: err real(DP), pointer :: array(:,:,:,:,:,:,:) ! (out) type(GT_VARIABLE) :: var character(STRING) :: url, actual_url character(*), parameter :: subname = "HistoryGetDouble7Pointer" continue call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range))) ! 必要な情報を gtool 変数化 call lookup_growable_url(file, varname, url, range, 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, err) if ( .not. present_and_true(quiet) ) then call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url)) end if call EndSub(subname) end subroutine
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
array(*) : | real(DP), intent(out)
| ||
range : | character(*), intent(in), optional
| ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional
|
このサブルーチンは gt4_history の内部で呼び出される ことを想定されています. gt4_history モジュールの外部からは 呼び出さないで下さい.
This subroutine is expected to be refereed in gt4_history internally. Do not refer from the outside of gt4_history.
netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定 していますが, 大抵の netCDF データの入力は可能であると期待されます.
Input netCDF data. NetCDF data with gtool4 conventions is assumed, but most netCDF data is expected to be input.
file にファイル名を, varname に変数名を与えます. array にはファイルから入力されたデータが返ります. ポインタの配列へデータを入力を行う場合は, HistoryGetPointer を利用してください.
Give filename to file, variable name to varname. Input data is returned to array. If you want to use pointer array, use HistoryGetPointer .
デフォルトでは, ファイル内の最新データ, すなわちデータを 時刻最大で切り出したものを入力します. 別の時刻で切り出したデータを 入力したい場合には, 下記の range オプションを利用してください.
By default, recent data, that is to say, data clipped with maximum time is input. In order to input data clipped with other time, use range option as follows.
range には gtool4 のコンマ記法 (gtool4 netCDF 規約 の「5.4 コンマ記法」参照) を与えることで, 入力データの一部を切り出すことが可能です.
Give gtool4 comma-graphy (See "5.4 gtool4 comma-graphy" in gtool4 netCDF Convention) to range, then input data is clipped.
デフォルトでは, データの入力時にどのファイルのどの変数が どの次元で切り出されて入力されたのかを表示します. メッセージ出力が不要な場合は quiet に .true. を与えてください.
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
subroutine HistoryGetDoubleEx(file, varname, array, range, quiet, err) ! ! このサブルーチンは gt4_history の内部で呼び出される ! ことを想定されています. gt4_history モジュールの外部からは ! 呼び出さないで下さい. ! ! This subroutine is expected to be refereed in gt4_history internally. ! Do not refer from the outside of gt4_history. ! ! netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定 ! していますが, 大抵の netCDF データの入力は可能であると期待されます. ! ! Input netCDF data. NetCDF data with gtool4 conventions is assumed, ! but most netCDF data is expected to be input. ! ! *file* にファイル名を, *varname* に変数名を与えます. ! *array* にはファイルから入力されたデータが返ります. ! ポインタの配列へデータを入力を行う場合は, ! HistoryGetPointer を利用してください. ! ! Give filename to *file*, variable name to *varname*. ! Input data is returned to *array*. ! If you want to use pointer array, use HistoryGetPointer . ! ! デフォルトでは, ファイル内の最新データ, すなわちデータを ! 時刻最大で切り出したものを入力します. 別の時刻で切り出したデータを ! 入力したい場合には, 下記の *range* オプションを利用してください. ! ! By default, recent data, that is to say, data clipped with ! maximum time is input. In order to input data clipped with ! other time, use *range* option as follows. ! ! *range* には gtool4 のコンマ記法 ! ({gtool4 netCDF 規約}[link:../xref.htm#label-6] の「5.4 コンマ記法」参照) ! を与えることで, 入力データの一部を切り出すことが可能です. ! ! Give gtool4 comma-graphy ! (See "5.4 gtool4 comma-graphy" in {gtool4 netCDF Convention}[link:../xref.htm#label-6]) ! to *range*, then input data is clipped. ! ! デフォルトでは, データの入力時にどのファイルのどの変数が ! どの次元で切り出されて入力されたのかを表示します. ! メッセージ出力が不要な場合は *quiet* に .true. を与えてください. ! ! 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 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 character(*), intent(in):: file ! ファイル名. 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 コンマ記法」を参照して ! ください. ! ! 数値のみが与えられる場合 ! (※ 引数の型は常に文字型です. ! ここでの「数値」は ! "<b><tt>10.0</tt></b>" ! のような文字列 ! を指します), この値は時刻 ! (正確には netCDF の無制限次元) ! の値として扱われます. ! ! 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] ! ! When pure numerical value is given ! (Type of argument is character. ! In this case, the "pure numerical ! value" means a character like ! "<b><tt>10.0</tt></b>") ! the value is treated as time ! (to be exact, unlimited dimension). ! logical, intent(in), optional:: quiet real(DP), intent(out):: array(*) ! データ. Data type(GT_VARIABLE) :: var character(STRING) :: url, actual_url integer:: domain ! 変数の入出力領域の大きさ ! (= 変数が依存する各次元サイズの積) 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. integer:: stat character(STRING):: cause_c character(*), parameter :: subname = "HistoryGetDoubleEx" continue call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range))) cause_c = '' stat = DC_NOERR call lookup_growable_url(file, varname, url, range, err = err) if ( present_and_true(err) ) then stat = GT_ENOTURL cause_c = url goto 999 end if call Open(var, url, err = err) if ( present_and_true(err) ) then stat = GT_ENOTURL cause_c = url goto 999 end if call Inquire(var = var, size = domain) call Get(var, array, domain) call Close(var) call actual_iorange_dump(url, actual_url, err = err) if ( .not. present_and_true(quiet) ) then call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url)) end if 999 continue call StoreError(stat, subname, err, cause_c) call EndSub(subname) end subroutine HistoryGetDoubleEx
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
array(*) : | real(DP), intent(out)
| ||
range : | character(*), intent(in), optional
| ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional
|
このサブルーチンは gt4_history の内部で呼び出される ことを想定されています. gt4_history モジュールの外部からは 呼び出さないで下さい.
This subroutine is expected to be refereed in gt4_history internally. Do not refer from the outside of gt4_history.
netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定 していますが, 大抵の netCDF データの入力は可能であると期待されます.
Input netCDF data. NetCDF data with gtool4 conventions is assumed, but most netCDF data is expected to be input.
file にファイル名を, varname に変数名を与えます. array にはファイルから入力されたデータが返ります. ポインタの配列へデータを入力を行う場合は, HistoryGetPointer を利用してください.
Give filename to file, variable name to varname. Input data is returned to array. If you want to use pointer array, use HistoryGetPointer .
デフォルトでは, ファイル内の最新データ, すなわちデータを 時刻最大で切り出したものを入力します. 別の時刻で切り出したデータを 入力したい場合には, 下記の range オプションを利用してください.
By default, recent data, that is to say, data clipped with maximum time is input. In order to input data clipped with other time, use range option as follows.
range には gtool4 のコンマ記法 (gtool4 netCDF 規約 の「5.4 コンマ記法」参照) を与えることで, 入力データの一部を切り出すことが可能です.
Give gtool4 comma-graphy (See "5.4 gtool4 comma-graphy" in gtool4 netCDF Convention) to range, then input data is clipped.
デフォルトでは, データの入力時にどのファイルのどの変数が どの次元で切り出されて入力されたのかを表示します. メッセージ出力が不要な場合は quiet に .true. を与えてください.
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 historyget.f90#HistoryGetDoubleEx
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
array(*) : | real(DP), intent(out)
| ||
range : | character(*), intent(in), optional
| ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional
|
このサブルーチンは gt4_history の内部で呼び出される ことを想定されています. gt4_history モジュールの外部からは 呼び出さないで下さい.
This subroutine is expected to be refereed in gt4_history internally. Do not refer from the outside of gt4_history.
netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定 していますが, 大抵の netCDF データの入力は可能であると期待されます.
Input netCDF data. NetCDF data with gtool4 conventions is assumed, but most netCDF data is expected to be input.
file にファイル名を, varname に変数名を与えます. array にはファイルから入力されたデータが返ります. ポインタの配列へデータを入力を行う場合は, HistoryGetPointer を利用してください.
Give filename to file, variable name to varname. Input data is returned to array. If you want to use pointer array, use HistoryGetPointer .
デフォルトでは, ファイル内の最新データ, すなわちデータを 時刻最大で切り出したものを入力します. 別の時刻で切り出したデータを 入力したい場合には, 下記の range オプションを利用してください.
By default, recent data, that is to say, data clipped with maximum time is input. In order to input data clipped with other time, use range option as follows.
range には gtool4 のコンマ記法 (gtool4 netCDF 規約 の「5.4 コンマ記法」参照) を与えることで, 入力データの一部を切り出すことが可能です.
Give gtool4 comma-graphy (See "5.4 gtool4 comma-graphy" in gtool4 netCDF Convention) to range, then input data is clipped.
デフォルトでは, データの入力時にどのファイルのどの変数が どの次元で切り出されて入力されたのかを表示します. メッセージ出力が不要な場合は quiet に .true. を与えてください.
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 historyget.f90#HistoryGetDoubleEx
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
array(*) : | real(DP), intent(out)
| ||
range : | character(*), intent(in), optional
| ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional
|
このサブルーチンは gt4_history の内部で呼び出される ことを想定されています. gt4_history モジュールの外部からは 呼び出さないで下さい.
This subroutine is expected to be refereed in gt4_history internally. Do not refer from the outside of gt4_history.
netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定 していますが, 大抵の netCDF データの入力は可能であると期待されます.
Input netCDF data. NetCDF data with gtool4 conventions is assumed, but most netCDF data is expected to be input.
file にファイル名を, varname に変数名を与えます. array にはファイルから入力されたデータが返ります. ポインタの配列へデータを入力を行う場合は, HistoryGetPointer を利用してください.
Give filename to file, variable name to varname. Input data is returned to array. If you want to use pointer array, use HistoryGetPointer .
デフォルトでは, ファイル内の最新データ, すなわちデータを 時刻最大で切り出したものを入力します. 別の時刻で切り出したデータを 入力したい場合には, 下記の range オプションを利用してください.
By default, recent data, that is to say, data clipped with maximum time is input. In order to input data clipped with other time, use range option as follows.
range には gtool4 のコンマ記法 (gtool4 netCDF 規約 の「5.4 コンマ記法」参照) を与えることで, 入力データの一部を切り出すことが可能です.
Give gtool4 comma-graphy (See "5.4 gtool4 comma-graphy" in gtool4 netCDF Convention) to range, then input data is clipped.
デフォルトでは, データの入力時にどのファイルのどの変数が どの次元で切り出されて入力されたのかを表示します. メッセージ出力が不要な場合は quiet に .true. を与えてください.
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 historyget.f90#HistoryGetDoubleEx
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
array(*) : | real(DP), intent(out)
| ||
range : | character(*), intent(in), optional
| ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional
|
このサブルーチンは gt4_history の内部で呼び出される ことを想定されています. gt4_history モジュールの外部からは 呼び出さないで下さい.
This subroutine is expected to be refereed in gt4_history internally. Do not refer from the outside of gt4_history.
netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定 していますが, 大抵の netCDF データの入力は可能であると期待されます.
Input netCDF data. NetCDF data with gtool4 conventions is assumed, but most netCDF data is expected to be input.
file にファイル名を, varname に変数名を与えます. array にはファイルから入力されたデータが返ります. ポインタの配列へデータを入力を行う場合は, HistoryGetPointer を利用してください.
Give filename to file, variable name to varname. Input data is returned to array. If you want to use pointer array, use HistoryGetPointer .
デフォルトでは, ファイル内の最新データ, すなわちデータを 時刻最大で切り出したものを入力します. 別の時刻で切り出したデータを 入力したい場合には, 下記の range オプションを利用してください.
By default, recent data, that is to say, data clipped with maximum time is input. In order to input data clipped with other time, use range option as follows.
range には gtool4 のコンマ記法 (gtool4 netCDF 規約 の「5.4 コンマ記法」参照) を与えることで, 入力データの一部を切り出すことが可能です.
Give gtool4 comma-graphy (See "5.4 gtool4 comma-graphy" in gtool4 netCDF Convention) to range, then input data is clipped.
デフォルトでは, データの入力時にどのファイルのどの変数が どの次元で切り出されて入力されたのかを表示します. メッセージ出力が不要な場合は quiet に .true. を与えてください.
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 historyget.f90#HistoryGetDoubleEx
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
array(*) : | real(DP), intent(out)
| ||
range : | character(*), intent(in), optional
| ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional
|
このサブルーチンは gt4_history の内部で呼び出される ことを想定されています. gt4_history モジュールの外部からは 呼び出さないで下さい.
This subroutine is expected to be refereed in gt4_history internally. Do not refer from the outside of gt4_history.
netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定 していますが, 大抵の netCDF データの入力は可能であると期待されます.
Input netCDF data. NetCDF data with gtool4 conventions is assumed, but most netCDF data is expected to be input.
file にファイル名を, varname に変数名を与えます. array にはファイルから入力されたデータが返ります. ポインタの配列へデータを入力を行う場合は, HistoryGetPointer を利用してください.
Give filename to file, variable name to varname. Input data is returned to array. If you want to use pointer array, use HistoryGetPointer .
デフォルトでは, ファイル内の最新データ, すなわちデータを 時刻最大で切り出したものを入力します. 別の時刻で切り出したデータを 入力したい場合には, 下記の range オプションを利用してください.
By default, recent data, that is to say, data clipped with maximum time is input. In order to input data clipped with other time, use range option as follows.
range には gtool4 のコンマ記法 (gtool4 netCDF 規約 の「5.4 コンマ記法」参照) を与えることで, 入力データの一部を切り出すことが可能です.
Give gtool4 comma-graphy (See "5.4 gtool4 comma-graphy" in gtool4 netCDF Convention) to range, then input data is clipped.
デフォルトでは, データの入力時にどのファイルのどの変数が どの次元で切り出されて入力されたのかを表示します. メッセージ出力が不要な場合は quiet に .true. を与えてください.
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 historyget.f90#HistoryGetDoubleEx
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
array(*) : | real(DP), intent(out)
| ||
range : | character(*), intent(in), optional
| ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional
|
このサブルーチンは gt4_history の内部で呼び出される ことを想定されています. gt4_history モジュールの外部からは 呼び出さないで下さい.
This subroutine is expected to be refereed in gt4_history internally. Do not refer from the outside of gt4_history.
netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定 していますが, 大抵の netCDF データの入力は可能であると期待されます.
Input netCDF data. NetCDF data with gtool4 conventions is assumed, but most netCDF data is expected to be input.
file にファイル名を, varname に変数名を与えます. array にはファイルから入力されたデータが返ります. ポインタの配列へデータを入力を行う場合は, HistoryGetPointer を利用してください.
Give filename to file, variable name to varname. Input data is returned to array. If you want to use pointer array, use HistoryGetPointer .
デフォルトでは, ファイル内の最新データ, すなわちデータを 時刻最大で切り出したものを入力します. 別の時刻で切り出したデータを 入力したい場合には, 下記の range オプションを利用してください.
By default, recent data, that is to say, data clipped with maximum time is input. In order to input data clipped with other time, use range option as follows.
range には gtool4 のコンマ記法 (gtool4 netCDF 規約 の「5.4 コンマ記法」参照) を与えることで, 入力データの一部を切り出すことが可能です.
Give gtool4 comma-graphy (See "5.4 gtool4 comma-graphy" in gtool4 netCDF Convention) to range, then input data is clipped.
デフォルトでは, データの入力時にどのファイルのどの変数が どの次元で切り出されて入力されたのかを表示します. メッセージ出力が不要な場合は quiet に .true. を与えてください.
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 historyget.f90#HistoryGetDoubleEx
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
array(*) : | real(DP), intent(out)
| ||
range : | character(*), intent(in), optional
| ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional
|
このサブルーチンは gt4_history の内部で呼び出される ことを想定されています. gt4_history モジュールの外部からは 呼び出さないで下さい.
This subroutine is expected to be refereed in gt4_history internally. Do not refer from the outside of gt4_history.
netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定 していますが, 大抵の netCDF データの入力は可能であると期待されます.
Input netCDF data. NetCDF data with gtool4 conventions is assumed, but most netCDF data is expected to be input.
file にファイル名を, varname に変数名を与えます. array にはファイルから入力されたデータが返ります. ポインタの配列へデータを入力を行う場合は, HistoryGetPointer を利用してください.
Give filename to file, variable name to varname. Input data is returned to array. If you want to use pointer array, use HistoryGetPointer .
デフォルトでは, ファイル内の最新データ, すなわちデータを 時刻最大で切り出したものを入力します. 別の時刻で切り出したデータを 入力したい場合には, 下記の range オプションを利用してください.
By default, recent data, that is to say, data clipped with maximum time is input. In order to input data clipped with other time, use range option as follows.
range には gtool4 のコンマ記法 (gtool4 netCDF 規約 の「5.4 コンマ記法」参照) を与えることで, 入力データの一部を切り出すことが可能です.
Give gtool4 comma-graphy (See "5.4 gtool4 comma-graphy" in gtool4 netCDF Convention) to range, then input data is clipped.
デフォルトでは, データの入力時にどのファイルのどの変数が どの次元で切り出されて入力されたのかを表示します. メッセージ出力が不要な場合は quiet に .true. を与えてください.
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 historyget.f90#HistoryGetDoubleEx
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
array(*) : | real(DP), intent(out)
| ||
range : | character(*), intent(in), optional
| ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional
|
このサブルーチンは gt4_history の内部で呼び出される ことを想定されています. gt4_history モジュールの外部からは 呼び出さないで下さい.
This subroutine is expected to be refereed in gt4_history internally. Do not refer from the outside of gt4_history.
netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定 していますが, 大抵の netCDF データの入力は可能であると期待されます.
Input netCDF data. NetCDF data with gtool4 conventions is assumed, but most netCDF data is expected to be input.
file にファイル名を, varname に変数名を与えます. array にはファイルから入力されたデータが返ります. ポインタの配列へデータを入力を行う場合は, HistoryGetPointer を利用してください.
Give filename to file, variable name to varname. Input data is returned to array. If you want to use pointer array, use HistoryGetPointer .
デフォルトでは, ファイル内の最新データ, すなわちデータを 時刻最大で切り出したものを入力します. 別の時刻で切り出したデータを 入力したい場合には, 下記の range オプションを利用してください.
By default, recent data, that is to say, data clipped with maximum time is input. In order to input data clipped with other time, use range option as follows.
range には gtool4 のコンマ記法 (gtool4 netCDF 規約 の「5.4 コンマ記法」参照) を与えることで, 入力データの一部を切り出すことが可能です.
Give gtool4 comma-graphy (See "5.4 gtool4 comma-graphy" in gtool4 netCDF Convention) to range, then input data is clipped.
デフォルトでは, データの入力時にどのファイルのどの変数が どの次元で切り出されて入力されたのかを表示します. メッセージ出力が不要な場合は quiet に .true. を与えてください.
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 historyget.f90#HistoryGetDoubleEx
Subroutine : | |
file : | character(*), intent(in) |
varname : | character(*), intent(in) |
array : | integer, intent(out) |
range : | character(*), intent(in), optional |
quiet : | logical, intent(in), optional |
err : | logical, intent(out), optional |
subroutine HistoryGetInt0(file, varname, array, range, quiet, err) ! ! use dc_string, only: toChar use dc_present, only: present_select, present_and_not_empty use dc_types, only: DP, STRING use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file character(*), intent(in):: varname character(*), intent(in), optional:: range logical, intent(in), optional:: quiet integer, intent(out) :: array logical, intent(out), optional:: err integer :: array_tmp(1) 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))) if (present_and_not_empty(range)) then call HistoryGetIntEx(file = file, varname = varname, array = array_tmp, range = range, quiet = quiet, err = err) else call HistoryGetIntEx(file = file, varname = varname, array = array_tmp, quiet = quiet, err = err) end if array = array_tmp(1) call EndSub(subname) end subroutine HistoryGetInt0
Subroutine : | |
file : | character(*), intent(in) |
varname : | character(*), intent(in) |
array : | integer, pointer |
range : | character(*), intent(in), optional |
quiet : | logical, intent(in), optional |
err : | logical, intent(out), optional |
subroutine HistoryGetInt0Pointer(file, varname, array, range, quiet, err) ! ! use gtdata_types, only: GT_VARIABLE use gtdata_generic, only: Open, Inquire, Close, Get use dc_string, only: toChar use dc_present, only: present_select, present_and_true use dc_types, only: DP, STRING use dc_message, only: MessageNotify use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file character(*), intent(in):: varname character(*), intent(in), optional:: range logical, intent(in), optional:: quiet integer, pointer :: array logical, intent(out), optional:: err integer, target :: array_tmp(1) type(GT_VARIABLE) :: var character(STRING) :: url, actual_url integer:: domain ! 変数の入出力領域の大きさ ! (= 変数が依存する各次元サイズの積) 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))) ! 必要な情報を gtool 変数化 call lookup_growable_url(file, varname, url, range, err) allocate(array) ! いよいよデータ取得 call Open(var, url, err) call Inquire(var=var, size=domain) call Get(var, array_tmp, domain, err) call Close(var, err) array = array_tmp(1) call actual_iorange_dump(url, actual_url, err) if ( .not. present_and_true(quiet) ) then call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url)) end if call EndSub(subname) end subroutine
Subroutine : | |
file : | character(*), intent(in) |
varname : | character(*), intent(in) |
array(:) : | integer, intent(out) |
range : | character(*), intent(in), optional |
quiet : | logical, intent(in), optional |
err : | logical, intent(out), optional |
Int 型固定配列用 1 次元配列用データ入力サブルーチン
subroutine HistoryGetInt1(file, varname, array, range, quiet, err) ! ! Int 型固定配列用 1 次元配列用データ入力サブルーチン ! ! use dc_string, only: toChar use dc_present,only: present_select, present_and_not_empty use dc_types, only: DP, STRING use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file character(*), intent(in):: varname character(*), intent(in), optional:: range logical, intent(in), optional:: quiet integer, intent(out) :: array(:) logical, intent(out), optional:: err 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))) if (present_and_not_empty(range)) then call HistoryGetIntEx(file = file, varname = varname, array = array, range = range, quiet = quiet, err = err) else call HistoryGetIntEx(file = file, varname = varname, array = array, quiet = quiet, err = err) endif call EndSub(subname) end subroutine HistoryGetInt1
Subroutine : | |||
file : | character(*), intent(in) | ||
varname : | character(*), intent(in) | ||
array(:) : | integer, pointer
| ||
range : | character(*), intent(in), optional | ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional |
Int 型ポインタ配列用 1 次元配列用データ入力サブルーチン
subroutine HistoryGetInt1Pointer(file, varname, array, range, quiet, err) ! ! Int 型ポインタ配列用 1 次元配列用データ入力サブルーチン ! use gtdata_types, only: GT_VARIABLE use gtdata_generic, only: Open, Inquire, Close, Get use dc_string, only: toChar use dc_present,only: present_select, present_and_true use dc_types, only: DP, STRING use dc_message, only: MessageNotify use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file, varname character(*), intent(in), optional:: range logical, intent(in), optional:: quiet logical, intent(out), optional:: err integer, pointer :: array(:) ! (out) type(GT_VARIABLE) :: var character(STRING) :: url, actual_url 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))) ! 必要な情報を gtool 変数化 call lookup_growable_url(file, varname, url, range, 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, err) if ( .not. present_and_true(quiet) ) then call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url)) end if call EndSub(subname) end subroutine
Subroutine : | |
file : | character(*), intent(in) |
varname : | character(*), intent(in) |
array(:,:) : | integer, intent(out) |
range : | character(*), intent(in), optional |
quiet : | logical, intent(in), optional |
err : | logical, intent(out), optional |
Int 型固定配列用 2 次元配列用データ入力サブルーチン
subroutine HistoryGetInt2(file, varname, array, range, quiet, err) ! ! Int 型固定配列用 2 次元配列用データ入力サブルーチン ! ! use dc_string, only: toChar use dc_present,only: present_select, present_and_not_empty use dc_types, only: DP, STRING use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file character(*), intent(in):: varname character(*), intent(in), optional:: range logical, intent(in), optional:: quiet integer, intent(out) :: array(:,:) logical, intent(out), optional:: err 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))) if (present_and_not_empty(range)) then call HistoryGetIntEx(file = file, varname = varname, array = array, range = range, quiet = quiet, err = err) else call HistoryGetIntEx(file = file, varname = varname, array = array, quiet = quiet, err = err) endif call EndSub(subname) end subroutine HistoryGetInt2
Subroutine : | |||
file : | character(*), intent(in) | ||
varname : | character(*), intent(in) | ||
array(:,:) : | integer, pointer
| ||
range : | character(*), intent(in), optional | ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional |
Int 型ポインタ配列用 2 次元配列用データ入力サブルーチン
subroutine HistoryGetInt2Pointer(file, varname, array, range, quiet, err) ! ! Int 型ポインタ配列用 2 次元配列用データ入力サブルーチン ! use gtdata_types, only: GT_VARIABLE use gtdata_generic, only: Open, Inquire, Close, Get use dc_string, only: toChar use dc_present,only: present_select, present_and_true use dc_types, only: DP, STRING use dc_message, only: MessageNotify use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file, varname character(*), intent(in), optional:: range logical, intent(in), optional:: quiet logical, intent(out), optional:: err integer, pointer :: array(:,:) ! (out) type(GT_VARIABLE) :: var character(STRING) :: url, actual_url 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))) ! 必要な情報を gtool 変数化 call lookup_growable_url(file, varname, url, range, 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, err) if ( .not. present_and_true(quiet) ) then call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url)) end if call EndSub(subname) end subroutine
Subroutine : | |
file : | character(*), intent(in) |
varname : | character(*), intent(in) |
array(:,:,:) : | integer, intent(out) |
range : | character(*), intent(in), optional |
quiet : | logical, intent(in), optional |
err : | logical, intent(out), optional |
Int 型固定配列用 3 次元配列用データ入力サブルーチン
subroutine HistoryGetInt3(file, varname, array, range, quiet, err) ! ! Int 型固定配列用 3 次元配列用データ入力サブルーチン ! ! use dc_string, only: toChar use dc_present,only: present_select, present_and_not_empty use dc_types, only: DP, STRING use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file character(*), intent(in):: varname character(*), intent(in), optional:: range logical, intent(in), optional:: quiet integer, intent(out) :: array(:,:,:) logical, intent(out), optional:: err 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))) if (present_and_not_empty(range)) then call HistoryGetIntEx(file = file, varname = varname, array = array, range = range, quiet = quiet, err = err) else call HistoryGetIntEx(file = file, varname = varname, array = array, quiet = quiet, err = err) endif call EndSub(subname) end subroutine HistoryGetInt3
Subroutine : | |||
file : | character(*), intent(in) | ||
varname : | character(*), intent(in) | ||
array(:,:,:) : | integer, pointer
| ||
range : | character(*), intent(in), optional | ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional |
Int 型ポインタ配列用 3 次元配列用データ入力サブルーチン
subroutine HistoryGetInt3Pointer(file, varname, array, range, quiet, err) ! ! Int 型ポインタ配列用 3 次元配列用データ入力サブルーチン ! use gtdata_types, only: GT_VARIABLE use gtdata_generic, only: Open, Inquire, Close, Get use dc_string, only: toChar use dc_present,only: present_select, present_and_true use dc_types, only: DP, STRING use dc_message, only: MessageNotify use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file, varname character(*), intent(in), optional:: range logical, intent(in), optional:: quiet logical, intent(out), optional:: err integer, pointer :: array(:,:,:) ! (out) type(GT_VARIABLE) :: var character(STRING) :: url, actual_url 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))) ! 必要な情報を gtool 変数化 call lookup_growable_url(file, varname, url, range, 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, err) if ( .not. present_and_true(quiet) ) then call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url)) end if call EndSub(subname) end subroutine
Subroutine : | |
file : | character(*), intent(in) |
varname : | character(*), intent(in) |
array(:,:,:,:) : | integer, intent(out) |
range : | character(*), intent(in), optional |
quiet : | logical, intent(in), optional |
err : | logical, intent(out), optional |
Int 型固定配列用 4 次元配列用データ入力サブルーチン
subroutine HistoryGetInt4(file, varname, array, range, quiet, err) ! ! Int 型固定配列用 4 次元配列用データ入力サブルーチン ! ! use dc_string, only: toChar use dc_present,only: present_select, present_and_not_empty use dc_types, only: DP, STRING use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file character(*), intent(in):: varname character(*), intent(in), optional:: range logical, intent(in), optional:: quiet integer, intent(out) :: array(:,:,:,:) logical, intent(out), optional:: err 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))) if (present_and_not_empty(range)) then call HistoryGetIntEx(file = file, varname = varname, array = array, range = range, quiet = quiet, err = err) else call HistoryGetIntEx(file = file, varname = varname, array = array, quiet = quiet, err = err) endif call EndSub(subname) end subroutine HistoryGetInt4
Subroutine : | |||
file : | character(*), intent(in) | ||
varname : | character(*), intent(in) | ||
array(:,:,:,:) : | integer, pointer
| ||
range : | character(*), intent(in), optional | ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional |
Int 型ポインタ配列用 4 次元配列用データ入力サブルーチン
subroutine HistoryGetInt4Pointer(file, varname, array, range, quiet, err) ! ! Int 型ポインタ配列用 4 次元配列用データ入力サブルーチン ! use gtdata_types, only: GT_VARIABLE use gtdata_generic, only: Open, Inquire, Close, Get use dc_string, only: toChar use dc_present,only: present_select, present_and_true use dc_types, only: DP, STRING use dc_message, only: MessageNotify use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file, varname character(*), intent(in), optional:: range logical, intent(in), optional:: quiet logical, intent(out), optional:: err integer, pointer :: array(:,:,:,:) ! (out) type(GT_VARIABLE) :: var character(STRING) :: url, actual_url 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))) ! 必要な情報を gtool 変数化 call lookup_growable_url(file, varname, url, range, 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, err) if ( .not. present_and_true(quiet) ) then call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url)) end if call EndSub(subname) end subroutine
Subroutine : | |
file : | character(*), intent(in) |
varname : | character(*), intent(in) |
array(:,:,:,:,:) : | integer, intent(out) |
range : | character(*), intent(in), optional |
quiet : | logical, intent(in), optional |
err : | logical, intent(out), optional |
Int 型固定配列用 5 次元配列用データ入力サブルーチン
subroutine HistoryGetInt5(file, varname, array, range, quiet, err) ! ! Int 型固定配列用 5 次元配列用データ入力サブルーチン ! ! use dc_string, only: toChar use dc_present,only: present_select, present_and_not_empty use dc_types, only: DP, STRING use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file character(*), intent(in):: varname character(*), intent(in), optional:: range logical, intent(in), optional:: quiet integer, intent(out) :: array(:,:,:,:,:) logical, intent(out), optional:: err 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))) if (present_and_not_empty(range)) then call HistoryGetIntEx(file = file, varname = varname, array = array, range = range, quiet = quiet, err = err) else call HistoryGetIntEx(file = file, varname = varname, array = array, quiet = quiet, err = err) endif call EndSub(subname) end subroutine HistoryGetInt5
Subroutine : | |||
file : | character(*), intent(in) | ||
varname : | character(*), intent(in) | ||
array(:,:,:,:,:) : | integer, pointer
| ||
range : | character(*), intent(in), optional | ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional |
Int 型ポインタ配列用 5 次元配列用データ入力サブルーチン
subroutine HistoryGetInt5Pointer(file, varname, array, range, quiet, err) ! ! Int 型ポインタ配列用 5 次元配列用データ入力サブルーチン ! use gtdata_types, only: GT_VARIABLE use gtdata_generic, only: Open, Inquire, Close, Get use dc_string, only: toChar use dc_present,only: present_select, present_and_true use dc_types, only: DP, STRING use dc_message, only: MessageNotify use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file, varname character(*), intent(in), optional:: range logical, intent(in), optional:: quiet logical, intent(out), optional:: err integer, pointer :: array(:,:,:,:,:) ! (out) type(GT_VARIABLE) :: var character(STRING) :: url, actual_url 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))) ! 必要な情報を gtool 変数化 call lookup_growable_url(file, varname, url, range, 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, err) if ( .not. present_and_true(quiet) ) then call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url)) end if call EndSub(subname) end subroutine
Subroutine : | |
file : | character(*), intent(in) |
varname : | character(*), intent(in) |
array(:,:,:,:,:,:) : | integer, intent(out) |
range : | character(*), intent(in), optional |
quiet : | logical, intent(in), optional |
err : | logical, intent(out), optional |
Int 型固定配列用 6 次元配列用データ入力サブルーチン
subroutine HistoryGetInt6(file, varname, array, range, quiet, err) ! ! Int 型固定配列用 6 次元配列用データ入力サブルーチン ! ! use dc_string, only: toChar use dc_present,only: present_select, present_and_not_empty use dc_types, only: DP, STRING use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file character(*), intent(in):: varname character(*), intent(in), optional:: range logical, intent(in), optional:: quiet integer, intent(out) :: array(:,:,:,:,:,:) logical, intent(out), optional:: err 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))) if (present_and_not_empty(range)) then call HistoryGetIntEx(file = file, varname = varname, array = array, range = range, quiet = quiet, err = err) else call HistoryGetIntEx(file = file, varname = varname, array = array, quiet = quiet, err = err) endif call EndSub(subname) end subroutine HistoryGetInt6
Subroutine : | |||
file : | character(*), intent(in) | ||
varname : | character(*), intent(in) | ||
array(:,:,:,:,:,:) : | integer, pointer
| ||
range : | character(*), intent(in), optional | ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional |
Int 型ポインタ配列用 6 次元配列用データ入力サブルーチン
subroutine HistoryGetInt6Pointer(file, varname, array, range, quiet, err) ! ! Int 型ポインタ配列用 6 次元配列用データ入力サブルーチン ! use gtdata_types, only: GT_VARIABLE use gtdata_generic, only: Open, Inquire, Close, Get use dc_string, only: toChar use dc_present,only: present_select, present_and_true use dc_types, only: DP, STRING use dc_message, only: MessageNotify use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file, varname character(*), intent(in), optional:: range logical, intent(in), optional:: quiet logical, intent(out), optional:: err integer, pointer :: array(:,:,:,:,:,:) ! (out) type(GT_VARIABLE) :: var character(STRING) :: url, actual_url 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))) ! 必要な情報を gtool 変数化 call lookup_growable_url(file, varname, url, range, 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, err) if ( .not. present_and_true(quiet) ) then call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url)) end if call EndSub(subname) end subroutine
Subroutine : | |
file : | character(*), intent(in) |
varname : | character(*), intent(in) |
array(:,:,:,:,:,:,:) : | integer, intent(out) |
range : | character(*), intent(in), optional |
quiet : | logical, intent(in), optional |
err : | logical, intent(out), optional |
Int 型固定配列用 7 次元配列用データ入力サブルーチン
subroutine HistoryGetInt7(file, varname, array, range, quiet, err) ! ! Int 型固定配列用 7 次元配列用データ入力サブルーチン ! ! use dc_string, only: toChar use dc_present,only: present_select, present_and_not_empty use dc_types, only: DP, STRING use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file character(*), intent(in):: varname character(*), intent(in), optional:: range logical, intent(in), optional:: quiet integer, intent(out) :: array(:,:,:,:,:,:,:) logical, intent(out), optional:: err 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))) if (present_and_not_empty(range)) then call HistoryGetIntEx(file = file, varname = varname, array = array, range = range, quiet = quiet, err = err) else call HistoryGetIntEx(file = file, varname = varname, array = array, quiet = quiet, err = err) endif call EndSub(subname) end subroutine HistoryGetInt7
Subroutine : | |||
file : | character(*), intent(in) | ||
varname : | character(*), intent(in) | ||
array(:,:,:,:,:,:,:) : | integer, pointer
| ||
range : | character(*), intent(in), optional | ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional |
Int 型ポインタ配列用 7 次元配列用データ入力サブルーチン
subroutine HistoryGetInt7Pointer(file, varname, array, range, quiet, err) ! ! Int 型ポインタ配列用 7 次元配列用データ入力サブルーチン ! use gtdata_types, only: GT_VARIABLE use gtdata_generic, only: Open, Inquire, Close, Get use dc_string, only: toChar use dc_present,only: present_select, present_and_true use dc_types, only: DP, STRING use dc_message, only: MessageNotify use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file, varname character(*), intent(in), optional:: range logical, intent(in), optional:: quiet logical, intent(out), optional:: err integer, pointer :: array(:,:,:,:,:,:,:) ! (out) type(GT_VARIABLE) :: var character(STRING) :: url, actual_url 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))) ! 必要な情報を gtool 変数化 call lookup_growable_url(file, varname, url, range, 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, err) if ( .not. present_and_true(quiet) ) then call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url)) end if call EndSub(subname) end subroutine
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
array(*) : | integer, intent(out)
| ||
range : | character(*), intent(in), optional
| ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional
|
このサブルーチンは gt4_history の内部で呼び出される ことを想定されています. gt4_history モジュールの外部からは 呼び出さないで下さい.
This subroutine is expected to be refereed in gt4_history internally. Do not refer from the outside of gt4_history.
netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定 していますが, 大抵の netCDF データの入力は可能であると期待されます.
Input netCDF data. NetCDF data with gtool4 conventions is assumed, but most netCDF data is expected to be input.
file にファイル名を, varname に変数名を与えます. array にはファイルから入力されたデータが返ります. ポインタの配列へデータを入力を行う場合は, HistoryGetPointer を利用してください.
Give filename to file, variable name to varname. Input data is returned to array. If you want to use pointer array, use HistoryGetPointer .
デフォルトでは, ファイル内の最新データ, すなわちデータを 時刻最大で切り出したものを入力します. 別の時刻で切り出したデータを 入力したい場合には, 下記の range オプションを利用してください.
By default, recent data, that is to say, data clipped with maximum time is input. In order to input data clipped with other time, use range option as follows.
range には gtool4 のコンマ記法 (gtool4 netCDF 規約 の「5.4 コンマ記法」参照) を与えることで, 入力データの一部を切り出すことが可能です.
Give gtool4 comma-graphy (See "5.4 gtool4 comma-graphy" in gtool4 netCDF Convention) to range, then input data is clipped.
デフォルトでは, データの入力時にどのファイルのどの変数が どの次元で切り出されて入力されたのかを表示します. メッセージ出力が不要な場合は quiet に .true. を与えてください.
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
subroutine HistoryGetIntEx(file, varname, array, range, quiet, err) ! ! このサブルーチンは gt4_history の内部で呼び出される ! ことを想定されています. gt4_history モジュールの外部からは ! 呼び出さないで下さい. ! ! This subroutine is expected to be refereed in gt4_history internally. ! Do not refer from the outside of gt4_history. ! ! netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定 ! していますが, 大抵の netCDF データの入力は可能であると期待されます. ! ! Input netCDF data. NetCDF data with gtool4 conventions is assumed, ! but most netCDF data is expected to be input. ! ! *file* にファイル名を, *varname* に変数名を与えます. ! *array* にはファイルから入力されたデータが返ります. ! ポインタの配列へデータを入力を行う場合は, ! HistoryGetPointer を利用してください. ! ! Give filename to *file*, variable name to *varname*. ! Input data is returned to *array*. ! If you want to use pointer array, use HistoryGetPointer . ! ! デフォルトでは, ファイル内の最新データ, すなわちデータを ! 時刻最大で切り出したものを入力します. 別の時刻で切り出したデータを ! 入力したい場合には, 下記の *range* オプションを利用してください. ! ! By default, recent data, that is to say, data clipped with ! maximum time is input. In order to input data clipped with ! other time, use *range* option as follows. ! ! *range* には gtool4 のコンマ記法 ! ({gtool4 netCDF 規約}[link:../xref.htm#label-6] の「5.4 コンマ記法」参照) ! を与えることで, 入力データの一部を切り出すことが可能です. ! ! Give gtool4 comma-graphy ! (See "5.4 gtool4 comma-graphy" in {gtool4 netCDF Convention}[link:../xref.htm#label-6]) ! to *range*, then input data is clipped. ! ! デフォルトでは, データの入力時にどのファイルのどの変数が ! どの次元で切り出されて入力されたのかを表示します. ! メッセージ出力が不要な場合は *quiet* に .true. を与えてください. ! ! 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 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 character(*), intent(in):: file ! ファイル名. 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 コンマ記法」を参照して ! ください. ! ! 数値のみが与えられる場合 ! (※ 引数の型は常に文字型です. ! ここでの「数値」は ! "<b><tt>10.0</tt></b>" ! のような文字列 ! を指します), この値は時刻 ! (正確には netCDF の無制限次元) ! の値として扱われます. ! ! 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] ! ! When pure numerical value is given ! (Type of argument is character. ! In this case, the "pure numerical ! value" means a character like ! "<b><tt>10.0</tt></b>") ! the value is treated as time ! (to be exact, unlimited dimension). ! logical, intent(in), optional:: quiet integer, intent(out):: array(*) ! データ. Data type(GT_VARIABLE) :: var character(STRING) :: url, actual_url integer:: domain ! 変数の入出力領域の大きさ ! (= 変数が依存する各次元サイズの積) 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. integer:: stat character(STRING):: cause_c character(*), parameter :: subname = "HistoryGetIntEx" 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 call lookup_growable_url(file, varname, url, range, err = err) if ( present_and_true(err) ) then stat = GT_ENOTURL cause_c = url goto 999 end if call Open(var, url, err = err) if ( present_and_true(err) ) then stat = GT_ENOTURL cause_c = url goto 999 end if call Inquire(var = var, size = domain) call Get(var, array, domain) call Close(var) call actual_iorange_dump(url, actual_url, err = err) if ( .not. present_and_true(quiet) ) then call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url)) end if 999 continue call StoreError(stat, subname, err, cause_c) call EndSub(subname) end subroutine HistoryGetIntEx
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
array(*) : | integer, intent(out)
| ||
range : | character(*), intent(in), optional
| ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional
|
このサブルーチンは gt4_history の内部で呼び出される ことを想定されています. gt4_history モジュールの外部からは 呼び出さないで下さい.
This subroutine is expected to be refereed in gt4_history internally. Do not refer from the outside of gt4_history.
netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定 していますが, 大抵の netCDF データの入力は可能であると期待されます.
Input netCDF data. NetCDF data with gtool4 conventions is assumed, but most netCDF data is expected to be input.
file にファイル名を, varname に変数名を与えます. array にはファイルから入力されたデータが返ります. ポインタの配列へデータを入力を行う場合は, HistoryGetPointer を利用してください.
Give filename to file, variable name to varname. Input data is returned to array. If you want to use pointer array, use HistoryGetPointer .
デフォルトでは, ファイル内の最新データ, すなわちデータを 時刻最大で切り出したものを入力します. 別の時刻で切り出したデータを 入力したい場合には, 下記の range オプションを利用してください.
By default, recent data, that is to say, data clipped with maximum time is input. In order to input data clipped with other time, use range option as follows.
range には gtool4 のコンマ記法 (gtool4 netCDF 規約 の「5.4 コンマ記法」参照) を与えることで, 入力データの一部を切り出すことが可能です.
Give gtool4 comma-graphy (See "5.4 gtool4 comma-graphy" in gtool4 netCDF Convention) to range, then input data is clipped.
デフォルトでは, データの入力時にどのファイルのどの変数が どの次元で切り出されて入力されたのかを表示します. メッセージ出力が不要な場合は quiet に .true. を与えてください.
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 historyget.f90#HistoryGetIntEx
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
array(*) : | integer, intent(out)
| ||
range : | character(*), intent(in), optional
| ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional
|
このサブルーチンは gt4_history の内部で呼び出される ことを想定されています. gt4_history モジュールの外部からは 呼び出さないで下さい.
This subroutine is expected to be refereed in gt4_history internally. Do not refer from the outside of gt4_history.
netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定 していますが, 大抵の netCDF データの入力は可能であると期待されます.
Input netCDF data. NetCDF data with gtool4 conventions is assumed, but most netCDF data is expected to be input.
file にファイル名を, varname に変数名を与えます. array にはファイルから入力されたデータが返ります. ポインタの配列へデータを入力を行う場合は, HistoryGetPointer を利用してください.
Give filename to file, variable name to varname. Input data is returned to array. If you want to use pointer array, use HistoryGetPointer .
デフォルトでは, ファイル内の最新データ, すなわちデータを 時刻最大で切り出したものを入力します. 別の時刻で切り出したデータを 入力したい場合には, 下記の range オプションを利用してください.
By default, recent data, that is to say, data clipped with maximum time is input. In order to input data clipped with other time, use range option as follows.
range には gtool4 のコンマ記法 (gtool4 netCDF 規約 の「5.4 コンマ記法」参照) を与えることで, 入力データの一部を切り出すことが可能です.
Give gtool4 comma-graphy (See "5.4 gtool4 comma-graphy" in gtool4 netCDF Convention) to range, then input data is clipped.
デフォルトでは, データの入力時にどのファイルのどの変数が どの次元で切り出されて入力されたのかを表示します. メッセージ出力が不要な場合は quiet に .true. を与えてください.
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 historyget.f90#HistoryGetIntEx
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
array(*) : | integer, intent(out)
| ||
range : | character(*), intent(in), optional
| ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional
|
このサブルーチンは gt4_history の内部で呼び出される ことを想定されています. gt4_history モジュールの外部からは 呼び出さないで下さい.
This subroutine is expected to be refereed in gt4_history internally. Do not refer from the outside of gt4_history.
netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定 していますが, 大抵の netCDF データの入力は可能であると期待されます.
Input netCDF data. NetCDF data with gtool4 conventions is assumed, but most netCDF data is expected to be input.
file にファイル名を, varname に変数名を与えます. array にはファイルから入力されたデータが返ります. ポインタの配列へデータを入力を行う場合は, HistoryGetPointer を利用してください.
Give filename to file, variable name to varname. Input data is returned to array. If you want to use pointer array, use HistoryGetPointer .
デフォルトでは, ファイル内の最新データ, すなわちデータを 時刻最大で切り出したものを入力します. 別の時刻で切り出したデータを 入力したい場合には, 下記の range オプションを利用してください.
By default, recent data, that is to say, data clipped with maximum time is input. In order to input data clipped with other time, use range option as follows.
range には gtool4 のコンマ記法 (gtool4 netCDF 規約 の「5.4 コンマ記法」参照) を与えることで, 入力データの一部を切り出すことが可能です.
Give gtool4 comma-graphy (See "5.4 gtool4 comma-graphy" in gtool4 netCDF Convention) to range, then input data is clipped.
デフォルトでは, データの入力時にどのファイルのどの変数が どの次元で切り出されて入力されたのかを表示します. メッセージ出力が不要な場合は quiet に .true. を与えてください.
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 historyget.f90#HistoryGetIntEx
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
array(*) : | integer, intent(out)
| ||
range : | character(*), intent(in), optional
| ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional
|
このサブルーチンは gt4_history の内部で呼び出される ことを想定されています. gt4_history モジュールの外部からは 呼び出さないで下さい.
This subroutine is expected to be refereed in gt4_history internally. Do not refer from the outside of gt4_history.
netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定 していますが, 大抵の netCDF データの入力は可能であると期待されます.
Input netCDF data. NetCDF data with gtool4 conventions is assumed, but most netCDF data is expected to be input.
file にファイル名を, varname に変数名を与えます. array にはファイルから入力されたデータが返ります. ポインタの配列へデータを入力を行う場合は, HistoryGetPointer を利用してください.
Give filename to file, variable name to varname. Input data is returned to array. If you want to use pointer array, use HistoryGetPointer .
デフォルトでは, ファイル内の最新データ, すなわちデータを 時刻最大で切り出したものを入力します. 別の時刻で切り出したデータを 入力したい場合には, 下記の range オプションを利用してください.
By default, recent data, that is to say, data clipped with maximum time is input. In order to input data clipped with other time, use range option as follows.
range には gtool4 のコンマ記法 (gtool4 netCDF 規約 の「5.4 コンマ記法」参照) を与えることで, 入力データの一部を切り出すことが可能です.
Give gtool4 comma-graphy (See "5.4 gtool4 comma-graphy" in gtool4 netCDF Convention) to range, then input data is clipped.
デフォルトでは, データの入力時にどのファイルのどの変数が どの次元で切り出されて入力されたのかを表示します. メッセージ出力が不要な場合は quiet に .true. を与えてください.
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 historyget.f90#HistoryGetIntEx
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
array(*) : | integer, intent(out)
| ||
range : | character(*), intent(in), optional
| ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional
|
このサブルーチンは gt4_history の内部で呼び出される ことを想定されています. gt4_history モジュールの外部からは 呼び出さないで下さい.
This subroutine is expected to be refereed in gt4_history internally. Do not refer from the outside of gt4_history.
netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定 していますが, 大抵の netCDF データの入力は可能であると期待されます.
Input netCDF data. NetCDF data with gtool4 conventions is assumed, but most netCDF data is expected to be input.
file にファイル名を, varname に変数名を与えます. array にはファイルから入力されたデータが返ります. ポインタの配列へデータを入力を行う場合は, HistoryGetPointer を利用してください.
Give filename to file, variable name to varname. Input data is returned to array. If you want to use pointer array, use HistoryGetPointer .
デフォルトでは, ファイル内の最新データ, すなわちデータを 時刻最大で切り出したものを入力します. 別の時刻で切り出したデータを 入力したい場合には, 下記の range オプションを利用してください.
By default, recent data, that is to say, data clipped with maximum time is input. In order to input data clipped with other time, use range option as follows.
range には gtool4 のコンマ記法 (gtool4 netCDF 規約 の「5.4 コンマ記法」参照) を与えることで, 入力データの一部を切り出すことが可能です.
Give gtool4 comma-graphy (See "5.4 gtool4 comma-graphy" in gtool4 netCDF Convention) to range, then input data is clipped.
デフォルトでは, データの入力時にどのファイルのどの変数が どの次元で切り出されて入力されたのかを表示します. メッセージ出力が不要な場合は quiet に .true. を与えてください.
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 historyget.f90#HistoryGetIntEx
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
array(*) : | integer, intent(out)
| ||
range : | character(*), intent(in), optional
| ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional
|
このサブルーチンは gt4_history の内部で呼び出される ことを想定されています. gt4_history モジュールの外部からは 呼び出さないで下さい.
This subroutine is expected to be refereed in gt4_history internally. Do not refer from the outside of gt4_history.
netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定 していますが, 大抵の netCDF データの入力は可能であると期待されます.
Input netCDF data. NetCDF data with gtool4 conventions is assumed, but most netCDF data is expected to be input.
file にファイル名を, varname に変数名を与えます. array にはファイルから入力されたデータが返ります. ポインタの配列へデータを入力を行う場合は, HistoryGetPointer を利用してください.
Give filename to file, variable name to varname. Input data is returned to array. If you want to use pointer array, use HistoryGetPointer .
デフォルトでは, ファイル内の最新データ, すなわちデータを 時刻最大で切り出したものを入力します. 別の時刻で切り出したデータを 入力したい場合には, 下記の range オプションを利用してください.
By default, recent data, that is to say, data clipped with maximum time is input. In order to input data clipped with other time, use range option as follows.
range には gtool4 のコンマ記法 (gtool4 netCDF 規約 の「5.4 コンマ記法」参照) を与えることで, 入力データの一部を切り出すことが可能です.
Give gtool4 comma-graphy (See "5.4 gtool4 comma-graphy" in gtool4 netCDF Convention) to range, then input data is clipped.
デフォルトでは, データの入力時にどのファイルのどの変数が どの次元で切り出されて入力されたのかを表示します. メッセージ出力が不要な場合は quiet に .true. を与えてください.
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 historyget.f90#HistoryGetIntEx
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
array(*) : | integer, intent(out)
| ||
range : | character(*), intent(in), optional
| ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional
|
このサブルーチンは gt4_history の内部で呼び出される ことを想定されています. gt4_history モジュールの外部からは 呼び出さないで下さい.
This subroutine is expected to be refereed in gt4_history internally. Do not refer from the outside of gt4_history.
netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定 していますが, 大抵の netCDF データの入力は可能であると期待されます.
Input netCDF data. NetCDF data with gtool4 conventions is assumed, but most netCDF data is expected to be input.
file にファイル名を, varname に変数名を与えます. array にはファイルから入力されたデータが返ります. ポインタの配列へデータを入力を行う場合は, HistoryGetPointer を利用してください.
Give filename to file, variable name to varname. Input data is returned to array. If you want to use pointer array, use HistoryGetPointer .
デフォルトでは, ファイル内の最新データ, すなわちデータを 時刻最大で切り出したものを入力します. 別の時刻で切り出したデータを 入力したい場合には, 下記の range オプションを利用してください.
By default, recent data, that is to say, data clipped with maximum time is input. In order to input data clipped with other time, use range option as follows.
range には gtool4 のコンマ記法 (gtool4 netCDF 規約 の「5.4 コンマ記法」参照) を与えることで, 入力データの一部を切り出すことが可能です.
Give gtool4 comma-graphy (See "5.4 gtool4 comma-graphy" in gtool4 netCDF Convention) to range, then input data is clipped.
デフォルトでは, データの入力時にどのファイルのどの変数が どの次元で切り出されて入力されたのかを表示します. メッセージ出力が不要な場合は quiet に .true. を与えてください.
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 historyget.f90#HistoryGetIntEx
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
array(*) : | integer, intent(out)
| ||
range : | character(*), intent(in), optional
| ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional
|
このサブルーチンは gt4_history の内部で呼び出される ことを想定されています. gt4_history モジュールの外部からは 呼び出さないで下さい.
This subroutine is expected to be refereed in gt4_history internally. Do not refer from the outside of gt4_history.
netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定 していますが, 大抵の netCDF データの入力は可能であると期待されます.
Input netCDF data. NetCDF data with gtool4 conventions is assumed, but most netCDF data is expected to be input.
file にファイル名を, varname に変数名を与えます. array にはファイルから入力されたデータが返ります. ポインタの配列へデータを入力を行う場合は, HistoryGetPointer を利用してください.
Give filename to file, variable name to varname. Input data is returned to array. If you want to use pointer array, use HistoryGetPointer .
デフォルトでは, ファイル内の最新データ, すなわちデータを 時刻最大で切り出したものを入力します. 別の時刻で切り出したデータを 入力したい場合には, 下記の range オプションを利用してください.
By default, recent data, that is to say, data clipped with maximum time is input. In order to input data clipped with other time, use range option as follows.
range には gtool4 のコンマ記法 (gtool4 netCDF 規約 の「5.4 コンマ記法」参照) を与えることで, 入力データの一部を切り出すことが可能です.
Give gtool4 comma-graphy (See "5.4 gtool4 comma-graphy" in gtool4 netCDF Convention) to range, then input data is clipped.
デフォルトでは, データの入力時にどのファイルのどの変数が どの次元で切り出されて入力されたのかを表示します. メッセージ出力が不要な場合は quiet に .true. を与えてください.
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 historyget.f90#HistoryGetIntEx
Subroutine : | |
file : | character(*), intent(in) |
varname : | character(*), intent(in) |
array : | real, intent(out) |
range : | character(*), intent(in), optional |
quiet : | logical, intent(in), optional |
err : | logical, intent(out), optional |
subroutine HistoryGetReal0(file, varname, array, range, quiet, err) ! ! use dc_string, only: toChar use dc_present, only: present_select, present_and_not_empty use dc_types, only: DP, STRING use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file character(*), intent(in):: varname character(*), intent(in), optional:: range logical, intent(in), optional:: quiet real, intent(out) :: array logical, intent(out), optional:: err real :: array_tmp(1) character(*), parameter :: subname = "HistoryGetReal0" continue call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range))) if (present_and_not_empty(range)) then call HistoryGetRealEx(file = file, varname = varname, array = array_tmp, range = range, quiet = quiet, err = err) else call HistoryGetRealEx(file = file, varname = varname, array = array_tmp, quiet = quiet, err = err) end if array = array_tmp(1) call EndSub(subname) end subroutine HistoryGetReal0
Subroutine : | |
file : | character(*), intent(in) |
varname : | character(*), intent(in) |
array : | real, pointer |
range : | character(*), intent(in), optional |
quiet : | logical, intent(in), optional |
err : | logical, intent(out), optional |
subroutine HistoryGetReal0Pointer(file, varname, array, range, quiet, err) ! ! use gtdata_types, only: GT_VARIABLE use gtdata_generic, only: Open, Inquire, Close, Get use dc_string, only: toChar use dc_present, only: present_select, present_and_true use dc_types, only: DP, STRING use dc_message, only: MessageNotify use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file character(*), intent(in):: varname character(*), intent(in), optional:: range logical, intent(in), optional:: quiet real, pointer :: array logical, intent(out), optional:: err real, target :: array_tmp(1) type(GT_VARIABLE) :: var character(STRING) :: url, actual_url integer:: domain ! 変数の入出力領域の大きさ ! (= 変数が依存する各次元サイズの積) character(*), parameter :: subname = "HistoryGetReal0Pointer" continue call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range))) ! 必要な情報を gtool 変数化 call lookup_growable_url(file, varname, url, range, err) allocate(array) ! いよいよデータ取得 call Open(var, url, err) call Inquire(var=var, size=domain) call Get(var, array_tmp, domain, err) call Close(var, err) array = array_tmp(1) call actual_iorange_dump(url, actual_url, err) if ( .not. present_and_true(quiet) ) then call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url)) end if call EndSub(subname) end subroutine
Subroutine : | |
file : | character(*), intent(in) |
varname : | character(*), intent(in) |
array(:) : | real, intent(out) |
range : | character(*), intent(in), optional |
quiet : | logical, intent(in), optional |
err : | logical, intent(out), optional |
Real 型固定配列用 1 次元配列用データ入力サブルーチン
subroutine HistoryGetReal1(file, varname, array, range, quiet, err) ! ! Real 型固定配列用 1 次元配列用データ入力サブルーチン ! ! use dc_string, only: toChar use dc_present,only: present_select, present_and_not_empty use dc_types, only: DP, STRING use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file character(*), intent(in):: varname character(*), intent(in), optional:: range logical, intent(in), optional:: quiet real, intent(out) :: array(:) logical, intent(out), optional:: err character(*), parameter :: subname = "HistoryGetReal1" continue call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range))) if (present_and_not_empty(range)) then call HistoryGetRealEx(file = file, varname = varname, array = array, range = range, quiet = quiet, err = err) else call HistoryGetRealEx(file = file, varname = varname, array = array, quiet = quiet, err = err) endif call EndSub(subname) end subroutine HistoryGetReal1
Subroutine : | |||
file : | character(*), intent(in) | ||
varname : | character(*), intent(in) | ||
array(:) : | real, pointer
| ||
range : | character(*), intent(in), optional | ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional |
Real 型ポインタ配列用 1 次元配列用データ入力サブルーチン
subroutine HistoryGetReal1Pointer(file, varname, array, range, quiet, err) ! ! Real 型ポインタ配列用 1 次元配列用データ入力サブルーチン ! use gtdata_types, only: GT_VARIABLE use gtdata_generic, only: Open, Inquire, Close, Get use dc_string, only: toChar use dc_present,only: present_select, present_and_true use dc_types, only: DP, STRING use dc_message, only: MessageNotify use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file, varname character(*), intent(in), optional:: range logical, intent(in), optional:: quiet logical, intent(out), optional:: err real, pointer :: array(:) ! (out) type(GT_VARIABLE) :: var character(STRING) :: url, actual_url character(*), parameter :: subname = "HistoryGetReal1Pointer" continue call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range))) ! 必要な情報を gtool 変数化 call lookup_growable_url(file, varname, url, range, 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, err) if ( .not. present_and_true(quiet) ) then call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url)) end if call EndSub(subname) end subroutine
Subroutine : | |
file : | character(*), intent(in) |
varname : | character(*), intent(in) |
array(:,:) : | real, intent(out) |
range : | character(*), intent(in), optional |
quiet : | logical, intent(in), optional |
err : | logical, intent(out), optional |
Real 型固定配列用 2 次元配列用データ入力サブルーチン
subroutine HistoryGetReal2(file, varname, array, range, quiet, err) ! ! Real 型固定配列用 2 次元配列用データ入力サブルーチン ! ! use dc_string, only: toChar use dc_present,only: present_select, present_and_not_empty use dc_types, only: DP, STRING use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file character(*), intent(in):: varname character(*), intent(in), optional:: range logical, intent(in), optional:: quiet real, intent(out) :: array(:,:) logical, intent(out), optional:: err character(*), parameter :: subname = "HistoryGetReal2" continue call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range))) if (present_and_not_empty(range)) then call HistoryGetRealEx(file = file, varname = varname, array = array, range = range, quiet = quiet, err = err) else call HistoryGetRealEx(file = file, varname = varname, array = array, quiet = quiet, err = err) endif call EndSub(subname) end subroutine HistoryGetReal2
Subroutine : | |||
file : | character(*), intent(in) | ||
varname : | character(*), intent(in) | ||
array(:,:) : | real, pointer
| ||
range : | character(*), intent(in), optional | ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional |
Real 型ポインタ配列用 2 次元配列用データ入力サブルーチン
subroutine HistoryGetReal2Pointer(file, varname, array, range, quiet, err) ! ! Real 型ポインタ配列用 2 次元配列用データ入力サブルーチン ! use gtdata_types, only: GT_VARIABLE use gtdata_generic, only: Open, Inquire, Close, Get use dc_string, only: toChar use dc_present,only: present_select, present_and_true use dc_types, only: DP, STRING use dc_message, only: MessageNotify use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file, varname character(*), intent(in), optional:: range logical, intent(in), optional:: quiet logical, intent(out), optional:: err real, pointer :: array(:,:) ! (out) type(GT_VARIABLE) :: var character(STRING) :: url, actual_url character(*), parameter :: subname = "HistoryGetReal2Pointer" continue call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range))) ! 必要な情報を gtool 変数化 call lookup_growable_url(file, varname, url, range, 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, err) if ( .not. present_and_true(quiet) ) then call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url)) end if call EndSub(subname) end subroutine
Subroutine : | |
file : | character(*), intent(in) |
varname : | character(*), intent(in) |
array(:,:,:) : | real, intent(out) |
range : | character(*), intent(in), optional |
quiet : | logical, intent(in), optional |
err : | logical, intent(out), optional |
Real 型固定配列用 3 次元配列用データ入力サブルーチン
subroutine HistoryGetReal3(file, varname, array, range, quiet, err) ! ! Real 型固定配列用 3 次元配列用データ入力サブルーチン ! ! use dc_string, only: toChar use dc_present,only: present_select, present_and_not_empty use dc_types, only: DP, STRING use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file character(*), intent(in):: varname character(*), intent(in), optional:: range logical, intent(in), optional:: quiet real, intent(out) :: array(:,:,:) logical, intent(out), optional:: err character(*), parameter :: subname = "HistoryGetReal3" continue call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range))) if (present_and_not_empty(range)) then call HistoryGetRealEx(file = file, varname = varname, array = array, range = range, quiet = quiet, err = err) else call HistoryGetRealEx(file = file, varname = varname, array = array, quiet = quiet, err = err) endif call EndSub(subname) end subroutine HistoryGetReal3
Subroutine : | |||
file : | character(*), intent(in) | ||
varname : | character(*), intent(in) | ||
array(:,:,:) : | real, pointer
| ||
range : | character(*), intent(in), optional | ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional |
Real 型ポインタ配列用 3 次元配列用データ入力サブルーチン
subroutine HistoryGetReal3Pointer(file, varname, array, range, quiet, err) ! ! Real 型ポインタ配列用 3 次元配列用データ入力サブルーチン ! use gtdata_types, only: GT_VARIABLE use gtdata_generic, only: Open, Inquire, Close, Get use dc_string, only: toChar use dc_present,only: present_select, present_and_true use dc_types, only: DP, STRING use dc_message, only: MessageNotify use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file, varname character(*), intent(in), optional:: range logical, intent(in), optional:: quiet logical, intent(out), optional:: err real, pointer :: array(:,:,:) ! (out) type(GT_VARIABLE) :: var character(STRING) :: url, actual_url character(*), parameter :: subname = "HistoryGetReal3Pointer" continue call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range))) ! 必要な情報を gtool 変数化 call lookup_growable_url(file, varname, url, range, 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, err) if ( .not. present_and_true(quiet) ) then call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url)) end if call EndSub(subname) end subroutine
Subroutine : | |
file : | character(*), intent(in) |
varname : | character(*), intent(in) |
array(:,:,:,:) : | real, intent(out) |
range : | character(*), intent(in), optional |
quiet : | logical, intent(in), optional |
err : | logical, intent(out), optional |
Real 型固定配列用 4 次元配列用データ入力サブルーチン
subroutine HistoryGetReal4(file, varname, array, range, quiet, err) ! ! Real 型固定配列用 4 次元配列用データ入力サブルーチン ! ! use dc_string, only: toChar use dc_present,only: present_select, present_and_not_empty use dc_types, only: DP, STRING use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file character(*), intent(in):: varname character(*), intent(in), optional:: range logical, intent(in), optional:: quiet real, intent(out) :: array(:,:,:,:) logical, intent(out), optional:: err character(*), parameter :: subname = "HistoryGetReal4" continue call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range))) if (present_and_not_empty(range)) then call HistoryGetRealEx(file = file, varname = varname, array = array, range = range, quiet = quiet, err = err) else call HistoryGetRealEx(file = file, varname = varname, array = array, quiet = quiet, err = err) endif call EndSub(subname) end subroutine HistoryGetReal4
Subroutine : | |||
file : | character(*), intent(in) | ||
varname : | character(*), intent(in) | ||
array(:,:,:,:) : | real, pointer
| ||
range : | character(*), intent(in), optional | ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional |
Real 型ポインタ配列用 4 次元配列用データ入力サブルーチン
subroutine HistoryGetReal4Pointer(file, varname, array, range, quiet, err) ! ! Real 型ポインタ配列用 4 次元配列用データ入力サブルーチン ! use gtdata_types, only: GT_VARIABLE use gtdata_generic, only: Open, Inquire, Close, Get use dc_string, only: toChar use dc_present,only: present_select, present_and_true use dc_types, only: DP, STRING use dc_message, only: MessageNotify use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file, varname character(*), intent(in), optional:: range logical, intent(in), optional:: quiet logical, intent(out), optional:: err real, pointer :: array(:,:,:,:) ! (out) type(GT_VARIABLE) :: var character(STRING) :: url, actual_url character(*), parameter :: subname = "HistoryGetReal4Pointer" continue call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range))) ! 必要な情報を gtool 変数化 call lookup_growable_url(file, varname, url, range, 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, err) if ( .not. present_and_true(quiet) ) then call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url)) end if call EndSub(subname) end subroutine
Subroutine : | |
file : | character(*), intent(in) |
varname : | character(*), intent(in) |
array(:,:,:,:,:) : | real, intent(out) |
range : | character(*), intent(in), optional |
quiet : | logical, intent(in), optional |
err : | logical, intent(out), optional |
Real 型固定配列用 5 次元配列用データ入力サブルーチン
subroutine HistoryGetReal5(file, varname, array, range, quiet, err) ! ! Real 型固定配列用 5 次元配列用データ入力サブルーチン ! ! use dc_string, only: toChar use dc_present,only: present_select, present_and_not_empty use dc_types, only: DP, STRING use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file character(*), intent(in):: varname character(*), intent(in), optional:: range logical, intent(in), optional:: quiet real, intent(out) :: array(:,:,:,:,:) logical, intent(out), optional:: err character(*), parameter :: subname = "HistoryGetReal5" continue call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range))) if (present_and_not_empty(range)) then call HistoryGetRealEx(file = file, varname = varname, array = array, range = range, quiet = quiet, err = err) else call HistoryGetRealEx(file = file, varname = varname, array = array, quiet = quiet, err = err) endif call EndSub(subname) end subroutine HistoryGetReal5
Subroutine : | |||
file : | character(*), intent(in) | ||
varname : | character(*), intent(in) | ||
array(:,:,:,:,:) : | real, pointer
| ||
range : | character(*), intent(in), optional | ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional |
Real 型ポインタ配列用 5 次元配列用データ入力サブルーチン
subroutine HistoryGetReal5Pointer(file, varname, array, range, quiet, err) ! ! Real 型ポインタ配列用 5 次元配列用データ入力サブルーチン ! use gtdata_types, only: GT_VARIABLE use gtdata_generic, only: Open, Inquire, Close, Get use dc_string, only: toChar use dc_present,only: present_select, present_and_true use dc_types, only: DP, STRING use dc_message, only: MessageNotify use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file, varname character(*), intent(in), optional:: range logical, intent(in), optional:: quiet logical, intent(out), optional:: err real, pointer :: array(:,:,:,:,:) ! (out) type(GT_VARIABLE) :: var character(STRING) :: url, actual_url character(*), parameter :: subname = "HistoryGetReal5Pointer" continue call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range))) ! 必要な情報を gtool 変数化 call lookup_growable_url(file, varname, url, range, 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, err) if ( .not. present_and_true(quiet) ) then call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url)) end if call EndSub(subname) end subroutine
Subroutine : | |
file : | character(*), intent(in) |
varname : | character(*), intent(in) |
array(:,:,:,:,:,:) : | real, intent(out) |
range : | character(*), intent(in), optional |
quiet : | logical, intent(in), optional |
err : | logical, intent(out), optional |
Real 型固定配列用 6 次元配列用データ入力サブルーチン
subroutine HistoryGetReal6(file, varname, array, range, quiet, err) ! ! Real 型固定配列用 6 次元配列用データ入力サブルーチン ! ! use dc_string, only: toChar use dc_present,only: present_select, present_and_not_empty use dc_types, only: DP, STRING use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file character(*), intent(in):: varname character(*), intent(in), optional:: range logical, intent(in), optional:: quiet real, intent(out) :: array(:,:,:,:,:,:) logical, intent(out), optional:: err character(*), parameter :: subname = "HistoryGetReal6" continue call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range))) if (present_and_not_empty(range)) then call HistoryGetRealEx(file = file, varname = varname, array = array, range = range, quiet = quiet, err = err) else call HistoryGetRealEx(file = file, varname = varname, array = array, quiet = quiet, err = err) endif call EndSub(subname) end subroutine HistoryGetReal6
Subroutine : | |||
file : | character(*), intent(in) | ||
varname : | character(*), intent(in) | ||
array(:,:,:,:,:,:) : | real, pointer
| ||
range : | character(*), intent(in), optional | ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional |
Real 型ポインタ配列用 6 次元配列用データ入力サブルーチン
subroutine HistoryGetReal6Pointer(file, varname, array, range, quiet, err) ! ! Real 型ポインタ配列用 6 次元配列用データ入力サブルーチン ! use gtdata_types, only: GT_VARIABLE use gtdata_generic, only: Open, Inquire, Close, Get use dc_string, only: toChar use dc_present,only: present_select, present_and_true use dc_types, only: DP, STRING use dc_message, only: MessageNotify use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file, varname character(*), intent(in), optional:: range logical, intent(in), optional:: quiet logical, intent(out), optional:: err real, pointer :: array(:,:,:,:,:,:) ! (out) type(GT_VARIABLE) :: var character(STRING) :: url, actual_url character(*), parameter :: subname = "HistoryGetReal6Pointer" continue call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range))) ! 必要な情報を gtool 変数化 call lookup_growable_url(file, varname, url, range, 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, err) if ( .not. present_and_true(quiet) ) then call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url)) end if call EndSub(subname) end subroutine
Subroutine : | |
file : | character(*), intent(in) |
varname : | character(*), intent(in) |
array(:,:,:,:,:,:,:) : | real, intent(out) |
range : | character(*), intent(in), optional |
quiet : | logical, intent(in), optional |
err : | logical, intent(out), optional |
Real 型固定配列用 7 次元配列用データ入力サブルーチン
subroutine HistoryGetReal7(file, varname, array, range, quiet, err) ! ! Real 型固定配列用 7 次元配列用データ入力サブルーチン ! ! use dc_string, only: toChar use dc_present,only: present_select, present_and_not_empty use dc_types, only: DP, STRING use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file character(*), intent(in):: varname character(*), intent(in), optional:: range logical, intent(in), optional:: quiet real, intent(out) :: array(:,:,:,:,:,:,:) logical, intent(out), optional:: err character(*), parameter :: subname = "HistoryGetReal7" continue call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range))) if (present_and_not_empty(range)) then call HistoryGetRealEx(file = file, varname = varname, array = array, range = range, quiet = quiet, err = err) else call HistoryGetRealEx(file = file, varname = varname, array = array, quiet = quiet, err = err) endif call EndSub(subname) end subroutine HistoryGetReal7
Subroutine : | |||
file : | character(*), intent(in) | ||
varname : | character(*), intent(in) | ||
array(:,:,:,:,:,:,:) : | real, pointer
| ||
range : | character(*), intent(in), optional | ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional |
Real 型ポインタ配列用 7 次元配列用データ入力サブルーチン
subroutine HistoryGetReal7Pointer(file, varname, array, range, quiet, err) ! ! Real 型ポインタ配列用 7 次元配列用データ入力サブルーチン ! use gtdata_types, only: GT_VARIABLE use gtdata_generic, only: Open, Inquire, Close, Get use dc_string, only: toChar use dc_present,only: present_select, present_and_true use dc_types, only: DP, STRING use dc_message, only: MessageNotify use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in):: file, varname character(*), intent(in), optional:: range logical, intent(in), optional:: quiet logical, intent(out), optional:: err real, pointer :: array(:,:,:,:,:,:,:) ! (out) type(GT_VARIABLE) :: var character(STRING) :: url, actual_url character(*), parameter :: subname = "HistoryGetReal7Pointer" continue call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range))) ! 必要な情報を gtool 変数化 call lookup_growable_url(file, varname, url, range, 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, err) if ( .not. present_and_true(quiet) ) then call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url)) end if call EndSub(subname) end subroutine
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
array(*) : | real, intent(out)
| ||
range : | character(*), intent(in), optional
| ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional
|
このサブルーチンは gt4_history の内部で呼び出される ことを想定されています. gt4_history モジュールの外部からは 呼び出さないで下さい.
This subroutine is expected to be refereed in gt4_history internally. Do not refer from the outside of gt4_history.
netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定 していますが, 大抵の netCDF データの入力は可能であると期待されます.
Input netCDF data. NetCDF data with gtool4 conventions is assumed, but most netCDF data is expected to be input.
file にファイル名を, varname に変数名を与えます. array にはファイルから入力されたデータが返ります. ポインタの配列へデータを入力を行う場合は, HistoryGetPointer を利用してください.
Give filename to file, variable name to varname. Input data is returned to array. If you want to use pointer array, use HistoryGetPointer .
デフォルトでは, ファイル内の最新データ, すなわちデータを 時刻最大で切り出したものを入力します. 別の時刻で切り出したデータを 入力したい場合には, 下記の range オプションを利用してください.
By default, recent data, that is to say, data clipped with maximum time is input. In order to input data clipped with other time, use range option as follows.
range には gtool4 のコンマ記法 (gtool4 netCDF 規約 の「5.4 コンマ記法」参照) を与えることで, 入力データの一部を切り出すことが可能です.
Give gtool4 comma-graphy (See "5.4 gtool4 comma-graphy" in gtool4 netCDF Convention) to range, then input data is clipped.
デフォルトでは, データの入力時にどのファイルのどの変数が どの次元で切り出されて入力されたのかを表示します. メッセージ出力が不要な場合は quiet に .true. を与えてください.
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
subroutine HistoryGetRealEx(file, varname, array, range, quiet, err) ! ! このサブルーチンは gt4_history の内部で呼び出される ! ことを想定されています. gt4_history モジュールの外部からは ! 呼び出さないで下さい. ! ! This subroutine is expected to be refereed in gt4_history internally. ! Do not refer from the outside of gt4_history. ! ! netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定 ! していますが, 大抵の netCDF データの入力は可能であると期待されます. ! ! Input netCDF data. NetCDF data with gtool4 conventions is assumed, ! but most netCDF data is expected to be input. ! ! *file* にファイル名を, *varname* に変数名を与えます. ! *array* にはファイルから入力されたデータが返ります. ! ポインタの配列へデータを入力を行う場合は, ! HistoryGetPointer を利用してください. ! ! Give filename to *file*, variable name to *varname*. ! Input data is returned to *array*. ! If you want to use pointer array, use HistoryGetPointer . ! ! デフォルトでは, ファイル内の最新データ, すなわちデータを ! 時刻最大で切り出したものを入力します. 別の時刻で切り出したデータを ! 入力したい場合には, 下記の *range* オプションを利用してください. ! ! By default, recent data, that is to say, data clipped with ! maximum time is input. In order to input data clipped with ! other time, use *range* option as follows. ! ! *range* には gtool4 のコンマ記法 ! ({gtool4 netCDF 規約}[link:../xref.htm#label-6] の「5.4 コンマ記法」参照) ! を与えることで, 入力データの一部を切り出すことが可能です. ! ! Give gtool4 comma-graphy ! (See "5.4 gtool4 comma-graphy" in {gtool4 netCDF Convention}[link:../xref.htm#label-6]) ! to *range*, then input data is clipped. ! ! デフォルトでは, データの入力時にどのファイルのどの変数が ! どの次元で切り出されて入力されたのかを表示します. ! メッセージ出力が不要な場合は *quiet* に .true. を与えてください. ! ! 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 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 character(*), intent(in):: file ! ファイル名. 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 コンマ記法」を参照して ! ください. ! ! 数値のみが与えられる場合 ! (※ 引数の型は常に文字型です. ! ここでの「数値」は ! "<b><tt>10.0</tt></b>" ! のような文字列 ! を指します), この値は時刻 ! (正確には netCDF の無制限次元) ! の値として扱われます. ! ! 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] ! ! When pure numerical value is given ! (Type of argument is character. ! In this case, the "pure numerical ! value" means a character like ! "<b><tt>10.0</tt></b>") ! the value is treated as time ! (to be exact, unlimited dimension). ! logical, intent(in), optional:: quiet real, intent(out):: array(*) ! データ. Data type(GT_VARIABLE) :: var character(STRING) :: url, actual_url integer:: domain ! 変数の入出力領域の大きさ ! (= 変数が依存する各次元サイズの積) 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. integer:: stat character(STRING):: cause_c character(*), parameter :: subname = "HistoryGetRealEx" continue call BeginSub(subname, 'file=%c varname=%c range=%c', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range))) cause_c = '' stat = DC_NOERR call lookup_growable_url(file, varname, url, range, err = err) if ( present_and_true(err) ) then stat = GT_ENOTURL cause_c = url goto 999 end if call Open(var, url, err = err) if ( present_and_true(err) ) then stat = GT_ENOTURL cause_c = url goto 999 end if call Inquire(var = var, size = domain) call Get(var, array, domain) call Close(var) call actual_iorange_dump(url, actual_url, err = err) if ( .not. present_and_true(quiet) ) then call MessageNotify('M', subname, 'Input %c', c1=trim(actual_url)) end if 999 continue call StoreError(stat, subname, err, cause_c) call EndSub(subname) end subroutine HistoryGetRealEx
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
array(*) : | real, intent(out)
| ||
range : | character(*), intent(in), optional
| ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional
|
このサブルーチンは gt4_history の内部で呼び出される ことを想定されています. gt4_history モジュールの外部からは 呼び出さないで下さい.
This subroutine is expected to be refereed in gt4_history internally. Do not refer from the outside of gt4_history.
netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定 していますが, 大抵の netCDF データの入力は可能であると期待されます.
Input netCDF data. NetCDF data with gtool4 conventions is assumed, but most netCDF data is expected to be input.
file にファイル名を, varname に変数名を与えます. array にはファイルから入力されたデータが返ります. ポインタの配列へデータを入力を行う場合は, HistoryGetPointer を利用してください.
Give filename to file, variable name to varname. Input data is returned to array. If you want to use pointer array, use HistoryGetPointer .
デフォルトでは, ファイル内の最新データ, すなわちデータを 時刻最大で切り出したものを入力します. 別の時刻で切り出したデータを 入力したい場合には, 下記の range オプションを利用してください.
By default, recent data, that is to say, data clipped with maximum time is input. In order to input data clipped with other time, use range option as follows.
range には gtool4 のコンマ記法 (gtool4 netCDF 規約 の「5.4 コンマ記法」参照) を与えることで, 入力データの一部を切り出すことが可能です.
Give gtool4 comma-graphy (See "5.4 gtool4 comma-graphy" in gtool4 netCDF Convention) to range, then input data is clipped.
デフォルトでは, データの入力時にどのファイルのどの変数が どの次元で切り出されて入力されたのかを表示します. メッセージ出力が不要な場合は quiet に .true. を与えてください.
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 historyget.f90#HistoryGetRealEx
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
array(*) : | real, intent(out)
| ||
range : | character(*), intent(in), optional
| ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional
|
このサブルーチンは gt4_history の内部で呼び出される ことを想定されています. gt4_history モジュールの外部からは 呼び出さないで下さい.
This subroutine is expected to be refereed in gt4_history internally. Do not refer from the outside of gt4_history.
netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定 していますが, 大抵の netCDF データの入力は可能であると期待されます.
Input netCDF data. NetCDF data with gtool4 conventions is assumed, but most netCDF data is expected to be input.
file にファイル名を, varname に変数名を与えます. array にはファイルから入力されたデータが返ります. ポインタの配列へデータを入力を行う場合は, HistoryGetPointer を利用してください.
Give filename to file, variable name to varname. Input data is returned to array. If you want to use pointer array, use HistoryGetPointer .
デフォルトでは, ファイル内の最新データ, すなわちデータを 時刻最大で切り出したものを入力します. 別の時刻で切り出したデータを 入力したい場合には, 下記の range オプションを利用してください.
By default, recent data, that is to say, data clipped with maximum time is input. In order to input data clipped with other time, use range option as follows.
range には gtool4 のコンマ記法 (gtool4 netCDF 規約 の「5.4 コンマ記法」参照) を与えることで, 入力データの一部を切り出すことが可能です.
Give gtool4 comma-graphy (See "5.4 gtool4 comma-graphy" in gtool4 netCDF Convention) to range, then input data is clipped.
デフォルトでは, データの入力時にどのファイルのどの変数が どの次元で切り出されて入力されたのかを表示します. メッセージ出力が不要な場合は quiet に .true. を与えてください.
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 historyget.f90#HistoryGetRealEx
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
array(*) : | real, intent(out)
| ||
range : | character(*), intent(in), optional
| ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional
|
このサブルーチンは gt4_history の内部で呼び出される ことを想定されています. gt4_history モジュールの外部からは 呼び出さないで下さい.
This subroutine is expected to be refereed in gt4_history internally. Do not refer from the outside of gt4_history.
netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定 していますが, 大抵の netCDF データの入力は可能であると期待されます.
Input netCDF data. NetCDF data with gtool4 conventions is assumed, but most netCDF data is expected to be input.
file にファイル名を, varname に変数名を与えます. array にはファイルから入力されたデータが返ります. ポインタの配列へデータを入力を行う場合は, HistoryGetPointer を利用してください.
Give filename to file, variable name to varname. Input data is returned to array. If you want to use pointer array, use HistoryGetPointer .
デフォルトでは, ファイル内の最新データ, すなわちデータを 時刻最大で切り出したものを入力します. 別の時刻で切り出したデータを 入力したい場合には, 下記の range オプションを利用してください.
By default, recent data, that is to say, data clipped with maximum time is input. In order to input data clipped with other time, use range option as follows.
range には gtool4 のコンマ記法 (gtool4 netCDF 規約 の「5.4 コンマ記法」参照) を与えることで, 入力データの一部を切り出すことが可能です.
Give gtool4 comma-graphy (See "5.4 gtool4 comma-graphy" in gtool4 netCDF Convention) to range, then input data is clipped.
デフォルトでは, データの入力時にどのファイルのどの変数が どの次元で切り出されて入力されたのかを表示します. メッセージ出力が不要な場合は quiet に .true. を与えてください.
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 historyget.f90#HistoryGetRealEx
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
array(*) : | real, intent(out)
| ||
range : | character(*), intent(in), optional
| ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional
|
このサブルーチンは gt4_history の内部で呼び出される ことを想定されています. gt4_history モジュールの外部からは 呼び出さないで下さい.
This subroutine is expected to be refereed in gt4_history internally. Do not refer from the outside of gt4_history.
netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定 していますが, 大抵の netCDF データの入力は可能であると期待されます.
Input netCDF data. NetCDF data with gtool4 conventions is assumed, but most netCDF data is expected to be input.
file にファイル名を, varname に変数名を与えます. array にはファイルから入力されたデータが返ります. ポインタの配列へデータを入力を行う場合は, HistoryGetPointer を利用してください.
Give filename to file, variable name to varname. Input data is returned to array. If you want to use pointer array, use HistoryGetPointer .
デフォルトでは, ファイル内の最新データ, すなわちデータを 時刻最大で切り出したものを入力します. 別の時刻で切り出したデータを 入力したい場合には, 下記の range オプションを利用してください.
By default, recent data, that is to say, data clipped with maximum time is input. In order to input data clipped with other time, use range option as follows.
range には gtool4 のコンマ記法 (gtool4 netCDF 規約 の「5.4 コンマ記法」参照) を与えることで, 入力データの一部を切り出すことが可能です.
Give gtool4 comma-graphy (See "5.4 gtool4 comma-graphy" in gtool4 netCDF Convention) to range, then input data is clipped.
デフォルトでは, データの入力時にどのファイルのどの変数が どの次元で切り出されて入力されたのかを表示します. メッセージ出力が不要な場合は quiet に .true. を与えてください.
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 historyget.f90#HistoryGetRealEx
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
array(*) : | real, intent(out)
| ||
range : | character(*), intent(in), optional
| ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional
|
このサブルーチンは gt4_history の内部で呼び出される ことを想定されています. gt4_history モジュールの外部からは 呼び出さないで下さい.
This subroutine is expected to be refereed in gt4_history internally. Do not refer from the outside of gt4_history.
netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定 していますが, 大抵の netCDF データの入力は可能であると期待されます.
Input netCDF data. NetCDF data with gtool4 conventions is assumed, but most netCDF data is expected to be input.
file にファイル名を, varname に変数名を与えます. array にはファイルから入力されたデータが返ります. ポインタの配列へデータを入力を行う場合は, HistoryGetPointer を利用してください.
Give filename to file, variable name to varname. Input data is returned to array. If you want to use pointer array, use HistoryGetPointer .
デフォルトでは, ファイル内の最新データ, すなわちデータを 時刻最大で切り出したものを入力します. 別の時刻で切り出したデータを 入力したい場合には, 下記の range オプションを利用してください.
By default, recent data, that is to say, data clipped with maximum time is input. In order to input data clipped with other time, use range option as follows.
range には gtool4 のコンマ記法 (gtool4 netCDF 規約 の「5.4 コンマ記法」参照) を与えることで, 入力データの一部を切り出すことが可能です.
Give gtool4 comma-graphy (See "5.4 gtool4 comma-graphy" in gtool4 netCDF Convention) to range, then input data is clipped.
デフォルトでは, データの入力時にどのファイルのどの変数が どの次元で切り出されて入力されたのかを表示します. メッセージ出力が不要な場合は quiet に .true. を与えてください.
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 historyget.f90#HistoryGetRealEx
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
array(*) : | real, intent(out)
| ||
range : | character(*), intent(in), optional
| ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional
|
このサブルーチンは gt4_history の内部で呼び出される ことを想定されています. gt4_history モジュールの外部からは 呼び出さないで下さい.
This subroutine is expected to be refereed in gt4_history internally. Do not refer from the outside of gt4_history.
netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定 していますが, 大抵の netCDF データの入力は可能であると期待されます.
Input netCDF data. NetCDF data with gtool4 conventions is assumed, but most netCDF data is expected to be input.
file にファイル名を, varname に変数名を与えます. array にはファイルから入力されたデータが返ります. ポインタの配列へデータを入力を行う場合は, HistoryGetPointer を利用してください.
Give filename to file, variable name to varname. Input data is returned to array. If you want to use pointer array, use HistoryGetPointer .
デフォルトでは, ファイル内の最新データ, すなわちデータを 時刻最大で切り出したものを入力します. 別の時刻で切り出したデータを 入力したい場合には, 下記の range オプションを利用してください.
By default, recent data, that is to say, data clipped with maximum time is input. In order to input data clipped with other time, use range option as follows.
range には gtool4 のコンマ記法 (gtool4 netCDF 規約 の「5.4 コンマ記法」参照) を与えることで, 入力データの一部を切り出すことが可能です.
Give gtool4 comma-graphy (See "5.4 gtool4 comma-graphy" in gtool4 netCDF Convention) to range, then input data is clipped.
デフォルトでは, データの入力時にどのファイルのどの変数が どの次元で切り出されて入力されたのかを表示します. メッセージ出力が不要な場合は quiet に .true. を与えてください.
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 historyget.f90#HistoryGetRealEx
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
array(*) : | real, intent(out)
| ||
range : | character(*), intent(in), optional
| ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional
|
このサブルーチンは gt4_history の内部で呼び出される ことを想定されています. gt4_history モジュールの外部からは 呼び出さないで下さい.
This subroutine is expected to be refereed in gt4_history internally. Do not refer from the outside of gt4_history.
netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定 していますが, 大抵の netCDF データの入力は可能であると期待されます.
Input netCDF data. NetCDF data with gtool4 conventions is assumed, but most netCDF data is expected to be input.
file にファイル名を, varname に変数名を与えます. array にはファイルから入力されたデータが返ります. ポインタの配列へデータを入力を行う場合は, HistoryGetPointer を利用してください.
Give filename to file, variable name to varname. Input data is returned to array. If you want to use pointer array, use HistoryGetPointer .
デフォルトでは, ファイル内の最新データ, すなわちデータを 時刻最大で切り出したものを入力します. 別の時刻で切り出したデータを 入力したい場合には, 下記の range オプションを利用してください.
By default, recent data, that is to say, data clipped with maximum time is input. In order to input data clipped with other time, use range option as follows.
range には gtool4 のコンマ記法 (gtool4 netCDF 規約 の「5.4 コンマ記法」参照) を与えることで, 入力データの一部を切り出すことが可能です.
Give gtool4 comma-graphy (See "5.4 gtool4 comma-graphy" in gtool4 netCDF Convention) to range, then input data is clipped.
デフォルトでは, データの入力時にどのファイルのどの変数が どの次元で切り出されて入力されたのかを表示します. メッセージ出力が不要な場合は quiet に .true. を与えてください.
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 historyget.f90#HistoryGetRealEx
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
array(*) : | real, intent(out)
| ||
range : | character(*), intent(in), optional
| ||
quiet : | logical, intent(in), optional | ||
err : | logical, intent(out), optional
|
このサブルーチンは gt4_history の内部で呼び出される ことを想定されています. gt4_history モジュールの外部からは 呼び出さないで下さい.
This subroutine is expected to be refereed in gt4_history internally. Do not refer from the outside of gt4_history.
netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定 していますが, 大抵の netCDF データの入力は可能であると期待されます.
Input netCDF data. NetCDF data with gtool4 conventions is assumed, but most netCDF data is expected to be input.
file にファイル名を, varname に変数名を与えます. array にはファイルから入力されたデータが返ります. ポインタの配列へデータを入力を行う場合は, HistoryGetPointer を利用してください.
Give filename to file, variable name to varname. Input data is returned to array. If you want to use pointer array, use HistoryGetPointer .
デフォルトでは, ファイル内の最新データ, すなわちデータを 時刻最大で切り出したものを入力します. 別の時刻で切り出したデータを 入力したい場合には, 下記の range オプションを利用してください.
By default, recent data, that is to say, data clipped with maximum time is input. In order to input data clipped with other time, use range option as follows.
range には gtool4 のコンマ記法 (gtool4 netCDF 規約 の「5.4 コンマ記法」参照) を与えることで, 入力データの一部を切り出すことが可能です.
Give gtool4 comma-graphy (See "5.4 gtool4 comma-graphy" in gtool4 netCDF Convention) to range, then input data is clipped.
デフォルトでは, データの入力時にどのファイルのどの変数が どの次元で切り出されて入力されたのかを表示します. メッセージ出力が不要な場合は quiet に .true. を与えてください.
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 historyget.f90#HistoryGetRealEx
Subroutine : | |||
url : | character(*), intent(in)
| ||
actual_url : | character(*), intent(out), optional
| ||
err : | logical, intent(out), optional
|
変数 URL url に対応するファイル, 変数からデータを取り出す際, 入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する. actual_url が与えられる場合には その引数に値を返し, 標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は, 入出力範囲が次元データに正確に一致しない 場合, 最も近い値を自動的に選択して切り出す. しかしその結果, 「本当はどこのデータを入力したか」がわからない場合があるため, このサブルーチンによって正確な位置をユーザに知らせる.
subroutine actual_iorange_dump(url, actual_url, err) ! ! 変数 URL *url* に対応するファイル, 変数からデータを取り出す際, ! 入出力範囲指定によって切り出される値の本当の位置を ! 標準出力に出力する. *actual_url* が与えられる場合には ! その引数に値を返し, 標準出力には出力しない. ! ! HistoryGet, HistoryGetPointer が下層で呼び出している ! gtdata_generic#Get は, 入出力範囲が次元データに正確に一致しない ! 場合, 最も近い値を自動的に選択して切り出す. しかしその結果, ! 「本当はどこのデータを入力したか」がわからない場合があるため, ! このサブルーチンによって正確な位置をユーザに知らせる. ! use dc_types, only: DP, STRING use dc_string, only: Split, JoinChar, toChar use dc_url, only: UrlSearchIORange, UrlMerge, UrlSplit use dc_url, only: GT_COMMA, GT_EQUAL, GT_COLON use dc_message, only: MessageNotify use dc_trace, only: Beginsub, Endsub, DbgMessage use regex, only: match use gtdata_types, only: GT_VARIABLE use gtdata_generic, only: Open, Close, Get use dc_error, only: StoreError, DC_NOERR character(*), intent(in) :: url ! 変数 URL character(*), intent(out), optional :: actual_url ! 正確な入出力範囲指定に修正 ! された変数 URL logical, intent(out), optional :: err ! エラーのフラグ character(STRING), pointer :: iorange_each(:) =>null() character(STRING), pointer :: range_values(:) =>null() character(STRING), pointer :: new_iorange_each(:) =>null() character(STRING), pointer :: new_range_values(:) =>null() character(STRING) :: new_url, new_iorange, url_tmp, dimname character(STRING) :: file, varname, range, cause_c type(GT_VARIABLE) :: var real :: iorange_value(1) integer :: i, j, regex_len, regex_stat, stat character(*), parameter :: subname = "actual_iorange_dump" continue call BeginSub(subname, '<url=%c>', c1=trim(url)) new_iorange = '' cause_c = '' stat = DC_NOERR call UrlSplit(url, file, varname, iorange=range) call Split(range, iorange_each, GT_COMMA) allocate(new_iorange_each(size(iorange_each))) do i = 1, size(iorange_each) call match(GT_EQUAL, iorange_each(i), regex_len, regex_stat) if (regex_stat < 0 .or. regex_len < 2) then new_iorange_each(i) = trim(iorange_each(i)) else dimname = iorange_each(i)(:regex_len-1) call Split(iorange_each(i)(regex_len+1:), range_values, GT_COLON) allocate(new_range_values(size(range_values))) do j = 1, size(range_values) url_tmp = UrlMerge(file, dimname, '', iorange=trim(dimname) // GT_EQUAL // trim(range_values(j))) call Open(var, url_tmp) call Get(var, iorange_value, 1) call Close(var) new_range_values(j) = toChar(iorange_value) end do new_iorange_each(i) = trim(dimname) // GT_EQUAL // JoinChar(new_range_values, GT_COLON) deallocate(new_range_values) deallocate(range_values) end if end do new_iorange = JoinChar(new_iorange_each, GT_COMMA) deallocate(new_iorange_each) deallocate(iorange_each) new_url = UrlMerge(file, varname, '', new_iorange) if (present(actual_url)) then actual_url = new_url else call MessageNotify('M', subname, 'Input %c', c1=trim(new_url)) end if 999 continue call StoreError(stat, subname, err, cause_c) call EndSub(subname, '<actual_url=%c>', c1=trim(new_url)) end subroutine actual_iorange_dump
Subroutine : | |||
url : | character(*), intent(in)
| ||
actual_url : | character(*), intent(out), optional
| ||
err : | logical, intent(out), optional
|
変数 URL url に対応するファイル, 変数からデータを取り出す際, 入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する. actual_url が与えられる場合には その引数に値を返し, 標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は, 入出力範囲が次元データに正確に一致しない 場合, 最も近い値を自動的に選択して切り出す. しかしその結果, 「本当はどこのデータを入力したか」がわからない場合があるため, このサブルーチンによって正確な位置をユーザに知らせる.
Original external subprogram is historyget.f90#actual_iorange_dump
Subroutine : | |||
url : | character(*), intent(in)
| ||
actual_url : | character(*), intent(out), optional
| ||
err : | logical, intent(out), optional
|
変数 URL url に対応するファイル, 変数からデータを取り出す際, 入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する. actual_url が与えられる場合には その引数に値を返し, 標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は, 入出力範囲が次元データに正確に一致しない 場合, 最も近い値を自動的に選択して切り出す. しかしその結果, 「本当はどこのデータを入力したか」がわからない場合があるため, このサブルーチンによって正確な位置をユーザに知らせる.
Original external subprogram is historyget.f90#actual_iorange_dump
Subroutine : | |||
url : | character(*), intent(in)
| ||
actual_url : | character(*), intent(out), optional
| ||
err : | logical, intent(out), optional
|
変数 URL url に対応するファイル, 変数からデータを取り出す際, 入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する. actual_url が与えられる場合には その引数に値を返し, 標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は, 入出力範囲が次元データに正確に一致しない 場合, 最も近い値を自動的に選択して切り出す. しかしその結果, 「本当はどこのデータを入力したか」がわからない場合があるため, このサブルーチンによって正確な位置をユーザに知らせる.
Original external subprogram is historyget.f90#actual_iorange_dump
Subroutine : | |||
url : | character(*), intent(in)
| ||
actual_url : | character(*), intent(out), optional
| ||
err : | logical, intent(out), optional
|
変数 URL url に対応するファイル, 変数からデータを取り出す際, 入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する. actual_url が与えられる場合には その引数に値を返し, 標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は, 入出力範囲が次元データに正確に一致しない 場合, 最も近い値を自動的に選択して切り出す. しかしその結果, 「本当はどこのデータを入力したか」がわからない場合があるため, このサブルーチンによって正確な位置をユーザに知らせる.
Original external subprogram is historyget.f90#actual_iorange_dump
Subroutine : | |||
url : | character(*), intent(in)
| ||
actual_url : | character(*), intent(out), optional
| ||
err : | logical, intent(out), optional
|
変数 URL url に対応するファイル, 変数からデータを取り出す際, 入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する. actual_url が与えられる場合には その引数に値を返し, 標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は, 入出力範囲が次元データに正確に一致しない 場合, 最も近い値を自動的に選択して切り出す. しかしその結果, 「本当はどこのデータを入力したか」がわからない場合があるため, このサブルーチンによって正確な位置をユーザに知らせる.
Original external subprogram is historyget.f90#actual_iorange_dump
Subroutine : | |||
url : | character(*), intent(in)
| ||
actual_url : | character(*), intent(out), optional
| ||
err : | logical, intent(out), optional
|
変数 URL url に対応するファイル, 変数からデータを取り出す際, 入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する. actual_url が与えられる場合には その引数に値を返し, 標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は, 入出力範囲が次元データに正確に一致しない 場合, 最も近い値を自動的に選択して切り出す. しかしその結果, 「本当はどこのデータを入力したか」がわからない場合があるため, このサブルーチンによって正確な位置をユーザに知らせる.
Original external subprogram is historyget.f90#actual_iorange_dump
Subroutine : | |||
url : | character(*), intent(in)
| ||
actual_url : | character(*), intent(out), optional
| ||
err : | logical, intent(out), optional
|
変数 URL url に対応するファイル, 変数からデータを取り出す際, 入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する. actual_url が与えられる場合には その引数に値を返し, 標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は, 入出力範囲が次元データに正確に一致しない 場合, 最も近い値を自動的に選択して切り出す. しかしその結果, 「本当はどこのデータを入力したか」がわからない場合があるため, このサブルーチンによって正確な位置をユーザに知らせる.
Original external subprogram is historyget.f90#actual_iorange_dump
Subroutine : | |||
url : | character(*), intent(in)
| ||
actual_url : | character(*), intent(out), optional
| ||
err : | logical, intent(out), optional
|
変数 URL url に対応するファイル, 変数からデータを取り出す際, 入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する. actual_url が与えられる場合には その引数に値を返し, 標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は, 入出力範囲が次元データに正確に一致しない 場合, 最も近い値を自動的に選択して切り出す. しかしその結果, 「本当はどこのデータを入力したか」がわからない場合があるため, このサブルーチンによって正確な位置をユーザに知らせる.
Original external subprogram is historyget.f90#actual_iorange_dump
Subroutine : | |||
url : | character(*), intent(in)
| ||
actual_url : | character(*), intent(out), optional
| ||
err : | logical, intent(out), optional
|
変数 URL url に対応するファイル, 変数からデータを取り出す際, 入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する. actual_url が与えられる場合には その引数に値を返し, 標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は, 入出力範囲が次元データに正確に一致しない 場合, 最も近い値を自動的に選択して切り出す. しかしその結果, 「本当はどこのデータを入力したか」がわからない場合があるため, このサブルーチンによって正確な位置をユーザに知らせる.
Original external subprogram is historyget.f90#actual_iorange_dump
Subroutine : | |||
url : | character(*), intent(in)
| ||
actual_url : | character(*), intent(out), optional
| ||
err : | logical, intent(out), optional
|
変数 URL url に対応するファイル, 変数からデータを取り出す際, 入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する. actual_url が与えられる場合には その引数に値を返し, 標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は, 入出力範囲が次元データに正確に一致しない 場合, 最も近い値を自動的に選択して切り出す. しかしその結果, 「本当はどこのデータを入力したか」がわからない場合があるため, このサブルーチンによって正確な位置をユーザに知らせる.
Original external subprogram is historyget.f90#actual_iorange_dump
Subroutine : | |||
url : | character(*), intent(in)
| ||
actual_url : | character(*), intent(out), optional
| ||
err : | logical, intent(out), optional
|
変数 URL url に対応するファイル, 変数からデータを取り出す際, 入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する. actual_url が与えられる場合には その引数に値を返し, 標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は, 入出力範囲が次元データに正確に一致しない 場合, 最も近い値を自動的に選択して切り出す. しかしその結果, 「本当はどこのデータを入力したか」がわからない場合があるため, このサブルーチンによって正確な位置をユーザに知らせる.
Original external subprogram is historyget.f90#actual_iorange_dump
Subroutine : | |||
url : | character(*), intent(in)
| ||
actual_url : | character(*), intent(out), optional
| ||
err : | logical, intent(out), optional
|
変数 URL url に対応するファイル, 変数からデータを取り出す際, 入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する. actual_url が与えられる場合には その引数に値を返し, 標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は, 入出力範囲が次元データに正確に一致しない 場合, 最も近い値を自動的に選択して切り出す. しかしその結果, 「本当はどこのデータを入力したか」がわからない場合があるため, このサブルーチンによって正確な位置をユーザに知らせる.
Original external subprogram is historyget.f90#actual_iorange_dump
Subroutine : | |||
url : | character(*), intent(in)
| ||
actual_url : | character(*), intent(out), optional
| ||
err : | logical, intent(out), optional
|
変数 URL url に対応するファイル, 変数からデータを取り出す際, 入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する. actual_url が与えられる場合には その引数に値を返し, 標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は, 入出力範囲が次元データに正確に一致しない 場合, 最も近い値を自動的に選択して切り出す. しかしその結果, 「本当はどこのデータを入力したか」がわからない場合があるため, このサブルーチンによって正確な位置をユーザに知らせる.
Original external subprogram is historyget.f90#actual_iorange_dump
Subroutine : | |||
url : | character(*), intent(in)
| ||
actual_url : | character(*), intent(out), optional
| ||
err : | logical, intent(out), optional
|
変数 URL url に対応するファイル, 変数からデータを取り出す際, 入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する. actual_url が与えられる場合には その引数に値を返し, 標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は, 入出力範囲が次元データに正確に一致しない 場合, 最も近い値を自動的に選択して切り出す. しかしその結果, 「本当はどこのデータを入力したか」がわからない場合があるため, このサブルーチンによって正確な位置をユーザに知らせる.
Original external subprogram is historyget.f90#actual_iorange_dump
Subroutine : | |||
url : | character(*), intent(in)
| ||
actual_url : | character(*), intent(out), optional
| ||
err : | logical, intent(out), optional
|
変数 URL url に対応するファイル, 変数からデータを取り出す際, 入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する. actual_url が与えられる場合には その引数に値を返し, 標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は, 入出力範囲が次元データに正確に一致しない 場合, 最も近い値を自動的に選択して切り出す. しかしその結果, 「本当はどこのデータを入力したか」がわからない場合があるため, このサブルーチンによって正確な位置をユーザに知らせる.
Original external subprogram is historyget.f90#actual_iorange_dump
Subroutine : | |||
url : | character(*), intent(in)
| ||
actual_url : | character(*), intent(out), optional
| ||
err : | logical, intent(out), optional
|
変数 URL url に対応するファイル, 変数からデータを取り出す際, 入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する. actual_url が与えられる場合には その引数に値を返し, 標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は, 入出力範囲が次元データに正確に一致しない 場合, 最も近い値を自動的に選択して切り出す. しかしその結果, 「本当はどこのデータを入力したか」がわからない場合があるため, このサブルーチンによって正確な位置をユーザに知らせる.
Original external subprogram is historyget.f90#actual_iorange_dump
Subroutine : | |||
url : | character(*), intent(in)
| ||
actual_url : | character(*), intent(out), optional
| ||
err : | logical, intent(out), optional
|
変数 URL url に対応するファイル, 変数からデータを取り出す際, 入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する. actual_url が与えられる場合には その引数に値を返し, 標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は, 入出力範囲が次元データに正確に一致しない 場合, 最も近い値を自動的に選択して切り出す. しかしその結果, 「本当はどこのデータを入力したか」がわからない場合があるため, このサブルーチンによって正確な位置をユーザに知らせる.
Original external subprogram is historyget.f90#actual_iorange_dump
Subroutine : | |||
url : | character(*), intent(in)
| ||
actual_url : | character(*), intent(out), optional
| ||
err : | logical, intent(out), optional
|
変数 URL url に対応するファイル, 変数からデータを取り出す際, 入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する. actual_url が与えられる場合には その引数に値を返し, 標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は, 入出力範囲が次元データに正確に一致しない 場合, 最も近い値を自動的に選択して切り出す. しかしその結果, 「本当はどこのデータを入力したか」がわからない場合があるため, このサブルーチンによって正確な位置をユーザに知らせる.
Original external subprogram is historyget.f90#actual_iorange_dump
Subroutine : | |||
url : | character(*), intent(in)
| ||
actual_url : | character(*), intent(out), optional
| ||
err : | logical, intent(out), optional
|
変数 URL url に対応するファイル, 変数からデータを取り出す際, 入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する. actual_url が与えられる場合には その引数に値を返し, 標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は, 入出力範囲が次元データに正確に一致しない 場合, 最も近い値を自動的に選択して切り出す. しかしその結果, 「本当はどこのデータを入力したか」がわからない場合があるため, このサブルーチンによって正確な位置をユーザに知らせる.
Original external subprogram is historyget.f90#actual_iorange_dump
Subroutine : | |||
url : | character(*), intent(in)
| ||
actual_url : | character(*), intent(out), optional
| ||
err : | logical, intent(out), optional
|
変数 URL url に対応するファイル, 変数からデータを取り出す際, 入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する. actual_url が与えられる場合には その引数に値を返し, 標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は, 入出力範囲が次元データに正確に一致しない 場合, 最も近い値を自動的に選択して切り出す. しかしその結果, 「本当はどこのデータを入力したか」がわからない場合があるため, このサブルーチンによって正確な位置をユーザに知らせる.
Original external subprogram is historyget.f90#actual_iorange_dump
Subroutine : | |||
url : | character(*), intent(in)
| ||
actual_url : | character(*), intent(out), optional
| ||
err : | logical, intent(out), optional
|
変数 URL url に対応するファイル, 変数からデータを取り出す際, 入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する. actual_url が与えられる場合には その引数に値を返し, 標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は, 入出力範囲が次元データに正確に一致しない 場合, 最も近い値を自動的に選択して切り出す. しかしその結果, 「本当はどこのデータを入力したか」がわからない場合があるため, このサブルーチンによって正確な位置をユーザに知らせる.
Original external subprogram is historyget.f90#actual_iorange_dump
Subroutine : | |||
url : | character(*), intent(in)
| ||
actual_url : | character(*), intent(out), optional
| ||
err : | logical, intent(out), optional
|
変数 URL url に対応するファイル, 変数からデータを取り出す際, 入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する. actual_url が与えられる場合には その引数に値を返し, 標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は, 入出力範囲が次元データに正確に一致しない 場合, 最も近い値を自動的に選択して切り出す. しかしその結果, 「本当はどこのデータを入力したか」がわからない場合があるため, このサブルーチンによって正確な位置をユーザに知らせる.
Original external subprogram is historyget.f90#actual_iorange_dump
Subroutine : | |||
url : | character(*), intent(in)
| ||
actual_url : | character(*), intent(out), optional
| ||
err : | logical, intent(out), optional
|
変数 URL url に対応するファイル, 変数からデータを取り出す際, 入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する. actual_url が与えられる場合には その引数に値を返し, 標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は, 入出力範囲が次元データに正確に一致しない 場合, 最も近い値を自動的に選択して切り出す. しかしその結果, 「本当はどこのデータを入力したか」がわからない場合があるため, このサブルーチンによって正確な位置をユーザに知らせる.
Original external subprogram is historyget.f90#actual_iorange_dump
Subroutine : | |||
url : | character(*), intent(in)
| ||
actual_url : | character(*), intent(out), optional
| ||
err : | logical, intent(out), optional
|
変数 URL url に対応するファイル, 変数からデータを取り出す際, 入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する. actual_url が与えられる場合には その引数に値を返し, 標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は, 入出力範囲が次元データに正確に一致しない 場合, 最も近い値を自動的に選択して切り出す. しかしその結果, 「本当はどこのデータを入力したか」がわからない場合があるため, このサブルーチンによって正確な位置をユーザに知らせる.
Original external subprogram is historyget.f90#actual_iorange_dump
Subroutine : | |||
url : | character(*), intent(in)
| ||
actual_url : | character(*), intent(out), optional
| ||
err : | logical, intent(out), optional
|
変数 URL url に対応するファイル, 変数からデータを取り出す際, 入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する. actual_url が与えられる場合には その引数に値を返し, 標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は, 入出力範囲が次元データに正確に一致しない 場合, 最も近い値を自動的に選択して切り出す. しかしその結果, 「本当はどこのデータを入力したか」がわからない場合があるため, このサブルーチンによって正確な位置をユーザに知らせる.
Original external subprogram is historyget.f90#actual_iorange_dump
Subroutine : | |||
url : | character(*), intent(in)
| ||
actual_url : | character(*), intent(out), optional
| ||
err : | logical, intent(out), optional
|
変数 URL url に対応するファイル, 変数からデータを取り出す際, 入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する. actual_url が与えられる場合には その引数に値を返し, 標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は, 入出力範囲が次元データに正確に一致しない 場合, 最も近い値を自動的に選択して切り出す. しかしその結果, 「本当はどこのデータを入力したか」がわからない場合があるため, このサブルーチンによって正確な位置をユーザに知らせる.
Original external subprogram is historyget.f90#actual_iorange_dump
Subroutine : | |||
url : | character(*), intent(in)
| ||
actual_url : | character(*), intent(out), optional
| ||
err : | logical, intent(out), optional
|
変数 URL url に対応するファイル, 変数からデータを取り出す際, 入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する. actual_url が与えられる場合には その引数に値を返し, 標準出力には出力しない.
HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は, 入出力範囲が次元データに正確に一致しない 場合, 最も近い値を自動的に選択して切り出す. しかしその結果, 「本当はどこのデータを入力したか」がわからない場合があるため, このサブルーチンによって正確な位置をユーザに知らせる.
Original external subprogram is historyget.f90#actual_iorange_dump
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
url : | character(*), intent(out)
| ||
range : | character(*), intent(in), optional
| ||
err : | logical, intent(out), optional
|
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE. のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool変数化 ("file@varname,time=10.5" みたいな) して返す.
subroutine lookup_growable_url(file, varname, url, range, err) ! ! file の変数 varname が依存する次元の内, 時間の次元 ! (growable == .TRUE. のもの, つまり無制限次元) の変数名, ! およびその最後の値を取得し, gtool変数化 ! ("file@varname,time=10.5" みたいな) して返す. ! ! * もしも varname が次元変数である場合は「time=」を付けずに返す. ! * range を与えた場合, 以下のチェックを行った後, それを gtool4 ! 変数の iorange 部分に付加する. ! * 数値のみが与えられる場合, 時間次元の値として認識され, ! その値を用いた url が返る. ! * range 内に時間次元が設定されていない場合は, 自動的に ! 時間次元に関する iorange ("time=0.5") が指定される. ! use gtdata_types, only: GT_VARIABLE use gtdata_generic, only: Open, Close, Inquire use dc_present,only: present_select, present_and_not_empty, present_and_true use dc_string, only: toChar use dc_error, only: StoreError, DC_NOERR, GT_ENOUNLIMITDIM, NF_EINVAL, GT_ENOTVAR use dc_url, only: GT_CIRCUMFLEX, GT_COMMA, GT_EQUAL use dc_url, only: UrlSplit, UrlMerge, UrlSearchIORange use regex, only: match use dc_types, only: DP, STRING use dc_trace, only: Beginsub, Endsub, DbgMessage character(*), intent(in) :: file ! ファイル名 character(*), intent(in) :: varname ! 変数名 character(*), intent(out) :: url ! gtool変数化した文字列 character(*), intent(in), optional:: range ! 範囲限定や一点切り出し指定 logical, intent(out), optional :: err ! エラーのフラグ ! type(GT_VARIABLE) :: var type(GT_VARIABLE), allocatable :: dimvar(:) character(STRING) :: time_url, time_name, time_iorange character(STRING) :: iorange, cause_c logical:: growable, nounlimited integer:: allcount, timecount, nd, i, stat integer:: regex_stat, regex_len character(*), parameter :: subname = "lookup_growable_url" continue call BeginSub(subname, '<file=%c varname=%c range=%c>', c1=trim(file), c2=trim(varname), c3=trim(present_select('', 'no-range', range))) stat = DC_NOERR cause_c = "" 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. のもの (つまりは時間) ! の変数名 (time_name) を取得する. call DbgMessage('[%c: growable-dim-search]', c1=trim(subname)) time_name = '' do, i = 1, nd call Open(var = dimvar(i), source_var = var, dimord = i, count_compact = .TRUE., err = err) ! まずは変数入り gtool4 変数を time_url に取得 call Inquire(var = dimvar(i), growable = growable, allcount = allcount, url = time_url) call DbgMessage(' [dim=<%d>: growable=<%y>: url=<%c>]', i = (/i/), L = (/growable/), c1 = trim(time_url)) ! 総数 = 最後の数, なので... if (growable) then ! 変数部分だけ分離 call UrlSplit(fullname = time_url, var = time_name) timecount = allcount nounlimited = .false. endif call Close(dimvar(i)) end do ! 探査を終了したので閉じる call Close(var) if (stat /= DC_NOERR) then goto 999 end if ! 時刻部分の iorange を作成しておく. ! 格子点情報で取得されているので, 頭に "^" を付加する. if (nounlimited) then time_iorange = '' else time_iorange = trim(time_name) // GT_EQUAL // GT_CIRCUMFLEX // adjustl(toChar(timecount)) end if ! iorange を指定する. ! 時刻に関しては, range が存在しない場合には ! 自動取得した最後の時刻を付加する. ! range が存在する場合, "=" が含まれなければ単に時刻の ! 値として取得. ! "=" が含まれる場合, iorange としてそのまま iorange になる. ! ただし, その iorange に時刻次元が含まれない場合, ! やはり先ほど自動取得した値が付加される. ! 当然, 時刻次元が存在しない場合には付加しない. if (.not. present_and_not_empty(range)) then iorange = time_iorange else ! range がコンマ記法になっているか, "=" があるかどうかで調べる call match(GT_EQUAL, range, regex_len, regex_stat) ! コンマ記法になってない場合は無制限次元の値と判定 if (regex_stat < 0) then iorange = trim(time_name) // GT_EQUAL // adjustl(range) else ! コンマ記法になっている場合, まずその中に無制限次元が ! 存在しているか調べ, 存在してない場合のみ time_iorange を ! 付加する. if (trim(UrlSearchIORange(range, time_name)) /= "") then iorange = range else if (trim(time_iorange) /= "") then iorange = range // GT_COMMA // time_iorange else iorange = range end if end if end if endif call DbgMessage('@ iorange=%c', c1=trim(iorange)) ! file, varname, iorange を gtool変数化 ! (「file@varname,time=10.5」のように) url = UrlMerge(file, varname, '', iorange) 999 continue call StoreError(stat, subname, err, cause_c) call EndSub(subname, '<url=%c>', c1=trim(url)) end subroutine lookup_growable_url
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
url : | character(*), intent(out)
| ||
range : | character(*), intent(in), optional
| ||
err : | logical, intent(out), optional
|
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE. のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool変数化 ("file@varname,time=10.5" みたいな) して返す.
Original external subprogram is historyget.f90#lookup_growable_url
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
url : | character(*), intent(out)
| ||
range : | character(*), intent(in), optional
| ||
err : | logical, intent(out), optional
|
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE. のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool変数化 ("file@varname,time=10.5" みたいな) して返す.
Original external subprogram is historyget.f90#lookup_growable_url
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
url : | character(*), intent(out)
| ||
range : | character(*), intent(in), optional
| ||
err : | logical, intent(out), optional
|
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE. のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool変数化 ("file@varname,time=10.5" みたいな) して返す.
Original external subprogram is historyget.f90#lookup_growable_url
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
url : | character(*), intent(out)
| ||
range : | character(*), intent(in), optional
| ||
err : | logical, intent(out), optional
|
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE. のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool変数化 ("file@varname,time=10.5" みたいな) して返す.
Original external subprogram is historyget.f90#lookup_growable_url
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
url : | character(*), intent(out)
| ||
range : | character(*), intent(in), optional
| ||
err : | logical, intent(out), optional
|
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE. のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool変数化 ("file@varname,time=10.5" みたいな) して返す.
Original external subprogram is historyget.f90#lookup_growable_url
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
url : | character(*), intent(out)
| ||
range : | character(*), intent(in), optional
| ||
err : | logical, intent(out), optional
|
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE. のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool変数化 ("file@varname,time=10.5" みたいな) して返す.
Original external subprogram is historyget.f90#lookup_growable_url
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
url : | character(*), intent(out)
| ||
range : | character(*), intent(in), optional
| ||
err : | logical, intent(out), optional
|
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE. のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool変数化 ("file@varname,time=10.5" みたいな) して返す.
Original external subprogram is historyget.f90#lookup_growable_url
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
url : | character(*), intent(out)
| ||
range : | character(*), intent(in), optional
| ||
err : | logical, intent(out), optional
|
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE. のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool変数化 ("file@varname,time=10.5" みたいな) して返す.
Original external subprogram is historyget.f90#lookup_growable_url
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
url : | character(*), intent(out)
| ||
range : | character(*), intent(in), optional
| ||
err : | logical, intent(out), optional
|
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE. のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool変数化 ("file@varname,time=10.5" みたいな) して返す.
Original external subprogram is historyget.f90#lookup_growable_url
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
url : | character(*), intent(out)
| ||
range : | character(*), intent(in), optional
| ||
err : | logical, intent(out), optional
|
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE. のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool変数化 ("file@varname,time=10.5" みたいな) して返す.
Original external subprogram is historyget.f90#lookup_growable_url
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
url : | character(*), intent(out)
| ||
range : | character(*), intent(in), optional
| ||
err : | logical, intent(out), optional
|
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE. のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool変数化 ("file@varname,time=10.5" みたいな) して返す.
Original external subprogram is historyget.f90#lookup_growable_url
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
url : | character(*), intent(out)
| ||
range : | character(*), intent(in), optional
| ||
err : | logical, intent(out), optional
|
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE. のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool変数化 ("file@varname,time=10.5" みたいな) して返す.
Original external subprogram is historyget.f90#lookup_growable_url
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
url : | character(*), intent(out)
| ||
range : | character(*), intent(in), optional
| ||
err : | logical, intent(out), optional
|
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE. のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool変数化 ("file@varname,time=10.5" みたいな) して返す.
Original external subprogram is historyget.f90#lookup_growable_url
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
url : | character(*), intent(out)
| ||
range : | character(*), intent(in), optional
| ||
err : | logical, intent(out), optional
|
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE. のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool変数化 ("file@varname,time=10.5" みたいな) して返す.
Original external subprogram is historyget.f90#lookup_growable_url
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
url : | character(*), intent(out)
| ||
range : | character(*), intent(in), optional
| ||
err : | logical, intent(out), optional
|
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE. のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool変数化 ("file@varname,time=10.5" みたいな) して返す.
Original external subprogram is historyget.f90#lookup_growable_url
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
url : | character(*), intent(out)
| ||
range : | character(*), intent(in), optional
| ||
err : | logical, intent(out), optional
|
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE. のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool変数化 ("file@varname,time=10.5" みたいな) して返す.
Original external subprogram is historyget.f90#lookup_growable_url
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
url : | character(*), intent(out)
| ||
range : | character(*), intent(in), optional
| ||
err : | logical, intent(out), optional
|
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE. のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool変数化 ("file@varname,time=10.5" みたいな) して返す.
Original external subprogram is historyget.f90#lookup_growable_url
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
url : | character(*), intent(out)
| ||
range : | character(*), intent(in), optional
| ||
err : | logical, intent(out), optional
|
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE. のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool変数化 ("file@varname,time=10.5" みたいな) して返す.
Original external subprogram is historyget.f90#lookup_growable_url
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
url : | character(*), intent(out)
| ||
range : | character(*), intent(in), optional
| ||
err : | logical, intent(out), optional
|
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE. のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool変数化 ("file@varname,time=10.5" みたいな) して返す.
Original external subprogram is historyget.f90#lookup_growable_url
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
url : | character(*), intent(out)
| ||
range : | character(*), intent(in), optional
| ||
err : | logical, intent(out), optional
|
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE. のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool変数化 ("file@varname,time=10.5" みたいな) して返す.
Original external subprogram is historyget.f90#lookup_growable_url
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
url : | character(*), intent(out)
| ||
range : | character(*), intent(in), optional
| ||
err : | logical, intent(out), optional
|
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE. のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool変数化 ("file@varname,time=10.5" みたいな) して返す.
Original external subprogram is historyget.f90#lookup_growable_url
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
url : | character(*), intent(out)
| ||
range : | character(*), intent(in), optional
| ||
err : | logical, intent(out), optional
|
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE. のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool変数化 ("file@varname,time=10.5" みたいな) して返す.
Original external subprogram is historyget.f90#lookup_growable_url
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
url : | character(*), intent(out)
| ||
range : | character(*), intent(in), optional
| ||
err : | logical, intent(out), optional
|
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE. のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool変数化 ("file@varname,time=10.5" みたいな) して返す.
Original external subprogram is historyget.f90#lookup_growable_url
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
url : | character(*), intent(out)
| ||
range : | character(*), intent(in), optional
| ||
err : | logical, intent(out), optional
|
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE. のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool変数化 ("file@varname,time=10.5" みたいな) して返す.
Original external subprogram is historyget.f90#lookup_growable_url
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
url : | character(*), intent(out)
| ||
range : | character(*), intent(in), optional
| ||
err : | logical, intent(out), optional
|
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE. のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool変数化 ("file@varname,time=10.5" みたいな) して返す.
Original external subprogram is historyget.f90#lookup_growable_url
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
url : | character(*), intent(out)
| ||
range : | character(*), intent(in), optional
| ||
err : | logical, intent(out), optional
|
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE. のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool変数化 ("file@varname,time=10.5" みたいな) して返す.
Original external subprogram is historyget.f90#lookup_growable_url
Subroutine : | |||
file : | character(*), intent(in)
| ||
varname : | character(*), intent(in)
| ||
url : | character(*), intent(out)
| ||
range : | character(*), intent(in), optional
| ||
err : | logical, intent(out), optional
|
file の変数 varname が依存する次元の内, 時間の次元 (growable == .TRUE. のもの, つまり無制限次元) の変数名, およびその最後の値を取得し, gtool変数化 ("file@varname,time=10.5" みたいな) して返す.
Original external subprogram is historyget.f90#lookup_growable_url