Project

General

Profile

if condition with "expr"

Added by Ivana Cvijanovic about 2 months ago

Hi,

I have a file containing t2m and rh (tarh_era5.nc). I would like to select rh only for those time steps when t2m is >30.

I use the following command:

cdo -expr,'rhsample=(t2m>30) ? rh : -999.9' tarh_era5.nc rhsample_era5.nc

Can someone confirm if this command is doing what I was hoping it would ? My files dont look right, there are missing values at locations that should satisfy this condition, so I suspect not.

Thank you,

Ivana


Replies (1)

RE: if condition with "expr" - Added by Estanislao Gavilan about 2 months ago

Hi Ivana,

to mask a variable using a different variable your need to follow this formula

cdo -expr,'x_mask=((y > c) ? x : mask_c)' infile outfile

So you have to add two missing brackets

cdo -expr,'rhsample=((t2m>30) ? rh : -999.9)' tarh_era5.nc rhsample_era5.nc

Best regards,

Estanislao

    (1-1/1)