prismdrv_get_comp_names.F90
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 subroutine prismdrv_get_comp_names(id_comp_id, &
00011 cda_appli_name, &
00012 cda_comp_name, &
00013 id_err)
00014
00015
00016
00017
00018 USE PRISMDrv, dummy_interface => PRISMDrv_Get_comp_names
00019
00020 IMPLICIT NONE
00021
00022
00023
00024
00025 INTEGER, INTENT (In) :: id_comp_id
00026
00027
00028
00029 CHARACTER(LEN=max_name), INTENT (Out) :: cda_appli_name
00030 CHARACTER(LEN=max_name), INTENT (Out) :: cda_comp_name
00031 INTEGER, INTENT (Out) :: id_err
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050 CHARACTER(LEN=len_cvs_string), SAVE :: mycvs =
00051 '$Id: prismdrv_get_comp_names.F90 2399 2010-06-21 08:09:39Z coquart $'
00052
00053 INTEGER :: ib, ib_ter
00054 LOGICAL :: ll_found
00055 INTEGER, PARAMETER :: nerrp=2
00056 INTEGER :: ierrp(nerrp)
00057
00058
00059
00060 id_err = 0
00061
00062
00063
00064 ll_found = .false.
00065
00066
00067 DO ib = 0, ig_nb_tot_pes + (ig_driver_nb_pes-1)
00068 IF ((ib < PRISMdrv_root) .OR. ((PRISMdrv_root + ig_driver_nb_pes) <= ib)) THEN
00069 DO ib_ter = 1, Drv_Procs(ib+1)%comps_per_rank
00070 IF (Drv_Procs(ib+1)%global_comp_id(ib_ter) == id_comp_id) THEN
00071
00072 cda_appli_name = Drv_Procs(ib+1)%appli_name
00073 cda_comp_name = Drv_Procs(ib+1)%comp_name(ib_ter)
00074 ll_found = .true.
00075 EXIT
00076 END IF
00077 ENDDO
00078 IF ( ll_found ) EXIT
00079 END IF
00080 END DO
00081
00082 IF (.NOT. ll_found) THEN
00083 ierrp(1) = ig_nb_tot_pes+(ig_driver_nb_pes-1)
00084 ierrp(2) = ib
00085 call psmile_error_common ( id_err, 'PRISMDrv_Get_comp_names', &
00086 ierrp, 2, __FILE__, __LINE__ )
00087 END IF
00088
00089
00090
00091 end subroutine prismdrv_get_comp_names
00092