FAMOUS

(back up to Science Work Robin)

FTL/FQW bug fix

In FAMOUS up to and including XDBUA, SFFLUX5A contains the following, patched in by ctile_09_new_param

     DO L = 1,LAND_PTS
       I = LAND_INDEX(L) - (P1–1)
       FTL_1(I) = FLANDG(I)*FTL_LAND(L)
       FQW_1(I) = FLANDG(I)*FQW_LAND(L)
     ENDDO

     DO SE=1,SEA_PTS2
       I=SEA_INDEX(SE)-(P1–1)
       IF(LAND_MASK(I))THEN
            FTL_1(I) = FTL_1(I)+(1.-FLANDG(I))*FQW_SSI(I)
            FQW_1(I) = FQW_1(I)+(1.-FLANDG(I))*FTL_SSI(I)
       ELSE
            FTL_1(I) = FQW_SSI(I)
            FQW_1(I) = FTL_SSI(I)
       ENDIF
     ENDDO 

Whilst the loop over land_index points updates FTL_1 with FTL_LAND, and FQW_1 with FQW_LAND, the loop over sea_index points updates FTL_1 with FQW_SSI, and FQW_1 with FTL_SSI - which would seem to be wrong. Neither I, Jonathan or Julia Tindall at Bristol can see any way that this is a cunning memory saving UM-ism, it does just appear to be that blatantly wrong. At this point, ocean and coastal points have their latent and sensible heat fluxes swapped around.

The surprising news is that this all has remarkably little impact on the climate - at least as far as surface temperature goes. Julia notes that “fqw_1 is overwritten in the middle of implca4a with the ‘correct’ value, so this could explain why the water budget still balances”. In fact, both get correctly overwritten in KMKH, which is the next subroutine to be called after SF_EXCH (which calls SF_FLUX), so only the end of SF_EXCH is affected by this. It seems to just feed into the calculations of the boundary layer stability and standard deviations of these surface fluxes, which are then used by the convection routines.

Attach:FTLQW_fix.png Δ

a proper fix requires a new version of ctile_09_new_param, which can be got by emailing me, or waiting for the next release version

Page last modified on August 16, 2011, at 12:19 PM by robin