Changeset 4300 for branches/2013/dev_MERGE_2013
- Timestamp:
- 2013-11-20T19:57:14+01:00 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2013/dev_MERGE_2013/NEMOGCM/NEMO/LIM_SRC_3/limsbc.F90
r4299 r4300 436 436 sshn(:,:) = sshn(:,:) - snwice_mass(:,:) * r1_rau0 437 437 sshb(:,:) = sshb(:,:) - snwice_mass(:,:) * r1_rau0 438 do jk = 1,jpkm1 ! adjust initial vertical scale factors 439 fse3t_n(:,:,jk) = e3t_0(:,:,jk)*( 1._wp + sshn(:,:)*tmask(:,:,1)/(ht_0(:,:) + 1.0 - tmask(:,:,1)) ) 440 fse3t_b(:,:,jk) = e3t_0(:,:,jk)*( 1._wp + sshb(:,:)*tmask(:,:,1)/(ht_0(:,:) + 1.0 - tmask(:,:,1)) ) 441 end do 442 fse3t_a(:,:,:) = fse3t_b(:,:,:) 443 ! Reconstruction of all vertical scale factors at now and before time 444 ! steps 445 ! ============================================================================= 446 ! Horizontal scale factor interpolations 447 ! -------------------------------------- 448 CALL dom_vvl_interpol( fse3t_b(:,:,:), fse3u_b(:,:,:), 'U' ) 449 CALL dom_vvl_interpol( fse3t_b(:,:,:), fse3v_b(:,:,:), 'V' ) 450 CALL dom_vvl_interpol( fse3t_n(:,:,:), fse3u_n(:,:,:), 'U' ) 451 CALL dom_vvl_interpol( fse3t_n(:,:,:), fse3v_n(:,:,:), 'V' ) 452 CALL dom_vvl_interpol( fse3u_n(:,:,:), fse3f_n(:,:,:), 'F' ) 453 ! Vertical scale factor interpolations 454 ! ------------------------------------ 455 CALL dom_vvl_interpol( fse3t_n(:,:,:), fse3w_n (:,:,:), 'W' ) 456 CALL dom_vvl_interpol( fse3u_n(:,:,:), fse3uw_n(:,:,:), 'UW' ) 457 CALL dom_vvl_interpol( fse3v_n(:,:,:), fse3vw_n(:,:,:), 'VW' ) 458 CALL dom_vvl_interpol( fse3u_b(:,:,:), fse3uw_b(:,:,:), 'UW' ) 459 CALL dom_vvl_interpol( fse3v_b(:,:,:), fse3vw_b(:,:,:), 'VW' ) 460 ! t- and w- points depth 461 ! ---------------------- 462 fsdept_n(:,:,1) = 0.5_wp * fse3w_n(:,:,1) 463 fsdepw_n(:,:,1) = 0.0_wp 464 fsde3w_n(:,:,1) = fsdept_n(:,:,1) - sshn(:,:) 465 DO jk = 2, jpk 466 fsdept_n(:,:,jk) = fsdept_n(:,:,jk-1) + fse3w_n(:,:,jk) 467 fsdepw_n(:,:,jk) = fsdepw_n(:,:,jk-1) + fse3t_n(:,:,jk-1) 468 fsde3w_n(:,:,jk) = fsdept_n(:,:,jk ) - sshn (:,:) 469 END DO 438 IF ( lk_vvl ) THEN ! Is this necessary? clem: yes for compilation 439 do jk = 1,jpkm1 ! adjust initial vertical scale factors 440 fse3t_n(:,:,jk) = e3t_0(:,:,jk)*( 1._wp + sshn(:,:)*tmask(:,:,1)/(ht_0(:,:) + 1.0 - tmask(:,:,1)) ) 441 fse3t_b(:,:,jk) = e3t_0(:,:,jk)*( 1._wp + sshb(:,:)*tmask(:,:,1)/(ht_0(:,:) + 1.0 - tmask(:,:,1)) ) 442 end do 443 fse3t_a(:,:,:) = fse3t_b(:,:,:) 444 ! Reconstruction of all vertical scale factors at now and before time 445 ! steps 446 ! ============================================================================= 447 ! Horizontal scale factor interpolations 448 ! -------------------------------------- 449 CALL dom_vvl_interpol( fse3t_b(:,:,:), fse3u_b(:,:,:), 'U' ) 450 CALL dom_vvl_interpol( fse3t_b(:,:,:), fse3v_b(:,:,:), 'V' ) 451 CALL dom_vvl_interpol( fse3t_n(:,:,:), fse3u_n(:,:,:), 'U' ) 452 CALL dom_vvl_interpol( fse3t_n(:,:,:), fse3v_n(:,:,:), 'V' ) 453 CALL dom_vvl_interpol( fse3u_n(:,:,:), fse3f_n(:,:,:), 'F' ) 454 ! Vertical scale factor interpolations 455 ! ------------------------------------ 456 CALL dom_vvl_interpol( fse3t_n(:,:,:), fse3w_n (:,:,:), 'W' ) 457 CALL dom_vvl_interpol( fse3u_n(:,:,:), fse3uw_n(:,:,:), 'UW' ) 458 CALL dom_vvl_interpol( fse3v_n(:,:,:), fse3vw_n(:,:,:), 'VW' ) 459 CALL dom_vvl_interpol( fse3u_b(:,:,:), fse3uw_b(:,:,:), 'UW' ) 460 CALL dom_vvl_interpol( fse3v_b(:,:,:), fse3vw_b(:,:,:), 'VW' ) 461 ! t- and w- points depth 462 ! ---------------------- 463 fsdept_n(:,:,1) = 0.5_wp * fse3w_n(:,:,1) 464 fsdepw_n(:,:,1) = 0.0_wp 465 fsde3w_n(:,:,1) = fsdept_n(:,:,1) - sshn(:,:) 466 DO jk = 2, jpk 467 fsdept_n(:,:,jk) = fsdept_n(:,:,jk-1) + fse3w_n(:,:,jk) 468 fsdepw_n(:,:,jk) = fsdepw_n(:,:,jk-1) + fse3t_n(:,:,jk-1) 469 fsde3w_n(:,:,jk) = fsdept_n(:,:,jk ) - sshn (:,:) 470 END DO 471 ENDIF 470 472 ENDIF 471 473 ENDIF ! .NOT. ln_rstart
Note: See TracChangeset
for help on using the changeset viewer.