# OpenMP support¶

Some of the **CDO** operators are shared memory parallelized with OpenMP. An OpenMP-enabled C++ compiler is needed to use this feature. Users may request a specific number of OpenMP threads *nthreads* with the '-P' switch.

Here is an example to distribute the bilinear interpolation on 8 OpenMP threads:

cdo -P 8 remapbil,targetgrid ifile ofileMany

**CDO**operators are I/O-bound. This means most of the time is spend in reading and writing the data. Only compute intensive

**CDO**operators are parallelized. The following

**CDO**operators are parallelized with OpenMP:

Module | Operator | Description |
---|---|---|

Afterburner | after | ECHAM standard post processor |

Detrend | detrend | Detrend |

EcaEtccdi | etccdi_tx90p | Percentage of Days when Daily Maximum Temperature is Above the 90th Percentile |

EcaEtccdi | etccdi_tx10p | Percentage of Days when Daily Maximum Temperature is Below the 10th Percentile |

EcaEtccdi | etccdi_tn90p | Percentage of Days when Daily Minimum Temperature is Above the 90th Percentile |

EcaEtccdi | etccdi_tn10p | Percentage of Days when Daily Minimum Temperature is Below the 10th Percentile |

EcaEtccdi | etccdi_r95p | Annual Total Precipitation when Daily Precipitation Exceeds the 95th Percentile of Wet Day Precipitation |

EcaEtccdi | etccdi_r99p | Annual Total Precipitation when Daily Precipitation Exceeds the 99th Percentile of Wet Day Precipitation |

Ensstat | ens<STAT> | Statistical values over an ensemble |

EOF | eof | Empirical Orthogonal Functions |

Fillmiss | setmisstonn, setmisstodis | Set missing value to nearest neighbor |

Filter | bandpass | Bandpass filtering |

Filter | lowpass | Lowpass filtering |

Filter | highpass | Highpass filtering |

Fourier | fourier | Fourier transformation |

Genweights | genbil | Generate bilinear interpolation weights |

Genweights | genbic | Generate bicubic interpolation weights |

Genweights | gendis | Generate distance-weighted average remap weights |

Genweights | gennn | Generate nearest neighbor remap weights |

Genweights | gencon | Generate 1st order conservative remap weights |

Genweights | gencon2 | Generate 2nd order conservative remap weights |

Genweights | genlaf | Generate largest area fraction remap weights |

Gridboxstat | gridbox<STAT> | Statistical values over grid boxes |

Intlevel | intlevel | Linear level interpolation |

Intlevel3d | intlevel | Linear level interpolation from/to 3D vertical coordinates |

Remapeta | remapeta | Remap vertical hybrid level |

Remap | remapbil | Bilinear interpolation |

Remap | remapbic | Bicubic interpolation |

Remap | remapdis | Distance-weighted average remapping |

Remap | remapnn | Nearest neighbor remapping |

Remap | remapcon | First order conservative remapping |

Remap | remapcon2 | Second order conservative remapping |

Remap | remaplaf | Largest area fraction remapping |

Runpctl | runpctl | Running percentile values |

Smooth | smooth | Smooth grid points |

Spectral | sp2gp, gp2sp | Spectral transformation |

Vertintap | ap2pl, ap2hl | Vertical interpolation on hybrid sigma height coordinates |

Vertintgh | gh2hl | Vertical height interpolation |

Vertintml | ml2pl, ml2hl | Vertical interpolation on hybrid sigma pressure coordinates |

With <STAT> = min, max, mean, avg, std, std1, var, var1, pctl