Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor sea ice model #32

Merged
merged 30 commits into from
Jul 30, 2024
Merged

Refactor sea ice model #32

merged 30 commits into from
Jul 30, 2024

Conversation

simone-silvestri
Copy link
Collaborator

@simone-silvestri simone-silvestri commented Jul 12, 2024

This PR is an attempt to refactor the ClimaSeaIce package following #31 to have a SeaIceModel that contains a thermodynamics and dynamics field

This is necessary before starting to include a dynamics module.

cc @glwagner

@simone-silvestri
Copy link
Collaborator Author

I was thinking to convert also EnthalpyMethodSeaIceModel to EnthalpyMethodSeaIceThermodynamics but it looks like EnthalpySeaIceModel is not really complete or functional, so it is probably it is better to just leave it for the moment and revamp it in a another PR whenever we want to make it functional

##### A bit of thermodynamics to start the day
#####

abstract type AbstractSeaIceThermodynamics end
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we need an abstract type?

Copy link
Collaborator Author

@simone-silvestri simone-silvestri Jul 15, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably not necessary at the moment that we have only one thermodynamical model. I can remove it now and we can reintroduce it when we have more models

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

also we only need an abstract type if we use it for dispatch somehow

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

was this addressed?

ice_thickness :: IT
ice_concentration :: IC
# Thermodynamics
sea_ice_thermodynamics :: TD
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pick ice or sea_ice. now we have ice_thickness but sea_ice_thermodynamics

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It may make sense to use sea_ice to refer to ice that is a mixture of brine and pure ice (eg with a salinity) and then to reserve ice for pure ice.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@simone-silvestri did you address this?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yep


# TODO: Fix this after this PR
# include("EnthalpyMethodThermodynamics.jl")
include("SlabThermodynamics/SlabThermodynamics.jl")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suggest using a flatter structure rather than another submodule here

@simone-silvestri simone-silvestri marked this pull request as ready for review July 15, 2024 12:45
@simone-silvestri
Copy link
Collaborator Author

Comments should be addressed and this should be ready to merge if it were not for these docs... @navidcy can you help me out a second? Seems like I am missing something.

@simone-silvestri
Copy link
Collaborator Author

This shoud be ready to merge

@simone-silvestri simone-silvestri merged commit 2dee0f4 into main Jul 30, 2024
6 checks passed
@simone-silvestri simone-silvestri deleted the ss/refactor-model branch July 30, 2024 18:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants