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 6570 for branches/CNRS/dev_r6568_Subduction_Diagnostics/NEMOGCM/NEMO/TOP_SRC/TRP – NEMO

Ignore:
Timestamp:
2016-05-19T13:13:27+02:00 (8 years ago)
Author:
cetlod
Message:

1st implementation of subduction diag

Location:
branches/CNRS/dev_r6568_Subduction_Diagnostics/NEMOGCM/NEMO/TOP_SRC/TRP
Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • branches/CNRS/dev_r6568_Subduction_Diagnostics/NEMOGCM/NEMO/TOP_SRC/TRP/trcadv.F90

    r5385 r6570  
    2727   USE ldftra_oce      ! lateral diffusion coefficient on tracers 
    2828   USE prtctl_trc      ! Print control 
     29   USE diasub 
     30   USE trcdiasub 
     31 
    2932 
    3033   IMPLICIT NONE 
     
    106109      zwn(:,:,jpk) = 0._wp                                                     ! no transport trough the bottom 
    107110 
    108       IF( lk_traldf_eiv .AND. .NOT. ln_traldf_grif )   &  ! add the eiv transport (if necessary) 
    109          &              CALL tra_adv_eiv( kt, nittrc000, zun, zvn, zwn, 'TRC' ) 
     111 
     112      IF( lk_diasub )  CALL trc_dia_sub_adv( kt, zun, zvn, zwn )  ! no eiv  
     113 
     114      IF( lk_traldf_eiv .AND. .NOT. ln_traldf_grif )  THEN  ! add the eiv transport (if necessary) 
     115                          CALL tra_adv_eiv( kt, nittrc000, zun, zvn, zwn, 'TRC' ) 
     116         IF( lk_diasub )  CALL trc_dia_sub_adv_eiv( kt, zun, zvn, zwn )   
     117      ENDIF 
     118 
    110119      ! 
    111120      IF( ln_mle    )   CALL tra_adv_mle( kt, nittrc000, zun, zvn, zwn, 'TRC' )    ! add the mle transport (if necessary) 
  • branches/CNRS/dev_r6568_Subduction_Diagnostics/NEMOGCM/NEMO/TOP_SRC/TRP/trcldf.F90

    r6312 r6570  
    2828   USE trdtra 
    2929   USE prtctl_trc      ! Print control 
     30   USE diasub 
     31   USE trcdiasub 
     32 
    3033 
    3134   IMPLICIT NONE 
     
    6063      CHARACTER (len=22) :: charout 
    6164      REAL(wp), POINTER, DIMENSION(:,:,:,:) ::   ztrtrd 
     65      REAL(wp), POINTER, DIMENSION(:,:,:,:) ::   ztfu, ztfv, ztfw 
    6266      !!---------------------------------------------------------------------- 
    6367      ! 
     
    8488         ztrtrd(:,:,:,:)  = tra(:,:,:,:) 
    8589      ENDIF 
     90      ! 
     91      IF( lk_diasub ) THEN 
     92         CALL wrk_alloc( jpi, jpj, jpk, jptra, ztfu, ztfv, ztfw ) 
     93         ztfu(:,:,:,:)  = 0.   ;   ztfv(:,:,:,:)  = 0.   ;   ztfw(:,:,:,:)  = 0. 
     94      ENDIF 
    8695 
    8796      SELECT CASE ( nldf )                       ! compute lateral mixing trend and add it to the general trend 
    88       CASE ( 0 )   ;   CALL tra_ldf_lap   ( kt, nittrc000, 'TRC', gtru, gtrv, gtrui, gtrvi, trb, tra, jptra        )  ! iso-level laplacian 
    89       CASE ( 1 )                                                                                            ! rotated laplacian 
    90                        IF( ln_traldf_grif ) THEN 
    91                           CALL tra_ldf_iso_grif( kt, nittrc000, 'TRC', gtru, gtrv, trb, tra, jptra, rn_ahtb_0 ) 
    92                        ELSE 
    93                           CALL tra_ldf_iso     ( kt, nittrc000, 'TRC', gtru, gtrv, gtrui, gtrvi, trb, tra, jptra, rn_ahtb_0 ) 
    94                        ENDIF 
    95       CASE ( 2 )   ;   CALL tra_ldf_bilap ( kt, nittrc000, 'TRC', gtru, gtrv, gtrui, gtrvi, trb, tra, jptra            )  ! iso-level bilaplacian 
     97      CASE ( 0 )                                              ! iso-level laplacian 
     98         IF( lk_diasub ) THEN ; CALL tra_ldf_lap( kt, nittrc000, 'TRC', gtru, gtrv, gtrui, gtrvi, trb, tra, jptra, ztfu, ztfv, ztfw ) 
     99         ELSE                 ; CALL tra_ldf_lap( kt, nittrc000, 'TRC', gtru, gtrv, gtrui, gtrvi, trb, tra, jptra )   
     100         ENDIF 
     101      CASE ( 1 )      
     102         IF( ln_traldf_grif ) THEN 
     103            CALL tra_ldf_iso_grif( kt, nittrc000, 'TRC', gtru, gtrv, trb, tra, jptra, rn_ahtb_0 ) 
     104         ELSE 
     105            IF( lk_diasub ) THEN  
     106               CALL tra_ldf_iso( kt, nittrc000, 'TRC', gtru, gtrv, gtrui, gtrvi, trb, tra, jptra, rn_ahtb_0, ztfu, ztfv, ztfw )  
     107            ELSE                  
     108               CALL tra_ldf_iso( kt, nittrc000, 'TRC', gtru, gtrv, gtrui, gtrvi, trb, tra, jptra, rn_ahtb_0 ) 
     109            ENDIF 
     110         ENDIF 
     111      CASE ( 2 )                                               ! iso-level bilaplacian 
     112         IF( lk_diasub ) THEN ; CALL tra_ldf_bilap( kt, nittrc000, 'TRC', gtru, gtrv, gtrui, gtrvi, trb, tra, jptra, ztfu, ztfv, ztfw ) 
     113         ELSE                 ; CALL tra_ldf_bilap( kt, nittrc000, 'TRC', gtru, gtrv, gtrui, gtrvi, trb, tra, jptra )   
     114         ENDIF 
    96115      CASE ( 3 )   ;   CALL tra_ldf_bilapg( kt, nittrc000, 'TRC',             trb, tra, jptra            )  ! s-coord. horizontal bilaplacian 
    97116         ! 
     
    123142      ENDIF 
    124143      !                                          ! print mean trends (used for debugging) 
     144      IF( lk_diasub ) THEN 
     145        CALL trc_dia_sub_ldf( kt, ztfu, ztfv, ztfw ) 
     146        CALL wrk_dealloc( jpi, jpj, jpk, jptra, ztfu, ztfv, ztfw ) 
     147      ENDIF 
     148      !                                               ! print mean trends (used for debugging) 
    125149      IF( ln_ctl )   THEN 
    126150         WRITE(charout, FMT="('ldf ')") ;  CALL prt_ctl_trc_info(charout) 
  • branches/CNRS/dev_r6568_Subduction_Diagnostics/NEMOGCM/NEMO/TOP_SRC/TRP/trcrad.F90

    r4990 r6570  
    2828   !!---------------------------------------------------------------------- 
    2929   !! NEMO/TOP 3.3 , NEMO Consortium (2010) 
    30    !! $Id$  
     30   !! $Id$ 
    3131   !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 
    3232   !!---------------------------------------------------------------------- 
     
    6161      ENDIF 
    6262 
     63      IF( lk_age     )   CALL trc_rad_sms( kt, trb, trn, jp_age0 , jp_age1               )  ! AGE tracer 
    6364      IF( lk_cfc     )   CALL trc_rad_sms( kt, trb, trn, jp_cfc0 , jp_cfc1               )  ! CFC model 
    6465      IF( lk_c14b    )   CALL trc_rad_sms( kt, trb, trn, jp_c14b0, jp_c14b1              )  ! bomb C14 
  • branches/CNRS/dev_r6568_Subduction_Diagnostics/NEMOGCM/NEMO/TOP_SRC/TRP/trczdf.F90

    r5385 r6570  
    2222   USE trdtra 
    2323   USE prtctl_trc      ! Print control 
     24   USE diasub 
     25   USE trcdiasub 
     26 
    2427 
    2528   IMPLICIT NONE 
     
    7982      ENDIF 
    8083 
    81       IF( l_trdtrc )  THEN 
     84      IF( l_trdtrc .OR. lk_diasub )  THEN 
    8285         CALL wrk_alloc( jpi, jpj, jpk, jptra, ztrtrd ) 
    8386         ztrtrd(:,:,:,:)  = tra(:,:,:,:) 
     
    97100      END SELECT 
    98101 
    99       IF( l_trdtrc )   THEN                      ! save the vertical diffusive trends for further diagnostics 
     102      IF( l_trdtrc .OR. lk_diasub )   THEN                      ! save the vertical diffusive trends for further diagnostics 
    100103         DO jn = 1, jptra 
    101104            DO jk = 1, jpkm1 
    102105               ztrtrd(:,:,jk,jn) = ( ( tra(:,:,jk,jn) - trb(:,:,jk,jn) ) / r2dt(jk) ) - ztrtrd(:,:,jk,jn) 
    103106            END DO 
    104             CALL trd_tra( kt, 'TRC', jn, jptra_zdf, ztrtrd(:,:,:,jn) ) 
     107            IF( l_trdtrc  )  CALL trd_tra( kt, 'TRC', jn, jptra_zdf, ztrtrd(:,:,:,jn) ) !DC 
    105108         END DO 
     109         IF( lk_diasub )  CALL trc_dia_sub_zdf( kt, ztrtrd ) 
    106110         CALL wrk_dealloc( jpi, jpj, jpk, jptra, ztrtrd ) 
    107111      ENDIF 
    108       !                                          ! print mean trends (used for debugging) 
     112      !                         
    109113      IF( ln_ctl )   THEN 
    110114         WRITE(charout, FMT="('zdf ')") ;  CALL prt_ctl_trc_info(charout) 
Note: See TracChangeset for help on using the changeset viewer.