Changeset 1053 for palm/trunk/SOURCE/modules.f90
- Timestamp:
- Nov 13, 2012 5:11:03 PM (11 years ago)
- Location:
- palm/trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk
- Property svn:mergeinfo changed
/palm/branches/hoffmann (added) merged: 989,994,999-1000,1005-1006,1012,1022,1048-1052
- Property svn:mergeinfo changed
-
palm/trunk/SOURCE
- Property svn:mergeinfo changed
/palm/branches/hoffmann/SOURCE (added) merged: 994,999-1000,1005-1006,1012,1022,1048-1052
- Property svn:mergeinfo changed
-
palm/trunk/SOURCE/modules.f90
r1037 r1053 20 20 ! Current revisions: 21 21 ! ----------------- 22 ! 22 ! necessary expansions according to the two new prognostic equations (nr, qr) 23 ! of the two-moment cloud physics scheme: 24 ! +*_init, flux_l_*, diss_l_*, flux_s_*, diss_s_*, *sws, *swst, tend_*, *, *_p 25 ! +t*_m, *_1, *_2, *_3, *_av, bc_*_b, bc_*_t, ibc_*_b, ibc_*_t, bc_*_t_val, 26 ! +*_vertical_gradient, *_surface_initial_change, *_vertical_gradient_level, 27 ! +*_vertical_gradient_level_ind, *_surface, constant_waterflux_*, 28 ! +cloud_scheme, icloud_scheme, surface_waterflux_*, sums_ws*s_ws_l, wall_*flux 29 ! 30 ! constants for the two-moment scheme: 31 ! +a_vent, a_term, b_vent, b_term, c_evap, c_term, cof, eps_sb, k_cc, k_cr, k_rr, 32 ! +k_br, kappa_rr, kin_vis_air, mu_constant_value, nc, pirho_l, dpirho_l, rho_1, 33 ! +schmidt, schmidt_p_1d3, stp, x0, xmin, xmax, dt_precipitation, w_precipitation 34 ! 35 ! steering parameters for the two_moment scheme: 36 ! +mu_constant, ventilation_effect 23 37 ! 24 38 ! Former revisions: … … 369 383 c_u_m, c_u_m_l, c_v_m, c_v_m_l, c_w_m, c_w_m_l, ddzu, ddzu_pres, & 370 384 dd2zu, dzu, ddzw, dzw, hyp, inflow_damping_factor, lad, l_grid, & 371 ptdf_x, ptdf_y, pt_init, q_init, rdf, rdf_sc, sa_init, ug, u_init, & 372 u_nzb_p1_for_vfc, vg, v_init, v_nzb_p1_for_vfc, w_subs, zu, zw 385 nr_init, ptdf_x, ptdf_y, pt_init, q_init, qr_init, rdf, rdf_sc, & 386 sa_init, ug, u_init, u_nzb_p1_for_vfc, vg, v_init, v_nzb_p1_for_vfc, & 387 w_subs, zu, zw 373 388 374 389 REAL, DIMENSION(:,:), ALLOCATABLE :: & 375 c_u, c_v, c_w, diss_s_e, diss_s_pt, diss_s_q, diss_s_sa, diss_s_u, & 376 diss_s_v, diss_s_w, dzu_mg, dzw_mg, flux_s_e, flux_s_pt, flux_s_q, & 377 flux_s_sa, flux_s_u, flux_s_v, flux_s_w, f1_mg, f2_mg, f3_mg, & 378 mean_inflow_profiles, pt_slope_ref, qs, qsws, qswst, qswst_remote, & 379 rif, saswsb, saswst, shf, total_2d_a, total_2d_o, ts, tswst, us, & 380 usws, uswst, vsws, vswst, z0, z0h 390 c_u, c_v, c_w, diss_s_e, diss_s_nr, diss_s_pt, diss_s_q, diss_s_qr, & 391 diss_s_sa, diss_s_u, diss_s_v, diss_s_w, dzu_mg, dzw_mg, flux_s_e, & 392 flux_s_nr, flux_s_pt, flux_s_q, flux_s_qr, flux_s_sa, flux_s_u, & 393 flux_s_v, flux_s_w, f1_mg, f2_mg, f3_mg, mean_inflow_profiles, nrs, & 394 nrsws, nrswst, pt_slope_ref, qs, qsws, qswst, qswst_remote, qrs, & 395 qrsws, qrswst, rif, saswsb, saswst, shf, total_2d_a, total_2d_o, ts, & 396 tswst, us, usws, uswst, vsws, vswst, z0, z0h 397 381 398 382 399 REAL, DIMENSION(:,:,:), ALLOCATABLE :: & 383 400 canopy_heat_flux, cdc, d, de_dx, de_dy, de_dz, diss, diss_l_e, & 384 diss_l_pt, diss_l_q, diss_l_sa, diss_l_u, diss_l_v, diss_l_w, & 385 flux_l_e, flux_l_pt, flux_l_q, flux_l_sa, flux_l_u, flux_l_v, & 386 flux_l_w, kh, km, lad_s, lad_u, lad_v, lad_w, lai, l_wall, p_loc, & 387 sec, sls, tend, u_m_l, u_m_n, u_m_r, u_m_s, v_m_l, v_m_n, v_m_r, & 388 v_m_s, w_m_l, w_m_n, w_m_r, w_m_s 401 diss_l_nr, diss_l_pt, diss_l_q, diss_l_qr, diss_l_sa, diss_l_u, & 402 diss_l_v, diss_l_w, flux_l_e, flux_l_nr, flux_l_pt, flux_l_q, & 403 flux_l_qr, flux_l_sa, flux_l_u, flux_l_v, flux_l_w, kh, km, lad_s, & 404 lad_u, lad_v, lad_w, lai, l_wall, p_loc, sec, sls, tend, tend_pt, & 405 tend_nr, tend_q, tend_qr, u_m_l, u_m_n, u_m_r, u_m_s, v_m_l, v_m_n, & 406 v_m_r, v_m_s, w_m_l, w_m_n, w_m_r, w_m_s 407 389 408 390 409 #if defined( __nopointer ) 391 410 REAL, DIMENSION(:,:,:), ALLOCATABLE, TARGET :: & 392 e, e_p, p, prho, pt, pt_p, q, q_p, ql, ql_c, ql_v, ql_vp, rho, sa,&393 sa_p, te_m, tpt_m, tq_m, tsa_m, tu_m, tv_m, tw_m, u, u_p, v, v_p,&394 vpt, w, w_p411 e, e_p, nr, nr_p, p, prho, pt, pt_p, q, q_p, ql, ql_c, ql_v, ql_vp, & 412 qr, qr_p, rho, sa, sa_p, te_m, tnr_m, tpt_m, tq_m, tqr_m, tsa_m, & 413 tu_m, tv_m, tw_m, u, u_p, v, v_p, vpt, w, w_p 395 414 #else 396 415 REAL, DIMENSION(:,:,:), ALLOCATABLE, TARGET :: & 397 e_1, e_2, e_3, p, prho_1, pt_1, pt_2, pt_3, q_1, q_2, q_3, ql_v,&398 q l_vp, ql_1, ql_2, rho_1, sa_1, sa_2, sa_3, u_1, u_2, u_3,&399 v_1, v_2, v_3, vpt_1, w_1, w_2, w_3416 e_1, e_2, e_3, p, prho_1, nr_1, nr_2, nr_3, pt_1, pt_2, pt_3, q_1, & 417 q_2, q_3, ql_v, ql_vp, ql_1, ql_2, qr_1, qr_2, qr_3, rho_1, sa_1, & 418 sa_2, sa_3, u_1, u_2, u_3, v_1, v_2, v_3, vpt_1, w_1, w_2, w_3 400 419 401 420 REAL, DIMENSION(:,:,:), POINTER :: & 402 e, e_p, prho, pt, pt_p, q, q_p, ql, ql_c, rho, sa, sa_p, te_m, & 403 tpt_m, tq_m, tsa_m, tu_m, tv_m, tw_m, u, u_p, v, v_p, vpt, w, w_p 421 e, e_p, nr, nr_p, prho, pt, pt_p, q, q_p, ql, ql_c, qr, qr_p, rho, & 422 sa, sa_p, te_m, tnr_m, tpt_m, tq_m, tqr_m, tsa_m, tu_m, tv_m, tw_m, & 423 u, u_p, v, v_p, vpt, w, w_p 404 424 #endif 405 425 … … 429 449 430 450 REAL, DIMENSION(:,:,:), ALLOCATABLE, TARGET :: & 431 e_av, lpt_av, p_av, pc_av, pr_av, pt_av, q_av, ql_av, ql_c_av, & 432 ql_v_av, ql_vp_av, qv_av, rho_av, s_av, sa_av, u_av, v_av, vpt_av, & 433 w_av 451 e_av, lpt_av, nr_av, p_av, pc_av, pr_av, prr_av, pt_av, q_av, ql_av, & 452 ql_c_av, ql_v_av, ql_vp_av, qr_av, qv_av, rho_av, s_av, sa_av, u_av, & 453 v_av, vpt_av, w_av 454 434 455 END MODULE averaging 435 456 … … 444 465 !------------------------------------------------------------------------------! 445 466 446 LOGICAL :: curvature_solution_effects = .FALSE. 447 448 REAL :: bfactor, cp = 1005.0, diff_coeff_l = 0.23E-4, & 449 effective_coll_efficiency, & 450 eps_ros = 1.0E-4, & ! accuracy of Rosenbrock method 451 l_d_cp, l_d_r, l_d_rv, l_v = 2.5E+06, & 452 mass_of_solute = 1.0E-17, & ! soluted NaCl in kg 453 molecular_weight_of_solute = 0.05844, & ! mol. mass NaCl (kg/mol) 454 molecular_weight_of_water = 0.01801528,& ! mol. mass H2O (kg/mol) 455 prec_time_const = 0.001, ql_crit = 0.0005, rho_l = 1.0E3, & 456 r_d = 287.0, r_v = 461.51, thermal_conductivity_l = 2.43E-2, & 457 vanthoff = 2.0 ! van't Hoff factor (NaCl) 458 459 REAL, DIMENSION(:), ALLOCATABLE :: pt_d_t, t_d_pt 460 461 REAL, DIMENSION(:,:), ALLOCATABLE :: precipitation_amount, & 462 precipitation_rate 467 LOGICAL :: curvature_solution_effects = .FALSE., & 468 ventilation_effect = .FALSE., & 469 mu_constant = .FALSE. 470 471 REAL :: a_vent = 0.78, & ! coef. for ventilation effect 472 a_term = 9.65, & ! coef. for terminal velocity (m s-1) 473 b_vent = 0.308, & ! coef. for ventilation effect 474 b_term = 9.8, & ! coef. for terminal velocity (m s-1) 475 bfactor, & 476 c_evap = 0.7, & ! constant in evaporation 477 c_term = 600.0, & ! coef. for terminal velocity (m-1) 478 cof(6) = (/ 76.18009172947146, & ! coefficients in the 479 -86.50532032941677, & ! numerical 480 24.01409824083091, & ! calculation of the 481 -1.231739572450155, & ! gamma function 482 0.1208650973866179E-2, & 483 -0.5395239384953E-5 /), & 484 cp = 1005.0, & ! heat capacity of dry air (J kg-1 K-1) 485 diff_coeff_l = 0.23E-4, & ! diffusivity of water vapor (m2 s-1) 486 effective_coll_efficiency, & 487 eps_ros = 1.0E-4, & ! accuracy of Rosenbrock method 488 eps_sb = 1.0E-20, & ! threshold in two-moments scheme 489 k_cc = 4.44E09, & ! const. rain-rain kernel (m3 kg-2 s-1) 490 k_cr = 5.25, & ! const. cloud-rain kernel (m3 kg-1 s-1) 491 k_rr = 7.12, & ! const. rain-rain kernel (m3 kg-1 s-1) 492 k_br = 1000., & ! const. in breakup parametrization (m-1) 493 kappa_rr = 60.7, & ! const. in collision kernel (kg-1/3) 494 kin_vis_air = 1.4086E-5, & ! kin. viscosity of air (m2 s-1) 495 l_v = 2.5E+06, & ! latent heat of vaporization (J kg-1) 496 l_d_cp, l_d_r, l_d_rv, & ! l_v / cp, l_v / r_d, l_v / r_v 497 mass_of_solute = 1.0E-17, & ! soluted NaCl (kg) 498 molecular_weight_of_solute = 0.05844, & ! mol. m. NaCl (kg mol-1) 499 molecular_weight_of_water = 0.01801528, & ! mol. m. H2O (kg mol-1) 500 mu_constant_value = 0.0, & ! shape param. of gamma distribution 501 nc = 70.0E6, & ! cloud droplet concentration 502 prec_time_const = 0.001, & !coef. in Kessler scheme 503 pirho_l, dpirho_l, & ! pi * rho_l / 6.0; 6.0 / ( pi * rho_l ) 504 rho_l = 1.0E3, & ! density of water (kg m-3) 505 ql_crit = 0.0005, & ! coef. in Kessler scheme 506 r_d = 287.0, & ! sp. gas const. dry air (J kg-1 K-1) 507 r_v = 461.51, & ! sp. gas const. water vapor (J kg-1 K-1) 508 schmidt = 0.71, & ! Schmidt number 509 schmidt_p_1d3, & ! schmidt**( 1.0 / 3.0 ) 510 stp = 2.5066282746310005, & ! parameter in gamma function 511 thermal_conductivity_l = 2.43E-2, & ! therm. cond. air (J m-1 s-1 K-1) 512 vanthoff = 2.0, & ! van't Hoff factor for NaCl 513 x0 = 2.6E-10, & ! separating drop mass (kg) 514 xrmin = 2.6E-10, & ! minimum rain drop size (kg) 515 xrmax = 5.0E-6, & ! maximum rain drop site (kg) 516 dt_precipitation = 100.0, & ! timestep precipitation (s) 517 w_precipitation = 9.65 ! maximum terminal velocity (m s-1) 518 519 REAL, DIMENSION(:), ALLOCATABLE :: dr, hyrho, lambda_r, mu_r, pt_d_t, & 520 sed_nr, sed_q, sed_qr, t_d_pt, xr 521 522 REAL, DIMENSION(:,:), ALLOCATABLE :: precipitation_amount, & 523 precipitation_rate 524 ! 525 !-- 3D array of precipitation rate 526 REAL, DIMENSION(:,:,:), ALLOCATABLE :: prr 463 527 464 528 SAVE … … 529 593 scalar_advec = 'ws-scheme' 530 594 CHARACTER (LEN=20) :: bc_e_b = 'neumann', bc_lr = 'cyclic', & 595 bc_nr_b = 'dirichlet', bc_nr_t = 'neumann', & 531 596 bc_ns = 'cyclic', bc_p_b = 'neumann', & 532 597 bc_p_t = 'dirichlet', bc_pt_b = 'dirichlet', & 533 598 bc_pt_t = 'initial_gradient', & 534 599 bc_q_b = 'dirichlet', bc_q_t = 'neumann', & 600 bc_qr_b = 'dirichlet', bc_qr_t = 'neumann',& 535 601 bc_s_b = 'dirichlet', bc_s_t = 'neumann', & 536 602 bc_sa_t = 'neumann', & 537 603 bc_uv_b = 'dirichlet', bc_uv_t = 'dirichlet', & 538 604 canopy_mode = 'block', & 605 cloud_scheme = 'seifert_beheng', & 539 606 coupling_mode = 'uncoupled', & 540 607 coupling_mode_remote = 'uncoupled', & … … 544 611 random_generator = 'numerical-recipes', & 545 612 return_addres, return_username, & 546 timestep_scheme = 'runge-kutta-3' 613 timestep_scheme = 'runge-kutta-3' 547 614 CHARACTER (LEN=40) :: avs_data_file, output_format_netcdf, & 548 615 topography = 'flat' … … 577 644 dp_level_ind_b = 0, dvrp_filecount = 0, & 578 645 dz_stretch_level_index, gamma_mg, gathered_size, & 579 grid_level, ibc_e_b, ibc_p_b, ibc_p_t, ibc_pt_b, ibc_pt_t, & 580 ibc_q_b, ibc_q_t, ibc_sa_t, ibc_uv_b, ibc_uv_t, & 646 grid_level, ibc_e_b, ibc_nr_b, ibc_nr_t, ibc_p_b, ibc_p_t, & 647 ibc_pt_b, ibc_pt_t, ibc_q_b, ibc_q_t, ibc_qr_b, ibc_qr_t, & 648 ibc_sa_t, ibc_uv_b, ibc_uv_t, icloud_scheme, & 581 649 inflow_disturbance_begin = -1, inflow_disturbance_end = -1, & 582 650 intermediate_timestep_count, intermediate_timestep_count_max, & … … 600 668 mask_size(max_masks,3) = -1, mask_size_l(max_masks,3) = -1, & 601 669 mask_start_l(max_masks,3) = -1, & 670 nr_vertical_gradient_level_ind(10) = -9999, & 602 671 pt_vertical_gradient_level_ind(10) = -9999, & 603 672 q_vertical_gradient_level_ind(10) = -9999, & 673 qr_vertical_gradient_level_ind(10) = -9999, & 604 674 sa_vertical_gradient_level_ind(10) = -9999, & 605 675 section(100,3), section_xy(100) = -9999, & … … 631 701 constant_top_momentumflux = .FALSE., & 632 702 constant_top_salinityflux = .TRUE., & 633 constant_waterflux = .TRUE., create_disturbances = .TRUE., & 703 constant_waterflux = .TRUE., constant_waterflux_nr = .TRUE., & 704 constant_waterflux_qr = .TRUE., create_disturbances = .TRUE., & 634 705 data_output_2d_on_each_pe = .TRUE., & 635 706 dissipation_control = .FALSE., disturbance_created = .FALSE., & 636 707 do2d_at_begin = .FALSE., do3d_at_begin = .FALSE., & 637 708 do3d_compress = .FALSE., do_sum = .FALSE., & 638 dp_external = .FALSE., dp_smooth = .FALSE., dt_fixed = .FALSE., & 709 dp_external = .FALSE., dp_smooth = .FALSE., & 710 drizzle = .TRUE., dt_fixed = .FALSE., & 639 711 dt_3d_reached, dt_3d_reached_l, exchange_mg = .FALSE., & 640 712 first_call_lpm = .TRUE., & … … 668 740 averaging_interval = 0.0, averaging_interval_pr = 9999999.9, & 669 741 averaging_interval_sp = 9999999.9, bc_pt_t_val, bc_q_t_val, & 670 b ottom_salinityflux = 0.0, &742 bc_qr_t_val, bc_nr_t_val, bottom_salinityflux = 0.0, & 671 743 building_height = 50.0, building_length_x = 50.0, & 672 744 building_length_y = 50.0, building_wall_left = 9999999.9, & … … 699 771 maximum_cpu_time_allowed = 0.0, & 700 772 molecular_viscosity = 1.461E-5, & 773 nr_surface = 0.0, nr_surface_initial_change = 0.0, & 701 774 old_dt = 1.0E-10, omega = 7.29212E-5, omega_sor = 1.8, & 702 775 particle_maximum_age = 9999999.9, & … … 707 780 pt_surface = 300.0, pt_surface_initial_change = 0.0, & 708 781 q_surface = 0.0, q_surface_initial_change = 0.0, & 782 qr_surface = 0.0, qr_surface_initial_change = 0.0, & 709 783 rayleigh_damping_factor = -1.0, rayleigh_damping_height = -1.0, & 710 784 recycling_width = 9999999.9, residual_limit = 1.0E-4, & … … 719 793 surface_heatflux = 9999999.9, surface_pressure = 1013.25, & 720 794 surface_scalarflux = 9999999.9, surface_waterflux = 9999999.9, & 795 surface_waterflux_nr = 0.0, surface_waterflux_qr = 0.0, & 721 796 s_surface = 0.0, s_surface_initial_change = 0.0, & 722 797 termination_time_needed = -1.0, time_coupling = 0.0, & … … 740 815 lad_vertical_gradient_level(10) = -9999999.9, & 741 816 mask_scale(3), & 817 nr_vertical_gradient(10) = 0.0, & 818 nr_vertical_gradient_level(10) = -1.0, & 742 819 pt_vertical_gradient(10) = 0.0, & 743 820 pt_vertical_gradient_level(10) = -9999999.9, & 744 821 q_vertical_gradient(10) = 0.0, & 745 822 q_vertical_gradient_level(10) = -1.0, & 823 qr_vertical_gradient(10) = 0.0, & 824 qr_vertical_gradient_level(10) = -1.0, & 746 825 s_vertical_gradient(10) = 0.0, & 747 826 s_vertical_gradient_level(10) = -1.0, & … … 759 838 volume_flow(1:2) = 0.0, volume_flow_area(1:2) = 0.0, & 760 839 volume_flow_initial(1:2) = 0.0, wall_heatflux(0:4) = 0.0, & 761 wall_humidityflux(0:4) = 0.0, wall_qflux(0:4) = 0.0, & 840 wall_humidityflux(0:4) = 0.0, wall_nrflux(0:4) = 0.0, & 841 wall_qflux(0:4) = 0.0, wall_qrflux(0:4) = 0.0, & 762 842 wall_salinityflux(0:4) = 0.0, wall_scalarflux(0:4) = 0.0, & 763 843 subs_vertical_gradient(10) = 0.0, & … … 1532 1612 sums_us2_ws_l, sums_vs2_ws_l, & 1533 1613 sums_ws2_ws_l, & 1614 sums_wsnrs_ws_l, & 1534 1615 sums_wspts_ws_l, & 1535 sums_wssas_ws_l,sums_wsqs_ws_l 1616 sums_wssas_ws_l, & 1617 sums_wsqs_ws_l, & 1618 sums_wsqrs_ws_l 1619 1536 1620 REAL, DIMENSION(:,:,:), ALLOCATABLE :: hom_sum, rmask, spectrum_x, & 1537 1621 spectrum_y, sums_l, sums_l_l, &
Note: See TracChangeset
for help on using the changeset viewer.