= PDAF_set_iparam = This page documents the routine `PDAF_set_iparam` of PDAF, which was introduced with PDAF V3.0. This routine is used to set integer parameters for PDAF. The integer parameters specific to a DA method can be set in the `filter_param_i` array that is an argument of `PDAF_init` (see the [wiki:InitPdaf page on initializing PDAF]). `PDAF_set_iparam` provides an alternativ way. Instead of providing all parameters in the call to `PDAF_init`, one can provide only the required minimum for this call. Afterwards, one can then call `PDAF_set_iparam` for each integer parameter that one intends to specify differently from the default value. An advantage of using `PDAF_set_iparam` is that one only needs to call it for parameters that one intends to change, while in the call to `PDAF_init` all parameters up to the index one intends to change have to be specified, even of one doe snot want to change a parameter value. The tutorials and templates show this approach. The routine is usually called by all processes after the call to `PDAF_init` in `init_pdaf`. One can also call the routine at later time during an assimilation process to change parameters. The parameter will be set for the DA method that was specified in the call to `PDAF_init`. The interface is the following: {{{ SUBROUTINE PDAF_set_iparam(id, value, flag) INTEGER, INTENT(in) :: id ! Index of the parameter that is set INTEGER, INTENT(in) :: value ! Value of the parameter INTEGER, INTENT(inout) :: flag ! Status flag: 0 for no error }}} Hints: * The available parameter options are listed in the [wiki:AvailableOptionsforInitPDAF Overview of available DA method-specific options]. * The status variable `flag` is incremented by the routine. Thus, `PDAF_set_iparam` can be called directly after calling `PDAF_init` and several calls to `PDAF_set_iparam` or `PDAF_set_rparam` can be done one after the other. It is sufficient to check the values of `flag` after this series of calls.