how to realize the condiational calculation by cdo
Added by Hongzhi Zhang about 2 years ago
Hi, all
These days, I've done the convertion job of surface temperature (°K to °F). However, when I started to calculate the heat index, I found that I don't know how to realize the conditional calculation by cdo. It would be very helpful if anyone could provide some advises.
I need to calculate heat index by considering surface temperature(TAS) and relative humidity(RH) based on following steps:
(1) cdo expr,'tas = fomula 1' -merge TAS.nc RH.nc output.nc
(2) if tas is greater than the threhold (80°F), then excute "cdo expr,'tas = fomula 2'
Thanks again for helps.
Regards
Hongzhi
Replies (2)
RE: how to realize the condiational calculation by cdo - Added by Ralf Mueller about 2 years ago
hi!
I try to re-use your pseudo-code for the formular:
cdo -expr,'tas=(tas>80.0)?formula2():tas; tas=formula1(tas,rh);' <infile> <outfile>
Just like the operators on the command line the calls area executed from right to left in the
expr
operator. Check the docu at. The construct is called 'Ternary Operator' its a shortcut for an IF-statement.
hth
ralf
RE: how to realize the condiational calculation by cdo - Added by Hongzhi Zhang about 2 years ago
Hi, ralf
Thanks for your kind advise. It's very helpful.
Regards
Hongzhi