These are good questions. Maybe the way to think about this is that the growth/melt at the base of the sea ice is:

dh / dt = Fc - Fbot

where the conductive flux (Fc) is upwards away from the bottom and the Fbot is oceanic heat flux. Now keep in mind, that Fbot is also bounded by the frzmelt term sent from the ocean. This is the so-called "heat available".

fbot = max(fbot, frzmlt) where frzmlt < fbot < 0.

The sign is such that a negative flux is heat lost from the ocean. Now, fhocn is the actual heat exchanged between the sea ice and ocean. So, MELTH_F should be the same as fhocn. The relationship between fhocn and fbot is as follows:

!-----------------------------------------------------------------

! Compute heat flux used by the ice (<=0).

! fhocn is the available ocean heat that is left after use by ice

!-----------------------------------------------------------------

fhocnn = fbot &

+ (esub + etop_mlt + ebot_mlt)/dt

So, it takes into account the energy of sublimation and melt as well. In terms of fhocn and fhocn_ai, this is just sea ice category weighted average fhocn or not. They are computed like this:

fhocn = sum(fhocnn(n)*aicen(n)) / sum(aicen(n)) where n is across the subgridscale categories.

fhocn_ai = fhocn * sum(aicen(n))

Dave