Changeset 2037 for palm/trunk/SOURCE/poismg_noopt.f90
- Timestamp:
- Oct 26, 2016 11:15:40 AM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/poismg_noopt.f90
r2022 r2037 20 20 ! Current revisions: 21 21 ! ----------------- 22 ! 22 ! Anelastic approximation implemented 23 23 ! 24 24 ! Former revisions: … … 268 268 269 269 USE arrays_3d, & 270 ONLY: f1_mg, f2_mg, f3_mg 270 ONLY: f1_mg, f2_mg, f3_mg, rho_air_mg 271 271 272 272 USE control_parameters, & … … 339 339 DO k = nzb+1, nzt_mg(l) 340 340 r(k,j,i) = f_mg(k,j,i) & 341 - ddx2_mg(l) *&341 - rho_air_mg(k,l) * ddx2_mg(l) * & 342 342 ( p_mg(k,j,i+1) + IBITS( flags(k,j,i), 5, 1 ) * & 343 343 ( p_mg(k,j,i) - p_mg(k,j,i+1) ) + & 344 344 p_mg(k,j,i-1) + IBITS( flags(k,j,i), 4, 1 ) * & 345 345 ( p_mg(k,j,i) - p_mg(k,j,i-1) ) ) & 346 - ddy2_mg(l) *&346 - rho_air_mg(k,l) * ddy2_mg(l) * & 347 347 ( p_mg(k,j+1,i) + IBITS( flags(k,j,i), 3, 1 ) * & 348 348 ( p_mg(k,j,i) - p_mg(k,j+1,i) ) + & … … 745 745 746 746 USE arrays_3d, & 747 ONLY: f1_mg, f2_mg, f3_mg 747 ONLY: f1_mg, f2_mg, f3_mg, rho_air_mg 748 748 749 749 USE control_parameters, & … … 846 846 847 847 p_mg(k,j,i) = 1.0_wp / f1_mg(k,l) * ( & 848 ddx2_mg(l) *&848 rho_air_mg(k,l) * ddx2_mg(l) * & 849 849 ( p_mg(k,j,i+1) + IBITS( flags(k,j,i), 5, 1 ) * & 850 850 ( p_mg(k,j,i) - p_mg(k,j,i+1) ) + & 851 851 p_mg(k,j,i-1) + IBITS( flags(k,j,i), 4, 1 ) * & 852 852 ( p_mg(k,j,i) - p_mg(k,j,i-1) ) ) & 853 + ddy2_mg(l) *&853 + rho_air_mg(k,l) * ddy2_mg(l) * & 854 854 ( p_mg(k,j+1,i) + IBITS( flags(k,j,i), 3, 1 ) * & 855 855 ( p_mg(k,j,i) - p_mg(k,j+1,i) ) + & … … 869 869 DO k = nzb+1, nzt_mg(l), 2 870 870 p_mg(k,j,i) = 1.0_wp / f1_mg(k,l) * ( & 871 ddx2_mg(l) *&871 rho_air_mg(k,l) * ddx2_mg(l) * & 872 872 ( p_mg(k,j,i+1) + IBITS( flags(k,j,i), 5, 1 ) * & 873 873 ( p_mg(k,j,i) - p_mg(k,j,i+1) ) + & 874 874 p_mg(k,j,i-1) + IBITS( flags(k,j,i), 4, 1 ) * & 875 875 ( p_mg(k,j,i) - p_mg(k,j,i-1) ) ) & 876 + ddy2_mg(l) *&876 + rho_air_mg(k,l) * ddy2_mg(l) * & 877 877 ( p_mg(k,j+1,i) + IBITS( flags(k,j,i), 3, 1 ) * & 878 878 ( p_mg(k,j,i) - p_mg(k,j+1,i) ) + & … … 892 892 DO k = nzb+2, nzt_mg(l), 2 893 893 p_mg(k,j,i) = 1.0_wp / f1_mg(k,l) * ( & 894 ddx2_mg(l) *&894 rho_air_mg(k,l) * ddx2_mg(l) * & 895 895 ( p_mg(k,j,i+1) + IBITS( flags(k,j,i), 5, 1 ) * & 896 896 ( p_mg(k,j,i) - p_mg(k,j,i+1) ) + & 897 897 p_mg(k,j,i-1) + IBITS( flags(k,j,i), 4, 1 ) * & 898 898 ( p_mg(k,j,i) - p_mg(k,j,i-1) ) ) & 899 + ddy2_mg(l) *&899 + rho_air_mg(k,l) * ddy2_mg(l) * & 900 900 ( p_mg(k,j+1,i) + IBITS( flags(k,j,i), 3, 1 ) * & 901 901 ( p_mg(k,j,i) - p_mg(k,j+1,i) ) + & … … 915 915 DO k = nzb+2, nzt_mg(l), 2 916 916 p_mg(k,j,i) = 1.0_wp / f1_mg(k,l) * ( & 917 ddx2_mg(l) *&917 rho_air_mg(k,l) * ddx2_mg(l) * & 918 918 ( p_mg(k,j,i+1) + IBITS( flags(k,j,i), 5, 1 ) * & 919 919 ( p_mg(k,j,i) - p_mg(k,j,i+1) ) + & 920 920 p_mg(k,j,i-1) + IBITS( flags(k,j,i), 4, 1 ) * & 921 921 ( p_mg(k,j,i) - p_mg(k,j,i-1) ) ) & 922 + ddy2_mg(l) *&922 + rho_air_mg(k,l) * ddy2_mg(l) * & 923 923 ( p_mg(k,j+1,i) + IBITS( flags(k,j,i), 3, 1 ) * & 924 924 ( p_mg(k,j,i) - p_mg(k,j+1,i) ) + & … … 947 947 j = jj 948 948 p_mg(k,j,i) = 1.0_wp / f1_mg(k,l) * ( & 949 ddx2_mg(l) *&949 rho_air_mg(k,l) * ddx2_mg(l) * & 950 950 ( p_mg(k,j,i+1) + IBITS( flags(k,j,i), 5, 1 ) * & 951 951 ( p_mg(k,j,i) - p_mg(k,j,i+1) ) + & 952 952 p_mg(k,j,i-1) + IBITS( flags(k,j,i), 4, 1 ) * & 953 953 ( p_mg(k,j,i) - p_mg(k,j,i-1) ) ) & 954 + ddy2_mg(l) *&954 + rho_air_mg(k,l) * ddy2_mg(l) * & 955 955 ( p_mg(k,j+1,i) + IBITS( flags(k,j,i), 3, 1 ) * & 956 956 ( p_mg(k,j,i) - p_mg(k,j+1,i) ) + & … … 964 964 j = jj+2 965 965 p_mg(k,j,i) = 1.0_wp / f1_mg(k,l) * ( & 966 ddx2_mg(l) *&966 rho_air_mg(k,l) * ddx2_mg(l) * & 967 967 ( p_mg(k,j,i+1) + IBITS( flags(k,j,i), 5, 1 ) * & 968 968 ( p_mg(k,j,i) - p_mg(k,j,i+1) ) + & 969 969 p_mg(k,j,i-1) + IBITS( flags(k,j,i), 4, 1 ) * & 970 970 ( p_mg(k,j,i) - p_mg(k,j,i-1) ) ) & 971 + ddy2_mg(l) *&971 + rho_air_mg(k,l) * ddy2_mg(l) * & 972 972 ( p_mg(k,j+1,i) + IBITS( flags(k,j,i), 3, 1 ) * & 973 973 ( p_mg(k,j,i) - p_mg(k,j+1,i) ) + & … … 986 986 j =jj 987 987 p_mg(k,j,i) = 1.0_wp / f1_mg(k,l) * ( & 988 ddx2_mg(l) *&988 rho_air_mg(k,l) * ddx2_mg(l) * & 989 989 ( p_mg(k,j,i+1) + IBITS( flags(k,j,i), 5, 1 ) * & 990 990 ( p_mg(k,j,i) - p_mg(k,j,i+1) ) + & 991 991 p_mg(k,j,i-1) + IBITS( flags(k,j,i), 4, 1 ) * & 992 992 ( p_mg(k,j,i) - p_mg(k,j,i-1) ) ) & 993 + ddy2_mg(l) *&993 + rho_air_mg(k,l) * ddy2_mg(l) * & 994 994 ( p_mg(k,j+1,i) + IBITS( flags(k,j,i), 3, 1 ) * & 995 995 ( p_mg(k,j,i) - p_mg(k,j+1,i) ) + & … … 1003 1003 j = jj+2 1004 1004 p_mg(k,j,i) = 1.0_wp / f1_mg(k,l) * ( & 1005 ddx2_mg(l) *&1005 rho_air_mg(k,l) * ddx2_mg(l) * & 1006 1006 ( p_mg(k,j,i+1) + IBITS( flags(k,j,i), 5, 1 ) * & 1007 1007 ( p_mg(k,j,i) - p_mg(k,j,i+1) ) + & 1008 1008 p_mg(k,j,i-1) + IBITS( flags(k,j,i), 4, 1 ) * & 1009 1009 ( p_mg(k,j,i) - p_mg(k,j,i-1) ) ) & 1010 + ddy2_mg(l) *&1010 + rho_air_mg(k,l) * ddy2_mg(l) * & 1011 1011 ( p_mg(k,j+1,i) + IBITS( flags(k,j,i), 3, 1 ) * & 1012 1012 ( p_mg(k,j,i) - p_mg(k,j+1,i) ) + & … … 1025 1025 j =jj 1026 1026 p_mg(k,j,i) = 1.0_wp / f1_mg(k,l) * ( & 1027 ddx2_mg(l) *&1027 rho_air_mg(k,l) * ddx2_mg(l) * & 1028 1028 ( p_mg(k,j,i+1) + IBITS( flags(k,j,i), 5, 1 ) * & 1029 1029 ( p_mg(k,j,i) - p_mg(k,j,i+1) ) + & 1030 1030 p_mg(k,j,i-1) + IBITS( flags(k,j,i), 4, 1 ) * & 1031 1031 ( p_mg(k,j,i) - p_mg(k,j,i-1) ) ) & 1032 + ddy2_mg(l) *&1032 + rho_air_mg(k,l) * ddy2_mg(l) * & 1033 1033 ( p_mg(k,j+1,i) + IBITS( flags(k,j,i), 3, 1 ) * & 1034 1034 ( p_mg(k,j,i) - p_mg(k,j+1,i) ) + & … … 1042 1042 j = jj+2 1043 1043 p_mg(k,j,i) = 1.0_wp / f1_mg(k,l) * ( & 1044 ddx2_mg(l) *&1044 rho_air_mg(k,l) * ddx2_mg(l) * & 1045 1045 ( p_mg(k,j,i+1) + IBITS( flags(k,j,i), 5, 1 ) * & 1046 1046 ( p_mg(k,j,i) - p_mg(k,j,i+1) ) + & 1047 1047 p_mg(k,j,i-1) + IBITS( flags(k,j,i), 4, 1 ) * & 1048 1048 ( p_mg(k,j,i) - p_mg(k,j,i-1) ) ) & 1049 + ddy2_mg(l) *&1049 + rho_air_mg(k,l) * ddy2_mg(l) * & 1050 1050 ( p_mg(k,j+1,i) + IBITS( flags(k,j,i), 3, 1 ) * & 1051 1051 ( p_mg(k,j,i) - p_mg(k,j+1,i) ) + & … … 1064 1064 j =jj 1065 1065 p_mg(k,j,i) = 1.0_wp / f1_mg(k,l) * ( & 1066 ddx2_mg(l) *&1066 rho_air_mg(k,l) * ddx2_mg(l) * & 1067 1067 ( p_mg(k,j,i+1) + IBITS( flags(k,j,i), 5, 1 ) * & 1068 1068 ( p_mg(k,j,i) - p_mg(k,j,i+1) ) + & 1069 1069 p_mg(k,j,i-1) + IBITS( flags(k,j,i), 4, 1 ) * & 1070 1070 ( p_mg(k,j,i) - p_mg(k,j,i-1) ) ) & 1071 + ddy2_mg(l) *&1071 + rho_air_mg(k,l) * ddy2_mg(l) * & 1072 1072 ( p_mg(k,j+1,i) + IBITS( flags(k,j,i), 3, 1 ) * & 1073 1073 ( p_mg(k,j,i) - p_mg(k,j+1,i) ) + & … … 1081 1081 j = jj+2 1082 1082 p_mg(k,j,i) = 1.0_wp / f1_mg(k,l) * ( & 1083 ddx2_mg(l) *&1083 rho_air_mg(k,l) * ddx2_mg(l) * & 1084 1084 ( p_mg(k,j,i+1) + IBITS( flags(k,j,i), 5, 1 ) * & 1085 1085 ( p_mg(k,j,i) - p_mg(k,j,i+1) ) + & 1086 1086 p_mg(k,j,i-1) + IBITS( flags(k,j,i), 4, 1 ) * & 1087 1087 ( p_mg(k,j,i) - p_mg(k,j,i-1) ) ) & 1088 + ddy2_mg(l) *&1088 + rho_air_mg(k,l) * ddy2_mg(l) * & 1089 1089 ( p_mg(k,j+1,i) + IBITS( flags(k,j,i), 3, 1 ) * & 1090 1090 ( p_mg(k,j,i) - p_mg(k,j+1,i) ) + &
Note: See TracChangeset
for help on using the changeset viewer.