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 13874 for NEMO/branches/2020/dev_r13327_KERNEL-06_2_techene_e3/src/OCE/DOM/domvvl.F90 – NEMO

Ignore:
Timestamp:
2020-11-25T14:49:40+01:00 (4 years ago)
Author:
techene
Message:

#2574 ssh set up at initialization or restart separated from u,v,ts : removed from istate_init added in dom_init

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/dev_r13327_KERNEL-06_2_techene_e3/src/OCE/DOM/domvvl.F90

    r13295 r13874  
    99   !!            3.6  !  2014-11  (P. Mathiot) add ice shelf capability 
    1010   !!            4.1  !  2019-08  (A. Coward, D. Storkey) rename dom_vvl_sf_swp -> dom_vvl_sf_update for new timestepping 
    11    !!            4.x  ! 2020-02  (G. Madec, S. Techene) introduce ssh to h0 ratio 
     11   !!             -   ! 2020-02  (G. Madec, S. Techene) introduce ssh to h0 ratio 
    1212   !!---------------------------------------------------------------------- 
    1313 
     
    805805         IF( ln_rstart ) THEN                   !* Read the restart file 
    806806            CALL rst_read_open                  !  open the restart file if necessary 
    807             CALL iom_get( numror, jpdom_auto, 'sshn'   , ssh(:,:,Kmm), ldxios = lrxios    ) 
    808807            ! 
    809808            id1 = iom_varid( numror, 'e3t_b', ldstop = .FALSE. ) 
     
    882881            ENDIF 
    883882            ! 
    884          ELSE                                   !* Initialize at "rest" 
     883         ELSE                                   !* Initialize at "rest" with ssh 
    885884            ! 
    886  
    887             IF( ll_wd ) THEN   ! MJB ll_wd edits start here - these are essential  
    888                ! 
    889                IF( cn_cfg == 'wad' ) THEN 
    890                   ! Wetting and drying test case 
    891                   CALL usr_def_istate( gdept(:,:,:,Kbb), tmask, ts(:,:,:,:,Kbb), uu(:,:,:,Kbb), vv(:,:,:,Kbb), ssh(:,:,Kbb)  ) 
    892                   ts  (:,:,:,:,Kmm) = ts (:,:,:,:,Kbb)       ! set now values from to before ones 
    893                   ssh (:,:,Kmm)     = ssh(:,:,Kbb) 
    894                   uu   (:,:,:,Kmm)   = uu  (:,:,:,Kbb) 
    895                   vv   (:,:,:,Kmm)   = vv  (:,:,:,Kbb) 
    896                ELSE 
    897                   ! if not test case 
    898                   ssh(:,:,Kmm) = -ssh_ref 
    899                   ssh(:,:,Kbb) = -ssh_ref 
    900  
    901                   DO_2D( 1, 1, 1, 1 ) 
    902                      IF( ht_0(ji,jj)-ssh_ref <  rn_wdmin1 ) THEN ! if total depth is less than min depth 
    903                         ssh(ji,jj,Kbb) = rn_wdmin1 - (ht_0(ji,jj) ) 
    904                         ssh(ji,jj,Kmm) = rn_wdmin1 - (ht_0(ji,jj) ) 
    905                      ENDIF 
    906                   END_2D 
    907                ENDIF !If test case else 
    908  
    909                ! Adjust vertical metrics for all wad 
    910                DO jk = 1, jpk 
    911                   e3t(:,:,jk,Kmm) =  e3t_0(:,:,jk) * ( ht_0(:,:) + ssh(:,:,Kmm)  ) & 
    912                     &                            / ( ht_0(:,:) + 1._wp - ssmask(:,:) ) * tmask(:,:,jk)   & 
    913                     &            + e3t_0(:,:,jk) * ( 1._wp - tmask(:,:,jk) ) 
    914                END DO 
    915                e3t(:,:,:,Kbb) = e3t(:,:,:,Kmm) 
    916  
    917                DO_2D( 1, 1, 1, 1 ) 
    918                   IF ( ht_0(ji,jj) .LE. 0.0 .AND. NINT( ssmask(ji,jj) ) .EQ. 1) THEN 
    919                      CALL ctl_stop( 'dom_vvl_rst: ht_0 must be positive at potentially wet points' ) 
    920                   ENDIF 
    921                END_2D 
    922                ! 
    923             ELSE 
    924                ! 
    925                ! Just to read set ssh in fact, called latter once vertical grid 
    926                ! is set up: 
    927 !               CALL usr_def_istate( gdept_0, tmask, ts(:,:,:,:,Kbb), uu(:,:,:,Kbb), vv(:,:,:,Kbb), ssh(:,:,Kbb)  ) 
    928 !               ! 
    929 !               DO jk=1,jpk 
    930 !                  e3t(:,:,jk,Kbb) =  e3t_0(:,:,jk) * ( ht_0(:,:) + ssh(:,:,Kbb) ) & 
    931 !                     &            / ( ht_0(:,:) + 1._wp -ssmask(:,:) ) * tmask(:,:,jk) 
    932 !               END DO 
    933 !               e3t(:,:,:,Kmm) = e3t(:,:,:,Kbb) 
    934                 ssh(:,:,Kmm)=0._wp 
    935                 e3t(:,:,:,Kmm)=e3t_0(:,:,:) 
    936                 e3t(:,:,:,Kbb)=e3t_0(:,:,:) 
    937                ! 
    938             END IF           ! end of ll_wd edits 
    939  
     885            DO jk = 1, jpk 
     886               e3t(:,:,jk,Kmm) =  e3t_0(:,:,jk) * ( 1._wp + ssh(:,:,Kmm)  / ( ht_0(:,:) + 1._wp - ssmask(:,:) ) * tmask(:,:,jk) ) 
     887            END DO 
     888            e3t(:,:,:,Kbb) = e3t(:,:,:,Kmm) 
     889            ! 
    940890            IF( ln_vvl_ztilde .OR. ln_vvl_layer) THEN 
    941891               tilde_e3t_b(:,:,:) = 0._wp 
Note: See TracChangeset for help on using the changeset viewer.