Changeset 11427 for NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps_rewrite_time_filterswap/src/TOP/TRP/trctrp.F90
- Timestamp:
- 2019-08-09T15:44:20+02:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps_rewrite_time_filterswap/src/TOP/TRP/trctrp.F90
r11057 r11427 36 36 PUBLIC trc_trp ! called by trc_stp 37 37 38 INTEGER, SAVE :: N_save ! Save value of time index for time swapping for ln_top_euler=.true. 39 38 40 !!---------------------------------------------------------------------- 39 41 !! NEMO/TOP 4.0 , NEMO Consortium (2018) … … 53 55 !! - Update the passive tracers 54 56 !!---------------------------------------------------------------------- 55 INTEGER, INTENT( in ) :: kt ! ocean time-step index56 INTEGER, INTENT( in ) :: Kbb, Kmm, Krhs, Kaa ! time level indices57 INTEGER, INTENT( in ) :: kt ! ocean time-step index 58 INTEGER, INTENT( inout ) :: Kbb, Kmm, Krhs, Kaa ! TOP time level indices (swapped in this routine) 57 59 !! --------------------------------------------------------------------- 58 60 ! 59 61 IF( ln_timing ) CALL timing_start('trc_trp') 62 ! 63 IF ( kt == nit000 ) N_save = Kbb 60 64 ! 61 65 IF( .NOT. lk_c1d ) THEN … … 79 83 CALL trc_zdf ( kt, Kbb, Kmm, Krhs, tr, Kaa ) ! vert. mixing & after tracer ==> after 80 84 CALL trc_atf ( kt, Kbb, Kmm, Kaa , tr ) ! time filtering of "now" tracer fields 81 IF( ln_trcrad ) CALL trc_rad ( kt, Kbb, Kmm, Krhs, tr ) ! Correct artificial negative concentrations 82 IF( ln_trcdmp_clo ) CALL trc_dmp_clo( kt, Kbb, Kmm ) ! internal damping trends on closed seas only 85 ! 86 ! Swap TOP time levels (= Nrhs_trc, Nbb_trc etc) 87 IF( ln_top_euler ) THEN 88 ! For Euler timestepping we need the "before" and "now" fields to be the same. 89 ! Use N_save to ensure that the indices stay in sync with the (leapfrogging) OCE time indices for nn_dttrc=1. 90 Krhs = N_save 91 N_save = Kmm 92 Kbb = Kaa 93 ELSE 94 Krhs = Kbb 95 Kbb = Kmm 96 ENDIF 97 Kmm = Kaa 98 Kaa = Krhs 99 ! 100 IF( ln_trcrad ) CALL trc_rad ( kt, Kbb, Kmm, Krhs, tr ) ! Correct artificial negative concentrations 101 IF( ln_trcdmp_clo ) CALL trc_dmp_clo( kt, Kbb, Kmm ) ! internal damping trends on closed seas only 83 102 84 103 ! … … 88 107 CALL trc_zdf( kt, Kbb, Kmm, Krhs, tr, Kaa ) ! vert. mixing & after tracer ==> after 89 108 CALL trc_atf( kt, Kbb, Kmm, Kaa , tr ) ! time filtering of "now" tracer fields 90 IF( ln_trcrad ) CALL trc_rad( kt, Kbb, Kmm, Krhs, tr ) ! Correct artificial negative concentrations 109 ! 110 ! Swap TOP time levels (= Nrhs_trc, Nbb_trc etc) 111 Krhs = Kbb 112 Kbb = Kmm 113 Kmm = Kaa 114 Kaa = Krhs 115 ! 116 IF( ln_trcrad ) CALL trc_rad( kt, Kbb, Kmm, Krhs, tr ) ! Correct artificial negative concentrations 91 117 ! 92 118 END IF
Note: See TracChangeset
for help on using the changeset viewer.