---
title: OpXRD troubleshooting
description: 'Why spacegroup takes a number 1 to 230, not Fm-3m, why Mo K-alpha data scores low against Cu-indexed patterns, and why compute_fingerprint needs a CIF.'
tags:
  - opxrd
  - troubleshooting
---

This page helps you diagnose why an [OpXRD](/docs/opxrd) search or similarity match returns no results or low scores, and why pattern data fails validation — usually a filter or data-format mismatch rather than a missing phase.

## OpXRD troubleshooting

## No patterns found for element search

**Symptom**: search_patterns returns zero results.

**Causes and fixes**:

- **Rare element combination**: The database may not contain patterns for unusual compositions. Try broader filters (single element instead of a combination).
- **`elements_exclusive` too strict**: Switch it from `true` to `false` to include compounds with additional elements beyond the ones listed.
- **Misspelled element symbol**: Element symbols are case-sensitive (`Fe` not `fe` or `FE`).
- **Wrong spacegroup filter**: `spacegroup` takes the space group **number** (1-230), not a Hermann-Mauguin symbol — `"Fm-3m"` won't match anything. If you only know the symbol, look up its number or filter by `chemical_formula`/`elements` instead.

## Similarity search returns low scores

**Symptom**: All matches have similarity below the threshold.

**Causes and fixes**:

- **Wavelength mismatch**: `similarity_search` has no wavelength parameter — it compares raw 2-theta positions. If your experimental data was collected with Mo K-alpha (0.7093 Å) rather than Cu K-alpha (~1.5406 Å), your peaks sit at different 2-theta angles than the database's Cu-K-alpha-indexed patterns and the fingerprint will not match. Convert your pattern to d-spacing or an equivalent Cu-K-alpha 2-theta scale before submitting `two_theta_values`.
- **Background not subtracted**: High background noise dilutes the fingerprint signal. Subtract the background before running similarity search, or use [PyWPEM](/docs/pywpem) background fitting first.
- **Amorphous sample**: Amorphous materials produce broad humps rather than sharp peaks. The database primarily contains crystalline patterns.
- **Low threshold**: Try lowering `similarity_threshold` to 0.5 to see if any weak matches emerge, and try `similarity_metric: "pearson"` or `"euclidean"` if `cosine` scores poorly.

## Pattern data validation failed

**Symptom**: A "Similarity search requires both two_theta_values and intensities arrays" or pattern-validation error.

**Fixes**:

- Provide both `two_theta_values` and `intensities` as separate, same-length arrays — there is no combined `pattern_data` field
- Two-theta values must be positive
- Intensity values must be non-negative

## Job timed out

**Symptom**: Job exceeds the default timeout.

**Causes**:

- Similarity search against the full database with a very low threshold can be slow
- Increase the threshold or reduce `max_results`
- If timeouts persist, the Modal volume may be temporarily unavailable. Retry after a few minutes.

## Fingerprint computation fails or returns null

**Symptom**: `compute_fingerprint` returns an error or a `null` fingerprint.

**Fixes**:

- `compute_fingerprint` takes a crystal **structure** (`cif_content` or `structure_dict`), not a raw diffraction pattern — it is a different input shape from `similarity_search`. Passing `two_theta_values`/`intensities` here will not work.
- Verify the CIF content parses as a valid structure; malformed or incomplete CIF files return `"Failed to compute fingerprint"`.
- If you only have an experimental pattern (no structure), use `similarity_search` instead, which compares patterns directly rather than computing a structure-derived fingerprint.

## Getting help

If issues persist:

1. Check the job logs in the .bloom* job panel for specific error messages
2. Verify your input format against the examples in the [inputs page](/docs/opxrd/inputs)
3. Describe the issue to Ivy

## Read next
