Changeset 2817
- Timestamp:
- Feb 19, 2018 4:32:21 PM (7 years ago)
- Location:
- palm/trunk/SOURCE
- Files:
-
- 1 added
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/Makefile
r2802 r2817 25 25 # ----------------- 26 26 # $Id$ 27 # Preliminary gust module interface implemented 28 # 29 # 2802 2018-02-14 16:21:39Z thiele 27 30 # Changed lpm from subroutine to module. 28 31 # Introduce particle transfer in nested models. … … 420 423 disturb_heatflux.f90 eqn_state_seawater.f90 exchange_horiz.f90 \ 421 424 exchange_horiz_2d.f90 fft_xy_mod.f90 flow_statistics.f90 \ 422 global_min_max.f90 header.f90 \425 global_min_max.f90 gust_mod.f90 header.f90 \ 423 426 inflow_turbulence.f90 init_3d_model.f90 \ 424 427 init_advec.f90 init_cloud_physics.f90 init_coupling.f90 init_dvrp.f90 \ … … 571 574 large_scale_forcing_nudging_mod.o netcdf_interface_mod.o radiation_model_mod.o surface_mod.o 572 575 global_min_max.o: modules.o mod_kinds.o 576 gust_mod.o: modules.o mod_kinds.o 573 577 header.o: modules.o cpulog_mod.o mod_kinds.o date_and_time_mod.o large_scale_forcing_nudging_mod.o netcdf_interface_mod.o \ 574 578 land_surface_model_mod.o microphysics_mod.o model_1d_mod.o plant_canopy_model_mod.o pmc_handle_communicator_mod.o \ -
palm/trunk/SOURCE/average_3d_data.f90
r2797 r2817 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Preliminary gust module interface implemented 28 ! 29 ! 2797 2018-02-08 13:24:35Z suehring 27 30 ! Enable output of ground-heat flux also at urban surfaces. 28 31 ! … … 142 145 ONLY: cpu_log, log_point 143 146 147 USE gust_mod, & 148 ONLY: gust_3d_data_averaging, gust_module_enabled 149 144 150 USE indices, & 145 151 ONLY: nbgp, nxl, nxlg, nxr, nxrg, nyn, nyng, nys, nysg, nzb, nzt … … 526 532 ENDIF 527 533 ! 534 !-- Gust module quantities 535 IF ( gust_module_enabled ) THEN 536 CALL gust_3d_data_averaging( 'average', doav(ii) ) 537 ENDIF 538 ! 528 539 !-- Chemistry quantity 529 540 IF ( air_chemistry ) THEN -
palm/trunk/SOURCE/check_parameters.f90
r2798 r2817 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Preliminary gust module interface implemented 28 ! 29 ! 2798 2018-02-09 17:16:39Z suehring 27 30 ! Consider also default-type surfaces for surface temperature output. 28 31 ! … … 602 605 USE dvrp_variables 603 606 USE grid_variables 607 USE gust_mod, & 608 ONLY: gust_check_data_output, gust_check_data_output_pr, & 609 gust_check_parameters, gust_module_enabled 604 610 USE indices 605 611 USE land_surface_model_mod, & … … 1413 1419 IF ( radiation ) CALL radiation_check_parameters 1414 1420 ! 1421 !-- When gust module is used, perform additional checks 1422 IF ( gust_module_enabled ) CALL gust_check_parameters 1423 ! 1415 1424 !-- When large-scale forcing or nudging is used, peform addtional checks 1416 1425 IF ( large_scale_forcing .OR. nudging ) CALL lsf_nudging_check_parameters … … 3099 3108 unit, dopr_unit(i) ) 3100 3109 ENDIF 3110 ! 3111 !-- Block of gust module profile outputs 3112 IF ( unit == 'illegal' .AND. gust_module_enabled ) THEN 3113 CALL gust_check_data_output_pr( data_output_pr(i), i, unit, & 3114 dopr_unit(i) ) 3115 ENDIF 3101 3116 3102 3117 IF ( unit == 'illegal' ) THEN … … 3418 3433 IF ( unit == 'illegal' ) THEN 3419 3434 CALL radiation_check_data_output( var, unit, i, ilen, k ) 3435 ENDIF 3436 3437 ! 3438 !-- Block of gust module outputs 3439 IF ( unit == 'illegal' .AND. gust_module_enabled ) THEN 3440 CALL gust_check_data_output ( var, unit ) 3420 3441 ENDIF 3421 3442 -
palm/trunk/SOURCE/data_output_2d.f90
r2805 r2817 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Preliminary gust module interface implemented 28 ! 29 ! 2805 2018-02-14 17:00:09Z suehring 27 30 ! Consider also default-type surfaces for surface temperature output. 28 31 ! … … 229 232 USE grid_variables, & 230 233 ONLY: dx, dy 234 235 USE gust_mod, & 236 ONLY: gust_data_output_2d, gust_module_enabled 231 237 232 238 USE indices, & … … 1248 1254 CALL radiation_data_output_2d( av, do2d(av,if), found, grid,& 1249 1255 mode, local_pf, two_d ) 1256 ENDIF 1257 1258 ! 1259 !-- Gust module quantities 1260 IF ( .NOT. found .AND. gust_module_enabled ) THEN 1261 CALL gust_data_output_2d( av, do2d(av,if), found, grid, & 1262 local_pf, two_d, nzb_do, nzt_do ) 1250 1263 ENDIF 1251 1264 -
palm/trunk/SOURCE/data_output_3d.f90
r2766 r2817 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Preliminary gust module interface implemented 28 ! 29 ! 2766 2018-01-22 17:17:47Z kanani 27 30 ! Removed preprocessor directive __chem 28 31 ! … … 203 206 USE cpulog, & 204 207 ONLY: log_point, cpu_log 208 209 USE gust_mod, & 210 ONLY: gust_data_output_3d, gust_module_enabled 205 211 206 212 USE indices, & … … 680 686 681 687 ! 688 !-- Gust module quantities 689 IF ( .NOT. found .AND. gust_module_enabled ) THEN 690 CALL gust_data_output_3d( av, do3d(av,if), found, local_pf, & 691 nzb_do, nzt_do ) 692 resorted = .TRUE. 693 ENDIF 694 695 ! 682 696 !-- Chemistry model output 683 697 IF ( .NOT. found .AND. air_chemistry ) THEN -
palm/trunk/SOURCE/flow_statistics.f90
r2773 r2817 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Preliminary gust module interface implemented 28 ! 29 ! 2773 2018-01-30 14:12:54Z suehring 27 30 ! Timeseries output of surface temperature. 28 31 ! … … 283 286 USE grid_variables, & 284 287 ONLY: ddx, ddy 288 289 USE gust_mod, & 290 ONLY: gust_module_enabled, gust_statistics 285 291 286 292 USE indices, & … … 297 303 298 304 USE netcdf_interface, & 299 ONLY: dots_rad, dots_soil 305 ONLY: dots_rad, dots_soil, dots_max 300 306 301 307 USE pegrid … … 1742 1748 ENDDO 1743 1749 ENDDO 1750 ENDIF 1751 ! 1752 !-- Calculate the gust module profiles 1753 IF ( gust_module_enabled ) THEN 1754 CALL gust_statistics( 'profiles', sr, tn, dots_max ) 1744 1755 ENDIF 1745 1756 ! … … 2156 2167 2157 2168 ! 2169 !-- Calculate additional statistics provided by the gust module 2170 IF ( gust_module_enabled ) THEN 2171 CALL gust_statistics( 'time_series', sr, 0, dots_max ) 2172 ENDIF 2173 2174 ! 2158 2175 !-- Calculate additional statistics provided by the user interface 2159 2176 CALL user_statistics( 'time_series', sr, 0 ) -
palm/trunk/SOURCE/header.f90
r2776 r2817 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Preliminary gust module interface implemented 28 ! 29 ! 2776 2018-01-31 10:44:42Z Giersch 27 30 ! Variable synthetic_turbulence_generator has been abbreviated 28 31 ! … … 371 374 USE grid_variables, & 372 375 ONLY: dx, dy 376 377 USE gust_mod, & 378 ONLY: gust_header, gust_module_enabled 373 379 374 380 USE indices, & … … 1023 1029 1024 1030 IF ( radiation ) CALL radiation_header ( io ) 1031 1032 IF ( gust_module_enabled ) CALL gust_header ( io ) 1025 1033 1026 1034 ! -
palm/trunk/SOURCE/init_3d_model.f90
r2776 r2817 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Preliminary gust module interface implemented 28 ! 29 ! 2776 2018-01-31 10:44:42Z Giersch 27 30 ! Variable use_synthetic_turbulence_generator has been abbreviated 28 31 ! … … 433 436 USE grid_variables, & 434 437 ONLY: dx, dy, ddx2_mg, ddy2_mg 438 439 USE gust_mod, & 440 ONLY: gust_init, gust_init_arrays, gust_module_enabled 435 441 436 442 USE indices … … 455 461 456 462 USE netcdf_interface, & 457 ONLY: dots_max, dots_num 463 ONLY: dots_max, dots_num, dots_unit, dots_label 458 464 459 465 USE netcdf_data_input_mod, & … … 1029 1035 CALL wtm_init_arrays 1030 1036 ENDIF 1031 1037 ! 1038 !-- Allocate gust module arrays 1039 IF ( gust_module_enabled ) THEN 1040 CALL gust_init_arrays 1041 ENDIF 1042 1032 1043 ! 1033 1044 !-- Initialize virtual flight measurements … … 2377 2388 ENDIF 2378 2389 2390 ! 2391 !-- If required, initialize quantities needed for the gust module 2392 IF ( gust_module_enabled ) THEN 2393 CALL gust_init( dots_label, dots_unit, dots_num, dots_max ) 2394 ENDIF 2379 2395 2380 2396 ! -
palm/trunk/SOURCE/netcdf_interface_mod.f90
r2769 r2817 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Preliminary gust module interface implemented 28 ! 29 ! 2769 2018-01-25 09:22:24Z raasch 27 30 ! bugfix for calculating number of required output time levels in case of output 28 31 ! at the beginning of a restart run … … 514 517 ONLY: dx, dy, zu_s_inner, zw_w_inner 515 518 519 USE gust_mod, & 520 ONLY: gust_define_netcdf_grid, gust_module_enabled 521 516 522 USE indices, & 517 523 ONLY: nx, nxl, nxr, ny, nys, nyn, nz ,nzb, nzt … … 934 940 935 941 ! 942 !-- Check for gust module quantities 943 IF ( .NOT. found .AND. gust_module_enabled ) THEN 944 CALL gust_define_netcdf_grid( domask(mid,av,i), found, & 945 grid_x, grid_y, grid_z ) 946 ENDIF 947 948 ! 936 949 !-- Check for chemistry quantities 937 950 IF ( .NOT. found .AND. air_chemistry ) THEN … … 1473 1486 grid_x, grid_y, & 1474 1487 grid_z ) 1488 ENDIF 1489 1490 !-- Check for gust module quantities 1491 IF ( .NOT. found .AND. gust_module_enabled ) THEN 1492 CALL gust_define_netcdf_grid( do3d(av,i), found, grid_x, & 1493 grid_y, grid_z ) 1475 1494 ENDIF 1476 1495 … … 2128 2147 found, grid_x, grid_y,& 2129 2148 grid_z ) 2149 ENDIF 2150 2151 ! 2152 !-- Check for gust module quantities 2153 IF ( .NOT. found .AND. gust_module_enabled ) THEN 2154 CALL gust_define_netcdf_grid( do2d(av,i), found, & 2155 grid_x, grid_y, & 2156 grid_z ) 2130 2157 ENDIF 2131 2158 … … 2851 2878 2852 2879 ! 2880 !-- Check for gust module quantities 2881 IF ( .NOT. found .AND. gust_module_enabled ) THEN 2882 CALL gust_define_netcdf_grid( do2d(av,i), found, & 2883 grid_x, grid_y, grid_z ) 2884 ENDIF 2885 2886 ! 2853 2887 !-- Check for chemistry quantities 2854 2888 IF ( .NOT. found .AND. air_chemistry ) THEN … … 3520 3554 3521 3555 ! 3556 !-- Check for gust module quantities 3557 IF ( .NOT. found .AND. gust_module_enabled ) THEN 3558 CALL gust_define_netcdf_grid( do2d(av,i), found, & 3559 grid_x, grid_y, grid_z ) 3560 ENDIF 3561 3562 ! 3522 3563 !-- Check for chemistry quantities 3523 3564 IF ( .NOT. found .AND. air_chemistry ) THEN -
palm/trunk/SOURCE/parin.f90
r2773 r2817 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Preliminary gust module interface implemented 28 ! 29 ! 2773 2018-01-30 14:12:54Z suehring 27 30 ! Nesting for chemical species implemented 28 31 ! … … 357 360 USE grid_variables, & 358 361 ONLY: dx, dy 362 363 USE gust_mod, & 364 ONLY: gust_parin 359 365 360 366 USE indices, & … … 724 730 !-- Check if radiation model is used and read &radiation_par if required 725 731 CALL radiation_parin 732 733 ! 734 !-- Check if gust module is used and read &gust_par if required 735 CALL gust_parin 726 736 727 737 -
palm/trunk/SOURCE/read_3d_binary.f90
r2797 r2817 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Preliminary gust module interface implemented 28 ! 29 ! 2797 2018-02-08 13:24:35Z suehring 27 30 ! Enable restarts for land- and urban-surface variables ghf_av, r_a_av and 28 31 ! tsurf_av. … … 171 174 USE cpulog, & 172 175 ONLY: cpu_log, log_point_s 176 177 USE gust_mod, & 178 ONLY : gust_module_enabled, gust_read_restart_data 173 179 174 180 USE indices, & … … 1105 1111 1106 1112 ENDDO ! loop over variables 1113 1114 ! 1115 !-- Read gust model restart data 1116 IF ( gust_module_enabled ) THEN 1117 CALL gust_read_restart_data 1118 ENDIF 1107 1119 ! 1108 1120 !-- Read surface related variables -
palm/trunk/SOURCE/sum_up_3d_data.f90
r2798 r2817 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Preliminary gust module interface implemented 28 ! 29 ! 2798 2018-02-09 17:16:39Z suehring 27 30 ! Consider also default-type surfaces for surface temperature output. 28 31 ! … … 199 202 ONLY: cpu_log, log_point 200 203 204 USE gust_mod, & 205 ONLY: gust_3d_data_averaging, gust_module_enabled 206 201 207 USE indices, & 202 208 ONLY: nxl, nxlg, nxr, nxrg, nyn, nyng, nys, nysg, nzb, nzt … … 512 518 IF ( radiation ) THEN 513 519 CALL radiation_3d_data_averaging( 'allocate', doav(ii) ) 520 ENDIF 521 522 ! 523 !-- Gust module quantities 524 IF ( gust_module_enabled ) THEN 525 CALL gust_3d_data_averaging( 'allocate', doav(ii) ) 514 526 ENDIF 515 527 … … 1064 1076 1065 1077 ! 1078 !-- Gust module quantities 1079 IF ( gust_module_enabled ) THEN 1080 CALL gust_3d_data_averaging( 'sum', doav(ii) ) 1081 ENDIF 1082 1083 ! 1066 1084 !-- Chemical quantity 1067 1085 IF ( air_chemistry .AND. trimvar(1:3) == 'kc_') THEN -
palm/trunk/SOURCE/swap_timelevel.f90
r2766 r2817 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Preliminary gust module interface implemented 28 ! 29 ! 2766 2018-01-22 17:17:47Z kanani 27 30 ! Removed preprocessor directive __chem 28 31 ! … … 148 151 passive_scalar, timestep_count, urban_surface 149 152 153 USE gust_mod, & 154 ONLY: gust_module_enabled, gust_swap_timelevel 155 150 156 USE indices, & 151 157 ONLY: nxlg, nxrg, nyng, nysg, nzb, nzt … … 214 220 ENDIF 215 221 222 IF ( gust_module_enabled ) THEN 223 CALL gust_swap_timelevel ( 0 ) 224 ENDIF 225 216 226 217 227 CALL cpu_log( log_point(28), 'swap_timelevel (nop)', 'stop' ) … … 293 303 ENDIF 294 304 305 IF ( gust_module_enabled ) THEN 306 CALL gust_swap_timelevel ( MOD( timestep_count, 2) ) 307 ENDIF 308 295 309 ! 296 310 !-- Set the swap level for steering the pmc data transfer -
palm/trunk/SOURCE/time_integration.f90
r2801 r2817 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Preliminary gust module interface implemented 28 ! 29 ! 2801 2018-02-14 16:01:55Z thiele 27 30 ! Changed lpm from subroutine to module. 28 31 ! Introduce particle transfer in nested models. … … 375 378 ONLY: flight_measurement 376 379 380 USE gust_mod, & 381 ONLY: gust_actions, gust_module_enabled 377 382 378 383 USE indices, & … … 559 564 IF ( force%time(force%tind_p) <= simulated_time ) & 560 565 CALL netcdf_data_input_lsf 566 ENDIF 567 568 ! 569 !-- Execute the gust module actions 570 IF ( gust_module_enabled ) THEN 571 CALL gust_actions( 'before_timestep' ) 561 572 ENDIF 562 573 … … 1100 1111 1101 1112 ! 1113 !-- Execute the gust module actions 1114 IF ( gust_module_enabled ) THEN 1115 CALL gust_actions( 'after_integration' ) 1116 ENDIF 1117 1118 ! 1102 1119 !-- Execute user-defined actions 1103 1120 CALL user_actions( 'after_integration' ) … … 1287 1304 1288 1305 ! 1306 !-- Execute the gust module actions 1307 IF ( gust_module_enabled ) THEN 1308 CALL gust_actions( 'after_timestep' ) 1309 ENDIF 1310 1311 ! 1289 1312 !-- Execute user-defined actions 1290 1313 CALL user_actions( 'after_timestep' ) -
palm/trunk/SOURCE/write_3d_binary.f90
r2798 r2817 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Preliminary gust module interface implemented 28 ! 29 ! 2798 2018-02-09 17:16:39Z suehring 27 30 ! Consider also default-type surfaces for surface temperature output. 28 31 ! … … 145 148 land_surface, microphysics_morrison, microphysics_seifert, & 146 149 ocean, passive_scalar, topography, urban_surface 147 150 151 USE gust_mod, & 152 ONLY : gust_module_enabled, gust_write_restart_data 153 148 154 USE indices, & 149 155 ONLY: nxl, nxr, nys, nyn, nzb, nzt … … 402 408 WRITE ( 14 ) '*** end *** ' 403 409 410 IF ( gust_module_enabled ) THEN 411 CALL gust_write_restart_data 412 ENDIF 413 404 414 CALL surface_write_restart_data 405 415
Note: See TracChangeset
for help on using the changeset viewer.