Changeset 5336


Ignore:
Timestamp:
2015-06-03T08:59:38+02:00 (5 years ago)
Author:
cetlod
Message:

dev_r5204_CNRS_PISCES_dcy : some bugfix to improve passive tracers conservation + adding the tracer unit vector in MY_TRC

Location:
branches/2015/dev_r5204_CNRS_PISCES_dcy/NEMOGCM/NEMO
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/2015/dev_r5204_CNRS_PISCES_dcy/NEMOGCM/NEMO/OPA_SRC/TRA/tranxt.F90

    r4990 r5336  
    143143      ELSE                                            ! Leap-Frog + Asselin filter time stepping 
    144144         ! 
    145          IF( lk_vvl )  THEN   ;   CALL tra_nxt_vvl( kt, nit000, 'TRA', tsb, tsn, tsa, jpts )  ! variable volume level (vvl)      
    146          ELSE                 ;   CALL tra_nxt_fix( kt, nit000, 'TRA', tsb, tsn, tsa, jpts )  ! fixed    volume level  
     145         IF( lk_vvl )  THEN   ;   CALL tra_nxt_vvl( kt, nit000, rdttra, 'TRA', tsb, tsn, tsa, jpts )  ! variable volume level (vvl)      
     146         ELSE                 ;   CALL tra_nxt_fix( kt, nit000,         'TRA', tsb, tsn, tsa, jpts )  ! fixed    volume level  
    147147         ENDIF 
    148148      ENDIF  
     
    241241 
    242242 
    243    SUBROUTINE tra_nxt_vvl( kt, kit000, cdtype, ptb, ptn, pta, kjpt ) 
     243   SUBROUTINE tra_nxt_vvl( kt, kit000, p2dt, cdtype, ptb, ptn, pta, kjpt ) 
    244244      !!---------------------------------------------------------------------- 
    245245      !!                   ***  ROUTINE tra_nxt_vvl  *** 
     
    267267      INTEGER         , INTENT(in   )                               ::   kt       ! ocean time-step index 
    268268      INTEGER         , INTENT(in   )                               ::   kit000   ! first time step index 
     269      REAL(wp)        , INTENT(in   ), DIMENSION(jpk)               ::   p2dt     ! time-step 
    269270      CHARACTER(len=3), INTENT(in   )                               ::   cdtype   ! =TRA or TRC (tracer indicator) 
    270271      INTEGER         , INTENT(in   )                               ::   kjpt     ! number of tracers 
     
    297298      DO jn = 1, kjpt       
    298299         DO jk = 1, jpkm1 
    299             zfact1 = atfp * rdttra(jk) 
     300            zfact1 = atfp * p2dt(jk) 
    300301            zfact2 = zfact1 / rau0 
    301302            DO jj = 1, jpj 
     
    315316                  ztc_f  = ztc_n  + atfp * ztc_d 
    316317                  ! 
    317                   IF( ll_tra .AND. jk == 1 ) THEN           ! first level only for T & S 
    318                       ze3t_f = ze3t_f - zfact2 * ( emp_b(ji,jj) - emp(ji,jj) ) 
    319                       ztc_f  = ztc_f  - zfact1 * ( sbc_tsc(ji,jj,jn) - sbc_tsc_b(ji,jj,jn) ) 
     318                  IF( jk == 1 ) THEN           ! first level  
     319                                  ze3t_f = ze3t_f - zfact2 * ( emp_b(ji,jj) - emp(ji,jj) ) 
     320                     IF( ll_tra ) ztc_f  = ztc_f  - zfact1 * ( sbc_tsc(ji,jj,jn) - sbc_tsc_b(ji,jj,jn) ) 
    320321                  ENDIF 
    321322                  IF( ll_traqsr .AND. jn == jp_tem .AND. jk <= nksr )   &     ! solar penetration (temperature only) 
  • branches/2015/dev_r5204_CNRS_PISCES_dcy/NEMOGCM/NEMO/TOP_SRC/MY_TRC/trcini_my_trc.F90

    r2787 r5336  
    4242 
    4343      IF(lwp) WRITE(numout,*) 
    44       IF(lwp) WRITE(numout,*) ' trc_ini_my_trc: initialisation of MY_TRC model' 
     44      IF(lwp) WRITE(numout,*) ' trc_ini_my_trc: passive tracer unit vector' 
     45      IF(lwp) WRITE(numout,*) ' To check conservation : ' 
     46      IF(lwp) WRITE(numout,*) '   1 - No sea-ice model ' 
     47      IF(lwp) WRITE(numout,*) '   2 - No runoff '  
     48      IF(lwp) WRITE(numout,*) '   3 - precipitation and evaporation equal to 1 : E=P=1 '  
    4549      IF(lwp) WRITE(numout,*) ' ~~~~~~~~~~~~~~' 
    4650       
    47       IF( .NOT. ln_rsttr ) trn(:,:,:,jp_myt0:jp_myt1) = 0. 
     51      IF( .NOT. ln_rsttr ) trn(:,:,:,jp_myt0:jp_myt1) = 1. 
    4852      ! 
    4953   END SUBROUTINE trc_ini_my_trc 
  • branches/2015/dev_r5204_CNRS_PISCES_dcy/NEMOGCM/NEMO/TOP_SRC/MY_TRC/trcsms_my_trc.F90

    r4990 r5336  
    4646      INTEGER ::   jn   ! dummy loop index 
    4747      REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrmyt 
    48 !!---------------------------------------------------------------------- 
     48      !!---------------------------------------------------------------------- 
    4949      ! 
    5050      IF( nn_timing == 1 )  CALL timing_start('trc_sms_my_trc') 
     
    5555 
    5656      IF( l_trdtrc )  CALL wrk_alloc( jpi, jpj, jpk, ztrmyt ) 
    57  
    58       WHERE( (glamt <= 170) .AND. (glamt >= 160) .AND. (gphit <= -74) .AND. (gphit >=-75.6) ) 
    59         trn(:,:,1,jpmyt1) = 1._wp 
    60         trb(:,:,1,jpmyt1) = 1._wp 
    61         tra(:,:,1,jpmyt1) = 0._wp 
    62       END WHERE 
    6357 
    6458      IF( l_trdtrc ) THEN      ! Save the trends in the ixed layer 
  • branches/2015/dev_r5204_CNRS_PISCES_dcy/NEMOGCM/NEMO/TOP_SRC/TRP/trcnxt.F90

    r4990 r5336  
    137137      ELSE 
    138138         ! Leap-Frog + Asselin filter time stepping 
    139          IF( lk_vvl ) THEN   ;   CALL tra_nxt_vvl( kt, nittrc000, 'TRC', trb, trn, tra, jptra )      ! variable volume level (vvl)  
    140          ELSE                ;   CALL tra_nxt_fix( kt, nittrc000, 'TRC', trb, trn, tra, jptra )      ! fixed    volume level  
     139         IF( lk_vvl ) THEN   ;   CALL tra_nxt_vvl( kt, nittrc000, rdttrc, 'TRC', trb, trn, tra, jptra )      ! variable volume level (vvl)  
     140         ELSE                ;   CALL tra_nxt_fix( kt, nittrc000,         'TRC', trb, trn, tra, jptra )      ! fixed    volume level  
    141141         ENDIF 
    142142      ENDIF 
Note: See TracChangeset for help on using the changeset viewer.