mathieumorlighem
Hi Mathieu,
Thank you for you reply. I am still exploring ways to make it work. However I noticed something interesting and would like to hear your thoughts. Both cases are continental ice sheet only with nothing to do with the ocean. spcvx,vy,vz are set to 0 on lateral boundaries and NaN on the base.
In a previously working model setup, md.mask.ice_levelset was set to -1 in ALMOST everywhere, although no ice should exist on a large portion of the model domain. These places have thickness==masstransport.min_thickness. I wonder if this is potentially problematic. Should I set ice_levelset to -1 strictly on ice-covered areas? I will try it and compare the results right away but would like your confirmation, does ice_levelset actually evolve every once in a while as specified by levelset.reinit_frequency?
I realized my higher-resolution model, which borrowed almost everything from the said working model through interpolation functions provided and yet still refuse to run, has mask.ice_levelset=-1 everywhere. In a desperate attempt, I changed mask.ice_levelset to 1 in places where thickness==masstransport.min_thickness. Miraculously the model would solve now without blowing up. could it be because some places with thickness equal to masstransport.min_thickness=1 that was causing nonconvergence is now ignored?
When you mention blow up during velocity calculation is largely due to model set up and boundary conditions, is there a universal rule to follow, and what would you inspect/modify when it blows up? Once spcvx,y,z along with some other stuff are set by invoking md=SetIceSheetBC(md), is there anything in particular that usually cause nonconvergence and needs special attention? Something that resembles an emergency checklist for pilots would be very helpful.
Best regards,
Wade