[Dart-dev] DART/branches Revision: 12100

dart at ucar.edu dart at ucar.edu
Fri Nov 10 15:58:40 MST 2017


thoar at ucar.edu
2017-11-10 15:58:40 -0700 (Fri, 10 Nov 2017)
278
The programs now log the namelists to the dart_log.* as appropriate,
the programs now identify themselves in the log files when starting/finishing.
The create_ensemble script renames the inflation files to be 'output_*' so that
run_filter renames them correctly when starting.




Modified: DART/branches/coamps/models/coamps_nest/coamps_translate_mod.f90
===================================================================
--- DART/branches/coamps/models/coamps_nest/coamps_translate_mod.f90	2017-11-10 22:57:33 UTC (rev 12099)
+++ DART/branches/coamps/models/coamps_nest/coamps_translate_mod.f90	2017-11-10 22:58:40 UTC (rev 12100)
@@ -83,11 +83,11 @@
 
   use types_mod,            only : r4, r8
 
-  use utilities_mod,        only : E_ERR, E_MSG, E_WARN,                      &
-                                   error_handler,                             &
-                                   file_exist,                                &
-                                   get_unit
+  use utilities_mod,        only : E_ERR, E_MSG, E_WARN, error_handler,       &
+                                   file_exist, get_unit,                      &
+                                   do_nml_file, do_nml_term, nmlfileunit
 
+
   use location_mod,         only : VERTISUNDEF, VERTISSURFACE, VERTISLEVEL,   &
                                    VERTISPRESSURE, VERTISHEIGHT
 
@@ -1061,8 +1061,11 @@
        call error_handler(E_ERR, routine, 'namelist open failed',  &
                  source, revision, revdate, text2='"'//trim(nml_file)//'" not found.')
     end if
-    write (*, nml=convert)
 
+    ! Record the namelist values used for the run
+    if (do_nml_file()) write(nmlfileunit, nml=convert)
+    if (do_nml_term()) write(     *     , nml=convert)
+
   end subroutine read_convert_namelist
 
   ! allocate_state

Modified: DART/branches/coamps/models/coamps_nest/model_mod.f90
===================================================================
--- DART/branches/coamps/models/coamps_nest/model_mod.f90	2017-11-10 22:57:33 UTC (rev 12099)
+++ DART/branches/coamps/models/coamps_nest/model_mod.f90	2017-11-10 22:58:40 UTC (rev 12100)
@@ -136,7 +136,10 @@
                                 register_module,               &
                                 string_to_real,                &
                                 string_to_logical,             &
-                                to_upper
+                                to_upper,                      &
+                                do_nml_file,                   &
+                                do_nml_term,                   &
+                                nmlfileunit
 
 use default_model_mod,  only :  init_conditions,               &
                                 init_time,                     &
@@ -982,7 +985,11 @@
         call find_namelist_in_file(NAMELIST_FILE, MODEL_NAMELIST, nml_unit)
         read (nml_unit,nml=model_nml,iostat=io_status)
         call check_namelist_read(nml_unit, io_status, MODEL_NAMELIST)
-        if (do_output()) write (*, model_nml)
+
+        ! Record the namelist values used for the run
+        if (do_nml_file()) write(nmlfileunit, nml=model_nml)
+        if (do_nml_term()) write(     *     , nml=model_nml)
+
     end subroutine read_model_namelist
 
     ! allocate_metadata_arrays

Modified: DART/branches/coamps/models/coamps_nest/shell_scripts/create_ensemble.csh
===================================================================
--- DART/branches/coamps/models/coamps_nest/shell_scripts/create_ensemble.csh	2017-11-10 22:57:33 UTC (rev 12099)
+++ DART/branches/coamps/models/coamps_nest/shell_scripts/create_ensemble.csh	2017-11-10 22:58:40 UTC (rev 12100)
@@ -186,7 +186,10 @@
 # The inflation files have a lot of extra cruft that should not be there.
 # The cruft is written by nc_write_prognostic_atts. When it becomes a problem,
 # that routine should be rewritten. Until then, the files are a bit bigger
-# than necessary.
+# than necessary. They are intentionally renamed to be output files to mimic
+# the behavior during a cycling experiment. Some scripting looks for the
+# output of the previous cycle and renames it to be the expected input names
+# for the current cycle.
 
 foreach FILE ( preassim_priorinf_mean_d01.nc preassim_priorinf_sd_d01.nc \
                preassim_priorinf_mean_d02.nc preassim_priorinf_sd_d02.nc )
@@ -196,19 +199,19 @@
        \mv bob.nc $FILE
 end
 
-mv preassim_priorinf_mean_d01.nc input_priorinf_mean_d01.nc
-mv preassim_priorinf_mean_d02.nc input_priorinf_mean_d02.nc
+mv preassim_priorinf_mean_d01.nc output_priorinf_mean_d01.nc
+mv preassim_priorinf_mean_d02.nc output_priorinf_mean_d02.nc
 
 # The EXNER functions are static and should not be inflated, so the inflation
 # standard deviations should be set to zero.
 
-ncap2 -s 'EXBM_g01(:,:,:)=0.0;EXBW_g01(:,:,:)=0.0;THBM_g01(:,:,:)=0.0' \
-   preassim_priorinf_sd_d01.nc input_priorinf_sd_d01.nc
+ncap2 -O -s 'EXBM_g01(:,:,:)=0.0;EXBW_g01(:,:,:)=0.0;THBM_g01(:,:,:)=0.0' \
+   preassim_priorinf_sd_d01.nc output_priorinf_sd_d01.nc
 
-ncap2 -s 'EXBM_g02(:,:,:)=0.0;EXBW_g02(:,:,:)=0.0;THBM_g02(:,:,:)=0.0' \
-   preassim_priorinf_sd_d02.nc input_priorinf_sd_d02.nc
+ncap2 -O -s 'EXBM_g02(:,:,:)=0.0;EXBW_g02(:,:,:)=0.0;THBM_g02(:,:,:)=0.0' \
+   preassim_priorinf_sd_d02.nc output_priorinf_sd_d02.nc


More information about the Dart-dev mailing list