102 & observed, sigma, weight, first_index)
109 CHARACTER (len=path_length),
INTENT(in) :: thscte_file
110 TYPE (signal_pointer),
DIMENSION(:),
INTENT(inout) :: signals
111 INTEGER,
INTENT(inout) :: signals_created
112 REAL (rprec),
DIMENSION(:),
INTENT(in) :: observed
113 REAL (rprec),
DIMENSION(:),
INTENT(in) :: sigma
114 REAL (rprec),
DIMENSION(:),
INTENT(in) :: weight
115 INTEGER,
INTENT(inout) :: first_index
119 INTEGER,
PARAMETER :: n_thscted_keyword = 9
123 CHARACTER(len=data_name_length), &
124 & DIMENSION(1:n_thscted_keyword) :: thscted_keyword
125 TYPE(signal_dot_file) :: thscte_dot_file_ref
126 REAL (rprec) :: start_time
129 start_time = profiler_get_start_time()
132 thscted_keyword(1) =
'thscte_XYZ'
133 thscted_keyword(2) =
'thscte_RPhiDegZ'
134 thscted_keyword(3) =
'thscte_XYZ_te'
135 thscted_keyword(4) =
'thscte_RPhiDegZ_te'
136 thscted_keyword(5) =
'thscte_XYZ_ne'
137 thscted_keyword(6) =
'thscte_RPhiDegZ_ne'
138 thscted_keyword(7) =
'thscte_XYZ_pres'
139 thscted_keyword(8) =
'thscte_RPhiDegZ_pres'
140 thscted_keyword(9) =
'end_of_file'
159 CASE (
'thscte_XYZ',
'thscte_XYZ_te')
162 & signals, signals_created, &
163 & observed, sigma, weight, &
166 CASE (
'thscte_RPhiDegZ',
'thscte_RPhiDegZ_te')
169 & signals, signals_created, &
170 & observed, sigma, weight, &
173 CASE (
'thscte_XYZ_ne')
176 & signals, signals_created, &
177 & observed, sigma, weight, &
180 CASE (
'thscte_RPhiDegZ_ne')
183 & signals, signals_created, &
184 & observed, sigma, weight, &
187 CASE (
'thscte_XYZ_pres')
190 & signals, signals_created, &
191 & observed, sigma, weight, &
194 CASE (
'thscte_RPhiDegZ_pres')
197 & signals, signals_created, &
198 & observed, sigma, weight, &
208 CALL profiler_set_stop_time(
'thscte_dot_read', start_time)
244 & observed, sigma, weight, &
250 USE v3_utilities,
only: err_fatal
255 CHARACTER (len=*) :: coordinate_type
256 CHARACTER (len=1) :: point_type
257 TYPE (signal_pointer),
DIMENSION(:),
INTENT(inout) :: signals
258 INTEGER,
INTENT(inout) :: signals_created
259 REAL (rprec),
DIMENSION(:),
INTENT(in) :: observed
260 REAL (rprec),
DIMENSION(:),
INTENT(in) :: sigma
261 REAL (rprec),
DIMENSION(:),
INTENT(in) :: weight
262 INTEGER,
INTENT(inout) :: first_index
265 REAL (rprec),
DIMENSION(3) :: xcart
266 CHARACTER (len=data_short_name_length) :: point_name
268 CHARACTER (len=data_short_name_length) :: units =
''
269 REAL (rprec) :: start_time
272 start_time = profiler_get_start_time()
276 CALL err_fatal(
'thscte_dot_parse_chord: created signals' // &
277 &
' exceeds v3fit_max_diagnostics')
286 SELECT CASE (point_type)
302 CALL signal_construct( thomson_obj, point_name, point_name, &
303 & units, observed(signals_created + 1), &
304 & sigma(signals_created + 1), weight(signals_created + 1), &
308 signals(signals_created + 1)%p => thomson_obj
310 signals_created = signals_created + 1
314 IF (first_index .eq. -1)
THEN
315 first_index = signals_created
318 CALL profiler_set_stop_time(
'thscte_dot_parse_chord', start_time)