Index: trunk/LMDZ.PLUTO/libf/phypluto/callcorrk_pluto_mod.F90
===================================================================
--- trunk/LMDZ.PLUTO/libf/phypluto/callcorrk_pluto_mod.F90	(revision 3695)
+++ trunk/LMDZ.PLUTO/libf/phypluto/callcorrk_pluto_mod.F90	(revision 3698)
@@ -28,4 +28,5 @@
                               strobel,vmrch4_proffix,specOLR,vmrch4fix,&
                               haze_radproffix,callmufi
+      use callkeys_mod, only: strictboundcorrk
       use optcv_pluto_mod, only: optcv_pluto
       use optci_pluto_mod, only: optci_pluto
@@ -210,4 +211,6 @@
       real,save :: levdat(Nfine),vmrdat(Nfine)
       real :: vmrch4(ngrid,nlayer)              ! vmr ch4 from vmrch4_proffix
+      character(len=100) :: message
+      character(len=15),parameter :: subname="callcorrk_pluto"
 
 !=======================================================================
@@ -634,12 +637,30 @@
           if(tlevrad(k).lt.tgasmin)then
             print*,'Minimum temperature is outside the radiative'
-            print*,'transfer kmatrix bounds, exiting.'
+            print*,'transfer kmatrix bounds'
             print*,'t(',k,')=',tlevrad(k),' < ',tgasmin
-            ! call abort
+            if (strictboundcorrk) then
+              message="Minimum temperature outside of kmatrix bounds"
+              call abort_physic(subname,message,1)
+            else
+              print*,'***********************************************'
+              print*,'we allow model to continue with tlevrad<tgasmin'
+              print*,'  ... we assume we know what you are doing ... '
+              print*,'  ... but do not let this happen too often ... '
+              print*,'***********************************************'
+            endif
           elseif(tlevrad(k).gt.tgasmax)then
             print*,'Maximum temperature is outside the radiative'
-            print*,'transfer kmatrix bounds, exiting.'
+            print*,'transfer kmatrix bounds'
             print*,'t(',k,')=',tlevrad(k),' > ',tgasmax
-            ! call abort
+            if (strictboundcorrk) then
+              message="Maximum temperature outside of kmatrix bounds"
+              call abort_physic(subname,message,1)
+            else
+              print*,'***********************************************'
+              print*,'we allow model to continue with tlevrad>tgasmax'
+              print*,'  ... we assume we know what you are doing ... '
+              print*,'  ... but do not let this happen too often ... '
+              print*,'***********************************************'
+            endif
           endif
          enddo
Index: trunk/LMDZ.PLUTO/libf/phypluto/physiq_mod.F90
===================================================================
--- trunk/LMDZ.PLUTO/libf/phypluto/physiq_mod.F90	(revision 3695)
+++ trunk/LMDZ.PLUTO/libf/phypluto/physiq_mod.F90	(revision 3698)
@@ -70,4 +70,5 @@
       use callcorrk_mod, only: callcorrk
       use callcorrk_pluto_mod, only: callcorrk_pluto
+      use surfprop_mod, only: surfprop
       use vdifc_mod, only: vdifc
       use vdifc_pluto_mod, only: vdifc_pluto
@@ -1958,11 +1959,11 @@
  !     Info about Ls, declin...
       IF (fast) THEN
-         if (is_master) write(*,*),'Ls=',zls*180./pi,' dec=',declin*180./pi
-         if (is_master) write(*,*),'zday=',zday,' ps=',globave
+         if (is_master) write(*,*)'Ls=',zls*180./pi,' dec=',declin*180./pi
+         if (is_master) write(*,*)'zday=',zday,' ps=',globave
          IF (lastcall) then
-            if (is_master) write(*,*),'lastcall'
+            if (is_master) write(*,*)'lastcall'
          ENDIF
       ELSE
-         if (is_master) write(*,*),'Ls=',zls*180./pi,'decli=',declin*180./pi,'zday=',zday
+         if (is_master) write(*,*)'Ls=',zls*180./pi,'decli=',declin*180./pi,'zday=',zday
       ENDIF
 
@@ -2139,8 +2140,10 @@
       if (fast) then
          call write_output("fluxrad","fluxrad","W m-2",fluxrad)
-         call write_output("fluxgrd","fluxgrd","W m-2",fluxgrd)
          ! call write_output("dplanck","dplanck","W.s m-2 K-1",dplanck)
+      endif
+
+      if (callsoil) then
          ! "soil" variables
-         call write_output("capcal","capcal","W.s m-2 K-1",capcal)
+         call write_output("capcal","Surface Heat Capacity","W.s m-2 K-1",capcal)
          call write_output("tsoil","tsoil","K",tsoil)
          call write_output("therm_inertia","therm_inertia","S.I.",therm_inertia)
Index: trunk/LMDZ.PLUTO/libf/phypluto/surfprop.F90
===================================================================
--- trunk/LMDZ.PLUTO/libf/phypluto/surfprop.F90	(revision 3695)
+++ trunk/LMDZ.PLUTO/libf/phypluto/surfprop.F90	(revision 3698)
@@ -1,2 +1,8 @@
+module surfprop_mod
+
+implicit none
+
+contains
+
       subroutine surfprop(ngrid,nq,pfra,qsurf,tsurface,       &
                      capcal,adjust,dist,fluold,ptimestep,zls, &
@@ -507,2 +513,3 @@
       end subroutine surfprop
 
+end module surfprop_mod
Index: trunk/LMDZ.PLUTO/libf/phypluto/writediagsoil.F90
===================================================================
--- trunk/LMDZ.PLUTO/libf/phypluto/writediagsoil.F90	(revision 3695)
+++ trunk/LMDZ.PLUTO/libf/phypluto/writediagsoil.F90	(revision 3698)
@@ -23,5 +23,6 @@
 use mod_phys_lmdz_para, only : is_mpi_root, is_master, gather
 use mod_grid_phy_lmdz, only : klon_glo, Grid1Dto2D_glo, &
-                              nbp_lon, nbp_lat
+                              nbp_lon, nbp_lat, &
+                              grid_type, unstructured
 
 implicit none
@@ -78,4 +79,9 @@
 real px2(ngrid)
 #endif
+
+! 0. This routine shoul only be used in lon-lat case
+if (grid_type==unstructured) then
+  return
+endif
 
 ! 1. Initialization step
