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