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 2082 for branches/DEV_r2006_merge_TRA_TRC/NEMO/OFF_SRC/dtadyn.F90 – NEMO

Ignore:
Timestamp:
2010-09-10T12:32:58+02:00 (14 years ago)
Author:
cetlod
Message:

Improve the merge of TRA-TRC, see ticket #717

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/DEV_r2006_merge_TRA_TRC/NEMO/OFF_SRC/dtadyn.F90

    r2053 r2082  
    184184          
    185185         IF( lk_ldfslp ) THEN 
    186             ! Computes slopes 
    187             ! Caution : here tn, sn and avt are used as workspace 
    188             tn (:,:,:) = tdta  (:,:,:,2) 
    189             sn (:,:,:) = sdta  (:,:,:,2) 
    190             avt(:,:,:) = avtdta(:,:,:,2) 
    191           
    192             CALL eos( tn, sn, rhd, rhop )   ! Time-filtered in situ density  
    193             CALL bn2( tn, sn, rn2 )         ! before Brunt-Vaisala frequency 
     186            ! Computes slopes. Caution : here tsn and avt are used as workspace 
     187            tsn (:,:,:,jp_tem) = tdta  (:,:,:,2) 
     188            tsn (:,:,:,jp_sal) = sdta  (:,:,:,2) 
     189            avt(:,:,:)         = avtdta(:,:,:,2) 
     190          
     191            CALL eos( tsn, rhd, rhop )   ! Time-filtered in situ density  
     192            CALL bn2( tsn, rn2 )         ! before Brunt-Vaisala frequency 
    194193            IF( ln_zps )   & 
    195                &   CALL zps_hde( kt, tn , sn , rhd,  &  ! Partial steps: before Horizontal DErivative 
    196                &                 gtu, gsu, gru,  &  ! of t, s, rd at the bottom ocean level 
    197                &                 gtv, gsv, grv ) 
     194               &   CALL zps_hde( kt, jpts, tsn, gtsu, gtsv,  &  ! Partial steps: before Horizontal DErivative 
     195               &                           rhd, gru , grv   )    ! of t, s, rd at the bottom ocean level 
    198196                   CALL zdf_mxl( kt )              ! mixed layer depth 
    199197                   CALL ldf_slp( kt, rhd, rn2 ) 
     
    213211          
    214212         IF( lk_ldfslp ) THEN 
    215             ! Computes slopes 
    216             ! Caution : here tn, sn and avt are used as workspace 
    217             tn (:,:,:) = tdta  (:,:,:,2) 
    218             sn (:,:,:) = sdta  (:,:,:,2) 
    219             avt(:,:,:) = avtdta(:,:,:,2) 
    220  
    221             CALL eos( tn, sn, rhd, rhop )   ! Time-filtered in situ density  
    222             CALL bn2( tn, sn, rn2 )         ! before Brunt-Vaisala frequency 
     213            ! Computes slopes. Caution : here tsn and avt are used as workspace 
     214            tsn (:,:,:,jp_tem) = tdta  (:,:,:,2) 
     215            tsn (:,:,:,jp_sal) = sdta  (:,:,:,2) 
     216            avt(:,:,:)         = avtdta(:,:,:,2) 
     217          
     218            CALL eos( tsn, rhd, rhop )   ! Time-filtered in situ density  
     219            CALL bn2( tsn, rn2 )         ! before Brunt-Vaisala frequency 
    223220            IF( ln_zps )   & 
    224                &   CALL zps_hde( kt, tn , sn , rhd,  &  ! Partial steps: before Horizontal DErivative 
    225                &                 gtu, gsu, gru,  &  ! of t, s, rd at the bottom ocean level 
    226                &                 gtv, gsv, grv ) 
     221               &   CALL zps_hde( kt, jpts, tsn, gtsu, gtsv,  &  ! Partial steps: before Horizontal DErivative 
     222               &                           rhd, gru , grv   )    ! of t, s, rd at the bottom ocean level 
    227223                   CALL zdf_mxl( kt )              ! mixed layer depth 
    228224                   CALL ldf_slp( kt, rhd, rn2 ) 
     
    261257 
    262258         IF( lk_ldfslp ) THEN 
    263             ! Computes slopes 
    264             ! Caution : here tn, sn and avt are used as workspace 
    265             tn (:,:,:) = tdta  (:,:,:,2) 
    266             sn (:,:,:) = sdta  (:,:,:,2) 
    267             avt(:,:,:) = avtdta(:,:,:,2) 
    268  
    269             CALL eos( tn, sn, rhd, rhop )   ! Time-filtered in situ density  
    270             CALL bn2( tn, sn, rn2 )         ! before Brunt-Vaisala frequency 
     259            ! Computes slopes. Caution : here tsn and avt are used as workspace 
     260            tsn (:,:,:,jp_tem) = tdta  (:,:,:,2) 
     261            tsn (:,:,:,jp_sal) = sdta  (:,:,:,2) 
     262            avt(:,:,:)         = avtdta(:,:,:,2) 
     263          
     264            CALL eos( tsn, rhd, rhop )   ! Time-filtered in situ density  
     265            CALL bn2( tsn, rn2 )         ! before Brunt-Vaisala frequency 
    271266            IF( ln_zps )   & 
    272                &   CALL zps_hde( kt, tn , sn , rhd,  &  ! Partial steps: before Horizontal DErivative 
    273                &                 gtu, gsu, gru,  &  ! of t, s, rd at the bottom ocean level 
    274                &                 gtv, gsv, grv ) 
     267               &   CALL zps_hde( kt, jpts, tsn, gtsu, gtsv,  &  ! Partial steps: before Horizontal DErivative 
     268               &                           rhd, gru , grv   )    ! of t, s, rd at the bottom ocean level 
    275269                   CALL zdf_mxl( kt )              ! mixed layer depth 
    276270                   CALL ldf_slp( kt, rhd, rn2 ) 
     
    311305       
    312306      ! In any case, we need rhop 
    313       CALL eos( tn, sn, rhd, rhop )  
     307      CALL eos( tsn, rhd, rhop )  
    314308       
    315309#if ! defined key_degrad && defined key_traldf_c2d 
     
    320314      ! Compute bbl coefficients if needed 
    321315      IF( lk_trabbl ) THEN 
    322          tb(:,:,:) = tn(:,:,:) 
    323          sb(:,:,:) = sn(:,:,:) 
     316         tsb(:,:,:,:) = tsn(:,:,:,:) 
    324317         CALL bbl( kt, 'TRC') 
    325318      END IF 
     
    735728      !!---------------------------------------------------------------------- 
    736729       
    737       tn (:,:,:) = tdta  (:,:,:,2) 
    738       sn (:,:,:) = sdta  (:,:,:,2) 
    739       avt(:,:,:) = avtdta(:,:,:,2) 
     730      tsn(:,:,:,jp_tem) = tdta  (:,:,:,2) 
     731      tsn(:,:,:,jp_sal) = sdta  (:,:,:,2) 
     732      avt(:,:,:)        = avtdta(:,:,:,2) 
    740733       
    741734      un (:,:,:) = udta  (:,:,:,2)  
     
    796789      zweighm1 = 1. - pweigh 
    797790       
    798       tn (:,:,:) = zweighm1 * tdta  (:,:,:,1) + pweigh * tdta  (:,:,:,2) 
    799       sn (:,:,:) = zweighm1 * sdta  (:,:,:,1) + pweigh * sdta  (:,:,:,2) 
    800       avt(:,:,:) = zweighm1 * avtdta(:,:,:,1) + pweigh * avtdta(:,:,:,2) 
     791      tsn(:,:,:,jp_tem) = zweighm1 * tdta  (:,:,:,1) + pweigh * tdta  (:,:,:,2) 
     792      tsn(:,:,:,jp_sal) = zweighm1 * sdta  (:,:,:,1) + pweigh * sdta  (:,:,:,2) 
     793      avt(:,:,:)        = zweighm1 * avtdta(:,:,:,1) + pweigh * avtdta(:,:,:,2) 
    801794       
    802795      un (:,:,:) = zweighm1 * udta  (:,:,:,1) + pweigh * udta  (:,:,:,2)  
Note: See TracChangeset for help on using the changeset viewer.