# 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 |
---|---|---|

Detrend | detrend | Detrend |

Ensstat | ensmin | Ensemble minimum |

Ensstat | ensmax | Ensemble maximum |

Ensstat | enssum | Ensemble sum |

Ensstat | ensmean | Ensemble mean |

Ensstat | ensavg | Ensemble average |

Ensstat | ensvar | Ensemble variance |

Ensstat | ensstd | Ensemble standard deviation |

Ensstat | enspctl | Ensemble percentiles |

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 | gridboxmin | Gridbox minimum |

Gridboxstat | gridboxmax | Gridbox maximum |

Gridboxstat | gridboxsum | Gridbox sum |

Gridboxstat | gridboxmean | Gridbox mean |

Gridboxstat | gridboxavg | Gridbox average |

Gridboxstat | gridboxvar | Gridbox variance |

Gridboxstat | gridboxstd | Gridbox standard deviation |

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 |