Index: trunk/LMDZ.TITAN/libf/muphytitan/mm_haze.f90
===================================================================
--- trunk/LMDZ.TITAN/libf/muphytitan/mm_haze.f90	(revision 3657)
+++ trunk/LMDZ.TITAN/libf/muphytitan/mm_haze.f90	(revision 3658)
@@ -787,12 +787,24 @@
     ENDDO
     IF (zprod < 0._mm_wp) THEN
+! Mesoscale model: production level can be out of model range. EMoi24
+#ifndef MESOSCALE
       WRITE(*,'(a)') "cannot find aerosols production altitude"
       call EXIT(11)
+#endif
+#ifdef MESOSCALE
+      WRITE(*,*) "Aerosol production level out of model, no production of simple aerosols"
+#endif
     ENDIF
 
-    dm3s(:)= mm_tx_prod *0.75_mm_wp/mm_pi *mm_dt / mm_rhoaer / 2._mm_wp / mm_dzlev(1:mm_nla) * &
-             (erf((mm_zlev(1:mm_nla)-zprod)/znorm) - &
-             erf((mm_zlev(2:mm_nla+1)-zprod)/znorm))
-    dm0s(:) = dm3s(:)/(mm_rc_prod**3*mm_alpha_s(3._mm_wp))
+    ! If production level is out of model, set tendencies to 0. EMoi24
+    IF (zprod < 0._mm_wp) THEN
+      dm3s(:) = 0.d0
+      dm0s(:) = 0.d0
+    ELSE
+      dm3s(:)= mm_tx_prod *0.75_mm_wp/mm_pi *mm_dt / mm_rhoaer / 2._mm_wp / mm_dzlev(1:mm_nla) * &
+               (erf((mm_zlev(1:mm_nla)-zprod)/znorm) - &
+               erf((mm_zlev(2:mm_nla+1)-zprod)/znorm))
+      dm0s(:) = dm3s(:)/(mm_rc_prod**3*mm_alpha_s(3._mm_wp))
+    ENDIF
 
     IF (mm_var_prod) THEN
