Changeset 1496
- Timestamp:
- Dec 2, 2014 5:25:50 PM (10 years ago)
- Location:
- palm/trunk/SOURCE
- Files:
-
- 3 added
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/Makefile
r1485 r1496 20 20 # Current revisions: 21 21 # ------------------ 22 # 22 # Added land surface model and radiation model files: land_surface_model, 23 # radiation_model, user_init_land_surface 23 24 # 24 25 # Former revisions: … … 206 207 init_grid.f90 init_masks.f90 init_ocean.f90 \ 207 208 init_pegrid.f90 init_pt_anomaly.f90 init_rankine.f90 init_slope.f90 \ 208 interaction_droplets_ptq.f90 l ocal_flush.f90 local_getenv.f90 \209 209 interaction_droplets_ptq.f90 land_surface_model.f90 local_flush.f90 \ 210 local_getenv.f90 local_stop.f90 local_system.f90 local_tremain.f90 \ 210 211 local_tremain_ini.f90 lpm.f90 lpm_advec.f90 lpm_boundary_conds.f90 \ 211 212 lpm_calc_liquid_water_content.f90 lpm_collision_kernels.f90 \ … … 221 222 package_parin.f90 palm.f90 parin.f90 plant_canopy_model.f90 poisfft.f90 \ 222 223 poismg.f90 prandtl_fluxes.f90 pres.f90 print_1d.f90 production_e.f90 \ 223 prognostic_equations.f90 progress_bar.f90 ra ndom_function.f90 \224 random_ gauss.f90 random_generator_parallel.f90 read_3d_binary.f90 \225 read_ var_list.f90 run_control.f90 \224 prognostic_equations.f90 progress_bar.f90 radiation_model.f90 \ 225 random_function.f90 random_gauss.f90 random_generator_parallel.f90 \ 226 read_3d_binary.f90 read_var_list.f90 run_control.f90 \ 226 227 set_slicer_attributes_dvrp.f90 singleton.f90 sor.f90 \ 227 228 subsidence.f90 sum_up_3d_data.f90 \ … … 237 238 user_dvrp_coltab.f90 user_header.f90 user_init.f90 \ 238 239 user_init_3d_model.f90 user_init_grid.f90 \ 240 user_init_land_surface.f90 \ 239 241 user_init_plant_canopy.f90 user_last_actions.f90 user_lpm_advec.f90 \ 240 242 user_lpm_init.f90 user_lpm_set_attributes.f90 user_module.f90 \ … … 292 294 check_for_restart.o: modules.o mod_kinds.o 293 295 check_open.o: modules.o mod_kinds.o mod_particle_attributes.o 294 check_parameters.o: modules.o mod_kinds.o subsidence.o plant_canopy_model.o 296 check_parameters.o: modules.o mod_kinds.o subsidence.o land_surface_model.o\ 297 plant_canopy_model.o 295 298 close_file.o: modules.o mod_kinds.o 296 299 compute_vpt.o: modules.o mod_kinds.o … … 327 330 init_1d_model.o: modules.o mod_kinds.o 328 331 init_3d_model.o: modules.o cpulog.o mod_kinds.o random_function.o advec_ws.o \ 329 ls_forcing.o lpm_init.o plant_canopy_model.o random_generator_parallel.o 332 land_surface_model.o ls_forcing.o lpm_init.o plant_canopy_model.o \ 333 radiation_model.o random_generator_parallel.o 330 334 init_advec.o: modules.o mod_kinds.o 331 335 init_cloud_physics.o: modules.o mod_kinds.o … … 340 344 init_slope.o: modules.o mod_kinds.o 341 345 interaction_droplets_ptq.o: modules.o mod_kinds.o 346 land_surface_model.o: modules.o mod_kinds.o radiation_model.o 342 347 local_flush.o: mod_kinds.o 343 348 local_getenv.o: modules.o mod_kinds.o … … 383 388 netcdf.o: modules.o mod_kinds.o 384 389 nudging.o: modules.o cpulog.o mod_kinds.o 385 package_parin.o: modules.o mod_kinds.o plant_canopy_model.o 390 package_parin.o: modules.o mod_kinds.o land_surface_model.o plant_canopy_model.o \ 391 radiation_model.o 386 392 palm.o: modules.o cpulog.o ls_forcing.o mod_kinds.o nudging.o 387 393 parin.o: modules.o cpulog.o mod_kinds.o progress_bar.o … … 400 406 nudging.o plant_canopy_model.o production_e.o subsidence.o user_actions.o 401 407 progress_bar.o: modules.o mod_kinds.o 408 radiation_model.o : modules.o 402 409 random_function.o: mod_kinds.o 403 410 random_gauss.o: mod_kinds.o random_function.o random_generator_parallel.o … … 415 422 temperton_fft.o: modules.o mod_kinds.o 416 423 time_integration.o: modules.o advec_ws.o buoyancy.o calc_mean_profile.o \ 417 cpulog.o interaction_droplets_ptq.o ls_forcing.o mod_kinds.o \ 418 nudging.o production_e.o prognostic_equations.o progress_bar.o user_actions.o 424 cpulog.o interaction_droplets_ptq.o land_surface_model.o \ 425 ls_forcing.o mod_kinds.o nudging.o production_e.o \ 426 prognostic_equations.o progress_bar.o radiation_model.o \ 427 user_actions.o 419 428 time_to_string.o: mod_kinds.o 420 429 timestep.o: modules.o cpulog.o mod_kinds.o … … 438 447 user_init_3d_model.o: modules.o mod_kinds.o user_module.o 439 448 user_init_grid.o: modules.o mod_kinds.o user_module.o 449 user_init_land_surface.o: modules.o mod_kinds.o user_module.o land_surface_model.o 440 450 user_init_plant_canopy.o: modules.o mod_kinds.o user_module.o plant_canopy_model.o 441 451 user_last_actions.o: modules.o mod_kinds.o user_module.o -
palm/trunk/SOURCE/check_parameters.f90
r1485 r1496 20 20 ! Current revisions: 21 21 ! ----------------- 22 ! 22 ! Added checks for the land surface model 23 23 ! 24 24 ! Former revisions: … … 251 251 USE grid_variables 252 252 USE indices 253 USE land_surface_model_mod 253 254 USE kinds 254 255 USE model_1d … … 258 259 USE plant_canopy_model_mod 259 260 USE profil_parameter 261 USE radiation_model_mod 260 262 USE spectrum 261 263 USE statistics … … 942 944 943 945 ENDIF 946 947 948 IF ( land_surface ) THEN 949 950 IF ( ANY(soil_temperature == 9999999.9_wp) ) THEN 951 message_string = '&lsm_par list requires setting'// & 952 'of soil_temperature(0:3)'// & 953 '/= 9999999.9' 954 CALL message( 'check_parameters', 'PA0398', 1, 2, 0, 6, 0 ) 955 ENDIF 956 957 ! Dirichlet boundary conditions are allowed at the moment for testing 958 ! purposes 959 ! IF ( bc_pt_b == 'dirichlet' .OR. bc_q_b == 'dirichlet' ) THEN 960 ! message_string = 'lsm requires setting of'// & 961 ! 'bc_pt_b = "neumann" and '// & 962 ! 'bc_q_b = "neumann"' 963 ! CALL message( 'check_parameters', 'PA0399', 1, 2, 0, 6, 0 ) 964 ! ENDIF 965 966 IF ( .NOT. prandtl_layer ) THEN 967 message_string = 'lsm requires '// & 968 'prandtl_layer = .T.' 969 CALL message( 'check_parameters', 'PA0400', 1, 2, 0, 6, 0 ) 970 ENDIF 971 972 IF ( veg_type == 0 ) THEN 973 IF ( SUM(root_fraction) /= 1.0_wp) THEN 974 message_string = 'veg_type = 0 (user_defined)'// & 975 'requires setting of root_fraction(0:3)'// & 976 '/= 9999999.9 and SUM(root_fraction) = 1' 977 CALL message( 'check_parameters', 'PA0401', 1, 2, 0, 6, 0 ) 978 ENDIF 979 ENDIF 980 981 IF ( .NOT. radiation ) THEN 982 message_string = 'lsm requires '// & 983 'radiation = .T.' 984 CALL message( 'check_parameters', 'PA0402', 1, 2, 0, 6, 0 ) 985 ENDIF 986 987 988 END IF 989 944 990 945 991 IF ( .NOT. ( loop_optimization == 'cache' .OR. & … … 1599 1645 IF ( surface_heatflux == 9999999.9_wp ) THEN 1600 1646 constant_heatflux = .FALSE. 1601 IF ( large_scale_forcing ) THEN1647 IF ( large_scale_forcing .OR. land_surface ) THEN 1602 1648 IF ( ibc_pt_b == 0 ) THEN 1603 1649 constant_heatflux = .FALSE. 1604 1650 ELSEIF ( ibc_pt_b == 1 ) THEN 1605 1651 constant_heatflux = .TRUE. 1606 IF ( TRIM( initializing_actions ) /= 'read_restart_data' ) THEN 1652 IF ( TRIM( initializing_actions ) /= 'read_restart_data' .AND. & 1653 .NOT. land_surface ) THEN 1607 1654 surface_heatflux = shf_surf(1) 1655 ELSE 1656 surface_heatflux = 0.0_wp 1608 1657 ENDIF 1609 1658 ENDIF … … 1611 1660 ELSE 1612 1661 constant_heatflux = .TRUE. 1613 IF ( TRIM( initializing_actions ) /= 'read_restart_data' .AND. &1614 large_scale_forcing )THEN1662 IF ( TRIM( initializing_actions ) /= 'read_restart_data' .AND. & 1663 .NOT. land_surface ) THEN 1615 1664 surface_heatflux = shf_surf(1) 1616 1665 ENDIF … … 1621 1670 IF ( neutral ) THEN 1622 1671 1623 IF ( surface_heatflux /= 0.0_wp .AND. 1672 IF ( surface_heatflux /= 0.0_wp .AND. surface_heatflux /= 9999999.9_wp ) & 1624 1673 THEN 1625 1674 message_string = 'heatflux must not be set for pure neutral flow' -
palm/trunk/SOURCE/header.f90
r1485 r1496 20 20 ! Current revisions: 21 21 ! ----------------- 22 ! 22 ! Renamed: "radiation -> "cloud_top_radiation" 23 23 ! 24 24 ! Former revisions: … … 1600 1600 ELSEIF ( humidity .AND. cloud_physics ) THEN 1601 1601 WRITE ( io, 432 ) 1602 IF ( radiation ) WRITE ( io, 132 )1602 IF ( cloud_top_radiation ) WRITE ( io, 132 ) 1603 1603 IF ( icloud_scheme == 1 ) THEN 1604 1604 IF ( precipitation ) WRITE ( io, 133 ) -
palm/trunk/SOURCE/init_3d_model.f90
r1485 r1496 20 20 ! Current revisions: 21 21 ! ------------------ 22 ! 22 ! Added initialization of the land surface and radiation schemes 23 23 ! 24 24 ! Former revisions: … … 210 210 211 211 USE kinds 212 212 213 USE land_surface_model_mod, & 214 ONLY: init_lsm, land_surface 215 213 216 USE ls_forcing_mod 214 217 … … 225 228 USE plant_canopy_model_mod, & 226 229 ONLY: init_plant_canopy, plant_canopy 230 231 USE radiation_model_mod, & 232 ONLY: init_radiation, radiation 227 233 228 234 USE random_function_mod … … 1584 1590 IF ( particle_advection ) CALL lpm_init 1585 1591 1592 1593 ! 1594 !-- If required, initialize radiation model 1595 IF ( radiation ) THEN 1596 CALL init_radiation 1597 ENDIF 1598 1599 ! 1600 !-- If required, initialize quantities needed for the LSM 1601 IF ( land_surface ) THEN 1602 CALL init_lsm 1603 ENDIF 1604 1586 1605 ! 1587 1606 !-- Initialize the ws-scheme. -
palm/trunk/SOURCE/modules.f90
r1485 r1496 20 20 ! Current revisions: 21 21 ! ------------------ 22 ! 22 ! Renamed "radiation" -> "cloud_top_radiation" 23 23 ! 24 24 ! Former revisions: … … 629 629 call_psolver_at_all_substeps = .TRUE., & 630 630 cloud_droplets = .FALSE., cloud_physics = .FALSE., & 631 cloud_top_radiation = .FALSE., & 631 632 conserve_volume_flow = .FALSE., constant_diffusion = .FALSE., & 632 633 constant_heatflux = .TRUE., constant_top_heatflux = .TRUE., & … … 657 658 prandtl_layer = .TRUE., & 658 659 precipitation = .FALSE., & 659 ra diation = .FALSE., random_heatflux = .FALSE., &660 random_heatflux = .FALSE., & 660 661 run_control_header = .FALSE., run_coupled = .TRUE., & 661 662 scalar_rayleigh_damping = .TRUE., sloping_surface = .FALSE., & … … 699 700 dt_do2d_xy = 9999999.9_wp, dt_do2d_xz = 9999999.9_wp, & 700 701 dt_do2d_yz = 9999999.9_wp, dt_do3d = 9999999.9_wp, dt_dvrp = 9999999.9_wp, & 701 dt_max = 20.0_wp, dt_micro = -1.0_wp, dt_restart = 9999999.9_wp, & 702 dt_max = 20.0_wp, dt_micro = -1.0_wp, & 703 dt_restart = 9999999.9_wp, & 702 704 dt_run_control = 60.0_wp, dt_3d = -1.0_wp, dz = -1.0_wp, & 703 705 dz_max = 9999999.9_wp, dz_stretch_factor = 1.08_wp, & -
palm/trunk/SOURCE/package_parin.f90
r1485 r1496 20 20 ! Current revisions: 21 21 ! ----------------- 22 ! 22 ! Added support for the land surface model and radiation scheme 23 23 ! 24 24 ! Former revisions: … … 79 79 USE control_parameters, & 80 80 ONLY: averaging_interval_sp, dt_data_output, dt_dopts, dt_dosp, & 81 dt_dvrp, particle_maximum_age, skip_time_dosp, threshold 81 dt_dvrp, particle_maximum_age, skip_time_dosp, & 82 threshold 82 83 83 84 USE dvrp_variables, & … … 94 95 vc_alpha, vc_gradient_normals, vc_mode, vc_size_x, vc_size_y, & 95 96 vc_size_z 97 98 USE land_surface_model_mod, & 99 ONLY: alpha_VanGenuchten, C_skin, canopy_resistance_coefficient, & 100 conserve_water_content, f_shortwave_incoming, & 101 hydraulic_conductivity, lambda_skin_stable, lambda_skin_unstable,& 102 leaf_area_index, land_surface, l_VanGenuchten, & 103 min_canopy_resistance, field_capacity, residual_moisture, & 104 saturation_moisture, wilting_point, n_VanGenuchten, & 105 root_fraction, soil_level, soil_moisture, soil_temperature, & 106 soil_type, vegetation_coverage, veg_type 96 107 97 108 USE kinds … … 118 129 leaf_scalar_exch_coeff, leaf_surface_conc, pch_index, & 119 130 plant_canopy 131 132 USE radiation_model_mod, & 133 ONLY: albedo, day_init, dt_radiation, lambda, radiation, & 134 time_radiation, time_utc_init 135 120 136 121 137 USE spectrum, & … … 151 167 vc_gradient_normals, vc_mode, vc_size_x, & 152 168 vc_size_y, vc_size_z 169 170 NAMELIST /lsm_par/ alpha_VanGenuchten, C_skin, & 171 canopy_resistance_coefficient, & 172 conserve_water_content, f_shortwave_incoming,& 173 hydraulic_conductivity, lambda_skin_stable, & 174 lambda_skin_unstable, leaf_area_index, & 175 l_VanGenuchten, min_canopy_resistance, & 176 field_capacity, residual_moisture, & 177 saturation_moisture, wilting_point, & 178 n_VanGenuchten, root_fraction, soil_level, & 179 soil_moisture, soil_temperature, soil_type, & 180 vegetation_coverage, veg_type 181 182 153 183 154 184 NAMELIST /particles_par/ alloc_factor, bc_par_b, bc_par_lr, & … … 174 204 write_particle_statistics 175 205 206 NAMELIST /radiation_par/ lambda, albedo, day_init, dt_radiation, & 207 time_utc_init 208 176 209 NAMELIST /spectra_par/ averaging_interval_sp, comp_spectra_level, & 177 210 data_output_sp, dt_dosp, plot_spectra_level, & … … 265 298 #endif 266 299 300 ! 301 !-- Try to find land surface model package 302 REWIND ( 11 ) 303 line = ' ' 304 DO WHILE ( INDEX( line, '&lsm_par' ) == 0 ) 305 READ ( 11, '(A)', END=50 ) line 306 ENDDO 307 BACKSPACE ( 11 ) 308 309 ! 310 !-- Read user-defined namelist 311 READ ( 11, lsm_par ) 312 313 ! 314 !-- Set flag that indicates that the land surface model is switched on 315 land_surface = .TRUE. 316 317 50 CONTINUE 318 319 ! 320 !-- Try to find radiation package 321 REWIND ( 11 ) 322 line = ' ' 323 DO WHILE ( INDEX( line, '&radiation_par' ) == 0 ) 324 READ ( 11, '(A)', END=51 ) line 325 ENDDO 326 BACKSPACE ( 11 ) 327 328 ! 329 !-- Read user-defined namelist 330 READ ( 11, radiation_par ) 331 332 ! 333 !-- Set flag that indicates that the radiation scheme is switched on 334 radiation = .TRUE. 335 336 51 CONTINUE 337 338 267 339 END SUBROUTINE package_parin -
palm/trunk/SOURCE/parin.f90
r1485 r1496 20 20 ! Current revisions: 21 21 ! ----------------- 22 ! 22 ! Renamed: "radiation -> "cloud_top_radiation" 23 23 ! 24 24 ! Former revisions: … … 174 174 canyon_wall_south, cfl_factor, & 175 175 cloud_droplets, cloud_physics, cloud_scheme, & 176 c onserve_volume_flow, conserve_volume_flow_mode,&177 co upling_start_time, create_disturbances, cycle_mg,&178 data_output, data_output_masks,&176 cloud_top_radiation, conserve_volume_flow, & 177 conserve_volume_flow_mode, coupling_start_time, & 178 create_disturbances, cycle_mg, data_output, data_output_masks, & 179 179 data_output_pr, data_output_2d_on_each_pe, & 180 180 disturbance_amplitude, disturbance_energy_limit, & … … 209 209 pt_vertical_gradient_level, q_surface, & 210 210 q_surface_initial_change, q_vertical_gradient, & 211 q_vertical_gradient_level, ra diation, random_generator,&211 q_vertical_gradient_level, random_generator, & 212 212 random_heatflux, rayleigh_damping_factor, & 213 213 rayleigh_damping_height, recycling_width, reference_state, & … … 278 278 canyon_width_x, canyon_width_y, canyon_wall_left, & 279 279 canyon_wall_south, c_sedimentation, cfl_factor, cloud_droplets, & 280 cloud_physics, cloud_scheme, c ollective_wait,&281 co nserve_volume_flow,&280 cloud_physics, cloud_scheme, cloud_top_radiation, & 281 collective_wait, conserve_volume_flow, & 282 282 conserve_volume_flow_mode, coupling_start_time, & 283 283 curvature_solution_effects, cycle_mg, damp_level_1d, & … … 292 292 initializing_actions, km_constant, & 293 293 large_scale_forcing, large_scale_subsidence, & 294 limiter_sedimentation, &294 limiter_sedimentation, & 295 295 loop_optimization, masking_method, mg_cycles, & 296 296 mg_switch_to_pe0_level, mixing_length_1d, momentum_advec, & 297 297 nc_const, netcdf_precision, neutral, ngsrb, & 298 298 nsor, nsor_ini, nudging, nx, ny, nz, ocean, omega, omega_sor, & 299 passive_scalar, phi, prandtl_layer, &299 passive_scalar, phi, prandtl_layer, & 300 300 prandtl_number, precipitation, psolver, pt_damping_factor, & 301 301 pt_damping_width, pt_reference, pt_surface, & … … 303 303 pt_vertical_gradient_level, q_surface, q_surface_initial_change, & 304 304 q_vertical_gradient, q_vertical_gradient_level, & 305 ra diation, random_generator, random_heatflux,&305 random_generator, random_heatflux, & 306 306 rayleigh_damping_factor, rayleigh_damping_height, recycling_width,& 307 307 reference_state, residual_limit, & -
palm/trunk/SOURCE/prandtl_fluxes.f90
r1495 r1496 20 20 ! Current revisions: 21 21 ! ----------------- 22 ! 22 ! Adapted for land surface model 23 23 ! 24 24 ! Former revisions: … … 89 89 USE kinds 90 90 91 USE land_surface_model_mod, & 92 ONLY: land_surface 93 91 94 IMPLICIT NONE 92 95 … … 112 115 !-- Compute theta* 113 116 IF ( constant_heatflux ) THEN 117 114 118 ! 115 119 !-- For a given heat flux in the Prandtl layer: … … 131 135 ! 132 136 !-- For a given surface temperature: 133 !-- (the Richardson number is still the one from the previous time step) 134 137 !-- (the Richardson number is still the one from the previous time step) 135 138 IF ( large_scale_forcing .AND. lsf_surf ) THEN 136 pt(nzb_s_inner(j,i),:,:) = pt_surface 139 !$OMP PARALLEL DO 140 !$acc kernels loop 141 DO i = nxlg, nxrg 142 DO j = nysg, nyng 143 k = nzb_s_inner(j,i) 144 pt(k,j,i) = pt_surface 145 ENDDO 146 ENDDO 137 147 ENDIF 138 148 … … 185 195 186 196 IF ( large_scale_forcing .AND. lsf_surf ) THEN 187 q(nzb_s_inner(j,i),:,:) = q_surface 197 !$OMP PARALLEL DO 198 !$acc kernels loop 199 DO i = nxlg, nxrg 200 DO j = nysg, nyng 201 k = nzb_s_inner(j,i) 202 q(k,j,i) = q_surface 203 ENDDO 204 ENDDO 188 205 ENDIF 189 206 … … 462 479 ! 463 480 !-- Compute the vertical kinematic heat flux 464 IF ( .NOT. constant_heatflux ) THEN481 IF ( .NOT. constant_heatflux .AND. .NOT. land_surface ) THEN 465 482 !$OMP PARALLEL DO 466 483 !$acc kernels loop independent … … 475 492 ! 476 493 !-- Compute the vertical water/scalar flux 477 IF ( .NOT. constant_waterflux .AND. ( humidity .OR. passive_scalar ) ) THEN 494 IF ( .NOT. constant_waterflux .AND. ( humidity .OR. passive_scalar ) & 495 .AND. .NOT. land_surface ) THEN 478 496 !$OMP PARALLEL DO 479 497 !$acc kernels loop independent -
palm/trunk/SOURCE/prognostic_equations.f90
r1485 r1496 20 20 ! Current revisions: 21 21 ! ------------------ 22 ! 22 ! Renamed "radiation" -> "cloud_top_radiation" 23 23 ! 24 24 ! Former revisions: … … 169 169 USE control_parameters, & 170 170 ONLY: call_microphysics_at_all_substeps, cloud_physics, & 171 c onstant_diffusion, dp_external,&171 cloud_top_radiation, constant_diffusion, dp_external, & 172 172 dp_level_ind_b, dp_smooth_factor, dpdxy, dt_3d, humidity, & 173 173 icloud_scheme, inflow_l, intermediate_timestep_count, & … … 176 176 outflow_s, passive_scalar, precipitation, & 177 177 prho_reference, prho_reference, prho_reference, pt_reference, & 178 pt_reference, pt_reference, radiation, scalar_advec,&179 s calar_advec, simulated_time, sloping_surface, timestep_scheme,&180 t sc, use_subsidence_tendencies, use_upstream_for_tke,&181 wall_heatflux,&178 pt_reference, pt_reference, scalar_advec, scalar_advec, & 179 simulated_time, sloping_surface, & 180 timestep_scheme, tsc, use_subsidence_tendencies, & 181 use_upstream_for_tke, wall_heatflux, & 182 182 wall_nrflux, wall_qflux, wall_qflux, wall_qflux, wall_qrflux, & 183 183 wall_salinityflux, ws_scheme_mom, ws_scheme_sca … … 551 551 !-- If required compute heating/cooling due to long wave radiation 552 552 !-- processes 553 IF ( radiation ) THEN553 IF ( cloud_top_radiation ) THEN 554 554 CALL calc_radiation( i, j ) 555 555 ENDIF … … 1206 1206 ! 1207 1207 !-- If required compute heating/cooling due to long wave radiation processes 1208 IF ( radiation ) THEN1208 IF ( cloud_top_radiation ) THEN 1209 1209 CALL calc_radiation 1210 1210 ENDIF … … 2021 2021 ! 2022 2022 !-- If required compute heating/cooling due to long wave radiation processes 2023 IF ( radiation ) THEN2023 IF ( cloud_top_radiation ) THEN 2024 2024 CALL calc_radiation 2025 2025 ENDIF -
palm/trunk/SOURCE/read_var_list.f90
r1485 r1496 20 20 ! Current revisions: 21 21 ! ------------------ 22 ! 22 ! Renamed "radiation" -> "cloud_top_radiation" 23 23 ! 24 24 ! Former revisions: … … 542 542 CASE ( 'q_vertical_gradient_level_ind' ) 543 543 READ ( 13 ) q_vertical_gradient_level_ind 544 CASE ( ' radiation' )545 READ ( 13 ) radiation544 CASE ( 'cloud_top_radiation' ) 545 READ ( 13 ) cloud_top_radiation 546 546 CASE ( 'random_generator' ) 547 547 READ ( 13 ) random_generator -
palm/trunk/SOURCE/swap_timelevel.f90
r1375 r1496 20 20 ! Current revisions: 21 21 ! ----------------- 22 ! 22 ! Added swapping of land surface model quantities 23 23 ! 24 24 ! Former revisions: … … 69 69 ONLY: e, e_p, nr, nr_p, pt, pt_p, q, q_p, qr, qr_p, sa, sa_p, u, u_p, & 70 70 v, v_p, w, w_p 71 72 USE land_surface_model_mod, & 73 ONLY: land_surface, m_liq, m_liq_p, m_soil, m_soil_p, T_0, T_0_p, & 74 T_soil, T_soil_p 71 75 #else 72 76 USE arrays_3d, & … … 74 78 q_1, q_2, q_p, qr, qr_1, qr_2, qr_p, sa, sa_1, sa_2, sa_p, u, & 75 79 u_1, u_2, u_p, v, v_1, v_2, v_p, w, w_1, w_2, w_p 80 81 USE land_surface_model_mod, & 82 ONLY: land_surface, m_liq, m_liq_1, m_liq_2, m_liq_p, m_soil, & 83 m_soil_1, m_soil_2, m_soil_p, T_0, T_0_1, T_0_2, T_0_p, T_soil, & 84 T_soil_1, T_soil_2, T_soil_p 76 85 #endif 77 86 … … 116 125 ENDIF 117 126 127 IF ( land_surface ) THEN 128 T_0 = T_0_p 129 T_soil = T_soil_p 130 IF ( humidity ) THEN 131 m_soil = m_soil_p 132 m_liq = m_liq_p 133 ENDIF 134 ENDIF 135 136 118 137 CALL cpu_log( log_point(28), 'swap_timelevel (nop)', 'stop' ) 119 138 #else … … 145 164 ENDIF 146 165 166 IF ( land_surface ) THEN 167 T_0 => T_0_1; T_0_p => T_0_2 168 T_soil => T_soil_1; T_soil_p => T_soil_2 169 IF ( humidity ) THEN 170 m_soil => m_soil_1; m_soil_p => m_soil_2 171 m_liq => m_liq_1; m_liq_p => m_liq_2 172 ENDIF 173 ENDIF 174 147 175 148 176 CASE ( 1 ) … … 169 197 ENDIF 170 198 199 IF ( land_surface ) THEN 200 T_0 => T_0_2; T_0_p => T_0_1 201 T_soil => T_soil_2; T_soil_p => T_soil_1 202 IF ( humidity ) THEN 203 m_soil => m_soil_2; m_soil_p => m_soil_1 204 m_liq => m_liq_2; m_liq_p => m_liq_1 205 ENDIF 206 ENDIF 207 171 208 172 209 END SELECT -
palm/trunk/SOURCE/time_integration.f90
r1403 r1496 20 20 ! Current revisions: 21 21 ! ------------------ 22 ! 22 ! Added calls for the land surface model and radiation scheme 23 23 ! 24 24 ! Former revisions: … … 177 177 time_dopr_listing, time_dopts, time_dosp, time_dosp_av, & 178 178 time_dots, time_do_av, time_do_sla, time_disturb, time_dvrp, & 179 time_run_control, time_since_reference_point, turbulence, & 179 time_run_control, time_since_reference_point, & 180 turbulence, & 180 181 turbulent_inflow, use_initial_profile_as_reference, & 181 182 use_single_reference_value, u_gtrans, v_gtrans, ws_scheme_mom, & … … 194 195 USE kinds 195 196 197 USE land_surface_model_mod, & 198 ONLY: land_surface, lsm_energy_balance, lsm_soil_model 199 196 200 USE ls_forcing_mod, & 197 201 ONLY: ls_forcing_surf, ls_forcing_vert … … 214 218 ONLY: prognostic_equations_acc, prognostic_equations_cache, & 215 219 prognostic_equations_vector 220 221 USE radiation_model_mod, & 222 ONLY: dt_radiation, lsm_radiation, radiation, time_radiation 216 223 217 224 USE statistics, & … … 577 584 !-- velocities at the outflow in case of a non-cyclic lateral wall) 578 585 CALL boundary_conds 586 587 ! 588 !-- When using the land surface model: 589 !-- 1) solve energy balance equation to calculate new skin temperature 590 !-- 2) run soil model 591 IF ( land_surface ) THEN 592 593 time_radiation = time_radiation + dt_3d 594 595 IF ( time_radiation >= dt_radiation ) THEN 596 597 CALL cpu_log( log_point(50), 'radiation', 'start' ) 598 599 time_radiation = time_radiation - dt_radiation 600 CALL lsm_radiation 601 602 CALL cpu_log( log_point(50), 'radiation', 'stop' ) 603 ENDIF 604 605 CALL cpu_log( log_point(54), 'land_surface', 'start' ) 606 607 CALL lsm_energy_balance 608 CALL lsm_soil_model 609 610 CALL cpu_log( log_point(54), 'land_surface', 'stop' ) 611 612 ENDIF 579 613 580 614 ! -
palm/trunk/SOURCE/write_var_list.f90
r1485 r1496 20 20 ! Current revisions: 21 21 ! ----------------- 22 ! 22 ! Renamed "radiation" -> "cloud_top_radiation" 23 23 ! 24 24 ! Former revisions: … … 459 459 WRITE ( 14 ) 'q_vertical_gradient_level_ind ' 460 460 WRITE ( 14 ) q_vertical_gradient_level_ind 461 WRITE ( 14 ) ' radiation'462 WRITE ( 14 ) radiation461 WRITE ( 14 ) 'cloud_top_radiation ' 462 WRITE ( 14 ) cloud_top_radiation 463 463 WRITE ( 14 ) 'random_generator ' 464 464 WRITE ( 14 ) random_generator
Note: See TracChangeset
for help on using the changeset viewer.