historyget.f90

Path: historyget.f90
Last Update: Thu Jun 05 14:13:01 +0900 2008

gtool4 netCDF データの入力

Input gtool4 netCDF data

Authors:Yasuhiro MORIKAWA
Version:$Id: historyget.f90,v 1.13 2008-06-05 05:13:01 morikawa Exp $
Tag Name:$Name: gt4f90io-20080727 $
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.

Methods

HistoryGetDouble0   HistoryGetDouble0   HistoryGetDouble0   HistoryGetDouble0   HistoryGetDouble0Pointer   HistoryGetDouble0Pointer   HistoryGetDouble0Pointer   HistoryGetDouble0Pointer   HistoryGetDouble0PointerTimeD   HistoryGetDouble0PointerTimeI   HistoryGetDouble0PointerTimeR   HistoryGetDouble0TimeD   HistoryGetDouble0TimeI   HistoryGetDouble0TimeR   HistoryGetDouble1   HistoryGetDouble1   HistoryGetDouble1   HistoryGetDouble1   HistoryGetDouble1Pointer   HistoryGetDouble1Pointer   HistoryGetDouble1Pointer   HistoryGetDouble1Pointer   HistoryGetDouble1PointerTimeD   HistoryGetDouble1PointerTimeI   HistoryGetDouble1PointerTimeR   HistoryGetDouble1TimeD   HistoryGetDouble1TimeI   HistoryGetDouble1TimeR   HistoryGetDouble2   HistoryGetDouble2   HistoryGetDouble2   HistoryGetDouble2   HistoryGetDouble2Pointer   HistoryGetDouble2Pointer   HistoryGetDouble2Pointer   HistoryGetDouble2Pointer   HistoryGetDouble2PointerTimeD   HistoryGetDouble2PointerTimeI   HistoryGetDouble2PointerTimeR   HistoryGetDouble2TimeD   HistoryGetDouble2TimeI   HistoryGetDouble2TimeR   HistoryGetDouble3   HistoryGetDouble3   HistoryGetDouble3   HistoryGetDouble3   HistoryGetDouble3Pointer   HistoryGetDouble3Pointer   HistoryGetDouble3Pointer   HistoryGetDouble3Pointer   HistoryGetDouble3PointerTimeD   HistoryGetDouble3PointerTimeI   HistoryGetDouble3PointerTimeR   HistoryGetDouble3TimeD   HistoryGetDouble3TimeI   HistoryGetDouble3TimeR   HistoryGetDouble4   HistoryGetDouble4   HistoryGetDouble4   HistoryGetDouble4   HistoryGetDouble4Pointer   HistoryGetDouble4Pointer   HistoryGetDouble4Pointer   HistoryGetDouble4Pointer   HistoryGetDouble4PointerTimeD   HistoryGetDouble4PointerTimeI   HistoryGetDouble4PointerTimeR   HistoryGetDouble4TimeD   HistoryGetDouble4TimeI   HistoryGetDouble4TimeR   HistoryGetDouble5   HistoryGetDouble5   HistoryGetDouble5   HistoryGetDouble5   HistoryGetDouble5Pointer   HistoryGetDouble5Pointer   HistoryGetDouble5Pointer   HistoryGetDouble5Pointer   HistoryGetDouble5PointerTimeD   HistoryGetDouble5PointerTimeI   HistoryGetDouble5PointerTimeR   HistoryGetDouble5TimeD   HistoryGetDouble5TimeI   HistoryGetDouble5TimeR   HistoryGetDouble6   HistoryGetDouble6   HistoryGetDouble6   HistoryGetDouble6   HistoryGetDouble6Pointer   HistoryGetDouble6Pointer   HistoryGetDouble6Pointer   HistoryGetDouble6Pointer   HistoryGetDouble6PointerTimeD   HistoryGetDouble6PointerTimeI   HistoryGetDouble6PointerTimeR   HistoryGetDouble6TimeD   HistoryGetDouble6TimeI   HistoryGetDouble6TimeR   HistoryGetDouble7   HistoryGetDouble7   HistoryGetDouble7   HistoryGetDouble7   HistoryGetDouble7Pointer   HistoryGetDouble7Pointer   HistoryGetDouble7Pointer   HistoryGetDouble7Pointer   HistoryGetDouble7PointerTimeD   HistoryGetDouble7PointerTimeI   HistoryGetDouble7PointerTimeR   HistoryGetDouble7TimeD   HistoryGetDouble7TimeI   HistoryGetDouble7TimeR   HistoryGetInt0   HistoryGetInt0   HistoryGetInt0   HistoryGetInt0   HistoryGetInt0Pointer   HistoryGetInt0Pointer   HistoryGetInt0Pointer   HistoryGetInt0Pointer   HistoryGetInt0PointerTimeD   HistoryGetInt0PointerTimeI   HistoryGetInt0PointerTimeR   HistoryGetInt0TimeD   HistoryGetInt0TimeI   HistoryGetInt0TimeR   HistoryGetInt1   HistoryGetInt1   HistoryGetInt1   HistoryGetInt1   HistoryGetInt1Pointer   HistoryGetInt1Pointer   HistoryGetInt1Pointer   HistoryGetInt1Pointer   HistoryGetInt1PointerTimeD   HistoryGetInt1PointerTimeI   HistoryGetInt1PointerTimeR   HistoryGetInt1TimeD   HistoryGetInt1TimeI   HistoryGetInt1TimeR   HistoryGetInt2   HistoryGetInt2   HistoryGetInt2   HistoryGetInt2   HistoryGetInt2Pointer   HistoryGetInt2Pointer   HistoryGetInt2Pointer   HistoryGetInt2Pointer   HistoryGetInt2PointerTimeD   HistoryGetInt2PointerTimeI   HistoryGetInt2PointerTimeR   HistoryGetInt2TimeD   HistoryGetInt2TimeI   HistoryGetInt2TimeR   HistoryGetInt3   HistoryGetInt3   HistoryGetInt3   HistoryGetInt3   HistoryGetInt3Pointer   HistoryGetInt3Pointer   HistoryGetInt3Pointer   HistoryGetInt3Pointer   HistoryGetInt3PointerTimeD   HistoryGetInt3PointerTimeI   HistoryGetInt3PointerTimeR   HistoryGetInt3TimeD   HistoryGetInt3TimeI   HistoryGetInt3TimeR   HistoryGetInt4   HistoryGetInt4   HistoryGetInt4   HistoryGetInt4   HistoryGetInt4Pointer   HistoryGetInt4Pointer   HistoryGetInt4Pointer   HistoryGetInt4Pointer   HistoryGetInt4PointerTimeD   HistoryGetInt4PointerTimeI   HistoryGetInt4PointerTimeR   HistoryGetInt4TimeD   HistoryGetInt4TimeI   HistoryGetInt4TimeR   HistoryGetInt5   HistoryGetInt5   HistoryGetInt5   HistoryGetInt5   HistoryGetInt5Pointer   HistoryGetInt5Pointer   HistoryGetInt5Pointer   HistoryGetInt5Pointer   HistoryGetInt5PointerTimeD   HistoryGetInt5PointerTimeI   HistoryGetInt5PointerTimeR   HistoryGetInt5TimeD   HistoryGetInt5TimeI   HistoryGetInt5TimeR   HistoryGetInt6   HistoryGetInt6   HistoryGetInt6   HistoryGetInt6   HistoryGetInt6Pointer   HistoryGetInt6Pointer   HistoryGetInt6Pointer   HistoryGetInt6Pointer   HistoryGetInt6PointerTimeD   HistoryGetInt6PointerTimeI   HistoryGetInt6PointerTimeR   HistoryGetInt6TimeD   HistoryGetInt6TimeI   HistoryGetInt6TimeR   HistoryGetInt7   HistoryGetInt7   HistoryGetInt7   HistoryGetInt7   HistoryGetInt7Pointer   HistoryGetInt7Pointer   HistoryGetInt7Pointer   HistoryGetInt7Pointer   HistoryGetInt7PointerTimeD   HistoryGetInt7PointerTimeI   HistoryGetInt7PointerTimeR   HistoryGetInt7TimeD   HistoryGetInt7TimeI   HistoryGetInt7TimeR   HistoryGetReal0   HistoryGetReal0   HistoryGetReal0   HistoryGetReal0   HistoryGetReal0Pointer   HistoryGetReal0Pointer   HistoryGetReal0Pointer   HistoryGetReal0Pointer   HistoryGetReal0PointerTimeD   HistoryGetReal0PointerTimeI   HistoryGetReal0PointerTimeR   HistoryGetReal0TimeD   HistoryGetReal0TimeI   HistoryGetReal0TimeR   HistoryGetReal1   HistoryGetReal1   HistoryGetReal1   HistoryGetReal1   HistoryGetReal1Pointer   HistoryGetReal1Pointer   HistoryGetReal1Pointer   HistoryGetReal1Pointer   HistoryGetReal1PointerTimeD   HistoryGetReal1PointerTimeI   HistoryGetReal1PointerTimeR   HistoryGetReal1TimeD   HistoryGetReal1TimeI   HistoryGetReal1TimeR   HistoryGetReal2   HistoryGetReal2   HistoryGetReal2   HistoryGetReal2   HistoryGetReal2Pointer   HistoryGetReal2Pointer   HistoryGetReal2Pointer   HistoryGetReal2Pointer   HistoryGetReal2PointerTimeD   HistoryGetReal2PointerTimeI   HistoryGetReal2PointerTimeR   HistoryGetReal2TimeD   HistoryGetReal2TimeI   HistoryGetReal2TimeR   HistoryGetReal3   HistoryGetReal3   HistoryGetReal3   HistoryGetReal3   HistoryGetReal3Pointer   HistoryGetReal3Pointer   HistoryGetReal3Pointer   HistoryGetReal3Pointer   HistoryGetReal3PointerTimeD   HistoryGetReal3PointerTimeI   HistoryGetReal3PointerTimeR   HistoryGetReal3TimeD   HistoryGetReal3TimeI   HistoryGetReal3TimeR   HistoryGetReal4   HistoryGetReal4   HistoryGetReal4   HistoryGetReal4   HistoryGetReal4Pointer   HistoryGetReal4Pointer   HistoryGetReal4Pointer   HistoryGetReal4Pointer   HistoryGetReal4PointerTimeD   HistoryGetReal4PointerTimeI   HistoryGetReal4PointerTimeR   HistoryGetReal4TimeD   HistoryGetReal4TimeI   HistoryGetReal4TimeR   HistoryGetReal5   HistoryGetReal5   HistoryGetReal5   HistoryGetReal5   HistoryGetReal5Pointer   HistoryGetReal5Pointer   HistoryGetReal5Pointer   HistoryGetReal5Pointer   HistoryGetReal5PointerTimeD   HistoryGetReal5PointerTimeI   HistoryGetReal5PointerTimeR   HistoryGetReal5TimeD   HistoryGetReal5TimeI   HistoryGetReal5TimeR   HistoryGetReal6   HistoryGetReal6   HistoryGetReal6   HistoryGetReal6   HistoryGetReal6Pointer   HistoryGetReal6Pointer   HistoryGetReal6Pointer   HistoryGetReal6Pointer   HistoryGetReal6PointerTimeD   HistoryGetReal6PointerTimeI   HistoryGetReal6PointerTimeR   HistoryGetReal6TimeD   HistoryGetReal6TimeI   HistoryGetReal6TimeR   HistoryGetReal7   HistoryGetReal7   HistoryGetReal7   HistoryGetReal7   HistoryGetReal7Pointer   HistoryGetReal7Pointer   HistoryGetReal7Pointer   HistoryGetReal7Pointer   HistoryGetReal7PointerTimeD   HistoryGetReal7PointerTimeI   HistoryGetReal7PointerTimeR   HistoryGetReal7TimeD   HistoryGetReal7TimeI   HistoryGetReal7TimeR   actual_iorange_dump   actual_iorange_dump   actual_iorange_dump   actual_iorange_dump   actual_iorange_dump   actual_iorange_dump   actual_iorange_dump   actual_iorange_dump   actual_iorange_dump   actual_iorange_dump   actual_iorange_dump   actual_iorange_dump   actual_iorange_dump   actual_iorange_dump   actual_iorange_dump   actual_iorange_dump   actual_iorange_dump   actual_iorange_dump   actual_iorange_dump   actual_iorange_dump   actual_iorange_dump   actual_iorange_dump   actual_iorange_dump   actual_iorange_dump   actual_iorange_dump   actual_iorange_dump   actual_iorange_dump   actual_iorange_dump   actual_iorange_dump   actual_iorange_dump   actual_iorange_dump   actual_iorange_dump   actual_iorange_dump   actual_iorange_dump   actual_iorange_dump   actual_iorange_dump   actual_iorange_dump   actual_iorange_dump   actual_iorange_dump   actual_iorange_dump   actual_iorange_dump   actual_iorange_dump   actual_iorange_dump   actual_iorange_dump   actual_iorange_dump   actual_iorange_dump   actual_iorange_dump   actual_iorange_dump   actual_iorange_dump   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url   lookup_growable_url  

Included Modules

gtdata_types gtdata_generic dc_string dc_url dc_present regex dc_types dc_message dc_trace dc_error

Public Instance methods

Subroutine :
file :character(*), intent(in)
: netCDF ファイル名. NetCDF filename.
varname :character(*), intent(in)
: 変数名. Variable name
array :real(DP), intent(out)
: 取得するデータを格納する配列

型は整数型, 単精度実数型, 倍精度実数型 かのいづれかです. 取得するデータの空 間次元のサイズと配列のサイズとが一致し ている必要があります. 入力するデータ の型と array の型が異なる場合は, 自 動的に array の型に変換されます.

Array in which input data is store

Type is integer or single precision real or double precision. Size of array must be identical to input data size. When type of input data is different from type of array, data is converted to type of array automatically.

range :character(*), intent(in), optional
: 切り出し用オプション. gtool4 変数のコンマ記法で記述 {(例: time=100.0,x=10:20,y=^1:^5)}

詳しくは gtool4 netCDF 規約 の「5.4 コンマ記法」を参照して ください.

Option for clipping. Give gtool4 comma-graphy {(ex. time=100.0,x=10:20,y=^1:^5)}

For details, see "5.4 gtool4 comma-graphy" in gtool4 netCDF Convention

quiet :logical, intent(in), optional
err :logical, intent(out), optional
: 例外処理用フラグ. デフォルトでは, この手続き内でエラーが 生じた場合, プログラムは強制終了します. 引数 err が与えられる場合, プログラムは強制終了せず, 代わりに err に .true. が代入されます.

Exception handling flag. By default, when error occur in this procedure, the program aborts. If this err argument is given, .true. is substituted to err and the program does not abort.

Note that Japanese and English are described in parallel.

netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定 していますが, 大抵の netCDF データの入力は可能であると期待されます.

デフォルトでは, ファイル内の最新データ, すなわちデータを 時刻最大で切り出したものを入力します. 別の時刻または 別の次元で切り出したデータを 入力したい場合には, 下記の time オプションもしくは range オプションを利用してください.

file にファイル名を, varname に変数名を与えます. array にはファイルから入力されたデータが返ります. ポインタの配列へデータを入力を行う場合は, HistoryGetPointer を利用してください.

ある時刻のデータを明示したい場合には, その時刻を time に与えます. 整数型, 単精度実数型, 倍精度実数型の数値を与えることが可能です.

range には gtool4 のコンマ記法 (gtool4 netCDF 規約 の「5.4 コンマ記法」参照) を与えることで, 任意の次元で入力データを切り出すことが可能です. range に空文字を与えた場合は切り出しを行いません.

HistoryGet は複数のサブルーチンの総称名です. array には 0 〜 7 次元の整数型, 単精度実数型, 倍精度実数型の配列を与えることが可能です.

デフォルトでは, データの入力時にどのファイルのどの変数が どの次元で切り出されて入力されたのかを表示します. メッセージ出力が不要な場合は quiet に .true. を与えてください.

Input netCDF data. NetCDF data with gtool4 conventions is assumed, but most netCDF data is expected to be input.

Give filename to file, variable name to varname. Input data is returned to array. If you want to use pointer array, use "HistoryGetPointer".

By default, recent data, that is to say, data clipped with maximum time is input. In order to input data clipped with other time or other dimension, use time option or range option as follows.

In order to get data at certain time, specify the time to time. Type is integer or single precision real or double precision.

Give gtool4 comma-graphy (See "5.4 gtool4 comma-graphy" in gtool4 netCDF Convention) to range, then input data can be clipped by an arbitrary dimension. If null character is given to range, data is not clipped.

HistoryGet is generic name of multiple subroutines. Integer, single precision real, and double precision real 0 — 7 rank array can be given to array.

By default, when data is input, filename and variable name and clipping information is printed. The message is suppressed when .true. is given to quiet

[Source]

