Open Boundary Conditions for Atmospheric Forcing
As a reminder, this is a snapshot of what the idealized estuary looked like after 2.5 months with atmospheric forcing. Note that wind speed was 0 in this model run.
Fig 1. Prior wind experiment with problematic temperature boundary conditions.
This result was problematic because the boundaries are influencing the model domain. Specifically, the boundaries are introducing colder water into the domain because the atmosphere is not heating water outside of the domain.
After some troubleshooting and testing, I believe I have found appropriate boundary conditions to use with BULK_FLUXES in an idealized estuary. This solution closely followed some suggestions Parker provided previously.
To test different hypotheses, I ran two-day model runs and looked at surface temperature at the end of these two days. Figure 2 shows surface salinity and temperature prior to boundary conditions adjustments. Figure 3 shows the surface salinity and temperature using the final boundary conditions. In Figure 3, cold ocean water no longer seems to be flowing in from the boundaries.
Fig 2. Surface salinity and temperature after two days using original, problematic boundary conditions.
Fig 3. Surface salinity and temperature after two days using better boundary conditions.
The final, successful boundary conditions were created using the following combination of changes:
Change temperature boundary conditions from “RadNud” to “Gra”
I made this modification by creating a unique temperature boundary condition flag in BLANK.in. In make_dot_in.py, I added a line to make open temperature boundary conditions “Gra.” The Gradient (Gra) boundary condition forces the gradient of temperature to be 0 at the boundary which forces the exterior value to be equal to the nearest interior value. In contrast, Radiation-Nudging (RadNud) boundary conditions nudges temperature to a pre-defined exterior value for inflows. Figure 4 has an excerpt from the ROMS log file that lists the boundary conditions used.
Fig 4. ROMS log.txt excerpt for lateral boundary conditions.
Turn off Temperature Climatology Processing and Nudging to Climatology
In addition to changing the boundary conditions, I also needed to turn off climatology read/processing and nudging to climatology for temperature. To accomplish this, in BLANK.in I switched LtracerCLM and LnudgeTCLM to FALSE for temperature. Figure 5 has an excerpt from the ROMS log files that shows this change.
Fig 5. ROMS log.txt excerpt for climatology processing.
Extras
During this troubleshooting process, ROMS produced some fun model results. These might be a good example of “Color Fluid Dynamics” that Alex mentioned. It sure looks pretty, but clearly has some issues.
Fig 6. Color Fluid Dynamics.