[Dart-dev] DART/branches Revision: 12480
dart at ucar.edu
dart at ucar.edu
Mon Apr 2 11:22:08 MDT 2018
nancy at ucar.edu
2018-04-02 11:22:08 -0600 (Mon, 02 Apr 2018)
139
support asking the variable type (real/int) before
reading it. differentiate between r4/r8 when creating
global or variable attributes.
Modified: DART/branches/nsc_updates/assimilation_code/modules/utilities/netcdf_utilities_mod.f90
===================================================================
--- DART/branches/nsc_updates/assimilation_code/modules/utilities/netcdf_utilities_mod.f90 2018-04-02 17:16:35 UTC (rev 12479)
+++ DART/branches/nsc_updates/assimilation_code/modules/utilities/netcdf_utilities_mod.f90 2018-04-02 17:22:08 UTC (rev 12480)
@@ -65,8 +65,10 @@
interface nc_add_global_attribute
module procedure nc_add_global_char_att
module procedure nc_add_global_int_att
- module procedure nc_add_global_real_att
- module procedure nc_add_global_real_array_att
+ module procedure nc_add_global_float_att
+ module procedure nc_add_global_double_att
+ module procedure nc_add_global_float_array_att
+ module procedure nc_add_global_double_array_att
end interface
interface nc_get_global_attribute
@@ -80,8 +82,10 @@
module procedure nc_add_char_att_to_var
module procedure nc_add_int_array_att_to_var
module procedure nc_add_int_att_to_var
- module procedure nc_add_real_att_to_var
- module procedure nc_add_real_array_att_to_var
+ module procedure nc_add_float_att_to_var
+ module procedure nc_add_double_att_to_var
+ module procedure nc_add_float_array_att_to_var
+ module procedure nc_add_double_array_att_to_var
end interface
interface nc_get_attribute_from_variable
@@ -259,40 +263,76 @@
!--------------------------------------------------------------------
-subroutine nc_add_global_real_att(ncid, attname, val, context, filename)
+subroutine nc_add_global_float_att(ncid, attname, val, context, filename)
integer, intent(in) :: ncid
character(len=*), intent(in) :: attname
-real(r8), intent(in) :: val
+real(r4), intent(in) :: val
character(len=*), intent(in), optional :: context
character(len=*), intent(in), optional :: filename
-character(len=*), parameter :: routine = 'nc_add_global_real_att'
+character(len=*), parameter :: routine = 'nc_add_global_float_att'
integer :: ret
ret = nf90_put_att(ncid, NF90_GLOBAL, attname, val)
call nc_check(ret, routine, 'adding the global attribute: '//trim(attname), context, filename, ncid)
-end subroutine nc_add_global_real_att
+end subroutine nc_add_global_float_att
!--------------------------------------------------------------------
-subroutine nc_add_global_real_array_att(ncid, attname, val, context, filename)
+subroutine nc_add_global_double_att(ncid, attname, val, context, filename)
integer, intent(in) :: ncid
character(len=*), intent(in) :: attname
-real(r8), intent(in) :: val(:)
+real(digits12), intent(in) :: val
character(len=*), intent(in), optional :: context
character(len=*), intent(in), optional :: filename
-character(len=*), parameter :: routine = 'nc_add_global_real_array_att'
+character(len=*), parameter :: routine = 'nc_add_global_double_att'
integer :: ret
ret = nf90_put_att(ncid, NF90_GLOBAL, attname, val)
call nc_check(ret, routine, 'adding the global attribute: '//trim(attname), context, filename, ncid)
-end subroutine nc_add_global_real_array_att
+end subroutine nc_add_global_double_att
+!--------------------------------------------------------------------
+
+subroutine nc_add_global_float_array_att(ncid, attname, val, context, filename)
+
+integer, intent(in) :: ncid
+character(len=*), intent(in) :: attname
+real(r4), intent(in) :: val(:)
+character(len=*), intent(in), optional :: context
+character(len=*), intent(in), optional :: filename
+
+character(len=*), parameter :: routine = 'nc_add_global_float_array_att'
+integer :: ret
+
+ret = nf90_put_att(ncid, NF90_GLOBAL, attname, val)
+call nc_check(ret, routine, 'adding the global attribute: '//trim(attname), context, filename, ncid)
+
+end subroutine nc_add_global_float_array_att
+
+!--------------------------------------------------------------------
+
+subroutine nc_add_global_double_array_att(ncid, attname, val, context, filename)
+
+integer, intent(in) :: ncid
+character(len=*), intent(in) :: attname
+real(digits12), intent(in) :: val(:)
More information about the Dart-dev
mailing list