-
Notifications
You must be signed in to change notification settings - Fork 102
Enable jedi_lfric to run lfric_atm forecast configurations #512
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
Steven Sandbach (ss421)
wants to merge
41
commits into
MetOffice:main
Choose a base branch
from
ss421:update_forecast_config_ifdefphys
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+2,570
−1,301
Open
Changes from all commits
Commits
Show all changes
41 commits
Select commit
Hold shift + click to select a range
42c51b7
Add ifdef UM_PHYS, linear_model example runs
cjohnson-pi 3f79afc
retry copying optimisation from lfric_atm]
cjohnson-pi f6f1a06
linear_model and lfric_atm run
cjohnson-pi 0f9e2be
clearwhitespace
cjohnson-pi 9bf79cb
removing PHYSICS_ROOT change
cjohnson-pi 5f68c17
increase build wallclock
cjohnson-pi 70c1ce1
Merge remote-tracking branch 'upstream/stable' into ifdefphys
cjohnson-pi 0efabc0
use_physics false
cjohnson-pi 23a5abb
correct for validate_rose-meta. Test suite completes.
cjohnson-pi fa5e41d
Adding updates from my HEAD branch...
ss421 eaaba2a
use lfric_atm optimisation options
cjohnson-pi 3d3e72e
tidy
cjohnson-pi bcad2f5
revert jedi changes
cjohnson-pi db5d9a2
whitespace
cjohnson-pi ab70eb4
Merge remote-tracking branch 'cjohnson-pi/ifdefphys' into update_fore…
ss421 339b0b0
update build
cjohnson-pi b9da623
Make switch less strict, for jedi tests
cjohnson-pi 6f79e5b
Merge remote-tracking branch 'cjohnson-pi/ifdefphys' into update_fore…
ss421 f0261b9
Merge remote-tracking branch 'cjohnson-pi/ifdefphys' into update_fore…
ss421 f3090de
Fix rose validate - need to use upgrade macro
ss421 80831af
Fix/add KGOs
ss421 f039571
Relabeled the name of the chcksum
ss421 d240f12
Code tidy
ss421 09d22e1
Update to fix rose validate correctly
ss421 d5a18cd
Update the forecast configuration
ss421 fc48bb0
Merge branch 'main' into ifdefphys
james-bruten-mo 58011c4
Fix indentation for extracting external metadata message
james-bruten-mo 89c3bba
Update to revert previous change as noted by reviewer.
ss421 c51c69c
Remove file that is no longer used.
ss421 1c0df0e
Copy build options from lfric_atm
cjohnson-pi 1c551e7
Updates since merge from main
cjohnson-pi 7d4cfe5
Merge remote-tracking branch 'origin/main' into ifdefphys
james-bruten-mo cd62e53
Merge remote-tracking branch 'cjohnson-pi/ifdefphys' into update_fore…
ss421 c25d655
Merge branch 'main' into update_forecast_config_ifdefphys
ss421 8da365b
Fix validate_rose_meta after merge due to update in da opt
ss421 8f8ee99
Merge branch 'main' into update_forecast_config_ifdefphys
ss421 f1ee397
Fix tests after merege to head of main.
ss421 5cee5ee
Replace lfric_atm example with smaller gh based configuration
ss421 0cca8c7
Re-add the README file.
ss421 79fac20
Merge branch 'main' into update_forecast_config_ifdefphys
ss421 08cc8b5
Fix the versions.py file
ss421 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,46 @@ | ||
| ############################################################################## | ||
| # (c) Crown copyright 2026 Met Office. All rights reserved. | ||
| # The file LICENCE, distributed with this code, contains details of the terms | ||
| # under which the code may be used. | ||
| ############################################################################## | ||
|
|
||
| # NOTE: Import of compile options from LFRic infrastructure is temporarily | ||
| # suspended here as a workaround for #2340 in which application of the | ||
| # -qoverride-limits option was preventing compilation of a UKCA module. | ||
| # include $(LFRIC_BUILD)/compile_options.mk | ||
|
|
||
| $(info UM physics specific compile options) | ||
|
|
||
| include $(PROJECT_DIR)/build/fortran/$(FORTRAN_COMPILER).mk | ||
|
MatthewHambley marked this conversation as resolved.
|
||
|
|
||
| casim/%.o: private FFLAGS_EXTRA = $(FFLAGS_UM_PHYSICS) | ||
| ukca/%.o: private FFLAGS_EXTRA = $(FFLAGS_UM_PHYSICS) | ||
| jules/%.o: private FFLAGS_EXTRA = $(FFLAGS_UM_PHYSICS) | ||
| socrates/%.o: private FFLAGS_EXTRA = $(FFLAGS_UM_PHYSICS) | ||
| legacy/%.o: private FFLAGS_EXTRA = $(FFLAGS_UM_PHYSICS) | ||
| AC_assimilation/%.o: private FFLAGS_EXTRA = $(FFLAGS_UM_PHYSICS) | ||
| aerosols/%.o: private FFLAGS_EXTRA = $(FFLAGS_UM_PHYSICS) | ||
| atmosphere_service/%.o: private FFLAGS_EXTRA = $(FFLAGS_UM_PHYSICS) | ||
| boundary_layer/%.o: private FFLAGS_EXTRA = $(FFLAGS_UM_PHYSICS) | ||
| carbon/%.o: private FFLAGS_EXTRA = $(FFLAGS_UM_PHYSICS) | ||
| convection/%.o: private FFLAGS_EXTRA = $(FFLAGS_UM_PHYSICS) | ||
| diffusion_and_filtering/%.o: private FFLAGS_EXTRA = $(FFLAGS_UM_PHYSICS) | ||
| dynamics/%.o: private FFLAGS_EXTRA = $(FFLAGS_UM_PHYSICS) | ||
| dynamics_advection/%.o: private FFLAGS_EXTRA = $(FFLAGS_UM_PHYSICS) | ||
| electric/%.o: private FFLAGS_EXTRA = $(FFLAGS_UM_PHYSICS) | ||
| free_tracers/%.o: private FFLAGS_EXTRA = $(FFLAGS_UM_PHYSICS) | ||
| gravity_wave_drag/%.o: private FFLAGS_EXTRA = $(FFLAGS_UM_PHYSICS) | ||
| idealised/%.o: private FFLAGS_EXTRA = $(FFLAGS_UM_PHYSICS) | ||
| large_scale_cloud/%.o: private FFLAGS_EXTRA = $(FFLAGS_UM_PHYSICS) | ||
| large_scale_precipitation/%.o: private FFLAGS_EXTRA = $(FFLAGS_UM_PHYSICS) | ||
| physics_diagnostics/%.o: private FFLAGS_EXTRA = $(FFLAGS_UM_PHYSICS) | ||
| PWS_diagnostics/%.o: private FFLAGS_EXTRA = $(FFLAGS_UM_PHYSICS) | ||
| radiation_control/%.o: private FFLAGS_EXTRA = $(FFLAGS_UM_PHYSICS) | ||
| stochastic_physics/%.o: private FFLAGS_EXTRA = $(FFLAGS_UM_PHYSICS) | ||
| tracer_advection/%.o: private FFLAGS_EXTRA = $(FFLAGS_UM_PHYSICS) | ||
| %/limited_area_constants_mod.o: private FFLAGS_EXTRA = $(FFLAGS_INTEL_FIX_ARG) | ||
|
|
||
| $(info Disable warnings-turned-error caused by undeclared external functions - see ifort.mk) | ||
| %mpi_mod.o: private FFLAGS_EXTRA = $(FFLAGS_INTEL_EXTERNALS) | ||
| socrates/src/radiance_core/%.o: private FFLAGS_EXTRA = $(FFLAGS_INTEL_EXTERNALS) | ||
| socrates/src/interface_core/%.o: private FFLAGS_EXTRA = $(FFLAGS_INTEL_EXTERNALS) | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| ############################################################################## | ||
| # (c) Crown copyright 2026 Met Office. All rights reserved. | ||
| # The file LICENCE, distributed with this code, contains details of the terms | ||
| # under which the code may be used. | ||
| ############################################################################## | ||
| # Various things specific to the Cray Fortran compiler. | ||
| ############################################################################## | ||
|
|
||
| $(info Project specials for Cray compiler) | ||
|
|
||
| export FFLAGS_UM_PHYSICS = -s real64 | ||
|
|
||
| include $(PROJECT_DIR)/build/fortran/crayftn/$(PROFILE).mk |
55 changes: 55 additions & 0 deletions
55
applications/jedi_lfric_tests/build/fortran/crayftn/fast-debug.mk
|
MatthewHambley marked this conversation as resolved.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,55 @@ | ||
| ############################################################################## | ||
| # (c) Crown copyright 2026 Met Office. All rights reserved. | ||
| # The file LICENCE, distributed with this code, contains details of the terms | ||
| # under which the code may be used. | ||
| ############################################################################## | ||
| ############################################################################## | ||
| # Various things specific to fast-debug lfric_atm when using the | ||
| # Cray Fortran compiler. | ||
| # To override flags specified in LFRic Core, use | ||
| # FFLAGS_SAFE_OPTIMISATION, to add an additional flag to what is specified | ||
| # in Core, use FFLAGS_EXTRA. If you need to add debugging flags to a module, | ||
| # modify FFLAGS_DEBUG for the target module. | ||
| # All flag modification should be `private` so they are not inherited by | ||
| # submodules. | ||
| ############################################################################## | ||
|
|
||
| # ========================================================================== | ||
| # NON-DEBUG FLAGS | ||
| # ========================================================================== | ||
| # UKCA | ||
| %ukca_emiss_mode_mod.o: private FFLAGS_SAFE_OPTIMISATION = -O0 | ||
| %ukca_step_control_mod.o: private FFLAGS_SAFE_OPTIMISATION = -O0 | ||
|
|
||
| # UM | ||
| %parcel_ascent_5a.o: private FFLAGS_EXTRA = $(FFLAGS_UM_PHYSICS) -hvector0 | ||
|
|
||
| # LFRic Apps | ||
| %aerosol_ukca_alg_mod_psy.o: private FFLAGS_SAFE_OPTIMISATION = -O0 | ||
| %bl_exp_alg_mod_psy.o: private FFLAGS_SAFE_OPTIMISATION = -O0 | ||
| %bl_imp_alg_mod_psy.o: private FFLAGS_SAFE_OPTIMISATION = -O0 | ||
| %conv_comorph_alg_mod_psy.o: private FFLAGS_SAFE_OPTIMISATION = -O0 | ||
| %conv_comorph_kernel_mod.o: private FFLAGS_SAFE_OPTIMISATION = -O0 | ||
| %conv_gr_alg_mod_psy.o: private FFLAGS_SAFE_OPTIMISATION = -O0 | ||
| %gungho_model_mod.o: private FFLAGS_SAFE_OPTIMISATION = -O0 | ||
| %init_aerosol_fields_alg_mod_psy.o: private FFLAGS_SAFE_OPTIMISATION = -O0 | ||
| %jules_extra_kernel_mod.o: private FFLAGS_SAFE_OPTIMISATION = -O0 | ||
| large_scale_precipitation/%.o: private FFLAGS_SAFE_OPTIMISATION = -O2 -hfp0 -hflex_mp=strict | ||
|
|
||
| # ========================================================================== | ||
| # DEBUG FLAGS | ||
| # ========================================================================== | ||
| # UKCA | ||
| %ukca_emiss_mode_mod.o: private FFLAGS_DEBUG = -G0 | ||
| %ukca_step_control_mod.o: private FFLAGS_DEBUG = -G0 | ||
|
|
||
| # LFRic Apps | ||
| %aerosol_ukca_alg_mod_psy.o: private FFLAGS_DEBUG = -G0 | ||
| %bl_exp_alg_mod_psy.o: private FFLAGS_DEBUG = -G0 | ||
| %bl_imp_alg_mod_psy.o: private FFLAGS_DEBUG = -G0 | ||
| %conv_comorph_alg_mod_psy.o: private FFLAGS_DEBUG = -G0 | ||
| %conv_comorph_kernel_mod.o: private FFLAGS_DEBUG = -G0 | ||
| %conv_gr_alg_mod_psy.o: private FFLAGS_DEBUG = -G0 | ||
| %gungho_model_mod.o: private FFLAGS_DEBUG = -G0 | ||
| %init_aerosol_fields_alg_mod_psy.o: private FFLAGS_DEBUG = -G0 | ||
| %jules_extra_kernel_mod.o: private FFLAGS_DEBUG = -G0 |
17 changes: 17 additions & 0 deletions
17
applications/jedi_lfric_tests/build/fortran/crayftn/full-debug.mk
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,17 @@ | ||
| ############################################################################## | ||
| # (c) Crown copyright 2026 Met Office. All rights reserved. | ||
| # The file LICENCE, distributed with this code, contains details of the terms | ||
| # under which the code may be used. | ||
| ############################################################################## | ||
| ############################################################################## | ||
| # Various things specific to full-debug lfric_atm when using the | ||
| # Cray Fortran compiler. | ||
| ############################################################################## | ||
|
|
||
| # ========================================================================== | ||
| # NON-DEBUG FLAGS | ||
| # ========================================================================== | ||
|
|
||
| # ========================================================================== | ||
| # DEBUG FLAGS | ||
| # ========================================================================== |
36 changes: 36 additions & 0 deletions
36
applications/jedi_lfric_tests/build/fortran/crayftn/production.mk
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,36 @@ | ||
| ############################################################################## | ||
| # (c) Crown copyright 2026 Met Office. All rights reserved. | ||
| # The file LICENCE, distributed with this code, contains details of the terms | ||
| # under which the code may be used. | ||
| ############################################################################## | ||
| ############################################################################## | ||
| # Various things specific to production lfric_atm when using the | ||
| # Cray Fortran compiler. | ||
| ############################################################################## | ||
|
|
||
| # ========================================================================== | ||
| # DIRECTORIES | ||
| # ========================================================================== | ||
| gravity_wave_drag/%.o: private FFLAGS_RISKY_OPTIMISATION = -O2 -hflex_mp=strict | ||
|
|
||
| # ========================================================================== | ||
| # MODULES | ||
| # ========================================================================== | ||
| # UKCA | ||
| %ukca_emiss_mode_mod.o: private FFLAGS_RISKY_OPTIMISATION = -O0 | ||
| %ukca_step_control_mod.o: private FFLAGS_RISKY_OPTIMISATION = -O0 | ||
|
|
||
| # UM | ||
| %parcel_ascent_5a.o: private FFLAGS_EXTRA = $(FFLAGS_UM_PHYSICS) -hvector0 | ||
|
|
||
| # LFRic Apps | ||
| %aerosol_ukca_alg_mod_psy.o: private FFLAGS_RISKY_OPTIMISATION = -O0 | ||
| %bl_exp_alg_mod_psy.o: private FFLAGS_RISKY_OPTIMISATION = -O0 | ||
| %bl_imp_alg_mod_psy.o: private FFLAGS_RISKY_OPTIMISATION = -O0 | ||
| %conv_comorph_alg_mod_psy.o: private FFLAGS_RISKY_OPTIMISATION = -O0 | ||
| %conv_comorph_kernel_mod.o: private FFLAGS_RISKY_OPTIMISATION = -O0 | ||
| %conv_gr_alg_mod_psy.o: private FFLAGS_RISKY_OPTIMISATION = -O0 | ||
| %gungho_model_mod.o: private FFLAGS_RISKY_OPTIMISATION = -O0 | ||
| %init_aerosol_fields_alg_mod_psy.o: private FFLAGS_RISKY_OPTIMISATION = -O0 | ||
| %jules_extra_kernel_mod.o: private FFLAGS_RISKY_OPTIMISATION = -O0 | ||
| large_scale_precipitation/%.o: private FFLAGS_SAFE_OPTIMISATION = -O3 -hipa3 -hflex_mp=conservative |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,40 @@ | ||
| ############################################################################## | ||
| # (c) Crown copyright 2026 Met Office. All rights reserved. | ||
| # The file LICENCE, distributed with this code, contains details of the terms | ||
| # under which the code may be used. | ||
| ############################################################################## | ||
| # Various things specific to the GNU Fortran compiler. | ||
| ############################################################################## | ||
|
|
||
| $(info Project specials for GNU compiler) | ||
|
|
||
| export FFLAGS_UM_PHYSICS = -fdefault-real-8 -fdefault-double-8 | ||
| # Most lfric_atm dependencies contain code with implicit lossy conversions and | ||
| # unused variables. | ||
| # We reset the FFLAGS_WARNINGS variable here in order to prevent | ||
| # -Werror induced build failures. | ||
| FFLAGS_WARNINGS = -Wall -Werror=character-truncation -Werror=unused-value \ | ||
| -Werror=tabs | ||
| # But, we can apply some more lfric infrastructure checking to socrates | ||
| FFLAGS_SOCRATES_WARNINGS = -Werror=unused-variable | ||
|
|
||
| science/src/socrates/%.o science/src/socrates/%.mod: private FFLAGS_EXTRA = $(FFLAGS_SOCRATES_WARNINGS) | ||
|
|
||
| # We remove bounds checking (applied by -fcheck=all) and underflow checking. The | ||
| # latter is due to regular permitting of exponents going to zero for small numbers | ||
| # to imply total extinction of radiation passing through a medium | ||
| FFLAGS_RUNTIME = -fcheck=all,no-bounds -ffpe-trap=invalid,zero,overflow | ||
|
|
||
| # The lfric_atm app defines an extra set of debug flags for | ||
| # fast-debug which are the same as the full-debug settings | ||
| # except for some platforms | ||
| ifdef CRAY_ENVIRONMENT | ||
| # On the EXZ these options are switched off for fast-debug | ||
| # due to an unexpected FPE in the NetCDF library | ||
| FFLAGS_FASTD_INIT = | ||
| FFLAGS_FASTD_RUNTIME = | ||
| else | ||
| # Otherwise, use the same as the default full-debug settings | ||
| FFLAGS_FASTD_INIT = $(FFLAGS_INIT) | ||
| FFLAGS_FASTD_RUNTIME = $(FFLAGS_RUNTIME) | ||
| endif |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.