- Timestamp:
- 2012-02-21T17:00:02+01:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2012/dev_r3309_LOCEAN12_Ediag/NEMOGCM/NEMO/OPA_SRC/TRD/trdvor.F90
r3294 r3316 4 4 !! Ocean diagnostics: momentum trends 5 5 !!===================================================================== 6 !! History : 1.0 ! 04-2006 (L. Brunier, A-M. Treguier) Original code 7 !! 2.0 ! 04-2008 (C. Talandier) New trends organization 6 !! History : 1.0 ! 2006-01 (L. Brunier, A-M. Treguier) Original code 7 !! 2.0 ! 2008-04 (C. Talandier) New trends organization 8 !! 3.5 ! 2012-02 (G. Madec) regroup beta.V computation with pvo trend 8 9 !!---------------------------------------------------------------------- 9 10 #if defined key_trdvor || defined key_esopa … … 109 110 !! trends output in netCDF format using ioipsl 110 111 !!---------------------------------------------------------------------- 111 !112 112 INTEGER , INTENT(in ) :: ktrd ! ocean trend index 113 113 REAL(wp), DIMENSION(jpi,jpj), INTENT(inout) :: putrdvor ! u vorticity trend … … 229 229 END DO 230 230 231 ! Save Beta.V term to avoid average before Curl232 ! Beta.V : intergration, noaverage233 IF( ktrd == jpvor_ bev) THEN231 ! Planetary vorticity: 2nd computation (Beta.V term) store the vertical sum 232 ! as Beta.V term need intergration, not average 233 IF( ktrd == jpvor_pvo ) THEN 234 234 zubet(:,:) = zudpvor(:,:) 235 235 zvbet(:,:) = zvdpvor(:,:) 236 ENDIF 237 238 ! Average except for Beta.V 236 DO ji = 1, jpim1 237 DO jj = 1, jpjm1 238 vortrd(ji,jj,jpvor_bev) = ( zvbet(ji+1,jj) - zvbet(ji,jj) & 239 & - ( zubet(ji,jj+1) - zubet(ji,jj) ) ) / ( e1f(ji,jj) * e2f(ji,jj) ) 240 END DO 241 END DO 242 ! Average of the Curl and Surface mask 243 vortrd(:,:,jpvor_bev) = vortrd(:,:,jpvor_bev) * hur(:,:) * fmask(:,:,1) 244 ENDIF 245 ! 246 ! Average 239 247 zudpvor(:,:) = zudpvor(:,:) * hur(:,:) 240 248 zvdpvor(:,:) = zvdpvor(:,:) * hvr(:,:) 241 249 ! 242 250 ! Curl 243 251 DO ji=1,jpim1 … … 247 255 END DO 248 256 END DO 249 250 257 ! Surface mask 251 258 vortrd(:,:,ktrd) = vortrd(:,:,ktrd) * fmask(:,:,1) 252 253 ! Special treatement for the Beta.V term254 ! Compute the Curl of the Beta.V term which is not averaged255 IF( ktrd == jpvor_bev ) THEN256 DO ji=1,jpim1257 DO jj=1,jpjm1258 vortrd(ji,jj,jpvor_bev) = ( zvbet(ji+1,jj) - zvbet(ji,jj) &259 & - ( zubet(ji,jj+1) - zubet(ji,jj) ) ) / ( e1f(ji,jj) * e2f(ji,jj) )260 END DO261 END DO262 263 ! Average on the Curl264 vortrd(:,:,jpvor_bev) = vortrd(:,:,jpvor_bev) * hur(:,:)265 266 ! Surface mask267 vortrd(:,:,jpvor_bev) = vortrd(:,:,jpvor_bev) * fmask(:,:,1)268 ENDIF269 259 270 260 IF( ndebug /= 0 ) THEN … … 330 320 331 321 ! Curl 332 DO ji =1,jpim1333 DO jj =1,jpjm1322 DO ji = 1, jpim1 323 DO jj = 1, jpjm1 334 324 vor_avr(ji,jj) = ( ( zvn(ji+1,jj) - zvn(ji,jj) ) & 335 325 & - ( zun(ji,jj+1) - zun(ji,jj) ) ) / ( e1f(ji,jj) * e2f(ji,jj) ) * fmask(ji,jj,1)
Note: See TracChangeset
for help on using the changeset viewer.