Skip to content

Bare soil evaporation separated over irrigated and non-irrigated soil -old as from stable pre Maggie's meta data changes #139 - #150

Open
Nic Gedney (nicgedney) wants to merge 31 commits into
MetOffice:stablefrom
nicgedney:separate_irrigated_bare_soil_evap
Open

Nic Gedney (nicgedney) wants to merge 31 commits into
MetOffice:stablefrom
nicgedney:separate_irrigated_bare_soil_evap

Conversation

@nicgedney

@nicgedney Nic Gedney (nicgedney) commented Aug 26, 2026

Copy link
Copy Markdown

PR Summary

<-- Bare soil evaporation separated over irrigated and non-irrigated soil #139 -->

Sci/Tech Reviewer: hkatty
Code Reviewer: James Bruten (@james-bruten-mo)
<-- #139 -->

<-- this allows the irrigated and non-irrigated bare soil evaporation terms to be calculated from the irrigated and non-irrigated soil moisture columns (l_soil_evap_irrig_expl=True) rather than the grid-box mean soil moisture (l_soil_evap_irrig_expl=False) as previously -->

<-- List any linked PRs here
None
-->

<-- List any blocking PRs or issues to be closed here
None
-->

Code Quality Checklist

(Some checks are automatically carried out via the CI pipeline)

  • [Y] I have performed a self-review of my own code
  • [Y] My code follows the project's style guidelines
  • [Y] Comments have been included that aid understanding and enhance the readability of the code
  • [Y] My changes generate no new warnings
  • [N/Y @maggiehendrie should be removing shared irrigation meta-data for the next release] If editing rose-meta/jules-shared then have you supplied a linked UM and LFRic Apps PR?

Testing

  • [Y] I have tested this change locally, using the JULES rose-stem suite
  • [N/Y* @maggiehendrie should be removing shared irrigation meta-data for the next release] If shared files have been modified, I have run the UM and LFRic Apps rose stem suites
  • [N/A] If any tests fail (rose-stem or CI) the reason is understood and acceptable (eg. kgo changes)
  • [N/A] I have added tests to cover new functionality as appropriate (eg. system tests, unit tests, etc.)

<-- Other testing performed:
rose-stem test also applied to the test branch test_separate_irrigated_bare_soil_evap
individual point comparison with l_soil_evap_irrig_expl=T compared with stable.
See the issue for more details.
-->

trac.log

<-- Development branch:

Test Suite Results -

Test Suite Results - jules - vn8.2_separate_irrigated_bare_soil_evap/run3

Suite Information

Item Value
Suite Name vn8.2_separate_irrigated_bare_soil_evap/run3
Suite User nicola.gedney
Workflow Start 2026-09-01T15:16:41
Groups Run suite_default
Dependency Reference Main Like
jules nicgedney/jules@separate_irrigated_bare_soil_evap False
SimSys_Scripts MetOffice/SimSys_Scripts@2026.07.1 True

Task Information

✅ succeeded tasks - 676

Test branch:

Test Suite Results - jules - vn8.2_test_separate_irrigated_bare_soil_evap/run3

Suite Information

Item Value
Suite Name vn8.2_test_separate_irrigated_bare_soil_evap/run3
Suite User nicola.gedney
Workflow Start 2026-09-01T16:51:46
Groups Run suite_default
Dependency Reference Main Like
jules nicgedney/jules@test_separate_irrigated_bare_soil_evap False
SimSys_Scripts MetOffice/SimSys_Scripts@2026.07.1 True

Task Information

✅ succeeded tasks - 676
-->

Security Considerations

  • [Y] I have reviewed my changes for potential security issues
  • [N/A] Sensitive data is properly handled (if applicable)
  • [N/A] Authentication and authorisation are properly implemented (if applicable)

Performance Impact

  • [Y] Performance of the code has been considered and, if applicable, suitable performance measurements have been conducted

AI Assistance and Attribution

  • [N] Some of the content of this change has been produced with the assistance of Generative AI tool name (e.g., Met Office Github Copilot Enterprise, Github Copilot Personal, ChatGPT GPT-4, etc) and I have followed the Simulation Systems AI policy (including attribution labels)

Documentation

  • [Y* the html builds correctly ] Where appropriate I have updated documentation related to this change and confirmed that it builds correctly

Approvals

Please request all relevant approvals. See the CodeOwners.txt file for section owners.

Technical

  • JULES Code Owner
  • OpenMP
  • River Routing
  • Rose Stem
  • Rose Metadata
  • Upgrade Macros

Scientific

  • Surface
  • Hydrology
  • Vegetation
  • Veg3 RED Demography
  • Biogeochemistry
  • Biogenic fluxes
  • Fire
  • Lakes
  • Evaluation
  • Imogen

