@@ -21,7 +21,7 @@ using ClimaSeaIce.Rheologies
2121using ClimaSeaIce. SeaIceDynamics: SplitExplicitSolver, SemiImplicitStress, SeaIceMomentumEquation, StressBalanceFreeDrift
2222using ClimaSeaIce. Rheologies: IceStrength, ElastoViscoPlasticRheology
2323
24- using ClimaOcean. OceanSimulations: Default
24+ using ClimaOcean. OceanSimulations: Default, u_immersed_bottom_drag, v_immersed_bottom_drag
2525
2626function sea_ice_simulation (grid, ocean= nothing ;
2727 Δt = 5 minutes,
@@ -63,6 +63,12 @@ function sea_ice_simulation(grid, ocean=nothing;
6363 bottom_heat_flux = Field {Center, Center, Nothing} (grid)
6464 top_heat_flux = Field {Center, Center, Nothing} (grid)
6565
66+ immersed_u_bc = FluxBoundaryCondition (u_immersed_bottom_drag, discrete_form= true , parameters= 1e-1 )
67+ immersed_v_bc = FluxBoundaryCondition (v_immersed_bottom_drag, discrete_form= true , parameters= 1e-1 )
68+
69+ u_bcs = FieldBoundaryConditions (grid, (Face, Center, Nothing); immersed = immersed_u_bc)
70+ v_bcs = FieldBoundaryConditions (grid, (Center, Face, Nothing); immersed = immersed_v_bc)
71+
6672 # Build the sea ice model
6773 sea_ice_model = SeaIceModel (grid;
6874 ice_salinity,
@@ -82,12 +88,17 @@ function sea_ice_simulation(grid, ocean=nothing;
8288 return sea_ice
8389end
8490
91+ default_solver (:: Nothing ) = SplitExplicitSolver (120 )
92+ default_solver (ocean:: Simulation ) = default_solver (ocean. model. timestepper)
93+ default_solver (:: Oceananigans.TimeSteppers.QuasiAdamsBashforth2TimeStepper ) = SplitExplicitSolver (120 )
94+ default_solver (:: Oceananigans.TimeSteppers.SplitRungeKutta3TimeStepper ) = SplitExplicitSolver (360 )
95+
8596function sea_ice_dynamics (grid, ocean= nothing ;
86- sea_ice_ocean_drag_coefficient = 5 .5e-3 ,
97+ sea_ice_ocean_drag_coefficient = 2 .5e-3 ,
8798 rheology = ElastoViscoPlasticRheology (),
8899 coriolis = nothing ,
89100 free_drift = nothing ,
90- solver = SplitExplicitSolver ( 120 ))
101+ solver = default_solver (ocean ))
91102
92103 if isnothing (ocean)
93104 SSU = Oceananigans. Fields. ZeroField ()
0 commit comments