[Dart-dev] DART/branches Revision: 11077

dart at ucar.edu dart at ucar.edu
Thu Feb 9 14:27:47 MST 2017


hendric at ucar.edu
2017-02-09 14:27:47 -0700 (Thu, 09 Feb 2017)
84
if single file output constructing stages filenames without
appending copy number.




Modified: DART/branches/rma_single_file/io/io_filenames_mod.f90
===================================================================
--- DART/branches/rma_single_file/io/io_filenames_mod.f90	2017-02-09 21:09:41 UTC (rev 11076)
+++ DART/branches/rma_single_file/io/io_filenames_mod.f90	2017-02-09 21:27:47 UTC (rev 11077)
@@ -366,16 +366,6 @@
 
 if (my_copy_start <= 0)    return
 
-!#! if (file_info%single_file)  return
-
-!#! 
-!#!    file_info%single_filename = file_info
-!#!    file_info%stage_metadata%file_description(offset+icopy,idom) = trim(desc)
-!#!    file_info%stage_metadata%my_copy_number(  offset+icopy) = offset + icopy
-!#!    file_info%stage_metadata%copy_name(       offset+icopy) = trim(desc)
-!#!    
-!#! endif
-
 ! Is it sufficient to check if the first file exists? JPH
 if (file_info%restart_list(1) == 'null' .or. &
     file_info%restart_list(1) == '') then
@@ -388,18 +378,28 @@
   endif
 
   ! Construct file names
-  write(msgstring,*) 'NO restart_file_list for root "'//trim(file_info%root_name), &
+  write(msgstring,*) 'no restart_file_list for root "'//trim(file_info%root_name), &
                      '" provided using default names'
   call error_handler(E_MSG,'set_member_file_metadata', &
                      msgstring, source, revision, revdate)
-
-  do icopy = 1, ens_size
-     stage_name = file_info%root_name
-     write(basename,'(A,I4.4)')  'member_', icopy
-     write(desc,'(A,I4)') 'ensemble member ', icopy
-     call set_file_metadata(file_info, icopy, stage_name, basename, desc, offset)
-  enddo
-
+  
+  stage_name = file_info%root_name
+  if (file_info%single_file) then
+     if (get_num_domains() > 1) then
+        write(msgstring,*) 'single file input is currently only supported for 1 domain models'
+        call error_handler(E_ERR,'set_member_file_metadata', &
+                           msgstring, source, revision, revdate)
+     endif
+     write(fname,'(2A)') trim(stage_name),'_member.nc' 
+     write(desc, '(A)') 'ensemble member single file'
+     call set_explicit_file_metadata(file_info, 1, (/fname/), stage_name, desc)
+  else
+     do icopy = 1, ens_size
+        write(basename,'(A,I4.4)')  'member_', icopy
+        write(desc,'(A,I4)') 'ensemble member ', icopy
+        call set_file_metadata(file_info, icopy, stage_name, basename, desc, offset)
+     enddo
+  endif
 else
 
    do idom = 1, get_num_domains()


More information about the Dart-dev mailing list