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 5034 for branches/2014/dev_r4650_UKMO14.12_STAND_ALONE_OBSOPER/NEMOGCM/NEMO/OPA_SRC/TRA/traldf.F90 – NEMO

Ignore:
Timestamp:
2015-01-15T14:48:42+01:00 (9 years ago)
Author:
andrewryan
Message:

merge with trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2014/dev_r4650_UKMO14.12_STAND_ALONE_OBSOPER/NEMOGCM/NEMO/OPA_SRC/TRA/traldf.F90

    r4488 r5034  
    2323   USE traldf_iso_grif ! lateral mixing          (tra_ldf_iso_grif routine) 
    2424   USE traldf_lap      ! lateral mixing               (tra_ldf_lap routine) 
    25    USE trdmod_oce      ! ocean space and time domain 
    26    USE trdtra          ! ocean active tracers trends 
     25   USE trd_oce         ! trends: ocean variables 
     26   USE trdtra          ! trends manager: tracers  
     27   ! 
    2728   USE prtctl          ! Print control 
    2829   USE in_out_manager  ! I/O manager 
     
    3536   PRIVATE 
    3637 
    37    PUBLIC   tra_ldf         ! called by step.F90  
    38    PUBLIC   tra_ldf_init    ! called by opa.F90  
     38   PUBLIC   tra_ldf        ! called by step.F90  
     39   PUBLIC   tra_ldf_init   ! called by opa.F90  
    3940   ! 
    4041   INTEGER ::   nldf = 0   ! type of lateral diffusion used defined from ln_traldf_... namlist logicals) 
     
    7576 
    7677      SELECT CASE ( nldf )                       ! compute lateral mixing trend and add it to the general trend 
    77       CASE ( 0 )   ;   CALL tra_ldf_lap     ( kt, nit000, 'TRA', gtsu, gtsv, tsb, tsa, jpts        )  ! iso-level laplacian 
     78      CASE ( 0 )   ;   CALL tra_ldf_lap     ( kt, nit000, 'TRA', gtsu, gtsv, gtui, gtvi,        & 
     79                               &                                   tsb, tsa, jpts        )  ! iso-level laplacian 
    7880      CASE ( 1 )                                                                              ! rotated laplacian 
    7981         IF( ln_traldf_grif ) THEN                                                           
    8082                       CALL tra_ldf_iso_grif( kt, nit000,'TRA', gtsu, gtsv, tsb, tsa, jpts, ahtb0 )      ! Griffies operator 
    8183         ELSE                                                                                 
    82                        CALL tra_ldf_iso     ( kt, nit000, 'TRA', gtsu, gtsv, tsb, tsa, jpts, ahtb0 )      ! Madec operator 
    83          ENDIF 
    84       CASE ( 2 )   ;   CALL tra_ldf_bilap   ( kt, nit000, 'TRA', gtsu, gtsv, tsb, tsa, jpts        )  ! iso-level bilaplacian 
     84                       CALL tra_ldf_iso     ( kt, nit000, 'TRA', gtsu, gtsv, gtui, gtvi,        & 
     85                               &                                  tsb, tsa, jpts, ahtb0 )      ! Madec operator 
     86         ENDIF 
     87      CASE ( 2 )   ;   CALL tra_ldf_bilap   ( kt, nit000, 'TRA', gtsu, gtsv, gtui, gtvi,        & 
     88                               &                                   tsb, tsa, jpts        )  ! iso-level bilaplacian 
    8589      CASE ( 3 )   ;   CALL tra_ldf_bilapg  ( kt, nit000, 'TRA',             tsb, tsa, jpts        )  ! s-coord. geopot. bilap. 
    8690         ! 
    8791      CASE ( -1 )                                ! esopa: test all possibility with control print 
    88          CALL tra_ldf_lap   ( kt, nit000, 'TRA', gtsu, gtsv, tsb, tsa, jpts        )  
     92         CALL tra_ldf_lap   ( kt, nit000, 'TRA', gtsu, gtsv, gtui, gtvi,        & 
     93         &                                       tsb, tsa, jpts        )  
    8994         CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' ldf0 - Ta: ', mask1=tmask,               & 
    9095         &             tab3d_2=tsa(:,:,:,jp_sal), clinfo2=       ' Sa: ', mask2=tmask, clinfo3='tra' ) 
     
    9297            CALL tra_ldf_iso_grif( kt, nit000, 'TRA', gtsu, gtsv, tsb, tsa, jpts, ahtb0 ) 
    9398         ELSE 
    94             CALL tra_ldf_iso     ( kt, nit000, 'TRA', gtsu, gtsv, tsb, tsa, jpts, ahtb0 )   
     99            CALL tra_ldf_iso     ( kt, nit000, 'TRA', gtsu, gtsv, gtui, gtvi,        & 
     100            &                                               tsb, tsa, jpts, ahtb0 )   
    95101         ENDIF 
    96102         CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' ldf1 - Ta: ', mask1=tmask,               & 
    97103         &             tab3d_2=tsa(:,:,:,jp_sal), clinfo2=       ' Sa: ', mask2=tmask, clinfo3='tra' ) 
    98          CALL tra_ldf_bilap ( kt, nit000, 'TRA', gtsu, gtsv, tsb, tsa, jpts        )  
     104         CALL tra_ldf_bilap ( kt, nit000, 'TRA', gtsu, gtsv, gtui, gtvi,        & 
     105         &                                       tsb, tsa, jpts        )  
    99106         CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' ldf2 - Ta: ', mask1=tmask,               & 
    100107         &             tab3d_2=tsa(:,:,:,jp_sal), clinfo2=       ' Sa: ', mask2=tmask, clinfo3='tra' ) 
     
    112119         ztrdt(:,:,:) = tsa(:,:,:,jp_tem) - ztrdt(:,:,:) 
    113120         ztrds(:,:,:) = tsa(:,:,:,jp_sal) - ztrds(:,:,:) 
    114          CALL trd_tra( kt, 'TRA', jp_tem, jptra_trd_ldf, ztrdt ) 
    115          CALL trd_tra( kt, 'TRA', jp_sal, jptra_trd_ldf, ztrds ) 
     121         CALL trd_tra( kt, 'TRA', jp_tem, jptra_ldf, ztrdt ) 
     122         CALL trd_tra( kt, 'TRA', jp_sal, jptra_ldf, ztrds ) 
    116123         CALL wrk_dealloc( jpi, jpj, jpk, ztrdt, ztrds )  
    117124      ENDIF 
     
    174181            IF ( ln_traldf_iso   )   nldf = 1      ! isoneutral (   rotation) 
    175182         ENDIF 
    176          IF ( ln_zps ) THEN             ! z-coordinate 
     183         IF ( ln_zps ) THEN             ! zps-coordinate 
    177184            IF ( ln_traldf_level )   ierr = 1      ! iso-level not allowed 
    178185            IF ( ln_traldf_hor   )   nldf = 0      ! horizontal (no rotation) 
    179186            IF ( ln_traldf_iso   )   nldf = 1      ! isoneutral (   rotation) 
    180187         ENDIF 
    181          IF ( ln_sco ) THEN             ! z-coordinate 
     188         IF ( ln_sco ) THEN             ! s-coordinate 
    182189            IF ( ln_traldf_level )   nldf = 0      ! iso-level  (no rotation) 
    183190            IF ( ln_traldf_hor   )   nldf = 1      ! horizontal (   rotation) 
     
    192199            IF ( ln_traldf_iso   )   ierr = 2      ! isoneutral (   rotation) 
    193200         ENDIF 
    194          IF ( ln_zps ) THEN             ! z-coordinate 
     201         IF ( ln_zps ) THEN             ! zps-coordinate 
    195202            IF ( ln_traldf_level )   ierr = 1      ! iso-level not allowed  
    196203            IF ( ln_traldf_hor   )   nldf = 2      ! horizontal (no rotation) 
    197204            IF ( ln_traldf_iso   )   ierr = 2      ! isoneutral (   rotation) 
    198205         ENDIF 
    199          IF ( ln_sco ) THEN             ! z-coordinate 
     206         IF ( ln_sco ) THEN             ! s-coordinate 
    200207            IF ( ln_traldf_level )   nldf = 2      ! iso-level  (no rotation) 
    201208            IF ( ln_traldf_hor   )   nldf = 3      ! horizontal (   rotation) 
Note: See TracChangeset for help on using the changeset viewer.