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 10946 for NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/OCE/TRA/tranxt.F90 – NEMO

Ignore:
Timestamp:
2019-05-08T10:56:14+02:00 (5 years ago)
Author:
acc
Message:

2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps : Convert STO, TRD and USR modules and all knock on effects of these conversions. Note change to USR module may have implications for the TEST CASES (not tested yet). Standard SETTE tested only

File:
1 edited

Legend:

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

    r10425 r10946  
    6464CONTAINS 
    6565 
    66    SUBROUTINE tra_nxt( kt ) 
     66   SUBROUTINE tra_nxt( kt, Kmm, Krhs ) 
    6767      !!---------------------------------------------------------------------- 
    6868      !!                   ***  ROUTINE tranxt  *** 
     
    8787      !!---------------------------------------------------------------------- 
    8888      INTEGER, INTENT(in) ::   kt    ! ocean time-step index 
     89      INTEGER, INTENT(in) ::   Kmm, Krhs  ! time level indices 
    8990      !! 
    9091      INTEGER  ::   ji, jj, jk, jn   ! dummy loop indices 
     
    122123         ztrds(:,:,jpk) = 0._wp 
    123124         IF( ln_traldf_iso ) THEN              ! diagnose the "pure" Kz diffusive trend  
    124             CALL trd_tra( kt, 'TRA', jp_tem, jptra_zdfp, ztrdt ) 
    125             CALL trd_tra( kt, 'TRA', jp_sal, jptra_zdfp, ztrds ) 
     125            CALL trd_tra( kt, Kmm, Krhs, 'TRA', jp_tem, jptra_zdfp, ztrdt ) 
     126            CALL trd_tra( kt, Kmm, Krhs, 'TRA', jp_sal, jptra_zdfp, ztrds ) 
    126127         ENDIF 
    127128         ! total trend for the non-time-filtered variables.  
     
    132133            ztrds(:,:,jk) = ( tsa(:,:,jk,jp_sal)*e3t_a(:,:,jk) / e3t_n(:,:,jk) - tsn(:,:,jk,jp_sal)) * zfact 
    133134         END DO 
    134          CALL trd_tra( kt, 'TRA', jp_tem, jptra_tot, ztrdt ) 
    135          CALL trd_tra( kt, 'TRA', jp_sal, jptra_tot, ztrds ) 
     135         CALL trd_tra( kt, Kmm, Krhs, 'TRA', jp_tem, jptra_tot, ztrdt ) 
     136         CALL trd_tra( kt, Kmm, Krhs, 'TRA', jp_sal, jptra_tot, ztrds ) 
    136137         IF( ln_linssh ) THEN       ! linear sea surface height only 
    137138            ! Store now fields before applying the Asselin filter  
     
    152153            ztrdt(:,:,:) = 0._wp 
    153154            ztrds(:,:,:) = 0._wp 
    154             CALL trd_tra( kt, 'TRA', jp_tem, jptra_atf, ztrdt ) 
    155             CALL trd_tra( kt, 'TRA', jp_sal, jptra_atf, ztrds ) 
     155            CALL trd_tra( kt, Kmm, Krhs, 'TRA', jp_tem, jptra_atf, ztrdt ) 
     156            CALL trd_tra( kt, Kmm, Krhs, 'TRA', jp_sal, jptra_atf, ztrds ) 
    156157         END IF 
    157158         ! 
     
    159160         ! 
    160161         IF( ln_linssh ) THEN   ;   CALL tra_nxt_fix( kt, nit000,      'TRA', tsb, tsn, tsa, jpts )  ! linear free surface  
    161          ELSE                   ;   CALL tra_nxt_vvl( kt, nit000, rdt, 'TRA', tsb, tsn, tsa,   & 
     162         ELSE                   ;   CALL tra_nxt_vvl( kt, Kmm, Krhs, nit000, rdt, 'TRA', tsb, tsn, tsa,   & 
    162163           &                                                                sbc_tsc, sbc_tsc_b, jpts )  ! non-linear free surface 
    163164         ENDIF 
     
    175176            ztrds(:,:,jk) = ( tsb(:,:,jk,jp_sal) - ztrds(:,:,jk) ) * zfact 
    176177         END DO 
    177          CALL trd_tra( kt, 'TRA', jp_tem, jptra_atf, ztrdt ) 
    178          CALL trd_tra( kt, 'TRA', jp_sal, jptra_atf, ztrds ) 
     178         CALL trd_tra( kt, Kmm, Krhs, 'TRA', jp_tem, jptra_atf, ztrdt ) 
     179         CALL trd_tra( kt, Kmm, Krhs, 'TRA', jp_sal, jptra_atf, ztrds ) 
    179180      END IF 
    180181      IF( l_trdtra )   DEALLOCATE( ztrdt , ztrds ) 
     
    238239 
    239240 
    240    SUBROUTINE tra_nxt_vvl( kt, kit000, p2dt, cdtype, ptb, ptn, pta, psbc_tc, psbc_tc_b, kjpt ) 
     241   SUBROUTINE tra_nxt_vvl( kt, Kmm, Krhs, kit000, p2dt, cdtype, ptb, ptn, pta, psbc_tc, psbc_tc_b, kjpt ) 
    241242      !!---------------------------------------------------------------------- 
    242243      !!                   ***  ROUTINE tra_nxt_vvl  *** 
     
    254255      !!---------------------------------------------------------------------- 
    255256      INTEGER                              , INTENT(in   ) ::  kt        ! ocean time-step index 
     257      INTEGER                              , INTENT(in   ) ::  Kmm, Krhs ! time level indices 
    256258      INTEGER                              , INTENT(in   ) ::  kit000    ! first time step index 
    257259      REAL(wp)                             , INTENT(in   ) ::  p2dt      ! time-step 
     
    367369      IF( ( l_trdtra .AND. cdtype == 'TRA' ) .OR. ( l_trdtrc .AND. cdtype == 'TRC' ) )   THEN 
    368370         IF( l_trdtra .AND. cdtype == 'TRA' ) THEN  
    369             CALL trd_tra( kt, cdtype, jp_tem, jptra_atf, ztrd_atf(:,:,:,jp_tem) ) 
    370             CALL trd_tra( kt, cdtype, jp_sal, jptra_atf, ztrd_atf(:,:,:,jp_sal) ) 
     371            CALL trd_tra( kt, Kmm, Krhs, cdtype, jp_tem, jptra_atf, ztrd_atf(:,:,:,jp_tem) ) 
     372            CALL trd_tra( kt, Kmm, Krhs, cdtype, jp_sal, jptra_atf, ztrd_atf(:,:,:,jp_sal) ) 
    371373         ENDIF 
    372374         IF( l_trdtrc .AND. cdtype == 'TRC' ) THEN 
    373375            DO jn = 1, kjpt 
    374                CALL trd_tra( kt, cdtype, jn, jptra_atf, ztrd_atf(:,:,:,jn) ) 
     376               CALL trd_tra( kt, Kmm, Krhs, cdtype, jn, jptra_atf, ztrd_atf(:,:,:,jn) ) 
    375377            END DO 
    376378         ENDIF 
Note: See TracChangeset for help on using the changeset viewer.