Changeset 6140 for trunk/NEMOGCM/NEMO/TOP_SRC/TRP/trcsbc.F90
- Timestamp:
- 2015-12-21T12:35:23+01:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/TOP_SRC/TRP/trcsbc.F90
r5836 r6140 28 28 PUBLIC trc_sbc ! routine called by step.F90 29 29 30 REAL(wp) :: r2dt ! time-step at surface31 32 30 !! * Substitutions 33 # include "domzgr_substitute.h90"34 31 # include "vectopt_loop_substitute.h90" 35 32 !!---------------------------------------------------------------------- … … 76 73 ! 77 74 ! Allocate temporary workspace 78 CALL wrk_alloc( jpi, jpj,zsfx )79 IF( l_trdtrc ) CALL wrk_alloc( jpi, jpj, jpk,ztrtrd )75 CALL wrk_alloc( jpi,jpj, zsfx ) 76 IF( l_trdtrc ) CALL wrk_alloc( jpi,jpj,jpk, ztrtrd ) 80 77 ! 81 78 zrtrn = 1.e-15_wp … … 88 85 89 86 IF( ln_top_euler) THEN 90 r2dt = rdttrc (1)! = rdttrc (use Euler time stepping)87 r2dt = rdttrc ! = rdttrc (use Euler time stepping) 91 88 ELSE 92 89 IF( neuler == 0 .AND. kt == nittrc000 ) THEN ! at nittrc000 93 r2dt = rdttrc (1)! = rdttrc (restarting with Euler time stepping)90 r2dt = rdttrc ! = rdttrc (restarting with Euler time stepping) 94 91 ELSEIF( kt <= nittrc000 + nn_dttrc ) THEN ! at nittrc000 or nittrc000+1 95 r2dt = 2. * rdttrc (1)! = 2 rdttrc (leapfrog)92 r2dt = 2. * rdttrc ! = 2 rdttrc (leapfrog) 96 93 ENDIF 97 94 ENDIF … … 129 126 ! Coupling offline : runoff are in emp which contains E-P-R 130 127 ! 131 IF( .NOT. lk_offline .AND. lk_vvl) THEN ! online coupling with vvl128 IF( .NOT. lk_offline .AND. .NOT.ln_linssh ) THEN ! online coupling with vvl 132 129 zsfx(:,:) = 0._wp 133 130 ELSE ! online coupling free surface or offline with free surface … … 138 135 DO jn = 1, jptra 139 136 ! 140 IF( l_trdtrc ) ztrtrd(:,:,:) = tra(:,:,:,jn) ! save trends 141 ! ! add the trend to the general tracer trend 137 IF( l_trdtrc ) ztrtrd(:,:,:) = tra(:,:,:,jn) ! save trends 142 138 143 139 IF ( nn_ice_tr == -1 ) THEN ! No tracers in sea ice (null concentration in sea ice) … … 153 149 DO jj = 2, jpj 154 150 DO ji = fs_2, fs_jpim1 ! vector opt. 155 zse3t = 1. / fse3t(ji,jj,1)151 zse3t = 1. / e3t_n(ji,jj,1) 156 152 ! tracer flux at the ice/ocean interface (tracer/m2/s) 157 153 zftra = - trc_i(ji,jj,jn) * fmmflx(ji,jj) ! uptake of tracer in the sea ice … … 174 170 DO jj = 2, jpj 175 171 DO ji = fs_2, fs_jpim1 ! vector opt. 176 zse3t = zfact / fse3t(ji,jj,1)172 zse3t = zfact / e3t_n(ji,jj,1) 177 173 tra(ji,jj,1,jn) = tra(ji,jj,1,jn) + ( sbc_trc_b(ji,jj,jn) + sbc_trc(ji,jj,jn) ) * zse3t 178 174 END DO … … 203 199 CALL prt_ctl_trc( tab4d=tra, mask=tmask, clinfo=ctrcnm, clinfo2='trd' ) 204 200 ENDIF 205 CALL wrk_dealloc( jpi, jpj,zsfx )206 IF( l_trdtrc ) CALL wrk_dealloc( jpi, jpj, jpk,ztrtrd )201 CALL wrk_dealloc( jpi,jpj, zsfx ) 202 IF( l_trdtrc ) CALL wrk_dealloc( jpi,jpj,jpk, ztrtrd ) 207 203 ! 208 204 IF( nn_timing == 1 ) CALL timing_stop('trc_sbc')
Note: See TracChangeset
for help on using the changeset viewer.