Sci/Tech Review

  • I understand this area of code and the changes being added
  • The proposed changes correspond to the pull request description
  • Documentation is sufficient (do documentation papers need updating)
  • Sufficient testing has been completed

Please alert the code reviewer via a tag when you have approved the SR

Code Review

  • All dependencies have been resolved
  • Related Issues have been properly linked and addressed
  • CLA compliance has been confirmed
  • Code quality standards have been met
  • Tests are adequate and have passed
  • Documentation is complete and accurate
  • Security considerations have been addressed
  • Performance impact is acceptable

@github-actions github-actions Bot added the cla-required The CLA has not yet been signed by the author of this PR - added by GA label Aug 26, 2026
@nicgedney
Nic Gedney (nicgedney) marked this pull request as draft August 26, 2026 14:40
@nicgedney Nic Gedney (nicgedney) added the enhancement New feature or request label Aug 26, 2026
@nicgedney Nic Gedney (nicgedney) changed the title Separate irrigated bare soil evap Bare soil evaporation separated over irrigated and non-irrigated soil #139 Aug 26, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 11 out of 11 changed files in this pull request and generated 4 comments.

Suppressed comments (3)

src/science/surface/physiol_jls_mod.F90:843

  • This loop nests an inner IF ( l_irrig_dmd ) inside an outer IF ( l_irrig_dmd ), and repeats sthu_nir_soilt = sthu_soilt twice. This is redundant and makes the logic harder to follow; it can be simplified to a single conditional on frac_irr_soilt.
        sthu_nir_soilt(l,m,k) = sthu_soilt(l,m,k)
        IF ( l_irrig_dmd ) THEN
          sthu_nir_soilt(l,m,k) = sthu_soilt(l,m,k)
          IF ( frac_irr_soilt(l,m) < 1.0 ) THEN
            sthu_nir_soilt(l,m,k) =                                            &

rose-meta/jules-standalone/versions.py:51

  • This upgrade macro still has template placeholders in the class name and docstring (vnYY_txxxx / "by Author"). Please rename the class to match the tag (and remove placeholder text) to be consistent with the existing rose upgrade macros.
class vnYY_txxxx(MacroUpgrade):

    """Upgrade macro from JULES by Author"""

src/science/surface/jules_land_sf_explicit_jls.F90:1256

  • There is a commented-out argument ("not needed?") in the call argument list. Please remove it to avoid ambiguity about the actual calling interface.
  gs_irr_surft, smc_irr_soilt, wt_ext_irr_surft, gc_irr_surft,                 &
  gs_nir_surft,                                                                &
!!  not needed? gc_nir_surft,                                                  &

Comment on lines 2252 to +2256
!$OMP PARALLEL IF(l_do_omp) DEFAULT(NONE) PRIVATE(l,m,n) SHARED(dzsoil, &
!$OMP fsoil_tot, land_pts, smc_irr_soilt, sthu_irr_soilt,nsoilt, &
!$OMP smvcst_soilt, gs_irr_surft,gc_irr_surft, nsurft,l_do_omp)
!$OMP fsoil_tot, land_pts, smc_irr_soilt, sthu_irr_soilt, nsoilt, &
!$OMP smc_nir_soilt, smc_soilt, sthu_nir_soilt, &
!$OMP smvcst_soilt, gs_irr_surft, gc_irr_surft, nsurft, l_do_omp, &
!$OMP fsoil_irr_tot, fsoil_nir_tot, frac_irr_soilt, &
Comment on lines +143 to +146
!$OMP END DO NOWAIT
END IF
IF (l_soil_evap_irrig_expl) THEN
!$OMP DO SCHEDULE(STATIC)
Comment thread src/science/surface/jules_land_sf_explicit_jls.F90
Comment thread src/science/surface/physiol_jls_mod.F90 Outdated
@github-actions github-actions Bot added cla-signed The CLA has been signed as part of this PR - added by GA and removed cla-required The CLA has not yet been signed by the author of this PR - added by GA labels Sep 1, 2026
@nicgedney
Nic Gedney (nicgedney) marked this pull request as ready for review September 2, 2026 08:36
@JMEdwardsXtr

Copy link
Copy Markdown

I am happy with the principle of adding this functionality into the model and have approved it from the point of view of the surface module.

@maggiehendry

Maggie (maggiehendry) commented Sep 10, 2026

Copy link
Copy Markdown
Collaborator

Hi Nic. I'm just doing my review. While I was doing it I noticed that the UM & LFRic apps Rose stem tests haven't been run. As shared code has been changed, these will need running. There's a small change to the UM jules_irrig namelist reading routine though so run them after making the code change as otherwise I'm pretty sure one of the UM ones will fail. The one that checks the namelist broadcasting.

