Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CONTRIBUTORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@
| james-bruten-mo | James Bruten | Met Office | 2025-12-09 |
| jennyhickson | Jenny Hickson | Met Office | 2025-12-10 |
| mo-marqh | mark Hedley | Met Office | 2025-12-11 |
| tommbendall | Thomas Bendall | Met Office | 2025-01-15 |
4 changes: 2 additions & 2 deletions dependencies.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@ lfric_apps:
ref:

lfric_core:
source: git@github.com:MetOffice/lfric_core.git
ref: 2025.12.1
source: git@github.com:tommbendall/lfric_core.git
ref: TBendall/FixW0WthFilter

moci:
source: git@github.com:MetOffice/moci.git
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -379,7 +379,7 @@ module skeb_main_alg_mod

!!!!!! 1.b call stph_fp_main to create forcing pattern for SKEB
call stph_fp_main_alg(skeb_level_bottom-1_i_def, skeb_level_top-1_i_def, &
stph_n_min, stph_n_max, stph_spectral_dim, &
1, stph_n_min, stph_n_max, stph_spectral_dim, &
skeb_alpha, skeb_power_law, &
skeb_spectral_coeffc, skeb_spectral_coeffs, &
fp_skeb)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -284,7 +284,7 @@ module spt_main_alg_mod
call invoke( setval_c(fp_spt, 0.0_r_def))

