arlmet.File.flush#

File.flush()[source]#

Write pending record sets to disk and release their in-memory data.

Record sets are held in memory until the file is flushed or closed. When writing many time steps, call flush() after filling each one so memory stays bounded by one time step instead of the whole file. Flushed record sets cannot be modified.

Examples

>>> with arlmet.File(
...     "out.arl", mode="w", source="TEST", grid=grid, vertical_axis=vaxis
... ) as arl:
...     for time, fields in steps:  # fields: {(name, level): array}
...         rs = arl.create_recordset(time, forecast=0)
...         for (name, level), data in fields.items():
...             rs.create_datarecord(name, level=level, forecast=0, data=data)
...         arl.flush()
Return type:

None