Environment module providing common utilities and error handling.
This module exports fundamental types and constants used throughout mctc-lib:
Error handling follows a simple pattern: pass an allocatable error_type to library routines, then check if it is allocated to detect errors.
Example usage:
use mctc_env
type(error_type), allocatable :: error
call some_routine(result, error)
if (allocated(error)) then
print '(a)', error%message
error stop
end if