Index: /branches/UKMO/dev_r5518_FOAMv14_output_heat_fluxes/NEMOGCM/CONFIG/SHARED/field_def.xml
===================================================================
--- /branches/UKMO/dev_r5518_FOAMv14_output_heat_fluxes/NEMOGCM/CONFIG/SHARED/field_def.xml	(revision 10899)
+++ /branches/UKMO/dev_r5518_FOAMv14_output_heat_fluxes/NEMOGCM/CONFIG/SHARED/field_def.xml	(revision 10900)
@@ -249,4 +249,10 @@
          <field id="qemp_oce"     long_name="Downward Heat Flux from E-P over open ocean"                                                       unit="W/m2"  />
          <field id="taum_oce"     long_name="wind stress module over open ocean"           standard_name="magnitude_of_surface_downward_stress" unit="N/m2"  />
+
+         <!-- * qns individual terms to check the total qns_oce along with qlw_oce, qsb_oce and qla_oce output, with ln_blk_core -->
+         <field id="qlasprecip"   long_name="latent melting heat for solid precip non solar"                 unit="W/m2"         />
+         <field id="qevapsst"     long_name="evap heat content at SST non solar"                             unit="W/m2"         />
+         <field id="qlprecip"     long_name="liquid precip heat content at Tair non solar"                   unit="W/m2"         />
+         <field id="qsprecip"     long_name="solid precip heat content at min(Tait,Tsnow) non solar"         unit="W/m2"         />
 
          <!-- available key_oasis3 -->
@@ -670,5 +676,5 @@
       <field_group id="icbvar" grid_ref="grid_T_2D"  > 
         <field id="berg_total_melt"    long_name="icb melt rate 2 of icebergs"                     unit="kg/m2/s"                    />
-        <field id="berg_total_heat_flux"  long_name="icb latent heat of melting of icebergs"          unit="kg/m2/s"                    />
+        <field id="berg_total_heat_flux"  long_name="icb latent heat of melting of icebergs"       unit="kg/m2/s"                    />
         <field id="berg_melt"          long_name="icb melt rate of icebergs"                       unit="kg/m2/s"                    />
         <field id="berg_buoy_melt"     long_name="icb buoyancy component of iceberg melt rate"     unit="kg/m2/s"                    />
Index: /branches/UKMO/dev_r5518_FOAMv14_output_heat_fluxes/NEMOGCM/NEMO/OPA_SRC/SBC/sbc_oce.F90
===================================================================
--- /branches/UKMO/dev_r5518_FOAMv14_output_heat_fluxes/NEMOGCM/NEMO/OPA_SRC/SBC/sbc_oce.F90	(revision 10899)
+++ /branches/UKMO/dev_r5518_FOAMv14_output_heat_fluxes/NEMOGCM/NEMO/OPA_SRC/SBC/sbc_oce.F90	(revision 10900)
@@ -108,4 +108,8 @@
    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   qsb               !: downward sensible heat flux over sea non solar [W/m2]
    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   qla               !: downward latent heat flux over sea non solar   [W/m2]
+   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   qlasprecip        !: latent melting heat for solid precip non solar [W/m2]
+   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   qevapsst          !: evap heat content at SST non solar             [W/m2]
+   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   qlprecip          !: liquid precip heat content at Tair non solar   [W/m2]
+   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   qsprecip          !: solid precip heat content at min(Tait,Tsnow) non solar [W/m2]
    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   qsr_tot           !: total     solar heat flux (over sea and ice)   [W/m2]
    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   qns_tot           !: total non solar heat flux (over sea and ice)   [W/m2]
