00001
00002
00003
00004
00005
00006
00007
00008
00009 SUBROUTINE get_transi_io_numbers ( id_XML_doc, &
00010 id_nb_transi, &
00011 ida_nb_stand_name, &
00012 ida_nb_transi_in, &
00013 ida_nb_transi_out, &
00014 id_comp, &
00015 ld_first_details, &
00016 id_error )
00017
00018
00019
00020
00021
00022
00023
00024 USE PSMILe_smioc
00025 IMPLICIT NONE
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 INTEGER, INTENT(In) :: id_XML_doc
00037
00038
00039 INTEGER, INTENT(In) :: id_nb_transi
00040
00041
00042 INTEGER, DIMENSION(id_nb_transi), INTENT(Out) :: ida_nb_stand_name
00043
00044
00045 INTEGER, DIMENSION(id_nb_transi), INTENT(Out) :: ida_nb_transi_in
00046
00047
00048 INTEGER, DIMENSION(id_nb_transi), INTENT(Out) :: ida_nb_transi_out
00049
00050
00051 INTEGER, INTENT(In) :: id_comp
00052
00053
00054 LOGICAL, INTENT(In) :: ld_first_details
00055
00056
00057 INTEGER, INTENT(Out) :: id_error
00058
00059
00060 INTEGER :: ib, ib_nt, ib_xml, ib_u
00061 INTEGER :: il_xml_transi
00062
00063 INTEGER :: sasa_c_get_number_3rd_level, sasa_c_get_number_4th_level
00064 INTEGER :: sasa_c_get_number_5th_level
00065
00066
00067
00068
00069
00070
00071
00072 IF ( ld_first_details ) THEN
00073 il_xml_transi = id_nb_transi
00074 ELSE
00075 il_xml_transi = id_nb_transi - iga_comp_nb_udef(id_comp)
00076 ENDIF
00077
00078
00079 DO ib =1, il_xml_transi
00080 id_error = &
00081 sasa_c_get_number_3rd_level(id_XML_doc, &
00082 'component', 0, 'transient', ib, 'transient_standard_name', &
00083 ida_nb_stand_name(ib))
00084 print *,' get_transi_io_numbers id_error stand_name ib = ',ib, id_error
00085
00086 id_error = &
00087 sasa_c_get_number_5th_level(id_XML_doc, &
00088 'component', 0, 'transient', ib, 'intent', 0, &
00089 'input', 0, 'origin', ida_nb_transi_in(ib))
00090 print *,' get_transi_io_numbers id_error transi_in ib = ',ib, id_error
00091
00092 id_error = &
00093 sasa_c_get_number_4th_level(id_XML_doc, &
00094 'component', 0, 'transient', ib, 'intent', 0, &
00095 'output', ida_nb_transi_out(ib))
00096 print *,' get_transi_io_numbers id_error transi_out ib = ',ib, id_error
00097 END DO
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107 IF ( .NOT. ld_first_details ) THEN
00108
00109 ib_nt = 0
00110 DO ib_u = il_xml_transi + 1, id_nb_transi
00111 ib_nt = ib_nt + 1
00112
00113 ib_xml = sga_comp_udef_idx(id_comp)%iga_xml_trindex(ib_nt)
00114
00115 ida_nb_stand_name(ib_u) = ida_nb_stand_name(ib_xml)
00116
00117 IF ( ida_nb_transi_in(ib_xml) .NE. 0 ) THEN
00118 ida_nb_transi_in(ib_u) = 1
00119 ELSE
00120 ida_nb_transi_in(ib_u) = 0
00121 ENDIF
00122
00123 IF ( ida_nb_transi_out(ib_xml) .NE. 0 ) THEN
00124 ida_nb_transi_out(ib_u) = 1
00125 ELSE
00126 ida_nb_transi_out(ib_u) = 0
00127 ENDIF
00128 ENDDO
00129
00130 ENDIF
00131
00132 END SUBROUTINE get_transi_io_numbers
00133
00134
00135