Scheduled Downtime
On Friday 21 April 2023 @ 5pm MT, this website will be down for maintenance and expected to return online the morning of 24 April 2023 at the latest

Fundamental issue with etkf: or just a simple not understanding the logic


New member
I am trying to run the etkf function of wrfda and encounter something which i do not understand.

I am running the system on an observational dataset which consists of surface observations, and new dataset (Aeolus HLOS and Transformed Retrievals) which need to add to the drivers.

There are several steps involved an one is to filter the observations, and then generate an ob.etkf.ensemble_number file by running wrfvar using 'Verify' option. (e.g. ob.etkf.0001)

The interesting part is that 5th and 6th column of this file ALWAYS reads -889. in my case

It is interesting as the last step of the mult-step approach check if((apm_type(o,1).ne.220.) .and. (apm_type(o,1).ne.120.)) THEN REJECT.

In the end ALL filtered observations are rejected and consequently the output for the various ensemble members does not make sense (all zoro)

The code which generates the ob.etkf.ensemble_number has a statements like
apm_plc = -888.88
if ( iv%synop(n)%u%qc >= 0 .and. ob%synop(n)%u /= missing_r ) then
apm_index = apm_index + 1
write(ounit,1000) ob%synop(n)%u, iv%synop(n)%u%inv, iv%synop(n)%u%error, &
'WNU', apm_plc, -888.88, iv%info(synop)%lat(1,n), iv%info(synop)%lon(1,n), &

If i read the code it means that under no situation we can have in column 5 and 6 of the ob.etkf.0001 file a number different than -889 and -889 and these will be rejected.

In summary: the second step of the etkf-generation process generates a file which has -888.88 in column 5 and 6, and the third step rejects all observations which not have 220. and 120 in these columns.

Thus there are no valid surface observations: and thus the etkf process fails.

Going over the writing code it appears that the ETKF system is only applicable to Radiosonde observations. Can anybody confirm this?
Has it been applied to Surface observations? I am running wrf 4.3.3.

The suggestion is now to switch to the DTC version of etkf.

If this is confirmed i urge the WRF support team to add some statements in the README files and the user guide regarding the limited applicability of the ETKF functionality of WRF. It would save a lot of time of the naive users.