[Dart-dev] [5619] DART/branches/development/models/lorenz_96/work: make the default input.nml have a good cutoff, use outlier threshold

nancy at ucar.edu nancy at ucar.edu
Mon Mar 26 15:35:15 MDT 2012


Revision: 5619
Author:   nancy
Date:     2012-03-26 15:35:15 -0600 (Mon, 26 Mar 2012)
Log Message:
-----------
make the default input.nml have a good cutoff, use outlier threshold
and have good damped adaptive inflation.  the original input.nml for
the workshop is renamed input.workshop.nml and is copied into the
default input.nml when you run the workshop_setup.csh script.

Modified Paths:
--------------
    DART/branches/development/models/lorenz_96/work/input.nml
    DART/branches/development/models/lorenz_96/work/workshop_setup.csh

Added Paths:
-----------
    DART/branches/development/models/lorenz_96/work/input.workshop.nml

-------------- next part --------------
Modified: DART/branches/development/models/lorenz_96/work/input.nml
===================================================================
--- DART/branches/development/models/lorenz_96/work/input.nml	2012-03-26 19:52:14 UTC (rev 5618)
+++ DART/branches/development/models/lorenz_96/work/input.nml	2012-03-26 21:35:15 UTC (rev 5619)
@@ -42,14 +42,14 @@
    output_interval          = 1,
    num_groups               = 1,
    input_qc_threshold       =  3.0,
-   outlier_threshold        = -1.0,
+   outlier_threshold        =  3.0,
    output_forward_op_errors = .false.,
    output_inflation         = .true.,
    output_timestamps        = .false.,
    trace_execution          = .false.,
    silence                  = .false.,
 
-   inf_flavor                  = 0,                       0,
+   inf_flavor                  = 2,                       0,
    inf_initial_from_restart    = .false.,                 .false.,
    inf_sd_initial_from_restart = .false.,                 .false.,
    inf_output_restart          = .true.,                  .true.,
@@ -58,11 +58,11 @@
    inf_out_file_name           = 'prior_inflate_restart', 'post_inflate_restart',
    inf_diag_file_name          = 'prior_inflate_diag',    'post_inflate_diag',
    inf_initial                 = 1.0,                     1.0,
-   inf_sd_initial              = 0.0,                     0.0,
-   inf_damping                 = 1.0,                     1.0,
+   inf_sd_initial              = 0.6,                     0.0,
+   inf_damping                 = 0.9,                     1.0,
    inf_lower_bound             = 1.0,                     1.0,
    inf_upper_bound             = 1000000.0,               1000000.0,
-   inf_sd_lower_bound          = 0.0,                     0.0,
+   inf_sd_lower_bound          = 0.6,                     0.0,
    /
 
 &smoother_nml
@@ -79,13 +79,10 @@
    perturbation_amplitude  = 0.2,
    /
 
-# the localization cutoff in this file is distributed is too
-# large for the model to converge.  to test that the model is 
-# doing a successful assimilation, change cutoff to 0.02 and rerun.
 &assim_tools_nml
    filter_kind                     = 1,
-   cutoff                          = 1000000.0,
-   sort_obs_inc                    = .true.,
+   cutoff                          = 0.02,
+   sort_obs_inc                    = .false.,
    spread_restoration              = .false.,
    sampling_error_correction       = .false.,
    adaptive_localization_threshold = -1,

