Request: Change ncrcat return status after concatenation with different scale_factor

  • ocehugo

    ocehugo - 2014-05-22


    i would like to request that the return status of a ncrcat ( or any other concatenator) after executed with files with different "scale_factor attributes" be 1 (fail) instead of 0 (success), i.e., raise an ERROR instead of doing nothing.

    Now if the user try to concatenate files with different scale_factors, NCO will only print a warning and copy the scale_factor from the first file and apply that value to the rest of files in the concatenation procedure. I think this should not be permissive, instead it should return an error with a proper msg ( say unpack the variables).

    I'm a frequent user of the -D8 debug flag and since it produce a lot of output in the screen, became very difficult to spot that NCO actually is doing something that almost nobody wants, mixing variables with different values. Also that the behaviour of failing instead of continuing the concatenation, in my point of view, is more adequate than continuing the process since this can have nasty results and be difficult to spot (mainly in long records concatenated file).

    I spotted this problem when processing some files here with different scale factors. I would appreciate that NCO would stop me from doing all the wrong stuff and inserting the wrong fields in a processing chain after concatenation ( be safer than fast, I guess).

    Even so, if there is a great use for this type of concatenation, maybe a flag can be added to "ignore attributes" or so...


  • Charlie Zender

    Charlie Zender - 2014-05-22

    This is a reasonable request and has been added as TODO nco1111. However, it may be difficult to implement because it shifts the paradigm from "all files will share the same packing attributes as the first" to "check that all files share the same packing attributes as the first". Right now NCO warns users to be careful of this. Sorry the message is obfuscated by other messages at high debugging levels.


Log in to post a comment.