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 4301 for branches/2013/dev_MERGE_2013/NEMOGCM – NEMO

Ignore:
Timestamp:
2013-11-20T20:00:41+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

    r4300 r4301  
    436436            sshn(:,:) = sshn(:,:) - snwice_mass(:,:) * r1_rau0 
    437437            sshb(:,:) = sshb(:,:) - snwice_mass(:,:) * r1_rau0 
    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 
     438#if defined key_vvl            ! Is this necessary? clem: yes for compilation purpose 
     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            ENDDO 
     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 
    472472         ENDIF 
    473473      ENDIF ! .NOT. ln_rstart 
Note: See TracChangeset for help on using the changeset viewer.