Index: trunk/LMDZ.PLUTO/libf/phypluto/aeroptproperties.F90
===================================================================
--- trunk/LMDZ.PLUTO/libf/phypluto/aeroptproperties.F90	(revision 3195)
+++ trunk/LMDZ.PLUTO/libf/phypluto/aeroptproperties.F90	(revision 3196)
@@ -38,5 +38,5 @@
 !     ==============================================================
 
-!     Local variables 
+!     Local variables
 !     ---------------
 
@@ -198,4 +198,7 @@
 !      REAL :: omegaREFvis3d(ngrid,nlayer,naerkind)
 !      REAL :: omegaREFir3d(ngrid,nlayer,naerkind)
+
+      REAL :: minrad    ! minimal radius in table .dat radiustab (outside 0)
+      REAL :: maxrad
 
 !     0. Allocate local saved arrays at firstcall
@@ -246,5 +249,5 @@
         ALLOCATE(qsqrefIRb(L_NSPECTI,ngau,naerkind))
         ALLOCATE(qrefIRb(ngau,naerkind))
-        
+
         ALLOCATE(omegIRa(L_NSPECTI,ngau,naerkind))
         ALLOCATE(omegrefIRa(ngau,naerkind))
@@ -253,5 +256,5 @@
         ALLOCATE(gIRa(L_NSPECTI,ngau,naerkind))
         ALLOCATE(gIRb(L_NSPECTI,ngau,naerkind))
-        
+
         first_allocate=.false.
       ENDIF ! of IF (first_allocate)
@@ -317,4 +320,17 @@
            enddo
         endif
+
+        ! check that radiustab (table.dat) cover the reffrad used for haze : iaer=1
+        minrad=min(MINVAL(radiustab(1,1,1:nsize(1,1))),MINVAL(radiustab(1,2,1:nsize(1,2))))
+        maxrad=min(MAXVAL(radiustab(1,1,1:nsize(1,1))),MAXVAL(radiustab(1,2,1:nsize(1,2))))
+        IF ((MINVAL(reffrad).LE.minrad).OR.(MAXVAL(reffrad).GE.maxrad)) then
+           WRITE(*,*) 'Warning: particle size in grid box #'
+           WRITE(*,*) ig,' is too large to be used by the '
+           WRITE(*,*) 'radiative transfer; please extend the '
+           WRITE(*,*) 'interpolation grid to larger grain sizes.'
+           WRITE(*,*) 'radiustab=',minrad,'-',maxrad
+           WRITE(*,*) 'reffrad=',MINVAL(reffrad),'-',MAXVAL(reffrad)
+           stop
+        ENDIF
 
         firstcall = .false.
@@ -412,5 +428,5 @@
             qsqrefVISb(m,gausind,iaer)=                         &
                     (1-kint)*QVISsQREF(m,iaer,radius_id) +      &
-                    kint*QVISsQREF(m,iaer,radius_id+1)    
+                    kint*QVISsQREF(m,iaer,radius_id+1)
             omegVISb(m,gausind,iaer)=                           &
                     (1-kint)*omegaVIS(m,iaer,radius_id) +       &
@@ -500,5 +516,5 @@
                     EXP(-dista(j,1,iaer,idomain,gausind) *            &
                     dista(j,1,iaer,idomain,gausind) *                 &
-                    0.5e0/sizedistk2)/(radiusm-drad)                  
+                    0.5e0/sizedistk2)/(radiusm-drad)
                   dista(j,1,iaer,idomain,gausind) =                   &
                     dista(j,1,iaer,idomain,gausind) /                 &
@@ -540,5 +556,5 @@
 !                     Convolution:
                       qextVISgrid(j,1,m,iaer) =              &
-                        qextVISgrid(j,1,m,iaer) +            & 
+                        qextVISgrid(j,1,m,iaer) +            &
                         weightgaus(gausind) *                &
                         (                                    &
@@ -609,5 +625,5 @@
                       (                                      &
                       omegrefVISb(gausind,iaer) *            &
-                      qrefVISb(gausind,iaer) *               & 
+                      qrefVISb(gausind,iaer) *               &
                       pi*radGAUSb(gausind,iaer,idomain) *    &
                       radGAUSb(gausind,iaer,idomain) *       &
@@ -622,5 +638,5 @@
 
                   qrefVISgrid(j,1,iaer)=qrefVISgrid(j,1,iaer) /          &
-                                normd(j,1,iaer,idomain)       
+                                normd(j,1,iaer,idomain)
                   qscatrefVISgrid(j,1,iaer)=qscatrefVISgrid(j,1,iaer) /  &
                                 normd(j,1,iaer,idomain)
@@ -736,5 +752,5 @@
                       )
                   ENDDO
- 
+
                   qrefIRgrid(j,1,iaer)=qrefIRgrid(j,1,iaer) /          &
                                 normd(j,1,iaer,idomain)
@@ -789,6 +805,6 @@
             omegaIR3d(ig,lg,m,iaer) =                              &
                         k1*omegIRgrid(grid_i,1,m,iaer) +           &
-                        k2*omegIRgrid(grid_i+1,1,m,iaer) 
-            gIR3d(ig,lg,m,iaer) =                                  & 
+                        k2*omegIRgrid(grid_i+1,1,m,iaer)
+            gIR3d(ig,lg,m,iaer) =                                  &
                         k1*gIRgrid(grid_i,1,m,iaer) +              &
                         k2*gIRgrid(grid_i+1,1,m,iaer)
Index: trunk/LMDZ.PLUTO/libf/phypluto/physiq_mod.F90
===================================================================
--- trunk/LMDZ.PLUTO/libf/phypluto/physiq_mod.F90	(revision 3195)
+++ trunk/LMDZ.PLUTO/libf/phypluto/physiq_mod.F90	(revision 3196)
@@ -1474,5 +1474,6 @@
          enddo
 
-         ! Generalised for arbitrary aerosols now. By LK
+         if (aerohaze) then
+            ! Generalised for arbitrary aerosols now. By LK
          reffcol(1:ngrid,1:naerkind)=0.0
             ! call n2_reffrad(ngrid,nlayer,nq,zq,reffrad(1,1,iaero_haze))
@@ -1496,4 +1497,5 @@
             ENDDO
          ENDDO
+         endif ! end of aerohaze
       endif ! end of 'tracer'
 
