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 15191 for NEMO/branches/2021 – NEMO

Changeset 15191 for NEMO/branches/2021


Ignore:
Timestamp:
2021-08-13T15:09:12+02:00 (3 years ago)
Author:
techene
Message:

#2715 MLF & RK3 : change time level arguments of restart write routine, RK3 : only read/write Kbb fields

Location:
NEMO/branches/2021/dev_r14318_RK3_stage1/src/TOP
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2021/dev_r14318_RK3_stage1/src/TOP/trcrst.F90

    r14239 r15191  
    130130 
    131131      ! READ prognostic variables and computes diagnostic variable 
    132       DO jn = 1, jptra 
     132#if ! defined key_RK3 
     133      DO jn = 1, jptra      ! MLF only : Now time step 
    133134         CALL iom_get( numrtr, jpdom_auto, 'TRN'//ctrcnm(jn), tr(:,:,:,jn,Kmm) ) 
    134135      END DO 
    135  
    136       DO jn = 1, jptra 
     136#endif 
     137      DO jn = 1, jptra      ! RK3 and MLF : Before time step 
    137138         CALL iom_get( numrtr, jpdom_auto, 'TRB'//ctrcnm(jn), tr(:,:,:,jn,Kbb) ) 
    138139      END DO 
     
    141142   END SUBROUTINE trc_rst_read 
    142143 
    143    SUBROUTINE trc_rst_wri( kt, Kbb, Kmm, Krhs ) 
     144 
     145   SUBROUTINE trc_rst_wri( kt, Kbb, Kmm, Kaa ) 
    144146      !!---------------------------------------------------------------------- 
    145147      !!                    ***  trc_rst_wri  *** 
     
    148150      !!---------------------------------------------------------------------- 
    149151      INTEGER, INTENT( in ) ::   kt              ! ocean time-step index 
    150       INTEGER, INTENT( in ) ::   Kbb, Kmm, Krhs  ! time level indices 
     152      INTEGER, INTENT( in ) ::   Kbb, Kmm, Kaa   ! time level indices 
    151153      !! 
    152154      INTEGER  :: jn 
     
    155157      CALL iom_rstput( kt, nitrst, numrtw, 'rdttrc1', rn_Dt )   ! passive tracer time step (= ocean time step) 
    156158      ! prognostic variables  
    157       ! --------------------  
    158       DO jn = 1, jptra 
    159          CALL iom_rstput( kt, nitrst, numrtw, 'TRN'//ctrcnm(jn), tr(:,:,:,jn,Kmm) ) 
    160       END DO 
    161  
    162       DO jn = 1, jptra 
    163          CALL iom_rstput( kt, nitrst, numrtw, 'TRB'//ctrcnm(jn), tr(:,:,:,jn,Kbb) ) 
    164       END DO 
    165  
     159      ! -------------------- 
     160#if defined key_RK3 
     161      DO jn = 1, jptra      ! MLF : After time step (before the swap) put in TRN 
     162         CALL iom_rstput( kt, nitrst, numrtw, 'TRN'//ctrcnm(jn), tr(:,:,:,jn,Kaa) ) 
     163      END DO 
     164      DO jn = 1, jptra      ! RK3 : After time step (before the swap) put in TRB 
     165         CALL iom_rstput( kt, nitrst, numrtw, 'TRB'//ctrcnm(jn), tr(:,:,:,jn,Kaa) ) 
     166      END DO 
     167#else 
     168      DO jn = 1, jptra      ! MLF : After time step (before the swap) put in TRN 
     169         CALL iom_rstput( kt, nitrst, numrtw, 'TRN'//ctrcnm(jn), tr(:,:,:,jn,Kaa) ) 
     170      END DO 
     171      DO jn = 1, jptra      ! MLF : Now   time step (before the swap) put in TRB 
     172         CALL iom_rstput( kt, nitrst, numrtw, 'TRB'//ctrcnm(jn), tr(:,:,:,jn,Kmm) ) 
     173      END DO 
     174#endif 
    166175      IF( .NOT. lwxios ) CALL iom_delay_rst( 'WRITE', 'TOP', numrtw )   ! save only TOP delayed global communication variables 
    167176     
    168177      IF( kt == nitrst ) THEN 
    169           CALL trc_rst_stat( Kmm, Krhs )             ! statistics 
     178          CALL trc_rst_stat( Kaa, Kbb )             ! statistics Kaa et Kbb 
    170179          IF(lwxios) THEN 
    171180             CALL iom_context_finalize(      cw_toprst_cxt          ) 
  • NEMO/branches/2021/dev_r14318_RK3_stage1/src/TOP/trcstp.F90

    r14086 r15191  
    3030   PRIVATE 
    3131 
    32    PUBLIC   trc_stp    ! called by step 
     32   PUBLIC   trc_stp    ! called by step or stpmlf 
    3333 
    3434   LOGICAL  ::   llnew                   ! ??? 
     
    114114         IF(lwm) CALL FLUSH( numont )                     ! flush namelist output 
    115115      ENDIF 
    116       IF( lrst_trc )            CALL trc_rst_wri  ( kt, Kmm, Kaa, Kbb  )       ! write tracer restart file 
     116      IF( lrst_trc )            CALL trc_rst_wri  ( kt, Kbb, Kmm, Kaa  )       ! write tracer restart file 
     117!     IF( lrst_trc )            CALL trc_rst_wri  ( kt, Kmm, Kaa, Kbb  )       ! write tracer restart file 
     118 
    117119      IF( lk_trdmxl_trc  )      CALL trd_mxl_trc  ( kt,      Kaa       )       ! trends: Mixed-layer 
    118120      ! 
Note: See TracChangeset for help on using the changeset viewer.