- Timestamp:
- Aug 1, 2016 2:48:05 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/check_parameters.f90
r1973 r1984 19 19 ! Current revisions: 20 20 ! ----------------- 21 ! 21 ! Bugfix: checking for bottom and top boundary condition for humidity and scalars 22 22 ! 23 23 ! Former revisions: … … 780 780 '''single_street_canyon'' & or ''read_from_file''.', & 781 781 ' & Choose ''cell_edge'' or ''cell_center''.' 782 CALL message( ' user_check_parameters', 'PA0239', 1, 2, 0, 6, 0 )782 CALL message( 'check_parameters', 'PA0239', 1, 2, 0, 6, 0 ) 783 783 ELSE 784 784 !-- The default value is applicable here. … … 796 796 'The value for "topography_grid_convention" is ', & 797 797 'not recognized. & Choose ''cell_edge'' or ''cell_center''.' 798 CALL message( ' user_check_parameters', 'PA0240', 1, 2, 0, 6, 0 )798 CALL message( 'check_parameters', 'PA0240', 1, 2, 0, 6, 0 ) 799 799 ENDIF 800 800 … … 1712 1712 !-- Set boundary conditions for total water content 1713 1713 IF ( humidity ) THEN 1714 CALL check_bc_scalars( 'q', bc_q_b, bc_q_t, ibc_q_b, ibc_q_t, & 1715 'PA0071', 'PA0072', 'PA0073', 'PA0074', & 1716 surface_waterflux, constant_waterflux, & 1717 q_surface_initial_change ) 1714 CALL set_bc_scalars( 'q', bc_q_b, bc_q_t, ibc_q_b, ibc_q_t, & 1715 'PA0071', 'PA0072' ) 1718 1716 1719 1717 IF ( surface_waterflux == 9999999.9_wp ) THEN … … 1737 1735 ENDIF 1738 1736 1737 CALL check_bc_scalars( 'q', bc_q_b, ibc_q_b, 'PA0073', 'PA0074', & 1738 constant_waterflux, q_surface_initial_change ) 1739 1739 1740 ENDIF 1740 1741 1741 1742 IF ( passive_scalar ) THEN 1742 CALL check_bc_scalars( 's', bc_s_b, bc_s_t, ibc_s_b, ibc_s_t, & 1743 'PA0071', 'PA0072', 'PA0073', 'PA0074', & 1744 surface_scalarflux, constant_scalarflux, & 1745 s_surface_initial_change ) 1743 CALL set_bc_scalars( 's', bc_s_b, bc_s_t, ibc_s_b, ibc_s_t, & 1744 'PA0071', 'PA0072' ) 1745 1746 CALL check_bc_scalars( 's', bc_s_b, ibc_s_b, 'PA0073', 'PA0074', & 1747 constant_scalarflux, s_surface_initial_change ) 1746 1748 ENDIF 1747 1749 ! … … 3875 3877 ! Description: 3876 3878 ! ------------ 3877 !> Checkthe bottom and top boundary conditions for humidity and scalars.3879 !> Set the bottom and top boundary conditions for humidity and scalars. 3878 3880 !------------------------------------------------------------------------------! 3879 3881 3880 SUBROUTINE check_bc_scalars( sq, bc_b, bc_t, ibc_b, ibc_t, & 3881 err_nr_b, err_nr_t, err_nr_3, err_nr_4, & 3882 surface_flux, constant_flux, surface_initial_change ) 3882 SUBROUTINE set_bc_scalars( sq, bc_b, bc_t, ibc_b, ibc_t, err_nr_b, err_nr_t ) 3883 3883 3884 3884 … … 3890 3890 CHARACTER (LEN=*) :: err_nr_b 3891 3891 CHARACTER (LEN=*) :: err_nr_t 3892 CHARACTER (LEN=*) :: err_nr_3 3893 CHARACTER (LEN=*) :: err_nr_4 3894 3892 3895 3893 INTEGER(iwp) :: ibc_b 3896 3894 INTEGER(iwp) :: ibc_t 3897 3898 LOGICAL :: constant_flux 3899 3900 REAL(wp) :: surface_flux 3901 REAL(wp) :: surface_initial_change 3902 3903 3895 3896 ! 3897 !-- Set Integer flags and check for possilbe errorneous settings for bottom 3898 !-- boundary condition 3904 3899 IF ( bc_b == 'dirichlet' ) THEN 3905 3900 ibc_b = 0 … … 3911 3906 CALL message( 'check_parameters', err_nr_b, 1, 2, 0, 6, 0 ) 3912 3907 ENDIF 3913 3908 ! 3909 !-- Set Integer flags and check for possilbe errorneous settings for top 3910 !-- boundary condition 3914 3911 IF ( bc_t == 'dirichlet' ) THEN 3915 3912 ibc_t = 0 … … 3923 3920 CALL message( 'check_parameters', err_nr_t, 1, 2, 0, 6, 0 ) 3924 3921 ENDIF 3925 3922 3923 3924 END SUBROUTINE set_bc_scalars 3925 3926 3927 3928 !------------------------------------------------------------------------------! 3929 ! Description: 3930 ! ------------ 3931 !> Check for consistent settings of bottom boundary conditions for humidity 3932 !> and scalars. 3933 !------------------------------------------------------------------------------! 3934 3935 SUBROUTINE check_bc_scalars( sq, bc_b, ibc_b, & 3936 err_nr_1, err_nr_2, & 3937 constant_flux, surface_initial_change ) 3938 3939 3940 IMPLICIT NONE 3941 3942 CHARACTER (LEN=1) :: sq !< 3943 CHARACTER (LEN=*) :: bc_b 3944 CHARACTER (LEN=*) :: err_nr_1 3945 CHARACTER (LEN=*) :: err_nr_2 3946 3947 INTEGER(iwp) :: ibc_b 3948 3949 LOGICAL :: constant_flux 3950 3951 REAL(wp) :: surface_initial_change 3952 3926 3953 ! 3927 3954 !-- A given surface value implies Dirichlet boundary condition for … … 3934 3961 '= "' // TRIM( bc_b ) // '" is not allowed with ' // & 3935 3962 'prescribed surface flux' 3936 CALL message( 'check_parameters', err_nr_ 3, 1, 2, 0, 6, 0 )3963 CALL message( 'check_parameters', err_nr_1, 1, 2, 0, 6, 0 ) 3937 3964 ENDIF 3938 3965 ENDIF 3939 IF ( constant_ waterflux .AND. surface_initial_change /= 0.0_wp ) THEN3966 IF ( constant_flux .AND. surface_initial_change /= 0.0_wp ) THEN 3940 3967 WRITE( message_string, * ) 'a prescribed surface flux is not allo', & 3941 3968 'wed with ', sq, '_surface_initial_change (/=0) = ', & 3942 3969 surface_initial_change 3943 CALL message( 'check_parameters', err_nr_ 4, 1, 2, 0, 6, 0 )3970 CALL message( 'check_parameters', err_nr_2, 1, 2, 0, 6, 0 ) 3944 3971 ENDIF 3945 3972
Note: See TracChangeset
for help on using the changeset viewer.