- Timestamp:
- 2020-11-25T14:49:40+01:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/dev_r13327_KERNEL-06_2_techene_e3/src/OCE/DOM/domvvl.F90
r13295 r13874 9 9 !! 3.6 ! 2014-11 (P. Mathiot) add ice shelf capability 10 10 !! 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 ratio11 !! - ! 2020-02 (G. Madec, S. Techene) introduce ssh to h0 ratio 12 12 !!---------------------------------------------------------------------- 13 13 … … 805 805 IF( ln_rstart ) THEN !* Read the restart file 806 806 CALL rst_read_open ! open the restart file if necessary 807 CALL iom_get( numror, jpdom_auto, 'sshn' , ssh(:,:,Kmm), ldxios = lrxios )808 807 ! 809 808 id1 = iom_varid( numror, 'e3t_b', ldstop = .FALSE. ) … … 882 881 ENDIF 883 882 ! 884 ELSE !* Initialize at "rest" 883 ELSE !* Initialize at "rest" with ssh 885 884 ! 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 ! 940 890 IF( ln_vvl_ztilde .OR. ln_vvl_layer) THEN 941 891 tilde_e3t_b(:,:,:) = 0._wp
Note: See TracChangeset
for help on using the changeset viewer.