subroutine HistoryGetDouble0(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                                            !
  ! netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定
  ! していますが, 大抵の netCDF データの入力は可能であると期待されます.
  !
  ! デフォルトでは, ファイル内の最新データ, すなわちデータを
  ! 時刻最大で切り出したものを入力します. 別の時刻または
  ! 別の次元で切り出したデータを
  ! 入力したい場合には, 下記の *time* オプションもしくは 
  ! *range* オプションを利用してください. 
  !
  ! *file* にファイル名を, *varname* に変数名を与えます. 
  ! *array* にはファイルから入力されたデータが返ります. 
  ! ポインタの配列へデータを入力を行う場合は, 
  ! HistoryGetPointer を利用してください. 
  !
  ! ある時刻のデータを明示したい場合には, その時刻を 
  ! *time* に与えます. 
  ! 整数型, 単精度実数型, 倍精度実数型の数値を与えることが可能です. 
  !
  ! *range* には gtool4 のコンマ記法
  ! ({gtool4 netCDF 規約}[link:../xref.htm#label-6] の「5.4 コンマ記法」参照) 
  ! を与えることで, 任意の次元で入力データを切り出すことが可能です. 
  ! *range* に空文字を与えた場合は切り出しを行いません. 
  !
  ! *HistoryGet* は複数のサブルーチンの総称名です. *array* には
  ! 0 〜 7 次元の整数型, 単精度実数型, 
  ! 倍精度実数型の配列を与えることが可能です.
  !
  ! デフォルトでは, データの入力時にどのファイルのどの変数が
  ! どの次元で切り出されて入力されたのかを表示します. 
  ! メッセージ出力が不要な場合は *quiet* に .true. を与えてください.
  !
  ! Input netCDF data. NetCDF data with gtool4 conventions is assumed,
  ! but most netCDF data is expected to be input.
  !
  ! Give filename to *file*, variable name to *varname*.
  ! Input data is returned to *array*.
  ! If you want to use pointer array, use "HistoryGetPointer".
  !
  ! By default, recent data, that is to say, data clipped with 
  ! maximum time is input. In order to input data clipped with
  ! other time or other dimension, 
  ! use *time* option or *range* option as follows.
  !
  ! In order to get data at certain time, specify the time to *time*. 
  ! Type is integer or single precision real or double precision.
  !
  ! Give gtool4 comma-graphy
  ! (See "5.4 gtool4 comma-graphy" in {gtool4 netCDF Convention}[link:../xref.htm#label-6]) 
  ! to *range*, then input data can be clipped by an arbitrary dimension.
  ! If null character is given to *range*, data is not clipped.
  !
  ! *HistoryGet* is generic name of multiple subroutines.
  ! Integer, single precision real, and double precision real
  ! 0 -- 7 rank array can be given to *array*.
  !
  ! By default, when data is input, filename and variable name and
  ! clipping information is printed. 
  ! The message is suppressed when .true. is given to *quiet*
  !
                      
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar, Split, JoinChar, StoA
  use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
  use dc_present, only: present_select, present_and_not_empty, present_and_true
  use regex,      only: match
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
  character(*), intent(in):: file
                                                                        ! netCDF ファイル名. 
                              ! NetCDF filename.
                      
                    
  character(*), intent(in):: varname
                                                                        ! 変数名. 
                              ! Variable name
                      
                    
  character(*), intent(in), optional:: range
                                                                        ! 切り出し用オプション.
                              ! gtool4 変数のコンマ記法で記述
                              ! {(例: time=100.0,x=10:20,y=^1:^5)}
                              !
                              ! 詳しくは
                              ! {gtool4 netCDF 規約}[link:../xref.htm#label-6]
                              ! の「5.4 コンマ記法」を参照して
                              ! ください.
                              ! 
                              ! Option for clipping.
                              ! Give gtool4 comma-graphy 
                              ! {(ex. time=100.0,x=10:20,y=^1:^5)}
                              ! 
                              ! For details, see "5.4 gtool4
                              ! comma-graphy" in 
                              ! {gtool4 netCDF Convention}[link:../xref.htm#label-6]
                      
                    
  logical, intent(in), optional:: quiet
  real(DP), intent(out) :: array
                                                                        ! 取得するデータを格納する配列
                              !
                              ! 型は整数型, 単精度実数型, 倍精度実数型
                              ! かのいづれかです.  取得するデータの空
                              ! 間次元のサイズと配列のサイズとが一致し
                              ! ている必要があります.  入力するデータ
                              ! の型と *array* の型が異なる場合は, 自
                              ! 動的に *array* の型に変換されます.
                              ! 
                              ! Array in which input data is store
                              !
                              ! Type is integer or single precision
                              ! real or double precision.  Size of
                              ! array must be identical to input data
                              ! size.  When type of input data is
                              ! different from type of *array*, data
                              ! is converted to type of *array*
                              ! automatically.
                              ! 
                      
                    
  logical, intent(out), optional:: err
                                                                        ! 例外処理用フラグ.
                              ! デフォルトでは, この手続き内でエラーが
                              ! 生じた場合, プログラムは強制終了します.
                              ! 引数 *err* が与えられる場合,
                              ! プログラムは強制終了せず, 代わりに
                              ! *err* に .true. が代入されます.
                              !
                              ! Exception handling flag. 
                              ! By default, when error occur in 
                              ! this procedure, the program aborts. 
                              ! If this *err* argument is given, 
                              ! .true. is substituted to *err* and 
                              ! the program does not abort. 
                      
                    

                      real(DP):: array_tmp(1)
                    
  type(GT_VARIABLE)             :: var
  character(STRING)             :: url, actual_url
  integer:: rank
  integer:: domain   ! 変数の入出力領域の大きさ
                     ! (= 変数が依存する各次元サイズの積)
  integer:: stat
  character(STRING):: cause_c
  character(*), parameter :: subname = "HistoryGetDouble0"

continue
  call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range)))
  cause_c = ''
  stat = DC_NOERR

                                        


  !-------------------------------------
  !  最新時刻の URL 取得
  !  Get URL of latest time
  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

  !-------------------------------------
  !  ファイルオープン
  !  File open
  call Open( var, url, err = err )

  if ( present_and_true(err) ) then
    stat = GT_ENOTURL
    cause_c = url
    goto 999
  end if

  !-------------------------------------
  !  配列形状のチェック
  !  Check array shape
  call Inquire( var = var, rank = rank )          ! (out)

  if ( .not. 0 == rank ) then
    if ( .not. present_and_true(quiet) ) then
      call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 0/), c1 = trim(url) )
    end if
    stat = GT_ERANKMISMATCH
    cause_c = 'array'
    goto 999
  end if
                                        

  !-------------------------------------
  !  データ取得
  !  Get data
  call Inquire( var = var, size = domain )        ! (out)

                    
  call Get( var = var, nvalue = domain, value = array_tmp) ! (out)
  array = array_tmp(1)

                    

  call Close( var )

  !-------------------------------------
  !  データファイル名と切り出し範囲の印字
  !  Print data filename and clipping range
  call actual_iorange_dump(url, actual_url, 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 HistoryGetDouble0
HistoryGetDouble0( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
: netCDF ファイル名. NetCDF filename.
varname :character(*), intent(in)
: 変数名. Variable name
array :real(DP), intent(out)
: 取得するデータを格納する配列

型は整数型, 単精度実数型, 倍精度実数型 かのいづれかです. 取得するデータの空 間次元のサイズと配列のサイズとが一致し ている必要があります. 入力するデータ の型と array の型が異なる場合は, 自 動的に array の型に変換されます.

Array in which input data is store

Type is integer or single precision real or double precision. Size of array must be identical to input data size. When type of input data is different from type of array, data is converted to type of array automatically.

range :character(*), intent(in), optional
: 切り出し用オプション. gtool4 変数のコンマ記法で記述 {(例: time=100.0,x=10:20,y=^1:^5)}

詳しくは gtool4 netCDF 規約 の「5.4 コンマ記法」を参照して ください.

Option for clipping. Give gtool4 comma-graphy {(ex. time=100.0,x=10:20,y=^1:^5)}

For details, see "5.4 gtool4 comma-graphy" in gtool4 netCDF Convention

quiet :logical, intent(in), optional
err :logical, intent(out), optional
: 例外処理用フラグ. デフォルトでは, この手続き内でエラーが 生じた場合, プログラムは強制終了します. 引数 err が与えられる場合, プログラムは強制終了せず, 代わりに err に .true. が代入されます.

Exception handling flag. By default, when error occur in this procedure, the program aborts. If this err argument is given, .true. is substituted to err and the program does not abort.

Note that Japanese and English are described in parallel.

netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定 していますが, 大抵の netCDF データの入力は可能であると期待されます.

デフォルトでは, ファイル内の最新データ, すなわちデータを 時刻最大で切り出したものを入力します. 別の時刻または 別の次元で切り出したデータを 入力したい場合には, 下記の time オプションもしくは range オプションを利用してください.

file にファイル名を, varname に変数名を与えます. array にはファイルから入力されたデータが返ります. ポインタの配列へデータを入力を行う場合は, HistoryGetPointer を利用してください.

ある時刻のデータを明示したい場合には, その時刻を time に与えます. 整数型, 単精度実数型, 倍精度実数型の数値を与えることが可能です.

range には gtool4 のコンマ記法 (gtool4 netCDF 規約 の「5.4 コンマ記法」参照) を与えることで, 任意の次元で入力データを切り出すことが可能です. range に空文字を与えた場合は切り出しを行いません.

HistoryGet は複数のサブルーチンの総称名です. array には 0 〜 7 次元の整数型, 単精度実数型, 倍精度実数型の配列を与えることが可能です.

デフォルトでは, データの入力時にどのファイルのどの変数が どの次元で切り出されて入力されたのかを表示します. メッセージ出力が不要な場合は quiet に .true. を与えてください.

Input netCDF data. NetCDF data with gtool4 conventions is assumed, but most netCDF data is expected to be input.

Give filename to file, variable name to varname. Input data is returned to array. If you want to use pointer array, use "HistoryGetPointer".

By default, recent data, that is to say, data clipped with maximum time is input. In order to input data clipped with other time or other dimension, use time option or range option as follows.

In order to get data at certain time, specify the time to time. Type is integer or single precision real or double precision.

Give gtool4 comma-graphy (See "5.4 gtool4 comma-graphy" in gtool4 netCDF Convention) to range, then input data can be clipped by an arbitrary dimension. If null character is given to range, data is not clipped.

HistoryGet is generic name of multiple subroutines. Integer, single precision real, and double precision real 0 — 7 rank array can be given to array.

By default, when data is input, filename and variable name and clipping information is printed. The message is suppressed when .true. is given to quiet

Original external subprogram is historyget.f90#HistoryGetDouble0

HistoryGetDouble0( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
: netCDF ファイル名. NetCDF filename.
varname :character(*), intent(in)
: 変数名. Variable name
array :real(DP), intent(out)
: 取得するデータを格納する配列

型は整数型, 単精度実数型, 倍精度実数型 かのいづれかです. 取得するデータの空 間次元のサイズと配列のサイズとが一致し ている必要があります. 入力するデータ の型と array の型が異なる場合は, 自 動的に array の型に変換されます.

Array in which input data is store

Type is integer or single precision real or double precision. Size of array must be identical to input data size. When type of input data is different from type of array, data is converted to type of array automatically.

range :character(*), intent(in), optional
: 切り出し用オプション. gtool4 変数のコンマ記法で記述 {(例: time=100.0,x=10:20,y=^1:^5)}

詳しくは gtool4 netCDF 規約 の「5.4 コンマ記法」を参照して ください.

Option for clipping. Give gtool4 comma-graphy {(ex. time=100.0,x=10:20,y=^1:^5)}

For details, see "5.4 gtool4 comma-graphy" in gtool4 netCDF Convention

quiet :logical, intent(in), optional
err :logical, intent(out), optional
: 例外処理用フラグ. デフォルトでは, この手続き内でエラーが 生じた場合, プログラムは強制終了します. 引数 err が与えられる場合, プログラムは強制終了せず, 代わりに err に .true. が代入されます.

Exception handling flag. By default, when error occur in this procedure, the program aborts. If this err argument is given, .true. is substituted to err and the program does not abort.

Note that Japanese and English are described in parallel.

netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定 していますが, 大抵の netCDF データの入力は可能であると期待されます.

デフォルトでは, ファイル内の最新データ, すなわちデータを 時刻最大で切り出したものを入力します. 別の時刻または 別の次元で切り出したデータを 入力したい場合には, 下記の time オプションもしくは range オプションを利用してください.

file にファイル名を, varname に変数名を与えます. array にはファイルから入力されたデータが返ります. ポインタの配列へデータを入力を行う場合は, HistoryGetPointer を利用してください.

ある時刻のデータを明示したい場合には, その時刻を time に与えます. 整数型, 単精度実数型, 倍精度実数型の数値を与えることが可能です.

range には gtool4 のコンマ記法 (gtool4 netCDF 規約 の「5.4 コンマ記法」参照) を与えることで, 任意の次元で入力データを切り出すことが可能です. range に空文字を与えた場合は切り出しを行いません.

HistoryGet は複数のサブルーチンの総称名です. array には 0 〜 7 次元の整数型, 単精度実数型, 倍精度実数型の配列を与えることが可能です.

デフォルトでは, データの入力時にどのファイルのどの変数が どの次元で切り出されて入力されたのかを表示します. メッセージ出力が不要な場合は quiet に .true. を与えてください.

Input netCDF data. NetCDF data with gtool4 conventions is assumed, but most netCDF data is expected to be input.

Give filename to file, variable name to varname. Input data is returned to array. If you want to use pointer array, use "HistoryGetPointer".

By default, recent data, that is to say, data clipped with maximum time is input. In order to input data clipped with other time or other dimension, use time option or range option as follows.

In order to get data at certain time, specify the time to time. Type is integer or single precision real or double precision.

Give gtool4 comma-graphy (See "5.4 gtool4 comma-graphy" in gtool4 netCDF Convention) to range, then input data can be clipped by an arbitrary dimension. If null character is given to range, data is not clipped.

HistoryGet is generic name of multiple subroutines. Integer, single precision real, and double precision real 0 — 7 rank array can be given to array.

By default, when data is input, filename and variable name and clipping information is printed. The message is suppressed when .true. is given to quiet

Original external subprogram is historyget.f90#HistoryGetDouble0

HistoryGetDouble0( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
: netCDF ファイル名. NetCDF filename.
varname :character(*), intent(in)
: 変数名. Variable name
array :real(DP), intent(out)
: 取得するデータを格納する配列

型は整数型, 単精度実数型, 倍精度実数型 かのいづれかです. 取得するデータの空 間次元のサイズと配列のサイズとが一致し ている必要があります. 入力するデータ の型と array の型が異なる場合は, 自 動的に array の型に変換されます.

Array in which input data is store

Type is integer or single precision real or double precision. Size of array must be identical to input data size. When type of input data is different from type of array, data is converted to type of array automatically.

range :character(*), intent(in), optional
: 切り出し用オプション. gtool4 変数のコンマ記法で記述 {(例: time=100.0,x=10:20,y=^1:^5)}

詳しくは gtool4 netCDF 規約 の「5.4 コンマ記法」を参照して ください.

Option for clipping. Give gtool4 comma-graphy {(ex. time=100.0,x=10:20,y=^1:^5)}

For details, see "5.4 gtool4 comma-graphy" in gtool4 netCDF Convention

quiet :logical, intent(in), optional
err :logical, intent(out), optional
: 例外処理用フラグ. デフォルトでは, この手続き内でエラーが 生じた場合, プログラムは強制終了します. 引数 err が与えられる場合, プログラムは強制終了せず, 代わりに err に .true. が代入されます.

Exception handling flag. By default, when error occur in this procedure, the program aborts. If this err argument is given, .true. is substituted to err and the program does not abort.

Note that Japanese and English are described in parallel.

netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定 していますが, 大抵の netCDF データの入力は可能であると期待されます.

デフォルトでは, ファイル内の最新データ, すなわちデータを 時刻最大で切り出したものを入力します. 別の時刻または 別の次元で切り出したデータを 入力したい場合には, 下記の time オプションもしくは range オプションを利用してください.

file にファイル名を, varname に変数名を与えます. array にはファイルから入力されたデータが返ります. ポインタの配列へデータを入力を行う場合は, HistoryGetPointer を利用してください.

ある時刻のデータを明示したい場合には, その時刻を time に与えます. 整数型, 単精度実数型, 倍精度実数型の数値を与えることが可能です.

range には gtool4 のコンマ記法 (gtool4 netCDF 規約 の「5.4 コンマ記法」参照) を与えることで, 任意の次元で入力データを切り出すことが可能です. range に空文字を与えた場合は切り出しを行いません.

HistoryGet は複数のサブルーチンの総称名です. array には 0 〜 7 次元の整数型, 単精度実数型, 倍精度実数型の配列を与えることが可能です.

デフォルトでは, データの入力時にどのファイルのどの変数が どの次元で切り出されて入力されたのかを表示します. メッセージ出力が不要な場合は quiet に .true. を与えてください.

Input netCDF data. NetCDF data with gtool4 conventions is assumed, but most netCDF data is expected to be input.

Give filename to file, variable name to varname. Input data is returned to array. If you want to use pointer array, use "HistoryGetPointer".

By default, recent data, that is to say, data clipped with maximum time is input. In order to input data clipped with other time or other dimension, use time option or range option as follows.

In order to get data at certain time, specify the time to time. Type is integer or single precision real or double precision.

Give gtool4 comma-graphy (See "5.4 gtool4 comma-graphy" in gtool4 netCDF Convention) to range, then input data can be clipped by an arbitrary dimension. If null character is given to range, data is not clipped.

HistoryGet is generic name of multiple subroutines. Integer, single precision real, and double precision real 0 — 7 rank array can be given to array.

By default, when data is input, filename and variable name and clipping information is printed. The message is suppressed when .true. is given to quiet

Original external subprogram is historyget.f90#HistoryGetDouble0

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array :real(DP), pointer
: (out)

取得するデータを格納する ポインタ配列.

必ず空状態の配列を与えてください. すなわち与える配列に対し, 初期値 =>null() を設定するか nullify を用いて ください. 既に割り付けられている場合, もしくは不定状態の場合にはエラーを返し ます.

型は整数型, 単精度実数型, 倍精度実数型 かのいづれかです. 入力するデータ の型と array の型が異なる場合は, 自 動的に array の型に変換されます.

Array in which input data is store.

Give null array to array. More specifically, use ’=>null()’ as initial value or use ‘nullify’ to the array. If the array is allocated already, or undefined, error is occurred.

Type is integer or single precision real or double precision real. When type of input data is different from type of array, data is converted to type of array automatically.

range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定 していますが, 大抵の netCDF データの入力は可能であると期待されます.

基本的な使い方に関しては HistoryGet を参照してください. HistoryGet との違いは, array にポインタ配列を与えることです. array には必ず空状態の配列を与えてください. すなわち与える配列に対し, 初期値 =>null() を設定するか nullify を用いてください. 既に割り付けられている場合, もしくは不定状態の場合には エラーを返します.

Input netCDF data. NetCDF data with gtool4 conventions is assumed, but most netCDF data is expected to be input.

See "HistoryGet", for basic usage. Difference from "HistoryGet" is that array is pointer array. Give null array to array. More specifically, use ’=>null()’ as initial value or use ‘nullify’ to the array. If the array is allocated already, or undefined, error is occurred.

[Source]

subroutine HistoryGetDouble0Pointer(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                                            ! netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定
  ! していますが, 大抵の netCDF データの入力は可能であると期待されます.
  !
  ! 基本的な使い方に関しては HistoryGet を参照してください. 
  ! HistoryGet との違いは, *array* にポインタ配列を与えることです.
  ! *array* には必ず空状態の配列を与えてください. 
  ! すなわち与える配列に対し, 初期値 =>null() を設定するか 
  ! nullify を用いてください. 
  ! 既に割り付けられている場合, もしくは不定状態の場合には
  ! エラーを返します. 
  !
  ! Input netCDF data. NetCDF data with gtool4 conventions is assumed,
  ! but most netCDF data is expected to be input.
  !
  ! See "HistoryGet", for basic usage.
  ! Difference from "HistoryGet" is that *array* is pointer array.
  ! Give null array to *array*. 
  ! More specifically, use '=>null()' as initial value or 
  ! use 'nullify' to the array. 
  ! If the array is allocated already, or undefined, 
  ! error is occurred. 
  !
                      
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar
  use dc_present,only: present_select, present_and_true
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  character(*), intent(in):: file
  character(*), intent(in):: varname
  character(*), intent(in), optional:: range
  logical, intent(in), optional:: quiet
  real(DP), pointer :: array ! (out)
                                                                        ! 
                              ! 取得するデータを格納する
                              ! ポインタ配列. 
                              !
                              ! 必ず空状態の配列を与えてください. 
                              ! すなわち与える配列に対し, 初期値 =>null() 
                              ! を設定するか nullify を用いて
                              ! ください.  既に割り付けられている場合, 
                              ! もしくは不定状態の場合にはエラーを返し
                              ! ます.
                              !
                              ! 型は整数型, 単精度実数型, 倍精度実数型
                              ! かのいづれかです. 入力するデータ
                              ! の型と *array* の型が異なる場合は, 自
                              ! 動的に *array* の型に変換されます.
                              ! 
                              ! Array in which input data is store. 
                              !
                              ! Give null array to *array*.  More
                              ! specifically, use '=>null()' as
                              ! initial value or use 'nullify' to the
                              ! array.  If the array is allocated
                              ! already, or undefined, error is
                              ! occurred.
                              !
                              ! Type is integer or single precision
                              ! real or double precision real. When type of
                              ! input data is different from type of
                              ! *array*, data is converted to type of
                              ! *array* automatically.
                              ! 
                      
                    
  logical, intent(out), optional:: err

                      real(DP), target :: array_tmp(1)
  integer:: domain            ! 変数の入出力領域の大きさ
                              ! (= 変数が依存する各次元サイズの積)
                    
  type(GT_VARIABLE)                  :: var
  character(STRING)                  :: url, actual_url
  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 DbgMessage('@ url =%c', c1=trim(url))
  ! いよいよデータ取得
  call Open(var, url, err)

                    
  call Inquire(var=var, size=domain)
  call Get(var, array_tmp, domain, err)
  array = array_tmp(1)

                    

  call Close(var, err)
  call actual_iorange_dump(url, actual_url, 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 HistoryGetDouble0Pointer
HistoryGetDouble0Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array :real(DP), pointer
: (out)

取得するデータを格納する ポインタ配列.

必ず空状態の配列を与えてください. すなわち与える配列に対し, 初期値 =>null() を設定するか nullify を用いて ください. 既に割り付けられている場合, もしくは不定状態の場合にはエラーを返し ます.

型は整数型, 単精度実数型, 倍精度実数型 かのいづれかです. 入力するデータ の型と array の型が異なる場合は, 自 動的に array の型に変換されます.

Array in which input data is store.

Give null array to array. More specifically, use ’=>null()’ as initial value or use ‘nullify’ to the array. If the array is allocated already, or undefined, error is occurred.

Type is integer or single precision real or double precision real. When type of input data is different from type of array, data is converted to type of array automatically.

range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定 していますが, 大抵の netCDF データの入力は可能であると期待されます.

基本的な使い方に関しては HistoryGet を参照してください. HistoryGet との違いは, array にポインタ配列を与えることです. array には必ず空状態の配列を与えてください. すなわち与える配列に対し, 初期値 =>null() を設定するか nullify を用いてください. 既に割り付けられている場合, もしくは不定状態の場合には エラーを返します.

Input netCDF data. NetCDF data with gtool4 conventions is assumed, but most netCDF data is expected to be input.

See "HistoryGet", for basic usage. Difference from "HistoryGet" is that array is pointer array. Give null array to array. More specifically, use ’=>null()’ as initial value or use ‘nullify’ to the array. If the array is allocated already, or undefined, error is occurred.

Original external subprogram is historyget.f90#HistoryGetDouble0Pointer

HistoryGetDouble0Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array :real(DP), pointer
: (out)

取得するデータを格納する ポインタ配列.

必ず空状態の配列を与えてください. すなわち与える配列に対し, 初期値 =>null() を設定するか nullify を用いて ください. 既に割り付けられている場合, もしくは不定状態の場合にはエラーを返し ます.

型は整数型, 単精度実数型, 倍精度実数型 かのいづれかです. 入力するデータ の型と array の型が異なる場合は, 自 動的に array の型に変換されます.

Array in which input data is store.

Give null array to array. More specifically, use ’=>null()’ as initial value or use ‘nullify’ to the array. If the array is allocated already, or undefined, error is occurred.

Type is integer or single precision real or double precision real. When type of input data is different from type of array, data is converted to type of array automatically.

range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定 していますが, 大抵の netCDF データの入力は可能であると期待されます.

基本的な使い方に関しては HistoryGet を参照してください. HistoryGet との違いは, array にポインタ配列を与えることです. array には必ず空状態の配列を与えてください. すなわち与える配列に対し, 初期値 =>null() を設定するか nullify を用いてください. 既に割り付けられている場合, もしくは不定状態の場合には エラーを返します.

Input netCDF data. NetCDF data with gtool4 conventions is assumed, but most netCDF data is expected to be input.

See "HistoryGet", for basic usage. Difference from "HistoryGet" is that array is pointer array. Give null array to array. More specifically, use ’=>null()’ as initial value or use ‘nullify’ to the array. If the array is allocated already, or undefined, error is occurred.

Original external subprogram is historyget.f90#HistoryGetDouble0Pointer

HistoryGetDouble0Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array :real(DP), pointer
: (out)

取得するデータを格納する ポインタ配列.

必ず空状態の配列を与えてください. すなわち与える配列に対し, 初期値 =>null() を設定するか nullify を用いて ください. 既に割り付けられている場合, もしくは不定状態の場合にはエラーを返し ます.

型は整数型, 単精度実数型, 倍精度実数型 かのいづれかです. 入力するデータ の型と array の型が異なる場合は, 自 動的に array の型に変換されます.

Array in which input data is store.

Give null array to array. More specifically, use ’=>null()’ as initial value or use ‘nullify’ to the array. If the array is allocated already, or undefined, error is occurred.

Type is integer or single precision real or double precision real. When type of input data is different from type of array, data is converted to type of array automatically.

range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

netCDF データを入力します. gtool4 netCDF 規約に基づくデータを想定 していますが, 大抵の netCDF データの入力は可能であると期待されます.

基本的な使い方に関しては HistoryGet を参照してください. HistoryGet との違いは, array にポインタ配列を与えることです. array には必ず空状態の配列を与えてください. すなわち与える配列に対し, 初期値 =>null() を設定するか nullify を用いてください. 既に割り付けられている場合, もしくは不定状態の場合には エラーを返します.

Input netCDF data. NetCDF data with gtool4 conventions is assumed, but most netCDF data is expected to be input.

See "HistoryGet", for basic usage. Difference from "HistoryGet" is that array is pointer array. Give null array to array. More specifically, use ’=>null()’ as initial value or use ‘nullify’ to the array. If the array is allocated already, or undefined, error is occurred.

Original external subprogram is historyget.f90#HistoryGetDouble0Pointer

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array :real(DP), pointer
: (out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetDouble0PointerTimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), pointer:: array ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble0PointerTimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble0Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble0PointerTimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array :real(DP), pointer
: (out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetDouble0PointerTimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), pointer:: array ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble0PointerTimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble0Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble0PointerTimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array :real(DP), pointer
: (out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetDouble0PointerTimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), pointer:: array ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble0PointerTimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble0Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble0PointerTimeR
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array :real(DP), intent(out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetDouble0TimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), intent(out):: array
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble0TimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble0( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble0TimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array :real(DP), intent(out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetDouble0TimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), intent(out):: array
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble0TimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble0( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble0TimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array :real(DP), intent(out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetDouble0TimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), intent(out):: array
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble0TimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble0( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble0TimeR
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:) :real(DP), intent(out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetDouble1(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                                            !
  ! 使用方法に関しては HistoryGet を参照してください.
  ! 
  ! See "HistoryGet", for basic usage.
  !
                      
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar, Split, JoinChar, StoA
  use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
  use dc_present, only: present_select, present_and_not_empty, present_and_true
  use regex,      only: match
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
  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
                                          
                    

                      real(DP), allocatable:: array_tmp(:)
  integer:: array_allsize
  integer:: array_shape(1), data_shape(1)
  integer:: allcount

                    
  type(GT_VARIABLE)             :: var
  character(STRING)             :: url, actual_url
  integer:: rank
  integer:: domain   ! 変数の入出力領域の大きさ
                     ! (= 変数が依存する各次元サイズの積)
  integer:: stat
  character(STRING):: cause_c
  character(*), parameter :: subname = "HistoryGetDouble1"

continue
  call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range)))
  cause_c = ''
  stat = DC_NOERR

                      !-------------------------------------
  !  配列形状の取得
  !  Get array shape
  array_shape = shape( array )
  array_allsize = size( array )
                    


  !-------------------------------------
  !  最新時刻の URL 取得
  !  Get URL of latest time
  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

  !-------------------------------------
  !  ファイルオープン
  !  File open
  call Open( var, url, err = err )

  if ( present_and_true(err) ) then
    stat = GT_ENOTURL
    cause_c = url
    goto 999
  end if

  !-------------------------------------
  !  配列形状のチェック
  !  Check array shape
  call Inquire( var = var, rank = rank )          ! (out)

  if ( .not. 1 == rank ) then
    if ( .not. present_and_true(quiet) ) then
      call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 1/), c1 = trim(url) )
    end if
    stat = GT_ERANKMISMATCH
    cause_c = 'array'
    goto 999
  end if
                                            call Inquire( var = var , dimord = 1, allcount = allcount )                      ! (out)
  data_shape(1) = allcount
                      

  if ( .not. all( array_shape == data_shape ) ) then
    if ( .not. present_and_true(quiet) ) then
      call MessageNotify('W', subname, 'Shape of data (%c) is (%c), shape of argument is (%c)', c1 = trim( url ), c2 = trim( toChar( data_shape ) ), c3 = trim( toChar( array_shape ) ) )
    end if
    stat = GT_EARGSIZEMISMATCH
    cause_c = 'array'
    goto 999
  end if
                    

  !-------------------------------------
  !  データ取得
  !  Get data
  call Inquire( var = var, size = domain )        ! (out)

                    
  if ( allocated( array_tmp ) ) deallocate( array_tmp )
  allocate( array_tmp(array_allsize) )
  call Get( var, array_tmp, domain )
  array = reshape( array_tmp, array_shape )
  deallocate( array_tmp )

                    

  call Close( var )

  !-------------------------------------
  !  データファイル名と切り出し範囲の印字
  !  Print data filename and clipping range
  call actual_iorange_dump(url, actual_url, 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 HistoryGetDouble1
HistoryGetDouble1( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:) :real(DP), intent(out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetDouble1

HistoryGetDouble1( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:) :real(DP), intent(out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetDouble1

HistoryGetDouble1( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:) :real(DP), intent(out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetDouble1

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:) :real(DP), pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetDouble1Pointer(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                                            ! 使用方法に関しては HistoryGetPointer を参照してください.
  ! 
  ! See "HistoryGetPointer", for basic usage.
  !
                      
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar
  use dc_present,only: present_select, present_and_true
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  character(*), intent(in):: file
  character(*), intent(in):: varname
  character(*), intent(in), optional:: range
  logical, intent(in), optional:: quiet
  real(DP), pointer :: array(:) ! (out)
                                          
                    
  logical, intent(out), optional:: err

                    
  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 HistoryGetDouble1Pointer
HistoryGetDouble1Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:) :real(DP), pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetDouble1Pointer

HistoryGetDouble1Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:) :real(DP), pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetDouble1Pointer

HistoryGetDouble1Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:) :real(DP), pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetDouble1Pointer

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:) :real(DP), pointer
: (out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetDouble1PointerTimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), pointer:: array(:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble1PointerTimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble1Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble1PointerTimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:) :real(DP), pointer
: (out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetDouble1PointerTimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), pointer:: array(:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble1PointerTimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble1Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble1PointerTimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:) :real(DP), pointer
: (out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetDouble1PointerTimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), pointer:: array(:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble1PointerTimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble1Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble1PointerTimeR
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:) :real(DP), intent(out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetDouble1TimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), intent(out):: array(:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble1TimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble1( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble1TimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:) :real(DP), intent(out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetDouble1TimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), intent(out):: array(:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble1TimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble1( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble1TimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:) :real(DP), intent(out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetDouble1TimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), intent(out):: array(:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble1TimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble1( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble1TimeR
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:) :real(DP), intent(out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetDouble2(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                                            !
  ! 使用方法に関しては HistoryGet を参照してください.
  ! 
  ! See "HistoryGet", for basic usage.
  !
                      
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar, Split, JoinChar, StoA
  use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
  use dc_present, only: present_select, present_and_not_empty, present_and_true
  use regex,      only: match
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
  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
                                          
                    

                      real(DP), allocatable:: array_tmp(:)
  integer:: array_allsize
  integer:: array_shape(2), data_shape(2)
  integer:: allcount

                    
  type(GT_VARIABLE)             :: var
  character(STRING)             :: url, actual_url
  integer:: rank
  integer:: domain   ! 変数の入出力領域の大きさ
                     ! (= 変数が依存する各次元サイズの積)
  integer:: stat
  character(STRING):: cause_c
  character(*), parameter :: subname = "HistoryGetDouble2"

continue
  call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range)))
  cause_c = ''
  stat = DC_NOERR

                      !-------------------------------------
  !  配列形状の取得
  !  Get array shape
  array_shape = shape( array )
  array_allsize = size( array )
                    


  !-------------------------------------
  !  最新時刻の URL 取得
  !  Get URL of latest time
  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

  !-------------------------------------
  !  ファイルオープン
  !  File open
  call Open( var, url, err = err )

  if ( present_and_true(err) ) then
    stat = GT_ENOTURL
    cause_c = url
    goto 999
  end if

  !-------------------------------------
  !  配列形状のチェック
  !  Check array shape
  call Inquire( var = var, rank = rank )          ! (out)

  if ( .not. 2 == rank ) then
    if ( .not. present_and_true(quiet) ) then
      call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 2/), c1 = trim(url) )
    end if
    stat = GT_ERANKMISMATCH
    cause_c = 'array'
    goto 999
  end if
                                            call Inquire( var = var , dimord = 1, allcount = allcount )                      ! (out)
  data_shape(1) = allcount
                      
  call Inquire( var = var , dimord = 2, allcount = allcount )                      ! (out)
  data_shape(2) = allcount
                      

  if ( .not. all( array_shape == data_shape ) ) then
    if ( .not. present_and_true(quiet) ) then
      call MessageNotify('W', subname, 'Shape of data (%c) is (%c), shape of argument is (%c)', c1 = trim( url ), c2 = trim( toChar( data_shape ) ), c3 = trim( toChar( array_shape ) ) )
    end if
    stat = GT_EARGSIZEMISMATCH
    cause_c = 'array'
    goto 999
  end if
                    

  !-------------------------------------
  !  データ取得
  !  Get data
  call Inquire( var = var, size = domain )        ! (out)

                    
  if ( allocated( array_tmp ) ) deallocate( array_tmp )
  allocate( array_tmp(array_allsize) )
  call Get( var, array_tmp, domain )
  array = reshape( array_tmp, array_shape )
  deallocate( array_tmp )

                    

  call Close( var )

  !-------------------------------------
  !  データファイル名と切り出し範囲の印字
  !  Print data filename and clipping range
  call actual_iorange_dump(url, actual_url, 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 HistoryGetDouble2
HistoryGetDouble2( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:) :real(DP), intent(out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetDouble2

HistoryGetDouble2( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:) :real(DP), intent(out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetDouble2

HistoryGetDouble2( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:) :real(DP), intent(out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetDouble2

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:) :real(DP), pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetDouble2Pointer(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                                            ! 使用方法に関しては HistoryGetPointer を参照してください.
  ! 
  ! See "HistoryGetPointer", for basic usage.
  !
                      
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar
  use dc_present,only: present_select, present_and_true
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  character(*), intent(in):: file
  character(*), intent(in):: varname
  character(*), intent(in), optional:: range
  logical, intent(in), optional:: quiet
  real(DP), pointer :: array(:,:) ! (out)
                                          
                    
  logical, intent(out), optional:: err

                    
  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 HistoryGetDouble2Pointer
HistoryGetDouble2Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:) :real(DP), pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetDouble2Pointer

HistoryGetDouble2Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:) :real(DP), pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetDouble2Pointer

HistoryGetDouble2Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:) :real(DP), pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetDouble2Pointer

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:) :real(DP), pointer
: (out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetDouble2PointerTimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), pointer:: array(:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble2PointerTimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble2Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble2PointerTimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:) :real(DP), pointer
: (out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetDouble2PointerTimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), pointer:: array(:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble2PointerTimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble2Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble2PointerTimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:) :real(DP), pointer
: (out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetDouble2PointerTimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), pointer:: array(:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble2PointerTimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble2Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble2PointerTimeR
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:) :real(DP), intent(out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetDouble2TimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), intent(out):: array(:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble2TimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble2( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble2TimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:) :real(DP), intent(out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetDouble2TimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), intent(out):: array(:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble2TimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble2( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble2TimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:) :real(DP), intent(out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetDouble2TimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), intent(out):: array(:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble2TimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble2( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble2TimeR
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:) :real(DP), intent(out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetDouble3(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                                            !
  ! 使用方法に関しては HistoryGet を参照してください.
  ! 
  ! See "HistoryGet", for basic usage.
  !
                      
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar, Split, JoinChar, StoA
  use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
  use dc_present, only: present_select, present_and_not_empty, present_and_true
  use regex,      only: match
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
  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
                                          
                    

                      real(DP), allocatable:: array_tmp(:)
  integer:: array_allsize
  integer:: array_shape(3), data_shape(3)
  integer:: allcount

                    
  type(GT_VARIABLE)             :: var
  character(STRING)             :: url, actual_url
  integer:: rank
  integer:: domain   ! 変数の入出力領域の大きさ
                     ! (= 変数が依存する各次元サイズの積)
  integer:: stat
  character(STRING):: cause_c
  character(*), parameter :: subname = "HistoryGetDouble3"

continue
  call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range)))
  cause_c = ''
  stat = DC_NOERR

                      !-------------------------------------
  !  配列形状の取得
  !  Get array shape
  array_shape = shape( array )
  array_allsize = size( array )
                    


  !-------------------------------------
  !  最新時刻の URL 取得
  !  Get URL of latest time
  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

  !-------------------------------------
  !  ファイルオープン
  !  File open
  call Open( var, url, err = err )

  if ( present_and_true(err) ) then
    stat = GT_ENOTURL
    cause_c = url
    goto 999
  end if

  !-------------------------------------
  !  配列形状のチェック
  !  Check array shape
  call Inquire( var = var, rank = rank )          ! (out)

  if ( .not. 3 == rank ) then
    if ( .not. present_and_true(quiet) ) then
      call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 3/), c1 = trim(url) )
    end if
    stat = GT_ERANKMISMATCH
    cause_c = 'array'
    goto 999
  end if
                                            call Inquire( var = var , dimord = 1, allcount = allcount )                      ! (out)
  data_shape(1) = allcount
                      
  call Inquire( var = var , dimord = 2, allcount = allcount )                      ! (out)
  data_shape(2) = allcount
                      
  call Inquire( var = var , dimord = 3, allcount = allcount )                      ! (out)
  data_shape(3) = allcount
                      

  if ( .not. all( array_shape == data_shape ) ) then
    if ( .not. present_and_true(quiet) ) then
      call MessageNotify('W', subname, 'Shape of data (%c) is (%c), shape of argument is (%c)', c1 = trim( url ), c2 = trim( toChar( data_shape ) ), c3 = trim( toChar( array_shape ) ) )
    end if
    stat = GT_EARGSIZEMISMATCH
    cause_c = 'array'
    goto 999
  end if
                    

  !-------------------------------------
  !  データ取得
  !  Get data
  call Inquire( var = var, size = domain )        ! (out)

                    
  if ( allocated( array_tmp ) ) deallocate( array_tmp )
  allocate( array_tmp(array_allsize) )
  call Get( var, array_tmp, domain )
  array = reshape( array_tmp, array_shape )
  deallocate( array_tmp )

                    

  call Close( var )

  !-------------------------------------
  !  データファイル名と切り出し範囲の印字
  !  Print data filename and clipping range
  call actual_iorange_dump(url, actual_url, 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 HistoryGetDouble3
HistoryGetDouble3( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:) :real(DP), intent(out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetDouble3

HistoryGetDouble3( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:) :real(DP), intent(out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetDouble3

HistoryGetDouble3( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:) :real(DP), intent(out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetDouble3

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:) :real(DP), pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetDouble3Pointer(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                                            ! 使用方法に関しては HistoryGetPointer を参照してください.
  ! 
  ! See "HistoryGetPointer", for basic usage.
  !
                      
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar
  use dc_present,only: present_select, present_and_true
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  character(*), intent(in):: file
  character(*), intent(in):: varname
  character(*), intent(in), optional:: range
  logical, intent(in), optional:: quiet
  real(DP), pointer :: array(:,:,:) ! (out)
                                          
                    
  logical, intent(out), optional:: err

                    
  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 HistoryGetDouble3Pointer
HistoryGetDouble3Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:) :real(DP), pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetDouble3Pointer

HistoryGetDouble3Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:) :real(DP), pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetDouble3Pointer

HistoryGetDouble3Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:) :real(DP), pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetDouble3Pointer

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:) :real(DP), pointer
: (out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetDouble3PointerTimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), pointer:: array(:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble3PointerTimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble3Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble3PointerTimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:) :real(DP), pointer
: (out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetDouble3PointerTimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), pointer:: array(:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble3PointerTimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble3Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble3PointerTimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:) :real(DP), pointer
: (out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetDouble3PointerTimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), pointer:: array(:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble3PointerTimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble3Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble3PointerTimeR
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:) :real(DP), intent(out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetDouble3TimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), intent(out):: array(:,:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble3TimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble3( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble3TimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:) :real(DP), intent(out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetDouble3TimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), intent(out):: array(:,:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble3TimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble3( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble3TimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:) :real(DP), intent(out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetDouble3TimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), intent(out):: array(:,:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble3TimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble3( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble3TimeR
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:) :real(DP), intent(out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetDouble4(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                                            !
  ! 使用方法に関しては HistoryGet を参照してください.
  ! 
  ! See "HistoryGet", for basic usage.
  !
                      
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar, Split, JoinChar, StoA
  use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
  use dc_present, only: present_select, present_and_not_empty, present_and_true
  use regex,      only: match
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
  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
                                          
                    

                      real(DP), allocatable:: array_tmp(:)
  integer:: array_allsize
  integer:: array_shape(4), data_shape(4)
  integer:: allcount

                    
  type(GT_VARIABLE)             :: var
  character(STRING)             :: url, actual_url
  integer:: rank
  integer:: domain   ! 変数の入出力領域の大きさ
                     ! (= 変数が依存する各次元サイズの積)
  integer:: stat
  character(STRING):: cause_c
  character(*), parameter :: subname = "HistoryGetDouble4"

continue
  call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range)))
  cause_c = ''
  stat = DC_NOERR

                      !-------------------------------------
  !  配列形状の取得
  !  Get array shape
  array_shape = shape( array )
  array_allsize = size( array )
                    


  !-------------------------------------
  !  最新時刻の URL 取得
  !  Get URL of latest time
  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

  !-------------------------------------
  !  ファイルオープン
  !  File open
  call Open( var, url, err = err )

  if ( present_and_true(err) ) then
    stat = GT_ENOTURL
    cause_c = url
    goto 999
  end if

  !-------------------------------------
  !  配列形状のチェック
  !  Check array shape
  call Inquire( var = var, rank = rank )          ! (out)

  if ( .not. 4 == rank ) then
    if ( .not. present_and_true(quiet) ) then
      call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 4/), c1 = trim(url) )
    end if
    stat = GT_ERANKMISMATCH
    cause_c = 'array'
    goto 999
  end if
                                            call Inquire( var = var , dimord = 1, allcount = allcount )                      ! (out)
  data_shape(1) = allcount
                      
  call Inquire( var = var , dimord = 2, allcount = allcount )                      ! (out)
  data_shape(2) = allcount
                      
  call Inquire( var = var , dimord = 3, allcount = allcount )                      ! (out)
  data_shape(3) = allcount
                      
  call Inquire( var = var , dimord = 4, allcount = allcount )                      ! (out)
  data_shape(4) = allcount
                      

  if ( .not. all( array_shape == data_shape ) ) then
    if ( .not. present_and_true(quiet) ) then
      call MessageNotify('W', subname, 'Shape of data (%c) is (%c), shape of argument is (%c)', c1 = trim( url ), c2 = trim( toChar( data_shape ) ), c3 = trim( toChar( array_shape ) ) )
    end if
    stat = GT_EARGSIZEMISMATCH
    cause_c = 'array'
    goto 999
  end if
                    

  !-------------------------------------
  !  データ取得
  !  Get data
  call Inquire( var = var, size = domain )        ! (out)

                    
  if ( allocated( array_tmp ) ) deallocate( array_tmp )
  allocate( array_tmp(array_allsize) )
  call Get( var, array_tmp, domain )
  array = reshape( array_tmp, array_shape )
  deallocate( array_tmp )

                    

  call Close( var )

  !-------------------------------------
  !  データファイル名と切り出し範囲の印字
  !  Print data filename and clipping range
  call actual_iorange_dump(url, actual_url, 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 HistoryGetDouble4
HistoryGetDouble4( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:) :real(DP), intent(out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetDouble4

HistoryGetDouble4( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:) :real(DP), intent(out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetDouble4

HistoryGetDouble4( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:) :real(DP), intent(out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetDouble4

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:) :real(DP), pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetDouble4Pointer(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                                            ! 使用方法に関しては HistoryGetPointer を参照してください.
  ! 
  ! See "HistoryGetPointer", for basic usage.
  !
                      
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar
  use dc_present,only: present_select, present_and_true
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  character(*), intent(in):: file
  character(*), intent(in):: varname
  character(*), intent(in), optional:: range
  logical, intent(in), optional:: quiet
  real(DP), pointer :: array(:,:,:,:) ! (out)
                                          
                    
  logical, intent(out), optional:: err

                    
  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 HistoryGetDouble4Pointer
HistoryGetDouble4Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:) :real(DP), pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetDouble4Pointer

HistoryGetDouble4Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:) :real(DP), pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetDouble4Pointer

HistoryGetDouble4Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:) :real(DP), pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetDouble4Pointer

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:) :real(DP), pointer
: (out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetDouble4PointerTimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), pointer:: array(:,:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble4PointerTimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble4Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble4PointerTimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:) :real(DP), pointer
: (out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetDouble4PointerTimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), pointer:: array(:,:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble4PointerTimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble4Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble4PointerTimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:) :real(DP), pointer
: (out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetDouble4PointerTimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), pointer:: array(:,:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble4PointerTimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble4Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble4PointerTimeR
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:) :real(DP), intent(out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetDouble4TimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), intent(out):: array(:,:,:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble4TimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble4( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble4TimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:) :real(DP), intent(out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetDouble4TimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), intent(out):: array(:,:,:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble4TimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble4( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble4TimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:) :real(DP), intent(out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetDouble4TimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), intent(out):: array(:,:,:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble4TimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble4( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble4TimeR
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:) :real(DP), intent(out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetDouble5(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                                            !
  ! 使用方法に関しては HistoryGet を参照してください.
  ! 
  ! See "HistoryGet", for basic usage.
  !
                      
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar, Split, JoinChar, StoA
  use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
  use dc_present, only: present_select, present_and_not_empty, present_and_true
  use regex,      only: match
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
  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
                                          
                    

                      real(DP), allocatable:: array_tmp(:)
  integer:: array_allsize
  integer:: array_shape(5), data_shape(5)
  integer:: allcount

                    
  type(GT_VARIABLE)             :: var
  character(STRING)             :: url, actual_url
  integer:: rank
  integer:: domain   ! 変数の入出力領域の大きさ
                     ! (= 変数が依存する各次元サイズの積)
  integer:: stat
  character(STRING):: cause_c
  character(*), parameter :: subname = "HistoryGetDouble5"

continue
  call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range)))
  cause_c = ''
  stat = DC_NOERR

                      !-------------------------------------
  !  配列形状の取得
  !  Get array shape
  array_shape = shape( array )
  array_allsize = size( array )
                    


  !-------------------------------------
  !  最新時刻の URL 取得
  !  Get URL of latest time
  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

  !-------------------------------------
  !  ファイルオープン
  !  File open
  call Open( var, url, err = err )

  if ( present_and_true(err) ) then
    stat = GT_ENOTURL
    cause_c = url
    goto 999
  end if

  !-------------------------------------
  !  配列形状のチェック
  !  Check array shape
  call Inquire( var = var, rank = rank )          ! (out)

  if ( .not. 5 == rank ) then
    if ( .not. present_and_true(quiet) ) then
      call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 5/), c1 = trim(url) )
    end if
    stat = GT_ERANKMISMATCH
    cause_c = 'array'
    goto 999
  end if
                                            call Inquire( var = var , dimord = 1, allcount = allcount )                      ! (out)
  data_shape(1) = allcount
                      
  call Inquire( var = var , dimord = 2, allcount = allcount )                      ! (out)
  data_shape(2) = allcount
                      
  call Inquire( var = var , dimord = 3, allcount = allcount )                      ! (out)
  data_shape(3) = allcount
                      
  call Inquire( var = var , dimord = 4, allcount = allcount )                      ! (out)
  data_shape(4) = allcount
                      
  call Inquire( var = var , dimord = 5, allcount = allcount )                      ! (out)
  data_shape(5) = allcount
                      

  if ( .not. all( array_shape == data_shape ) ) then
    if ( .not. present_and_true(quiet) ) then
      call MessageNotify('W', subname, 'Shape of data (%c) is (%c), shape of argument is (%c)', c1 = trim( url ), c2 = trim( toChar( data_shape ) ), c3 = trim( toChar( array_shape ) ) )
    end if
    stat = GT_EARGSIZEMISMATCH
    cause_c = 'array'
    goto 999
  end if
                    

  !-------------------------------------
  !  データ取得
  !  Get data
  call Inquire( var = var, size = domain )        ! (out)

                    
  if ( allocated( array_tmp ) ) deallocate( array_tmp )
  allocate( array_tmp(array_allsize) )
  call Get( var, array_tmp, domain )
  array = reshape( array_tmp, array_shape )
  deallocate( array_tmp )

                    

  call Close( var )

  !-------------------------------------
  !  データファイル名と切り出し範囲の印字
  !  Print data filename and clipping range
  call actual_iorange_dump(url, actual_url, 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 HistoryGetDouble5
HistoryGetDouble5( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:) :real(DP), intent(out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetDouble5

HistoryGetDouble5( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:) :real(DP), intent(out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetDouble5

HistoryGetDouble5( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:) :real(DP), intent(out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetDouble5

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:) :real(DP), pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetDouble5Pointer(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                                            ! 使用方法に関しては HistoryGetPointer を参照してください.
  ! 
  ! See "HistoryGetPointer", for basic usage.
  !
                      
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar
  use dc_present,only: present_select, present_and_true
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  character(*), intent(in):: file
  character(*), intent(in):: varname
  character(*), intent(in), optional:: range
  logical, intent(in), optional:: quiet
  real(DP), pointer :: array(:,:,:,:,:) ! (out)
                                          
                    
  logical, intent(out), optional:: err

                    
  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 HistoryGetDouble5Pointer
HistoryGetDouble5Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:) :real(DP), pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetDouble5Pointer

HistoryGetDouble5Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:) :real(DP), pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetDouble5Pointer

HistoryGetDouble5Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:) :real(DP), pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetDouble5Pointer

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:) :real(DP), pointer
: (out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetDouble5PointerTimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), pointer:: array(:,:,:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble5PointerTimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble5Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble5PointerTimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:) :real(DP), pointer
: (out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetDouble5PointerTimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), pointer:: array(:,:,:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble5PointerTimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble5Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble5PointerTimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:) :real(DP), pointer
: (out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetDouble5PointerTimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), pointer:: array(:,:,:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble5PointerTimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble5Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble5PointerTimeR
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:) :real(DP), intent(out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetDouble5TimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), intent(out):: array(:,:,:,:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble5TimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble5( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble5TimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:) :real(DP), intent(out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetDouble5TimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), intent(out):: array(:,:,:,:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble5TimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble5( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble5TimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:) :real(DP), intent(out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetDouble5TimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), intent(out):: array(:,:,:,:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble5TimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble5( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble5TimeR
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:) :real(DP), intent(out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetDouble6(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                                            !
  ! 使用方法に関しては HistoryGet を参照してください.
  ! 
  ! See "HistoryGet", for basic usage.
  !
                      
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar, Split, JoinChar, StoA
  use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
  use dc_present, only: present_select, present_and_not_empty, present_and_true
  use regex,      only: match
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
  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
                                          
                    

                      real(DP), allocatable:: array_tmp(:)
  integer:: array_allsize
  integer:: array_shape(6), data_shape(6)
  integer:: allcount

                    
  type(GT_VARIABLE)             :: var
  character(STRING)             :: url, actual_url
  integer:: rank
  integer:: domain   ! 変数の入出力領域の大きさ
                     ! (= 変数が依存する各次元サイズの積)
  integer:: stat
  character(STRING):: cause_c
  character(*), parameter :: subname = "HistoryGetDouble6"

continue
  call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range)))
  cause_c = ''
  stat = DC_NOERR

                      !-------------------------------------
  !  配列形状の取得
  !  Get array shape
  array_shape = shape( array )
  array_allsize = size( array )
                    


  !-------------------------------------
  !  最新時刻の URL 取得
  !  Get URL of latest time
  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

  !-------------------------------------
  !  ファイルオープン
  !  File open
  call Open( var, url, err = err )

  if ( present_and_true(err) ) then
    stat = GT_ENOTURL
    cause_c = url
    goto 999
  end if

  !-------------------------------------
  !  配列形状のチェック
  !  Check array shape
  call Inquire( var = var, rank = rank )          ! (out)

  if ( .not. 6 == rank ) then
    if ( .not. present_and_true(quiet) ) then
      call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 6/), c1 = trim(url) )
    end if
    stat = GT_ERANKMISMATCH
    cause_c = 'array'
    goto 999
  end if
                                            call Inquire( var = var , dimord = 1, allcount = allcount )                      ! (out)
  data_shape(1) = allcount
                      
  call Inquire( var = var , dimord = 2, allcount = allcount )                      ! (out)
  data_shape(2) = allcount
                      
  call Inquire( var = var , dimord = 3, allcount = allcount )                      ! (out)
  data_shape(3) = allcount
                      
  call Inquire( var = var , dimord = 4, allcount = allcount )                      ! (out)
  data_shape(4) = allcount
                      
  call Inquire( var = var , dimord = 5, allcount = allcount )                      ! (out)
  data_shape(5) = allcount
                      
  call Inquire( var = var , dimord = 6, allcount = allcount )                      ! (out)
  data_shape(6) = allcount
                      

  if ( .not. all( array_shape == data_shape ) ) then
    if ( .not. present_and_true(quiet) ) then
      call MessageNotify('W', subname, 'Shape of data (%c) is (%c), shape of argument is (%c)', c1 = trim( url ), c2 = trim( toChar( data_shape ) ), c3 = trim( toChar( array_shape ) ) )
    end if
    stat = GT_EARGSIZEMISMATCH
    cause_c = 'array'
    goto 999
  end if
                    

  !-------------------------------------
  !  データ取得
  !  Get data
  call Inquire( var = var, size = domain )        ! (out)

                    
  if ( allocated( array_tmp ) ) deallocate( array_tmp )
  allocate( array_tmp(array_allsize) )
  call Get( var, array_tmp, domain )
  array = reshape( array_tmp, array_shape )
  deallocate( array_tmp )

                    

  call Close( var )

  !-------------------------------------
  !  データファイル名と切り出し範囲の印字
  !  Print data filename and clipping range
  call actual_iorange_dump(url, actual_url, 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 HistoryGetDouble6
HistoryGetDouble6( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:) :real(DP), intent(out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetDouble6

HistoryGetDouble6( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:) :real(DP), intent(out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetDouble6

HistoryGetDouble6( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:) :real(DP), intent(out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetDouble6

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:) :real(DP), pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetDouble6Pointer(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                                            ! 使用方法に関しては HistoryGetPointer を参照してください.
  ! 
  ! See "HistoryGetPointer", for basic usage.
  !
                      
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar
  use dc_present,only: present_select, present_and_true
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  character(*), intent(in):: file
  character(*), intent(in):: varname
  character(*), intent(in), optional:: range
  logical, intent(in), optional:: quiet
  real(DP), pointer :: array(:,:,:,:,:,:) ! (out)
                                          
                    
  logical, intent(out), optional:: err

                    
  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 HistoryGetDouble6Pointer
HistoryGetDouble6Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:) :real(DP), pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetDouble6Pointer

HistoryGetDouble6Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:) :real(DP), pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetDouble6Pointer

HistoryGetDouble6Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:) :real(DP), pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetDouble6Pointer

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:) :real(DP), pointer
: (out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetDouble6PointerTimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), pointer:: array(:,:,:,:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble6PointerTimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble6Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble6PointerTimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:) :real(DP), pointer
: (out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetDouble6PointerTimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), pointer:: array(:,:,:,:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble6PointerTimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble6Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble6PointerTimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:) :real(DP), pointer
: (out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetDouble6PointerTimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), pointer:: array(:,:,:,:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble6PointerTimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble6Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble6PointerTimeR
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:) :real(DP), intent(out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetDouble6TimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), intent(out):: array(:,:,:,:,:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble6TimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble6( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble6TimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:) :real(DP), intent(out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetDouble6TimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), intent(out):: array(:,:,:,:,:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble6TimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble6( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble6TimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:) :real(DP), intent(out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetDouble6TimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), intent(out):: array(:,:,:,:,:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble6TimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble6( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble6TimeR
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:,:) :real(DP), intent(out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetDouble7(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                                            !
  ! 使用方法に関しては HistoryGet を参照してください.
  ! 
  ! See "HistoryGet", for basic usage.
  !
                      
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar, Split, JoinChar, StoA
  use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
  use dc_present, only: present_select, present_and_not_empty, present_and_true
  use regex,      only: match
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
  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
                                          
                    

                      real(DP), allocatable:: array_tmp(:)
  integer:: array_allsize
  integer:: array_shape(7), data_shape(7)
  integer:: allcount

                    
  type(GT_VARIABLE)             :: var
  character(STRING)             :: url, actual_url
  integer:: rank
  integer:: domain   ! 変数の入出力領域の大きさ
                     ! (= 変数が依存する各次元サイズの積)
  integer:: stat
  character(STRING):: cause_c
  character(*), parameter :: subname = "HistoryGetDouble7"

continue
  call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range)))
  cause_c = ''
  stat = DC_NOERR

                      !-------------------------------------
  !  配列形状の取得
  !  Get array shape
  array_shape = shape( array )
  array_allsize = size( array )
                    


  !-------------------------------------
  !  最新時刻の URL 取得
  !  Get URL of latest time
  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

  !-------------------------------------
  !  ファイルオープン
  !  File open
  call Open( var, url, err = err )

  if ( present_and_true(err) ) then
    stat = GT_ENOTURL
    cause_c = url
    goto 999
  end if

  !-------------------------------------
  !  配列形状のチェック
  !  Check array shape
  call Inquire( var = var, rank = rank )          ! (out)

  if ( .not. 7 == rank ) then
    if ( .not. present_and_true(quiet) ) then
      call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 7/), c1 = trim(url) )
    end if
    stat = GT_ERANKMISMATCH
    cause_c = 'array'
    goto 999
  end if
                                            call Inquire( var = var , dimord = 1, allcount = allcount )                      ! (out)
  data_shape(1) = allcount
                      
  call Inquire( var = var , dimord = 2, allcount = allcount )                      ! (out)
  data_shape(2) = allcount
                      
  call Inquire( var = var , dimord = 3, allcount = allcount )                      ! (out)
  data_shape(3) = allcount
                      
  call Inquire( var = var , dimord = 4, allcount = allcount )                      ! (out)
  data_shape(4) = allcount
                      
  call Inquire( var = var , dimord = 5, allcount = allcount )                      ! (out)
  data_shape(5) = allcount
                      
  call Inquire( var = var , dimord = 6, allcount = allcount )                      ! (out)
  data_shape(6) = allcount
                      
  call Inquire( var = var , dimord = 7, allcount = allcount )                      ! (out)
  data_shape(7) = allcount
                      

  if ( .not. all( array_shape == data_shape ) ) then
    if ( .not. present_and_true(quiet) ) then
      call MessageNotify('W', subname, 'Shape of data (%c) is (%c), shape of argument is (%c)', c1 = trim( url ), c2 = trim( toChar( data_shape ) ), c3 = trim( toChar( array_shape ) ) )
    end if
    stat = GT_EARGSIZEMISMATCH
    cause_c = 'array'
    goto 999
  end if
                    

  !-------------------------------------
  !  データ取得
  !  Get data
  call Inquire( var = var, size = domain )        ! (out)

                    
  if ( allocated( array_tmp ) ) deallocate( array_tmp )
  allocate( array_tmp(array_allsize) )
  call Get( var, array_tmp, domain )
  array = reshape( array_tmp, array_shape )
  deallocate( array_tmp )

                    

  call Close( var )

  !-------------------------------------
  !  データファイル名と切り出し範囲の印字
  !  Print data filename and clipping range
  call actual_iorange_dump(url, actual_url, 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 HistoryGetDouble7
HistoryGetDouble7( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:,:) :real(DP), intent(out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetDouble7

HistoryGetDouble7( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:,:) :real(DP), intent(out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetDouble7

HistoryGetDouble7( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:,:) :real(DP), intent(out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetDouble7

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:,:) :real(DP), pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetDouble7Pointer(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                                            ! 使用方法に関しては HistoryGetPointer を参照してください.
  ! 
  ! See "HistoryGetPointer", for basic usage.
  !
                      
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar
  use dc_present,only: present_select, present_and_true
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  character(*), intent(in):: file
  character(*), intent(in):: varname
  character(*), intent(in), optional:: range
  logical, intent(in), optional:: quiet
  real(DP), pointer :: array(:,:,:,:,:,:,:) ! (out)
                                          
                    
  logical, intent(out), optional:: err

                    
  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 HistoryGetDouble7Pointer
HistoryGetDouble7Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:,:) :real(DP), pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetDouble7Pointer

HistoryGetDouble7Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:,:) :real(DP), pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetDouble7Pointer

HistoryGetDouble7Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:,:) :real(DP), pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetDouble7Pointer

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:,:) :real(DP), pointer
: (out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetDouble7PointerTimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), pointer:: array(:,:,:,:,:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble7PointerTimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble7Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble7PointerTimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:,:) :real(DP), pointer
: (out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetDouble7PointerTimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), pointer:: array(:,:,:,:,:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble7PointerTimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble7Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble7PointerTimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:,:) :real(DP), pointer
: (out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetDouble7PointerTimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), pointer:: array(:,:,:,:,:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble7PointerTimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble7Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble7PointerTimeR
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:,:) :real(DP), intent(out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetDouble7TimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), intent(out):: array(:,:,:,:,:,:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble7TimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble7( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble7TimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:,:) :real(DP), intent(out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetDouble7TimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), intent(out):: array(:,:,:,:,:,:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble7TimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble7( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble7TimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:,:) :real(DP), intent(out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetDouble7TimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      real(DP), intent(out):: array(:,:,:,:,:,:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetDouble7TimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetDouble7( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetDouble7TimeR
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array :integer, intent(out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetInt0(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                      !
  ! 使用方法に関しては HistoryGet を参照してください.
  ! 
  ! See "HistoryGet", for basic usage.
  !
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar, Split, JoinChar, StoA
  use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
  use dc_present, only: present_select, present_and_not_empty, present_and_true
  use regex,      only: match
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
  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)
                    
  type(GT_VARIABLE)             :: var
  character(STRING)             :: url, actual_url
  integer:: rank
  integer:: domain   ! 変数の入出力領域の大きさ
                     ! (= 変数が依存する各次元サイズの積)
  integer:: stat
  character(STRING):: cause_c
  character(*), parameter :: subname = "HistoryGetInt0"

continue
  call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range)))
  cause_c = ''
  stat = DC_NOERR

                                        


  !-------------------------------------
  !  最新時刻の URL 取得
  !  Get URL of latest time
  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

  !-------------------------------------
  !  ファイルオープン
  !  File open
  call Open( var, url, err = err )

  if ( present_and_true(err) ) then
    stat = GT_ENOTURL
    cause_c = url
    goto 999
  end if

  !-------------------------------------
  !  配列形状のチェック
  !  Check array shape
  call Inquire( var = var, rank = rank )          ! (out)

  if ( .not. 0 == rank ) then
    if ( .not. present_and_true(quiet) ) then
      call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 0/), c1 = trim(url) )
    end if
    stat = GT_ERANKMISMATCH
    cause_c = 'array'
    goto 999
  end if
                                        

  !-------------------------------------
  !  データ取得
  !  Get data
  call Inquire( var = var, size = domain )        ! (out)

                    
  call Get( var = var, nvalue = domain, value = array_tmp) ! (out)
  array = array_tmp(1)

                    

  call Close( var )

  !-------------------------------------
  !  データファイル名と切り出し範囲の印字
  !  Print data filename and clipping range
  call actual_iorange_dump(url, actual_url, 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 HistoryGetInt0
HistoryGetInt0( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt0

HistoryGetInt0( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt0

HistoryGetInt0( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt0

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array :integer, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetInt0Pointer(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                      ! 使用方法に関しては HistoryGetPointer を参照してください.
  ! 
  ! See "HistoryGetPointer", for basic usage.
  !
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar
  use dc_present,only: present_select, present_and_true
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  character(*), intent(in):: file
  character(*), intent(in):: varname
  character(*), intent(in), optional:: range
  logical, intent(in), optional:: quiet
  integer, pointer :: array ! (out)
                    
  logical, intent(out), optional:: err

                      integer, target :: array_tmp(1)
  integer:: domain            ! 変数の入出力領域の大きさ
                              ! (= 変数が依存する各次元サイズの積)
                    
  type(GT_VARIABLE)                  :: var
  character(STRING)                  :: url, actual_url
  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 DbgMessage('@ url =%c', c1=trim(url))
  ! いよいよデータ取得
  call Open(var, url, err)

                    
  call Inquire(var=var, size=domain)
  call Get(var, array_tmp, domain, err)
  array = array_tmp(1)

                    

  call Close(var, err)
  call actual_iorange_dump(url, actual_url, 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 HistoryGetInt0Pointer
HistoryGetInt0Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array :integer, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt0Pointer

HistoryGetInt0Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array :integer, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt0Pointer

HistoryGetInt0Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array :integer, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt0Pointer

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array :integer, pointer
: (out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetInt0PointerTimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, pointer:: array ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt0PointerTimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt0Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt0PointerTimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array :integer, pointer
: (out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetInt0PointerTimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, pointer:: array ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt0PointerTimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt0Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt0PointerTimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array :integer, pointer
: (out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetInt0PointerTimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, pointer:: array ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt0PointerTimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt0Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt0PointerTimeR
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array :integer, intent(out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetInt0TimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, intent(out):: array
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt0TimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt0( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt0TimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array :integer, intent(out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetInt0TimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, intent(out):: array
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt0TimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt0( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt0TimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array :integer, intent(out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetInt0TimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, intent(out):: array
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt0TimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt0( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt0TimeR
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:) :integer, intent(out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetInt1(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                      !
  ! 使用方法に関しては HistoryGet を参照してください.
  ! 
  ! See "HistoryGet", for basic usage.
  !
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar, Split, JoinChar, StoA
  use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
  use dc_present, only: present_select, present_and_not_empty, present_and_true
  use regex,      only: match
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
  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, allocatable:: array_tmp(:)
  integer:: array_allsize
  integer:: array_shape(1), data_shape(1)
  integer:: allcount

                    
  type(GT_VARIABLE)             :: var
  character(STRING)             :: url, actual_url
  integer:: rank
  integer:: domain   ! 変数の入出力領域の大きさ
                     ! (= 変数が依存する各次元サイズの積)
  integer:: stat
  character(STRING):: cause_c
  character(*), parameter :: subname = "HistoryGetInt1"

continue
  call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range)))
  cause_c = ''
  stat = DC_NOERR

                      !-------------------------------------
  !  配列形状の取得
  !  Get array shape
  array_shape = shape( array )
  array_allsize = size( array )
                    


  !-------------------------------------
  !  最新時刻の URL 取得
  !  Get URL of latest time
  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

  !-------------------------------------
  !  ファイルオープン
  !  File open
  call Open( var, url, err = err )

  if ( present_and_true(err) ) then
    stat = GT_ENOTURL
    cause_c = url
    goto 999
  end if

  !-------------------------------------
  !  配列形状のチェック
  !  Check array shape
  call Inquire( var = var, rank = rank )          ! (out)

  if ( .not. 1 == rank ) then
    if ( .not. present_and_true(quiet) ) then
      call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 1/), c1 = trim(url) )
    end if
    stat = GT_ERANKMISMATCH
    cause_c = 'array'
    goto 999
  end if
                                            call Inquire( var = var , dimord = 1, allcount = allcount )                      ! (out)
  data_shape(1) = allcount
                      

  if ( .not. all( array_shape == data_shape ) ) then
    if ( .not. present_and_true(quiet) ) then
      call MessageNotify('W', subname, 'Shape of data (%c) is (%c), shape of argument is (%c)', c1 = trim( url ), c2 = trim( toChar( data_shape ) ), c3 = trim( toChar( array_shape ) ) )
    end if
    stat = GT_EARGSIZEMISMATCH
    cause_c = 'array'
    goto 999
  end if
                    

  !-------------------------------------
  !  データ取得
  !  Get data
  call Inquire( var = var, size = domain )        ! (out)

                    
  if ( allocated( array_tmp ) ) deallocate( array_tmp )
  allocate( array_tmp(array_allsize) )
  call Get( var, array_tmp, domain )
  array = reshape( array_tmp, array_shape )
  deallocate( array_tmp )

                    

  call Close( var )

  !-------------------------------------
  !  データファイル名と切り出し範囲の印字
  !  Print data filename and clipping range
  call actual_iorange_dump(url, actual_url, 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 HistoryGetInt1
HistoryGetInt1( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt1

HistoryGetInt1( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt1

HistoryGetInt1( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt1

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:) :integer, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetInt1Pointer(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                      ! 使用方法に関しては HistoryGetPointer を参照してください.
  ! 
  ! See "HistoryGetPointer", for basic usage.
  !
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar
  use dc_present,only: present_select, present_and_true
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  character(*), intent(in):: file
  character(*), intent(in):: varname
  character(*), intent(in), optional:: range
  logical, intent(in), optional:: quiet
  integer, pointer :: array(:) ! (out)
                    
  logical, intent(out), optional:: err

                    
  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 HistoryGetInt1Pointer
HistoryGetInt1Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:) :integer, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt1Pointer

HistoryGetInt1Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:) :integer, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt1Pointer

HistoryGetInt1Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:) :integer, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt1Pointer

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:) :integer, pointer
: (out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetInt1PointerTimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, pointer:: array(:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt1PointerTimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt1Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt1PointerTimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:) :integer, pointer
: (out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetInt1PointerTimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, pointer:: array(:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt1PointerTimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt1Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt1PointerTimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:) :integer, pointer
: (out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetInt1PointerTimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, pointer:: array(:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt1PointerTimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt1Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt1PointerTimeR
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:) :integer, intent(out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetInt1TimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, intent(out):: array(:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt1TimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt1( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt1TimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:) :integer, intent(out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetInt1TimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, intent(out):: array(:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt1TimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt1( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt1TimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:) :integer, intent(out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetInt1TimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, intent(out):: array(:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt1TimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt1( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt1TimeR
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:) :integer, intent(out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetInt2(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                      !
  ! 使用方法に関しては HistoryGet を参照してください.
  ! 
  ! See "HistoryGet", for basic usage.
  !
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar, Split, JoinChar, StoA
  use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
  use dc_present, only: present_select, present_and_not_empty, present_and_true
  use regex,      only: match
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
  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, allocatable:: array_tmp(:)
  integer:: array_allsize
  integer:: array_shape(2), data_shape(2)
  integer:: allcount

                    
  type(GT_VARIABLE)             :: var
  character(STRING)             :: url, actual_url
  integer:: rank
  integer:: domain   ! 変数の入出力領域の大きさ
                     ! (= 変数が依存する各次元サイズの積)
  integer:: stat
  character(STRING):: cause_c
  character(*), parameter :: subname = "HistoryGetInt2"

continue
  call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range)))
  cause_c = ''
  stat = DC_NOERR

                      !-------------------------------------
  !  配列形状の取得
  !  Get array shape
  array_shape = shape( array )
  array_allsize = size( array )
                    


  !-------------------------------------
  !  最新時刻の URL 取得
  !  Get URL of latest time
  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

  !-------------------------------------
  !  ファイルオープン
  !  File open
  call Open( var, url, err = err )

  if ( present_and_true(err) ) then
    stat = GT_ENOTURL
    cause_c = url
    goto 999
  end if

  !-------------------------------------
  !  配列形状のチェック
  !  Check array shape
  call Inquire( var = var, rank = rank )          ! (out)

  if ( .not. 2 == rank ) then
    if ( .not. present_and_true(quiet) ) then
      call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 2/), c1 = trim(url) )
    end if
    stat = GT_ERANKMISMATCH
    cause_c = 'array'
    goto 999
  end if
                                            call Inquire( var = var , dimord = 1, allcount = allcount )                      ! (out)
  data_shape(1) = allcount
                      
  call Inquire( var = var , dimord = 2, allcount = allcount )                      ! (out)
  data_shape(2) = allcount
                      

  if ( .not. all( array_shape == data_shape ) ) then
    if ( .not. present_and_true(quiet) ) then
      call MessageNotify('W', subname, 'Shape of data (%c) is (%c), shape of argument is (%c)', c1 = trim( url ), c2 = trim( toChar( data_shape ) ), c3 = trim( toChar( array_shape ) ) )
    end if
    stat = GT_EARGSIZEMISMATCH
    cause_c = 'array'
    goto 999
  end if
                    

  !-------------------------------------
  !  データ取得
  !  Get data
  call Inquire( var = var, size = domain )        ! (out)

                    
  if ( allocated( array_tmp ) ) deallocate( array_tmp )
  allocate( array_tmp(array_allsize) )
  call Get( var, array_tmp, domain )
  array = reshape( array_tmp, array_shape )
  deallocate( array_tmp )

                    

  call Close( var )

  !-------------------------------------
  !  データファイル名と切り出し範囲の印字
  !  Print data filename and clipping range
  call actual_iorange_dump(url, actual_url, 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 HistoryGetInt2
HistoryGetInt2( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt2

HistoryGetInt2( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt2

HistoryGetInt2( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt2

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:) :integer, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetInt2Pointer(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                      ! 使用方法に関しては HistoryGetPointer を参照してください.
  ! 
  ! See "HistoryGetPointer", for basic usage.
  !
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar
  use dc_present,only: present_select, present_and_true
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  character(*), intent(in):: file
  character(*), intent(in):: varname
  character(*), intent(in), optional:: range
  logical, intent(in), optional:: quiet
  integer, pointer :: array(:,:) ! (out)
                    
  logical, intent(out), optional:: err

                    
  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 HistoryGetInt2Pointer
HistoryGetInt2Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:) :integer, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt2Pointer

HistoryGetInt2Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:) :integer, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt2Pointer

HistoryGetInt2Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:) :integer, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt2Pointer

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:) :integer, pointer
: (out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetInt2PointerTimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, pointer:: array(:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt2PointerTimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt2Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt2PointerTimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:) :integer, pointer
: (out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetInt2PointerTimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, pointer:: array(:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt2PointerTimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt2Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt2PointerTimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:) :integer, pointer
: (out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetInt2PointerTimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, pointer:: array(:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt2PointerTimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt2Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt2PointerTimeR
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:) :integer, intent(out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetInt2TimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, intent(out):: array(:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt2TimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt2( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt2TimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:) :integer, intent(out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetInt2TimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, intent(out):: array(:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt2TimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt2( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt2TimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:) :integer, intent(out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetInt2TimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, intent(out):: array(:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt2TimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt2( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt2TimeR
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:) :integer, intent(out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetInt3(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                      !
  ! 使用方法に関しては HistoryGet を参照してください.
  ! 
  ! See "HistoryGet", for basic usage.
  !
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar, Split, JoinChar, StoA
  use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
  use dc_present, only: present_select, present_and_not_empty, present_and_true
  use regex,      only: match
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
  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, allocatable:: array_tmp(:)
  integer:: array_allsize
  integer:: array_shape(3), data_shape(3)
  integer:: allcount

                    
  type(GT_VARIABLE)             :: var
  character(STRING)             :: url, actual_url
  integer:: rank
  integer:: domain   ! 変数の入出力領域の大きさ
                     ! (= 変数が依存する各次元サイズの積)
  integer:: stat
  character(STRING):: cause_c
  character(*), parameter :: subname = "HistoryGetInt3"

continue
  call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range)))
  cause_c = ''
  stat = DC_NOERR

                      !-------------------------------------
  !  配列形状の取得
  !  Get array shape
  array_shape = shape( array )
  array_allsize = size( array )
                    


  !-------------------------------------
  !  最新時刻の URL 取得
  !  Get URL of latest time
  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

  !-------------------------------------
  !  ファイルオープン
  !  File open
  call Open( var, url, err = err )

  if ( present_and_true(err) ) then
    stat = GT_ENOTURL
    cause_c = url
    goto 999
  end if

  !-------------------------------------
  !  配列形状のチェック
  !  Check array shape
  call Inquire( var = var, rank = rank )          ! (out)

  if ( .not. 3 == rank ) then
    if ( .not. present_and_true(quiet) ) then
      call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 3/), c1 = trim(url) )
    end if
    stat = GT_ERANKMISMATCH
    cause_c = 'array'
    goto 999
  end if
                                            call Inquire( var = var , dimord = 1, allcount = allcount )                      ! (out)
  data_shape(1) = allcount
                      
  call Inquire( var = var , dimord = 2, allcount = allcount )                      ! (out)
  data_shape(2) = allcount
                      
  call Inquire( var = var , dimord = 3, allcount = allcount )                      ! (out)
  data_shape(3) = allcount
                      

  if ( .not. all( array_shape == data_shape ) ) then
    if ( .not. present_and_true(quiet) ) then
      call MessageNotify('W', subname, 'Shape of data (%c) is (%c), shape of argument is (%c)', c1 = trim( url ), c2 = trim( toChar( data_shape ) ), c3 = trim( toChar( array_shape ) ) )
    end if
    stat = GT_EARGSIZEMISMATCH
    cause_c = 'array'
    goto 999
  end if
                    

  !-------------------------------------
  !  データ取得
  !  Get data
  call Inquire( var = var, size = domain )        ! (out)

                    
  if ( allocated( array_tmp ) ) deallocate( array_tmp )
  allocate( array_tmp(array_allsize) )
  call Get( var, array_tmp, domain )
  array = reshape( array_tmp, array_shape )
  deallocate( array_tmp )

                    

  call Close( var )

  !-------------------------------------
  !  データファイル名と切り出し範囲の印字
  !  Print data filename and clipping range
  call actual_iorange_dump(url, actual_url, 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 HistoryGetInt3
HistoryGetInt3( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt3

HistoryGetInt3( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt3

HistoryGetInt3( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt3

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:) :integer, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetInt3Pointer(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                      ! 使用方法に関しては HistoryGetPointer を参照してください.
  ! 
  ! See "HistoryGetPointer", for basic usage.
  !
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar
  use dc_present,only: present_select, present_and_true
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  character(*), intent(in):: file
  character(*), intent(in):: varname
  character(*), intent(in), optional:: range
  logical, intent(in), optional:: quiet
  integer, pointer :: array(:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

                    
  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 HistoryGetInt3Pointer
HistoryGetInt3Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:) :integer, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt3Pointer

HistoryGetInt3Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:) :integer, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt3Pointer

HistoryGetInt3Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:) :integer, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt3Pointer

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:) :integer, pointer
: (out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetInt3PointerTimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, pointer:: array(:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt3PointerTimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt3Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt3PointerTimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:) :integer, pointer
: (out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetInt3PointerTimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, pointer:: array(:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt3PointerTimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt3Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt3PointerTimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:) :integer, pointer
: (out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetInt3PointerTimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, pointer:: array(:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt3PointerTimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt3Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt3PointerTimeR
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:) :integer, intent(out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetInt3TimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, intent(out):: array(:,:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt3TimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt3( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt3TimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:) :integer, intent(out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetInt3TimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, intent(out):: array(:,:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt3TimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt3( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt3TimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:) :integer, intent(out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetInt3TimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, intent(out):: array(:,:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt3TimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt3( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt3TimeR
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:) :integer, intent(out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetInt4(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                      !
  ! 使用方法に関しては HistoryGet を参照してください.
  ! 
  ! See "HistoryGet", for basic usage.
  !
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar, Split, JoinChar, StoA
  use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
  use dc_present, only: present_select, present_and_not_empty, present_and_true
  use regex,      only: match
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
  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, allocatable:: array_tmp(:)
  integer:: array_allsize
  integer:: array_shape(4), data_shape(4)
  integer:: allcount

                    
  type(GT_VARIABLE)             :: var
  character(STRING)             :: url, actual_url
  integer:: rank
  integer:: domain   ! 変数の入出力領域の大きさ
                     ! (= 変数が依存する各次元サイズの積)
  integer:: stat
  character(STRING):: cause_c
  character(*), parameter :: subname = "HistoryGetInt4"

continue
  call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range)))
  cause_c = ''
  stat = DC_NOERR

                      !-------------------------------------
  !  配列形状の取得
  !  Get array shape
  array_shape = shape( array )
  array_allsize = size( array )
                    


  !-------------------------------------
  !  最新時刻の URL 取得
  !  Get URL of latest time
  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

  !-------------------------------------
  !  ファイルオープン
  !  File open
  call Open( var, url, err = err )

  if ( present_and_true(err) ) then
    stat = GT_ENOTURL
    cause_c = url
    goto 999
  end if

  !-------------------------------------
  !  配列形状のチェック
  !  Check array shape
  call Inquire( var = var, rank = rank )          ! (out)

  if ( .not. 4 == rank ) then
    if ( .not. present_and_true(quiet) ) then
      call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 4/), c1 = trim(url) )
    end if
    stat = GT_ERANKMISMATCH
    cause_c = 'array'
    goto 999
  end if
                                            call Inquire( var = var , dimord = 1, allcount = allcount )                      ! (out)
  data_shape(1) = allcount
                      
  call Inquire( var = var , dimord = 2, allcount = allcount )                      ! (out)
  data_shape(2) = allcount
                      
  call Inquire( var = var , dimord = 3, allcount = allcount )                      ! (out)
  data_shape(3) = allcount
                      
  call Inquire( var = var , dimord = 4, allcount = allcount )                      ! (out)
  data_shape(4) = allcount
                      

  if ( .not. all( array_shape == data_shape ) ) then
    if ( .not. present_and_true(quiet) ) then
      call MessageNotify('W', subname, 'Shape of data (%c) is (%c), shape of argument is (%c)', c1 = trim( url ), c2 = trim( toChar( data_shape ) ), c3 = trim( toChar( array_shape ) ) )
    end if
    stat = GT_EARGSIZEMISMATCH
    cause_c = 'array'
    goto 999
  end if
                    

  !-------------------------------------
  !  データ取得
  !  Get data
  call Inquire( var = var, size = domain )        ! (out)

                    
  if ( allocated( array_tmp ) ) deallocate( array_tmp )
  allocate( array_tmp(array_allsize) )
  call Get( var, array_tmp, domain )
  array = reshape( array_tmp, array_shape )
  deallocate( array_tmp )

                    

  call Close( var )

  !-------------------------------------
  !  データファイル名と切り出し範囲の印字
  !  Print data filename and clipping range
  call actual_iorange_dump(url, actual_url, 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 HistoryGetInt4
HistoryGetInt4( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt4

HistoryGetInt4( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt4

HistoryGetInt4( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt4

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:) :integer, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetInt4Pointer(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                      ! 使用方法に関しては HistoryGetPointer を参照してください.
  ! 
  ! See "HistoryGetPointer", for basic usage.
  !
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar
  use dc_present,only: present_select, present_and_true
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  character(*), intent(in):: file
  character(*), intent(in):: varname
  character(*), intent(in), optional:: range
  logical, intent(in), optional:: quiet
  integer, pointer :: array(:,:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

                    
  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 HistoryGetInt4Pointer
HistoryGetInt4Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:) :integer, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt4Pointer

HistoryGetInt4Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:) :integer, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt4Pointer

HistoryGetInt4Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:) :integer, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt4Pointer

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:) :integer, pointer
: (out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetInt4PointerTimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, pointer:: array(:,:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt4PointerTimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt4Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt4PointerTimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:) :integer, pointer
: (out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetInt4PointerTimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, pointer:: array(:,:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt4PointerTimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt4Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt4PointerTimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:) :integer, pointer
: (out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetInt4PointerTimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, pointer:: array(:,:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt4PointerTimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt4Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt4PointerTimeR
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:) :integer, intent(out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetInt4TimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, intent(out):: array(:,:,:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt4TimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt4( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt4TimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:) :integer, intent(out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetInt4TimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, intent(out):: array(:,:,:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt4TimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt4( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt4TimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:) :integer, intent(out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetInt4TimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, intent(out):: array(:,:,:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt4TimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt4( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt4TimeR
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:) :integer, intent(out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetInt5(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                      !
  ! 使用方法に関しては HistoryGet を参照してください.
  ! 
  ! See "HistoryGet", for basic usage.
  !
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar, Split, JoinChar, StoA
  use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
  use dc_present, only: present_select, present_and_not_empty, present_and_true
  use regex,      only: match
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
  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, allocatable:: array_tmp(:)
  integer:: array_allsize
  integer:: array_shape(5), data_shape(5)
  integer:: allcount

                    
  type(GT_VARIABLE)             :: var
  character(STRING)             :: url, actual_url
  integer:: rank
  integer:: domain   ! 変数の入出力領域の大きさ
                     ! (= 変数が依存する各次元サイズの積)
  integer:: stat
  character(STRING):: cause_c
  character(*), parameter :: subname = "HistoryGetInt5"

continue
  call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range)))
  cause_c = ''
  stat = DC_NOERR

                      !-------------------------------------
  !  配列形状の取得
  !  Get array shape
  array_shape = shape( array )
  array_allsize = size( array )
                    


  !-------------------------------------
  !  最新時刻の URL 取得
  !  Get URL of latest time
  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

  !-------------------------------------
  !  ファイルオープン
  !  File open
  call Open( var, url, err = err )

  if ( present_and_true(err) ) then
    stat = GT_ENOTURL
    cause_c = url
    goto 999
  end if

  !-------------------------------------
  !  配列形状のチェック
  !  Check array shape
  call Inquire( var = var, rank = rank )          ! (out)

  if ( .not. 5 == rank ) then
    if ( .not. present_and_true(quiet) ) then
      call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 5/), c1 = trim(url) )
    end if
    stat = GT_ERANKMISMATCH
    cause_c = 'array'
    goto 999
  end if
                                            call Inquire( var = var , dimord = 1, allcount = allcount )                      ! (out)
  data_shape(1) = allcount
                      
  call Inquire( var = var , dimord = 2, allcount = allcount )                      ! (out)
  data_shape(2) = allcount
                      
  call Inquire( var = var , dimord = 3, allcount = allcount )                      ! (out)
  data_shape(3) = allcount
                      
  call Inquire( var = var , dimord = 4, allcount = allcount )                      ! (out)
  data_shape(4) = allcount
                      
  call Inquire( var = var , dimord = 5, allcount = allcount )                      ! (out)
  data_shape(5) = allcount
                      

  if ( .not. all( array_shape == data_shape ) ) then
    if ( .not. present_and_true(quiet) ) then
      call MessageNotify('W', subname, 'Shape of data (%c) is (%c), shape of argument is (%c)', c1 = trim( url ), c2 = trim( toChar( data_shape ) ), c3 = trim( toChar( array_shape ) ) )
    end if
    stat = GT_EARGSIZEMISMATCH
    cause_c = 'array'
    goto 999
  end if
                    

  !-------------------------------------
  !  データ取得
  !  Get data
  call Inquire( var = var, size = domain )        ! (out)

                    
  if ( allocated( array_tmp ) ) deallocate( array_tmp )
  allocate( array_tmp(array_allsize) )
  call Get( var, array_tmp, domain )
  array = reshape( array_tmp, array_shape )
  deallocate( array_tmp )

                    

  call Close( var )

  !-------------------------------------
  !  データファイル名と切り出し範囲の印字
  !  Print data filename and clipping range
  call actual_iorange_dump(url, actual_url, 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 HistoryGetInt5
HistoryGetInt5( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt5

HistoryGetInt5( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt5

HistoryGetInt5( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt5

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:) :integer, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetInt5Pointer(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                      ! 使用方法に関しては HistoryGetPointer を参照してください.
  ! 
  ! See "HistoryGetPointer", for basic usage.
  !
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar
  use dc_present,only: present_select, present_and_true
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  character(*), intent(in):: file
  character(*), intent(in):: varname
  character(*), intent(in), optional:: range
  logical, intent(in), optional:: quiet
  integer, pointer :: array(:,:,:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

                    
  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 HistoryGetInt5Pointer
HistoryGetInt5Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:) :integer, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt5Pointer

HistoryGetInt5Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:) :integer, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt5Pointer

HistoryGetInt5Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:) :integer, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt5Pointer

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:) :integer, pointer
: (out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetInt5PointerTimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, pointer:: array(:,:,:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt5PointerTimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt5Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt5PointerTimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:) :integer, pointer
: (out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetInt5PointerTimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, pointer:: array(:,:,:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt5PointerTimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt5Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt5PointerTimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:) :integer, pointer
: (out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetInt5PointerTimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, pointer:: array(:,:,:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt5PointerTimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt5Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt5PointerTimeR
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:) :integer, intent(out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetInt5TimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, intent(out):: array(:,:,:,:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt5TimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt5( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt5TimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:) :integer, intent(out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetInt5TimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, intent(out):: array(:,:,:,:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt5TimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt5( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt5TimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:) :integer, intent(out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetInt5TimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, intent(out):: array(:,:,:,:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt5TimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt5( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt5TimeR
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:) :integer, intent(out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetInt6(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                      !
  ! 使用方法に関しては HistoryGet を参照してください.
  ! 
  ! See "HistoryGet", for basic usage.
  !
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar, Split, JoinChar, StoA
  use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
  use dc_present, only: present_select, present_and_not_empty, present_and_true
  use regex,      only: match
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
  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, allocatable:: array_tmp(:)
  integer:: array_allsize
  integer:: array_shape(6), data_shape(6)
  integer:: allcount

                    
  type(GT_VARIABLE)             :: var
  character(STRING)             :: url, actual_url
  integer:: rank
  integer:: domain   ! 変数の入出力領域の大きさ
                     ! (= 変数が依存する各次元サイズの積)
  integer:: stat
  character(STRING):: cause_c
  character(*), parameter :: subname = "HistoryGetInt6"

continue
  call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range)))
  cause_c = ''
  stat = DC_NOERR

                      !-------------------------------------
  !  配列形状の取得
  !  Get array shape
  array_shape = shape( array )
  array_allsize = size( array )
                    


  !-------------------------------------
  !  最新時刻の URL 取得
  !  Get URL of latest time
  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

  !-------------------------------------
  !  ファイルオープン
  !  File open
  call Open( var, url, err = err )

  if ( present_and_true(err) ) then
    stat = GT_ENOTURL
    cause_c = url
    goto 999
  end if

  !-------------------------------------
  !  配列形状のチェック
  !  Check array shape
  call Inquire( var = var, rank = rank )          ! (out)

  if ( .not. 6 == rank ) then
    if ( .not. present_and_true(quiet) ) then
      call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 6/), c1 = trim(url) )
    end if
    stat = GT_ERANKMISMATCH
    cause_c = 'array'
    goto 999
  end if
                                            call Inquire( var = var , dimord = 1, allcount = allcount )                      ! (out)
  data_shape(1) = allcount
                      
  call Inquire( var = var , dimord = 2, allcount = allcount )                      ! (out)
  data_shape(2) = allcount
                      
  call Inquire( var = var , dimord = 3, allcount = allcount )                      ! (out)
  data_shape(3) = allcount
                      
  call Inquire( var = var , dimord = 4, allcount = allcount )                      ! (out)
  data_shape(4) = allcount
                      
  call Inquire( var = var , dimord = 5, allcount = allcount )                      ! (out)
  data_shape(5) = allcount
                      
  call Inquire( var = var , dimord = 6, allcount = allcount )                      ! (out)
  data_shape(6) = allcount
                      

  if ( .not. all( array_shape == data_shape ) ) then
    if ( .not. present_and_true(quiet) ) then
      call MessageNotify('W', subname, 'Shape of data (%c) is (%c), shape of argument is (%c)', c1 = trim( url ), c2 = trim( toChar( data_shape ) ), c3 = trim( toChar( array_shape ) ) )
    end if
    stat = GT_EARGSIZEMISMATCH
    cause_c = 'array'
    goto 999
  end if
                    

  !-------------------------------------
  !  データ取得
  !  Get data
  call Inquire( var = var, size = domain )        ! (out)

                    
  if ( allocated( array_tmp ) ) deallocate( array_tmp )
  allocate( array_tmp(array_allsize) )
  call Get( var, array_tmp, domain )
  array = reshape( array_tmp, array_shape )
  deallocate( array_tmp )

                    

  call Close( var )

  !-------------------------------------
  !  データファイル名と切り出し範囲の印字
  !  Print data filename and clipping range
  call actual_iorange_dump(url, actual_url, 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 HistoryGetInt6
HistoryGetInt6( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt6

HistoryGetInt6( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt6

HistoryGetInt6( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt6

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:) :integer, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetInt6Pointer(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                      ! 使用方法に関しては HistoryGetPointer を参照してください.
  ! 
  ! See "HistoryGetPointer", for basic usage.
  !
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar
  use dc_present,only: present_select, present_and_true
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  character(*), intent(in):: file
  character(*), intent(in):: varname
  character(*), intent(in), optional:: range
  logical, intent(in), optional:: quiet
  integer, pointer :: array(:,:,:,:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

                    
  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 HistoryGetInt6Pointer
HistoryGetInt6Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:) :integer, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt6Pointer

HistoryGetInt6Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:) :integer, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt6Pointer

HistoryGetInt6Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:) :integer, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt6Pointer

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:) :integer, pointer
: (out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetInt6PointerTimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, pointer:: array(:,:,:,:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt6PointerTimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt6Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt6PointerTimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:) :integer, pointer
: (out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetInt6PointerTimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, pointer:: array(:,:,:,:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt6PointerTimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt6Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt6PointerTimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:) :integer, pointer
: (out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetInt6PointerTimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, pointer:: array(:,:,:,:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt6PointerTimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt6Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt6PointerTimeR
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:) :integer, intent(out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetInt6TimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, intent(out):: array(:,:,:,:,:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt6TimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt6( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt6TimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:) :integer, intent(out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetInt6TimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, intent(out):: array(:,:,:,:,:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt6TimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt6( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt6TimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:) :integer, intent(out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetInt6TimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, intent(out):: array(:,:,:,:,:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt6TimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt6( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt6TimeR
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:,:) :integer, intent(out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetInt7(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                      !
  ! 使用方法に関しては HistoryGet を参照してください.
  ! 
  ! See "HistoryGet", for basic usage.
  !
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar, Split, JoinChar, StoA
  use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
  use dc_present, only: present_select, present_and_not_empty, present_and_true
  use regex,      only: match
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
  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, allocatable:: array_tmp(:)
  integer:: array_allsize
  integer:: array_shape(7), data_shape(7)
  integer:: allcount

                    
  type(GT_VARIABLE)             :: var
  character(STRING)             :: url, actual_url
  integer:: rank
  integer:: domain   ! 変数の入出力領域の大きさ
                     ! (= 変数が依存する各次元サイズの積)
  integer:: stat
  character(STRING):: cause_c
  character(*), parameter :: subname = "HistoryGetInt7"

continue
  call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range)))
  cause_c = ''
  stat = DC_NOERR

                      !-------------------------------------
  !  配列形状の取得
  !  Get array shape
  array_shape = shape( array )
  array_allsize = size( array )
                    


  !-------------------------------------
  !  最新時刻の URL 取得
  !  Get URL of latest time
  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

  !-------------------------------------
  !  ファイルオープン
  !  File open
  call Open( var, url, err = err )

  if ( present_and_true(err) ) then
    stat = GT_ENOTURL
    cause_c = url
    goto 999
  end if

  !-------------------------------------
  !  配列形状のチェック
  !  Check array shape
  call Inquire( var = var, rank = rank )          ! (out)

  if ( .not. 7 == rank ) then
    if ( .not. present_and_true(quiet) ) then
      call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 7/), c1 = trim(url) )
    end if
    stat = GT_ERANKMISMATCH
    cause_c = 'array'
    goto 999
  end if
                                            call Inquire( var = var , dimord = 1, allcount = allcount )                      ! (out)
  data_shape(1) = allcount
                      
  call Inquire( var = var , dimord = 2, allcount = allcount )                      ! (out)
  data_shape(2) = allcount
                      
  call Inquire( var = var , dimord = 3, allcount = allcount )                      ! (out)
  data_shape(3) = allcount
                      
  call Inquire( var = var , dimord = 4, allcount = allcount )                      ! (out)
  data_shape(4) = allcount
                      
  call Inquire( var = var , dimord = 5, allcount = allcount )                      ! (out)
  data_shape(5) = allcount
                      
  call Inquire( var = var , dimord = 6, allcount = allcount )                      ! (out)
  data_shape(6) = allcount
                      
  call Inquire( var = var , dimord = 7, allcount = allcount )                      ! (out)
  data_shape(7) = allcount
                      

  if ( .not. all( array_shape == data_shape ) ) then
    if ( .not. present_and_true(quiet) ) then
      call MessageNotify('W', subname, 'Shape of data (%c) is (%c), shape of argument is (%c)', c1 = trim( url ), c2 = trim( toChar( data_shape ) ), c3 = trim( toChar( array_shape ) ) )
    end if
    stat = GT_EARGSIZEMISMATCH
    cause_c = 'array'
    goto 999
  end if
                    

  !-------------------------------------
  !  データ取得
  !  Get data
  call Inquire( var = var, size = domain )        ! (out)

                    
  if ( allocated( array_tmp ) ) deallocate( array_tmp )
  allocate( array_tmp(array_allsize) )
  call Get( var, array_tmp, domain )
  array = reshape( array_tmp, array_shape )
  deallocate( array_tmp )

                    

  call Close( var )

  !-------------------------------------
  !  データファイル名と切り出し範囲の印字
  !  Print data filename and clipping range
  call actual_iorange_dump(url, actual_url, 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 HistoryGetInt7
HistoryGetInt7( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt7

HistoryGetInt7( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt7

HistoryGetInt7( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt7

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:,:) :integer, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetInt7Pointer(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                      ! 使用方法に関しては HistoryGetPointer を参照してください.
  ! 
  ! See "HistoryGetPointer", for basic usage.
  !
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar
  use dc_present,only: present_select, present_and_true
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  character(*), intent(in):: file
  character(*), intent(in):: varname
  character(*), intent(in), optional:: range
  logical, intent(in), optional:: quiet
  integer, pointer :: array(:,:,:,:,:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

                    
  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 HistoryGetInt7Pointer
HistoryGetInt7Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:,:) :integer, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt7Pointer

HistoryGetInt7Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:,:) :integer, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt7Pointer

HistoryGetInt7Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:,:) :integer, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetInt7Pointer

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:,:) :integer, pointer
: (out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetInt7PointerTimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, pointer:: array(:,:,:,:,:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt7PointerTimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt7Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt7PointerTimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:,:) :integer, pointer
: (out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetInt7PointerTimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, pointer:: array(:,:,:,:,:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt7PointerTimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt7Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt7PointerTimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:,:) :integer, pointer
: (out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetInt7PointerTimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, pointer:: array(:,:,:,:,:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt7PointerTimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt7Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt7PointerTimeR
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:,:) :integer, intent(out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetInt7TimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, intent(out):: array(:,:,:,:,:,:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt7TimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt7( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt7TimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:,:) :integer, intent(out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetInt7TimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, intent(out):: array(:,:,:,:,:,:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt7TimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt7( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt7TimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:,:) :integer, intent(out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetInt7TimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      integer, intent(out):: array(:,:,:,:,:,:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetInt7TimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetInt7( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetInt7TimeR
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array :real, intent(out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetReal0(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                      !
  ! 使用方法に関しては HistoryGet を参照してください.
  ! 
  ! See "HistoryGet", for basic usage.
  !
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar, Split, JoinChar, StoA
  use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
  use dc_present, only: present_select, present_and_not_empty, present_and_true
  use regex,      only: match
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
  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)
                    
  type(GT_VARIABLE)             :: var
  character(STRING)             :: url, actual_url
  integer:: rank
  integer:: domain   ! 変数の入出力領域の大きさ
                     ! (= 変数が依存する各次元サイズの積)
  integer:: stat
  character(STRING):: cause_c
  character(*), parameter :: subname = "HistoryGetReal0"

continue
  call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range)))
  cause_c = ''
  stat = DC_NOERR

                                        


  !-------------------------------------
  !  最新時刻の URL 取得
  !  Get URL of latest time
  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

  !-------------------------------------
  !  ファイルオープン
  !  File open
  call Open( var, url, err = err )

  if ( present_and_true(err) ) then
    stat = GT_ENOTURL
    cause_c = url
    goto 999
  end if

  !-------------------------------------
  !  配列形状のチェック
  !  Check array shape
  call Inquire( var = var, rank = rank )          ! (out)

  if ( .not. 0 == rank ) then
    if ( .not. present_and_true(quiet) ) then
      call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 0/), c1 = trim(url) )
    end if
    stat = GT_ERANKMISMATCH
    cause_c = 'array'
    goto 999
  end if
                                        

  !-------------------------------------
  !  データ取得
  !  Get data
  call Inquire( var = var, size = domain )        ! (out)

                    
  call Get( var = var, nvalue = domain, value = array_tmp) ! (out)
  array = array_tmp(1)

                    

  call Close( var )

  !-------------------------------------
  !  データファイル名と切り出し範囲の印字
  !  Print data filename and clipping range
  call actual_iorange_dump(url, actual_url, 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 HistoryGetReal0
HistoryGetReal0( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal0

HistoryGetReal0( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal0

HistoryGetReal0( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal0

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array :real, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetReal0Pointer(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                      ! 使用方法に関しては HistoryGetPointer を参照してください.
  ! 
  ! See "HistoryGetPointer", for basic usage.
  !
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar
  use dc_present,only: present_select, present_and_true
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  character(*), intent(in):: file
  character(*), intent(in):: varname
  character(*), intent(in), optional:: range
  logical, intent(in), optional:: quiet
  real, pointer :: array ! (out)
                    
  logical, intent(out), optional:: err

                      real, target :: array_tmp(1)
  integer:: domain            ! 変数の入出力領域の大きさ
                              ! (= 変数が依存する各次元サイズの積)
                    
  type(GT_VARIABLE)                  :: var
  character(STRING)                  :: url, actual_url
  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 DbgMessage('@ url =%c', c1=trim(url))
  ! いよいよデータ取得
  call Open(var, url, err)

                    
  call Inquire(var=var, size=domain)
  call Get(var, array_tmp, domain, err)
  array = array_tmp(1)

                    

  call Close(var, err)
  call actual_iorange_dump(url, actual_url, 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 HistoryGetReal0Pointer
HistoryGetReal0Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array :real, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal0Pointer

HistoryGetReal0Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array :real, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal0Pointer

HistoryGetReal0Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array :real, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal0Pointer

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array :real, pointer
: (out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetReal0PointerTimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      real, pointer:: array ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal0PointerTimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal0Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal0PointerTimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array :real, pointer
: (out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetReal0PointerTimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      real, pointer:: array ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal0PointerTimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal0Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal0PointerTimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array :real, pointer
: (out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetReal0PointerTimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      real, pointer:: array ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal0PointerTimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal0Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal0PointerTimeR
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array :real, intent(out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetReal0TimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      real, intent(out):: array
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal0TimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal0( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal0TimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array :real, intent(out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetReal0TimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      real, intent(out):: array
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal0TimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal0( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal0TimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array :real, intent(out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetReal0TimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      real, intent(out):: array
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal0TimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal0( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal0TimeR
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:) :real, intent(out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetReal1(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                      !
  ! 使用方法に関しては HistoryGet を参照してください.
  ! 
  ! See "HistoryGet", for basic usage.
  !
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar, Split, JoinChar, StoA
  use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
  use dc_present, only: present_select, present_and_not_empty, present_and_true
  use regex,      only: match
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
  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, allocatable:: array_tmp(:)
  integer:: array_allsize
  integer:: array_shape(1), data_shape(1)
  integer:: allcount

                    
  type(GT_VARIABLE)             :: var
  character(STRING)             :: url, actual_url
  integer:: rank
  integer:: domain   ! 変数の入出力領域の大きさ
                     ! (= 変数が依存する各次元サイズの積)
  integer:: stat
  character(STRING):: cause_c
  character(*), parameter :: subname = "HistoryGetReal1"

continue
  call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range)))
  cause_c = ''
  stat = DC_NOERR

                      !-------------------------------------
  !  配列形状の取得
  !  Get array shape
  array_shape = shape( array )
  array_allsize = size( array )
                    


  !-------------------------------------
  !  最新時刻の URL 取得
  !  Get URL of latest time
  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

  !-------------------------------------
  !  ファイルオープン
  !  File open
  call Open( var, url, err = err )

  if ( present_and_true(err) ) then
    stat = GT_ENOTURL
    cause_c = url
    goto 999
  end if

  !-------------------------------------
  !  配列形状のチェック
  !  Check array shape
  call Inquire( var = var, rank = rank )          ! (out)

  if ( .not. 1 == rank ) then
    if ( .not. present_and_true(quiet) ) then
      call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 1/), c1 = trim(url) )
    end if
    stat = GT_ERANKMISMATCH
    cause_c = 'array'
    goto 999
  end if
                                            call Inquire( var = var , dimord = 1, allcount = allcount )                      ! (out)
  data_shape(1) = allcount
                      

  if ( .not. all( array_shape == data_shape ) ) then
    if ( .not. present_and_true(quiet) ) then
      call MessageNotify('W', subname, 'Shape of data (%c) is (%c), shape of argument is (%c)', c1 = trim( url ), c2 = trim( toChar( data_shape ) ), c3 = trim( toChar( array_shape ) ) )
    end if
    stat = GT_EARGSIZEMISMATCH
    cause_c = 'array'
    goto 999
  end if
                    

  !-------------------------------------
  !  データ取得
  !  Get data
  call Inquire( var = var, size = domain )        ! (out)

                    
  if ( allocated( array_tmp ) ) deallocate( array_tmp )
  allocate( array_tmp(array_allsize) )
  call Get( var, array_tmp, domain )
  array = reshape( array_tmp, array_shape )
  deallocate( array_tmp )

                    

  call Close( var )

  !-------------------------------------
  !  データファイル名と切り出し範囲の印字
  !  Print data filename and clipping range
  call actual_iorange_dump(url, actual_url, 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 HistoryGetReal1
HistoryGetReal1( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal1

HistoryGetReal1( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal1

HistoryGetReal1( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal1

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:) :real, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetReal1Pointer(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                      ! 使用方法に関しては HistoryGetPointer を参照してください.
  ! 
  ! See "HistoryGetPointer", for basic usage.
  !
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar
  use dc_present,only: present_select, present_and_true
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  character(*), intent(in):: file
  character(*), intent(in):: varname
  character(*), intent(in), optional:: range
  logical, intent(in), optional:: quiet
  real, pointer :: array(:) ! (out)
                    
  logical, intent(out), optional:: err

                    
  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 HistoryGetReal1Pointer
HistoryGetReal1Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:) :real, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal1Pointer

HistoryGetReal1Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:) :real, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal1Pointer

HistoryGetReal1Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:) :real, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal1Pointer

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:) :real, pointer
: (out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetReal1PointerTimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      real, pointer:: array(:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal1PointerTimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal1Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal1PointerTimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:) :real, pointer
: (out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetReal1PointerTimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      real, pointer:: array(:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal1PointerTimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal1Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal1PointerTimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:) :real, pointer
: (out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetReal1PointerTimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      real, pointer:: array(:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal1PointerTimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal1Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal1PointerTimeR
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:) :real, intent(out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetReal1TimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      real, intent(out):: array(:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal1TimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal1( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal1TimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:) :real, intent(out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetReal1TimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      real, intent(out):: array(:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal1TimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal1( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal1TimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:) :real, intent(out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetReal1TimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      real, intent(out):: array(:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal1TimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal1( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal1TimeR
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:) :real, intent(out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetReal2(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                      !
  ! 使用方法に関しては HistoryGet を参照してください.
  ! 
  ! See "HistoryGet", for basic usage.
  !
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar, Split, JoinChar, StoA
  use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
  use dc_present, only: present_select, present_and_not_empty, present_and_true
  use regex,      only: match
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
  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, allocatable:: array_tmp(:)
  integer:: array_allsize
  integer:: array_shape(2), data_shape(2)
  integer:: allcount

                    
  type(GT_VARIABLE)             :: var
  character(STRING)             :: url, actual_url
  integer:: rank
  integer:: domain   ! 変数の入出力領域の大きさ
                     ! (= 変数が依存する各次元サイズの積)
  integer:: stat
  character(STRING):: cause_c
  character(*), parameter :: subname = "HistoryGetReal2"

continue
  call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range)))
  cause_c = ''
  stat = DC_NOERR

                      !-------------------------------------
  !  配列形状の取得
  !  Get array shape
  array_shape = shape( array )
  array_allsize = size( array )
                    


  !-------------------------------------
  !  最新時刻の URL 取得
  !  Get URL of latest time
  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

  !-------------------------------------
  !  ファイルオープン
  !  File open
  call Open( var, url, err = err )

  if ( present_and_true(err) ) then
    stat = GT_ENOTURL
    cause_c = url
    goto 999
  end if

  !-------------------------------------
  !  配列形状のチェック
  !  Check array shape
  call Inquire( var = var, rank = rank )          ! (out)

  if ( .not. 2 == rank ) then
    if ( .not. present_and_true(quiet) ) then
      call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 2/), c1 = trim(url) )
    end if
    stat = GT_ERANKMISMATCH
    cause_c = 'array'
    goto 999
  end if
                                            call Inquire( var = var , dimord = 1, allcount = allcount )                      ! (out)
  data_shape(1) = allcount
                      
  call Inquire( var = var , dimord = 2, allcount = allcount )                      ! (out)
  data_shape(2) = allcount
                      

  if ( .not. all( array_shape == data_shape ) ) then
    if ( .not. present_and_true(quiet) ) then
      call MessageNotify('W', subname, 'Shape of data (%c) is (%c), shape of argument is (%c)', c1 = trim( url ), c2 = trim( toChar( data_shape ) ), c3 = trim( toChar( array_shape ) ) )
    end if
    stat = GT_EARGSIZEMISMATCH
    cause_c = 'array'
    goto 999
  end if
                    

  !-------------------------------------
  !  データ取得
  !  Get data
  call Inquire( var = var, size = domain )        ! (out)

                    
  if ( allocated( array_tmp ) ) deallocate( array_tmp )
  allocate( array_tmp(array_allsize) )
  call Get( var, array_tmp, domain )
  array = reshape( array_tmp, array_shape )
  deallocate( array_tmp )

                    

  call Close( var )

  !-------------------------------------
  !  データファイル名と切り出し範囲の印字
  !  Print data filename and clipping range
  call actual_iorange_dump(url, actual_url, 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 HistoryGetReal2
HistoryGetReal2( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal2

HistoryGetReal2( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal2

HistoryGetReal2( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal2

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:) :real, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetReal2Pointer(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                      ! 使用方法に関しては HistoryGetPointer を参照してください.
  ! 
  ! See "HistoryGetPointer", for basic usage.
  !
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar
  use dc_present,only: present_select, present_and_true
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  character(*), intent(in):: file
  character(*), intent(in):: varname
  character(*), intent(in), optional:: range
  logical, intent(in), optional:: quiet
  real, pointer :: array(:,:) ! (out)
                    
  logical, intent(out), optional:: err

                    
  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 HistoryGetReal2Pointer
HistoryGetReal2Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:) :real, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal2Pointer

HistoryGetReal2Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:) :real, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal2Pointer

HistoryGetReal2Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:) :real, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal2Pointer

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:) :real, pointer
: (out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetReal2PointerTimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      real, pointer:: array(:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal2PointerTimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal2Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal2PointerTimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:) :real, pointer
: (out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetReal2PointerTimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      real, pointer:: array(:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal2PointerTimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal2Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal2PointerTimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:) :real, pointer
: (out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetReal2PointerTimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      real, pointer:: array(:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal2PointerTimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal2Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal2PointerTimeR
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:) :real, intent(out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetReal2TimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      real, intent(out):: array(:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal2TimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal2( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal2TimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:) :real, intent(out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetReal2TimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      real, intent(out):: array(:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal2TimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal2( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal2TimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:) :real, intent(out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetReal2TimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      real, intent(out):: array(:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal2TimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal2( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal2TimeR
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:) :real, intent(out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetReal3(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                      !
  ! 使用方法に関しては HistoryGet を参照してください.
  ! 
  ! See "HistoryGet", for basic usage.
  !
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar, Split, JoinChar, StoA
  use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
  use dc_present, only: present_select, present_and_not_empty, present_and_true
  use regex,      only: match
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
  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, allocatable:: array_tmp(:)
  integer:: array_allsize
  integer:: array_shape(3), data_shape(3)
  integer:: allcount

                    
  type(GT_VARIABLE)             :: var
  character(STRING)             :: url, actual_url
  integer:: rank
  integer:: domain   ! 変数の入出力領域の大きさ
                     ! (= 変数が依存する各次元サイズの積)
  integer:: stat
  character(STRING):: cause_c
  character(*), parameter :: subname = "HistoryGetReal3"

continue
  call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range)))
  cause_c = ''
  stat = DC_NOERR

                      !-------------------------------------
  !  配列形状の取得
  !  Get array shape
  array_shape = shape( array )
  array_allsize = size( array )
                    


  !-------------------------------------
  !  最新時刻の URL 取得
  !  Get URL of latest time
  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

  !-------------------------------------
  !  ファイルオープン
  !  File open
  call Open( var, url, err = err )

  if ( present_and_true(err) ) then
    stat = GT_ENOTURL
    cause_c = url
    goto 999
  end if

  !-------------------------------------
  !  配列形状のチェック
  !  Check array shape
  call Inquire( var = var, rank = rank )          ! (out)

  if ( .not. 3 == rank ) then
    if ( .not. present_and_true(quiet) ) then
      call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 3/), c1 = trim(url) )
    end if
    stat = GT_ERANKMISMATCH
    cause_c = 'array'
    goto 999
  end if
                                            call Inquire( var = var , dimord = 1, allcount = allcount )                      ! (out)
  data_shape(1) = allcount
                      
  call Inquire( var = var , dimord = 2, allcount = allcount )                      ! (out)
  data_shape(2) = allcount
                      
  call Inquire( var = var , dimord = 3, allcount = allcount )                      ! (out)
  data_shape(3) = allcount
                      

  if ( .not. all( array_shape == data_shape ) ) then
    if ( .not. present_and_true(quiet) ) then
      call MessageNotify('W', subname, 'Shape of data (%c) is (%c), shape of argument is (%c)', c1 = trim( url ), c2 = trim( toChar( data_shape ) ), c3 = trim( toChar( array_shape ) ) )
    end if
    stat = GT_EARGSIZEMISMATCH
    cause_c = 'array'
    goto 999
  end if
                    

  !-------------------------------------
  !  データ取得
  !  Get data
  call Inquire( var = var, size = domain )        ! (out)

                    
  if ( allocated( array_tmp ) ) deallocate( array_tmp )
  allocate( array_tmp(array_allsize) )
  call Get( var, array_tmp, domain )
  array = reshape( array_tmp, array_shape )
  deallocate( array_tmp )

                    

  call Close( var )

  !-------------------------------------
  !  データファイル名と切り出し範囲の印字
  !  Print data filename and clipping range
  call actual_iorange_dump(url, actual_url, 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 HistoryGetReal3
HistoryGetReal3( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal3

HistoryGetReal3( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal3

HistoryGetReal3( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal3

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:) :real, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetReal3Pointer(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                      ! 使用方法に関しては HistoryGetPointer を参照してください.
  ! 
  ! See "HistoryGetPointer", for basic usage.
  !
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar
  use dc_present,only: present_select, present_and_true
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  character(*), intent(in):: file
  character(*), intent(in):: varname
  character(*), intent(in), optional:: range
  logical, intent(in), optional:: quiet
  real, pointer :: array(:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

                    
  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 HistoryGetReal3Pointer
HistoryGetReal3Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:) :real, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal3Pointer

HistoryGetReal3Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:) :real, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal3Pointer

HistoryGetReal3Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:) :real, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal3Pointer

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:) :real, pointer
: (out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetReal3PointerTimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      real, pointer:: array(:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal3PointerTimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal3Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal3PointerTimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:) :real, pointer
: (out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetReal3PointerTimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      real, pointer:: array(:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal3PointerTimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal3Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal3PointerTimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:) :real, pointer
: (out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetReal3PointerTimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      real, pointer:: array(:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal3PointerTimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal3Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal3PointerTimeR
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:) :real, intent(out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetReal3TimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      real, intent(out):: array(:,:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal3TimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal3( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal3TimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:) :real, intent(out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetReal3TimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      real, intent(out):: array(:,:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal3TimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal3( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal3TimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:) :real, intent(out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetReal3TimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      real, intent(out):: array(:,:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal3TimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal3( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal3TimeR
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:) :real, intent(out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetReal4(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                      !
  ! 使用方法に関しては HistoryGet を参照してください.
  ! 
  ! See "HistoryGet", for basic usage.
  !
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar, Split, JoinChar, StoA
  use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
  use dc_present, only: present_select, present_and_not_empty, present_and_true
  use regex,      only: match
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
  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, allocatable:: array_tmp(:)
  integer:: array_allsize
  integer:: array_shape(4), data_shape(4)
  integer:: allcount

                    
  type(GT_VARIABLE)             :: var
  character(STRING)             :: url, actual_url
  integer:: rank
  integer:: domain   ! 変数の入出力領域の大きさ
                     ! (= 変数が依存する各次元サイズの積)
  integer:: stat
  character(STRING):: cause_c
  character(*), parameter :: subname = "HistoryGetReal4"

continue
  call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range)))
  cause_c = ''
  stat = DC_NOERR

                      !-------------------------------------
  !  配列形状の取得
  !  Get array shape
  array_shape = shape( array )
  array_allsize = size( array )
                    


  !-------------------------------------
  !  最新時刻の URL 取得
  !  Get URL of latest time
  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

  !-------------------------------------
  !  ファイルオープン
  !  File open
  call Open( var, url, err = err )

  if ( present_and_true(err) ) then
    stat = GT_ENOTURL
    cause_c = url
    goto 999
  end if

  !-------------------------------------
  !  配列形状のチェック
  !  Check array shape
  call Inquire( var = var, rank = rank )          ! (out)

  if ( .not. 4 == rank ) then
    if ( .not. present_and_true(quiet) ) then
      call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 4/), c1 = trim(url) )
    end if
    stat = GT_ERANKMISMATCH
    cause_c = 'array'
    goto 999
  end if
                                            call Inquire( var = var , dimord = 1, allcount = allcount )                      ! (out)
  data_shape(1) = allcount
                      
  call Inquire( var = var , dimord = 2, allcount = allcount )                      ! (out)
  data_shape(2) = allcount
                      
  call Inquire( var = var , dimord = 3, allcount = allcount )                      ! (out)
  data_shape(3) = allcount
                      
  call Inquire( var = var , dimord = 4, allcount = allcount )                      ! (out)
  data_shape(4) = allcount
                      

  if ( .not. all( array_shape == data_shape ) ) then
    if ( .not. present_and_true(quiet) ) then
      call MessageNotify('W', subname, 'Shape of data (%c) is (%c), shape of argument is (%c)', c1 = trim( url ), c2 = trim( toChar( data_shape ) ), c3 = trim( toChar( array_shape ) ) )
    end if
    stat = GT_EARGSIZEMISMATCH
    cause_c = 'array'
    goto 999
  end if
                    

  !-------------------------------------
  !  データ取得
  !  Get data
  call Inquire( var = var, size = domain )        ! (out)

                    
  if ( allocated( array_tmp ) ) deallocate( array_tmp )
  allocate( array_tmp(array_allsize) )
  call Get( var, array_tmp, domain )
  array = reshape( array_tmp, array_shape )
  deallocate( array_tmp )

                    

  call Close( var )

  !-------------------------------------
  !  データファイル名と切り出し範囲の印字
  !  Print data filename and clipping range
  call actual_iorange_dump(url, actual_url, 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 HistoryGetReal4
HistoryGetReal4( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal4

HistoryGetReal4( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal4

HistoryGetReal4( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal4

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:) :real, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetReal4Pointer(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                      ! 使用方法に関しては HistoryGetPointer を参照してください.
  ! 
  ! See "HistoryGetPointer", for basic usage.
  !
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar
  use dc_present,only: present_select, present_and_true
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  character(*), intent(in):: file
  character(*), intent(in):: varname
  character(*), intent(in), optional:: range
  logical, intent(in), optional:: quiet
  real, pointer :: array(:,:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

                    
  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 HistoryGetReal4Pointer
HistoryGetReal4Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:) :real, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal4Pointer

HistoryGetReal4Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:) :real, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal4Pointer

HistoryGetReal4Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:) :real, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal4Pointer

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:) :real, pointer
: (out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetReal4PointerTimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      real, pointer:: array(:,:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal4PointerTimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal4Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal4PointerTimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:) :real, pointer
: (out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetReal4PointerTimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      real, pointer:: array(:,:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal4PointerTimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal4Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal4PointerTimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:) :real, pointer
: (out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetReal4PointerTimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      real, pointer:: array(:,:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal4PointerTimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal4Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal4PointerTimeR
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:) :real, intent(out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetReal4TimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      real, intent(out):: array(:,:,:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal4TimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal4( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal4TimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:) :real, intent(out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetReal4TimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      real, intent(out):: array(:,:,:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal4TimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal4( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal4TimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:) :real, intent(out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetReal4TimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      real, intent(out):: array(:,:,:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal4TimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal4( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal4TimeR
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:) :real, intent(out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetReal5(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                      !
  ! 使用方法に関しては HistoryGet を参照してください.
  ! 
  ! See "HistoryGet", for basic usage.
  !
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar, Split, JoinChar, StoA
  use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
  use dc_present, only: present_select, present_and_not_empty, present_and_true
  use regex,      only: match
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
  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, allocatable:: array_tmp(:)
  integer:: array_allsize
  integer:: array_shape(5), data_shape(5)
  integer:: allcount

                    
  type(GT_VARIABLE)             :: var
  character(STRING)             :: url, actual_url
  integer:: rank
  integer:: domain   ! 変数の入出力領域の大きさ
                     ! (= 変数が依存する各次元サイズの積)
  integer:: stat
  character(STRING):: cause_c
  character(*), parameter :: subname = "HistoryGetReal5"

continue
  call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range)))
  cause_c = ''
  stat = DC_NOERR

                      !-------------------------------------
  !  配列形状の取得
  !  Get array shape
  array_shape = shape( array )
  array_allsize = size( array )
                    


  !-------------------------------------
  !  最新時刻の URL 取得
  !  Get URL of latest time
  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

  !-------------------------------------
  !  ファイルオープン
  !  File open
  call Open( var, url, err = err )

  if ( present_and_true(err) ) then
    stat = GT_ENOTURL
    cause_c = url
    goto 999
  end if

  !-------------------------------------
  !  配列形状のチェック
  !  Check array shape
  call Inquire( var = var, rank = rank )          ! (out)

  if ( .not. 5 == rank ) then
    if ( .not. present_and_true(quiet) ) then
      call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 5/), c1 = trim(url) )
    end if
    stat = GT_ERANKMISMATCH
    cause_c = 'array'
    goto 999
  end if
                                            call Inquire( var = var , dimord = 1, allcount = allcount )                      ! (out)
  data_shape(1) = allcount
                      
  call Inquire( var = var , dimord = 2, allcount = allcount )                      ! (out)
  data_shape(2) = allcount
                      
  call Inquire( var = var , dimord = 3, allcount = allcount )                      ! (out)
  data_shape(3) = allcount
                      
  call Inquire( var = var , dimord = 4, allcount = allcount )                      ! (out)
  data_shape(4) = allcount
                      
  call Inquire( var = var , dimord = 5, allcount = allcount )                      ! (out)
  data_shape(5) = allcount
                      

  if ( .not. all( array_shape == data_shape ) ) then
    if ( .not. present_and_true(quiet) ) then
      call MessageNotify('W', subname, 'Shape of data (%c) is (%c), shape of argument is (%c)', c1 = trim( url ), c2 = trim( toChar( data_shape ) ), c3 = trim( toChar( array_shape ) ) )
    end if
    stat = GT_EARGSIZEMISMATCH
    cause_c = 'array'
    goto 999
  end if
                    

  !-------------------------------------
  !  データ取得
  !  Get data
  call Inquire( var = var, size = domain )        ! (out)

                    
  if ( allocated( array_tmp ) ) deallocate( array_tmp )
  allocate( array_tmp(array_allsize) )
  call Get( var, array_tmp, domain )
  array = reshape( array_tmp, array_shape )
  deallocate( array_tmp )

                    

  call Close( var )

  !-------------------------------------
  !  データファイル名と切り出し範囲の印字
  !  Print data filename and clipping range
  call actual_iorange_dump(url, actual_url, 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 HistoryGetReal5
HistoryGetReal5( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal5

HistoryGetReal5( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal5

HistoryGetReal5( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal5

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:) :real, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetReal5Pointer(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                      ! 使用方法に関しては HistoryGetPointer を参照してください.
  ! 
  ! See "HistoryGetPointer", for basic usage.
  !
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar
  use dc_present,only: present_select, present_and_true
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  character(*), intent(in):: file
  character(*), intent(in):: varname
  character(*), intent(in), optional:: range
  logical, intent(in), optional:: quiet
  real, pointer :: array(:,:,:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

                    
  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 HistoryGetReal5Pointer
HistoryGetReal5Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:) :real, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal5Pointer

HistoryGetReal5Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:) :real, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal5Pointer

HistoryGetReal5Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:) :real, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal5Pointer

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:) :real, pointer
: (out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetReal5PointerTimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      real, pointer:: array(:,:,:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal5PointerTimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal5Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal5PointerTimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:) :real, pointer
: (out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetReal5PointerTimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      real, pointer:: array(:,:,:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal5PointerTimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal5Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal5PointerTimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:) :real, pointer
: (out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetReal5PointerTimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      real, pointer:: array(:,:,:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal5PointerTimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal5Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal5PointerTimeR
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:) :real, intent(out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetReal5TimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      real, intent(out):: array(:,:,:,:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal5TimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal5( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal5TimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:) :real, intent(out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetReal5TimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      real, intent(out):: array(:,:,:,:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal5TimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal5( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal5TimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:) :real, intent(out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetReal5TimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      real, intent(out):: array(:,:,:,:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal5TimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal5( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal5TimeR
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:) :real, intent(out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetReal6(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                      !
  ! 使用方法に関しては HistoryGet を参照してください.
  ! 
  ! See "HistoryGet", for basic usage.
  !
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar, Split, JoinChar, StoA
  use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
  use dc_present, only: present_select, present_and_not_empty, present_and_true
  use regex,      only: match
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
  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, allocatable:: array_tmp(:)
  integer:: array_allsize
  integer:: array_shape(6), data_shape(6)
  integer:: allcount

                    
  type(GT_VARIABLE)             :: var
  character(STRING)             :: url, actual_url
  integer:: rank
  integer:: domain   ! 変数の入出力領域の大きさ
                     ! (= 変数が依存する各次元サイズの積)
  integer:: stat
  character(STRING):: cause_c
  character(*), parameter :: subname = "HistoryGetReal6"

continue
  call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range)))
  cause_c = ''
  stat = DC_NOERR

                      !-------------------------------------
  !  配列形状の取得
  !  Get array shape
  array_shape = shape( array )
  array_allsize = size( array )
                    


  !-------------------------------------
  !  最新時刻の URL 取得
  !  Get URL of latest time
  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

  !-------------------------------------
  !  ファイルオープン
  !  File open
  call Open( var, url, err = err )

  if ( present_and_true(err) ) then
    stat = GT_ENOTURL
    cause_c = url
    goto 999
  end if

  !-------------------------------------
  !  配列形状のチェック
  !  Check array shape
  call Inquire( var = var, rank = rank )          ! (out)

  if ( .not. 6 == rank ) then
    if ( .not. present_and_true(quiet) ) then
      call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 6/), c1 = trim(url) )
    end if
    stat = GT_ERANKMISMATCH
    cause_c = 'array'
    goto 999
  end if
                                            call Inquire( var = var , dimord = 1, allcount = allcount )                      ! (out)
  data_shape(1) = allcount
                      
  call Inquire( var = var , dimord = 2, allcount = allcount )                      ! (out)
  data_shape(2) = allcount
                      
  call Inquire( var = var , dimord = 3, allcount = allcount )                      ! (out)
  data_shape(3) = allcount
                      
  call Inquire( var = var , dimord = 4, allcount = allcount )                      ! (out)
  data_shape(4) = allcount
                      
  call Inquire( var = var , dimord = 5, allcount = allcount )                      ! (out)
  data_shape(5) = allcount
                      
  call Inquire( var = var , dimord = 6, allcount = allcount )                      ! (out)
  data_shape(6) = allcount
                      

  if ( .not. all( array_shape == data_shape ) ) then
    if ( .not. present_and_true(quiet) ) then
      call MessageNotify('W', subname, 'Shape of data (%c) is (%c), shape of argument is (%c)', c1 = trim( url ), c2 = trim( toChar( data_shape ) ), c3 = trim( toChar( array_shape ) ) )
    end if
    stat = GT_EARGSIZEMISMATCH
    cause_c = 'array'
    goto 999
  end if
                    

  !-------------------------------------
  !  データ取得
  !  Get data
  call Inquire( var = var, size = domain )        ! (out)

                    
  if ( allocated( array_tmp ) ) deallocate( array_tmp )
  allocate( array_tmp(array_allsize) )
  call Get( var, array_tmp, domain )
  array = reshape( array_tmp, array_shape )
  deallocate( array_tmp )

                    

  call Close( var )

  !-------------------------------------
  !  データファイル名と切り出し範囲の印字
  !  Print data filename and clipping range
  call actual_iorange_dump(url, actual_url, 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 HistoryGetReal6
HistoryGetReal6( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal6

HistoryGetReal6( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal6

HistoryGetReal6( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal6

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:) :real, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetReal6Pointer(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                      ! 使用方法に関しては HistoryGetPointer を参照してください.
  ! 
  ! See "HistoryGetPointer", for basic usage.
  !
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar
  use dc_present,only: present_select, present_and_true
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  character(*), intent(in):: file
  character(*), intent(in):: varname
  character(*), intent(in), optional:: range
  logical, intent(in), optional:: quiet
  real, pointer :: array(:,:,:,:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

                    
  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 HistoryGetReal6Pointer
HistoryGetReal6Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:) :real, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal6Pointer

HistoryGetReal6Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:) :real, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal6Pointer

HistoryGetReal6Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:) :real, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal6Pointer

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:) :real, pointer
: (out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetReal6PointerTimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      real, pointer:: array(:,:,:,:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal6PointerTimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal6Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal6PointerTimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:) :real, pointer
: (out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetReal6PointerTimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      real, pointer:: array(:,:,:,:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal6PointerTimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal6Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal6PointerTimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:) :real, pointer
: (out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetReal6PointerTimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      real, pointer:: array(:,:,:,:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal6PointerTimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal6Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal6PointerTimeR
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:) :real, intent(out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetReal6TimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      real, intent(out):: array(:,:,:,:,:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal6TimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal6( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal6TimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:) :real, intent(out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetReal6TimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      real, intent(out):: array(:,:,:,:,:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal6TimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal6( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal6TimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:) :real, intent(out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetReal6TimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      real, intent(out):: array(:,:,:,:,:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal6TimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal6( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal6TimeR
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:,:) :real, intent(out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetReal7(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                      !
  ! 使用方法に関しては HistoryGet を参照してください.
  ! 
  ! See "HistoryGet", for basic usage.
  !
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar, Split, JoinChar, StoA
  use dc_url, only: GT_ATMARK, GT_COMMA, GT_EQUAL, UrlSplit, UrlMerge
  use dc_present, only: present_select, present_and_not_empty, present_and_true
  use regex,      only: match
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_error, only: StoreError, DC_NOERR, GT_ENOTURL, GT_ERANKMISMATCH, GT_EARGSIZEMISMATCH
  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, allocatable:: array_tmp(:)
  integer:: array_allsize
  integer:: array_shape(7), data_shape(7)
  integer:: allcount

                    
  type(GT_VARIABLE)             :: var
  character(STRING)             :: url, actual_url
  integer:: rank
  integer:: domain   ! 変数の入出力領域の大きさ
                     ! (= 変数が依存する各次元サイズの積)
  integer:: stat
  character(STRING):: cause_c
  character(*), parameter :: subname = "HistoryGetReal7"

continue
  call BeginSub(subname, 'file=%c varname=%c range=%c', c1 = trim(file), c2 = trim(varname), c3 = trim(present_select('', 'no-range', range)))
  cause_c = ''
  stat = DC_NOERR

                      !-------------------------------------
  !  配列形状の取得
  !  Get array shape
  array_shape = shape( array )
  array_allsize = size( array )
                    


  !-------------------------------------
  !  最新時刻の URL 取得
  !  Get URL of latest time
  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

  !-------------------------------------
  !  ファイルオープン
  !  File open
  call Open( var, url, err = err )

  if ( present_and_true(err) ) then
    stat = GT_ENOTURL
    cause_c = url
    goto 999
  end if

  !-------------------------------------
  !  配列形状のチェック
  !  Check array shape
  call Inquire( var = var, rank = rank )          ! (out)

  if ( .not. 7 == rank ) then
    if ( .not. present_and_true(quiet) ) then
      call MessageNotify('W', subname, 'Rank of data (%c) is "%d", rank of argument is "%d"', i = (/rank, 7/), c1 = trim(url) )
    end if
    stat = GT_ERANKMISMATCH
    cause_c = 'array'
    goto 999
  end if
                                            call Inquire( var = var , dimord = 1, allcount = allcount )                      ! (out)
  data_shape(1) = allcount
                      
  call Inquire( var = var , dimord = 2, allcount = allcount )                      ! (out)
  data_shape(2) = allcount
                      
  call Inquire( var = var , dimord = 3, allcount = allcount )                      ! (out)
  data_shape(3) = allcount
                      
  call Inquire( var = var , dimord = 4, allcount = allcount )                      ! (out)
  data_shape(4) = allcount
                      
  call Inquire( var = var , dimord = 5, allcount = allcount )                      ! (out)
  data_shape(5) = allcount
                      
  call Inquire( var = var , dimord = 6, allcount = allcount )                      ! (out)
  data_shape(6) = allcount
                      
  call Inquire( var = var , dimord = 7, allcount = allcount )                      ! (out)
  data_shape(7) = allcount
                      

  if ( .not. all( array_shape == data_shape ) ) then
    if ( .not. present_and_true(quiet) ) then
      call MessageNotify('W', subname, 'Shape of data (%c) is (%c), shape of argument is (%c)', c1 = trim( url ), c2 = trim( toChar( data_shape ) ), c3 = trim( toChar( array_shape ) ) )
    end if
    stat = GT_EARGSIZEMISMATCH
    cause_c = 'array'
    goto 999
  end if
                    

  !-------------------------------------
  !  データ取得
  !  Get data
  call Inquire( var = var, size = domain )        ! (out)

                    
  if ( allocated( array_tmp ) ) deallocate( array_tmp )
  allocate( array_tmp(array_allsize) )
  call Get( var, array_tmp, domain )
  array = reshape( array_tmp, array_shape )
  deallocate( array_tmp )

                    

  call Close( var )

  !-------------------------------------
  !  データファイル名と切り出し範囲の印字
  !  Print data filename and clipping range
  call actual_iorange_dump(url, actual_url, 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 HistoryGetReal7
HistoryGetReal7( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal7

HistoryGetReal7( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal7

HistoryGetReal7( file, varname, array, [range], [quiet], [err] )
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

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGet を参照してください.

See "HistoryGet", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal7

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:,:) :real, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetReal7Pointer(file, varname, array, range, quiet, err)
  !
  ! <b>Note that Japanese and English are described in parallel.</b>
  !
                      ! 使用方法に関しては HistoryGetPointer を参照してください.
  ! 
  ! See "HistoryGetPointer", for basic usage.
  !
                    
  !
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Inquire, Close, Get
  use dc_string, only: toChar
  use dc_present,only: present_select, present_and_true
  use dc_types, only: DP, STRING
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  character(*), intent(in):: file
  character(*), intent(in):: varname
  character(*), intent(in), optional:: range
  logical, intent(in), optional:: quiet
  real, pointer :: array(:,:,:,:,:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

                    
  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 HistoryGetReal7Pointer
HistoryGetReal7Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:,:) :real, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal7Pointer

HistoryGetReal7Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:,:) :real, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal7Pointer

HistoryGetReal7Pointer( file, varname, array, [range], [quiet], [err] )
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:,:) :real, pointer
: (out)
range :character(*), intent(in), optional
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

使用方法に関しては HistoryGetPointer を参照してください.

See "HistoryGetPointer", for basic usage.

Original external subprogram is historyget.f90#HistoryGetReal7Pointer

Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:,:) :real, pointer
: (out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetReal7PointerTimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      real, pointer:: array(:,:,:,:,:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal7PointerTimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal7Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal7PointerTimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:,:) :real, pointer
: (out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetReal7PointerTimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      real, pointer:: array(:,:,:,:,:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal7PointerTimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal7Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal7PointerTimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:,:) :real, pointer
: (out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGet です. 使用方法に関しては HistoryGet を参照してください.

This is "HistoryGet" with numerical argument time for specification of time. See "HistoryGet", for basic usage.

[Source]

subroutine HistoryGetReal7PointerTimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGet です. 
  ! 使用方法に関しては HistoryGet を参照してください.
  !
  ! This is "HistoryGet" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGet", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      real, pointer:: array(:,:,:,:,:,:,:) ! (out)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal7PointerTimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal7Pointer( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal7PointerTimeR
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:,:) :real, intent(out)
time :real(DP), intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetReal7TimeD(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real(DP), intent(in):: time
  logical, intent(in), optional:: quiet
                      real, intent(out):: array(:,:,:,:,:,:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal7TimeD"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal7( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal7TimeD
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:,:) :real, intent(out)
time :integer, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetReal7TimeI(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  integer, intent(in):: time
  logical, intent(in), optional:: quiet
                      real, intent(out):: array(:,:,:,:,:,:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal7TimeI"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal7( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal7TimeI
Subroutine :
file :character(*), intent(in)
varname :character(*), intent(in)
array(:,:,:,:,:,:,:) :real, intent(out)
time :real, intent(in)
quiet :logical, intent(in), optional
err :logical, intent(out), optional

Note that Japanese and English are described in parallel.

数値型引数 time で時刻指定可能な HistoryGetPointer です. 使用方法に関しては HistoryGetPointer を参照してください.

This is "HistoryGetPointer" with numerical argument time for specification of time. See "HistoryGetPointer", for basic usage.

[Source]

subroutine HistoryGetReal7TimeR(file, varname, array, time, quiet, err)
  !
                      ! <b>Note that Japanese and English are described in parallel.</b>
  !
  ! 数値型引数 *time* で時刻指定可能な HistoryGetPointer です. 
  ! 使用方法に関しては HistoryGetPointer を参照してください.
  !
  ! This is "HistoryGetPointer" with numerical argument *time* for 
  ! specification of time.
  ! See "HistoryGetPointer", for basic usage.
                    
  !
  use dc_string, only: toChar, Split
  use dc_types, only: DP, STRING
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use dc_url, only: Url_Chop_IOrange, GT_EQUAL
  character(*), intent(in):: file, varname
  real, intent(in):: time
  logical, intent(in), optional:: quiet
                      real, intent(out):: array(:,:,:,:,:,:,:)
                    
  logical, intent(out), optional:: err

  character(STRING):: url, iorange, remainder, timevar_name, time_range
  character(STRING), pointer:: carray (:)
  character(*), parameter :: subname = "HistoryGetReal7TimeR"


continue
  call BeginSub(subname, 'file=%c varname=%c time=%c', c1=trim(file), c2=trim(varname), c3=toChar(time))

  call lookup_growable_url(file = file, varname = varname, url = url, err = err)
  call Url_Chop_IOrange( fullname = url, iorange = iorange, remainder = remainder )
  call Split( str = iorange, carray = carray, sep = GT_EQUAL )
  timevar_name = carray(1)
  deallocate( carray )
  time_range = trim(timevar_name) // GT_EQUAL // trim(toChar(time))

  call HistoryGetReal7( file = file, varname = varname, array = array, range = time_range, quiet = quiet, err = err )

  call EndSub(subname)
end subroutine HistoryGetReal7TimeR
Subroutine :
url :character(*), intent(in)
: 変数 URL
actual_url :character(*), intent(out), optional
: 正確な入出力範囲指定に修正 された変数 URL
err :logical, intent(out), optional
: エラーのフラグ

変数 URL url に対応するファイル, 変数からデータを取り出す際, 入出力範囲指定によって切り出される値の本当の位置を 標準出力に出力する. actual_url が与えられる場合には その引数に値を返し, 標準出力には出力しない.

HistoryGet, HistoryGetPointer が下層で呼び出している gtdata_generic#Get は, 入出力範囲が次元データに正確に一致しない 場合, 最も近い値を自動的に選択して切り出す. しかしその結果, 「本当はどこのデータを入力したか」がわからない場合があるため, このサブルーチンによって正確な位置をユーザに知らせる.

[Source]

subroutine actual_iorange_dump(url, actual_url, err)
  !
  ! 変数 URL *url* に対応するファイル, 変数からデータを取り出す際, 
  ! 入出力範囲指定によって切り出される値の本当の位置を
  ! 標準出力に出力する. *actual_url* が与えられる場合には
  ! その引数に値を返し, 標準出力には出力しない.
  !
  ! HistoryGet, HistoryGetPointer が下層で呼び出している
  ! gtdata_generic#Get は, 入出力範囲が次元データに正確に一致しない
  ! 場合, 最も近い値を自動的に選択して切り出す. しかしその結果,
  ! 「本当はどこのデータを入力したか」がわからない場合があるため,
  ! このサブルーチンによって正確な位置をユーザに知らせる.
  !
  use dc_types, only: DP, STRING
  use dc_string, only: Split, JoinChar, toChar
  use dc_url, only: UrlSearchIORange, UrlMerge, UrlSplit
  use dc_url, only: GT_COMMA, GT_EQUAL, GT_COLON
  use dc_message, only: MessageNotify
  use dc_trace, only: Beginsub, Endsub, DbgMessage
  use regex,      only: match
  use gtdata_types, only: GT_VARIABLE
  use gtdata_generic, only: Open, Close, Get
  use dc_error,  only: StoreError, DC_NOERR

  character(*), intent(in) :: url            ! 変数 URL
  character(*), intent(out), optional :: actual_url
                                             ! 正確な入出力範囲指定に修正
                                             ! された変数 URL
  logical, intent(out), optional :: err      ! エラーのフラグ

  character(STRING), pointer :: iorange_each(:) =>null()
  character(STRING), pointer :: range_values(:) =>null()
  character(STRING), pointer :: new_iorange_each(:) =>null()
  character(STRING), pointer :: new_range_values(:) =>null()
  character(STRING) :: new_url, new_iorange, url_tmp, dimname
  character(STRING) :: file, varname, range, cause_c
  type(GT_VARIABLE) :: var
  real :: iorange_value(1)
  integer :: i, j, regex_len, regex_stat, stat

  character(*), parameter :: subname = "actual_iorange_dump"

continue
  call BeginSub(subname, '<url=%c>', c1=trim(url))

  new_iorange = ''
  cause_c = ''
  stat = DC_NOERR
  call UrlSplit(url, file, varname, iorange=range)
  call Split(range, iorange_each, GT_COMMA)
  allocate(new_iorange_each(size(iorange_each)))
  do i = 1, size(iorange_each)
    call match(GT_EQUAL, iorange_each(i), regex_len, regex_stat)
    if (regex_stat < 0 .or. regex_len < 2) then
      new_iorange_each(i) = trim(iorange_each(i))
    else
      dimname = iorange_each(i)(:regex_len-1)
      call Split(iorange_each(i)(regex_len+1:), range_values, GT_COLON)
      allocate(new_range_values(size(range_values)))
      do j = 1, size(range_values)
        url_tmp = UrlMerge(file, dimname, '', iorange=trim(dimname) // GT_EQUAL // trim(range_values(j)))
        call Open(var, url_tmp)
        call Get(var, iorange_value, 1)
        call Close(var)
        new_range_values(j) = toChar(iorange_value)
      end do
      new_iorange_each(i) = trim(dimname) // GT_EQUAL // JoinChar(new_range_values, GT_COLON)

      deallocate(new_range_values)
      deallocate(range_values)

    end if
  end do

  new_iorange = JoinChar(new_iorange_each, GT_COMMA)
  deallocate(new_iorange_each)
  deallocate(iorange_each)

  new_url = UrlMerge(file, varname, '', new_iorange)
  if (present(actual_url)) then
    actual_url = new_url
  else
    call MessageNotify('M', subname, 'Input %c', c1=trim(new_url))
  end if

999 continue
  call StoreError(stat, subname, err, cause_c)
  call EndSub(subname, '<actual_url=%c>', c1=trim(new_url))
end subroutine actual_iorange_dump
<