Index: trunk/NEMO/OPA_SRC/TRA/traqsr.F90
===================================================================
--- trunk/NEMO/OPA_SRC/TRA/traqsr.F90	(revision 1445)
+++ trunk/NEMO/OPA_SRC/TRA/traqsr.F90	(revision 1448)
@@ -36,4 +36,5 @@
    LOGICAL , PUBLIC ::   ln_traqsr  = .TRUE.    !: light absorption (qsr) flag
    LOGICAL , PUBLIC ::   ln_qsr_rgb = .FALSE.   !: Red-Green-Blue light absorption flag  
+   LOGICAL , PUBLIC ::   ln_qsr_2bd = .TRUE.    !: 2 band         light absorption flag
    LOGICAL , PUBLIC ::   ln_qsr_bio = .FALSE.   !: bio-model      light absorption flag
    INTEGER , PUBLIC ::   nn_chldta  = 0         !: use Chlorophyll data (=1) or not (=0)
@@ -184,8 +185,7 @@
             ENDIF
 
-!!gm BUG  the case key_vvl is missing: etot3 should be recomputed at each time step !!!
-
-            !                                             ! ------------------------- !
-         ELSE                                             !  2 band light penetration !
+         ENDIF
+         !                                                ! ------------------------- !
+         IF( ln_qsr_2bd ) THEN                            !  2 band light penetration !
             !                                             ! ------------------------- !
             !
@@ -199,7 +199,4 @@
             !
          ENDIF
-
-!!gm BUG  the case key_vvl is missing: etot3 should be recomputed at each time step !!!
-
          !
       ENDIF
@@ -232,6 +229,7 @@
       !! Reference : Jerlov, N. G., 1968 Optical Oceanography, Elsevier, 194pp.
       !!----------------------------------------------------------------------
-      INTEGER  ::   ji, jj, jk     ! dummy loop indices
-      INTEGER  ::   irgb, ierror   ! temporary integer
+      INTEGER  ::   ji, jj, jk            ! dummy loop indices
+      INTEGER  ::   irgb, ierror          ! temporary integer
+      INTEGER  ::   ioptio, nadv          ! temporary integer
       REAL(wp) ::   zc0  , zc1            ! temporary scalars
       REAL(wp) ::   zc2  , zc3  , zchl    !    -         -
@@ -242,5 +240,5 @@
       CHARACTER(len=100) ::   cn_dir   ! Root directory for location of ssr files
       TYPE(FLD_N)        ::   sn_chl   ! informations about the chlorofyl field to be read
-      NAMELIST/namqsr/  sn_chl, cn_dir, ln_traqsr, ln_qsr_rgb, ln_qsr_bio,   &
+      NAMELIST/namqsr/  sn_chl, cn_dir, ln_traqsr, ln_qsr_rgb, ln_qsr_2bd, ln_qsr_bio,   &
          &              nn_chldta, rn_abs, rn_si0, rn_si1, rn_si2
       !!----------------------------------------------------------------------
@@ -262,4 +260,5 @@
          WRITE(numout,*) '        Light penetration (T) or not (F)         ln_traqsr  = ', ln_traqsr
          WRITE(numout,*) '        RGB (Red-Green-Blue) light penetration   ln_qsr_rgb = ', ln_qsr_rgb
+         WRITE(numout,*) '        2 band               light penetration   ln_qsr_2bd = ', ln_qsr_2bd
          WRITE(numout,*) '        bio-model            light penetration   ln_qsr_bio = ', ln_qsr_bio
          WRITE(numout,*) '        RGB : Chl data (=1) or cst value (=0)    nn_chldta  = ', nn_chldta
@@ -269,5 +268,40 @@
          WRITE(numout,*) '        3 bands: longest depth of extinction         rn_si2 = ', rn_si2
       ENDIF
-      
+
+      IF( ln_traqsr ) THEN     ! control consistency
+         !                      
+         IF( .NOT. lk_qsr_bio  ) THEN 
+            ln_qsr_bio = .FALSE.
+            CALL ctl_warn( 'No bio model ;  force bio-model light penetration ln_qsr_bio  = FALSE ' )
+         ENDIF
+         !
+         ioptio = 0                      ! Parameter control
+         IF( ln_qsr_rgb  )   ioptio = ioptio + 1
+         IF( ln_qsr_2bd  )   ioptio = ioptio + 1
+         IF( ln_qsr_bio  )   ioptio = ioptio + 1
+         !
+         IF( ioptio > 1 ) THEN
+            ln_qsr_rgb = .FALSE.
+            ln_qsr_2bd = .FALSE.
+            ln_qsr_bio = .FALSE.
+            CALL ctl_warn( '          Choose ONE type of light penetration in namelist namqsr',   &
+           &               ' otherwise, we force the model to run without light penetration' )
+         ENDIF
+         IF( ioptio == 0 .OR. ioptio > 1    )   nadv =  1
+         IF( ln_qsr_rgb .AND. nn_chldta == 0 )   nadv =  2
+         IF( ln_qsr_rgb .AND. nn_chldta == 1 )   nadv =  3
+         IF( ln_qsr_2bd                      )   nadv =  4
+         IF( ln_qsr_bio                      )   nadv =  5
+         !
+         IF(lwp) THEN                   ! Print the choice
+            WRITE(numout,*)
+            IF( nadv ==  1 )   WRITE(numout,*) '         No light penetration '
+            IF( nadv ==  2 )   WRITE(numout,*) '         R-G-B  light penetration - Constant Chlorophyll'
+            IF( nadv ==  3 )   WRITE(numout,*) '         R-G-B  light penetration - Chl data '
+            IF( nadv ==  4 )   WRITE(numout,*) '         2 band light penetration'
+            IF( nadv ==  5 )   WRITE(numout,*) '         bio-model light penetration'
+         ENDIF
+         !
+      ENDIF
       !                          ! ===================================== !
       IF( ln_traqsr  ) THEN      !  Initialisation of Light Penetration  !  
@@ -345,6 +379,7 @@
             ENDIF
             !
+         ENDIF
             !                             ! ---------------------------------- !
-         ELSE                             !    2 bands    light penetration    !
+         IF( ln_qsr_2bd ) THEN            !    2 bands    light penetration    !
             !                             ! ---------------------------------- !
             !
