PSMILe interface proposal

5 - Routines for sending and receiving transient variables

>WP3a:commented (14/06/2002)

>IPSL : comments (02/07/02)

>WP3a:comments (16/07/02 or 24/07/02)


-in green: IPSL last comments
-in red: WP3A new comments or WP3a old comments that still need to be discussed,
-in orange: modifications that wp3a/wp4a agreed on.
-in black and small characters: WP3a old comments on issues that are solved
-in magenta and small character: text that wp3a/wp4a agreed that should be removed



Content:


Name :
PSMILe_put(varId, date, [dateBounds], X, [Y])
Description :
This function allows to put a variable into the PSMILe.

A flow diagram for the PSMILe_put function
Arguments :
Name :
PSMILe_get(varId, date, [dateBounds], X, [Y])
Description :
This function allows to get a variable from the PSMILe.

A flow diagram for the PSMILe_get function
Arguments :
>WP3a: We propose:
Name :
PRISM_put(var_id, date, date_bounds, data_array, ierror)
Responsible: NEC-CCRLE
Description :This function allows a blocking put of a variable into the PSMILe. A blocking operation means that the function returns when the operation is completed (and therefore when the content of data_array can be changed in the code).
Arguments: as above
Name :
PRISM_get(var_id, date, date_bounds, data_array, ierror)
Responsible: NEC-CCRLE
Description :
This function allows a blocking get of a variable into the PSMILe. A blocking operation means that the function returns when the operation is completed.
Arguments: as above

Alternatives:

>even if we are not sure if these alternatives will be used at all by the developpers.
Name :
PRISM_iput(var_id, request_id, date, date_bounds, data_array, ierror)
Responsible: NEC-CCRLE
Description :This function allows a non-blocking put of a variable into the PSMILe. A non-blocking operation means that the function returns immediatly even if the operation is completed (and therefore the content of data_array should not be changed in the code).
Arguments:as above + request_id (OUT): request handle
Name :
PRISM_iget(var_id, request_id, date, date_bounds, data_array, ierror)
Responsible: NEC-CCRLE
Description :This function allows a non-blocking get of a variable into the PSMILe. A blocking operation means that the function returns when the operation is completed.
Arguments: as above
Name :
PRISM_wait(request_ids, no_request_ids)
Responsible: NEC-CCRLE
Description :This function waits until all PRISM_iput and PRISM_iget corresponding to the list of requests indicated in 'request_ids' are completed.
Arguments:as above +
request_ids: array of request_id.
no_request_ids: number of element in request_ids