pyPDAF.init

pyPDAF.init()

Initialise the PDAF system.

It is called once at the beginning of the assimilation. The function has to be used in tandem with pyPDAF.PDAF3.set_parallel().

The function specifies the type of DA methods, parameters of the filters, the MPI communicators, and other parallel options. The filter options including filtertype, subtype, param_int, and param_real are introduced in PDAF filter options wiki page. Note that the size of param_int and param_real depends on the filter type and subtype. However, for most filters, they require at least the state vector size and ensemble size for param_int, and the forgetting factor for param_real.

This function also asks for a user-supplied function py__init_ens_pdaf(). This function is designed to provides an initial ensemble to the internal PDAF ensemble array. The internal PDAF ensemble then can be distributed to initialise the model forecast using pyPDAF.PDAF.get_state(). This user-supplied function can be empty if the model has already read the ensemble from restart files.

Parameters:
  • filtertype (int) – Type of filter

  • subtype (int) – Sub-type of filter

  • stepnull (int) – Initial time step of assimilation

  • param_int (ndarray[np.intc, ndim=1]) – Integer parameter array Array shape: (dim_pint)

  • dim_pint (int) – Number of integer parameters

  • param_real (ndarray[np.float64, ndim=1]) – Real parameter array Array shape: (dim_preal)

  • dim_preal (int) – Number of real parameter

  • py__init_ens_pdaf (Callable) – Initialise ensemble array in PDAF

  • in_screen (int) – Control screen output:

Returns:

  • param_int (ndarray[np.intc, ndim=1]) – Integer parameter array Array shape: (dim_pint)

  • param_real (ndarray[np.float64, ndim=1]) – Real parameter array Array shape: (dim_preal)

  • outflag (int) – Status flag, 0: no error, error codes: