Things which can cause FVCOM to crash

FVCOM can crash and its error messages can sometimes be cryptic. Here are some common issues with FVCOM which cause the model to not initialise properly.

  • If you enable the air pressure flag in make.inc (flag 28) and do not include air pressure data in an input file, FVCOM will crash and it will not tell you why.
  • FVCOM is sensitive to the presence or absence of entries in the namelist file, even if you are not using those options. If you have changed options in your make.inc and FVCOM crashes, it can be useful to have FVCOM generate a blank example namelist. Update your own namelist with all sections from the example one.
  • FVCOM reads the times from netCDF files in a specific order. If Times is present, if will use the data in that and discard anything else, otherwise, if Itime and Itime2 are present, it will use those. Finally, it falls back to time if no other time data are found.
  • If you include a Times string in any of your input files, make sure it's accurate. If you have inadvertently included illogical times in your string, such as 2008/02/01 03:59:60, FVCOM will eventually crash with an unhelpful error message (although it may run happily for several days of model time before doing so). To fix, either correct your Times string or remove it completely from the input file.
  • A recent model run (using FVCOM version 3.1.6) crashed when run with 192 CPUs. Changing the number of CPUs to any other value allowed to model to run beyond the crash point. It may be that a river in the halo node was the cause of this crash.
  • If you use the hotstart option, your STARTUP_FILE must be in your INPUT_DIR.
  • If your RIVER_INFO_FILE in your namelist is incorrect, FVCOM will crash and it will not tell you why:
     !================================================================!
       _______  _     _  _______  _______  _______  ______     _____  
      (_______)(_)   (_)(_______)(_______)(_______)(_____ \   (_____) 
       _____    _     _  _        _     _  _  _  _  _____) )  _  __ _ 
      |  ___)  | |   | || |      | |   | || ||_|| |(_____ (  | |/ /| |
      | |       \ \ / / | |_____ | |___| || |   | | _____) )_|   /_| |
      |_|        \___/   \______) \_____/ |_|   |_|(______/(_)\_____/ 
      -- Beta Release
     !================================================================!
     !                                                                !
     !========DOMAIN DECOMPOSITION USING: METIS 4.0.1 ================!
     !======Copyright 1998, Regents of University of Minnesota========!
     !                                                                !
     !================================================================!
     !                                                                !
     ! RUNNING IN PARALLEL: 004 Processors                            !
     ! MYID is 001                                                    !
     !================================================================!
    [cli_1]: [cli_3]: aborting job:
    application called MPI_Abort(MPI_COMM_WORLD, -1) - process 3
    aborting job:
    application called MPI_Abort(MPI_COMM_WORLD, -1) - process 1
    [cli_2]: aborting job:
    application called MPI_Abort(MPI_COMM_WORLD, -1) - process 2
  • FVCOM doesn't like river names which contain special characters (for example, spaces, (, ) or _. This list is obviously not exhaustive - please add to it as you find more). Numbers and - appear to be fine.
  • FVCOM also does not like two rivers sharing the same name. Rename your rivers, e.g. Name1 and Name2.
  • FVCOM has a hard limit of 80 characters for most strings, including the path to your input files. Make sure the INPUT_DIR + input file names don't exceed that length.