[Dart-dev] DART/branches Revision: 12076
dart at ucar.edu
dart at ucar.edu
Thu Nov 9 11:28:50 MST 2017
nancy at ucar.edu
2017-11-09 11:28:49 -0700 (Thu, 09 Nov 2017)
114
added open/close functions and 'check for existance'
functions for global attributes, dimensions, and variables.
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-09 17:14:57 UTC (rev 12075)
+++ DART/branches/recam/assimilation_code/modules/utilities/netcdf_utilities_mod.f90 2017-11-09 18:28:49 UTC (rev 12076)
@@ -38,11 +38,17 @@
nc_define_integer_variable, &
nc_define_real_variable, &
nc_define_double_variable, &
+ nc_global_attribute_exists, &
+ nc_dimension_exists, &
+ nc_variable_exists, &
nc_put_variable, &
nc_get_variable, &
nc_add_global_creation_time, &
nc_get_variable_num_dimensions, &
nc_get_variable_size, &
+ nc_open_readonly, &
+ nc_open_readwrite, &
+ nc_close, &
nc_redef, &
nc_enddef, &
nc_sync
@@ -64,6 +70,7 @@
end interface
interface nc_define_integer_variable
+ module procedure nc_define_var_int_scalar
module procedure nc_define_var_int_1d
module procedure nc_define_var_int_Nd
end interface
@@ -75,6 +82,7 @@
end interface
interface nc_define_double_variable
+ module procedure nc_define_var_double_scalar
module procedure nc_define_var_double_1d
module procedure nc_define_var_double_Nd
end interface
@@ -225,7 +233,7 @@
!------------------------------------------------------------------
!--------------------------------------------------------------------
-! adding attribute to a variable section
+! adding attributes to variables section
subroutine nc_add_char_att_to_var(ncid, varname, attname, val, context, filename)
@@ -359,6 +367,24 @@
!--------------------------------------------------------------------
! defining variables section
+subroutine nc_define_var_int_scalar(ncid, varname, ndim, context, filename)
+
+integer, intent(in) :: ncid
+character(len=*), intent(in) :: varname
+integer, intent(in) :: ndim ! ignore for now
+character(len=*), intent(in), optional :: context
+character(len=*), intent(in), optional :: filename
+
+character(len=*), parameter :: routine = 'nc_define_var_int_scalar'
+integer :: ret, varid
+
+ret = nf90_def_var(ncid, varname, nf90_int, varid=varid)
+call nc_check(ret, routine, 'define int variable '//trim(varname), context, filename)
+
+end subroutine nc_define_var_int_scalar
+
+!--------------------------------------------------------------------
+
subroutine nc_define_var_int_1d(ncid, varname, dimname, context, filename)
integer, intent(in) :: ncid
@@ -509,6 +535,24 @@
!--------------------------------------------------------------------
+subroutine nc_define_var_double_scalar(ncid, varname, ndim, context, filename)
+
+integer, intent(in) :: ncid
+character(len=*), intent(in) :: varname
+integer, intent(in) :: ndim ! ignore for now
+character(len=*), intent(in), optional :: context
+character(len=*), intent(in), optional :: filename
+
+character(len=*), parameter :: routine = 'nc_define_var_double_scalar'
+integer :: ret, varid
+
+ret = nf90_def_var(ncid, varname, nf90_double, varid=varid)
+call nc_check(ret, routine, 'define double variable '//trim(varname), context, filename)
+
+end subroutine nc_define_var_double_scalar
+
+!--------------------------------------------------------------------
+
subroutine nc_define_var_double_1d(ncid, varname, dimname, context, filename)
integer, intent(in) :: ncid
@@ -575,6 +619,69 @@
!--------------------------------------------------------------------
!--------------------------------------------------------------------
More information about the Dart-dev
mailing list