New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 4300 – NEMO

Changeset 4300


Ignore:
Timestamp:
2013-11-20T19:57:14+01:00 (10 years ago)
Author:
clem
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2013/dev_MERGE_2013/NEMOGCM/NEMO/LIM_SRC_3/limsbc.F90

    r4299 r4300  
    436436            sshn(:,:) = sshn(:,:) - snwice_mass(:,:) * r1_rau0 
    437437            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 
    470472         ENDIF 
    471473      ENDIF ! .NOT. ln_rstart 
Note: See TracChangeset for help on using the changeset viewer.