@maggiehendry Maggie (maggiehendry) left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi Nic. As you've noted elsewhere in the PR I was in the process of deleting the metadata from um-atmos. This has now gone onto the trunk as of today. All the jules_irrig metadata has been moved to rose-meta/jules-shared/jules-irrig in the JULES repo and is now imported to rose-meta/jules-standalone and rose-meta/jules-um also in the JULES repo. I've noted that there is a small change needed to the UM jules_irrig namelist reading routine to pass the UM Rose stem tests. What I'd suggest is you upgrade your JULES branch to the head of main to pick up the metadata changes (see Updating Branches). Add your new metadata changes to jules-shared/jules-irrig/HEAD/rose-app.conf and fix the UM read_nml_jules_irrig before you run the UM Rose stem tests. You'll also need a UM upgrade macro to add the new switch. Unfortunately the upgrade macros can't be imported. I've also noticed that your PR says you wish to "merge 26 commits into MetOffice:stable instead of MetOffice:main. You might need to create a new PR, but @MetOffice/ssdteam can advise on that. I means though that you can't upgrade your branch via the "Web Browser" method as it isn't out-of-date with the base branch as the base branch is MetOffice:stable.

:nml:mem:`nstep_irrig` = NINT(frequency of irrigation update (in sec)) / :nml:mem:`JULES_TIME::timestep_len`


.. nml:member:: l_soil_evap_irrig_expl

@maggiehendry Maggie (maggiehendry) Sep 10, 2026

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder if there might be a clearer way to name this switch. I've been pondering this as explicit might mean more to someone other than being calculated from two different sources. I've mulled it over and came up with l_soil_evap_irrig_discrete, l_soil_evap_irrig_split, l_soil_evap_irrig_separate. What do you think? I'm not sure I'm keen on any of them, but thought I'd open the discussion as I'm not sure it's clear from the name what it's for.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed. Changing to l_soil_evap_irrig_separate

Comment thread rose-meta/jules-standalone/HEAD/rose-meta.conf Outdated
Comment thread rose-meta/jules-standalone/HEAD/rose-meta.conf Outdated
Comment thread doc/source/namelists/jules_irrig.nml.rst
Comment thread doc/source/namelists/jules_irrig.nml.rst Outdated
Comment thread doc/source/namelists/jules_irrig.nml.rst Outdated
Comment thread src/control/shared/jules_irrig_mod.F90 Outdated
@nicgedney

Nic Gedney (nicgedney) commented Sep 11, 2026

Copy link
Copy Markdown
Author

Hi Nic. As you've noted elsewhere in the PR I was in the process of deleting the metadata from um-atmos. This has now gone onto the trunk as of today. All the jules_irrig metadata has been moved to rose-meta/jules-shared/jules-irrig in the JULES repo and is now imported to rose-meta/jules-standalone and rose-meta/jules-um also in the JULES repo. I've noted that there is a small change needed to the UM jules_irrig namelist reading routine to pass the UM Rose stem tests. What I'd suggest is you upgrade your JULES branch to the head of main to pick up the metadata changes (see Updating Branches). Add your new metadata changes to jules-shared/jules-irrig/HEAD/rose-app.conf and fix the UM read_nml_jules_irrig before you run the UM Rose stem tests. You'll also need a UM upgrade macro to add the new switch. Unfortunately the upgrade macros can't be imported. I've also noticed that your PR says you wish to "merge 26 commits into MetOffice:stable instead of MetOffice:main. You might need to create a new PR, but @MetOffice/ssdteam can advise on that. I means though that you can't upgrade your branch via the "Web Browser" method as it isn't out-of-date with the base branch as the base branch is MetOffice:stable.

Hi Maggie Maggie (@maggiehendry)
I've just opened a new pull request. Could you check my rose-meta/jules-standalone/versions.py file please? I'm not sure this is how I combine it with your changes at the head of the main.

All are the following correct?
cylc vip -z -group=developer.... === um test ??
cylc vip -z -group= lrac_atm ..... === lfric test ??

Do I need to download the UM and open a UM ticket too? I'm slightly confused as this is in jules repository:
rose-meta/jules-um/HEAD/rose-meta.conf

@nicgedney Nic Gedney (nicgedney) changed the title Bare soil evaporation separated over irrigated and non-irrigated soil #139 Bare soil evaporation separated over irrigated and non-irrigated soil -old as from stable pre Maggie's meta data changes #139 Sep 15, 2026
Nic Gedney (nicgedney) added a commit to nicgedney/jules that referenced this pull request Sep 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla-signed The CLA has been signed as part of this PR - added by GA enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bare soil evaporation separated over irrigated and non-irrigated soil

7 participants