Changeset 4666 for branches/2014/dev_r4650_UKMO2_ice_shelves/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_cen2.F90
- Timestamp:
- 2014-06-11T14:52:23+02:00 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2014/dev_r4650_UKMO2_ice_shelves/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_cen2.F90
r4499 r4666 33 33 USE wrk_nemo ! Memory Allocation 34 34 USE timing ! Timing 35 USE phycst 35 36 36 37 IMPLICIT NONE … … 121 122 REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt), INTENT(inout) :: pta ! tracer trend 122 123 ! 123 INTEGER :: ji, jj, jk, jn ! dummy loop indices124 INTEGER :: ierr ! local integer124 INTEGER :: ji, jj, jk, jn, ik ! dummy loop indices 125 INTEGER :: ierr ! local integer 125 126 REAL(wp) :: zbtr, ztra ! local scalars 126 127 REAL(wp) :: zfp_ui, zfp_vj, zfp_w, zcofi ! - - … … 128 129 REAL(wp) :: zupsut, zcenut, zupst ! - - 129 130 REAL(wp) :: zupsvt, zcenvt, zcent, zice ! - - 130 REAL(wp), POINTER, DIMENSION(:,: ) :: ztfreez 131 REAL(wp), POINTER, DIMENSION(:,: ) :: ztfreez, zpress 131 132 REAL(wp), POINTER, DIMENSION(:,:,:) :: zwz, zind 132 133 !!---------------------------------------------------------------------- … … 134 135 IF( nn_timing == 1 ) CALL timing_start('tra_adv_cen2') 135 136 ! 136 CALL wrk_alloc( jpi, jpj, ztfreez )137 CALL wrk_alloc( jpi, jpj, ztfreez, zpress ) 137 138 CALL wrk_alloc( jpi, jpj, jpk, zwz, zind ) 138 139 ! … … 169 170 !!gm not strickly exact : the freezing point should be computed at each ocean levels... 170 171 !!gm not a big deal since cen2 is no more used in global ice-ocean simulations 171 ztfreez(:,:) = tfreez( tsn(:,:,1,jp_sal) ) 172 !!ch changes for ice shelf to retain standard behaviour elsewhere, even if not optimal 173 DO jj = 1, jpj 174 DO ji = 1, jpi 175 ik=mikt(ji,jj) 176 IF (ik > 1 ) THEN 177 zpress(ji,jj) = grav*rau0*fsdept(ji,jj,ik)*1.e-04 178 ELSE 179 zpress(ji,jj) = 0.0 180 ENDIF 181 END DO 182 END DO 183 ztfreez(:,:) = tfreez( tsn(:,:,1, jp_sal), zpress(:,:) ) 184 172 185 DO jk = 1, jpk 173 186 DO jj = 1, jpj … … 224 237 ! ! Surface value : 225 238 IF( lk_vvl ) THEN ; zwz(:,:, 1 ) = 0.e0 ! volume variable 226 ELSE ; zwz(:,:, 1 ) = pwn(:,:,1) * ptn(:,:,1,jn) ! linear free surface 239 ELSE 240 DO jj = 1, jpj ! vector opt. 241 DO ji = 1, jpi ! vector opt. 242 ik=mikt(ji,jj) 243 zwz(ji,jj,ik ) = pwn(ji,jj,ik) * ptn(ji,jj,ik,jn) ! linear free surface 244 zwz(ji,jj,1:ik-1) = 0.e0 245 END DO 246 END DO 227 247 ENDIF 228 248 ! … … 281 301 ENDIF 282 302 ! 283 CALL wrk_dealloc( jpi, jpj, ztfreez )303 CALL wrk_dealloc( jpi, jpj, ztfreez, zpress ) 284 304 CALL wrk_dealloc( jpi, jpj, jpk, zwz, zind ) 285 305 !
Note: See TracChangeset
for help on using the changeset viewer.