- Timestamp:
- 2017-04-12T11:48:20+02:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/GO6_dyn_vrt_diag/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_ts.F90
r7845 r7900 150 150 REAL(wp) :: zx1, zy1, zx2, zy2 ! - - 151 151 REAL(wp) :: z1_12, z1_8, z1_4, z1_2 ! - - 152 REAL(wp) :: zu_spg, zv_spg ! - -153 152 REAL(wp) :: zhura, zhvra ! - - 154 153 REAL(wp) :: za0, za1, za2, za3 ! - - … … 159 158 REAL(wp), POINTER, DIMENSION(:,:) :: zhup2_e, zhvp2_e, zhust_e, zhvst_e 160 159 REAL(wp), POINTER, DIMENSION(:,:) :: zsshu_a, zsshv_a 160 REAL(wp), POINTER, DIMENSION(:,:) :: zu_dia, zv_dia, zu_wfrc, zv_wfrc 161 REAL(wp), POINTER, DIMENSION(:,:) :: zu_spg, zv_spg 161 162 REAL(wp), POINTER, DIMENSION(:,:) :: zhf 162 163 !!---------------------------------------------------------------------- … … 170 171 CALL wrk_alloc( jpi, jpj, zhup2_e, zhvp2_e, zhust_e, zhvst_e) 171 172 CALL wrk_alloc( jpi, jpj, zsshu_a, zsshv_a ) 173 CALL wrk_alloc( jpi, jpj, zu_dia, zv_dia, zu_wfrc, zv_wfrc ) 174 CALL wrk_alloc( jpi, jpj, zu_spg, zv_spg ) 172 175 CALL wrk_alloc( jpi, jpj, zhf ) 173 176 ! … … 397 400 END DO 398 401 ! 402 ! ! Set zu_dia for use in dyn_vrt_dia 403 zu_dia(:,:) = zu_frc(:,:) 404 zv_dia(:,:) = zv_frc(:,:) 405 ! 399 406 ! ! Add bottom stress contribution from baroclinic velocities: 400 407 IF (ln_bt_fw) THEN … … 423 430 ! 424 431 IF (ln_bt_fw) THEN ! Add wind forcing 425 zu_ frc(:,:) = zu_frc(:,:) +zraur * utau(:,:) * hur(:,:)426 zv_ frc(:,:) = zv_frc(:,:) +zraur * vtau(:,:) * hvr(:,:)432 zu_wfrc(:,:) = zraur * utau(:,:) * hur(:,:) 433 zv_wfrc(:,:) = zraur * vtau(:,:) * hvr(:,:) 427 434 ELSE 428 zu_ frc(:,:) = zu_frc(:,:) +zraur * z1_2 * ( utau_b(:,:) + utau(:,:) ) * hur(:,:)429 zv_ frc(:,:) = zv_frc(:,:) +zraur * z1_2 * ( vtau_b(:,:) + vtau(:,:) ) * hvr(:,:)435 zu_wfrc(:,:) = zraur * z1_2 * ( utau_b(:,:) + utau(:,:) ) * hur(:,:) 436 zv_wfrc(:,:) = zraur * z1_2 * ( vtau_b(:,:) + vtau(:,:) ) * hvr(:,:) 430 437 ENDIF 438 zu_frc(:,:) = zu_frc(:,:) + zu_wfrc(:,:) 439 zv_frc(:,:) = zv_frc(:,:) + zv_wfrc(:,:) 440 441 ! Calculate dia_vor_int & dia_vor_mn if required 442 IF ( ( id_dia_vrt_spg_int == 1 ) .or. (id_dia_vrt_spg_mean == 1 ) ) THEN 443 zu_dia(:,:) = zu_dia(:,:) + zu_wfrc(:,:) 444 zv_dia(:,:) = zv_dia(:,:) + zv_wfrc(:,:) 445 CALL dyn_vrt_dia_2d(zu_dia, zv_dia, id_dia_vrt_spg_int, id_dia_vrt_spg_mean) 446 ! Reset zu_dia for use again later. 447 zu_dia(:,:) = zu_dia(:,:) - zu_wfrc(:,:) 448 zv_dia(:,:) = zv_dia(:,:) - zv_wfrc(:,:) 449 END IF 450 ! 431 451 ! 432 452 IF ( ln_apr_dyn ) THEN ! Add atm pressure forcing … … 434 454 DO jj = 2, jpjm1 435 455 DO ji = fs_2, fs_jpim1 ! vector opt. 436 zu_spg = grav * ( ssh_ib (ji+1,jj ) - ssh_ib (ji,jj) ) /e1u(ji,jj) 437 zv_spg = grav * ( ssh_ib (ji ,jj+1) - ssh_ib (ji,jj) ) /e2v(ji,jj) 438 zu_frc(ji,jj) = zu_frc(ji,jj) + zu_spg 439 zv_frc(ji,jj) = zv_frc(ji,jj) + zv_spg 456 zu_spg(ji,jj) = grav * ( ssh_ib (ji+1,jj ) - ssh_ib (ji,jj) ) /e1u(ji,jj) 457 zv_spg(ji,jj) = grav * ( ssh_ib (ji ,jj+1) - ssh_ib (ji,jj) ) /e2v(ji,jj) 440 458 END DO 441 459 END DO … … 443 461 DO jj = 2, jpjm1 444 462 DO ji = fs_2, fs_jpim1 ! vector opt. 445 zu_spg = grav * z1_2 * ( ssh_ib (ji+1,jj ) - ssh_ib (ji,jj) &463 zu_spg(ji,jj) = grav * z1_2 * ( ssh_ib (ji+1,jj ) - ssh_ib (ji,jj) & 446 464 & + ssh_ibb(ji+1,jj ) - ssh_ibb(ji,jj) ) /e1u(ji,jj) 447 zv_spg = grav * z1_2 * ( ssh_ib (ji ,jj+1) - ssh_ib (ji,jj) &465 zv_spg(ji,jj) = grav * z1_2 * ( ssh_ib (ji ,jj+1) - ssh_ib (ji,jj) & 448 466 & + ssh_ibb(ji ,jj+1) - ssh_ibb(ji,jj) ) /e2v(ji,jj) 449 zu_frc(ji,jj) = zu_frc(ji,jj) + zu_spg450 zv_frc(ji,jj) = zv_frc(ji,jj) + zv_spg451 467 END DO 452 468 END DO 453 469 ENDIF 454 ENDIF 455 ! 456 ! Calculate dia_vor_int & 457 ! dia_vor_mn if required 458 IF ( ( id_dia_vrt_spg_int == 1 ) .or. (id_dia_vrt_spg_mean == 1 ) ) THEN 459 CALL dyn_vrt_dia_2d(zu_frc, zv_frc, di_dia_vrt_spg_int, id_dia_vrt_spg_mean) 460 END IF 470 zu_frc(:,:) = zu_frc(:,:) + zu_spg(:,:) 471 zv_frc(:,:) = zv_frc(:,:) + zv_spg(:,:) 472 ! Calculate dia_vor_int & dia_vor_mn if required 473 IF ( ( id_dia_vrt_spg_int == 1 ) .or. (id_dia_vrt_spg_mean == 1 ) ) THEN 474 zu_dia(:,:) = zu_dia(:,:) + zu_spg(:,:) 475 zv_dia(:,:) = zv_dia(:,:) + zv_spg(:,:) 476 CALL dyn_vrt_dia_2d(zu_dia, zv_dia, id_dia_vrt_spg_int, id_dia_vrt_spg_mean) 477 END IF 478 ENDIF 479 ! 461 480 ! !* Right-Hand-Side of the barotropic ssh equation 462 481 ! ! ----------------------------------------------- … … 933 952 CALL wrk_dealloc( jpi, jpj, zhup2_e, zhvp2_e, zhust_e, zhvst_e ) 934 953 CALL wrk_dealloc( jpi, jpj, zsshu_a, zsshv_a ) 954 CALL wrk_dealloc( jpi, jpj, zu_dia, zv_dia, zu_wfrc, zv_wfrc ) 955 CALL wrk_dealloc( jpi, jpj, zu_spg, zv_spg ) 935 956 CALL wrk_dealloc( jpi, jpj, zhf ) 936 957 !
Note: See TracChangeset
for help on using the changeset viewer.