! Create forcing pattern for SPT
call stph_fp_main_alg(spt_level_bottom, spt_level_top, &
call stph_fp_main_alg(spt_level_bottom, spt_level_top, 0, &
1, stph_n_max, stph_spectral_dim, &
spt_alpha, spt_power_law, &
spt_spectral_coeffc, spt_spectral_coeffs, &
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,9 @@ module stph_fp_main_alg_mod

!>@param[in] level_bottom Bottom level of the stochastic scheme
!>@param[in] level_top Top level of the stochastic scheme
!>@param[in] level_offset Level offset, allowing this to be
!! applied to W3 and Wtheta fields.
!! Set 0 Wtheta, 1 for W3.
!>@param[in] wavenumber_min Minimum wavenumber applied to build the FP
!>@param[in] wavenumber_max Maximum wavenumber applied to build the FP
!>@param[in] spectral_dim Dimension of spectral coeffients arrays
Expand All @@ -56,10 +59,10 @@ module stph_fp_main_alg_mod
!>@param[in,out] spectral_coeffs Imaginary Spectral coefficients
!>@param[i,out] fp Forcing pattern

subroutine stph_fp_main_alg(level_bottom, level_top, &
wavenumber_min, wavenumber_max, &
spectral_dim, alpha, power_law, &
spectral_coeffc, spectral_coeffs, &
subroutine stph_fp_main_alg(level_bottom, level_top, level_offset, &
wavenumber_min, wavenumber_max, &
spectral_dim, alpha, power_law, &
spectral_coeffc, spectral_coeffs, &
fp)

! TO DO after PSyclone ticket 1312
Expand All @@ -79,8 +82,8 @@ module stph_fp_main_alg_mod

!!!! Arguments
! Scalars with scheme levels, wavenumbers and spectral dimensions
integer(kind=i_def), intent(in) :: level_bottom, level_top, &
wavenumber_min, wavenumber_max, &
integer(kind=i_def), intent(in) :: level_bottom, level_top, level_offset, &
wavenumber_min, wavenumber_max, &
spectral_dim

! spectral coefficients power law and decorrelation
Expand Down Expand Up @@ -151,12 +154,13 @@ module stph_fp_main_alg_mod
my_phi_stph = ATAN2(spectral_coeffs(n_row+m), &
spectral_coeffc(n_row+m))
! Max shift ranges from 0 <-> pi for wavenos 1 <-> wavenumber_max
my_phishft_stph = (wavenumber_max - max(n,m)) * pi / (wavenumber_max-1)
my_phishft_stph = (wavenumber_max - max(n,m)) * pi &
/ (wavenumber_max - wavenumber_min)

do k = level_bottom, level_top

! Apply vertical scaling Level 1 = no change -> 12km Level = max change (=pi)
kr = (domain_height*eta_theta_levels(k))/12.0e3_r_def
kr = (domain_height*eta_theta_levels(k + level_offset))/12.0e3_r_def

! Create coeff with phase shift
coeffc_phase(k, n_row+m) = my_coeff_rad * cos(my_phi_stph + &
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
Inner product checksum rho = 46D66411
Inner product checksum theta = 518E95C2
Inner product checksum u = 6AF4A509
Inner product checksum mr1 = 3FD1977C
Inner product checksum mr2 = 375C8794
Inner product checksum mr3 = 3534A85C
Inner product checksum mr4 = 36B9C166
Inner product checksum rho = 46D66391
Inner product checksum theta = 518E960E
Inner product checksum u = 6AF41D3E
Inner product checksum mr1 = 3FD1EF1A
Inner product checksum mr2 = 3744B62D
Inner product checksum mr3 = 353557CA
Inner product checksum mr4 = 36C14665
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
Inner product checksum rho = 46D66282
Inner product checksum theta = 518E9697
Inner product checksum u = 6AF4EDB0
Inner product checksum mr1 = 3FD1A816
Inner product checksum mr2 = 372DA48E
Inner product checksum mr3 = 355FEEE4
Inner product checksum mr4 = 36BADA78
Inner product checksum rho = 46D66988
Inner product checksum theta = 518E9953
Inner product checksum u = 6AF43368
Inner product checksum mr1 = 3FD1683B
Inner product checksum mr2 = 3745B57B
Inner product checksum mr3 = 352B1260
Inner product checksum mr4 = 36B980D2
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
Inner product checksum rho = 46D6652A
Inner product checksum theta = 518E93EC
Inner product checksum u = 6AF54A1D
Inner product checksum mr1 = 3FD199FC
Inner product checksum mr2 = 373A4F06
Inner product checksum mr3 = 35526759
Inner product checksum mr4 = 36CD3F45
Inner product checksum rho = 46D6654E
Inner product checksum theta = 518E92A4
Inner product checksum u = 6AF61ED5
Inner product checksum mr1 = 3FD1D7F4
Inner product checksum mr2 = 373D2894
Inner product checksum mr3 = 354A0F92
Inner product checksum mr4 = 36C033B4
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
Inner product checksum rho = 46D65056
Inner product checksum theta = 51925277
Inner product checksum u = 6B2213D6
Inner product checksum mr1 = 3FCF401D
Inner product checksum mr2 = 3723DA1E
Inner product checksum mr3 = 353FBE95
Inner product checksum mr4 = 369202EA
Inner product checksum rho = 46D64EC9
Inner product checksum theta = 51925235
Inner product checksum u = 6B21E18C
Inner product checksum mr1 = 3FCF590B
Inner product checksum mr2 = 37287735
Inner product checksum mr3 = 3538B55A
Inner product checksum mr4 = 36B2F572
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
Inner product checksum rho = 48D65CA4
Inner product checksum theta = 5399FF37
Inner product checksum u = 6B12F9D3
Inner product checksum mr1 = 41CC35F8
Inner product checksum mr2 = 3964700B
Inner product checksum mr3 = 37C885DA
Inner product checksum mr4 = 393CC0EB
Inner product checksum rho = 48D65C72
Inner product checksum theta = 5399FF3A
Inner product checksum u = 6B12FBEA
Inner product checksum mr1 = 41CC3576
Inner product checksum mr2 = 3967A439
Inner product checksum mr3 = 37C304A7
Inner product checksum mr4 = 3940CDC7
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
Inner product checksum rho = 46D65029
Inner product checksum theta = 51925282
Inner product checksum u = 6B222646
Inner product checksum mr1 = 3FCF441A
Inner product checksum mr2 = 373420D6
Inner product checksum mr3 = 353B5108
Inner product checksum mr4 = 369534B7
Inner product checksum rho = 46D64F18
Inner product checksum theta = 51925206
Inner product checksum u = 6B21EEF5
Inner product checksum mr1 = 3FCF4050
Inner product checksum mr2 = 37532624
Inner product checksum mr3 = 3537ACEB
Inner product checksum mr4 = 369CB401
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
Inner product checksum rho = 48D65C9E
Inner product checksum theta = 5399FF36
Inner product checksum u = 6B12F9E6
Inner product checksum mr1 = 41CC34F5
Inner product checksum mr2 = 39628562
Inner product checksum mr3 = 37CADBE8
Inner product checksum mr4 = 393CFC10
Inner product checksum rho = 48D65C64
Inner product checksum theta = 5399FF3D
Inner product checksum u = 6B12FBE8
Inner product checksum mr1 = 41CC35EE
Inner product checksum mr2 = 39665FD3
Inner product checksum mr3 = 37C5CAC2
Inner product checksum mr4 = 3940CE5A
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
Inner product checksum rho = 48D65C98
Inner product checksum theta = 5399FF37
Inner product checksum u = 6B12FA76
Inner product checksum mr1 = 41CC32D9
Inner product checksum mr2 = 396638BD
Inner product checksum mr3 = 37CAADA4
Inner product checksum mr4 = 393EB70D
Inner product checksum rho = 48D65C6C
Inner product checksum theta = 5399FF3A
Inner product checksum u = 6B12FC64
Inner product checksum mr1 = 41CC350A
Inner product checksum mr2 = 39664DB9
Inner product checksum mr3 = 37C0EC20
Inner product checksum mr4 = 394121CC
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
Inner product checksum rho = 46D66780
Inner product checksum theta = 518E9690
Inner product checksum u = 6AF50DE9
Inner product checksum mr1 = 3FD15B81
Inner product checksum mr2 = 37581AA6
Inner product checksum mr3 = 355FE797
Inner product checksum mr4 = 36D86CA0
Inner product checksum rho = 46D6651C
Inner product checksum theta = 518E911A
Inner product checksum u = 6AF6B692
Inner product checksum mr1 = 3FD1AA6E
Inner product checksum mr2 = 374E6452
Inner product checksum mr3 = 35374226
Inner product checksum mr4 = 36CAD2D2
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
Inner product checksum rho = 46D6516E
Inner product checksum theta = 519250DF
Inner product checksum u = 6B22BA14
Inner product checksum mr1 = 3FCF2C92
Inner product checksum mr2 = 3737929A
Inner product checksum mr3 = 35357886
Inner product checksum mr4 = 36A9CD80
Inner product checksum rho = 46D64E5B
Inner product checksum theta = 51925086
Inner product checksum u = 6B228DC3
Inner product checksum mr1 = 3FCF67FD
Inner product checksum mr2 = 37390858
Inner product checksum mr3 = 3548209F
Inner product checksum mr4 = 36B280B6
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
Inner product checksum rho = 46D65134
Inner product checksum theta = 5192506E
Inner product checksum u = 6B22D6CD
Inner product checksum mr1 = 3FCF4DA0
Inner product checksum mr2 = 3736B1D8
Inner product checksum mr3 = 353E60FE
Inner product checksum mr4 = 36A0052E
Inner product checksum rho = 46D64DA0
Inner product checksum theta = 519250B4
Inner product checksum u = 6B2268C8
Inner product checksum mr1 = 3FCF6324
Inner product checksum mr2 = 37350051
Inner product checksum mr3 = 353CED64
Inner product checksum mr4 = 36A91426
Inner product checksum mr5 = 0
Inner product checksum mr6 = 0