prism_get(var_id, date, date_bounds, var_array, info, ierror)
This routine is called to receive a field var_array from a source component or file. The source is defined by the user in the SMIOC XML files (see section 6.5). This routine returns only when the corresponding prism_put is performed on the source side and when data is available in var_array, after regridding if needed. The shape of var_array is given in table 5.21 for the different grid types.
As for prism_put , this routine can be called in
the component code at each timestep but the receiving is
actually performed only if the time
covered by the date bounds (with
i.e. the lower and
upper date bounds being respectively excluded and included) covers a valid coupling or I/O date, given the
field coupling or I/O period indicated by the user in the SMIOC XML files.
The sum of the time periods covered by the date_bounds of the
different prism_get calls of a run must cover exactly the whole run
duration without any gap and any overlap.
Note that var_array is of intent InOut and is updated only for the part for which data have been effectively received. We therefore recommend to initialise var_array with a very recognizable positive value (i.e. 999999.) before the prism_get to be able to clearly identify the data received; this value should be positive so to clearly identify the target grid points which take the PSMILe_dundef value (=-280177.) after interpolation (see details in section 6.5.6.
The meaning of the different info returned is as follows:
The meaning of the different ierror returned can be accessed using the routine prism_error (see section 5.9.3).