Added: DART/branches/development/models/lorenz_96/work/input.workshop.nml
===================================================================
--- DART/branches/development/models/lorenz_96/work/input.workshop.nml	                        (rev 0)
+++ DART/branches/development/models/lorenz_96/work/input.workshop.nml	2012-03-26 21:35:15 UTC (rev 5619)
@@ -0,0 +1,237 @@
+&perfect_model_obs_nml
+   start_from_restart       = .true.,
+   output_restart           = .true.,
+   async                    = 0,
+   init_time_days           = 0,
+   init_time_seconds        = 0,
+   first_obs_days           = -1,
+   first_obs_seconds        = -1,
+   last_obs_days            = -1,
+   last_obs_seconds         = -1,
+   output_interval          = 1,
+   restart_in_file_name     = "perfect_ics",
+   restart_out_file_name    = "perfect_restart",
+   obs_seq_in_file_name     = "obs_seq.in",
+   obs_seq_out_file_name    = "obs_seq.out",
+   adv_ens_command          = "./advance_model.csh",
+   trace_execution          = .false.,
+   output_timestamps        = .false.,
+   print_every_nth_obs      = -1,
+   output_forward_op_errors = .false.,
+   silence                  = .false.,
+   /
+
+&filter_nml
+   async                    = 0,
+   adv_ens_command          = "./advance_model.csh",
+   ens_size                 = 20,
+   start_from_restart       = .true.,
+   output_restart           = .true.,
+   obs_sequence_in_name     = "obs_seq.out",
+   obs_sequence_out_name    = "obs_seq.final",
+   restart_in_file_name     = "filter_ics",
+   restart_out_file_name    = "filter_restart",
+   init_time_days           = 0,
+   init_time_seconds        = 0,
+   first_obs_days           = -1,
+   first_obs_seconds        = -1,
+   last_obs_days            = -1,
+   last_obs_seconds         = -1,
+   num_output_state_members = 20,
+   num_output_obs_members   = 0,
+   output_interval          = 1,
+   num_groups               = 1,
+   input_qc_threshold       =  3.0,
+   outlier_threshold        = -1.0,
+   output_forward_op_errors = .false.,
+   output_inflation         = .true.,
+   output_timestamps        = .false.,
+   trace_execution          = .false.,
+   silence                  = .false.,
+
+   inf_flavor                  = 0,                       0,
+   inf_initial_from_restart    = .false.,                 .false.,
+   inf_sd_initial_from_restart = .false.,                 .false.,
+   inf_output_restart          = .true.,                  .true.,
+   inf_deterministic           = .true.,                  .true.,
+   inf_in_file_name            = 'prior_inflate_ics',     'post_inflate_ics',
+   inf_out_file_name           = 'prior_inflate_restart', 'post_inflate_restart',
+   inf_diag_file_name          = 'prior_inflate_diag',    'post_inflate_diag',
+   inf_initial                 = 1.0,                     1.0,
+   inf_sd_initial              = 0.0,                     0.0,
+   inf_damping                 = 1.0,                     1.0,
+   inf_lower_bound             = 1.0,                     1.0,
+   inf_upper_bound             = 1000000.0,               1000000.0,
+   inf_sd_lower_bound          = 0.0,                     0.0,
+   /
+
+&smoother_nml
+   num_lags              = 0,
+   start_from_restart    = .false.,
+   output_restart        = .true.,
+   restart_in_file_name  = 'ics',
+   restart_out_file_name = 'restart',
+   /
+
+&ensemble_manager_nml
+   single_restart_file_in  = .true.,
+   single_restart_file_out = .true.,
+   perturbation_amplitude  = 0.2,
+   /
+
+# the localization cutoff in this file is distributed is too
+# large for the model to converge.  to test that the model is 
+# doing a successful assimilation, change cutoff to 0.02 and rerun.
+&assim_tools_nml
+   filter_kind                     = 1,
+   cutoff                          = 1000000.0,
+   sort_obs_inc                    = .true.,
+   spread_restoration              = .false.,
+   sampling_error_correction       = .false.,
+   adaptive_localization_threshold = -1,
+   output_localization_diagnostics = .false.,
+   localization_diagnostics_file   = 'localization_diagnostics',
+   print_every_nth_obs             = 0,
+   rectangular_quadrature          = .true.,
+   gaussian_likelihood_tails       = .false.,
+   /
+
+&cov_cutoff_nml
+   select_localization = 1,
+   /
+
+&reg_factor_nml
+   select_regression    = 1,
+   input_reg_file       = "time_mean_reg",
+   save_reg_diagnostics = .false.,
+   reg_diagnostics_file = "reg_diagnostics", 
+   /
+
+&obs_sequence_nml
+   write_binary_obs_sequence = .false.,
+   /
+
+&obs_kind_nml
+   assimilate_these_obs_types = 'RAW_STATE_VARIABLE',
+   /
+
+&assim_model_nml
+   write_binary_restart_files = .false.,
+   netCDF_large_file_support  = .false.,
+   /
+
+&model_nml
+   model_size        = 40,
+   forcing           = 8.00,
+   delta_t           = 0.05,
+   time_step_days    = 0,
+   time_step_seconds = 3600,
+   /
+
+&utilities_nml
+   termlevel      = 1,
+   module_details = .false.,
+   logfilename    = 'dart_log.out',
+   nmlfilename    = 'dart_log.nml',
+   write_nml      = 'file',
+   print_debug    = .false.,
+   /
+
+&preprocess_nml
+                     force = .false., 
+    input_obs_def_mod_file = '../../../obs_def/DEFAULT_obs_def_mod.F90', 
+   output_obs_def_mod_file = '../../../obs_def/obs_def_mod.f90', 
+   input_obs_kind_mod_file = '../../../obs_kind/DEFAULT_obs_kind_mod.F90', 
+  output_obs_kind_mod_file = '../../../obs_kind/obs_kind_mod.f90', 
+               input_files = '../../../obs_def/obs_def_1d_state_mod.f90',
+  /
+
+
+&restart_file_tool_nml
+   input_file_name              = "filter_restart",
+   output_file_name             = "filter_updated_restart",
+   ens_size                     = 1,
+   single_restart_file_in       = .true.,
+   single_restart_file_out      = .true.,
+   write_binary_restart_files   = .true.,
+   overwrite_data_time          = .false.,
+   new_data_days                = -1,
+   new_data_secs                = -1,
+   input_is_model_advance_file  = .false.,
+   output_is_model_advance_file = .false.,
+   overwrite_advance_time       = .false.,
+   new_advance_days             = -1,
+   new_advance_secs             = -1,
+   gregorian_cal                = .false.
+   /
+
+
+&obs_sequence_tool_nml
+   filename_seq      = 'obs_seq.final',
+   filename_seq_list = '',
+   filename_out      = 'obs_seq.processed',
+   first_obs_days    = -1,
+   first_obs_seconds = -1,
+   last_obs_days     = -1,
+   last_obs_seconds  = -1,
+   print_only        = .false.,
+   gregorian_cal     = .false.,
+   / 
+
+# other possible obs tool namelist items:
+#
+# keep only the U and V radiosonde winds:
+#   obs_types          = 'RADIOSONDE_U_WIND_COMPONENT',
+#                        'RADIOSONDE_V_WIND_COMPONENT',
+#   keep_types         = .true.,
+#
+# remove the U and V radiosonde winds:
+#   obs_types          = 'RADIOSONDE_U_WIND_COMPONENT',
+#                        'RADIOSONDE_V_WIND_COMPONENT',
+#   keep_types         = .false.,
+#
+# keep only observations with a DART QC of 0:
+#   qc_metadata        = 'Dart quality control',
+#   min_qc             = 0,
+#   max_qc             = 0,
+#
+# keep only radiosonde temp obs between 250 and 300 K:
+#   copy_metadata      = 'NCEP BUFR observation',
+#   copy_type          = 'RADIOSONDE_TEMPERATURE',
+#   min_copy           = 250.0,
+#   max_copy           = 300.0,
+#
+
+&obs_diag_nml
+   obs_sequence_name  = 'obs_seq.final',
+   iskip_days         = 0,
+   obs_select         = 1,
+   rat_cri            = 4.0,
+   input_qc_threshold = 3.0,
+   bin_width_seconds  = 0,
+   lonlim1   =     0.0,   0.0,    0.5,    -1.0,
+   lonlim2   =     1.0,   0.5,    1.5,    -1.0,
+   reg_names = 'whole', 'yin', 'yang', 'bogus',
+   verbose   = .false.,
+   /
+
+&schedule_nml
+   calendar        = 'Gregorian',
+   first_bin_start =  1601, 1,  1,  0, 0, 0 ,
+   first_bin_end   =  1601, 1,  1,  6, 0, 0 ,
+   last_bin_end    =  1601, 1,  2,  0, 0, 0 ,
+   bin_interval_days    = 0,
+   bin_interval_seconds = 21600,
+   max_num_bins         = 1000,
+   print_table          = .true.
+   /
+
+&obs_seq_to_netcdf_nml
+   obs_sequence_name = 'obs_seq.final',
+   obs_sequence_list = '',
+   append_to_netcdf  = .false.,
+   lonlim1    =    0.0,
+   lonlim2    =    1.0,
+   verbose    = .true.
+   /
+


Property changes on: DART/branches/development/models/lorenz_96/work/input.workshop.nml
___________________________________________________________________
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native

Modified: DART/branches/development/models/lorenz_96/work/workshop_setup.csh
===================================================================
--- DART/branches/development/models/lorenz_96/work/workshop_setup.csh	2012-03-26 19:52:14 UTC (rev 5618)
+++ DART/branches/development/models/lorenz_96/work/workshop_setup.csh	2012-03-26 21:35:15 UTC (rev 5619)
@@ -87,6 +87,8 @@
    endsw
 end
 
+cp ./input.workshop.nml input.nml
+
 @ n = $n + 1
 ./perfect_model_obs || exit $n
 


More information about the Dart-dev mailing list