New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 1448 – NEMO

Changeset 1448


Ignore:
Timestamp:
2009-05-15T15:03:23+02:00 (15 years ago)
Author:
cetlod
Message:

add explicitly light penetration following 2 wavebands, see ticket:431

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/OPA_SRC/TRA/traqsr.F90

    r1445 r1448  
    3636   LOGICAL , PUBLIC ::   ln_traqsr  = .TRUE.    !: light absorption (qsr) flag 
    3737   LOGICAL , PUBLIC ::   ln_qsr_rgb = .FALSE.   !: Red-Green-Blue light absorption flag   
     38   LOGICAL , PUBLIC ::   ln_qsr_2bd = .TRUE.    !: 2 band         light absorption flag 
    3839   LOGICAL , PUBLIC ::   ln_qsr_bio = .FALSE.   !: bio-model      light absorption flag 
    3940   INTEGER , PUBLIC ::   nn_chldta  = 0         !: use Chlorophyll data (=1) or not (=0) 
     
    184185            ENDIF 
    185186 
    186 !!gm BUG  the case key_vvl is missing: etot3 should be recomputed at each time step !!! 
    187  
    188             !                                             ! ------------------------- ! 
    189          ELSE                                             !  2 band light penetration ! 
     187         ENDIF 
     188         !                                                ! ------------------------- ! 
     189         IF( ln_qsr_2bd ) THEN                            !  2 band light penetration ! 
    190190            !                                             ! ------------------------- ! 
    191191            ! 
     
    199199            ! 
    200200         ENDIF 
    201  
    202 !!gm BUG  the case key_vvl is missing: etot3 should be recomputed at each time step !!! 
    203  
    204201         ! 
    205202      ENDIF 
     
    232229      !! Reference : Jerlov, N. G., 1968 Optical Oceanography, Elsevier, 194pp. 
    233230      !!---------------------------------------------------------------------- 
    234       INTEGER  ::   ji, jj, jk     ! dummy loop indices 
    235       INTEGER  ::   irgb, ierror   ! temporary integer 
     231      INTEGER  ::   ji, jj, jk            ! dummy loop indices 
     232      INTEGER  ::   irgb, ierror          ! temporary integer 
     233      INTEGER  ::   ioptio, nadv          ! temporary integer 
    236234      REAL(wp) ::   zc0  , zc1            ! temporary scalars 
    237235      REAL(wp) ::   zc2  , zc3  , zchl    !    -         - 
     
    242240      CHARACTER(len=100) ::   cn_dir   ! Root directory for location of ssr files 
    243241      TYPE(FLD_N)        ::   sn_chl   ! informations about the chlorofyl field to be read 
    244       NAMELIST/namqsr/  sn_chl, cn_dir, ln_traqsr, ln_qsr_rgb, ln_qsr_bio,   & 
     242      NAMELIST/namqsr/  sn_chl, cn_dir, ln_traqsr, ln_qsr_rgb, ln_qsr_2bd, ln_qsr_bio,   & 
    245243         &              nn_chldta, rn_abs, rn_si0, rn_si1, rn_si2 
    246244      !!---------------------------------------------------------------------- 
     
    262260         WRITE(numout,*) '        Light penetration (T) or not (F)         ln_traqsr  = ', ln_traqsr 
    263261         WRITE(numout,*) '        RGB (Red-Green-Blue) light penetration   ln_qsr_rgb = ', ln_qsr_rgb 
     262         WRITE(numout,*) '        2 band               light penetration   ln_qsr_2bd = ', ln_qsr_2bd 
    264263         WRITE(numout,*) '        bio-model            light penetration   ln_qsr_bio = ', ln_qsr_bio 
    265264         WRITE(numout,*) '        RGB : Chl data (=1) or cst value (=0)    nn_chldta  = ', nn_chldta 
     
    269268         WRITE(numout,*) '        3 bands: longest depth of extinction         rn_si2 = ', rn_si2 
    270269      ENDIF 
    271        
     270 
     271      IF( ln_traqsr ) THEN     ! control consistency 
     272         !                       
     273         IF( .NOT. lk_qsr_bio  ) THEN  
     274            ln_qsr_bio = .FALSE. 
     275            CALL ctl_warn( 'No bio model ;  force bio-model light penetration ln_qsr_bio  = FALSE ' ) 
     276         ENDIF 
     277         ! 
     278         ioptio = 0                      ! Parameter control 
     279         IF( ln_qsr_rgb  )   ioptio = ioptio + 1 
     280         IF( ln_qsr_2bd  )   ioptio = ioptio + 1 
     281         IF( ln_qsr_bio  )   ioptio = ioptio + 1 
     282         ! 
     283         IF( ioptio > 1 ) THEN 
     284            ln_qsr_rgb = .FALSE. 
     285            ln_qsr_2bd = .FALSE. 
     286            ln_qsr_bio = .FALSE. 
     287            CALL ctl_warn( '          Choose ONE type of light penetration in namelist namqsr',   & 
     288           &               ' otherwise, we force the model to run without light penetration' ) 
     289         ENDIF 
     290         IF( ioptio == 0 .OR. ioptio > 1    )   nadv =  1 
     291         IF( ln_qsr_rgb .AND. nn_chldta == 0 )   nadv =  2 
     292         IF( ln_qsr_rgb .AND. nn_chldta == 1 )   nadv =  3 
     293         IF( ln_qsr_2bd                      )   nadv =  4 
     294         IF( ln_qsr_bio                      )   nadv =  5 
     295         ! 
     296         IF(lwp) THEN                   ! Print the choice 
     297            WRITE(numout,*) 
     298            IF( nadv ==  1 )   WRITE(numout,*) '         No light penetration ' 
     299            IF( nadv ==  2 )   WRITE(numout,*) '         R-G-B  light penetration - Constant Chlorophyll' 
     300            IF( nadv ==  3 )   WRITE(numout,*) '         R-G-B  light penetration - Chl data ' 
     301            IF( nadv ==  4 )   WRITE(numout,*) '         2 band light penetration' 
     302            IF( nadv ==  5 )   WRITE(numout,*) '         bio-model light penetration' 
     303         ENDIF 
     304         ! 
     305      ENDIF 
    272306      !                          ! ===================================== ! 
    273307      IF( ln_traqsr  ) THEN      !  Initialisation of Light Penetration  !   
     
    345379            ENDIF 
    346380            ! 
     381         ENDIF 
    347382            !                             ! ---------------------------------- ! 
    348          ELSE                             !    2 bands    light penetration    ! 
     383         IF( ln_qsr_2bd ) THEN            !    2 bands    light penetration    ! 
    349384            !                             ! ---------------------------------- ! 
    350385            ! 
Note: See TracChangeset for help on using the changeset viewer.