gtvargetnum.f90 File Reference

Go to the source code of this file.

Functions/Subroutines

subroutine gtvargetdouble (var, value, nvalue, err)
 
subroutine gtvargetreal (var, value, nvalue, err)
 
subroutine gtvargetint (var, value, nvalue, err)
 

Function/Subroutine Documentation

◆ gtvargetdouble()

subroutine gtvargetdouble ( type(gt_variable), intent(in)  var,
real(dp), dimension(*), intent(out)  value,
integer, intent(in)  nvalue,
logical, intent(out), optional  err 
)

Definition at line 42 of file gtvargetnum.f90.

References dc_error::dc_enegative, dc_error::dc_noerr, dc_types::dp, dc_error::gt_efake, gtdata_internal_map::gtvar_dump(), gtdata_internal_map::map_to_internal_specs(), dc_error::storeerror(), dc_types::string, and gtdata_internal_map::var_class().

Referenced by gtvargetpointerdouble1(), gtvargetpointerdouble2(), gtvargetpointerdouble3(), gtvargetpointerdouble4(), gtvargetpointerdouble5(), gtvargetpointerdouble6(), and gtvargetpointerdouble7().

42  use gtdata_types, only: gt_variable
43  use gtdata_internal_map, only: &
44  & var_class, &
45  & vtb_class_netcdf, &
47  & gtvar_dump
48  use gtdata_netcdf_generic, only: get
50  use dc_types, only: string, dp
52  implicit none
53  type(gt_variable), intent(in) :: var
54  real(DP), intent(out) :: value(*)
55  integer, intent(in) :: nvalue
56  logical, intent(out), optional :: err
57  integer :: class, cid, stat
58  integer , pointer :: specs(:, :)
59  character(STRING):: cause_c
60  character(len = *), parameter:: subname = 'GTVarGetDouble'
61  continue
62  call var_class(var, class, cid)
63  stat = dc_noerr
64  cause_c = ''
65  if (nvalue < 1) then
66  stat = dc_enegative
67  cause_c = 'nvalue'
68  goto 999
69  end if
70  call gtvar_dump(var)
71  call map_to_internal_specs(var, specs)
72  if (class == vtb_class_netcdf) then
73  call get(gd_nc_variable(cid), start=specs(:, 1), count=specs(:, 2), &
74  & stride=specs(:, 3), imap=specs(:, 4), siz=nvalue, value=value, &
75  & iostat=stat)
76  else
77  stat = gt_efake
78  endif
79  if (associated(specs)) deallocate(specs)
80 999 continue
81  call storeerror(stat, subname, cause_c = cause_c, err = err)
subroutine, public map_to_internal_specs(var, specs, ndims)
integer, parameter, public gt_efake
Definition: dc_error.f90:523
subroutine, public storeerror(number, where, err, cause_c, cause_i)
Definition: dc_error.f90:830
integer, parameter, public dc_noerr
Definition: dc_error.f90:509
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
種別型パラメタを提供します。
Definition: dc_types.f90:49
subroutine, public var_class(var, class, cid)
integer, parameter, public dc_enegative
Definition: dc_error.f90:568
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ gtvargetint()

subroutine gtvargetint ( type(gt_variable), intent(in)  var,
integer, dimension(*), intent(out)  value,
integer, intent(in)  nvalue,
logical, intent(out), optional  err 
)

Definition at line 128 of file gtvargetnum.f90.

References dc_error::dc_enegative, dc_error::dc_noerr, dc_error::gt_efake, gtdata_internal_map::gtvar_dump(), gtdata_internal_map::map_to_internal_specs(), dc_error::storeerror(), dc_types::string, and gtdata_internal_map::var_class().

Referenced by gtvargetpointerint1(), gtvargetpointerint2(), gtvargetpointerint3(), gtvargetpointerint4(), gtvargetpointerint5(), gtvargetpointerint6(), and gtvargetpointerint7().

