MODULE moduleMeshInoutCommon CHARACTER(LEN=4):: prefix = 'Step' CONTAINS PURE FUNCTION formatFileName(prefix, suffix, extension, t) RESULT(fileName) USE moduleOutput IMPLICIT NONE CHARACTER(*), INTENT(in):: prefix, suffix, extension INTEGER, INTENT(in), OPTIONAL:: t CHARACTER (LEN=iterationDigits):: tString CHARACTER(:), ALLOCATABLE:: fileName IF (PRESENT(t)) THEN WRITE(tString, iterationFormat) t fileName = prefix // '_' // tString // '_' // suffix // '.' // extension ELSE fileName = prefix // '_' // suffix // '.' // extension END IF END FUNCTION formatFileName END MODULE moduleMeshInoutCommon