Ignore:
Timestamp:
2019-05-09T18:12:29+02:00 (19 months ago)
Author:
acc
Message:

2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps : Convert TRA modules and all knock on effects of these conversions. SETTE tested

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/OCE/TRA/tradmp.F90

    r10946 r10954  
    7272 
    7373 
    74    SUBROUTINE tra_dmp( kt, Kmm, Krhs ) 
     74   SUBROUTINE tra_dmp( kt, Kbb, Kmm, Krhs ) 
    7575      !!---------------------------------------------------------------------- 
    7676      !!                   ***  ROUTINE tra_dmp  *** 
     
    9191      !!---------------------------------------------------------------------- 
    9292      INTEGER, INTENT(in) ::   kt   ! ocean time-step index 
    93       INTEGER, INTENT(in) ::   Kmm, Krhs  ! time level indices 
     93      INTEGER, INTENT(in) ::   Kbb, Kmm, Krhs  ! time level indices 
    9494      ! 
    9595      INTEGER ::   ji, jj, jk, jn   ! dummy loop indices 
     
    102102      IF( l_trdtra )   THEN                    !* Save ta and sa trends 
    103103         ALLOCATE( ztrdts(jpi,jpj,jpk,jpts) )  
    104          ztrdts(:,:,:,:) = tsa(:,:,:,:)  
     104         ztrdts(:,:,:,:) = ts(:,:,:,:,Krhs)  
    105105      ENDIF 
    106106      !                           !==  input T-S data at kt  ==! 
     
    114114               DO jj = 2, jpjm1 
    115115                  DO ji = fs_2, fs_jpim1   ! vector opt. 
    116                      tsa(ji,jj,jk,jn) = tsa(ji,jj,jk,jn) + resto(ji,jj,jk) * ( zts_dta(ji,jj,jk,jn) - tsb(ji,jj,jk,jn) ) 
     116                     ts(ji,jj,jk,jn,Krhs) = ts(ji,jj,jk,jn,Krhs) + resto(ji,jj,jk) * ( zts_dta(ji,jj,jk,jn) - ts(ji,jj,jk,jn,Kbb) ) 
    117117                  END DO 
    118118               END DO 
     
    125125               DO ji = fs_2, fs_jpim1   ! vector opt. 
    126126                  IF( avt(ji,jj,jk) <= avt_c ) THEN 
    127                      tsa(ji,jj,jk,jp_tem) = tsa(ji,jj,jk,jp_tem)   & 
    128                         &                 + resto(ji,jj,jk) * ( zts_dta(ji,jj,jk,jp_tem) - tsb(ji,jj,jk,jp_tem) ) 
    129                      tsa(ji,jj,jk,jp_sal) = tsa(ji,jj,jk,jp_sal)   & 
    130                         &                 + resto(ji,jj,jk) * ( zts_dta(ji,jj,jk,jp_sal) - tsb(ji,jj,jk,jp_sal) ) 
     127                     ts(ji,jj,jk,jp_tem,Krhs) = ts(ji,jj,jk,jp_tem,Krhs)   & 
     128                        &                 + resto(ji,jj,jk) * ( zts_dta(ji,jj,jk,jp_tem) - ts(ji,jj,jk,jp_tem,Kbb) ) 
     129                     ts(ji,jj,jk,jp_sal,Krhs) = ts(ji,jj,jk,jp_sal,Krhs)   & 
     130                        &                 + resto(ji,jj,jk) * ( zts_dta(ji,jj,jk,jp_sal) - ts(ji,jj,jk,jp_sal,Kbb) ) 
    131131                  ENDIF 
    132132               END DO 
     
    138138            DO jj = 2, jpjm1 
    139139               DO ji = fs_2, fs_jpim1   ! vector opt. 
    140                   IF( gdept_n(ji,jj,jk) >= hmlp (ji,jj) ) THEN 
    141                      tsa(ji,jj,jk,jp_tem) = tsa(ji,jj,jk,jp_tem)   & 
    142                         &                 + resto(ji,jj,jk) * ( zts_dta(ji,jj,jk,jp_tem) - tsb(ji,jj,jk,jp_tem) ) 
    143                      tsa(ji,jj,jk,jp_sal) = tsa(ji,jj,jk,jp_sal)   & 
    144                         &                 + resto(ji,jj,jk) * ( zts_dta(ji,jj,jk,jp_sal) - tsb(ji,jj,jk,jp_sal) ) 
     140                  IF( gdept(ji,jj,jk,Kmm) >= hmlp (ji,jj) ) THEN 
     141                     ts(ji,jj,jk,jp_tem,Krhs) = ts(ji,jj,jk,jp_tem,Krhs)   & 
     142                        &                 + resto(ji,jj,jk) * ( zts_dta(ji,jj,jk,jp_tem) - ts(ji,jj,jk,jp_tem,Kbb) ) 
     143                     ts(ji,jj,jk,jp_sal,Krhs) = ts(ji,jj,jk,jp_sal,Krhs)   & 
     144                        &                 + resto(ji,jj,jk) * ( zts_dta(ji,jj,jk,jp_sal) - ts(ji,jj,jk,jp_sal,Kbb) ) 
    145145                  ENDIF 
    146146               END DO 
     
    151151      ! 
    152152      IF( l_trdtra )   THEN       ! trend diagnostic 
    153          ztrdts(:,:,:,:) = tsa(:,:,:,:) - ztrdts(:,:,:,:) 
     153         ztrdts(:,:,:,:) = ts(:,:,:,:,Krhs) - ztrdts(:,:,:,:) 
    154154         CALL trd_tra( kt, Kmm, Krhs, 'TRA', jp_tem, jptra_dmp, ztrdts(:,:,:,jp_tem) ) 
    155155         CALL trd_tra( kt, Kmm, Krhs, 'TRA', jp_sal, jptra_dmp, ztrdts(:,:,:,jp_sal) ) 
     
    157157      ENDIF 
    158158      !                           ! Control print 
    159       IF(ln_ctl)   CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' dmp  - Ta: ', mask1=tmask,   & 
    160          &                       tab3d_2=tsa(:,:,:,jp_sal), clinfo2=       ' Sa: ', mask2=tmask, clinfo3='tra' ) 
     159      IF(ln_ctl)   CALL prt_ctl( tab3d_1=ts(:,:,:,jp_tem,Krhs), clinfo1=' dmp  - Ta: ', mask1=tmask,   & 
     160         &                       tab3d_2=ts(:,:,:,jp_sal,Krhs), clinfo2=       ' Sa: ', mask2=tmask, clinfo3='tra' ) 
    161161      ! 
    162162      IF( ln_timing )   CALL timing_stop('tra_dmp') 
Note: See TracChangeset for help on using the changeset viewer.