Go to the source code of this file.
◆ gdncvaropenbydimord()
subroutine gdncvaropenbydimord |
( |
type(gd_nc_variable), intent(out) |
var, |
|
|
type(gd_nc_variable), intent(in) |
src_var, |
|
|
integer, intent(in) |
dimord, |
|
|
logical, intent(out), optional |
err |
|
) |
| |
Definition at line 11 of file gdncvaropenbydimord.f90.
References gdncfileclose(), gdncfilereopen(), dc_error::gt_enomoredims, dc_error::storeerror(), gtdata_netcdf_internal::vtable_add(), and gtdata_netcdf_internal::vtable_lookup().
22 use netcdf
, only: nf90_max_name, nf90_noerr, nf90_einval, nf90_enotvar, &
23 & nf90_inquire_dimension, nf90_inq_varid
28 integer,
intent(in):: dimord
29 logical,
intent(out),
optional:: err
32 character(len = NF90_MAX_NAME):: dimname
36 if (stat /= nf90_noerr)
goto 999
48 if (.not.
associated(src_ent%dimids))
then 51 else if (dimord >
size(src_ent%dimids))
then 58 ent%fileid = src_ent%fileid
59 ent%dimid = src_ent%dimids(dimord)
60 stat = nf90_inquire_dimension(ent%fileid, ent%dimid, name = dimname)
61 if (stat /= nf90_noerr)
goto 999
62 stat = nf90_inq_varid(ent%fileid, dimname, ent%varid)
63 if (stat == nf90_enotvar)
then 67 else if (stat /= nf90_noerr)
then 75 if (stat /= nf90_noerr)
then 81 call storeerror(stat,
'GDNcVarOpenByDimOrd', err, cause_i=dimord)
integer function, public vtable_lookup(var, entry)
subroutine gdncfileclose(fileid, err)
subroutine gdncfilereopen(fileid, err)
subroutine, public storeerror(number, where, err, cause_c, cause_i)
integer function, public vtable_add(var, entry)
integer, parameter, public gt_enomoredims