Scheduled Downtime
On Friday 21 April 2023 @ 5pm MT, this website will be down for maintenance and expected to return online the morning of 24 April 2023 at the latest

WRF crash with fractional_seaice = 1

This post was from a previous version of the WRF&MPAS-A Support Forum. New replies have been disabled and if you have follow up questions related to this post, then please start a new thread from the forum home page.


New member

I am running WRFv3.9.1.1 over Greenland. D01 is all of Greenland plus surrounding oceans, D02 is NE Greenland, and D03 is quite specific to the NE coast around 79N. For this reason, accurate sea ice is crucial. i have no problems running wrf when fractional_seaice = 0. But as soon as I switch fractional_seaice = 1, the model crashes after the first few seconds. There are huge instabilities in my surface variables such as T2 and 10m winds. I have output wrf at every minute, and after the first timestep the output is white everywhere, starting at the edge of my domain. I have uploaded some photos.
I have tried with many different and very small timesteps (see namelist), and I have tried many smoothing and damping options (epssm, w_damping, smoothing etc). I always get a sigsegv fault when inc/ is called. However this isn't where the problems begin, as this is after 5minutes of model time, but the 'white' instabilities start before this. I have attached rsl.error0000.

My input data is definitely fractional sea ice. I have tried 2 different sources of data but both crash at the same time. I have edited the metgrid.tbl so that the landmask is used rather than landsea. The input data looks good, and the model runs to completion if I simply remove fractional_seaice = 1 from my namelist. Similarly, real.exe runs to completion, and the wrfinput and wrflowinp files look reasonable.

I have tried many different tactics, but to no avail. I am now configuring with -d option to see if this provides more insight. I already have debug level set to 1000. As fractional sea ice has been a feature for a while, and I can see no forum thread about it (and many published papers), I assume that this is something that can easily be fixed, or something that is staring me in the face, but I just can't see it.
I should also note that I am using Polar WRF v 3.9.1, but I have also tried without using PWRF, and just regular wrf, and the same problem arises.

Any help is much appreciated.


  • namelist.input
    6.6 KB · Views: 45
  • rsl_error_files.tar.gz
    22.7 MB · Views: 36
  • 12.png
    303.5 KB · Views: 666
  • 11.png
    207.5 KB · Views: 666
Would you please add the option tice2tsk_if2cold = .true. (&physics) and try again?
This option set the seaice temperature to the surface temperature. Normally, the seaice temperature is backed out of an area-averaging temperature formula. This results in unphysically low temperatures in grid cells with low ice fractions and low area-averaged temperatures.
Please let me know whether this option works.
Thank you for your suggestion. I added it into my namelist, and the model ran for 6 hours (I cancelled the job after this time, as I had my history interval to 1 minute, which was of course taking too long and too much space). The output looked good, and there were no 'white' squares popping up.
I have now altered my namelist back to my usual write out frequency, and so far, so good. I will let my test period run to completion, and give it a thorough search through the output for any irregularities to make sure.
I appreciate your quick response and advice.
This change has allowed WRF to run, but only when I compile with -d option for debug. The model ran for 4 days without any issues. But was very slow due to the debug option. Therefore I re-compiled this afternoon (without debug option), added in the line you suggested, however the same problem as before has occurred, where the model crashes after 5 seconds, with the same rsl.error messages and the white boxes. I have now recompiled with -d option, and the wrf run works. However this is too slow for me to use. Is there something I need to change in my compiler for this to work?

configured with option 66 for dmpar intel HSW/BDW
compiled for em_real
Many thanks.