Changeset 2830 for branches/2011/dev_r2802_TOP_substepping
- Timestamp:
- 2011-08-23T12:20:06+02:00 (13 years ago)
- Location:
- branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO
- Files:
-
- 2 added
- 45 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_cen2.F90
r2715 r2830 32 32 USE trc_oce ! share passive tracers/Ocean variables 33 33 USE lib_mpp ! MPP library 34 #if defined key_top 35 USE trc, ONLY: nittrc000 !get first time step for passive tracers 36 #endif 34 37 35 38 IMPLICIT NONE … … 131 134 !!---------------------------------------------------------------------- 132 135 133 IF( wrk_in_use(2, 1) .OR. wrk_in_use(3, 1,2) ) THEN136 IF( wrk_in_use(2, 35) .OR. wrk_in_use(3, 14,15) ) THEN 134 137 CALL ctl_stop('tra_adv_cen2: requested workspace arrays unavailable') ; RETURN 135 138 ENDIF 136 139 140 #if defined key_top 141 IF( kt == nit000 .OR. (kt == nittrc000 .AND. cdtype == 'TRC')) THEN 142 #else 137 143 IF( kt == nit000 ) THEN 144 #endif 138 145 IF(lwp) WRITE(numout,*) 139 146 IF(lwp) WRITE(numout,*) 'tra_adv_cen2 : 2nd order centered advection scheme on ', cdtype … … 141 148 IF(lwp) WRITE(numout,*) 142 149 ! 143 ALLOCATE( upsmsk(jpi,jpj), STAT=ierr ) 144 IF( ierr /= 0 ) CALL ctl_stop('STOP', 'tra_adv_cen2: unable to allocate array') 150 IF (.not. ALLOCATED(upsmsk))THEN 151 ALLOCATE( upsmsk(jpi,jpj), STAT=ierr ) 152 IF( ierr /= 0 ) CALL ctl_stop('STOP', 'tra_adv_cen2: unable to allocate array') 153 ENDIF 154 145 155 ! 146 156 upsmsk(:,:) = 0._wp ! not upstream by default … … 275 285 ENDIF 276 286 ! 277 IF( wrk_not_released(2, 1) .OR. &278 wrk_not_released(3, 1 ,2) ) CALL ctl_stop('tra_adv_cen2: failed to release workspace arrays')287 IF( wrk_not_released(2, 35) .OR. & 288 wrk_not_released(3, 14,15) ) CALL ctl_stop('tra_adv_cen2: failed to release workspace arrays') 279 289 ! 280 290 END SUBROUTINE tra_adv_cen2 -
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_muscl.F90
r2715 r2830 25 25 USE diaptr ! poleward transport diagnostics 26 26 USE trc_oce ! share passive tracers/Ocean variables 27 #if defined key_top 28 USE trc, ONLY: nittrc000 !get first time step for passive tracers 29 #endif 27 30 28 31 … … 83 86 ENDIF 84 87 88 #if defined key_top 89 IF( kt == nit000 .OR. (kt == nittrc000 .AND. cdtype == 'TRC')) THEN 90 #else 85 91 IF( kt == nit000 ) THEN 92 #endif 86 93 IF(lwp) WRITE(numout,*) 87 94 IF(lwp) WRITE(numout,*) 'tra_adv : MUSCL advection scheme on ', cdtype -
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_muscl2.F90
r2715 r2830 23 23 USE diaptr ! poleward transport diagnostics 24 24 USE trc_oce ! share passive tracers/Ocean variables 25 #if defined key_top 26 USE trc, ONLY: nittrc000 !get first time step for passive tracers 27 #endif 25 28 26 29 … … 81 84 ENDIF 82 85 86 #if defined key_top 87 IF( kt == nit000 .OR. (kt == nittrc000 .AND. cdtype == 'TRC')) THEN 88 #else 83 89 IF( kt == nit000 ) THEN 90 #endif 84 91 IF(lwp) WRITE(numout,*) 85 92 IF(lwp) WRITE(numout,*) 'tra_adv_muscl2 : MUSCL2 advection scheme on ', cdtype -
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_qck.F90
r2715 r2830 26 26 USE diaptr ! poleward transport diagnostics 27 27 USE trc_oce ! share passive tracers/Ocean variables 28 #if defined key_top 29 USE trc, ONLY: nittrc000 !get first time step for passive tracers 30 #endif 28 31 29 32 IMPLICIT NONE … … 90 93 !!---------------------------------------------------------------------- 91 94 95 #if defined key_top 96 IF( kt == nit000 .OR. (kt == nittrc000 .AND. cdtype == 'TRC')) THEN 97 #else 92 98 IF( kt == nit000 ) THEN 99 #endif 93 100 IF(lwp) WRITE(numout,*) 94 101 IF(lwp) WRITE(numout,*) 'tra_adv_qck : 3rd order quickest advection scheme on ', cdtype -
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_tvd.F90
r2715 r2830 32 32 USE diaptr ! poleward transport diagnostics 33 33 USE trc_oce ! share passive tracers/Ocean variables 34 #if defined key_top 35 USE trc, ONLY: nittrc000 !get first time step for passive tracers 36 #endif 34 37 35 38 … … 89 92 ENDIF 90 93 94 #if defined key_top 95 IF( kt == nit000 .OR. (kt == nittrc000 .AND. cdtype == 'TRC')) THEN 96 #else 91 97 IF( kt == nit000 ) THEN 98 #endif 92 99 IF(lwp) WRITE(numout,*) 93 100 IF(lwp) WRITE(numout,*) 'tra_adv_tvd : TVD advection scheme on ', cdtype -
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_ubs.F90
r2715 r2830 22 22 USE dynspg_oce ! choice/control of key cpp for surface pressure gradient 23 23 USE trc_oce ! share passive tracers/Ocean variables 24 #if defined key_top 25 USE trc, ONLY: nittrc000 !get first time step for passive tracers 26 #endif 24 27 25 28 IMPLICIT NONE … … 97 100 ENDIF 98 101 102 #if defined key_top 103 IF( kt == nit000 .OR. (kt == nittrc000 .AND. cdtype == 'TRC')) THEN 104 #else 99 105 IF( kt == nit000 ) THEN 106 #endif 100 107 IF(lwp) WRITE(numout,*) 101 108 IF(lwp) WRITE(numout,*) 'tra_adv_ubs : horizontal UBS advection scheme on ', cdtype -
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/OPA_SRC/TRA/trabbl.F90
r2715 r2830 34 34 USE lbclnk ! ocean lateral boundary conditions 35 35 USE prtctl ! Print control 36 #if defined key_top 37 USE trc, ONLY: nittrc000 !get first time step for passive tracers 38 #endif 36 39 37 40 IMPLICIT NONE … … 389 392 ENDIF 390 393 394 #if defined key_top 395 IF( kt == nit000 .OR. (kt == nittrc000 .AND. cdtype == 'TRC')) THEN 396 #else 391 397 IF( kt == nit000 ) THEN 398 #endif 392 399 IF(lwp) WRITE(numout,*) 393 400 IF(lwp) WRITE(numout,*) 'trabbl:bbl : Compute bbl velocities and diffusive coefficients in ', cdtype -
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_bilap.F90
r2715 r2830 29 29 USE trc_oce ! share passive tracers/Ocean variables 30 30 USE lib_mpp ! MPP library 31 #if defined key_top 32 USE trc, ONLY: nittrc000 !get first time step for passive tracers 33 #endif 31 34 32 35 IMPLICIT NONE … … 93 96 ENDIF 94 97 98 #if defined key_top 99 IF( kt == nit000 .OR. (kt == nittrc000 .AND. cdtype == 'TRC')) THEN 100 #else 95 101 IF( kt == nit000 ) THEN 102 #endif 96 103 IF(lwp) WRITE(numout,*) 97 104 IF(lwp) WRITE(numout,*) 'tra_ldf_bilap : iso-level biharmonic operator on ', cdtype -
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_bilapg.F90
r2715 r2830 25 25 USE trc_oce ! share passive tracers/Ocean variables 26 26 USE lib_mpp ! MPP library 27 #if defined key_top 28 USE trc, ONLY: nittrc000 !get first time step for passive tracers 29 #endif 27 30 28 31 IMPLICIT NONE … … 82 85 ENDIF 83 86 87 #if defined key_top 88 IF( kt == nit000 .OR. (kt == nittrc000 .AND. cdtype == 'TRC')) THEN 89 #else 84 90 IF( kt == nit000 ) THEN 91 #endif 85 92 IF(lwp) WRITE(numout,*) 86 93 IF(lwp) WRITE(numout,*) 'tra_ldf_bilapg : horizontal biharmonic operator in s-coordinate on ', cdtype -
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_iso.F90
r2715 r2830 32 32 USE lbclnk ! ocean lateral boundary conditions (or mpp link) 33 33 #endif 34 #if defined key_top 35 USE trc, ONLY: nittrc000 !get first time step for passive tracers 36 #endif 34 37 35 38 IMPLICIT NONE … … 121 124 IF(lwp) WRITE(numout,*) '~~~~~~~~~~~' 122 125 ENDIF 126 #if defined key_top 127 IF( kt == nittrc000 .AND. cdtype == 'TRC' ) THEN 128 IF(lwp) WRITE(numout,*) 129 IF(lwp) WRITE(numout,*) 'tra_ldf_iso : rotated laplacian diffusion operator on ', cdtype 130 IF(lwp) WRITE(numout,*) '~~~~~~~~~~~' 131 ENDIF 132 #endif 123 133 ! 124 134 ! ! =========== -
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/OPA_SRC/TRA/traldf_iso_grif.F90
r2715 r2830 26 26 USE lbclnk ! ocean lateral boundary conditions (or mpp link) 27 27 USE lib_mpp ! MPP library 28 #if defined key_top 29 USE trc, ONLY: nittrc000 !get first time step for passive tracers 30 #endif 28 31 29 32 IMPLICIT NONE … … 127 130 !zdkt(1:jpi,1:jpj,0:1) => wrk_3d_9(:,:,1:2) 128 131 132 #if defined key_top 133 IF( kt == nit000 .OR. (kt == nittrc000 .AND. cdtype == 'TRC')) THEN 134 #else 129 135 IF( kt == nit000 ) THEN 136 #endif 130 137 IF(lwp) WRITE(numout,*) 131 138 IF(lwp) WRITE(numout,*) 'tra_ldf_iso_grif : rotated laplacian diffusion operator on ', cdtype 132 139 IF(lwp) WRITE(numout,*) ' WARNING: STILL UNDER TEST, NOT RECOMMENDED. USE AT YOUR OWN PERIL' 133 140 IF(lwp) WRITE(numout,*) '~~~~~~~~~~~' 134 ALLOCATE( ah_wslp2(jpi,jpj,jpk) , zdkt(jpi,jpj,0:1), STAT=ierr ) 141 IF (.not. ALLOCATED(ah_wslp2))THEN 142 ALLOCATE( ah_wslp2(jpi,jpj,jpk) , zdkt(jpi,jpj,0:1), STAT=ierr ) 143 ENDIF 135 144 IF( lk_mpp ) CALL mpp_sum ( ierr ) 136 145 IF( ierr > 0 ) CALL ctl_stop('STOP', 'tra_ldf_iso_grif: unable to allocate arrays') 137 146 IF( ln_traldf_gdia ) THEN 138 ALLOCATE( psix_eiv(jpi,jpj,jpk) , psiy_eiv(jpi,jpj,jpk) , STAT=ierr ) 139 IF( lk_mpp ) CALL mpp_sum ( ierr ) 140 IF( ierr > 0 ) CALL ctl_stop('STOP', 'tra_ldf_iso_grif: unable to allocate diagnostics') 147 IF (.not. ALLOCATED(psix_eiv))THEN 148 ALLOCATE( psix_eiv(jpi,jpj,jpk) , psiy_eiv(jpi,jpj,jpk) , STAT=ierr ) 149 IF( lk_mpp ) CALL mpp_sum ( ierr ) 150 IF( ierr > 0 ) CALL ctl_stop('STOP', 'tra_ldf_iso_grif: unable to allocate diagnostics') 151 ENDIF 141 152 ENDIF 142 153 ENDIF -
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/OPA_SRC/TRA/tranxt.F90
r2715 r2830 48 48 USE agrif_opa_interp 49 49 #endif 50 #if defined key_top 51 USE trc, ONLY: nittrc000 !get first time step for passive tracers 52 #endif 50 53 51 54 IMPLICIT NONE … … 214 217 !!---------------------------------------------------------------------- 215 218 219 #if defined key_top 220 IF( kt == nit000 .OR. (kt == nittrc000 .AND. cdtype == 'TRC')) THEN 221 #else 216 222 IF( kt == nit000 ) THEN 223 #endif 217 224 IF(lwp) WRITE(numout,*) 218 IF(lwp) WRITE(numout,*) 'tra_nxt_fix : time stepping' 225 IF(lwp) WRITE(numout,*) 'tra_nxt_fix : time stepping', cdtype 219 226 IF(lwp) WRITE(numout,*) '~~~~~~~~~~~' 220 227 ENDIF … … 282 289 !!---------------------------------------------------------------------- 283 290 284 IF( kt == nit000 ) THEN 291 #if defined key_top 292 IF( kt == nit000 .OR. (kt == nittrc000 .AND. cdtype == 'TRC')) THEN 293 #else 294 IF( kt == nit000 ) THEN 295 #endif 285 296 IF(lwp) WRITE(numout,*) 286 IF(lwp) WRITE(numout,*) 'tra_nxt_vvl : time stepping' 297 IF(lwp) WRITE(numout,*) 'tra_nxt_vvl : time stepping', cdtype 287 298 IF(lwp) WRITE(numout,*) '~~~~~~~~~~~' 288 299 ENDIF -
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/OPA_SRC/TRA/trazdf_exp.F90
r2715 r2830 31 31 USE in_out_manager ! I/O manager 32 32 USE lib_mpp ! MPP library 33 #if defined key_top 34 USE trc, ONLY: nittrc000 !get first time step for passive tracers 35 #endif 33 36 34 37 IMPLICIT NONE … … 93 96 ENDIF 94 97 98 #if defined key_top 99 IF( kt == nit000 .OR. (kt == nittrc000 .AND. cdtype == 'TRC')) THEN 100 #else 95 101 IF( kt == nit000 ) THEN 102 #endif 96 103 IF(lwp) WRITE(numout,*) 97 104 IF(lwp) WRITE(numout,*) 'tra_zdf_exp : explicit vertical mixing on ', cdtype -
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/OPA_SRC/TRA/trazdf_imp.F90
r2715 r2830 35 35 USE lbclnk ! ocean lateral boundary conditions (or mpp link) 36 36 USE lib_mpp ! MPP library 37 #if defined key_top 38 USE trc, ONLY: nittrc000 !get first time step for passive tracers 39 #endif 37 40 38 41 IMPLICIT NONE … … 102 105 ENDIF 103 106 ENDIF 107 #if defined key_top 108 IF( kt == nittrc000 .AND. cdtype == 'TRC' ) THEN 109 IF(lwp)WRITE(numout,*) 110 IF(lwp)WRITE(numout,*) 'tra_zdf_imp : implicit vertical mixing on ', cdtype 111 IF(lwp)WRITE(numout,*) '~~~~~~~~~~~ ' 112 ! 113 IF( lk_vvl ) THEN ; r_vvl = 1._wp ! Variable volume indicator 114 ELSE ; r_vvl = 0._wp 115 ENDIF 116 ENDIF 117 #endif 104 118 ! 105 119 ! ! ============= ! -
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/C14b/trcsms_c14b.F90
r2715 r2830 119 119 ENDIF 120 120 121 IF( kt == nit 000 ) THEN ! Computation of decay coeffcient121 IF( kt == nittrc000 ) THEN ! Computation of decay coeffcient 122 122 zdemi = 5730._wp 123 123 xlambda = LOG(2.) / zdemi / ( nyear_len(1) * rday ) -
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/CFC/trcnam_cfc.F90
r2715 r2830 37 37 !! 38 38 !! ** Method : Read the namcfc namelist and check the parameter 39 !! values called at the first timestep (nit 000)39 !! values called at the first timestep (nittrc000) 40 40 !! 41 41 !! ** input : Namelist namcfc -
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/CFC/trcsms_cfc.F90
r2715 r2830 97 97 ENDIF 98 98 99 IF( kt == nit 000 ) CALL trc_cfc_cst99 IF( kt == nittrc000 ) CALL trc_cfc_cst 100 100 101 101 ! Temporal interpolation -
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/LOBSTER/trcbio.F90
r2715 r2830 95 95 #endif 96 96 97 IF( kt == nit 000 ) THEN97 IF( kt == nittrc000 ) THEN 98 98 IF(lwp) WRITE(numout,*) 99 99 IF(lwp) WRITE(numout,*) ' trc_bio: LOBSTER bio-model' -
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/LOBSTER/trcexp.F90
r2715 r2830 61 61 !!--------------------------------------------------------------------- 62 62 63 IF( kt == nit 000 ) THEN63 IF( kt == nittrc000 ) THEN 64 64 IF(lwp) WRITE(numout,*) 65 65 IF(lwp) WRITE(numout,*) ' trc_exp: LOBSTER export' -
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/LOBSTER/trcopt.F90
r2715 r2830 72 72 END IF 73 73 74 IF( kt == nit 000 ) THEN74 IF( kt == nittrc000 ) THEN 75 75 IF(lwp) WRITE(numout,*) 76 76 IF(lwp) WRITE(numout,*) ' trc_opt : LOBSTER optic-model' -
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/LOBSTER/trcsed.F90
r2715 r2830 74 74 END IF 75 75 76 IF( kt == nit 000 ) THEN76 IF( kt == nittrc000 ) THEN 77 77 IF(lwp) WRITE(numout,*) 78 78 IF(lwp) WRITE(numout,*) ' trc_sed: LOBSTER sedimentation' -
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/PISCES/p4zsed.F90
r2774 r2830 329 329 330 330 ! Calendar computation 331 IF( kt == nit 000 .OR. imois /= nflx1 ) THEN332 333 IF( kt == nit 000 ) nflx1 = 0331 IF( kt == nittrc000 .OR. imois /= nflx1 ) THEN 332 333 IF( kt == nittrc000 ) nflx1 = 0 334 334 335 335 ! nflx1 number of the first file record used in the simulation -
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/PISCES/trcrst_pisces.F90
r2715 r2830 245 245 #if defined key_dtatrc 246 246 ! Restore close seas values to initial data 247 CALL trc_dta( nit 000 )247 CALL trc_dta( nittrc000 ) 248 248 DO jn = 1, jptra 249 249 IF( lutini(jn) ) THEN -
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/PISCES/trcsms_pisces.F90
r2715 r2830 72 72 !!--------------------------------------------------------------------- 73 73 74 IF( kt == nit 000 ) CALL trc_sms_pisces_init ! Initialization (first time-step only)74 IF( kt == nittrc000 ) CALL trc_sms_pisces_init ! Initialization (first time-step only) 75 75 76 76 IF( wrk_in_use(3,1) ) THEN -
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/SED/sedini.F90
r2761 r2830 449 449 450 450 dtsed = rdt 451 nitsed000 = nit 000451 nitsed000 = nittrc000 452 452 nitsedend = nitend 453 453 #if ! defined key_sed_off -
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/SED/sedmodel.F90
r2528 r2830 35 35 36 36 37 IF( kt == nit 000 ) CALL sed_init ! Initialization of sediment model37 IF( kt == nittrc000 ) CALL sed_init ! Initialization of sediment model 38 38 39 39 CALL sed_stp( kt ) ! Time stepping of Sediment model -
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/SED/sedwri.F90
r2761 r2830 56 56 ! Initialisation 57 57 ! ----------------- 58 IF( kt == nit 000 ) ALLOCATE( ndext52(jpij*jpksed), ndext51(jpij) )58 IF( kt == nittrc000 ) ALLOCATE( ndext52(jpij*jpksed), ndext51(jpij) ) 59 59 60 60 ! Define frequency of output and means -
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/TRP/trcadv.F90
r2715 r2830 35 35 INTEGER :: nadv ! choice of the type of advection scheme 36 36 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:) :: r2dt ! vertical profile time-step, = 2 rdttra 37 ! ! except at nit 000 (=rdttra) if neuler=037 ! ! except at nitrrc000 (=rdttra) if neuler=0 38 38 39 39 !! * Substitutions … … 80 80 ENDIF 81 81 82 IF( kt == nit 000 ) CALL trc_adv_ctl ! initialisation & control of options82 IF( kt == nittrc000 ) CALL trc_adv_ctl ! initialisation & control of options 83 83 84 84 #if ! defined key_pisces 85 IF( neuler == 0 .AND. kt == nit 000 ) THEN ! at nit00085 IF( neuler == 0 .AND. kt == nittrc000 ) THEN ! at nittrc000 86 86 r2dt(:) = rdttrc(:) ! = rdttrc (restarting with Euler time stepping) 87 ELSEIF( kt <= nit 000 + nn_dttrc ) THEN ! at nit000 or nit000+187 ELSEIF( kt <= nittrc000 + nn_dttrc ) THEN ! at nittrc000 or nittrc000+1 88 88 r2dt(:) = 2. * rdttrc(:) ! = 2 rdttrc (leapfrog) 89 89 ENDIF -
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/TRP/trcdmp.F90
r2715 r2830 94 94 ! 0. Initialization (first time-step only) 95 95 ! -------------- 96 IF( kt == nit 000 ) CALL trc_dmp_init96 IF( kt == nittrc000 ) CALL trc_dmp_init 97 97 98 98 IF( l_trdtrc ) ALLOCATE( ztrtrd(jpi,jpj,jpk) ) ! temporary save of trends … … 173 173 !! 174 174 !! ** Method : read the nammbf namelist and check the parameters 175 !! called by trc_dmp at the first timestep (nit 000)175 !! called by trc_dmp at the first timestep (nittrc000) 176 176 !!---------------------------------------------------------------------- 177 177 -
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/TRP/trcldf.F90
r2715 r2830 59 59 !!---------------------------------------------------------------------- 60 60 61 IF( kt == nit 000 ) CALL ldf_ctl ! initialisation & control of options61 IF( kt == nittrc000 ) CALL ldf_ctl ! initialisation & control of options 62 62 63 63 IF( l_trdtrc ) THEN -
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/TRP/trcnxt.F90
r2715 r2830 96 96 !!---------------------------------------------------------------------- 97 97 98 IF( kt == nit 000 .AND. lwp ) THEN98 IF( kt == nittrc000 .AND. lwp ) THEN 99 99 WRITE(numout,*) 100 100 WRITE(numout,*) 'trc_nxt : time stepping on passive tracers' … … 119 119 120 120 ! set time step size (Euler/Leapfrog) 121 IF( neuler == 0 .AND. kt == nit 000) THEN ; r2dt(:) = rdttrc(:) ! at nit000 (Euler)122 ELSEIF( kt <= nit 000 + 1) THEN ; r2dt(:) = 2.* rdttrc(:) ! at nit000 or nit000+1 (Leapfrog)121 IF( neuler == 0 .AND. kt == nittrc000) THEN ; r2dt(:) = rdttrc(:) ! at nittrc000 (Euler) 122 ELSEIF( kt <= nittrc000 + nn_dttrc ) THEN ; r2dt(:) = 2.* rdttrc(:) ! at nit000 or nit000+1 (Leapfrog) 123 123 ENDIF 124 124 … … 129 129 ENDIF 130 130 ! Leap-Frog + Asselin filter time stepping 131 IF( neuler == 0 .AND. kt == nit 000 ) THEN ! Euler time-stepping at first time-step132 ! ! (only swap)131 IF( neuler == 0 .AND. kt == nittrc000 ) THEN ! Euler time-stepping at first time-step 132 ! ! (only swap) 133 133 DO jn = 1, jptra 134 134 DO jk = 1, jpkm1 -
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/TRP/trcrad.F90
r2715 r2830 53 53 !!---------------------------------------------------------------------- 54 54 55 IF( kt == nit 000 ) THEN55 IF( kt == nittrc000 ) THEN 56 56 IF(lwp) WRITE(numout,*) 57 57 IF(lwp) WRITE(numout,*) 'trc_rad : Correct artificial negative concentrations ' -
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/TRP/trcsbc.F90
r2715 r2830 72 72 END IF 73 73 74 IF( kt == nit 000 ) THEN74 IF( kt == nittrc000 ) THEN 75 75 IF(lwp) WRITE(numout,*) 76 76 IF(lwp) WRITE(numout,*) 'trc_sbc : Passive tracers surface boundary condition' -
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/TRP/trczdf.F90
r2715 r2830 32 32 ! ! defined from ln_zdf... namlist logicals) 33 33 REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:) :: r2dt ! vertical profile time-step, = 2 rdttra 34 ! ! except at nit 000 (=rdttra) if neuler=034 ! ! except at nittrc000 (=rdttra) if neuler=0 35 35 36 36 !! * Substitutions … … 69 69 !!--------------------------------------------------------------------- 70 70 71 IF( kt == nit 000 ) CALL zdf_ctl ! initialisation & control of options71 IF( kt == nittrc000 ) CALL zdf_ctl ! initialisation & control of options 72 72 73 73 #if ! defined key_pisces 74 IF( neuler == 0 .AND. kt == nit 000 ) THEN ! at nit00074 IF( neuler == 0 .AND. kt == nittrc000 ) THEN ! at nittrc000 75 75 r2dt(:) = rdttrc(:) ! = rdttrc (restarting with Euler time stepping) 76 ELSEIF( kt <= nit 000 + nn_dttrc ) THEN ! at nit000 or nit000+176 ELSEIF( kt <= nittrc000 + nn_dttrc ) THEN ! at nittrc000 or nittrc000+nn_dttrc 77 77 r2dt(:) = 2. * rdttrc(:) ! = 2 rdttrc (leapfrog) 78 78 ENDIF -
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/TRP/trdmld_trc.F90
r2715 r2830 475 475 ! II.1 Set before values of vertically averages passive tracers 476 476 ! ------------------------------------------------------------- 477 IF( kt > nit 000 ) THEN477 IF( kt > nittrc000 ) THEN 478 478 DO jn = 1, jptra 479 479 IF( ln_trdtrc(jn) ) THEN … … 497 497 ! II.3 Initialize mixed-layer "before" arrays for the 1rst analysis window 498 498 ! ------------------------------------------------------------------------ 499 IF( kt == 2) THEN ! i.e. ( .NOT. ln_rstart ).AND.( kt == nit000 + 1) ???499 IF( kt == nittrc000 + nn_dttrc ) THEN ! i.e. ( .NOT. ln_rstart ).AND.( kt == nit000 + 1) ??? 500 500 ! 501 501 DO jn = 1, jptra … … 560 560 tmltrd_trc(:,:,:,:) = tmltrd_trc(:,:,:,:) * rn_ucf_trc 561 561 562 itmod = kt - nit 000 + 1562 itmod = kt - nittrc000 + 1 563 563 it = kt 564 564 … … 980 980 ! II.3 Initialize mixed-layer "before" arrays for the 1rst analysis window 981 981 ! ------------------------------------------------------------------------ 982 IF( kt == 2) THEN ! i.e. ( .NOT. ln_rstart ).AND.( kt == nit000 + 1)982 IF( kt == nittrc000 + nn_dttrc ) THEN ! i.e. ( .NOT. ln_rstart ).AND.( kt == nit000 + 1) 983 983 ! 984 984 tmltrd_csum_ub_bio (:,:,:) = 0.e0 … … 1086 1086 1087 1087 ! define time axis 1088 itmod = kt - nit 000 + 11088 itmod = kt - nittrc000 + 1 1089 1089 it = kt 1090 1090 … … 1331 1331 zjulian = zjulian - adatrj ! set calendar origin to the beginning of the experiment 1332 1332 IF(lwp) WRITE(numout,*)' ' 1333 IF(lwp) WRITE(numout,*)' Date 0 used :', nit 000&1333 IF(lwp) WRITE(numout,*)' Date 0 used :', nittrc000 & 1334 1334 & ,' YEAR ', nyear, ' MONTH ', nmonth,' DAY ', nday & 1335 1335 & ,'Julian day : ', zjulian … … 1360 1360 CALL dia_nam( clhstnam, nn_trd_trc, csuff ) 1361 1361 CALL histbeg( clhstnam, jpi, glamt, jpj, gphit, & 1362 & 1, jpi, 1, jpj, nit 000, zjulian, rdt, nh_t(jn), nidtrd(jn), domain_id=nidom, snc4chunks=snc4set )1362 & 1, jpi, 1, jpj, nittrc000, zjulian, rdt, nh_t(jn), nidtrd(jn), domain_id=nidom, snc4chunks=snc4set ) 1363 1363 1364 1364 !-- Define the ML depth variable … … 1373 1373 CALL dia_nam( clhstnam, nn_trd_trc, 'trdbio' ) 1374 1374 CALL histbeg( clhstnam, jpi, glamt, jpj, gphit, & 1375 & 1, jpi, 1, jpj, nit 000, zjulian, rdt, nh_tb, nidtrdbio, domain_id=nidom, snc4chunks=snc4set )1375 & 1, jpi, 1, jpj, nittrc000, zjulian, rdt, nh_tb, nidtrdbio, domain_id=nidom, snc4chunks=snc4set ) 1376 1376 #endif 1377 1377 -
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/TRP/trdmod_trc.F90
r2528 r2830 50 50 !!---------------------------------------------------------------------- 51 51 52 IF( kt == nit 000 ) THEN52 IF( kt == nittrc000 ) THEN 53 53 ! IF(lwp)WRITE(numout,*) 54 54 ! IF(lwp)WRITE(numout,*) 'trd_mod_trc:' -
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/oce_trc.F90
r2787 r2830 192 192 USE oce , ONLY : rhd => rhd !: in situ density anomalie rhd=(rho-rau0)/rau0 (no units) 193 193 USE oce , ONLY : hdivn => hdivn !: horizontal divergence (1/s) 194 USE oce , ONLY : rotn => rotn !: relative vorticity [s-1] 195 USE oce , ONLY : hdivb => hdivb !: horizontal divergence (1/s) 196 USE oce , ONLY : rotb => rotb !: relative vorticity [s-1] 197 USE oce , ONLY : sshn => sshn !: sea surface height at t-point [m] 198 USE oce , ONLY : sshb => sshb !: sea surface height at t-point [m] 199 USE oce , ONLY : ssha => ssha !: sea surface height at t-point [m] 200 USE oce , ONLY : sshu_n => sshu_n !: sea surface height at u-point [m] 201 USE oce , ONLY : sshu_b => sshu_b !: sea surface height at u-point [m] 202 USE oce , ONLY : sshu_a => sshu_a !: sea surface height at u-point [m] 203 USE oce , ONLY : sshv_n => sshv_n !: sea surface height at v-point [m] 204 USE oce , ONLY : sshv_b => sshv_b !: sea surface height at v-point [m] 205 USE oce , ONLY : sshv_a => sshv_a !: sea surface height at v-point [m] 206 USE oce , ONLY : sshf_n => sshf_n !: sea surface height at v-point [m] 207 USE oce , ONLY : l_traldf_rot => l_traldf_rot !: rotated laplacian operator for lateral diffusion 194 208 USE oce , ONLY : l_traldf_rot => l_traldf_rot !: rotated laplacian operator for lateral diffusion 195 209 #if defined key_offline -
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/trc.F90
r2715 r2830 58 58 CHARACTER(len=50), PUBLIC :: cn_trcrst_in !: suffix of pass. tracer restart name (input) 59 59 CHARACTER(len=50), PUBLIC :: cn_trcrst_out !: suffix of pass. tracer restart name (output) 60 61 INTEGER , PUBLIC :: nittrc000 !: first time step of passive tracers model 60 62 61 63 !! information for outputs … … 99 101 # endif 100 102 103 !! variables to average over physics over passive tracer sub-steps. 104 !! ---------------------------------------------------------------- 105 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION (:,:,:) :: un_tm !: i-horizontal velocity average [m/s] 106 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION (:,:,:) :: vn_tm !: j-horizontal velocity average [m/s] 107 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION (:,:,:) :: wn_tm !: k-vertical velocity average [m/s] 108 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION (:,:,:) :: avt_tm !: vertical viscosity & diffusivity coeff. at w-point [m2/s] 109 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION (:,:) :: sshn_tm !: average ssh for the now step [m] 110 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION (:,:) :: sshb_hold !:hold sshb from the beginning of each sub-stepping[m] 111 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION (:,:) :: sshu_n_tm !: average ssh for the now step [m] 112 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION (:,:) :: sshu_b_hold !:hold sshb from the beginning of each sub-stepping[m] 113 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION (:,:) :: sshv_n_tm !: average ssh for the now step [m] 114 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION (:,:) :: sshv_b_hold !:hold sshb from the beginning of each sub-stepping[m] 115 #if defined key_ldfslp 116 REAL(wp), PUBLIC,ALLOCATABLE, SAVE, DIMENSION (:,:,:) :: wslpi_tm !: i-direction slope at u-, w-points 117 REAL(wp), PUBLIC,ALLOCATABLE, SAVE, DIMENSION (:,:,:) :: wslpj_tm !: j-direction slope at u-, w-points 118 REAL(wp), PUBLIC,ALLOCATABLE, SAVE, DIMENSION (:,:,:) :: uslp_tm !: j-direction slope at u-, w-points 119 REAL(wp), PUBLIC,ALLOCATABLE, SAVE, DIMENSION (:,:,:) :: vslp_tm !: j-direction slope at u-, w-points 120 #endif 121 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION (:,:) :: rnf_tm !: river runoff 122 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION (:,:) :: h_rnf_tm !: depth in metres to the bottom of the relevant grid box 123 REAL(wp), PUBLIC,ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: avt_temp,un_temp,vn_temp,wn_temp !: hold current values of avt, un, vn, wn 124 #if defined key_ldfslp 125 REAL(wp), PUBLIC,ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: wslpi_temp,wslpj_temp, uslp_temp, vslp_temp !: hold current values 126 #endif 127 REAL(wp), PUBLIC,ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: e3t_temp,e3u_temp,e3v_temp,e3w_temp !: hold current values 128 REAL(wp), PUBLIC,ALLOCATABLE, SAVE, DIMENSION(:,:):: sshn_temp, sshb_temp, ssha_temp, rnf_temp,h_rnf_temp 129 REAL(wp), PUBLIC,ALLOCATABLE, SAVE, DIMENSION(:,:):: sshu_n_temp, sshu_b_temp, sshu_a_temp 130 REAL(wp), PUBLIC,ALLOCATABLE, SAVE, DIMENSION(:,:):: sshf_n_temp, sshf_b_temp, sshf_a_temp 131 REAL(wp), PUBLIC,ALLOCATABLE, SAVE, DIMENSION(:,:):: sshv_n_temp, sshv_b_temp, sshv_a_temp 132 REAL(wp), PUBLIC,ALLOCATABLE, SAVE, DIMENSION(:,:):: hu_temp, hv_temp, hur_temp, hvr_temp 133 REAL(wp), PUBLIC,ALLOCATABLE, SAVE, DIMENSION(:,:,:):: hdivn_temp, rotn_temp 134 REAL(wp), PUBLIC,ALLOCATABLE, SAVE, DIMENSION(:,:,:):: hdivb_temp, rotb_temp 135 101 136 !!---------------------------------------------------------------------- 102 137 !! NEMO/TOP 3.3.1 , NEMO Consortium (2010) -
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/trcdia.F90
r2715 r2830 85 85 !! ** Purpose : Standard output of passive tracer : concentration fields 86 86 !! 87 !! ** Method : At the beginning of the first time step (nit 000), define all87 !! ** Method : At the beginning of the first time step (nittrc000), define all 88 88 !! the NETCDF files and fields for concentration of passive tracer 89 89 !! … … 135 135 136 136 ! define time axis 137 itmod = kt - nit 000 + 1137 itmod = kt - nittrc000 + 1 138 138 it = kt 139 139 iiter = ( nit000 - 1 ) / nn_dttrc … … 144 144 IF(ll_print)WRITE(numout,*)'trcdit_wr kt=',kt,' kindic ',kindic 145 145 146 IF( kt == nit 000 ) THEN146 IF( kt == nittrc000 ) THEN 147 147 148 148 ! Compute julian date from starting date of the run … … 150 150 zjulian = zjulian - adatrj ! set calendar origin to the beginning of the experiment 151 151 IF(lwp)WRITE(numout,*)' ' 152 IF(lwp)WRITE(numout,*)' Date 0 used :', nit 000 &152 IF(lwp)WRITE(numout,*)' Date 0 used :', nittrc000 & 153 153 & ,' YEAR ', nyear, ' MONTH ', nmonth, ' DAY ', nday & 154 154 & ,'Julian day : ', zjulian … … 226 226 !! ** Purpose : output of passive tracer : additional 2D and 3D arrays 227 227 !! 228 !! ** Method : At the beginning of the first time step (nit 000), define all228 !! ** Method : At the beginning of the first time step (nittrc000), define all 229 229 !! the NETCDF files and fields for concentration of passive tracer 230 230 !! … … 275 275 276 276 ! define time axis 277 itmod = kt - nit 000 + 1277 itmod = kt - nittrc000 + 1 278 278 it = kt 279 279 iiter = ( nit000 - 1 ) / nn_dttrc … … 284 284 IF( ll_print ) WRITE(numout,*) 'trcdii_wr kt=', kt, ' kindic ', kindic 285 285 286 IF( kt == nit 000 ) THEN286 IF( kt == nittrc000 ) THEN 287 287 288 288 ! Define the NETCDF files for additional arrays : 2D or 3D … … 375 375 !! ** Purpose : output of passive tracer : biological fields 376 376 !! 377 !! ** Method : At the beginning of the first time step (nit 000), define all377 !! ** Method : At the beginning of the first time step (nittrc000), define all 378 378 !! the NETCDF files and fields for concentration of passive tracer 379 379 !! … … 424 424 425 425 ! define time axis 426 itmod = kt - nit 000 + 1426 itmod = kt - nittrc000 + 1 427 427 it = kt 428 428 iiter = ( nit000 - 1 ) / nn_dttrc … … 433 433 IF(ll_print) WRITE(numout,*)'trcdib_wr kt=',kt,' kindic ',kindic 434 434 435 IF( kt == nit 000 ) THEN435 IF( kt == nittrc000 ) THEN 436 436 437 437 ! Define the NETCDF files for biological trends -
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/trcdta.F90
r2715 r2830 71 71 IF( lutini(jn) ) THEN 72 72 73 IF ( kt == nit 000 ) THEN73 IF ( kt == nittrc000 ) THEN 74 74 !! 3D tracer data 75 75 IF(lwp)WRITE(numout,*) … … 86 86 87 87 88 ! First call kt=nit 00088 ! First call kt=nittrc000 89 89 ! -------------------- 90 90 91 IF ( kt == nit 000 .AND. nlectr(jn) == 0 ) THEN91 IF ( kt == nittrc000 .AND. nlectr(jn) == 0 ) THEN 92 92 ntrc1(jn) = 0 93 93 IF(lwp) WRITE(numout,*) ' trc_dta : Levitus tracer data monthly fields' … … 104 104 # if defined key_pisces 105 105 ! Read montly file 106 IF( ( kt == nit 000 .AND. nlectr(jn) == 0) .OR. imois /= ntrc1(jn) ) THEN106 IF( ( kt == nittrc000 .AND. nlectr(jn) == 0) .OR. imois /= ntrc1(jn) ) THEN 107 107 nlectr(jn) = 1 108 108 … … 186 186 # else 187 187 ! Read init file only 188 IF( kt == nit 000 ) THEN188 IF( kt == nittrc000 ) THEN 189 189 ntrc1(jn) = 1 190 190 CALL iom_get ( numtr(jn), jpdom_data, ctrcnm(jn), trdta(:,:,:,jn), ntrc1(jn) ) -
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/trcini.F90
r2715 r2830 29 29 USE zpshde ! partial step: hor. derivative (zps_hde routine) 30 30 USE prtctl_trc ! Print control passive tracers (prt_ctl_trc_init routine) 31 USE trcsubstp ! variables to substep passive tracers 31 32 32 33 IMPLICIT NONE … … 122 123 IF( ln_rsttr ) THEN 123 124 ! 124 IF( lk_offline ) neuler = 1 ! Set time-step indicator at nit 000 (leap-frog)125 IF( lk_offline ) neuler = 1 ! Set time-step indicator at nittrc000 (leap-frog) 125 126 CALL trc_rst_read ! restart from a file 126 127 ! 127 128 ELSE 128 129 IF( lk_offline ) THEN 129 neuler = 0 ! Set time-step indicator at nit 000 (euler)130 neuler = 0 ! Set time-step indicator at nittrc000 (euler) 130 131 CALL day_init ! set calendar 131 132 ENDIF 132 133 #if defined key_dtatrc 133 CALL trc_dta( nit 000 ) ! Initialization of tracer from a file that may also be used for damping134 CALL trc_dta( nittrc000 ) ! Initialization of tracer from a file that may also be used for damping 134 135 DO jn = 1, jptra 135 136 IF( lutini(jn) ) trn(:,:,:,jn) = trdta(:,:,:,jn) * tmask(:,:,:) ! initialisation from file if required … … 143 144 144 145 IF( ln_zps .AND. .NOT. lk_c1d ) & ! Partial steps: before horizontal gradient of passive 145 & CALL zps_hde( nit 000, jptra, trn, gtru, gtrv ) ! tracers at the bottom ocean level146 & CALL zps_hde( nittrc000, jptra, trn, gtru, gtrv ) ! tracers at the bottom ocean level 146 147 147 148 … … 170 171 CALL prt_ctl_trc_info( charout ) 171 172 CALL prt_ctl_trc( tab4d=trn, mask=tmask, clinfo=ctrcnm ) 173 ENDIF 174 175 IF(nn_dttrc .NE. 1) THEN 176 CALL trc_sub_stp_ini !initialize variables for substepping passive tracers 172 177 ENDIF 173 178 ! -
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/trcnam.F90
r2715 r2830 109 109 END DO 110 110 111 !!KPE computes the first time step of tracer model 112 nittrc000 = nit000 + nn_dttrc - 1 113 111 114 112 115 IF(lwp) THEN ! control print … … 114 117 WRITE(numout,*) ' Namelist : namtrc' 115 118 WRITE(numout,*) ' time step freq. for pass. trac. nn_dttrc = ', nn_dttrc 119 WRITE(numout,*) ' first time step for pass. trac. nittrc000 = ', nittrc000 116 120 WRITE(numout,*) ' frequency of outputs for passive tracers nn_writetrc = ', nn_writetrc 117 121 WRITE(numout,*) ' restart LOGICAL for passive tr. ln_rsttr = ', ln_rsttr -
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/trcrst.F90
r2715 r2830 60 60 ! 61 61 IF( lk_offline ) THEN 62 IF( kt == nit 000 ) THEN62 IF( kt == nittrc000 ) THEN 63 63 lrst_trc = .FALSE. 64 64 nitrst = nitend … … 71 71 ENDIF 72 72 ELSE 73 IF( kt == nit 000 ) lrst_trc = .FALSE.73 IF( kt == nittrc000 ) lrst_trc = .FALSE. 74 74 ENDIF 75 75 … … 119 119 ! Time domain : restart 120 120 ! --------------------- 121 CALL trc_rst_cal( nit 000, 'READ' ) ! calendar121 CALL trc_rst_cal( nittrc000, 'READ' ) ! calendar 122 122 123 123 ! READ prognostic variables and computes diagnostic variable … … 196 196 !! 197 197 !! According to namelist parameter nrstdt, 198 !! nn_rsttr = 0 no control on the date (nit 000 is arbitrary).199 !! nn_rsttr = 1 we verify that nit 000 is equal to the last198 !! nn_rsttr = 0 no control on the date (nittrc000 is arbitrary). 199 !! nn_rsttr = 1 we verify that nittrc000 is equal to the last 200 200 !! time step of previous run + 1. 201 201 !! In both those options, the exact duration of the experiment … … 223 223 WRITE(numout,*) ' *** restart option' 224 224 SELECT CASE ( nn_rsttr ) 225 CASE ( 0 ) ; WRITE(numout,*) ' nn_rsttr = 0 : no control of nit 000'226 CASE ( 1 ) ; WRITE(numout,*) ' nn_rsttr = 1 : no control the date at nit 000 (use ndate0 read in the namelist)'225 CASE ( 0 ) ; WRITE(numout,*) ' nn_rsttr = 0 : no control of nittrc000' 226 CASE ( 1 ) ; WRITE(numout,*) ' nn_rsttr = 1 : no control the date at nittrc000 (use ndate0 read in the namelist)' 227 227 CASE ( 2 ) ; WRITE(numout,*) ' nn_rsttr = 2 : calendar parameters read in restart' 228 228 END SELECT … … 230 230 ENDIF 231 231 ! Control of date 232 IF( nit 000 - NINT( zkt ) /= 1 .AND. nn_rsttr /= 0 ) &233 & CALL ctl_stop( ' ===>>>> : problem with nit 000 for the restart', &232 IF( nittrc000 - NINT( zkt ) /= 1 .AND. nn_rsttr /= 0 ) & 233 & CALL ctl_stop( ' ===>>>> : problem with nittrc000 for the restart', & 234 234 & ' verify the restart file or rerun with nn_rsttr = 0 (namelist)' ) 235 235 IF( lk_offline ) THEN ! set the date in offline mode … … 246 246 ELSE 247 247 ndastp = ndate0 - 1 ! ndate0 read in the namelist in dom_nam 248 adatrj = ( REAL( nit 000-1, wp ) * rdttra(1) ) / rday248 adatrj = ( REAL( nittrc000-1, wp ) * rdttra(1) ) / rday 249 249 ! note this is wrong if time step has changed during run 250 250 ENDIF -
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/trcstp.F90
r2528 r2830 22 22 USE iom 23 23 USE in_out_manager 24 USE trcsubstp 24 25 25 26 IMPLICIT NONE … … 27 28 28 29 PUBLIC trc_stp ! called by step 30 # include "domzgr_substitute.h90" 29 31 30 32 !!---------------------------------------------------------------------- … … 49 51 !!------------------------------------------------------------------- 50 52 51 IF( MOD( kt - 1 , nn_dttrc ) == 0 ) THEN ! only every nn_dttrc time step 53 IF(nn_dttrc .NE. 1) THEN 54 CALL trc_sub_stp(kt) 55 ENDIF 56 IF( MOD( kt , nn_dttrc ) == 0 ) THEN ! only every nn_dttrc time step 57 52 58 ! 53 59 IF(ln_ctl) THEN … … 58 64 tra(:,:,:,:) = 0.e0 59 65 ! 60 IF( kt == nit 000 .AND. lk_trdmld_trc ) &66 IF( kt == nittrc000 .AND. lk_trdmld_trc ) & 61 67 & CALL trd_mld_trc_init ! trends: Mixed-layer 62 68 CALL trc_rst_opn( kt ) ! Open tracer restart file … … 66 72 CALL trc_sms( kt ) ! tracers: sink and source 67 73 CALL trc_trp( kt ) ! transport of passive tracers 68 IF( kt == nit 000 ) CALL iom_close( numrtr ) ! close input passive tracers restart file74 IF( kt == nittrc000 ) CALL iom_close( numrtr ) ! close input passive tracers restart file 69 75 IF( lrst_trc ) CALL trc_rst_wri( kt ) ! write tracer restart file 70 76 IF( lk_trdmld_trc ) CALL trd_mld_trc( kt ) ! trends: Mixed-layer 71 77 ! 78 IF(nn_dttrc .NE. 1) THEN 79 CALL trc_sub_stp_reset(kt) 80 ENDIF 72 81 ENDIF 73 82 -
branches/2011/dev_r2802_TOP_substepping/NEMOGCM/NEMO/TOP_SRC/trcwri.F90
r2567 r2830 57 57 !!--------------------------------------------------------------------- 58 58 59 IF( lk_offline .AND. kt == nit 000 .AND. lwp ) THEN ! WRITE root name in date.file for use by postpro59 IF( lk_offline .AND. kt == nittrc000 .AND. lwp ) THEN ! WRITE root name in date.file for use by postpro 60 60 CALL dia_nam( clhstnam, nn_writetrc,' ' ) 61 61 CALL ctl_opn( inum, 'date.file', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp, narea )
Note: See TracChangeset
for help on using the changeset viewer.