Changeset 592 for trunk/NEMO/OPA_SRC/DYN/dynhpg.F90
- Timestamp:
- 2007-02-09T10:15:25+01:00 (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/OPA_SRC/DYN/dynhpg.F90
r541 r592 160 160 WRITE(numout,*) ' s-coord. (ROTated axes scheme) ln_hpg_rot = ', ln_hpg_rot 161 161 WRITE(numout,*) ' weighting coeff. (wdj scheme) gamm = ', gamm 162 ENDIF 163 164 IF( lk_vvl .AND. .NOT. ln_hpg_sco ) THEN 165 CALL ctl_stop( 'hpg_ctl : variable volume key_vvl compatible only with the standard jacobian formulation hpg_sco') 162 166 ENDIF 163 167 … … 384 388 INTEGER, INTENT(in) :: kt ! ocean time-step index 385 389 !! 386 INTEGER :: ji, jj, jk ! dummy loop indices387 REAL(wp) :: zcoef0, zuap, zvap ! temporary scalars390 INTEGER :: ji, jj, jk ! dummy loop indices 391 REAL(wp) :: zcoef0, zuap, zvap, znad ! temporary scalars 388 392 !!---------------------------------------------------------------------- 389 393 … … 396 400 ! Local constant initialization 397 401 zcoef0 = - grav * 0.5 402 ! To use density and not density anomaly 403 IF ( lk_vvl ) THEN ; znad = 1. ! Variable volume 404 ELSE ; znad = 0.e0 ! Fixed volume 405 ENDIF 398 406 399 407 ! Surface value … … 401 409 DO ji = fs_2, fs_jpim1 ! vector opt. 402 410 ! hydrostatic pressure gradient along s-surfaces 403 zhpi(ji,jj,1) = zcoef0 / e1u(ji,jj) * ( fse3w(ji+1,jj ,1) * rhd(ji+1,jj ,1) &404 & - fse3w(ji ,jj ,1) * rhd(ji ,jj ,1) )405 zhpj(ji,jj,1) = zcoef0 / e2v(ji,jj) * ( fse3w(ji ,jj+1,1) * rhd(ji ,jj+1,1) &406 & - fse3w(ji ,jj ,1) * rhd(ji ,jj ,1) )411 zhpi(ji,jj,1) = zcoef0 / e1u(ji,jj) * ( fse3w(ji+1,jj ,1) * ( znad + rhd(ji+1,jj ,1) ) & 412 & - fse3w(ji ,jj ,1) * ( znad + rhd(ji ,jj ,1) ) ) 413 zhpj(ji,jj,1) = zcoef0 / e2v(ji,jj) * ( fse3w(ji ,jj+1,1) * ( znad + rhd(ji ,jj+1,1) ) & 414 & - fse3w(ji ,jj ,1) * ( znad + rhd(ji ,jj ,1) ) ) 407 415 ! s-coordinate pressure gradient correction 408 zuap = -zcoef0 * ( rhd (ji+1,jj,1) + rhd (ji,jj,1) ) &416 zuap = -zcoef0 * ( rhd (ji+1,jj,1) + rhd (ji,jj,1) + 2*znad ) & 409 417 & * ( fsde3w(ji+1,jj,1) - fsde3w(ji,jj,1) ) / e1u(ji,jj) 410 zvap = -zcoef0 * ( rhd (ji,jj+1,1) + rhd (ji,jj,1) ) &418 zvap = -zcoef0 * ( rhd (ji,jj+1,1) + rhd (ji,jj,1) + 2*znad ) & 411 419 & * ( fsde3w(ji,jj+1,1) - fsde3w(ji,jj,1) ) / e2v(ji,jj) 412 420 ! add to the general momentum trend … … 422 430 ! hydrostatic pressure gradient along s-surfaces 423 431 zhpi(ji,jj,jk) = zhpi(ji,jj,jk-1) + zcoef0 / e1u(ji,jj) & 424 & * ( fse3w(ji+1,jj,jk) * ( rhd(ji+1,jj,jk) + rhd(ji+1,jj,jk-1) ) &425 & - fse3w(ji ,jj,jk) * ( rhd(ji ,jj,jk) + rhd(ji ,jj,jk-1) ) )432 & * ( fse3w(ji+1,jj,jk) * ( rhd(ji+1,jj,jk) + rhd(ji+1,jj,jk-1) + 2*znad ) & 433 & - fse3w(ji ,jj,jk) * ( rhd(ji ,jj,jk) + rhd(ji ,jj,jk-1) + 2*znad ) ) 426 434 zhpj(ji,jj,jk) = zhpj(ji,jj,jk-1) + zcoef0 / e2v(ji,jj) & 427 & * ( fse3w(ji,jj+1,jk) * ( rhd(ji,jj+1,jk) + rhd(ji,jj+1,jk-1) ) &428 & - fse3w(ji,jj ,jk) * ( rhd(ji,jj, jk) + rhd(ji,jj ,jk-1) ) )435 & * ( fse3w(ji,jj+1,jk) * ( rhd(ji,jj+1,jk) + rhd(ji,jj+1,jk-1) + 2*znad ) & 436 & - fse3w(ji,jj ,jk) * ( rhd(ji,jj, jk) + rhd(ji,jj ,jk-1) + 2*znad ) ) 429 437 ! s-coordinate pressure gradient correction 430 zuap = -zcoef0 * ( rhd (ji+1,jj ,jk) + rhd (ji,jj,jk) ) &438 zuap = -zcoef0 * ( rhd (ji+1,jj ,jk) + rhd (ji,jj,jk) + 2*znad ) & 431 439 & * ( fsde3w(ji+1,jj ,jk) - fsde3w(ji,jj,jk) ) / e1u(ji,jj) 432 zvap = -zcoef0 * ( rhd (ji ,jj+1,jk) + rhd (ji,jj,jk) ) &440 zvap = -zcoef0 * ( rhd (ji ,jj+1,jk) + rhd (ji,jj,jk) + 2*znad ) & 433 441 & * ( fsde3w(ji ,jj+1,jk) - fsde3w(ji,jj,jk) ) / e2v(ji,jj) 434 442 ! add to the general momentum trend
Note: See TracChangeset
for help on using the changeset viewer.