Changeset 11590 for NEMO/branches/2019/dev_r11233_AGRIF-05_jchanut_vert_coord_interp/src/NST/agrif_oce_interp.F90
- Timestamp:
- 2019-09-23T18:25:29+02:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r11233_AGRIF-05_jchanut_vert_coord_interp/src/NST/agrif_oce_interp.F90
r11574 r11590 33 33 USE agrif_oce_sponge 34 34 USE lib_mpp 35 USE vremap 35 36 36 37 IMPLICIT NONE … … 661 662 REAL(wp), DIMENSION(k1:k2) :: h_in 662 663 REAL(wp), DIMENSION(1:jpk) :: h_out 664 !!---------------------------------------------------------------------- 663 665 664 666 IF( before ) THEN … … 698 700 IF (tmask(ji,jj,jk) == 0) EXIT 699 701 N_out = N_out + 1 700 h_out(jk) = e3t_ n(ji,jj,jk)702 h_out(jk) = e3t_a(ji,jj,jk) 701 703 ENDDO 702 704 IF (N_in > 0) THEN 703 705 DO jn=1,jpts 704 call reconstructandremap(tabin(1:N_in,jn),h_in ,ptab_child(ji,jj,1:N_out,jn),h_out,N_in,N_out)706 call reconstructandremap(tabin(1:N_in,jn),h_in(1:N_in),ptab_child(ji,jj,1:N_out,jn),h_out(1:N_out),N_in,N_out) 705 707 ENDDO 706 708 ENDIF … … 737 739 END SUBROUTINE interpsshn 738 740 739 SUBROUTINE interpun( ptab, i1, i2, j1, j2, k1, k2, m1, m2, before , nb, ndir)741 SUBROUTINE interpun( ptab, i1, i2, j1, j2, k1, k2, m1, m2, before ) 740 742 !!---------------------------------------------------------------------- 741 743 !! *** ROUTINE interpun *** … … 745 747 REAL(wp), DIMENSION(i1:i2,j1:j2,k1:k2,m1:m2), INTENT(inout) :: ptab 746 748 LOGICAL, INTENT(in) :: before 747 INTEGER, INTENT(in) :: nb , ndir748 749 !! 749 750 INTEGER :: ji,jj,jk … … 752 753 REAL(wp), DIMENSION(k1:k2) :: tabin, h_in 753 754 REAL(wp), DIMENSION(1:jpk) :: h_out 754 INTEGER :: N_in, N_out , iref755 INTEGER :: N_in, N_out 755 756 REAL(wp) :: h_diff 756 LOGICAL :: western_side, eastern_side757 757 !!--------------------------------------------- 758 758 ! … … 772 772 # if defined key_vertical 773 773 ! VERTICAL REFINEMENT BEGIN 774 western_side = (nb == 1).AND.(ndir == 1)775 eastern_side = (nb == 1).AND.(ndir == 2)776 774 777 775 DO ji=i1,i2 778 iref = ji779 IF (western_side) iref = MAX(2,ji)780 IF (eastern_side) iref = MIN(nlci-2,ji)781 776 DO jj=j1,j2 782 777 N_in = 0 … … 795 790 N_out = 0 796 791 DO jk=1,jpk 797 if (umask( iref,jj,jk) == 0) EXIT792 if (umask(ji,jj,jk) == 0) EXIT 798 793 N_out = N_out + 1 799 h_out(N_out) = e3u_a( iref,jj,jk)794 h_out(N_out) = e3u_a(ji,jj,jk) 800 795 ENDDO 801 796 … … 829 824 END SUBROUTINE interpun 830 825 831 SUBROUTINE interpvn( ptab, i1, i2, j1, j2, k1, k2, m1, m2, before , nb, ndir)826 SUBROUTINE interpvn( ptab, i1, i2, j1, j2, k1, k2, m1, m2, before ) 832 827 !!---------------------------------------------------------------------- 833 828 !! *** ROUTINE interpvn *** … … 837 832 REAL(wp), DIMENSION(i1:i2,j1:j2,k1:k2,m1:m2), INTENT(inout) :: ptab 838 833 LOGICAL, INTENT(in) :: before 839 INTEGER, INTENT(in) :: nb , ndir840 834 ! 841 835 INTEGER :: ji,jj,jk … … 844 838 REAL(wp), DIMENSION(k1:k2) :: tabin, h_in 845 839 REAL(wp), DIMENSION(1:jpk) :: h_out 846 INTEGER :: N_in, N_out , jref840 INTEGER :: N_in, N_out 847 841 REAL(wp) :: h_diff 848 LOGICAL :: northern_side,southern_side849 842 !!--------------------------------------------- 850 843 ! … … 864 857 # if defined key_vertical 865 858 866 southern_side = (nb == 2).AND.(ndir == 1)867 northern_side = (nb == 2).AND.(ndir == 2)868 869 859 DO jj=j1,j2 870 jref = jj871 IF (southern_side) jref = MAX(2,jj)872 IF (northern_side) jref = MIN(nlcj-2,jj)873 860 DO ji=i1,i2 874 861 N_in = 0 … … 886 873 N_out = 0 887 874 DO jk=1,jpk 888 if (vmask(ji,j ref,jk) == 0) EXIT875 if (vmask(ji,jj,jk) == 0) EXIT 889 876 N_out = N_out + 1 890 h_out(N_out) = e3v_a(ji,j ref,jk)877 h_out(N_out) = e3v_a(ji,jj,jk) 891 878 END DO 892 879 IF (N_out == 0) THEN
Note: See TracChangeset
for help on using the changeset viewer.