For timing within Fortran, GPTL is hard to beat. You can either let it auto-instrument your functions (still requires a couple setup calls in your main program), or setup timing entries as such:
ret = gptlstart(‘computation1’)
ret = gptlstop(‘computation1’)
You’ll get an entry in your GPTL output file telling you what happened between the start and stop calls. If you have PAPI installed, life gets even better (though PAPI can be more difficult to install).