Open tomgrylls opened 4 years ago
Additional thing to check in modboundary:
Scalar boundary conditions only set to ke + 1
. This should be ke+khc
. This change may require variables changing including svprof
that is only allocated to ke+kh
?
Attention is required on the calculation of uouttot
with regards to the different momentum forcings and how they are used in modboundary. This was already mentioned above but https://github.com/uDALES/u-dales/pull/70/files/858986c1bddf8ff3e2f8143f934efa8b78118eb1#r406108539 mentions a specific important example.
Note that uouttot
is overwritten in a later subroutine if idriver = 2
(in subroutine iolet
). This should be brought into the main loop at the start of subroutine boundary
for consistency.
Modboundary was restructured for uDALES v2, but modinlet is unchanged since this issue was initially raised. I think it should be removed entirely.
Summary: Necessity to test modinlet. Potential to improve implementation of modinlet and moddriver within modstartup and modboundary. Potential to have consistent notation for all BC input parameters.
Initial thoughts:
1) modinlet.f90 has not been used for a long time and requires testing to make sure it is still compatible with the latest version of the code.
2) The implementation of both of these modules is outdated and not consistent with the desired structure of modboundary (moddriver was developed to follow the same implementation as modinlet). Examples include:
BCxm
is not equal to 1 then other boundary condition input parameters will be overwritten in modstartup.f90. Can these bits of code can be moved to the subroutine initboundary for clarity? Can the set of switches and cases be redefined so that input paramters are not overwritten?linoutflow
andlper2inout
requires revision.linoutflow
is confirmed to work for the use of moddriver and is essential to changing the boundary conditions for pressure but its use elsewhere in the code requires revision.ubulk
anduouttot
(see #54 ). See ?.3) Other related improvements to modboundary:
BCxm
,BCyq
etc. For example, 1 - periodic, 2 - inflow-outflow, 3 - driver.sv_top
tosvprof(ke)
in modstartup.