CTSM's unit tests needed some changes to prevent multiple calls to ESMF_Initialize and ESMF_Finalize within the same executable. (It worked to have these multiple calls when we used the ESMF WRF Time manager, but no longer works with the real ESMF library.) I think the shr_cal unit tests need similar changes (only initialize if not yet initialized; finalize in the teardown of the executable rather than the teardown of each test).