Skip to content

Integrating veros with an atmosphere in ClimaOcean.jl #761

Description

@simone-silvestri

Hello Veros team.

Thanks for the great code! It is very nice to see the development of a performant python-native ocean model.

On the julia side, we are developing a coupled framework, called ClimaOcean, and would like to have the option to include arbitrary ocean models, as this would enable us to generalize the coupled model and utilize another model that provides ensemble simulations for comparison with our own ocean model.
Veros would be the perfect starting point given the compatibility between Julia and Python.

Therefore, with @nutrik we were working towards coupling Veros with an atmosphere in our julia coupled framework, ClimaOcean. The relevant PR is CliMA/ClimaOcean.jl#602. We believe that this exercise would benefit both, as we would be able to couple another model in ClimaOcean, and Veros would obtain an out-of-the-box coupler that can be tested with prescribed and prognostic atmospheres (we are planning/have started to couple with ClimaAtmos.jl and SpeedyWeather.jl)

If there is interest on your side to leverage this coupled infrastructure, the last bit we need to ensure a smooth and performant coupling is the possibility of prescribing boundary conditions for temperature, salinity, and velocities.

At the moment, I believe there are a couple of assumptions in Veros that would need relaxing and generalizing:

  • BC for temperature and salinity are a climatological relaxation (we would need a prescribed flux since fluxes are computed at each timestep in ClimaOcean)
  • Interpolation from monthly climatology for stresses should be generalized to a container for prescribed fluxes that can be filled in. At the moment, we need to fill all the climatological maps to make sure interpolation works to give us the correct stress, which is a bit of a waste.

This would basically allow us to remove these lines, which are not so elegant a hack to work around these assumptions:
https://github.com/CliMA/ClimaOcean.jl/blob/8aa6b13c96472b88de76fa90f60da10471b1ac13/ext/ClimaOceanPythonCallExt/veros_state_exchanger.jl#L86-L114

Thanks again, and excited to make this happen if you are interested!

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions