[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