prismtrs_set_epio_trans.F90

Go to the documentation of this file.
00001 !------------------------------------------------------------------------
00002 ! Copyright 2006-2010, CERFACS, Toulouse, France.
00003 ! Copyright 2006-2010, NEC High Performance Computing, Duesseldorf, Germany.
00004 ! All rights reserved. Use is subject to OASIS4 license terms.
00005 !-----------------------------------------------------------------------
00006 !BOP
00007 !
00008 ! !ROUTINE: PRISMTrs_Set_epio_trans
00009 !
00010 ! !INTERFACE
00011 subroutine prismtrs_set_epio_trans(id_process_global_rank, id_err)
00012 
00013 !
00014 ! !USES:
00015 !
00016   USE PRISMDrv, dummy_interface => PRISMTrs_Set_epio_trans
00017 
00018   IMPLICIT NONE
00019 
00020 !
00021 ! !PARAMETERS:
00022 !
00023 ! global rank of the corresponding process
00024   INTEGER, INTENT (IN)                         :: id_process_global_rank
00025 
00026 !
00027 ! ! RETURN VALUE
00028 !
00029   INTEGER, INTENT (Out)                        :: id_err   ! error value
00030 
00031 ! !DESCRIPTION
00032 ! Subroutine "PRISMTrs_Set_epio_trans" sends back the epio_id and the trans
00033 ! rank
00034 !
00035 ! !REVISED HISTORY
00036 !   Date      Programmer   Description
00037 ! ----------  ----------   -----------
00038 ! 01/12/2003  D. Declat    Creation
00039 !
00040 ! EOP
00041 !----------------------------------------------------------------------
00042 ! $Id: prismtrs_set_epio_trans.F90 2325 2010-04-21 15:00:07Z valcke $
00043 ! $Author: valcke $
00044 !----------------------------------------------------------------------
00045 !
00046 ! 0. Local declarations
00047 !
00048   CHARACTER(LEN=len_cvs_string), SAVE  :: mycvs = 
00049      '$Id: prismtrs_set_epio_trans.F90 2325 2010-04-21 15:00:07Z valcke $'
00050 !
00051 ! Auxiliary variables
00052 !
00053   INTEGER                            :: il_index
00054   INTEGER                            :: il_rank
00055   INTEGER, DIMENSION(2)              :: ila_send
00056 !
00057 !----------------------------------------------------------------------
00058 !
00059 #ifdef VERBOSE
00060   PRINT *, '| | | Enter PRISMTrs_Set_epio_trans'
00061   call psmile_flushstd
00062 #endif
00063 
00064 ! 
00065 ! 1. Find the index if already register, or give an index and 
00066 !      allocate if needed. Then send the id to the psmile.
00067   call prismtrs_get_epio_handle(il_index, id_err)
00068   ila_send(1) = il_index
00069 
00070   call prismtrs_get_trans_rank(il_rank, id_err)
00071   ila_send(2) = il_rank
00072 
00073   CALL MPI_Send(ila_send, 2, MPI_Integer, id_process_global_rank, 5, &
00074     comm_drv_trans, id_err)
00075 
00076 !  
00077 #ifdef VERBOSE
00078   PRINT *, '| | | Quit PRISMTrs_Set_epio_trans '
00079   call psmile_flushstd
00080 #endif
00081 
00082 END SUBROUTINE PRISMTrs_Set_epio_trans
00083 
00084 
00085 
00086 
00087 
00088 
00089 

Generated on 18 Mar 2011 for Oasis4 by  doxygen 1.6.1