- Timestamp:
- 2015-11-06T11:42:35+01:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_r5836_NOC3_vvl_by_default/NEMOGCM/NEMO/OPA_SRC/DOM/domvvl.F90
r5862 r5866 178 178 ht_n(:,:) = e3t_n(:,:,1) * tmask(:,:,1) !!gm BUG : this should be 1/2 * e3w(k=1) .... 179 179 hu_b(:,:) = e3u_b(:,:,1) * umask(:,:,1) 180 hv_b(:,:) = e3u_b(:,:,1) * vmask(:,:,1)181 180 hu_n(:,:) = e3u_n(:,:,1) * umask(:,:,1) 181 hv_b(:,:) = e3v_b(:,:,1) * vmask(:,:,1) 182 182 hv_n(:,:) = e3v_n(:,:,1) * vmask(:,:,1) 183 183 DO jk = 2, jpkm1 … … 617 617 618 618 ! Vertical scale factor interpolations 619 ! ------------------------------------ 620 CALL dom_vvl_interpol( e3t_n(:,:,:), e3w_n (:,:,:), 'W' ) 619 CALL dom_vvl_interpol( e3t_n(:,:,:), e3w_n(:,:,:), 'W' ) 621 620 CALL dom_vvl_interpol( e3u_n(:,:,:), e3uw_n(:,:,:), 'UW' ) 622 621 CALL dom_vvl_interpol( e3v_n(:,:,:), e3vw_n(:,:,:), 'VW' ) 623 CALL dom_vvl_interpol( e3t_b(:,:,:), e3w_b(:,:,:), 'W' )622 CALL dom_vvl_interpol( e3t_b(:,:,:), e3w_b(:,:,:), 'W' ) 624 623 CALL dom_vvl_interpol( e3u_b(:,:,:), e3uw_b(:,:,:), 'UW' ) 625 624 CALL dom_vvl_interpol( e3v_b(:,:,:), e3vw_b(:,:,:), 'VW' ) 626 ! t- and w- points depth 627 ! ---------------------- 628 ! set the isf depth as it is in the initial step 625 626 ! t- and w- points depth (set the isf depth as it is in the initial step) 629 627 gdept_n(:,:,1) = 0.5_wp * e3w_n(:,:,1) 630 628 gdepw_n(:,:,1) = 0.0_wp … … 656 654 ! Write outputs 657 655 ! ============= 658 CALL iom_put( "e3t" , e3t_n(:,:,:) )659 CALL iom_put( "e3u" , e3u_n(:,:,:) )660 CALL iom_put( "e3v" , e3v_n(:,:,:) )661 CALL iom_put( "e3w" , e3w_n(:,:,:) )662 CALL iom_put( "tpt_dep" 656 CALL iom_put( "e3t", e3t_n(:,:,:) ) 657 CALL iom_put( "e3u", e3u_n(:,:,:) ) 658 CALL iom_put( "e3v", e3v_n(:,:,:) ) 659 CALL iom_put( "e3w", e3w_n(:,:,:) ) 660 CALL iom_put( "tpt_dep", gde3w_n(:,:,:) ) 663 661 IF( iom_use("e3tdef") ) & 664 CALL iom_put( "e3tdef" , ( ( e3t_n(:,:,:) - e3t_0(:,:,:) ) / e3t_0(:,:,:) * 100* tmask(:,:,:) ) ** 2 )662 CALL iom_put( "e3tdef", ( ( e3t_n(:,:,:) - e3t_0(:,:,:) ) / e3t_0(:,:,:) * 100. * tmask(:,:,:) ) ** 2 ) 665 663 666 664 ! write restart file 667 665 ! ================== 668 IF( lrst_oce ) CALL dom_vvl_rst( kt, 'WRITE' )669 ! 670 IF( nn_timing == 1 ) CALL timing_stop('dom_vvl_sf_swp')666 IF( lrst_oce ) CALL dom_vvl_rst( kt, 'WRITE' ) 667 ! 668 IF( nn_timing == 1 ) CALL timing_stop('dom_vvl_sf_swp') 671 669 ! 672 670 END SUBROUTINE dom_vvl_sf_swp … … 691 689 !!---------------------------------------------------------------------- 692 690 ! 693 IF( nn_timing == 1 ) CALL timing_start('dom_vvl_interpol')691 IF( nn_timing == 1 ) CALL timing_start('dom_vvl_interpol') 694 692 ! 695 693 SELECT CASE ( pout ) !== type of interpolation ==! … … 765 763 END SELECT 766 764 ! 767 IF( nn_timing == 1 ) CALL timing_stop('dom_vvl_interpol')765 IF( nn_timing == 1 ) CALL timing_stop('dom_vvl_interpol') 768 766 ! 769 767 END SUBROUTINE dom_vvl_interpol … … 970 968 ! 971 969 IF( ioptio /= 1 ) CALL ctl_stop( 'Choose ONE vertical coordinate in namelist nam_vvl' ) 972 IF( .NOT. ln_vvl_zstar .AND. nn_isf .NE. 0)CALL ctl_stop( 'Only vvl_zstar has been tested with ice shelf cavity' )970 IF( .NOT. ln_vvl_zstar .AND. nn_isf /= 0) CALL ctl_stop( 'Only vvl_zstar has been tested with ice shelf cavity' ) 973 971 ! 974 972 IF(lwp) THEN ! Print the choice … … 984 982 ! 985 983 #if defined key_agrif 986 IF (.NOT.Agrif_Root()) CALL ctl_stop( 'AGRIF not implemented with non-linear free surface (key_vvl)' )984 IF(.NOT.Agrif_Root() ) CALL ctl_stop( 'AGRIF not implemented with non-linear free surface' ) 987 985 #endif 988 986 ! … … 991 989 !!====================================================================== 992 990 END MODULE domvvl 993 994 995
Note: See TracChangeset
for help on using the changeset viewer.