[Dart-dev] DART/branches Revision: 12036
dart at ucar.edu
dart at ucar.edu
Fri Nov 3 11:10:17 MDT 2017
nancy at ucar.edu
2017-11-03 11:10:16 -0600 (Fri, 03 Nov 2017)
47
add single number gets for integers and reals
Modified: DART/branches/recam/assimilation_code/modules/utilities/netcdf_utilities_mod.f90
===================================================================
--- DART/branches/recam/assimilation_code/modules/utilities/netcdf_utilities_mod.f90 2017-11-03 17:00:18 UTC (rev 12035)
+++ DART/branches/recam/assimilation_code/modules/utilities/netcdf_utilities_mod.f90 2017-11-03 17:10:16 UTC (rev 12036)
@@ -89,10 +89,10 @@
module procedure nc_put_real_3d
end interface
-!>@todo FIXME do we need single value versions
-!> of these as well?
interface nc_get_variable
+ module procedure nc_get_single_int_1d
module procedure nc_get_int_1d
+ module procedure nc_get_single_real_1d
module procedure nc_get_real_1d
module procedure nc_get_int_2d
module procedure nc_get_real_2d
@@ -730,6 +730,27 @@
!--------------------------------------------------------------------
! get values from variables
+subroutine nc_get_single_int_1d(ncid, varname, varval, context, filename)
+
+integer, intent(in) :: ncid
+character(len=*), intent(in) :: varname
+integer, intent(out) :: varval
+character(len=*), intent(in), optional :: context
+character(len=*), intent(in), optional :: filename
+
+character(len=*), parameter :: routine = 'nc_get_single_int_1d'
+integer :: ret, varid
+
+ret = nf90_inq_varid(ncid, varname, varid)
+call nc_check(ret, routine, 'inquire variable id for '//trim(varname), context, filename)
+
+ret = nf90_get_var(ncid, varid, varval)
+call nc_check(ret, routine, 'get values for '//trim(varname), context, filename)
+
+end subroutine nc_get_single_int_1d
+
+!--------------------------------------------------------------------
+
subroutine nc_get_int_1d(ncid, varname, varvals, context, filename)
integer, intent(in) :: ncid
@@ -751,6 +772,27 @@
!--------------------------------------------------------------------
+subroutine nc_get_single_real_1d(ncid, varname, varval, context, filename)
+
+integer, intent(in) :: ncid
+character(len=*), intent(in) :: varname
+real(r8), intent(out) :: varval
+character(len=*), intent(in), optional :: context
+character(len=*), intent(in), optional :: filename
+
+character(len=*), parameter :: routine = 'nc_get_single_real_1d'
+integer :: ret, varid
+
+ret = nf90_inq_varid(ncid, varname, varid)
+call nc_check(ret, routine, 'inquire variable id for '//trim(varname), context, filename)
+
+ret = nf90_get_var(ncid, varid, varval)
+call nc_check(ret, routine, 'get values for '//trim(varname), context, filename)
+
+end subroutine nc_get_single_real_1d
+
+!--------------------------------------------------------------------
+
subroutine nc_get_real_1d(ncid, varname, varvals, context, filename)
integer, intent(in) :: ncid
More information about the Dart-dev
mailing list