[Dart-dev] DART/releases Revision: 11441

dart at ucar.edu dart at ucar.edu
Thu Apr 6 16:00:45 MDT 2017


nancy at ucar.edu
2017-04-06 16:00:44 -0600 (Thu, 06 Apr 2017)
388
massive update of broken links for html pages; fixes to almost
all the .cdl files to make the calendar/units work correctly
with ncview/udunits; same fix in the single_file_io.f90 and
dart_time_io_mod.f90 for calendar/units; fixes to the quickbuild
script and mkmf files for the random number generator; 
remove 'nondimensional' (not supported) as the unit
attribute for oned locations.




Index: DART/releases/Manhattan
===================================================================
--- DART/releases/Manhattan	2017-04-06 21:45:07 UTC (rev 11440)
+++ DART/releases/Manhattan	2017-04-06 22:00:44 UTC (rev 11441)

Property changes on: DART/releases/Manhattan
___________________________________________________________________
Modified: svn:mergeinfo
## -28,7 +28,7 ##
 /DART/branches/rma_sprint:8101-8172
 /DART/branches/rma_state_structure_test_dir:9478-9682
 /DART/branches/rma_state_structure_unit_test:9697-10274
-/DART/branches/rma_trunk:11355-11426
+/DART/branches/rma_trunk:11355-11440
 /DART/branches/rma_trunk_clamping:8792-8807
 /DART/branches/rma_trunk_filename:8017-8163
 /DART/branches/rma_trunk_get_state_fun:8574-8602
Modified: DART/releases/Manhattan/assimilation_code/modules/io/dart_time_io_mod.f90
===================================================================
--- DART/releases/Manhattan/assimilation_code/modules/io/dart_time_io_mod.f90	2017-04-06 21:45:07 UTC (rev 11440)
+++ DART/releases/Manhattan/assimilation_code/modules/io/dart_time_io_mod.f90	2017-04-06 22:00:44 UTC (rev 11441)
@@ -237,19 +237,16 @@
 
    call get_calendar_string(dart_calendar)
    if (dart_calendar == 'NO_CALENDAR') then
-      ios = nf90_put_att(ncid, VarID, "calendar", "no_calendar")
+      ios = nf90_put_att(ncid, VarID, "calendar", "none")
       call nc_check(ios, "write_model_time", "calendar long_name")
 
-      ! version 2.1.7 of ncview crashes if there is a 'days since' units attribute.
-      ! it doesn't recognize 'no_calendar', tries to use the standard calendar,
-      ! and then flips out when the year is 0000.  our solution for now is to
-      ! remove the units attribute for no_calendar.  this behaves differently in 
-      ! different versions of ncview (e.g 2.1.1 is fine), so be careful testing.  
-      ! this code also appears in single_file_io_mod.f90 - we need to consolidate 
-      ! it in a single location - but until then, updates need to be made both places.
-      !ios = nf90_put_att(ncid, VarID, "units", "days since 0000-01-01 00:00:00")
-      !call nc_check(ios, "write_model_time", "units long_name")
+      ! ncview (actually, probably udunits2) crashes or errors out or 
+      ! displays misleading plot axes if you use 'days since ...' as the units.
+      ! if you simply use 'days' it works much better.
 
+      ios = nf90_put_att(ncid, VarID, "units", "days")
+      call nc_check(ios, "write_model_time", "units long_name")
+
    else if (dart_calendar == 'GREGORIAN') then
       ios = nf90_put_att(ncid, VarID, "calendar", "gregorian")
       call nc_check(ios, "write_model_time", "calendar long_name")

Modified: DART/releases/Manhattan/assimilation_code/modules/io/single_file_io_mod.f90
===================================================================
--- DART/releases/Manhattan/assimilation_code/modules/io/single_file_io_mod.f90	2017-04-06 21:45:07 UTC (rev 11440)
+++ DART/releases/Manhattan/assimilation_code/modules/io/single_file_io_mod.f90	2017-04-06 22:00:44 UTC (rev 11441)
@@ -994,19 +994,15 @@
    call nc_check(nf90_put_att(my_ncid, TimeVarID, "calendar", "no_leap" ), &
               'nc_write_calendar_atts', 'put_att calendar '//trim(ncFileID%fname))
 case default
-   call nc_check(nf90_put_att(my_ncid, TimeVarID, "calendar", "no_calendar" ), &
+   call nc_check(nf90_put_att(my_ncid, TimeVarID, "calendar", "none" ), &
               'nc_write_calendar_atts', 'put_att calendar '//trim(ncFileID%fname))
 
-   ! version 2.1.7 of ncview crashes if there is a 'days since' units attribute.
-   ! it doesn't recognize 'no_calendar', tries to use the standard calendar,
-   ! and then flips out when the year is 0000.  our solution for now is to
-   ! remove the units attribute for no_calendar.  this behaves differently in 
-   ! different versions of ncview (e.g 2.1.1 is fine), so be careful testing.  
-   ! this code also appears in dart_time_io_mod.f90 - we need to consolidate 
-   ! it in a single location - but until then, updates need to be made both places.
-   !call nc_check(nf90_put_att(my_ncid, TimeVarID, "units", &
-   !           'days since 0000-01-01 00:00:00'), &
-   !           'nc_write_calendar_atts', 'put_att units '//trim(ncFileID%fname))
+   ! ncview (actually, probably udunits2) crashes or errors out or
+   ! displays misleading plot axes if you use 'days since ...' as the units.
+   ! if you simply use 'days' it works much better.
+
+   call nc_check(nf90_put_att(my_ncid, TimeVarID, "units", "days"), &
+               'nc_write_calendar_atts', 'put_att units '//trim(ncFileID%fname))
 end select
 
 end function nc_write_calendar_atts

Modified: DART/releases/Manhattan/assimilation_code/modules/utilities/ensemble_manager_mod.f90
===================================================================
--- DART/releases/Manhattan/assimilation_code/modules/utilities/ensemble_manager_mod.f90	2017-04-06 21:45:07 UTC (rev 11440)
+++ DART/releases/Manhattan/assimilation_code/modules/utilities/ensemble_manager_mod.f90	2017-04-06 22:00:44 UTC (rev 11441)
@@ -1553,7 +1553,7 @@
 logical :: has_label
 logical :: do_contents
 integer :: limit_count
-integer :: i,j
+integer :: i,j,listlen
 
 print_anyway = .false.
 if (present(force)) then
@@ -1597,11 +1597,19 @@
 call error_handler(E_MSG, 'ensemble handle: ', msgstring, source, revision, revdate)
 write(msgstring, *) 'my_pe number       : ', ens_handle%my_pe
 call error_handler(E_MSG, 'ensemble handle: ', msgstring, source, revision, revdate)
+
+! large task counts crash here when the list length exceeds the buffer length.
+! break the list up into chunks of 10 to avoid this.


More information about the Dart-dev mailing list