- Timestamp:
- 2015-10-31T08:40:45+01:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_r5836_NOC3_vvl_by_default/NEMOGCM/NEMO/LIM_SRC_2/limsbc_2.F90
r5836 r5845 58 58 !! * Substitutions 59 59 # include "vectopt_loop_substitute.h90" 60 # include "domzgr_substitute.h90"61 60 !!---------------------------------------------------------------------- 62 61 !! NEMO/LIM2 4.0 , UCL - NEMO Consortium (2011) … … 471 470 sshb(:,:) = sshb(:,:) - snwice_mass(:,:) * r1_rau0 472 471 do jk = 1,jpkm1 ! adjust initial vertical scale factors 473 fse3t_n(:,:,jk) = e3t_0(:,:,jk)*( 1._wp + sshn(:,:)*tmask(:,:,1)/(ht_0(:,:) + 1.0 - tmask(:,:,1)) )474 fse3t_b(:,:,jk) = e3t_0(:,:,jk)*( 1._wp + sshb(:,:)*tmask(:,:,1)/(ht_0(:,:) + 1.0 - tmask(:,:,1)) )472 e3t_n(:,:,jk) = e3t_0(:,:,jk)*( 1._wp + sshn(:,:)*tmask(:,:,1)/(ht_0(:,:) + 1.0 - tmask(:,:,1)) ) 473 e3t_b(:,:,jk) = e3t_0(:,:,jk)*( 1._wp + sshb(:,:)*tmask(:,:,1)/(ht_0(:,:) + 1.0 - tmask(:,:,1)) ) 475 474 end do 476 fse3t_a(:,:,:) = fse3t_b(:,:,:)475 e3t_a(:,:,:) = e3t_b(:,:,:) 477 476 ! Reconstruction of all vertical scale factors at now and before time steps 478 477 ! ============================================================================= 479 478 ! Horizontal scale factor interpolations 480 479 ! -------------------------------------- 481 CALL dom_vvl_interpol( fse3t_b(:,:,:), fse3u_b(:,:,:), 'U' )482 CALL dom_vvl_interpol( fse3t_b(:,:,:), fse3v_b(:,:,:), 'V' )483 CALL dom_vvl_interpol( fse3t_n(:,:,:), fse3u_n(:,:,:), 'U' )484 CALL dom_vvl_interpol( fse3t_n(:,:,:), fse3v_n(:,:,:), 'V' )485 CALL dom_vvl_interpol( fse3u_n(:,:,:), fse3f_n(:,:,:), 'F' )480 CALL dom_vvl_interpol( e3t_b(:,:,:), e3u_b(:,:,:), 'U' ) 481 CALL dom_vvl_interpol( e3t_b(:,:,:), e3v_b(:,:,:), 'V' ) 482 CALL dom_vvl_interpol( e3t_n(:,:,:), e3u_n(:,:,:), 'U' ) 483 CALL dom_vvl_interpol( e3t_n(:,:,:), e3v_n(:,:,:), 'V' ) 484 CALL dom_vvl_interpol( e3u_n(:,:,:), e3f_n(:,:,:), 'F' ) 486 485 ! Vertical scale factor interpolations 487 486 ! ------------------------------------ 488 CALL dom_vvl_interpol( fse3t_n(:,:,:), fse3w_n (:,:,:), 'W' )489 CALL dom_vvl_interpol( fse3u_n(:,:,:), fse3uw_n(:,:,:), 'UW' )490 CALL dom_vvl_interpol( fse3v_n(:,:,:), fse3vw_n(:,:,:), 'VW' )491 CALL dom_vvl_interpol( fse3u_b(:,:,:), fse3uw_b(:,:,:), 'UW' )492 CALL dom_vvl_interpol( fse3v_b(:,:,:), fse3vw_b(:,:,:), 'VW' )487 CALL dom_vvl_interpol( e3t_n(:,:,:), e3w_n (:,:,:), 'W' ) 488 CALL dom_vvl_interpol( e3u_n(:,:,:), e3uw_n(:,:,:), 'UW' ) 489 CALL dom_vvl_interpol( e3v_n(:,:,:), e3vw_n(:,:,:), 'VW' ) 490 CALL dom_vvl_interpol( e3u_b(:,:,:), e3uw_b(:,:,:), 'UW' ) 491 CALL dom_vvl_interpol( e3v_b(:,:,:), e3vw_b(:,:,:), 'VW' ) 493 492 ! t- and w- points depth 494 493 ! ---------------------- 495 fsdept_n(:,:,1) = 0.5_wp * fse3w_n(:,:,1)496 fsdepw_n(:,:,1) = 0.0_wp497 fsde3w_n(:,:,1) = fsdept_n(:,:,1) - sshn(:,:)494 gdept_n(:,:,1) = 0.5_wp * e3w_n(:,:,1) 495 gdepw_n(:,:,1) = 0.0_wp 496 gde3w_n(:,:,1) = gdept_n(:,:,1) - sshn(:,:) 498 497 DO jk = 2, jpk 499 fsdept_n(:,:,jk) = fsdept_n(:,:,jk-1) + fse3w_n(:,:,jk)500 fsdepw_n(:,:,jk) = fsdepw_n(:,:,jk-1) + fse3t_n(:,:,jk-1)501 fsde3w_n(:,:,jk) = fsdept_n(:,:,jk ) - sshn (:,:)498 gdept_n(:,:,jk) = gdept_n(:,:,jk-1) + e3w_n(:,:,jk) 499 gdepw_n(:,:,jk) = gdepw_n(:,:,jk-1) + e3t_n(:,:,jk-1) 500 gde3w_n(:,:,jk) = gdept_n(:,:,jk ) - sshn (:,:) 502 501 END DO 503 502 ENDIF
Note: See TracChangeset
for help on using the changeset viewer.