Changeset 213 for palm/trunk
- Timestamp:
- Nov 13, 2008 10:26:18 AM (16 years ago)
- Location:
- palm/trunk/SOURCE
- Files:
-
- 1 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/CURRENT_MODIFICATIONS
r212 r213 11 11 User can add additional routines in files user_additional_routines.f90 12 12 13 14 13 check_for_restart, check_parameters, data_output_dvrp, init_dvrp, init_pegrid, local_stop, modules, package_parin, palm, surface_coupler, timestep, user_additional_routines 15 14 Makefile, mrun, mbuild, subjob … … 22 21 User interface has been split into single files. 23 22 24 Makefile 23 Output messages (including required stop of execution) can now be handled with 24 the new subroutine handle_palm_message. All output messages will be replaced 25 by this routine step by step within the next revisions. 25 26 26 New: user_3d_data_averaging user_actions user_advec_particles user_check_data_output user_check_data_output_pr user_data_output_2d user_data_output_3d user_data_output_dvrp user_define_netcdf_grid user_dvrp_coltab user_header user_init user_init_3d_model user_init_grid user_init_particles user_init_plant_canopy user_last_actions user_module user_parin user_particle_attributes user_read_restart_data user_spectra user_statistics 27 Makefile, check_parameters, local_stop, modules 28 29 New: handle_palm_message, user_3d_data_averaging user_actions user_advec_particles user_check_data_output user_check_data_output_pr user_data_output_2d user_data_output_3d user_data_output_dvrp user_define_netcdf_grid user_dvrp_coltab user_header user_init user_init_3d_model user_init_grid user_init_particles user_init_plant_canopy user_last_actions user_module user_parin user_particle_attributes user_read_restart_data user_spectra user_statistics 27 30 28 31 Removed: user_interface -
palm/trunk/SOURCE/Makefile
r211 r213 5 5 # ----------------- 6 6 # former file user_interface split into one file per subroutine 7 # +init_coupling 7 # +init_coupling, handle_palm_message 8 8 # 9 9 # Former revisions: … … 57 57 diffusion_v.f90 diffusion_w.f90 diffusivities.f90 disturb_field.f90 \ 58 58 disturb_heatflux.f90 eqn_state_seawater.f90 exchange_horiz.f90 exchange_horiz_2d.f90 \ 59 fft_xy.f90 flow_statistics.f90 global_min_max.f90 header.f90 \ 59 fft_xy.f90 flow_statistics.f90 global_min_max.f90 \ 60 handle_palm_message.f90 header.f90 \ 60 61 impact_of_latent_heat.f90 inflow_turbulence.f90 init_1d_model.f90 \ 61 62 init_3d_model.f90 init_advec.f90 init_cloud_physics.f90 init_coupling.f90 \ … … 99 100 diffusion_v.o diffusion_w.o diffusivities.o disturb_field.o \ 100 101 disturb_heatflux.o eqn_state_seawater.o exchange_horiz.o exchange_horiz_2d.o fft_xy.o \ 101 flow_statistics.o global_min_max.o header.o impact_of_latent_heat.o \ 102 flow_statistics.o global_min_max.o handle_palm_message.o header.o \ 103 impact_of_latent_heat.o \ 102 104 inflow_turbulence.o init_1d_model.o init_3d_model.o init_advec.o init_cloud_physics.o \ 103 105 init_coupling.o init_dvrp.o init_grid.o init_ocean.o init_particles.o init_pegrid.o \ … … 202 204 flow_statistics.o: modules.o 203 205 global_min_max.o: modules.o 206 handle_palm_message.o: modules.o 204 207 header.o: modules.o 205 208 impact_of_latent_heat.o: modules.o -
palm/trunk/SOURCE/check_parameters.f90
r206 r213 4 4 ! Actual revisions: 5 5 ! ----------------- 6 ! Output of messages replaced by message handling routine. 6 7 ! Implementation of an MPI-1 coupling: replaced myid with target_id, 7 8 ! deleted __mpi2 directives … … 109 110 !-- Warning, if host is not set 110 111 IF ( host(1:1) == ' ' ) THEN 111 IF ( myid == 0 ) THEN 112 PRINT*, '+++ WARNING: check_parameters:' 113 PRINT*, ' "host" is not set. Please check that environment', & 114 ' variable "localhost"' 115 PRINT*, ' is set before running PALM' 116 ENDIF 112 message_string = '"host" is not set. Please check that environment ' // & 113 'variable "localhost" & is set before running PALM' 114 CALL handle_palm_message( 'check_parameters', 'PA0001', 0, 0, 0, 6, 0 ) 117 115 ENDIF 118 116 … … 122 120 coupling_mode /= 'atmosphere_to_ocean' .AND. & 123 121 coupling_mode /= 'ocean_to_atmosphere' ) THEN 124 IF ( myid == 0 ) THEN 125 PRINT*, '+++ check_parameters:' 126 PRINT*, ' illegal coupling mode: ', TRIM( coupling_mode ) 127 ENDIF 128 CALL local_stop 122 message_string = 'illegal coupling mode: ' // TRIM( coupling_mode ) 123 CALL handle_palm_message( 'check_parameters', 'PA0002', 1, 2, 0, 6, 0 ) 129 124 ENDIF 130 125 … … 132 127 !-- Check dt_coupling, restart_time, dt_restart, end_time, dx, dy, nx and ny 133 128 IF ( coupling_mode /= 'uncoupled' ) THEN 129 134 130 IF ( dt_coupling == 9999999.9 ) THEN 135 IF ( myid == 0 ) THEN 136 PRINT*, '+++ check_parameters:' 137 PRINT*, ' dt_coupling is not set but required for coupling ', & 138 'mode: ', TRIM( coupling_mode ) 139 ENDIF 140 CALL local_stop 141 ENDIF 131 message_string = 'dt_coupling is not set but required for coup' // & 132 'ling mode "' // TRIM( coupling_mode ) // '"' 133 CALL handle_palm_message( 'check_parameters', 'PA0003', 1, 2, 0, 6, & 134 0 ) 135 ENDIF 136 142 137 #if defined( __parallel ) 143 138 CALL MPI_SEND( dt_coupling, 1, MPI_REAL, target_id, 11, comm_inter, & … … 146 141 status, ierr ) 147 142 IF ( dt_coupling /= remote ) THEN 148 IF ( myid == 0 ) THEN 149 PRINT*, '+++ check_parameters:' 150 PRINT*, ' TRIM( coupling_mode ): dt_coupling = ', dt_coupling 151 PRINT*, ' is not equal to dt_coupling_remote = ', remote 152 ENDIF 153 CALL local_stop 143 WRITE( message_string, * ) 'coupling mode "', TRIM( coupling_mode ), & 144 '": dt_coupling = ', dt_coupling, '& is not equal to ', & 145 'dt_coupling_remote = ', remote 146 CALL handle_palm_message( 'check_parameters', 'PA0004', 1, 2, 0, 6, & 147 0 ) 154 148 ENDIF 155 149 IF ( dt_coupling <= 0.0 ) THEN … … 158 152 status, ierr ) 159 153 dt_coupling = MAX( dt_max, remote ) 160 IF ( myid == 0 ) THEN161 PRINT*, '+++ check_parameters:'162 PRINT*, ' TRIM( coupling_mode ): dt_coupling <= 0.0'163 PRINT*, ' is not allowed and is reset to MAX(dt_max(A,O)) = ', &164 dt_coupling165 166 ENDIF 154 WRITE( message_string, * ) 'coupling mode "', TRIM( coupling_mode ), & 155 '": dt_coupling <= 0.0 & is not allowed and is reset to ', & 156 'MAX(dt_max(A,O)) = ', dt_coupling 157 CALL handle_palm_message( 'check_parameters', 'PA0005', 0, 1, 0, 6, & 158 0 ) 159 ENDIF 160 167 161 CALL MPI_SEND( restart_time, 1, MPI_REAL, target_id, 12, comm_inter, & 168 162 ierr ) … … 170 164 status, ierr ) 171 165 IF ( restart_time /= remote ) THEN 172 IF ( myid == 0 ) THEN173 PRINT*, '+++ check_parameters:'174 PRINT*, ' TRIM( coupling_mode ): restart_time = ', restart_time175 PRINT*, ' is not equal to restart_time_remote = ', remote176 ENDIF177 CALL local_stop178 ENDIF 166 WRITE( message_string, * ) 'coupling mode "', TRIM( coupling_mode ), & 167 '": restart_time = ', restart_time, '& is not equal to ', & 168 'restart_time_remote = ', remote 169 CALL handle_palm_message( 'check_parameters', 'PA0006', 1, 2, 0, 6, & 170 0 ) 171 ENDIF 172 179 173 CALL MPI_SEND( dt_restart, 1, MPI_REAL, target_id, 13, comm_inter, & 180 174 ierr ) … … 182 176 status, ierr ) 183 177 IF ( dt_restart /= remote ) THEN 184 IF ( myid == 0 ) THEN185 PRINT*, '+++ check_parameters:'186 PRINT*, ' TRIM( coupling_mode ): dt_restart = ', dt_restart187 PRINT*, ' is not equal to dt_restart_remote = ', remote188 ENDIF189 CALL local_stop190 ENDIF 178 WRITE( message_string, * ) 'coupling mode "', TRIM( coupling_mode ), & 179 '": dt_restart = ', dt_restart, '& is not equal to ', & 180 'dt_restart_remote = ', remote 181 CALL handle_palm_message( 'check_parameters', 'PA0007', 1, 2, 0, 6, & 182 0 ) 183 ENDIF 184 191 185 CALL MPI_SEND( end_time, 1, MPI_REAL, target_id, 14, comm_inter, ierr ) 192 186 CALL MPI_RECV( remote, 1, MPI_REAL, target_id, 14, comm_inter, & 193 187 status, ierr ) 194 188 IF ( end_time /= remote ) THEN 195 IF ( myid == 0 ) THEN196 PRINT*, '+++ check_parameters:'197 PRINT*, ' TRIM( coupling_mode ): end_time = ', end_time198 PRINT*, ' is not equal to end_time_remote = ', remote199 ENDIF200 CALL local_stop201 ENDIF 189 WRITE( message_string, * ) 'coupling mode "', TRIM( coupling_mode ), & 190 '": end_time = ', end_time, '& is not equal to ', & 191 'end_time_remote = ', remote 192 CALL handle_palm_message( 'check_parameters', 'PA0008', 1, 2, 0, 6, & 193 0 ) 194 ENDIF 195 202 196 CALL MPI_SEND( dx, 1, MPI_REAL, target_id, 15, comm_inter, ierr ) 203 197 CALL MPI_RECV( remote, 1, MPI_REAL, target_id, 15, comm_inter, & 204 198 status, ierr ) 205 199 IF ( dx /= remote ) THEN 206 IF ( myid == 0 ) THEN 207 PRINT*, '+++ check_parameters:' 208 PRINT*, ' TRIM( coupling_mode ): dx = ', dx 209 PRINT*, ' is not equal to dx_remote = ', remote 210 ENDIF 211 CALL local_stop 212 ENDIF 200 WRITE( message_string, * ) 'coupling mode "', TRIM( coupling_mode ), & 201 '": dx = ', dx, '& is not equal to dx_remote = ', remote 202 CALL handle_palm_message( 'check_parameters', 'PA0009', 1, 2, 0, 6, & 203 0 ) 204 ENDIF 205 213 206 CALL MPI_SEND( dy, 1, MPI_REAL, target_id, 16, comm_inter, ierr ) 214 207 CALL MPI_RECV( remote, 1, MPI_REAL, target_id, 16, comm_inter, & 215 208 status, ierr ) 216 209 IF ( dy /= remote ) THEN 217 IF ( myid == 0 ) THEN 218 PRINT*, '+++ check_parameters:' 219 PRINT*, ' TRIM( coupling_mode ): dy = ', dy 220 PRINT*, ' is not equal to dy_remote = ', remote 221 ENDIF 222 CALL local_stop 223 ENDIF 210 WRITE( message_string, * ) 'coupling mode "', TRIM( coupling_mode ), & 211 '": dy = ', dy, '& is not equal to dy_remote = ', remote 212 CALL handle_palm_message( 'check_parameters', 'PA0010', 1, 2, 0, 6, & 213 0 ) 214 ENDIF 215 224 216 CALL MPI_SEND( nx, 1, MPI_INTEGER, target_id, 17, comm_inter, ierr ) 225 217 CALL MPI_RECV( iremote, 1, MPI_INTEGER, target_id, 17, comm_inter, & 226 218 status, ierr ) 227 219 IF ( nx /= iremote ) THEN 228 IF ( myid == 0 ) THEN 229 PRINT*, '+++ check_parameters:' 230 PRINT*, ' TRIM( coupling_mode ): nx = ', nx 231 PRINT*, ' is not equal to nx_remote = ', iremote 232 ENDIF 233 CALL local_stop 234 ENDIF 220 WRITE( message_string, * ) 'coupling mode "', TRIM( coupling_mode ), & 221 '": nx = ', nx, '& is not equal to nx_remote = ', iremote 222 CALL handle_palm_message( 'check_parameters', 'PA0011', 1, 2, 0, 6, & 223 0 ) 224 ENDIF 225 235 226 CALL MPI_SEND( ny, 1, MPI_INTEGER, target_id, 18, comm_inter, ierr ) 236 227 CALL MPI_RECV( iremote, 1, MPI_INTEGER, target_id, 18, comm_inter, & 237 228 status, ierr ) 238 229 IF ( ny /= iremote ) THEN 239 IF ( myid == 0 ) THEN 240 PRINT*, '+++ check_parameters:' 241 PRINT*, ' TRIM( coupling_mode ): ny = ', ny 242 PRINT*, ' is not equal to ny_remote = ', iremote 243 ENDIF 244 CALL local_stop 230 WRITE( message_string, * ) 'coupling mode "', TRIM( coupling_mode ), & 231 '": ny = ', ny, '& is not equal to ny_remote = ', iremote 232 CALL handle_palm_message( 'check_parameters', 'PA0012', 1, 2, 0, 6, & 233 0 ) 245 234 ENDIF 246 235 #endif … … 291 280 IF ( loop_optimization /= 'noopt' .AND. loop_optimization /= 'cache' & 292 281 .AND. loop_optimization /= 'vector' ) THEN 293 IF ( myid == 0 ) THEN 294 PRINT*, '+++ check_parameters:' 295 PRINT*, ' illegal value given for loop_optimization: ', & 296 TRIM( loop_optimization ) 297 ENDIF 298 CALL local_stop 282 message_string = 'illegal value given for loop_optimization: "' // & 283 TRIM( loop_optimization ) // '"' 284 CALL handle_palm_message( 'check_parameters', 'PA0013', 1, 2, 0, 6, 0 ) 299 285 ENDIF 300 286 … … 334 320 ENDIF 335 321 IF ( action /= ' ' ) THEN 336 IF ( myid == 0 ) THEN 337 PRINT*, '+++ check_parameters:' 338 PRINT*, ' a non-flat topography does not allow ', TRIM( action ) 339 ENDIF 340 CALL local_stop 322 message_string = 'a non-flat topography does not allow ' // & 323 TRIM( action ) 324 CALL handle_palm_message( 'check_parameters', 'PA0014', 1, 2, 0, 6, & 325 0 ) 341 326 ENDIF 342 327 ENDIF … … 353 338 ENDIF 354 339 IF ( action /= ' ' ) THEN 355 IF ( myid == 0 ) THEN 356 PRINT*, '+++ check_parameters:' 357 PRINT*, ' ocean = .T. does not allow ', TRIM( action ) 358 ENDIF 359 CALL local_stop 340 message_string = 'ocean = .T. does not allow ' // TRIM( action ) 341 CALL handle_palm_message( 'check_parameters', 'PA0015', 1, 2, 0, 6, & 342 0 ) 360 343 ENDIF 361 344 ENDIF … … 366 349 IF ( psolver /= 'poisfft' .AND. psolver /= 'poisfft_hybrid' .AND. & 367 350 psolver /= 'sor' .AND. psolver /= 'multigrid' ) THEN 368 IF ( myid == 0 ) THEN 369 PRINT*, '+++ check_parameters:' 370 PRINT*, ' unknown solver for perturbation pressure: psolver=', & 371 psolver 372 ENDIF 373 CALL local_stop 351 message_string = 'unknown solver for perturbation pressure: psolver' // & 352 ' = "' // TRIM( psolver ) // '"' 353 CALL handle_palm_message( 'check_parameters', 'PA0016', 1, 2, 0, 6, 0 ) 374 354 ENDIF 375 355 376 356 #if defined( __parallel ) 377 357 IF ( psolver == 'poisfft_hybrid' .AND. pdims(2) /= 1 ) THEN 378 IF ( myid == 0 ) THEN 379 PRINT*, '+++ check_parameters:' 380 PRINT*, ' psolver="', TRIM( psolver ), '" only works for a ', & 381 '1d domain-decomposition along x' 382 PRINT*, ' please do not set npey/=1 in the parameter file' 383 ENDIF 384 CALL local_stop 358 message_string = 'psolver = "' // TRIM( psolver ) // '" only works ' // & 359 'for a 1d domain-decomposition along x & please do' // & 360 ' not set npey/=1 in the parameter file' 361 CALL handle_palm_message( 'check_parameters', 'PA0017', 1, 2, 0, 6, 0 ) 385 362 ENDIF 386 363 IF ( psolver == 'poisfft_hybrid' .AND. & … … 388 365 psolver == 'multigrid' .AND. & 389 366 ( nxra > nxr .OR. nyna > nyn ) ) THEN 390 IF ( myid == 0 ) THEN 391 PRINT*, '+++ check_parameters:' 392 PRINT*, ' psolver="', TRIM( psolver ), '" does not work for ', & 393 'subdomains with unequal size' 394 PRINT*, ' please set grid_matching = ''strict'' in the parameter',& 395 ' file' 396 ENDIF 397 CALL local_stop 367 message_string = 'psolver = "' // TRIM( psolver ) // '" does not ' // & 368 'work for subdomains with unequal size & please ' // & 369 'set grid_matching = ''strict'' in the parameter file' 370 CALL handle_palm_message( 'check_parameters', 'PA0018', 1, 2, 0, 6, 0 ) 398 371 ENDIF 399 372 #else 400 373 IF ( psolver == 'poisfft_hybrid' ) THEN 401 IF ( myid == 0 ) THEN 402 PRINT*, '+++ check_parameters:' 403 PRINT*, ' psolver="', TRIM( psolver ), '" only works for a ', & 404 'parallel environment' 405 ENDIF 406 CALL local_stop 374 message_string = 'psolver = "' // TRIM( psolver ) // '" only works' // & 375 ' for a parallel environment' 376 CALL handle_palm_message( 'check_parameters', 'PA0019', 1, 2, 0, 6, 0 ) 407 377 ENDIF 408 378 #endif … … 414 384 gamma_mg = 1 415 385 ELSE 416 IF ( myid == 0 ) THEN 417 PRINT*, '+++ check_parameters:' 418 PRINT*, ' unknown multigrid cycle: cycle_mg=', cycle_mg 419 ENDIF 420 CALL local_stop 386 message_string = 'unknown multigrid cycle: cycle_mg = "' // & 387 TRIM( cycle_mg ) // '"' 388 CALL handle_palm_message( 'check_parameters', 'PA0020', 1, 2, 0, 6, & 389 0 ) 421 390 ENDIF 422 391 ENDIF … … 425 394 fft_method /= 'temperton-algorithm' .AND. & 426 395 fft_method /= 'system-specific' ) THEN 427 IF ( myid == 0 ) THEN 428 PRINT*, '+++ check_parameters:' 429 PRINT*, ' unknown fft-algorithm: fft_method=', fft_method 430 ENDIF 431 CALL local_stop 396 message_string = 'unknown fft-algorithm: fft_method = "' // & 397 TRIM( fft_method ) // '"' 398 CALL handle_palm_message( 'check_parameters', 'PA0021', 1, 2, 0, 6, 0 ) 432 399 ENDIF 433 400 -
palm/trunk/SOURCE/local_stop.f90
r206 r213 4 4 ! Actual revisions: 5 5 ! ----------------- 6 ! Implementation of a MPI-1 coupling: replaced myid with target_id 6 ! Implementation of a MPI-1 coupling: replaced myid with target_id. 7 ! The uncoupled case allows stop or mpi_abort depending on new steering 8 ! parameter abort_mode, which is set in handle_palm_message. 7 9 ! 8 10 ! Former revisions: … … 36 38 #if defined( __parallel ) 37 39 IF ( coupling_mode == 'uncoupled' ) THEN 38 CALL MPI_FINALIZE( ierr ) 39 STOP 40 IF ( abort_mode == 1 ) THEN 41 CALL MPI_FINALIZE( ierr ) 42 STOP 43 ELSEIF ( abort_mode == 2 ) THEN 44 CALL MPI_ABORT( comm2d, 9999, ierr ) 45 ENDIF 40 46 ELSE 41 47 -
palm/trunk/SOURCE/modules.f90
r210 r213 6 6 ! ----------------- 7 7 ! some dvrp-variables changed to single precision, variables for dvrp-mode 8 ! pathlines added, +target_id 8 ! pathlines added, +target_id, abort_mode, message_string 9 9 ! 10 10 ! Former revisions: … … 257 257 258 258 259 CHARACTER (LEN=1) :: cycle_mg = 'w', timestep_reason = ' ' 260 CHARACTER (LEN=2) :: coupling_char = '' 261 CHARACTER (LEN=5) :: write_binary = 'false' 262 CHARACTER (LEN=6) :: grid_matching = 'match' 263 CHARACTER (LEN=8) :: run_date, run_time 264 CHARACTER (LEN=9) :: simulated_time_chr 265 CHARACTER (LEN=12) :: version = ' ', revision = ' ' 266 CHARACTER (LEN=16) :: loop_optimization = 'default', & 267 momentum_advec = 'pw-scheme', & 268 psolver = 'poisfft', & 269 scalar_advec = 'pw-scheme' 270 CHARACTER (LEN=20) :: bc_e_b = 'neumann', bc_lr = 'cyclic', & 271 bc_ns = 'cyclic', bc_p_b = 'neumann', & 272 bc_p_t = 'dirichlet', bc_pt_b = 'dirichlet', & 273 bc_pt_t = 'initial_gradient', & 274 bc_q_b = 'dirichlet', bc_q_t = 'neumann', & 275 bc_s_b = 'dirichlet', bc_s_t = 'neumann', & 276 bc_sa_t = 'neumann', & 277 bc_uv_b = 'dirichlet', bc_uv_t = 'dirichlet', & 278 canopy_mode = 'block', & 279 coupling_mode = 'uncoupled', & 280 coupling_mode_remote = 'uncoupled', & 281 dissipation_1d = 'as_in_3d_model', & 282 fft_method = 'system-specific', & 283 mixing_length_1d = 'as_in_3d_model', & 284 random_generator = 'numerical-recipes', & 285 return_addres, return_username, & 286 timestep_scheme = 'runge-kutta-3' 287 CHARACTER (LEN=40) :: avs_data_file, topography = 'flat' 288 CHARACTER (LEN=64) :: host 289 CHARACTER (LEN=80) :: log_message, run_identifier 290 CHARACTER (LEN=100) :: initializing_actions = ' ', run_description_header 259 CHARACTER (LEN=1) :: cycle_mg = 'w', timestep_reason = ' ' 260 CHARACTER (LEN=2) :: coupling_char = '' 261 CHARACTER (LEN=5) :: write_binary = 'false' 262 CHARACTER (LEN=6) :: grid_matching = 'match' 263 CHARACTER (LEN=8) :: run_date, run_time 264 CHARACTER (LEN=9) :: simulated_time_chr 265 CHARACTER (LEN=12) :: version = ' ', revision = ' ' 266 CHARACTER (LEN=16) :: loop_optimization = 'default', & 267 momentum_advec = 'pw-scheme', & 268 psolver = 'poisfft', & 269 scalar_advec = 'pw-scheme' 270 CHARACTER (LEN=20) :: bc_e_b = 'neumann', bc_lr = 'cyclic', & 271 bc_ns = 'cyclic', bc_p_b = 'neumann', & 272 bc_p_t = 'dirichlet', bc_pt_b = 'dirichlet', & 273 bc_pt_t = 'initial_gradient', & 274 bc_q_b = 'dirichlet', bc_q_t = 'neumann', & 275 bc_s_b = 'dirichlet', bc_s_t = 'neumann', & 276 bc_sa_t = 'neumann', & 277 bc_uv_b = 'dirichlet', bc_uv_t = 'dirichlet', & 278 canopy_mode = 'block', & 279 coupling_mode = 'uncoupled', & 280 coupling_mode_remote = 'uncoupled', & 281 dissipation_1d = 'as_in_3d_model', & 282 fft_method = 'system-specific', & 283 mixing_length_1d = 'as_in_3d_model', & 284 random_generator = 'numerical-recipes', & 285 return_addres, return_username, & 286 timestep_scheme = 'runge-kutta-3' 287 CHARACTER (LEN=40) :: avs_data_file, topography = 'flat' 288 CHARACTER (LEN=64) :: host = ' ' 289 CHARACTER (LEN=80) :: log_message, run_identifier 290 CHARACTER (LEN=100) :: initializing_actions = ' ', run_description_header 291 CHARACTER (LEN=1000) :: message_string = ' ' 291 292 292 293 CHARACTER (LEN=7), DIMENSION(100) :: do3d_comp_prec = ' ' … … 300 301 CHARACTER (LEN=10), DIMENSION(0:1,100) :: do2d = ' ', do3d = ' ' 301 302 302 INTEGER :: a verage_count_pr = 0, average_count_sp = 0, &303 INTEGER :: abort_mode = 0, average_count_pr = 0, average_count_sp = 0, & 303 304 average_count_3d = 0, current_timestep_number = 0, & 304 305 dist_range = 0, disturbance_level_ind_b, &
Note: See TracChangeset
for help on using the changeset viewer.