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 10009 for NEMO/branches/2018/dev_r9838_ENHANCE04_RK3/src/OCE/SBC – NEMO

Ignore:
Timestamp:
2018-07-29T11:23:51+02:00 (6 years ago)
Author:
gm
Message:

#1911 (ENHANCE-04): RK3 branch - step II.1 time-level dimension on ssh

Location:
NEMO/branches/2018/dev_r9838_ENHANCE04_RK3/src/OCE/SBC
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2018/dev_r9838_ENHANCE04_RK3/src/OCE/SBC/sbccpl.F90

    r9939 r10009  
    3232   USE cpl_oasis3     ! OASIS3 coupling 
    3333   USE geo2ocean      !  
    34    USE oce     , ONLY : tsn, un, vn, sshn, ub, vb, sshb, fraqsr_1lev 
     34   USE oce     , ONLY : tsn, un, vn, ssh, ub, vb, fraqsr_1lev 
    3535   USE ocealb         !  
    3636   USE eosbn2         !  
     
    24672467         IF( ln_apr_dyn ) THEN   
    24682468            IF( kt /= nit000 ) THEN   
    2469                ztmp1(:,:) = sshb(:,:) - 0.5 * ( ssh_ib(:,:) + ssh_ibb(:,:) )   
     2469               ztmp1(:,:) = ssh(:,:,Nbb) - 0.5 * ( ssh_ib(:,:) + ssh_ibb(:,:) )   
    24702470            ELSE   
    2471                ztmp1(:,:) = sshb(:,: 
     2471               ztmp1(:,:) = ssh(:,:,Nbb 
    24722472            ENDIF   
    24732473         ELSE   
    2474             ztmp1(:,:) = sshn(:,: 
     2474            ztmp1(:,:) = ssh(:,:,Nnn 
    24752475         ENDIF   
    24762476         CALL cpl_snd( jps_wlev  , isec, RESHAPE ( ztmp1, (/jpi,jpj,1/) ), info )  
     
    24822482         !                          ! removed inverse barometer ssh when Patm 
    24832483         !                          forcing is used (for sea-ice dynamics) 
    2484          IF( ln_apr_dyn ) THEN   ;   ztmp1(:,:) = sshb(:,:) - 0.5 * ( ssh_ib(:,:) + ssh_ibb(:,:) ) 
    2485          ELSE                    ;   ztmp1(:,:) = sshn(:,:) 
     2484         IF( ln_apr_dyn ) THEN   ;   ztmp1(:,:) = ssh(:,:,Nbb) - 0.5 * ( ssh_ib(:,:) + ssh_ibb(:,:) ) 
     2485         ELSE                    ;   ztmp1(:,:) = ssh(:,:,Nnn) 
    24862486         ENDIF 
    24872487         CALL cpl_snd( jps_ssh   , isec, RESHAPE ( ztmp1            , (/jpi,jpj,1/) ), info ) 
    2488  
    24892488      ENDIF 
    24902489      !                                                        ! SSS 
  • NEMO/branches/2018/dev_r9838_ENHANCE04_RK3/src/OCE/SBC/sbcfwb.F90

    r9939 r10009  
    127127            a_fwb_b = a_fwb                           ! mean sea level taking into account the ice+snow 
    128128                                                      ! sum over the global domain 
    129             a_fwb   = glob_sum( e1e2t(:,:) * ( sshn(:,:) + snwice_mass(:,:) * r1_rho0 ) ) 
     129            a_fwb   = glob_sum( e1e2t(:,:) * ( ssh(:,:,Nnn) + snwice_mass(:,:) * r1_rho0 ) ) 
    130130            a_fwb   = a_fwb * 1.e+3 / ( area * rday * 365. )     ! convert in Kg/m3/s = mm/s 
    131131!!gm        !                                                      !!bug 365d year  
  • NEMO/branches/2018/dev_r9838_ENHANCE04_RK3/src/OCE/SBC/sbcice_cice.F90

    r10001 r10009  
    227227      IF( .NOT.ln_rstart ) THEN 
    228228         IF( ln_ice_embd ) THEN            ! embedded sea-ice: deplete the initial ssh below sea-ice area 
    229             sshn(:,:) = sshn(:,:) - snwice_mass(:,:) * r1_rho0 
    230             sshb(:,:) = sshb(:,:) - snwice_mass(:,:) * r1_rho0 
    231  
    232 !!gm This should be put elsewhere....   (same remark for limsbc) 
    233 !!gm especially here it is assumed zstar coordinate, but it can be ztilde.... 
    234             IF( .NOT.ln_linssh ) THEN 
     229            ssh(:,:,Nnn) = ssh(:,:,Nnn) - snwice_mass(:,:) * r1_rho0 
     230            ssh(:,:,Nbb) = ssh(:,:,Nbb) - snwice_mass(:,:) * r1_rho0 
     231            ! 
     232            IF( .NOT.ln_linssh ) THEN     ! modified the now and before vertical mesh and scale factors  
    235233               ! 
    236                DO jk = 1,jpkm1                     ! adjust initial vertical scale factors 
    237                   e3t_n(:,:,jk) = e3t_0(:,:,jk) * ( 1._wp + sshn(:,:) * r1_ht_0(:,:) ) 
    238                   e3t_b(:,:,jk) = e3t_0(:,:,jk) * ( 1._wp + sshb(:,:) * r1_ht_0(:,:) ) 
    239                END DO 
    240                e3t_a(:,:,:) = e3t_b(:,:,:) 
    241                ! Reconstruction of all vertical scale factors at now and before time-steps 
    242                ! ============================================================================= 
    243                ! Horizontal scale factor interpolations 
    244                ! -------------------------------------- 
    245                CALL dom_vvl_interpol( e3t_b(:,:,:), e3u_b(:,:,:), 'U' ) 
    246                CALL dom_vvl_interpol( e3t_b(:,:,:), e3v_b(:,:,:), 'V' ) 
    247                CALL dom_vvl_interpol( e3t_n(:,:,:), e3u_n(:,:,:), 'U' ) 
    248                CALL dom_vvl_interpol( e3t_n(:,:,:), e3v_n(:,:,:), 'V' ) 
    249                CALL dom_vvl_interpol( e3u_n(:,:,:), e3f_n(:,:,:), 'F' ) 
    250                ! Vertical scale factor interpolations 
    251                ! ------------------------------------ 
    252                CALL dom_vvl_interpol( e3t_n(:,:,:), e3w_n (:,:,:), 'W'  ) 
    253                CALL dom_vvl_interpol( e3u_n(:,:,:), e3uw_n(:,:,:), 'UW' ) 
    254                CALL dom_vvl_interpol( e3v_n(:,:,:), e3vw_n(:,:,:), 'VW' ) 
    255                CALL dom_vvl_interpol( e3u_b(:,:,:), e3uw_b(:,:,:), 'UW' ) 
    256                CALL dom_vvl_interpol( e3v_b(:,:,:), e3vw_b(:,:,:), 'VW' ) 
    257                ! t- and w- points depth 
    258                ! ---------------------- 
    259                gdept_n(:,:,1) = 0.5_wp * e3w_n(:,:,1) 
    260                gdepw_n(:,:,1) = 0.0_wp 
    261                gde3w_n(:,:,1) = gdept_n(:,:,1) - sshn(:,:) 
    262                DO jk = 2, jpk 
    263                   gdept_n(:,:,jk) = gdept_n(:,:,jk-1) + e3w_n(:,:,jk) 
    264                   gdepw_n(:,:,jk) = gdepw_n(:,:,jk-1) + e3t_n(:,:,jk-1) 
    265                   gde3w_n(:,:,jk) = gdept_n(:,:,jk  ) - sshn   (:,:) 
    266                END DO 
     234               !                             !* BEFORE fields :  
     235               CALL ssh2e3_before               ! set:      hu , hv , r1_hu, r1_hv  
     236               !                                    !  e3t, e3w, e3u, e3uw, e3v, e3vw 
     237               ! 
     238               !                             !* NOW fields :  
     239               CALL ssh2e3_now                  ! set: ht , hu , hv , r1_hu, r1_hv 
     240               !                                !      e3t, e3w, e3u, e3uw, e3v, e3vw, e3f 
     241               !                                !      gdept_n, gdepw_n, gde3w_n 
    267242            ENDIF 
    268243         ENDIF 
     
    290265      ENDIF 
    291266 
    292       ztmp(:,:)=0.0 
     267      ztmp(:,:) = 0._wp 
    293268 
    294269! Aggregate ice concentration already set in cice_sbc_out (or cice_sbc_init on  
  • NEMO/branches/2018/dev_r9838_ENHANCE04_RK3/src/OCE/SBC/sbcssm.F90

    r9939 r10009  
    7575         sss_m(:,:) = zts(:,:,jp_sal) 
    7676         !                          ! removed inverse barometer ssh when Patm forcing is used (for sea-ice dynamics) 
    77          IF( ln_apr_dyn ) THEN   ;   ssh_m(:,:) = sshn(:,:) - 0.5 * ( ssh_ib(:,:) + ssh_ibb(:,:) ) 
    78          ELSE                    ;   ssh_m(:,:) = sshn(:,:) 
     77         IF( ln_apr_dyn ) THEN   ;   ssh_m(:,:) = ssh(:,:,Nnn) - 0.5 * ( ssh_ib(:,:) + ssh_ibb(:,:) ) 
     78         ELSE                    ;   ssh_m(:,:) = ssh(:,:,Nnn) 
    7979         ENDIF 
    8080         ! 
     
    9898            sss_m(:,:) = zcoef * zts(:,:,jp_sal) 
    9999            !                          ! removed inverse barometer ssh when Patm forcing is used (for sea-ice dynamics) 
    100             IF( ln_apr_dyn ) THEN   ;   ssh_m(:,:) = zcoef * ( sshn(:,:) - 0.5 * ( ssh_ib(:,:) + ssh_ibb(:,:) ) ) 
    101             ELSE                    ;   ssh_m(:,:) = zcoef * sshn(:,:) 
     100            IF( ln_apr_dyn ) THEN   ;   ssh_m(:,:) = zcoef * ( ssh(:,:,Nnn) - 0.5 * ( ssh_ib(:,:) + ssh_ibb(:,:) ) ) 
     101            ELSE                    ;   ssh_m(:,:) = zcoef *   ssh(:,:,Nnn) 
    102102            ENDIF 
    103103            ! 
     
    126126         sss_m(:,:) = sss_m(:,:) + zts(:,:,jp_sal) 
    127127         !                          ! removed inverse barometer ssh when Patm forcing is used (for sea-ice dynamics) 
    128          IF( ln_apr_dyn ) THEN   ;   ssh_m(:,:) = ssh_m(:,:) + sshn(:,:) - 0.5 * ( ssh_ib(:,:) + ssh_ibb(:,:) ) 
    129          ELSE                    ;   ssh_m(:,:) = ssh_m(:,:) + sshn(:,:) 
     128         IF( ln_apr_dyn ) THEN   ;   ssh_m(:,:) = ssh_m(:,:) + ssh(:,:,Nnn) - 0.5 * ( ssh_ib(:,:) + ssh_ibb(:,:) ) 
     129         ELSE                    ;   ssh_m(:,:) = ssh_m(:,:) + ssh(:,:,Nnn) 
    130130         ENDIF 
    131131         ! 
     
    247247         ENDIF 
    248248         sss_m(:,:) = tsn  (:,:,1,jp_sal) 
    249          ssh_m(:,:) = sshn (:,:) 
     249         ssh_m(:,:) = ssh  (:,:,Nnn) 
    250250         e3t_m(:,:) = e3t_n(:,:,1) 
    251251         frq_m(:,:) = 1._wp 
Note: See TracChangeset for help on using the changeset viewer.