Saving the AB3 terms in the restart file -- optional

Issue #83 resolved
Michael Hardman created an issue

d1b68c64 --This commit adds the nonlinear terms to the restart file such that AB3 time stepping can be continued immediately after the restart. This adds 3 distribution function sized arrays to the restart file. Whilst this feature is good
to have, the addition of 3 distribution function size arrays could be prohibitive in the cases of very large simulations where very large restart files are printed.

I suggest that the old method of restarting, which involves just the distribution function from the last timestep, is retained as an option permanently. This will allow users who are attempting multiscale simulations to avoid hitting storage limits.

Comments (7)

  1. Stephen Biggs-Fox

    Sounds sensible to me.There is a slight reduction in accuracy for a few time-steps but that should not make any noticeable difference. Users who require this option need to use it aware of this. I think the full way should be the default.

  2. Stephen Biggs-Fox

    Ah ha! I was just about to open a new issue but I think my problem is related to this so I will post it here (for now at least).

    I did a simulation using v8.0.2, i.e. before the AB3 changes. I then added a new feature related to restarts and tried to test it out by restarting that simulation. The new feature branched off from next so includes the AB3 changes. When I run the restart, I get the following error messages:

    ERROR: NetCDF: Variable not found in variable: delt1
    ERROR: NetCDF: Variable not found
    ERROR in netcdf_error: NetCDF: Variable not found in varid: 0, ncid: 65536 in init_dt
    ERROR: NetCDF: Variable not found in variable: delt2
    ERROR: NetCDF: Variable not found
    ERROR in netcdf_error: NetCDF: Variable not found in varid: 0, ncid: 65536 in init_dt
    ERROR: NetCDF: Variable not found in variable: gexp_1_r
    ERROR: NetCDF: Variable not found in variable: gexp_1_i
    ERROR: NetCDF: Variable not found in variable: gexp_2_r
    ERROR: NetCDF: Variable not found in variable: gexp_2_i
    ERROR: NetCDF: Variable not found in variable: gexp_3_r
    ERROR: NetCDF: Variable not found in variable: gexp_3_i
    ERROR: NetCDF: Variable not found in variable: gexp_1_r
    ERROR in netcdf_error: NetCDF: Variable not found in varid: 0, ncid: 65536
    ERROR: NetCDF: Variable not found in variable: gexp_1_i
    ERROR in netcdf_error: NetCDF: Variable not found in varid: 0, ncid: 65536
    ERROR: NetCDF: Variable not found in variable: gexp_2_r
    ERROR in netcdf_error: NetCDF: Variable not found in varid: 0, ncid: 65536
    ERROR: NetCDF: Variable not found in variable: gexp_2_i
    ERROR in netcdf_error: NetCDF: Variable not found in varid: 0, ncid: 65536
    ERROR: NetCDF: Variable not found in variable: gexp_3_r
    ERROR in netcdf_error: NetCDF: Variable not found in varid: 0, ncid: 65536
    ERROR: NetCDF: Variable not found in variable: gexp_3_i
    ERROR in netcdf_error: NetCDF: Variable not found in varid: 0, ncid: 65536
    I think this is because the restart files were produced before the AB3 changes, so do not contain the AB3 information but I am trying to restart using code that does contain the AB3 changes so the code is trying to read data that is not there.

    I guess this is another reason why we need to retain the old restart method as an option - for backwards compatibility.

    Actually, this is slightly different, though very much related. Michael was talking about the saving of the restart files. I’m talking about the loading of the restart files.

  3. David Dickinson

    @Stephen Biggs-Fox if the restart files don’t contain this new information then it should just be ignored, but it does print these messages.

  4. Log in to comment