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

Make a_min and m_min adjustable #963

Open
eclare108213 opened this issue Jul 24, 2024 · 9 comments
Open

Make a_min and m_min adjustable #963

eclare108213 opened this issue Jul 24, 2024 · 9 comments

Comments

@eclare108213
Copy link
Contributor

a_min = p001 , & ! minimum ice area

m_min = p01 ! minimum ice mass (kg/m^2)

a_min and m_min are fixed parameters in ice_dyn_shared.F90, which were originally intended to prevent the dynamics code from blowing up when the ice area or volume are very small. Tests in E3SM indicate that these can be as small as 1.e-11 and 1.e-10, respectively (although that might be a function of the driver code in E3SM), and that reducing them improves the simulation results. I recommend adding a_min to namelist and setting m_min=10*a_min for easier testing.

I'm curious whether any model blows up with such small values, or if E3SM's stability is unique and worth a closer look.

@dabail10
Copy link
Contributor

dabail10 commented Jan 6, 2025

Finally had a chance to run this case. I believe the change to a_min and m_min is within variability in the CESM. I have run for 50 years so far, but likely will do 100 just to be safe.

https://webext.cgd.ucar.edu/BLT1850/b.e30_beta04.BLT1850.ne30_t232_wgx3.121min/ice/html/ice/Hemis_seaice_visual_compare_obs_lens.html

@dabail10
Copy link
Contributor

Ok. I have new diagnostics for 100 years and have included contour plots. There is kind of a weird systematic difference of plus or minus 10cm here. Might be just within variability though.

https://webext.cgd.ucar.edu/BLT1850/b.e30_beta04.BLT1850.ne30_t232_wgx3.121min/ice/html/ice/Hemis_seaice_visual_compare_obs_lens.html

@dabail10
Copy link
Contributor

Based on this, I just feel that we should leave these hard-coded with the new values.

@NickSzapiro-NOAA
Copy link
Contributor

Using a_min=1.e-11 and m_min=1.e-10, quite some ufs-weather-model regression tests fail with:
(abort_ice) error = (diagnostic_abort)ERROR: bad departure points
like coupled FV3-MOM6-CICE6-CMEPS and other configurations. Some coarser C48 ones pass though, fwiw.

Before digging into this more, are these what y'all are thinking the new default values should be?

@dabail10
Copy link
Contributor

Fair enough. We only tested these in two coupled models. So, we should add them as namelist values.

@eclare108213
Copy link
Contributor Author

Interesting that the 2 climate models do not fail but tests in UFS do. Could that be related to initialization? As noted above, the larger values were originally included to keep the code from blowing up, a symptom of which is large velocities that would cause transport departure points to be outside of neighboring cells. I agree with Dave that it makes sense to include them as namelist values, and for now keep the old values as the default with a recommendation to try cranking them down.

@NickSzapiro-NOAA
Copy link
Contributor

It's possible that dt_dyn or other settings used in UFS should/can be adjusted but I wanted to mention these regression tests first

@dabail10
Copy link
Contributor

Departure points out of bounds is like a CFL violation. You can try adjusting timesteps when you are close to the stability threshold. However, if a_min and m_min set to the current values works in the current UFS suite, I would recommend sticking with that.

@NickSzapiro-NOAA
Copy link
Contributor

NickSzapiro-NOAA commented Jan 23, 2025

It may be related to initialization...in some UFS regression tests CICE ICs are from CPC reanalysis with SIS2->CICE processing. I'll make EMC/CICE issue to follow up but hardcoding these so small is a breaking change at the moment.

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

4 participants