For any functions in the MUSICA library that can catch exceptions thrown by MICM, TUV-x, etc., allow host applications to use their own logic to handle the errors
Acceptance Criteria
In the Atmospheric_Physics wrapper of MUSICA, any errors coming from MICM functions can be written out to the atmosphere log file
Ideas
Either:
return an error code and message from any function that catches exceptions
or:
Accept a function pointer as an argument to any function that catches exceptions. The function passed in should accept two arguments - an error code and a message. The function will be called if/when an exception is caught.
or:
Host applications can register a function that will be called whenever an exception is caught. MUSICA could have a default function that fails with a message to stderr whenever an exception is caught.
Example error-handling function:
void HandleError(int error_code, int error_message_length, const char* error_message);
Then, a host application could register this function with MUSICA something like:
Add error handling for MUSICA interface
Acceptance Criteria
Ideas Either:
Example error-handling function:
Then, a host application could register this function with MUSICA something like: