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

kice in mushy thermodynamics #447

Open
dabail10 opened this issue Jul 27, 2023 · 1 comment
Open

kice in mushy thermodynamics #447

dabail10 opened this issue Jul 27, 2023 · 1 comment

Comments

@dabail10
Copy link
Contributor

I think this is kind of a minor bug. I found that kice (ki) is hardcoded in ice_mushy_physics.F90 and I thought it should be using kice from the icepack_parameters.F90 file. Thoughts?

@dabail10 dabail10 self-assigned this Jul 27, 2023
@eclare108213
Copy link
Contributor

There is a comment in icepack_parameters.F90 acknowledging that mushy doesn't use kice:

                           ! kice is not used for mushy thermo
    kice      = 2.03_dbl_kind    ,&! thermal conductivity of fresh 

BL99 thermo uses kice only for the Maykut and Untersteiner form of conductivity (based on the salinity and temperature profiles), not for the 'bubbly' option, so the comments/documentation for kice need to say that it is specific to the MU71 conductivity.

icepack_mushy_physics.F90 also uses ki as the basis for computing a variable conductivity profile (km):

ki = 2.3_dbl_kind , & ! fresh ice conductivity (W m-1 K-1)

I think it's reasonable for mushy to have its own form (and its own parameter). I would prefer to not have parameters like this buried in the code, though. Also, kice is used in the meltpond schemes, not ki. That might be inconsistent when using mushy thermo? It might come down to an assumption of how saline the ice/snow/meltponds are. This could be a research project.

apcraig added a commit that referenced this issue Oct 17, 2024
* Update Derecho Cray, rename subroutines, minor cleanup

Update Derecho Cray, add -Rp to -O2 standard optimization to address SAME_TBS compiler bug that is triggered in limited cases. Reported issue to NCAR. -O2 -Rp changes answers relative to -O2.

Rename two public Icepack subroutines, but maintain backward compatibility. Update the calls in Icepack driver, but also confirmed it works fine with the old names as well as in CICE with the old names.
Closes #255 

    use icepack_therm_shared  , only: icepack_init_thermo => icepack_init_salinity 
    use icepack_therm_shared  , only: icepack_init_trcr => icepack_init_enthalpy 

Add a check and abort for negative values in the sqrt in computation of Tin in function calculate_Tin_from_qin.
Closes #482

Refactor calls to icepack_aggregate to make them consistent. This was part of the testing for the Derecho Cray bug, and decided to keep the implementation.

Update comments associated with floeshape constant attribution. Change from Steele to Rothrock 1984.
Closes #479

Clean up some of the variable declarations in subroutine set_state_var and module icedrv_state, merge multiple lines to one line and shift to assumed shape arrays where appropriate.

Clean up implementation error in icedrv_restart.F90, subroutine restartfile. This subroutine was using a parameter, ntrcr, directly from icepack_tracers. Switched that to a call to icepack_query_tracer_sizes.

Update documentation of kice noting it's use with BL99 and MU71. See #447.

Generate updated interface documentation (./icepack.setup --docintfc)
dabail10 pushed a commit to ESCOMP/Icepack that referenced this issue Oct 25, 2024
…um#502)

* Update Derecho Cray, rename subroutines, minor cleanup

Update Derecho Cray, add -Rp to -O2 standard optimization to address SAME_TBS compiler bug that is triggered in limited cases. Reported issue to NCAR. -O2 -Rp changes answers relative to -O2.

Rename two public Icepack subroutines, but maintain backward compatibility. Update the calls in Icepack driver, but also confirmed it works fine with the old names as well as in CICE with the old names.
Closes CICE-Consortium#255 

    use icepack_therm_shared  , only: icepack_init_thermo => icepack_init_salinity 
    use icepack_therm_shared  , only: icepack_init_trcr => icepack_init_enthalpy 

Add a check and abort for negative values in the sqrt in computation of Tin in function calculate_Tin_from_qin.
Closes CICE-Consortium#482

Refactor calls to icepack_aggregate to make them consistent. This was part of the testing for the Derecho Cray bug, and decided to keep the implementation.

Update comments associated with floeshape constant attribution. Change from Steele to Rothrock 1984.
Closes CICE-Consortium#479

Clean up some of the variable declarations in subroutine set_state_var and module icedrv_state, merge multiple lines to one line and shift to assumed shape arrays where appropriate.

Clean up implementation error in icedrv_restart.F90, subroutine restartfile. This subroutine was using a parameter, ntrcr, directly from icepack_tracers. Switched that to a call to icepack_query_tracer_sizes.

Update documentation of kice noting it's use with BL99 and MU71. See CICE-Consortium#447.

Generate updated interface documentation (./icepack.setup --docintfc)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants