[Dart-dev] DART/branches Revision: 10830

dart at ucar.edu dart at ucar.edu
Thu Dec 22 10:54:54 MST 2016


hendric at ucar.edu
2016-12-22 10:54:54 -0700 (Thu, 22 Dec 2016)
157
fixed pmo to work with new io conventions.  defining
an explicit set filename routine for single restart
files so that pmo does not require a restart list.




Modified: DART/branches/rma_fixed_filenames/ensemble_manager/ensemble_manager_mod.f90
===================================================================
--- DART/branches/rma_fixed_filenames/ensemble_manager/ensemble_manager_mod.f90	2016-12-21 23:26:09 UTC (rev 10829)
+++ DART/branches/rma_fixed_filenames/ensemble_manager/ensemble_manager_mod.f90	2016-12-22 17:54:54 UTC (rev 10830)
@@ -115,7 +115,7 @@
 ! namelist with default values
 
 ! Complain if unneeded transposes are done
-logical  :: flag_unneeded_transposes = .false.
+! logical  :: flag_unneeded_transposes = .false.
 ! Communication configuration:
 !  1 = usual default, 2 - 4 are valid and depend on the machine, ensemble count, and task count
 integer  :: communication_configuration = 1
@@ -126,7 +126,7 @@
 
 namelist / ensemble_manager_nml / communication_configuration, &
                                   layout, tasks_per_node,  &
-                                  debug, flag_unneeded_transposes
+                                  debug!, flag_unneeded_transposes
                                   
 !-----------------------------------------------------------------
 

Modified: DART/branches/rma_fixed_filenames/io/io_filenames_mod.f90
===================================================================
--- DART/branches/rma_fixed_filenames/io/io_filenames_mod.f90	2016-12-21 23:26:09 UTC (rev 10829)
+++ DART/branches/rma_fixed_filenames/io/io_filenames_mod.f90	2016-12-22 17:54:54 UTC (rev 10830)
@@ -59,6 +59,11 @@
    module procedure set_io_copy_flag_single
 end interface
 
+interface set_file_metadata
+   module procedure set_explicit_file_metadata
+   module procedure set_stage_file_metadata
+end interface
+
 private
 
 ! File_info_type initialization and assertions.
@@ -369,9 +374,42 @@
 !-------------------------------------------------------
 !> Write file name and description
 
-subroutine set_file_metadata(file_info, copy_number, stage, base_name, desc, offset)
+subroutine set_explicit_file_metadata(file_info, cnum, fname, desc)
 
 ! EXAMPLE: to construct a file name of 'input_mean_d01.nc'
+!   cnum is ensemble copy number and is not used in the file name
+!   stage_name is 'input'
+!   base_name is 'mean'
+!   desc is 'prior ensemble mean'
+
+type(file_info_type), intent(inout) :: file_info
+integer,              intent(in)    :: cnum
+character(len=*),     intent(in)    :: fname
+character(len=*),     intent(in)    :: desc
+   
+character(len=256) :: string1
+character(len=32)  :: stage_name
+character(len=32)  :: dom_str
+integer :: idom, my_copy
+
+if (cnum <= 0) return
+
+! Assuming a single domain if setting a file explicitly
+file_info%stage_metadata%my_copy_number(cnum)     = cnum
+file_info%stage_metadata%filenames(cnum,1)        = trim(fname)
+file_info%stage_metadata%file_description(cnum,1) = trim(desc)
+
+file_info%stage_metadata%initialized = .true.
+
+end subroutine set_explicit_file_metadata
+
+
+!-------------------------------------------------------
+!> Write file name and description
+
+subroutine set_stage_file_metadata(file_info, copy_number, stage, base_name, desc, offset)
+
+! EXAMPLE: to construct a file name of 'input_mean_d01.nc'
 !   copy_number is ensemble copy number and is not used in the file name
 !   stage_name is 'input'
 !   base_name is 'mean'
@@ -403,9 +441,6 @@
    stage_name = trim(file_info%root_name)
 endif
 
-!#! write(*,'(3A,I4,2A)') 'STAGE_NAME = ', trim(stage_name), ', copy number [', my_copy, &
-!#!                       '] basename = ', trim(base_name)
-
 if (my_copy <= 0) return
 
 file_info%stage_metadata%my_copy_number(my_copy) = my_copy
@@ -429,7 +464,7 @@
 
 file_info%stage_metadata%initialized = .true.
 
-end subroutine set_file_metadata
+end subroutine set_stage_file_metadata
 
 


More information about the Dart-dev mailing list