Version 4 (modified by 10 years ago) (diff) | ,
---|
PDAF_get_smootherens
This page documents the routine PDAF_get_smootherens
of PDAF.
The routine is typically called in prepoststep_pdaf
.
The routine PDAF_get_smootherens
is used when the smoother extension of a filter is used. When a smoother is used, the smoothed ensemble states at earlier times are stored in an internal array of PDAF. To get access to this array, one has to call the routine PDAF_get_smootherens
. The routine will set a pointer to the PDAF-internal array of smoother ensembles. In addition, the number of smoother ensembles is returned. After the call one can analyze the smoother ensemble at past times, as one usually does for the filtered ensemble in the user-supplied routine prepoststep_pdaf
.
The interface is the following:
SUBROUTINE PDAF_get_smootherens(sens_point, maxlag, status_pdaf)
with the following arguments:
sens_point
: Upon exiting the routine, it points to the smoother array. On the calling side, it has to specified as 'REAL, POINTER :: sens_pointer(:,:,:)'maxlag
: An integer providing the number of smoothed time instances available in the smoother arraystatus_pdaf
: The integer status flag. It is 0, if the routine is exited without errors.
Note:
- When the pointer
sens_point
is set, the dimensions aresens_point(dim_p, dim_ens, smoothed_times)
. Thus, the first two indices are for an ensemble array at the smoother time specified by the third index. - The third index in
sens_point
is directed into the past, thus for a value of 1 one accesses the most recent smoothed time. - The smoother is only performed for time instances at which the filter analysis step is performed. Thus, one has access to the last
smoothed_times
analysis times. - When the offline implementation of PDAF is used the smoothing is only possible, if the smoother array is filled before doing a filter analysis step. Use the routine
PDAF_set_smootherens
(see PDAF_set_smootherens) for this purpose.