[MITgcm-support] EXF/SEAICE Surface Heat Fluxes

Edwards, Erick (LCDR) eledward at nps.edu
Mon Jun 15 17:37:35 EDT 2015


I have a few questions concerning how MITgcm handles surface heat fluxes when using both the EXF and SEAICE packages.  I'm running with SEAICE_EXTERNAL_FLUXES defined, and as I understand it, the model will default to EXF when there are open areas of ocean but will calculate the proper surface heat fluxes using SEAICE where the grid points have sea ice.  For my particular problem, I want to prescribe overall surface heat flux consistently throughout the run, regardless of whether sea ice is present or not.



I was using 'lwnet' as an input to EXF to control this, but I had difficulty getting and keeping sea ice, so I turned on the heat flux diagnostics from the SEAICE package (SIqnet, SIatmQnt, SItflux, SIlh, SIaaflux, SIqsw, SIqneto, SIqneti, and I also activated TFLUX).  After looking at these fluxes, I discovered a few things:



- Sea ice growth could be calculated by: (SIatmQnt - SIqnet) / (334000 * 910).  These calculated values matched the sum of the SIdHb* outputs perfectly.

- If I start a model with ice cover and set 'lwnet' to zero, the SIatmQnt output is very large at the beginning of the run (240 W/m^2 after the first step of 960 seconds).  There is rapid sea ice growth (HEFF increasing).

- If I start the model without ice cover and set 'lwnet' to zero, everything is zeroed out, ice never forms (no problems here, behaved as expected).

- If I start the model without ice cover and set 'lwdn' to zero, SIatmQnt is large and lwnet is +298.4 and I still get sea ice growth.

- If I start the model with or without ice cover and set 'lwdn' equal to -5.67E-8 * (Tsurf) ^4 in an attempt to account for an upward ('lwup'?) longwave flux that I'm not seeing as part of any diagnostic, then I get very close to having SIatmQnt equal to zero.  Qnet and SIqnet also approach zero when I don't start with sea ice and both equal 3-4 W/m^s in the case where I do start with sea ice.



In the above models, I was attempting to set up a sort of null model, where the overall net surface heat fluxes would be zero (for troubleshooting purposes).



So, I guess my questions are these: if I want to prescribe surface heat fluxes and I'm using the EXF and SEAICE packages, is it best to prescribe 'lwdn' in EXF and try to get as close to the desired surface heat flux as possible?  Or is there a way to more perfectly prescribe a net surface heat flux so that the desired value remains exactly as specified whether there is sea ice or not?



I'm at a loss on how to proceed.  I'm thinking about making 'lwnet' equal to zero while still making 'lwdn' equal to -5.67E-8 * (Tsurf) ^4.  My thinking is that I'll be fine for open ocean ('lwnet' will prevail) and for covered ocean, my "compensating" flux in 'lwdn' will get the net surface heat flux close to zero (it seemed to work this way in the 4th case above).

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mitgcm.org/pipermail/mitgcm-support/attachments/20150615/23af4275/attachment.htm>


More information about the MITgcm-support mailing list