Contact: | Jeff Anderson |
Revision: | $Revision: 2966 $ |
Source: | $URL: http://subversion.ucar.edu/DAReS/DART/trunk/assim_tools/assim_tools_mod.html $ |
Change Date: | $Date: 2007-06-15 15:25:50 -0600 (Fri, 15 Jun 2007) $ |
Change history: | try "svn log" or "svn diff" |
types_mod utilities_mod sort_mod random_seq_mod obs_sequence_mod obs_def_mod cov_cutoff_mod reg_factor_mod location_mod (model dependent choice) ensemble_manager_mod mpi_utilities_mod adaptive_inflate_mod time_manager_mod assim_model_mod
use assim_tools_mod, only : | filter_assim |
Optional namelist interface &assim_tools_nml may be read from file input.nml.
type(ensemble_type), intent(inout) :: ens_handle type(ensemble_type), intent(inout) :: obs_ens_handle type(obs_sequence_type), intent(in) :: obs_seq integer, intent(in) :: keys(:) integer, intent(in) :: ens_size integer, intent(in) :: num_groups integer, intent(in) :: obs_val_index type(adaptive_inflate_type), intent(inout) :: inflate integer, intent(in) :: ENS_MEAN_COPY integer, intent(in) :: ENS_SD_COPY integer, intent(in) :: ENS_INF_COPY integer, intent(in) :: OBS_KEY_COPY integer, intent(in) :: OBS_GLOBAL_QC_COPY integer, intent(in) :: OBS_PRIOR_MEAN_START integer, intent(in) :: OBS_PRIOR_MEAN_END integer, intent(in) :: OBS_PRIOR_VAR_START integer, intent(in) :: OBS_PRIOR_VAR_END logical, intent(in) :: inflate_only
Does assimilation and inflation for a set of observations that is identified by having integer indices listed in keys. Only the inflation is updated if inflation_only is true, otherwise the state is also updated.
ens_handle | Contains state variable ensemble data and description. |
obs_ens_handle | Contains observation prior variable ensemble and description. |
obs_seq | Contains the observation sequence including observed values and error variances. |
keys | A list of integer indices of observations in obs_seq that are to be used at this time. |
ens_size | Number of ensemble members in state and observation prior ensembles. |
num_groups | Number of groups being used in assimilation. |
obs_val_index | Integer index of copy in obs_seq that contains the observed value from instrument. |
inflate | Contains inflation values and all information about inflation to be used. |
ENS_MEAN_COPY | Index of copy containing ensemble mean in ens_handle. |
ENS_SD_COPY | Index of copy containing ensemble standard deviation in ens_handle. |
ENS_INF_COPY | Index of copy containing state space inflation in ens_handle. |
ENS_INF_SD_COPY | Index of copy containing state space inflation standard deviation in ens_handle. |
OBS_KEY_COPY | Index of copy containing unique key for observation in obs_ens_handle. |
OBS_GLOBAL_QC_COPY | Index of copy containing global quality control value in obs_ens_handle. |
OBS_PRIOR_MEAN_START | Index of copy containing first group's prior mean in obs_ens_handle. |
OBS_PRIOR_MEAN_END | Index of copy containing last group's prior mean in obs_ens_handle. |
OBS_PRIOR_VAR_START | Index of copy containing first group's ensemble variance in obs_ens_handle. |
OBS_PRIOR_VAR_END | Index of copy containing last group's ensemble variance in obs_ens_handle. |
inflate_only | True if only inflation is to be updated, and not state. |
We adhere to the F90 standard of starting a namelist with an ampersand '&' and terminating with a slash '/'.
namelist / assim_tools_nml / & filter_kind, cutoff, sort_obs_inc, print_every_nth_obs, & spread_restoration, sampling_error_correction, adaptive_localization_threshold
This namelist is read in a file called input.nml
Contents | Type | Description |
---|---|---|
filter_kind | integer | Selects the variant of filter to be used. 1=EAKF, 2=ENKF, 3=Kernel filter, 4=particle filter. 7=Boxcar kernel filter Default: 1. |
cutoff | real(r8) | Cutoff controls a distance dependent weight that modulates the impact of an observation on a state variable. The units depend both on the location module being used and on the covariance cutoff module options selected. Default is 0.2. |
sort_obs_inc | logical | If true, the final increments from obs_increment are sorted so that the mean increment value is as small as possible. This minimizes regression errors when non-deterministic filter or error correction algorithms are applied. Default: false. |
spread_restoration | logical | True turns on algorithm to restore amount of spread that would be expected to be lost if underlying obs/state variable correlation were really 0. Default: false |
sampling_error_correction | logical | True uses special input files generated by correl_error.f90 in system_simulation to reduce errors in the regression step. Special input files corresponding with the ensemble size being used are required. This option is not yet fully supported. Contact the DART developers group if you have questions. Default: false |
adaptive_localization_threshold | integer | Used to reduce the impact of observations in densely observed regions. If the number of observations close to a given observation is greater than the threshold number, the cutoff radius for localization is adjusted to try to make the number of observations close to the given observation be the threshold number. This should be dependent on the location module and is tuned for a three_dimensional spherical implementation for numerical weather prediction models at present. Default: -1 |
print_every_nth_obs | integer | If set to a value N greater than 0, the observation assimilation loop prints out a progress message every Nth observations. This can be useful to estimate the expected run time for a large observation file, or to verify progress is being made in cases with suspected problems. Default: 0 |
Routine | Message | Comment |
---|---|---|
assim_tools_init | cant combine spread_restoration and filter_kind ### | Spread restoration only compatible with filter_kind 1 |
obs_increment | Illegal value of filter_kind in assim_tools namelist [1-4 OK] | Only 1-6 currently supported. |
obs_increment_eakf obs_increment_ran_kf obs_increment_det_kf |
Both obs_var and prior_var are zero. This is inconsistent | Product of two delta functions doesn't work. |
get_correction_from_file | Use less than 10000 ensemble | File only works up to 9999 members. |
get_correction_from_file | Correction file ______ does not exist. | Couldn't find the correction file in the working directory. |
The current version of the systematic error correction algorithm does not work in a logical fashion with the parallel region assimilation feature.