At the moment, this subroutine is called (and boundary amplitudes written) by master processs only, which holds all boundary amplitudes. In cases with many channels and many inner region eigenstates, the size of the boundary amplitude matrices can, hypothetically, become too large for a single process to manage (either because of memory or I/O bandwidth limitations). It will then be necessary to keep the amplitudes distributed (in get_boundary_data) and write them using MPI I/O similarly as in write_rmt_data. Note that in this case we are writing a SEQUENTIAL rather than a STREAM file, so the binary data written need to be split into chunks of size at most 2 GiB, each of them immediately preceded by a "bookmark" 32-bit integer with the length of the chunk in bytes, and followed by a similar bookmark with the same value, but with positive sign when that chunk is the last one in the record, or negative sign when that chunk is yet followed by another chunk within the same record. While not elaborated in the Fortran standard, this seems to be the universal storage scheme used in SEQUENTIAL UNFORMATTED files by GNU, Intel and Cray compilers.