128  use gtdata_types, only: gt_variable
129  use gtdata_internal_map, only: &
130  & var_class, &
131  & vtb_class_netcdf, &
133  & gtvar_dump
134  use gtdata_netcdf_generic, only: get
136  use dc_types, only: string
138  implicit none
139  type(gt_variable), intent(in) :: var
140  integer, intent(out) :: value(*)
141  integer, intent(in) :: nvalue
142  logical, intent(out), optional :: err
143  integer :: class, cid, stat
144  integer , pointer :: specs(:, :)
145  character(STRING):: cause_c
146  character(len = *), parameter:: subname = 'GTVarGetDouble'
147  continue
148  call var_class(var, class, cid)
149  stat = dc_noerr
150  cause_c = ''
151  if (nvalue < 1) then
152  stat = dc_enegative
153  cause_c = 'nvalue'
154  goto 999
155  end if
156  call gtvar_dump(var)
157  call map_to_internal_specs(var, specs)
158  if (class == vtb_class_netcdf) then
159  call get(gd_nc_variable(cid), start=specs(:, 1), count=specs(:, 2), &
160  & stride=specs(:, 3), imap=specs(:, 4), siz=nvalue, value=value, &
161  & iostat=stat)
162  else
163  stat = gt_efake
164  endif
165  if (associated(specs)) deallocate(specs)
166 999 continue
167  call storeerror(stat, subname, cause_c = cause_c, err = err)
subroutine, public map_to_internal_specs(var, specs, ndims)
integer, parameter, public gt_efake
Definition: dc_error.f90:523
subroutine, public storeerror(number, where, err, cause_c, cause_i)
Definition: dc_error.f90:830
integer, parameter, public dc_noerr
Definition: dc_error.f90:509
種別型パラメタを提供します。
Definition: dc_types.f90:49
subroutine, public var_class(var, class, cid)
integer, parameter, public dc_enegative
Definition: dc_error.f90:568
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function:

◆ gtvargetreal()

subroutine gtvargetreal ( type(gt_variable), intent(in)  var,
real(sp), dimension(*), intent(out)  value,
integer, intent(in)  nvalue,
logical, intent(out), optional  err 
)

Definition at line 85 of file gtvargetnum.f90.

References dc_error::dc_enegative, dc_error::dc_noerr, dc_error::gt_efake, gtdata_internal_map::gtvar_dump(), gtdata_internal_map::map_to_internal_specs(), dc_types::sp, dc_error::storeerror(), dc_types::string, and gtdata_internal_map::var_class().

Referenced by gtvarcopyvalue(), gtvargetpointerreal1(), gtvargetpointerreal2(), gtvargetpointerreal3(), gtvargetpointerreal4(), gtvargetpointerreal5(), gtvargetpointerreal6(), and gtvargetpointerreal7().

85  use gtdata_types, only: gt_variable
86  use gtdata_internal_map, only: &
87  & var_class, &
88  & vtb_class_netcdf, &
90  & gtvar_dump
91  use gtdata_netcdf_generic, only: get
93  use dc_types, only: string ,sp
95  implicit none
96  type(gt_variable), intent(in) :: var
97  real(SP), intent(out) :: value(*)
98  integer, intent(in) :: nvalue
99  logical, intent(out), optional :: err
100  integer :: class, cid, stat
101  integer , pointer :: specs(:, :)
102  character(STRING):: cause_c
103  character(len = *), parameter:: subname = 'GTVarGetDouble'
104  continue
105  call var_class(var, class, cid)
106  stat = dc_noerr
107  cause_c = ''
108  if (nvalue < 1) then
109  stat = dc_enegative
110  cause_c = 'nvalue'
111  goto 999
112  end if
113  call gtvar_dump(var)
114  call map_to_internal_specs(var, specs)
115  if (class == vtb_class_netcdf) then
116  call get(gd_nc_variable(cid), start=specs(:, 1), count=specs(:, 2), &
117  & stride=specs(:, 3), imap=specs(:, 4), siz=nvalue, value=value, &
118  & iostat=stat)
119  else
120  stat = gt_efake
121  endif
122  if (associated(specs)) deallocate(specs)
123 999 continue
124  call storeerror(stat, subname, cause_c = cause_c, err = err)
subroutine, public map_to_internal_specs(var, specs, ndims)
integer, parameter, public gt_efake
Definition: dc_error.f90:523
subroutine, public storeerror(number, where, err, cause_c, cause_i)
Definition: dc_error.f90:830
integer, parameter, public dc_noerr
Definition: dc_error.f90:509
種別型パラメタを提供します。
Definition: dc_types.f90:49
integer, parameter, public sp
単精度実数型変数
Definition: dc_types.f90:73
subroutine, public var_class(var, class, cid)
integer, parameter, public dc_enegative
Definition: dc_error.f90:568
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118
Here is the call graph for this function:
Here is the caller graph for this function: