Dear all,

I am relatively new to OpenIFS and I am wondering if there is a kind of rule-of-thumb on how to output variables?

I am very much aware of the How to control OpenIFS output page and know how to output on all the different type of levels. However, now I am having some trouble to output more exotic (grib-code 214-217 related to diabatic heating) and also less exotic (grib-code 4: equivalent potential temperature) on model levels and pressure levels – they don't give a namelist error, but are just skipped in the output files because u,v,w,t,q,z are outputted – and therefore I am wondering how I can know which variables from the parameter-database I can output? Or is it just trial-and-error?

Thanks in advance!

Great greetings,

~Thomas J. Batelaan



3 Comments

  1. Hi Thomas, apologies, I missed this post.

    The OpenIFS output webpage lists all the grib codes the model knows about in its code (there might be a few missing but I tried hard to keep this up to date with each release). The ECMWF parameter database contains many more fields which are computed by post-processing from the model output, or, they are fields that are derived from analysis products.

    If you ask for a grib field in the namelist the model doesn't know about, it will simply be ignored.

    If you really want to know what the model can output the best way is to check the model code (I forget now what the subroutine name is but you can probably find it). This is how I compiled the list on the webpage.

    Cheers.

  2. Hi Glenn,

    Thanks for your reply.

    You probably mean the /src/ifs/module/yom_grib_codes.F90 subroutine, which I found last week. It is an extensive list and pretty helpful. Though I still do not understand why I cannot output 214-217. I do understand why I cannot output equivalent potential temperature – there is no grib-code 4 in the subroutine – however 214-217 are in the list, but give no output. So, I see the subroutine as very helpful, but not fully complete.

    (For me 214-217 is not a problem anymore, because I managed to output some diabatics via the LBUD23 model).

    Great greetings,

    ~Thomas

    1. This is one of the joys of working with IFS. Even though the code value might be defined in yom_grib_codes.F90, the code to actually compute the field must exist in the FULLPOS part of the model code, which sometimes it doesn't! (maybe a 'will-do later kind of thing'?).

      I've also seen examples where the model has code to compute things but the grib value is not defined for it in yom_grib_codes.F90 (vel.pot & streamfn if I remember right).

      Try looking in the fullpos model code to see if there's any mention of the field or grib code there. You might be lucky and find it's been disabled or similar?