- Timestamp:
- 2020-02-18T11:58:37+01:00 (4 years ago)
- Location:
- NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/tests
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/tests/CANAL/MY_SRC/domvvl.F90
r12377 r12397 295 295 INTEGER :: ji, jj, jk ! dummy loop indices 296 296 INTEGER , DIMENSION(3) :: ijk_max, ijk_min ! temporary integers 297 REAL(wp) :: z 2dt, z_tmin, z_tmax! local scalars297 REAL(wp) :: z_tmin, z_tmax ! local scalars 298 298 LOGICAL :: ll_do_bclinic ! local logical 299 299 REAL(wp), DIMENSION(jpi,jpj) :: zht, z_scale, zwu, zwv, zhdiv … … 418 418 ! Leapfrog time stepping 419 419 ! ~~~~~~~~~~~~~~~~~~~~~~ 420 IF( neuler == 0 .AND. kt == nit000 ) THEN421 z2dt = rdt422 ELSE423 z2dt = 2.0_wp * rdt424 ENDIF425 420 CALL lbc_lnk( 'domvvl', tilde_e3t_a(:,:,:), 'T', 1._wp ) 426 tilde_e3t_a(:,:,:) = tilde_e3t_b(:,:,:) + z2dt * tmask(:,:,:) * tilde_e3t_a(:,:,:)421 tilde_e3t_a(:,:,:) = tilde_e3t_b(:,:,:) + r2dt * tmask(:,:,:) * tilde_e3t_a(:,:,:) 427 422 428 423 ! Maximum deformation control … … 610 605 ! - ML - e3(t/u/v)_b are allready computed in dynnxt. 611 606 IF( ln_vvl_ztilde .OR. ln_vvl_layer ) THEN 612 IF( neuler == 0 .AND. kt == nit000) THEN607 IF( l_1st_euler ) THEN 613 608 tilde_e3t_b(:,:,:) = tilde_e3t_n(:,:,:) 614 609 ELSE … … 827 822 e3t(:,:,:,Kbb) = e3t_0(:,:,:) 828 823 END WHERE 829 IF( neuler == 0) THEN824 IF( l_1st_euler ) THEN 830 825 e3t(:,:,:,Kbb) = e3t(:,:,:,Kmm) 831 826 ENDIF … … 833 828 IF(lwp) write(numout,*) 'dom_vvl_rst WARNING : e3t(:,:,:,Kmm) not found in restart files' 834 829 IF(lwp) write(numout,*) 'e3t_n set equal to e3t_b.' 835 IF(lwp) write(numout,*) ' neuler is forced to 0'830 IF(lwp) write(numout,*) 'l_1st_euler is forced to .true.' 836 831 CALL iom_get( numror, jpdom_autoglo, 'e3t_b', e3t(:,:,:,Kbb), ldxios = lrxios ) 837 832 e3t(:,:,:,Kmm) = e3t(:,:,:,Kbb) 838 neuler = 0833 l_1st_euler = .true. 839 834 ELSE IF( id2 > 0 ) THEN 840 835 IF(lwp) write(numout,*) 'dom_vvl_rst WARNING : e3t(:,:,:,Kbb) not found in restart files' 841 836 IF(lwp) write(numout,*) 'e3t_b set equal to e3t_n.' 842 IF(lwp) write(numout,*) ' neuler is forced to 0'837 IF(lwp) write(numout,*) 'l_1st_euler is forced to .true.' 843 838 CALL iom_get( numror, jpdom_autoglo, 'e3t_n', e3t(:,:,:,Kmm), ldxios = lrxios ) 844 839 e3t(:,:,:,Kbb) = e3t(:,:,:,Kmm) 845 neuler = 0840 l_1st_euler = .true. 846 841 ELSE 847 842 IF(lwp) write(numout,*) 'dom_vvl_rst WARNING : e3t(:,:,:,Kmm) not found in restart file' 848 843 IF(lwp) write(numout,*) 'Compute scale factor from sshn' 849 IF(lwp) write(numout,*) ' neuler is forced to 0'844 IF(lwp) write(numout,*) 'l_1st_euler is forced to .true.' 850 845 DO jk = 1, jpk 851 846 e3t(:,:,jk,Kmm) = e3t_0(:,:,jk) * ( ht_0(:,:) + ssh(:,:,Kmm) ) & … … 854 849 END DO 855 850 e3t(:,:,:,Kbb) = e3t(:,:,:,Kmm) 856 neuler = 0851 l_1st_euler = .true. 857 852 ENDIF 858 853 ! ! ----------- ! -
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/tests/VORTEX/MY_SRC/domvvl.F90
r12377 r12397 323 323 INTEGER :: ji, jj, jk ! dummy loop indices 324 324 INTEGER , DIMENSION(3) :: ijk_max, ijk_min ! temporary integers 325 REAL(wp) :: z 2dt, z_tmin, z_tmax! local scalars325 REAL(wp) :: z_tmin, z_tmax ! local scalars 326 326 LOGICAL :: ll_do_bclinic ! local logical 327 327 REAL(wp), DIMENSION(jpi,jpj) :: zht, z_scale, zwu, zwv, zhdiv … … 446 446 ! Leapfrog time stepping 447 447 ! ~~~~~~~~~~~~~~~~~~~~~~ 448 IF( neuler == 0 .AND. kt == nit000 ) THEN449 z2dt = rdt450 ELSE451 z2dt = 2.0_wp * rdt452 ENDIF453 448 CALL lbc_lnk( 'domvvl', tilde_e3t_a(:,:,:), 'T', 1._wp ) 454 tilde_e3t_a(:,:,:) = tilde_e3t_b(:,:,:) + z2dt * tmask(:,:,:) * tilde_e3t_a(:,:,:)449 tilde_e3t_a(:,:,:) = tilde_e3t_b(:,:,:) + r2dt * tmask(:,:,:) * tilde_e3t_a(:,:,:) 455 450 456 451 ! Maximum deformation control … … 638 633 ! - ML - e3(t/u/v)_b are allready computed in dynnxt. 639 634 IF( ln_vvl_ztilde .OR. ln_vvl_layer ) THEN 640 IF( neuler == 0 .AND. kt == nit000) THEN635 IF( l_1st_euler ) THEN 641 636 tilde_e3t_b(:,:,:) = tilde_e3t_n(:,:,:) 642 637 ELSE … … 849 844 e3t(:,:,:,Kbb) = e3t_0(:,:,:) 850 845 END WHERE 851 IF( neuler == 0) THEN846 IF( l_1st_euler ) THEN 852 847 e3t(:,:,:,Kbb) = e3t(:,:,:,Kmm) 853 848 ENDIF … … 855 850 IF(lwp) write(numout,*) 'dom_vvl_rst WARNING : e3t(:,:,:,Kmm) not found in restart files' 856 851 IF(lwp) write(numout,*) 'e3t_n set equal to e3t_b.' 857 IF(lwp) write(numout,*) ' neuler is forced to 0'852 IF(lwp) write(numout,*) 'l_1st_euler is forced to .true.' 858 853 CALL iom_get( numror, jpdom_autoglo, 'e3t_b', e3t(:,:,:,Kbb), ldxios = lrxios ) 859 854 e3t(:,:,:,Kmm) = e3t(:,:,:,Kbb) 860 neuler = 0855 l_1st_euler = .true. 861 856 ELSE IF( id2 > 0 ) THEN 862 857 IF(lwp) write(numout,*) 'dom_vvl_rst WARNING : e3t(:,:,:,Kbb) not found in restart files' 863 858 IF(lwp) write(numout,*) 'e3t_b set equal to e3t_n.' 864 IF(lwp) write(numout,*) ' neuler is forced to 0'859 IF(lwp) write(numout,*) 'l_1st_euler is forced to .true.' 865 860 CALL iom_get( numror, jpdom_autoglo, 'e3t_n', e3t(:,:,:,Kmm), ldxios = lrxios ) 866 861 e3t(:,:,:,Kbb) = e3t(:,:,:,Kmm) 867 neuler = 0862 l_1st_euler = .true. 868 863 ELSE 869 864 IF(lwp) write(numout,*) 'dom_vvl_rst WARNING : e3t(:,:,:,Kmm) not found in restart file' 870 865 IF(lwp) write(numout,*) 'Compute scale factor from sshn' 871 IF(lwp) write(numout,*) ' neuler is forced to 0'866 IF(lwp) write(numout,*) 'l_1st_euler is forced to .true.' 872 867 DO jk = 1, jpk 873 868 e3t(:,:,jk,Kmm) = e3t_0(:,:,jk) * ( ht_0(:,:) + ssh(:,:,Kmm) ) & … … 876 871 END DO 877 872 e3t(:,:,:,Kbb) = e3t(:,:,:,Kmm) 878 neuler = 0873 l_1st_euler = .true. 879 874 ENDIF 880 875 ! ! ----------- !
Note: See TracChangeset
for help on using the changeset viewer.