Hi all

I'm planning to run a very long simulation with OpenIFS in a coupled mode. However, if my math is correct, with a 1 hour time step, after 114 years OpenIFS will have run for > 999999 time step and then 6 digits to represent the output time in the output files will not be enough. 

Is there a namelist parameter to or a simple modification to the source code to allow OpenIFS to either write files with the pattern "ICMGGtest+9999999999" (10 digits to represent time step), or, even better, using the current time e.g. "ICMGGtest_19990428-0600"? I'm interested in the ICMGG and ICMSH files. 


Best regards

Joakim Kjellsson

3 Comments

  1. Hi Joakim,

    Good question. I'm not aware of any code in OpenIFS that allows this, but someone in EC-Earth might have made such a change for their long runs.  I think you have contacts there, if not let me know and I can ask them.

    The code that sets the file name for ICMSH is in ifs/dia/suofname.F90. It looks straightforward to change that and the modify the character sizes and format lengths in ifs/dia/wroutspgb.F90 (but there may be other places). ICMGG looks like it's set differently in ifs/setup/suoph.F90 and then used in ifs/dia/wroutgpgb.F90  which would need changes to character string lengths and format sizes.  I looked through the namelists but couldn't see any option for changing the output to use a date-time string. I can't see any obvious difficulty in making the change.

    Note the model output filenames are using hours, not steps.

    Best regards,  Glenn


  2. If you do make this change or get the code from EC-Earth let me know, we can consider it adding it to OpenIFS.

     Cheers,  Glenn

  3. Sorry for the late answer, I only saw this after Joakim send me an mail. This problem and (OpenIFS Cy40R1 crash in GRIB_API in a very long run) was solved by the EC-Earth community. Uwe Fladrich identified the problems and files associated as listed below. He also solved them with a set of changes that I uploaded here:

     


    First, a categorisation of the problems:

    (1) Using too short integer type
        (1a) Converting RSTATI (from YOMRIP) to standard integer with NINT
        (1b) Intermediate computations of type: time_step_number*time_step_in_sec
        (1c) other variables
    
    (2) Too short output format
        (2a) Logging
        (2b) Time stamps used in file names
        (2c) other
    
    (3) Write time_in_seconds into grib message
    

    Next, a list of source files with their associated category of problems:

    climate
        updclie.F90             (1b)
        updrgas.F90             (1b)
    control
        cnt4.F90                (2b), (1b)
        reresf.F90              (2a), (2c)
    dia
        grib_code_message.F90   (3)
        ppeddh.F90              (1a)
        ppeddhec.F90            (1a), (2a?)
        wroutgpgb.F90           (1b), (2a)
        wroutspgb.F90           (1b), (2a)
    fullpos
        su4fpos.F90             (1c)
    include
        ppreq.intfb.h           (1c)
        ppreset.intfb.h         (1c)
        su4fpos.intfb.h         (1c)
    module
        yomres.F90              (2c)
    phys_ec
        callpar.F90             (1a)
        radpar.F90              (1a)
    pp_obs
        ppreq.F90               (1c), (2a)
        ppreset.F90             (1c)
    utility
        updtim.F90              (1a), (1b)
        wrresf.F90              (1b), (2b)