MetOffice / MetOffice/lfric_core

Deprecating Legacy Timer

Open
#225 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Fortran
Stars
26
Forks
73
Avg merge
1d 8h
Merged PRs (30d)
4

Description

### Are there any linked Issues or Pull Requests?

MetOffice/lfric_apps#80, #201, Metoffice/lfric_apps#152

### Brief description

Brief description

Once the timing system is reworked to offer full Vernier functionality, as part of issues MetOffice/lfric_apps#68 and #192 and respective PRs MetOffice/lfric_apps#80 and #201, post-processing options for Vernier outputs can be added and eventually the legacy timer deprecated.

As part of this, the build system changes involving pre-processing macros can also be simplified.

### Further details of the issue.

The lines
```
ifdef USE_LEGACY_TIMER
export PRE_PROCESS_MACROS += LEGACY_TIMER
endif
```
and
```
# Check that only one profiler is requested
ifneq ($(and $(findstring LEGACY_TIMER, $(PRE_PROCESS_MACROS)), \
$(findstring VERNIER, $(PRE_PROCESS_MACROS))), )
$(error Multiple profilers specified, limit choice to single profiler.)
endif

# Check that TIMING ON has been set if any profiler requested.
ifneq ($(or $(findstring LEGACY_TIMER,$(PRE_PROCESS_MACROS)), \
$(findstring VERNIER, $(PRE_PROCESS_MACROS))), )
ifndef USE_TIMING_WRAPPER
$(error Conflicting options: Profiler requested with Timing disabled.)
endif
endif
```
in lfric.mk can be removed or significantly simplified.

Contributor guide

No contributing guide indexed for this repository

Research direction

Read lfric.mk and review the linked timing-system issues and pull requests, especially MetOffice/lfric_apps#68, #192, #80, and #201. After Vernier functionality and post-processing are available, remove or simplify the USE_LEGACY_TIMER and profiler-validation logic, with the legacy timer no longer supported.

Written by the indexing model from the issue text.

Assessment

Tech stack
fortran
Domain
build-system
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.