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 3718 – NEMO

Changeset 3718


Ignore:
Timestamp:
2012-11-30T16:15:07+01:00 (11 years ago)
Author:
cetlod
Message:

dev_MERGE_2012 : modification in MUSCL routines ; needed to be able to use the upstream parametisation with passive tracers

Location:
branches/2012/dev_MERGE_2012/NEMOGCM
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • branches/2012/dev_MERGE_2012/NEMOGCM/CONFIG/GYRE_BFM/EXP00/namelist_top

    r3478 r3718  
    2929&namtrc_adv    !   advection scheme for passive tracer  
    3030!----------------------------------------------------------------------- 
    31    ln_trcadv_cen2   =  .false.  !  2nd order centered scheme    
    32    ln_trcadv_tvd    =  .true.  !  TVD scheme 
    33    ln_trcadv_muscl  =  .false.   !  MUSCL scheme 
    34    ln_trcadv_muscl2 =  .false.  !  MUSCL2 scheme + cen2 at boundaries 
    35    ln_trcadv_ubs    =  .false.  !  UBS scheme 
    36    ln_trcadv_qck    =  .false.  !  QUICKEST scheme 
     31   ln_trcadv_cen2    =  .false.  !  2nd order centered scheme    
     32   ln_trcadv_tvd     =  .true.   !  TVD scheme 
     33   ln_trcadv_muscl   =  .false.  !  MUSCL scheme 
     34   ln_trcadv_muscl2  =  .false.  !  MUSCL2 scheme + cen2 at boundaries 
     35   ln_trcadv_ubs     =  .false.  !  UBS scheme 
     36   ln_trcadv_qck     =  .false.  !  QUICKEST scheme 
     37   ln_trcadv_msc_ups =  .false.  !  use upstream scheme within muscl 
    3738/ 
    3839!----------------------------------------------------------------------- 
  • branches/2012/dev_MERGE_2012/NEMOGCM/CONFIG/GYRE_PISCES/EXP00/namelist_top

    r3464 r3718  
    4646&namtrc_adv    !   advection scheme for passive tracer  
    4747!----------------------------------------------------------------------- 
    48    ln_trcadv_cen2   =  .false.  !  2nd order centered scheme    
    49    ln_trcadv_tvd    =  .true.   !  TVD scheme 
    50    ln_trcadv_muscl  =  .false.  !  MUSCL scheme 
    51    ln_trcadv_muscl2 =  .false.  !  MUSCL2 scheme + cen2 at boundaries 
    52    ln_trcadv_ubs    =  .false.  !  UBS scheme 
    53    ln_trcadv_qck    =  .false.  !  QUICKEST scheme 
     48   ln_trcadv_cen2    =  .false.  !  2nd order centered scheme    
     49   ln_trcadv_tvd     =  .true.   !  TVD scheme 
     50   ln_trcadv_muscl   =  .false.  !  MUSCL scheme 
     51   ln_trcadv_muscl2  =  .false.  !  MUSCL2 scheme + cen2 at boundaries 
     52   ln_trcadv_ubs     =  .false.  !  UBS scheme 
     53   ln_trcadv_qck     =  .false.  !  QUICKEST scheme 
     54   ln_trcadv_msc_ups =  .false.  !  use upstream scheme within muscl 
    5455/ 
    5556!----------------------------------------------------------------------- 
  • branches/2012/dev_MERGE_2012/NEMOGCM/CONFIG/ORCA2_LIM_CFC_C14b/EXP00/namelist_top

    r3567 r3718  
    3939&namtrc_adv    !   advection scheme for passive tracer  
    4040!----------------------------------------------------------------------- 
    41    ln_trcadv_cen2   =  .false.  !  2nd order centered scheme    
    42    ln_trcadv_tvd    =  .true.  !  TVD scheme 
    43    ln_trcadv_muscl  =  .false.   !  MUSCL scheme 
    44    ln_trcadv_muscl2 =  .false.  !  MUSCL2 scheme + cen2 at boundaries 
    45    ln_trcadv_ubs    =  .false.  !  UBS scheme 
    46    ln_trcadv_qck    =  .false.  !  QUICKEST scheme 
     41   ln_trcadv_cen2    =  .false.  !  2nd order centered scheme    
     42   ln_trcadv_tvd     =  .true.   !  TVD scheme 
     43   ln_trcadv_muscl   =  .false.  !  MUSCL scheme 
     44   ln_trcadv_muscl2  =  .false.  !  MUSCL2 scheme + cen2 at boundaries 
     45   ln_trcadv_ubs     =  .false.  !  UBS scheme 
     46   ln_trcadv_qck     =  .false.  !  QUICKEST scheme 
     47   ln_trcadv_msc_ups =  .false.  !  use upstream scheme within muscl 
    4748/ 
    4849!----------------------------------------------------------------------- 
  • branches/2012/dev_MERGE_2012/NEMOGCM/CONFIG/ORCA2_LIM_PISCES/EXP00/namelist_top

    r3680 r3718  
    7979&namtrc_adv    !   advection scheme for passive tracer  
    8080!----------------------------------------------------------------------- 
    81    ln_trcadv_cen2   =  .false.  !  2nd order centered scheme    
    82    ln_trcadv_tvd    =  .false.  !  TVD scheme 
    83    ln_trcadv_muscl  =  .true.   !  MUSCL scheme 
    84    ln_trcadv_muscl2 =  .false.  !  MUSCL2 scheme + cen2 at boundaries 
    85    ln_trcadv_ubs    =  .false.  !  UBS scheme 
    86    ln_trcadv_qck    =  .false.  !  QUICKEST scheme 
    87    ln_traadv_msc_ups=  .false.  !  use upstream scheme within muscl 
     81   ln_trcadv_cen2    =  .false.  !  2nd order centered scheme    
     82   ln_trcadv_tvd     =  .false.  !  TVD scheme 
     83   ln_trcadv_muscl   =  .true.   !  MUSCL scheme 
     84   ln_trcadv_muscl2  =  .false.  !  MUSCL2 scheme + cen2 at boundaries 
     85   ln_trcadv_ubs     =  .false.  !  UBS scheme 
     86   ln_trcadv_qck     =  .false.  !  QUICKEST scheme 
     87   ln_trcadv_msc_ups =  .false.  !  use upstream scheme within muscl 
    8888/ 
    8989!----------------------------------------------------------------------- 
  • branches/2012/dev_MERGE_2012/NEMOGCM/CONFIG/ORCA2_OFF_PISCES/EXP00/namelist_top

    r3680 r3718  
    7777&namtrc_adv    !   advection scheme for passive tracer  
    7878!----------------------------------------------------------------------- 
    79    ln_trcadv_cen2   =  .false.  !  2nd order centered scheme    
    80    ln_trcadv_tvd    =  .false.  !  TVD scheme 
    81    ln_trcadv_muscl  =  .true.   !  MUSCL scheme 
    82    ln_trcadv_muscl2 =  .false.  !  MUSCL2 scheme + cen2 at boundaries 
    83    ln_trcadv_ubs    =  .false.  !  UBS scheme 
    84    ln_trcadv_qck    =  .false.  !  QUICKEST scheme 
    85    ln_traadv_msc_ups=  .false.  !  use upstream scheme within muscl 
     79   ln_trcadv_cen2    =  .false.  !  2nd order centered scheme    
     80   ln_trcadv_tvd     =  .false.  !  TVD scheme 
     81   ln_trcadv_muscl   =  .true.   !  MUSCL scheme 
     82   ln_trcadv_muscl2  =  .false.  !  MUSCL2 scheme + cen2 at boundaries 
     83   ln_trcadv_ubs     =  .false.  !  UBS scheme 
     84   ln_trcadv_qck     =  .false.  !  QUICKEST scheme 
     85   ln_trcadv_msc_ups =  .false.  !  use upstream scheme within muscl 
    8686/ 
    8787!----------------------------------------------------------------------- 
  • branches/2012/dev_MERGE_2012/NEMOGCM/NEMO/OPA_SRC/TRA/traadv.F90

    r3680 r3718  
    4444   LOGICAL ::   ln_traadv_ubs    = .FALSE.   ! UBS scheme flag 
    4545   LOGICAL ::   ln_traadv_qck    = .FALSE.   ! QUICKEST scheme flag 
     46   LOGICAL ::   ln_traadv_msc_ups= .FALSE.   ! use upstream scheme within muscl 
    4647 
    4748 
     
    105106      CASE ( 1 )   ;    CALL tra_adv_cen2  ( kt, nit000, 'TRA',         zun, zvn, zwn, tsb, tsn, tsa, jpts )   !  2nd order centered 
    106107      CASE ( 2 )   ;    CALL tra_adv_tvd   ( kt, nit000, 'TRA', r2dtra, zun, zvn, zwn, tsb, tsn, tsa, jpts )   !  TVD  
    107       CASE ( 3 )   ;    CALL tra_adv_muscl ( kt, nit000, 'TRA', r2dtra, zun, zvn, zwn, tsb,      tsa, jpts )   !  MUSCL  
     108      CASE ( 3 )   ;    CALL tra_adv_muscl ( kt, nit000, 'TRA', r2dtra, zun, zvn, zwn, tsb,      tsa, jpts, ln_traadv_msc_ups )   !  MUSCL  
    108109      CASE ( 4 )   ;    CALL tra_adv_muscl2( kt, nit000, 'TRA', r2dtra, zun, zvn, zwn, tsb, tsn, tsa, jpts )   !  MUSCL2  
    109110      CASE ( 5 )   ;    CALL tra_adv_ubs   ( kt, nit000, 'TRA', r2dtra, zun, zvn, zwn, tsb, tsn, tsa, jpts )   !  UBS  
     
    117118         CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' adv1 - Ta: ', mask1=tmask,               & 
    118119            &          tab3d_2=tsa(:,:,:,jp_sal), clinfo2=       ' Sa: ', mask2=tmask, clinfo3='tra' ) 
    119          CALL tra_adv_muscl ( kt, nit000, 'TRA', r2dtra, zun, zvn, zwn, tsb,      tsa, jpts )           
     120         CALL tra_adv_muscl ( kt, nit000, 'TRA', r2dtra, zun, zvn, zwn, tsb,      tsa, jpts, ln_traadv_msc_ups )           
    120121         CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' adv3 - Ta: ', mask1=tmask,               & 
    121122            &          tab3d_2=tsa(:,:,:,jp_sal), clinfo2=       ' Sa: ', mask2=tmask, clinfo3='tra' ) 
     
    165166         WRITE(numout,*) '~~~~~~~~~~~' 
    166167         WRITE(numout,*) '   Namelist namtra_adv : chose a advection scheme for tracers' 
    167          WRITE(numout,*) '      2nd order advection scheme     ln_traadv_cen2   = ', ln_traadv_cen2 
    168          WRITE(numout,*) '      TVD advection scheme           ln_traadv_tvd    = ', ln_traadv_tvd 
    169          WRITE(numout,*) '      MUSCL  advection scheme        ln_traadv_muscl  = ', ln_traadv_muscl 
    170          WRITE(numout,*) '      MUSCL2 advection scheme        ln_traadv_muscl2 = ', ln_traadv_muscl2 
    171          WRITE(numout,*) '      UBS    advection scheme        ln_traadv_ubs    = ', ln_traadv_ubs 
    172          WRITE(numout,*) '      QUICKEST advection scheme      ln_traadv_qck    = ', ln_traadv_qck 
    173          WRITE(numout,*) '      upstream scheme within muscl   ln_traadv_msc_ups= ', ln_traadv_msc_ups 
     168         WRITE(numout,*) '      2nd order advection scheme     ln_traadv_cen2    = ', ln_traadv_cen2 
     169         WRITE(numout,*) '      TVD advection scheme           ln_traadv_tvd     = ', ln_traadv_tvd 
     170         WRITE(numout,*) '      MUSCL  advection scheme        ln_traadv_muscl   = ', ln_traadv_muscl 
     171         WRITE(numout,*) '      MUSCL2 advection scheme        ln_traadv_muscl2  = ', ln_traadv_muscl2 
     172         WRITE(numout,*) '      UBS    advection scheme        ln_traadv_ubs     = ', ln_traadv_ubs 
     173         WRITE(numout,*) '      QUICKEST advection scheme      ln_traadv_qck     = ', ln_traadv_qck 
     174         WRITE(numout,*) '      upstream scheme within muscl   ln_traadv_msc_ups = ', ln_traadv_msc_ups 
    174175      ENDIF 
    175176 
  • branches/2012/dev_MERGE_2012/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_cen2.F90

    r3680 r3718  
    144144         IF(lwp) WRITE(numout,*) 
    145145         ! 
    146          IF (.not. ALLOCATED(upsmsk))THEN 
     146         IF ( .NOT. ALLOCATED( upsmsk ) )  THEN 
    147147             ALLOCATE( upsmsk(jpi,jpj), STAT=ierr ) 
    148148             IF( ierr /= 0 )   CALL ctl_stop('STOP', 'tra_adv_cen2: unable to allocate array') 
  • branches/2012/dev_MERGE_2012/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_muscl.F90

    r3680 r3718  
    3838 
    3939   LOGICAL  :: l_trd                        ! flag to compute trends 
    40    LOGICAL, PUBLIC  :: ln_traadv_msc_ups= .FALSE.   ! use upstream scheme within muscl 
    41  
    42    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: upsmsk !: mixed upstream/centered scheme near some straits 
     40   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) :: upsmsk !: mixed upstream/centered scheme near some straits 
    4341   !                                                             !  and in closed seas (orca 2 and 4 configurations) 
    44    REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: zind         !: mixed upstream/centered index 
     42   REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: xind         !: mixed upstream/centered index 
    4543   !! * Substitutions 
    4644#  include "domzgr_substitute.h90" 
     
    5452 
    5553   SUBROUTINE tra_adv_muscl( kt, kit000, cdtype, p2dt, pun, pvn, pwn, & 
    56       &                                        ptb, pta, kjpt ) 
     54      &                                        ptb, pta, kjpt, ld_msc_ups ) 
    5755      !!---------------------------------------------------------------------- 
    5856      !!                    ***  ROUTINE tra_adv_muscl  *** 
     
    7674      CHARACTER(len=3)                     , INTENT(in   ) ::   cdtype          ! =TRA or TRC (tracer indicator) 
    7775      INTEGER                              , INTENT(in   ) ::   kjpt            ! number of tracers 
     76      LOGICAL                              , INTENT(in   ) ::   ld_msc_ups      ! use upstream scheme within muscl 
    7877      REAL(wp), DIMENSION(        jpk     ), INTENT(in   ) ::   p2dt            ! vertical profile of tracer time-step 
    7978      REAL(wp), DIMENSION(jpi,jpj,jpk     ), INTENT(in   ) ::   pun, pvn, pwn   ! 3 ocean velocity components 
    8079      REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt), INTENT(in   ) ::   ptb             ! before tracer field 
    8180      REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt), INTENT(inout) ::   pta             ! tracer trend  
     81 
    8282      ! 
    8383      INTEGER  ::   ji, jj, jk, jn   ! dummy loop indices 
     
    9797         IF(lwp) WRITE(numout,*) 
    9898         IF(lwp) WRITE(numout,*) 'tra_adv : MUSCL advection scheme on ', cdtype 
    99          IF(lwp) WRITE(numout,*) '        : xed up-stream            ' , ln_traadv_msc_ups 
     99         IF(lwp) WRITE(numout,*) '        : mixed up-stream           ', ld_msc_ups 
    100100         IF(lwp) WRITE(numout,*) '~~~~~~~' 
    101101         IF(lwp) WRITE(numout,*) 
    102102         ! 
    103103         ! 
    104          IF(ln_traadv_msc_ups) THEN 
    105            IF (.not. ALLOCATED(upsmsk))THEN 
    106                ALLOCATE( upsmsk(jpi,jpj), STAT=ierr ) 
    107                IF( ierr /= 0 )   CALL ctl_stop('STOP', 'tra_adv_muscl: unable to allocate upsmsk array') 
    108            ENDIF 
    109            upsmsk(:,:) = 0._wp                             ! not upstream by default 
     104         IF( ld_msc_ups ) THEN 
     105            IF( .NOT. ALLOCATED( upsmsk ) )  THEN 
     106                ALLOCATE( upsmsk(jpi,jpj), STAT=ierr ) 
     107                IF( ierr /= 0 )   CALL ctl_stop('STOP', 'tra_adv_muscl: unable to allocate upsmsk array') 
     108            ENDIF 
     109            upsmsk(:,:) = 0._wp                             ! not upstream by default 
    110110         ENDIF 
    111111 
    112          IF (.not. ALLOCATED(zind))THEN 
    113              ALLOCATE( zind(jpi,jpj,jpk), STAT=ierr ) 
     112         IF( .NOT. ALLOCATED( xind ) ) THEN 
     113             ALLOCATE( xind(jpi,jpj,jpk), STAT=ierr ) 
    114114             IF( ierr /= 0 )   CALL ctl_stop('STOP', 'tra_adv_muscl: unable to allocate zind array') 
    115115         ENDIF 
     
    119119         IF( ( cdtype == 'TRA' .AND. l_trdtra ) .OR. ( cdtype == 'TRC' .AND. l_trdtrc ) ) l_trd = .TRUE. 
    120120 
    121       ! 
    122       ! Upstream / centered scheme indicator 
    123       ! ------------------------------------ 
    124          zind(:,:,:) = 1._wp                             ! set equal to 0 where up-stream is needed 
    125  
    126          IF(ln_traadv_msc_ups) THEN 
    127            DO jk = 1, jpk 
    128               DO jj = 1, jpj 
    129                  DO ji = 1, jpi 
    130                     zind(ji,jj,jk) = 1  - MAX (           & 
    131                        rnfmsk(ji,jj) * rnfmsk_z(jk),      &  ! near runoff mouths (& closed sea outflows) 
    132                        upsmsk(ji,jj) ) * tmask(ji,jj,jk)     ! some of some straits 
    133                  END DO 
    134               END DO 
    135            END DO 
     121         ! 
     122         ! Upstream / centered scheme indicator 
     123         ! ------------------------------------ 
     124         xind(:,:,:) = 1._wp                             ! set equal to 1 where up-stream is not needed 
     125         ! 
     126         IF( ld_msc_ups ) THEN 
     127            DO jk = 1, jpk 
     128               DO jj = 1, jpj 
     129                  DO ji = 1, jpi 
     130                     xind(ji,jj,jk) = 1  - MAX (           & 
     131                        rnfmsk(ji,jj) * rnfmsk_z(jk),      &  ! near runoff mouths (& closed sea outflows) 
     132                        upsmsk(ji,jj) ) * tmask(ji,jj,jk)     ! some of some straits 
     133                  END DO 
     134               END DO 
     135            END DO 
    136136         ENDIF  
    137       ! 
    138       ENDIF ! end kit000 
     137         ! 
     138      ENDIF  
    139139      !                                                     ! =========== 
    140140      DO jn = 1, kjpt                                       ! tracer loop 
     
    191191                  zalpha = 0.5 - z0u 
    192192                  zu  = z0u - 0.5 * pun(ji,jj,jk) * zdt / ( e1u(ji,jj) * e2u(ji,jj) * fse3u(ji,jj,jk) ) 
    193                   zzwx = ptb(ji+1,jj,jk,jn) + zind(ji,jj,jk) * (zu * zslpx(ji+1,jj,jk)) 
    194                   zzwy = ptb(ji  ,jj,jk,jn) + zind(ji,jj,jk) * (zu * zslpx(ji  ,jj,jk)) 
     193                  zzwx = ptb(ji+1,jj,jk,jn) + xind(ji,jj,jk) * (zu * zslpx(ji+1,jj,jk)) 
     194                  zzwy = ptb(ji  ,jj,jk,jn) + xind(ji,jj,jk) * (zu * zslpx(ji  ,jj,jk)) 
    195195                  zwx(ji,jj,jk) = pun(ji,jj,jk) * ( zalpha * zzwx + (1.-zalpha) * zzwy ) 
    196196                  ! 
     
    198198                  zalpha = 0.5 - z0v 
    199199                  zv  = z0v - 0.5 * pvn(ji,jj,jk) * zdt / ( e1v(ji,jj) * e2v(ji,jj) * fse3v(ji,jj,jk) ) 
    200                   zzwx = ptb(ji,jj+1,jk,jn) + zind(ji,jj,jk) * (zv * zslpy(ji,jj+1,jk)) 
    201                   zzwy = ptb(ji,jj  ,jk,jn) + zind(ji,jj,jk) * (zv * zslpy(ji,jj  ,jk)) 
     200                  zzwx = ptb(ji,jj+1,jk,jn) + xind(ji,jj,jk) * (zv * zslpy(ji,jj+1,jk)) 
     201                  zzwy = ptb(ji,jj  ,jk,jn) + xind(ji,jj,jk) * (zv * zslpy(ji,jj  ,jk)) 
    202202                  zwy(ji,jj,jk) = pvn(ji,jj,jk) * ( zalpha * zzwx + (1.-zalpha) * zzwy ) 
    203203               END DO 
     
    273273                  zalpha = 0.5 + z0w 
    274274                  zw  = z0w - 0.5 * pwn(ji,jj,jk+1) * zdt * zbtr  
    275                   zzwx = ptb(ji,jj,jk+1,jn) + zind(ji,jj,jk) * (zw * zslpx(ji,jj,jk+1)) 
    276                   zzwy = ptb(ji,jj,jk  ,jn) + zind(ji,jj,jk) * (zw * zslpx(ji,jj,jk  )) 
     275                  zzwx = ptb(ji,jj,jk+1,jn) + xind(ji,jj,jk) * (zw * zslpx(ji,jj,jk+1)) 
     276                  zzwy = ptb(ji,jj,jk  ,jn) + xind(ji,jj,jk) * (zw * zslpx(ji,jj,jk  )) 
    277277                  zwx(ji,jj,jk+1) = pwn(ji,jj,jk+1) * ( zalpha * zzwx + (1.-zalpha) * zzwy ) 
    278278               END DO  
  • branches/2012/dev_MERGE_2012/NEMOGCM/NEMO/TOP_SRC/TRP/trcadv.F90

    r3680 r3718  
    108108      CASE ( 1 )   ;    CALL tra_adv_cen2  ( kt, nittrc000, 'TRC',       zun, zvn, zwn, trb, trn, tra, jptra )   !  2nd order centered 
    109109      CASE ( 2 )   ;    CALL tra_adv_tvd   ( kt, nittrc000, 'TRC', r2dt, zun, zvn, zwn, trb, trn, tra, jptra )   !  TVD  
    110       CASE ( 3 )   ;    CALL tra_adv_muscl ( kt, nittrc000, 'TRC', r2dt, zun, zvn, zwn, trb,      tra, jptra )   !  MUSCL  
     110      CASE ( 3 )   ;    CALL tra_adv_muscl ( kt, nittrc000, 'TRC', r2dt, zun, zvn, zwn, trb,      tra, jptra, ln_trcadv_msc_ups )   !  MUSCL  
    111111      CASE ( 4 )   ;    CALL tra_adv_muscl2( kt, nittrc000, 'TRC', r2dt, zun, zvn, zwn, trb, trn, tra, jptra )   !  MUSCL2  
    112112      CASE ( 5 )   ;    CALL tra_adv_ubs   ( kt, nittrc000, 'TRC', r2dt, zun, zvn, zwn, trb, trn, tra, jptra )   !  UBS  
     
    120120         WRITE(charout, FMT="('adv2')")  ; CALL prt_ctl_trc_info(charout) 
    121121                                           CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm,clinfo2='trd') 
    122          CALL tra_adv_muscl ( kt, nittrc000, 'TRC', r2dt, zun, zvn, zwn, trb,      tra, jptra )           
     122         CALL tra_adv_muscl ( kt, nittrc000, 'TRC', r2dt, zun, zvn, zwn, trb,      tra, jptra, ln_trcadv_msc_ups )           
    123123         WRITE(charout, FMT="('adv3')")  ; CALL prt_ctl_trc_info(charout) 
    124124                                           CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm,clinfo2='trd') 
  • branches/2012/dev_MERGE_2012/NEMOGCM/NEMO/TOP_SRC/TRP/trcnam_trp.F90

    r3680 r3718  
    2828   LOGICAL , PUBLIC ::   ln_trcadv_ubs    = .FALSE.   ! UBS scheme flag 
    2929   LOGICAL , PUBLIC ::   ln_trcadv_qck    = .FALSE.   ! QUICKEST scheme flag 
     30   LOGICAL , PUBLIC ::   ln_trcadv_msc_ups= .FALSE.   ! use upstream scheme within muscl 
     31 
    3032 
    3133   !                                                 !!: ** lateral mixing namelist (nam_trcldf) ** 
     
    7375      NAMELIST/namtrc_adv/ ln_trcadv_cen2 , ln_trcadv_tvd   ,    & 
    7476         &                 ln_trcadv_muscl, ln_trcadv_muscl2,    & 
    75          &                 ln_trcadv_ubs  , ln_trcadv_qck 
     77         &                 ln_trcadv_ubs  , ln_trcadv_qck, ln_trcadv_msc_ups 
    7678 
    7779      NAMELIST/namtrc_ldf/ ln_trcldf_diff , ln_trcldf_lap  ,     & 
Note: See TracChangeset for help on using the changeset viewer.