@@ -192,4 +196,6 @@
       ALLOCATE( qns_tot(jpi,jpj) , qns  (jpi,jpj) , qns_b(jpi,jpj),        &
          &      qlw    (jpi,jpj) , qsb  (jpi,jpj) , qla  (jpi,jpj),        &
+         &      qlasprecip(jpi,jpj), qevapsst(jpi,jpj),                    &
+         &      qlprecip(jpi,jpj), qsprecip(jpi,jpj),                      & 
          &      qsr_tot(jpi,jpj) , qsr  (jpi,jpj) ,                        &
          &      emp    (jpi,jpj) , emp_b(jpi,jpj) ,                        &
Index: /branches/UKMO/dev_r5518_FOAMv14_output_heat_fluxes/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_core.F90
===================================================================
--- /branches/UKMO/dev_r5518_FOAMv14_output_heat_fluxes/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_core.F90	(revision 10899)
+++ /branches/UKMO/dev_r5518_FOAMv14_output_heat_fluxes/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_core.F90	(revision 10900)
@@ -392,4 +392,12 @@
          &     + sf(jp_snow)%fnow(:,:,1) * rn_pfac                                &   ! add solid  precip heat content at min(Tair,Tsnow)
          &     * ( MIN( sf(jp_tair)%fnow(:,:,1), rt0_snow ) - rt0 ) * cpic * tmask(:,:,1)
+      ! Compute and output the individual terms of non solar heat content
+      ! in order to check if qlw, qla, qsb are correctly evaluated 
+      qlasprecip(:,:) = sf(jp_snow)%fnow(:,:,1) * rn_pfac * lfus                          ! latent melting heat for solid precip 
+      qevapsst(:,:)   = zevap(:,:) * pst(:,:) * rcp                                       ! evap heat content at SST 
+      qlprecip(:,:)   = ( sf(jp_prec)%fnow(:,:,1) - sf(jp_snow)%fnow(:,:,1) ) * rn_pfac & ! liquid precip heat content at Tair
+         &     * ( sf(jp_tair)%fnow(:,:,1) - rt0 ) * rcp
+      qsprecip(:,:)   = sf(jp_snow)%fnow(:,:,1) * rn_pfac                               & ! solid precip heat content at min(Tair,Tsnow)
+         &     * ( MIN( sf(jp_tair)%fnow(:,:,1), rt0_snow ) - rt0 ) * cpic * tmask(:,:,1)
       !
 #if defined key_lim3
Index: /branches/UKMO/dev_r5518_FOAMv14_output_heat_fluxes/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_cice.F90
===================================================================
--- /branches/UKMO/dev_r5518_FOAMv14_output_heat_fluxes/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_cice.F90	(revision 10899)
+++ /branches/UKMO/dev_r5518_FOAMv14_output_heat_fluxes/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_cice.F90	(revision 10900)
@@ -683,5 +683,6 @@
       ELSE
          qns(:,:)= qns(:,:)-sprecip(:,:)*Lfresh*(1.0-fr_i(:,:))
-         qla(:,:)= qla(:,:)+sprecip(:,:)*Lfresh*(1.0-fr_i(:,:))
+         ! Add latent heat due to melting of solid precip, see sbcblk_core.F90
+         qla(:,:)= qla(:,:)+sprecip(:,:)*Lfresh*(1.0-fr_i(:,:)) 
       ENDIF
 
Index: /branches/UKMO/dev_r5518_FOAMv14_output_heat_fluxes/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90
===================================================================
--- /branches/UKMO/dev_r5518_FOAMv14_output_heat_fluxes/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90	(revision 10899)
+++ /branches/UKMO/dev_r5518_FOAMv14_output_heat_fluxes/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90	(revision 10900)
@@ -474,5 +474,5 @@
          CALL iom_put( "fmmflx", fmmflx  )                      ! Freezing-melting water flux
          CALL iom_put( "qt"    , qns  + qsr )                   ! total heat flux 
-         CALL iom_put( "qns"   , qns        )                   ! solar heat flux
+         CALL iom_put( "qns"   , qns        )                   ! non solar heat flux
          CALL iom_put( "qsr"   ,       qsr  )                   ! solar heat flux
          IF( nn_ice > 0 .OR. nn_components == jp_iam_opa )   CALL iom_put( "ice_cover", fr_i )   ! ice fraction 
@@ -483,4 +483,10 @@
             CALL iom_put( "qsb_oce"  , - qsb   )                ! output surface_downward_sensible_heat_flux
             CALL iom_put( "qla_oce"  , - qla   )                ! output surface_downward_latent_heat_flux
+            !Output individual terms to check if their sum matches qns_oce
+            !To be consistent with qns in sbcice_cice.F90, evaluate over ocean only *(1.0-fr_i) 
+            CALL iom_put( "qlasprecip" , - qlasprecip*(1.0-fr_i) )  ! latent heat due to melting of solid precip non solar
+            CALL iom_put( "qevapsst"   , - qevapsst  *(1.0-fr_i) )    ! evap heat content at SST non solar
+            CALL iom_put( "qlprecip"   ,   qlprecip  *(1.0-fr_i) )    ! liquid precip heat content at Tair non solar
+            CALL iom_put( "qsprecip"   ,   qsprecip  *(1.0-fr_i) )    ! solid precip heat content at min(Tair,Tsnow) non solar
          ENDIF
       ENDIF
