Changeset 4842 for palm/trunk/SOURCE/radiation_model_mod.f90
- Timestamp:
- Jan 14, 2021 10:42:28 AM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/radiation_model_mod.f90
r4836 r4842 27 27 ! ----------------- 28 28 ! $Id$ 29 ! openmp bugfix: some missing arrays added to reduction clause 29 ! reading of namelist file and actions in case of namelist errors revised so that statement labels 30 ! and goto statements are not required any more, 31 ! deprectaed namelist name removed 32 ! 33 ! 4836 2021-01-07 13:58:12Z raasch 34 ! openmp bugfix: some missing arrays added to reduction clause 30 35 ! 31 36 ! 4824 2020-12-12 20:45:23Z moh.hefny … … 717 722 0.06_wp, 0.06_wp, 0.06_wp, & ! 1 - ocean 718 723 0.19_wp, 0.28_wp, 0.09_wp, & ! 2 - mixed farming, tall grassland 719 0.23_wp, 0.33_wp, 0.11_wp, & ! 3 - tall/medium grassland 720 0.23_wp, 0.33_wp, 0.11_wp, & ! 4 - evergreen shrubland 721 0.25_wp, 0.34_wp, 0.14_wp, & ! 5 - short grassland/meadow/shrubland 722 0.14_wp, 0.22_wp, 0.06_wp, & ! 6 - evergreen needleleaf forest 723 0.17_wp, 0.27_wp, 0.06_wp, & ! 7 - mixed deciduous forest 724 0.19_wp, 0.31_wp, 0.06_wp, & ! 8 - deciduous forest 724 0.23_wp, 0.33_wp, 0.11_wp, & ! 3 - tall/medium grassland 725 0.23_wp, 0.33_wp, 0.11_wp, & ! 4 - evergreen shrubland 726 0.25_wp, 0.34_wp, 0.14_wp, & ! 5 - short grassland/meadow/shrubland 727 0.14_wp, 0.22_wp, 0.06_wp, & ! 6 - evergreen needleleaf forest 728 0.17_wp, 0.27_wp, 0.06_wp, & ! 7 - mixed deciduous forest 729 0.19_wp, 0.31_wp, 0.06_wp, & ! 8 - deciduous forest 725 730 0.14_wp, 0.22_wp, 0.06_wp, & ! 9 - tropical evergreen broadleaved forest 726 0.18_wp, 0.28_wp, 0.06_wp, & ! 10 - medium/tall grassland/woodland 727 0.43_wp, 0.51_wp, 0.35_wp, & ! 11 - desert, sandy 728 0.32_wp, 0.40_wp, 0.24_wp, & ! 12 - desert, rocky 729 0.19_wp, 0.27_wp, 0.10_wp, & ! 13 - tundra 730 0.77_wp, 0.65_wp, 0.90_wp, & ! 14 - land ice 731 0.77_wp, 0.65_wp, 0.90_wp, & ! 15 - sea ice 732 0.82_wp, 0.70_wp, 0.95_wp, & ! 16 - snow 733 0.08_wp, 0.08_wp, 0.08_wp, & ! 17 - bare soil 734 0.17_wp, 0.17_wp, 0.17_wp, & ! 18 - asphalt/concrete mix 735 0.17_wp, 0.17_wp, 0.17_wp, & ! 19 - asphalt (asphalt concrete) 736 0.30_wp, 0.30_wp, 0.30_wp, & ! 20 - concrete (Portland concrete) 737 0.17_wp, 0.17_wp, 0.17_wp, & ! 21 - sett 731 0.18_wp, 0.28_wp, 0.06_wp, & ! 10 - medium/tall grassland/woodland 732 0.43_wp, 0.51_wp, 0.35_wp, & ! 11 - desert, sandy 733 0.32_wp, 0.40_wp, 0.24_wp, & ! 12 - desert, rocky 734 0.19_wp, 0.27_wp, 0.10_wp, & ! 13 - tundra 735 0.77_wp, 0.65_wp, 0.90_wp, & ! 14 - land ice 736 0.77_wp, 0.65_wp, 0.90_wp, & ! 15 - sea ice 737 0.82_wp, 0.70_wp, 0.95_wp, & ! 16 - snow 738 0.08_wp, 0.08_wp, 0.08_wp, & ! 17 - bare soil 739 0.17_wp, 0.17_wp, 0.17_wp, & ! 18 - asphalt/concrete mix 740 0.17_wp, 0.17_wp, 0.17_wp, & ! 19 - asphalt (asphalt concrete) 741 0.30_wp, 0.30_wp, 0.30_wp, & ! 20 - concrete (Portland concrete) 742 0.17_wp, 0.17_wp, 0.17_wp, & ! 21 - sett 738 743 0.17_wp, 0.17_wp, 0.17_wp, & ! 22 - paving stones 739 0.17_wp, 0.17_wp, 0.17_wp, & ! 23 - cobblestone 744 0.17_wp, 0.17_wp, 0.17_wp, & ! 23 - cobblestone 740 745 0.17_wp, 0.17_wp, 0.17_wp, & ! 24 - metal 741 746 0.17_wp, 0.17_wp, 0.17_wp, & ! 25 - wood 742 747 0.17_wp, 0.17_wp, 0.17_wp, & ! 26 - gravel 743 0.17_wp, 0.17_wp, 0.17_wp, & ! 27 - fine gravel 744 0.17_wp, 0.17_wp, 0.17_wp, & ! 28 - pebblestone 748 0.17_wp, 0.17_wp, 0.17_wp, & ! 27 - fine gravel 749 0.17_wp, 0.17_wp, 0.17_wp, & ! 28 - pebblestone 745 750 0.17_wp, 0.17_wp, 0.17_wp, & ! 29 - woodchips 746 751 0.17_wp, 0.17_wp, 0.17_wp, & ! 30 - tartan (sports) 747 752 0.17_wp, 0.17_wp, 0.17_wp, & ! 31 - artificial turf (sports) 748 0.17_wp, 0.17_wp, 0.17_wp, & ! 32 - clay (sports) 753 0.17_wp, 0.17_wp, 0.17_wp, & ! 32 - clay (sports) 749 754 0.17_wp, 0.17_wp, 0.17_wp, & ! 33 - building (dummy) 750 755 0.60_wp, 0.60_wp, 0.60_wp, & ! 34 - building wall type 1 - reflecting facade … … 4105 4110 SUBROUTINE radiation_parin 4106 4111 4107 4108 4112 IMPLICIT NONE 4109 4113 4110 CHARACTER(LEN=80) :: line !< dummy string that contains the current line of the parameter file 4111 4112 NAMELIST /radiation_par/ albedo, & 4113 albedo_lw_dif, & 4114 albedo_lw_dir, & 4115 albedo_sw_dif, & 4116 albedo_sw_dir, & 4117 albedo_type, & 4118 bufsize_alltoall, & 4119 constant_albedo, & 4120 dt_radiation, & 4121 emissivity, & 4122 lw_radiation, & 4123 max_raytracing_dist, & 4124 min_irrf_value, & 4125 mrt_geom, & 4126 mrt_geom_params, & 4127 mrt_include_sw, & 4128 mrt_nlevels, & 4129 mrt_skip_roof, & 4130 net_radiation, & 4131 nrefsteps, & 4132 plant_lw_interact, & 4133 rad_angular_discretization, & 4134 radiation_interactions_on, & 4135 radiation_scheme, & 4136 raytrace_discrete_azims, & 4137 raytrace_discrete_elevs, & 4138 raytrace_mpi_rma, & 4139 trace_fluxes_above, & 4140 skip_time_do_radiation, & 4141 surface_reflections, & 4142 svfnorm_report_thresh, & 4143 sw_radiation, & 4144 unscheduled_radiation_calls 4114 CHARACTER(LEN=100) :: line !< dummy string that contains the current line of the parameter file 4115 4116 INTEGER(iwp) :: io_status !< status after reading the namelist file 4145 4117 4146 4118 … … 4179 4151 unscheduled_radiation_calls 4180 4152 4181 line = ' ' 4182 4183 ! 4184 !-- Try to find radiation model namelist 4153 ! 4154 !-- Move to the beginning of the namelist file and try to find and read the namelist. 4185 4155 REWIND( 11 ) 4186 line = ' ' 4187 DO WHILE ( INDEX( line, '&radiation_parameters' ) == 0 ) 4188 READ( 11, '(A)', END = 12 ) line 4189 ENDDO 4190 BACKSPACE( 11 ) 4191 4192 ! 4193 !-- Read user-defined namelist 4194 READ( 11, radiation_parameters, ERR = 10 ) 4195 4196 ! 4197 !-- Set flag that indicates that the radiation model is switched on 4198 radiation = .TRUE. 4199 4200 GOTO 14 4201 4202 10 BACKSPACE( 11 ) 4203 READ( 11 , '(A)') line 4204 CALL parin_fail_message( 'radiation_parameters', line ) 4205 ! 4206 !-- Try to find old namelist 4207 12 REWIND( 11 ) 4208 line = ' ' 4209 DO WHILE ( INDEX( line, '&radiation_par' ) == 0 ) 4210 READ( 11, '(A)', END = 14 ) line 4211 ENDDO 4212 BACKSPACE( 11 ) 4213 4214 ! 4215 !-- Read user-defined namelist 4216 READ( 11, radiation_par, ERR = 13, END = 14 ) 4217 4218 message_string = 'namelist radiation_par is deprecated and will be removed in near future. '// & 4219 'Please use namelist radiation_parameters instead' 4220 CALL message( 'radiation_parin', 'PA0487', 0, 1, 0, 6, 0 ) 4221 4222 ! 4223 !-- Set flag that indicates that the radiation model is switched on 4224 radiation = .TRUE. 4225 4226 IF ( .NOT. radiation_interactions_on .AND. surface_reflections ) THEN 4227 message_string = 'surface_reflections is allowed only when ' // & 4228 'radiation_interactions_on is set to TRUE' 4229 CALL message( 'radiation_parin', 'PA0293',1, 2, 0, 6, 0 ) 4156 READ( 11, radiation_parameters, IOSTAT=io_status ) 4157 4158 ! 4159 !-- Action depending on the READ status 4160 IF ( io_status == 0 ) THEN 4161 ! 4162 !-- radiation_parameters namelist was found and read correctly. Set flag that indicates that the 4163 !-- radiation model is switched on. 4164 radiation = .TRUE. 4165 4166 ELSEIF ( io_status > 0 ) THEN 4167 ! 4168 !-- radiation_parameters namelist was found but contained errors. Print an error message 4169 !-- including the line that caused the problem. 4170 BACKSPACE( 11 ) 4171 READ( 11 , '(A)' ) line 4172 CALL parin_fail_message( 'radiation_parameters', line ) 4173 4230 4174 ENDIF 4231 4232 GOTO 144233 4234 13 BACKSPACE( 11 )4235 READ( 11 , '(A)') line4236 CALL parin_fail_message( 'radiation_par', line )4237 4238 14 CONTINUE4239 4175 4240 4176 END SUBROUTINE radiation_parin
Note: See TracChangeset
for help on using the changeset viewer.