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 6772 for branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/TRP – NEMO

Ignore:
Timestamp:
2016-07-01T18:02:45+02:00 (8 years ago)
Author:
cbricaud
Message:

clean in coarsening branch

Location:
branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/TRP
Files:
1 deleted
4 edited

Legend:

Unmodified
Added
Removed
  • branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/TRP/trcadv_crs.F90

    r5105 r6772  
    2929   USE crs , ONLY : e2e3u_msk , e1e3v_msk , e1e2w_msk,jpi_crs,jpj_crs 
    3030   USE timing 
     31   USE iom, ONLY: iom_put,iom_swap 
    3132 
    3233   IMPLICIT NONE 
     
    9798#endif 
    9899 
    99   !    IF(lwp) WRITE(numout,*) 'TEST', e1e2t 
    100       !                                                   ! effective transport 
    101 !         IF(lwp) WRITE(numout,*) 'un', maxval(un(:,:,:)) 
    102 !         IF(lwp) WRITE(numout,*) 'un', minval(un(:,:,:)) 
    103 !         IF(lwp) WRITE(numout,*) 'vn', maxval(vn(:,:,:)) 
    104 !         IF(lwp) WRITE(numout,*) 'vn', minval(vn(:,:,:)) 
    105 !         IF(lwp) WRITE(numout,*) 'wn', maxval(wn(:,:,:)) 
    106 !         IF(lwp) WRITE(numout,*) 'wn', minval(wn(:,:,:)) 
    107100      DO jk = 1, jpkm1 
    108101         !                                                ! eulerian transport only 
     
    113106      END DO 
    114107 
    115          IF(lwp)WRITE(numout,*)"jpi_crs jpj_crs jpk ",jpi_crs,jpj_crs,jpk 
    116          DO jk=1,jpk 
    117            DO jj = 1, jpj_crs 
    118                DO ji = 1, jpi_crs 
    119                   IF( zwn(ji,jj,jk) .NE. zwn(ji,jj,jk) )WRITE(narea+200,*)"trcadv_zwn",zwn(ji,jj,jk) ; call flush(narea+200) 
    120                END DO 
    121             END DO 
    122          END DO 
    123  
    124  
    125108      zwn(:,:,jpk) = 0.e0                                 ! no transport trough the bottom 
    126109 
     
    129112      ! 
    130113      SELECT CASE ( nadv )                            !==  compute advection trend and add it to general trend  ==! 
    131 !cbr      CASE ( 1 )   ;    CALL tra_adv_cen2  ( kt, nittrc000, 'TRC',       zun, zvn, zwn, trb, trn, tra, jptra )   !  2nd order centered 
    132114      CASE ( 2 )   ;    CALL tra_adv_tvd_crs   ( kt, nittrc000, 'TRC', r2dt, zun, zvn, zwn, trb, trn, tra, jptra )   !  TVD  
    133 !cbr      CASE ( 3 )   ;    CALL tra_adv_muscl ( kt, nittrc000, 'TRC', r2dt, zun, zvn, zwn, trb,      tra, jptra )   !  MUSCL  
    134 !cbr      CASE ( 4 )   ;    CALL tra_adv_muscl2( kt, nittrc000, 'TRC', r2dt, zun, zvn, zwn, trb, trn, tra, jptra )   !  MUSCL2  
    135 !cbr      CASE ( 5 )   ;    CALL tra_adv_ubs   ( kt, nittrc000, 'TRC', r2dt, zun, zvn, zwn, trb, trn, tra, jptra )   !  UBS  
    136 !cbr      CASE ( 6 )   ;    CALL tra_adv_qck   ( kt, nittrc000, 'TRC', r2dt, zun, zvn, zwn, trb, trn, tra, jptra )   !  QUICKEST  
    137115      ! 
    138116      CASE (-1 )                                      !==  esopa: test all possibility with control print  ==! 
    139 !         CALL tra_adv_cen2  ( kt, nittrc000, 'TRC',       zun, zvn, zwn, trb, trn, tra, jptra )           
    140 !         WRITE(charout, FMT="('adv1')")  ; CALL prt_ctl_trc_info(charout) 
    141 !                                           CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm,clinfo2='trd') 
    142117         CALL tra_adv_tvd_crs   ( kt, nittrc000, 'TRC', r2dt, zun, zvn, zwn, trb, trn, tra, jptra )           
    143118         WRITE(charout, FMT="('adv2')")  ; CALL prt_ctl_trc_info(charout) 
    144                                            CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm,clinfo2='trd') 
    145 !         CALL tra_adv_muscl ( kt, nittrc000, 'TRC', r2dt, zun, zvn, zwn, trb,      tra, jptra )           
    146 !         WRITE(charout, FMT="('adv3')")  ; CALL prt_ctl_trc_info(charout) 
    147 !                                           CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm,clinfo2='trd') 
    148 !         CALL tra_adv_muscl2( kt, nittrc000, 'TRC', r2dt, zun, zvn, zwn, trb, trn, tra, jptra )           
    149 !         WRITE(charout, FMT="('adv4')")  ; CALL prt_ctl_trc_info(charout) 
    150 !                                           CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm,clinfo2='trd') 
    151 !         CALL tra_adv_ubs   ( kt, nittrc000, 'TRC', r2dt, zun, zvn, zwn, trb, trn, tra, jptra )           
    152 !         WRITE(charout, FMT="('adv5')")  ; CALL prt_ctl_trc_info(charout) 
    153 !                                           CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm,clinfo2='trd') 
    154 !         CALL tra_adv_qck   ( kt, nittrc000, 'TRC', r2dt, zun, zvn, zwn, trb, trn, tra, jptra )           
    155 !         WRITE(charout, FMT="('adv6')")  ; CALL prt_ctl_trc_info(charout) 
    156119                                           CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm,clinfo2='trd') 
    157120         ! 
  • branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/TRP/trcnxt.F90

    r5602 r6772  
    2727   !!---------------------------------------------------------------------- 
    2828   USE oce_trc         ! ocean dynamics and tracers variables 
    29    USE trc             ! ocean passive tracers variables 
     29   USE trc, ONLY : nittrc000, tra, jptra,rdttrc,trb, trn,tra,ctrcnm            ! ocean passive tracers variables 
    3030   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
    3131   USE prtctl_trc      ! Print control for debbuging 
     
    3636   USE agrif_top_interp 
    3737# endif 
     38   USE crs, ONLY : ln_crs_top 
     39   USE ieee_arithmetic 
    3840 
    3941   IMPLICIT NONE 
     
    8991      INTEGER, INTENT( in ) ::   kt     ! ocean time-step index 
    9092      ! 
    91       INTEGER  ::   jk, jn   ! dummy loop indices 
     93      INTEGER  ::   ji,jj,jk, jn   ! dummy loop indices 
    9294      REAL(wp) ::   zfact            ! temporary scalar 
    9395      CHARACTER (len=22) :: charout 
     
    137139      ELSE 
    138140         ! Leap-Frog + Asselin filter time stepping 
    139          IF( lk_vvl ) THEN   ;   CALL tra_nxt_vvl( kt, nittrc000, rdttrc, 'TRC', trb, trn, tra,      & 
    140            &                                                                sbc_trc, sbc_trc_b, jptra )      ! variable volume level (vvl)  
    141          ELSE                ;   CALL tra_nxt_fix( kt, nittrc000,         'TRC', trb, trn, tra, jptra )      ! fixed    volume level  
     141         IF( lk_vvl ) THEN    
     142 
     143            IF( ln_crs_top )THEN  
     144               CALL tra_nxt_vvl_crs( kt, nittrc000, rdttrc, 'TRC', trb, trn, tra,      & 
     145              &                                              sbc_trc, sbc_trc_b, jptra )      ! variable volume level (vvl)  
     146            ELSE 
     147               CALL tra_nxt_vvl( kt, nittrc000, rdttrc, 'TRC', trb, trn, tra,      & 
     148              &                                          sbc_trc, sbc_trc_b, jptra )      ! variable volume level (vvl)  
     149            ENDIF 
     150         ELSE                   ;   CALL tra_nxt_fix( kt, nittrc000,         'TRC', trb, trn, tra, jptra )      ! fixed    volume level  
    142151         ENDIF 
    143152      ENDIF 
  • branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/TRP/trcsbc.F90

    r6101 r6772  
    1717   !!---------------------------------------------------------------------- 
    1818   USE oce_trc         ! ocean dynamics and active tracers variables 
    19    USE trc             ! ocean  passive tracers variables 
     19   USE trc , ONLY  : trn,tra,ln_top_euler,rdttrc,nittrc000,ln_rsttr,numrtr,ctrcnm,jptra,numrtw,nn_ice_tr,lrst_trc 
    2020   USE prtctl_trc      ! Print control for debbuging 
    21    USE iom, ONLY : iom_varid, iom_get, iom_rstput,jpdom_autoglo 
     21   USE iom  , ONLY : iom_varid, iom_get, iom_rstput,jpdom_autoglo 
    2222   USE trd_oce 
    2323   USE trdtra 
     24   USE ieee_arithmetic 
    2425 
    2526   IMPLICIT NONE 
     
    135136 
    136137      ! 0. initialization 
     138      sbc_trc(:,:,:)=0._wp 
    137139      DO jn = 1, jptra 
    138140         ! 
  • branches/2015/dev_r5003_MERCATOR6_CRS/NEMOGCM/NEMO/TOP_SRC/TRP/trctrp.F90

    r6101 r6772  
    1414   !!---------------------------------------------------------------------- 
    1515   USE oce_trc         ! ocean dynamics and active tracers variables 
     16   USE crs, ONLY: fmmflx_crs 
    1617   USE trc             ! ocean passive tracers variables  
    1718   USE trcnam_trp      ! passive tracers transport namelist variables 
     
    3132   USE trcrad          ! positivity                          (trc_rad routine) 
    3233   USE trcsbc          ! surface boundary condition          (trc_sbc routine) 
    33    USE trcsbc_crs      ! surface boundary condition          (trc_sbc routine) 
    3434   USE zpshde          ! partial step: hor. derivative       (zps_hde routine) 
    3535   USE zpshde_crs      ! partial step: hor. derivative       (zps_hde routine) 
    3636   USE dom_oce , ONLY : ln_crs, ln_isfcav 
    37    USE crs     , ONLY : jpi_crs,jpj_crs,wn_crs,ln_crs_top !cbr 
     37   USE crs     , ONLY : jpi_crs,jpj_crs,wn_crs,ln_crs_top,sbc_trc_crs,sbc_trc_b_crs 
    3838   USE ldfslp_crs 
    3939#if defined key_agrif 
     
    4141   USE agrif_top_update ! tracers updates 
    4242#endif 
     43   USE ieee_arithmetic 
    4344 
    4445   IMPLICIT NONE 
     
    7576      IF( .NOT. lk_c1d ) THEN 
    7677         ! 
    77          IF( ln_crs_top ) THEN ;    CALL trc_sbc_crs( kstp ) 
    78          ELSE              ;    CALL trc_sbc( kstp ) 
    79          ENDIF 
     78         CALL test(kstp,1) 
     79                               CALL trc_sbc( kstp ) 
     80         CALL test(kstp,2) 
    8081         IF( ln_crs_top ) THEN ;    CALL trc_bbl_crs( kstp ) 
    8182         ELSE              ;    CALL trc_bbl( kstp ) 
     
    8384         IF( ln_trcdmp )        CALL trc_dmp( kstp )            ! internal damping trends 
    8485 
     86         CALL test(kstp,3) 
    8587         IF( ln_crs_top ) THEN ;    CALL trc_adv_crs( kstp ) 
    8688         ELSE              ;    CALL trc_adv( kstp ) 
    8789         ENDIF 
    8890 
     91         CALL test(kstp,4) 
    8992         IF( ln_trcdmp_clo )    CALL trc_dmp_clo( kstp )        ! internal damping trends on closed seas only 
    9093         IF( ln_crs_top ) THEN ;    CALL trc_ldf_crs( kstp ) 
    9194         ELSE              ;    CALL trc_ldf( kstp ) 
    9295         ENDIF 
     96         CALL test(kstp,5) 
    9397         IF( .NOT. lk_offline .AND. lk_zdfkpp )    & 
    9498            &                   CALL trc_kpp( kstp )            ! KPP non-local tracer fluxes 
     
    99103         ELSE              ;    CALL trc_zdf( kstp ) 
    100104         ENDIF 
     105         CALL test(kstp,6) 
     106 
    101107                                CALL trc_nxt( kstp )            ! tracer fields at next time step      
     108         CALL test(kstp,10) 
    102109         IF( ln_trcrad )        CALL trc_rad( kstp )            ! Correct artificial negative concentrations 
    103110 
     
    132139      ! 
    133140   END SUBROUTINE trc_trp 
     141 
    134142   SUBROUTINE test(kt,i) 
    135143   INTEGER,INTENT(IN) :: kt,i 
    136144   REAL(wp)::zmin,zmax 
    137    INTEGER :: ii,jj,kk 
     145   INTEGER :: ji,jj,jk 
    138146   zmin=MINVAL( trb(2:jpi-1,2:jpj-1,:,1),mask=(tmask(2:jpi-1,2:jpj-1,:)==1)) ; CALL mpp_min(zmin) 
    139147   zmax=MAXVAL( trb(2:jpi-1,2:jpj-1,:,1),mask=(tmask(2:jpi-1,2:jpj-1,:)==1)) ; CALL mpp_max(zmax) 
     
    145153   zmax=MAXVAL( tra(2:jpi-1,2:jpj-1,:,1),mask=(tmask(2:jpi-1,2:jpj-1,:)==1)) ; CALL mpp_max(zmax) 
    146154   IF(lwp)WRITE(numout,*)"trctrp a ",kt,i,zmin,zmax    
    147    zmin=MINVAL( tra(2:jpi-1,2:jpj-1,30,1),mask=(tmask(2:jpi-1,2:jpj-1,30)==1)) ; CALL mpp_min(zmin) 
    148    zmax=MAXVAL( tra(2:jpi-1,2:jpj-1,30,1),mask=(tmask(2:jpi-1,2:jpj-1,30)==1)) ; CALL mpp_max(zmax) 
    149155 
    150156   END SUBROUTINE test 
Note: See TracChangeset for help on using the changeset viewer.