Changeset 3637 for palm/trunk/SOURCE/check_parameters.f90
- Timestamp:
- Dec 20, 2018 1:51:36 AM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/check_parameters.f90
r3597 r3637 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Implementation of the PALM module interface 28 ! 29 ! 3597 2018-12-04 08:40:18Z maronga 27 30 ! Added checks for theta_2m 28 31 ! … … 748 751 USE basic_constants_and_equations_mod 749 752 750 USE biometeorology_mod, &751 ONLY: bio_check_data_output, bio_check_parameters752 753 753 USE bulk_cloud_model_mod, & 754 ONLY: bulk_cloud_model, bcm_check_parameters, bcm_check_data_output, & 755 bcm_check_data_output_pr 756 757 USE chem_emissions_mod, & 758 ONLY: chem_emissions_check_parameters 754 ONLY: bulk_cloud_model 759 755 760 756 USE chem_modules 761 757 762 758 USE chemistry_model_mod, & 763 ONLY: chem_boundary_conds, chem_check_data_output, & 764 chem_check_data_output_pr, chem_check_parameters, chem_species 759 ONLY: chem_boundary_conds 765 760 766 761 USE control_parameters … … 770 765 USE grid_variables 771 766 772 USE gust_mod, &773 ONLY: gust_check_data_output, gust_check_data_output_pr, &774 gust_check_parameters, gust_module_enabled775 776 767 USE kinds 777 768 778 769 USE indices 779 780 USE land_surface_model_mod, &781 ONLY: lsm_check_data_output, lsm_check_data_output_pr, &782 lsm_check_parameters783 784 USE lsf_nudging_mod, &785 ONLY: lsf_nudging_check_parameters, lsf_nudging_check_data_output_pr786 770 787 771 USE model_1d_mod, & 788 772 ONLY: damp_level_1d, damp_level_ind_1d 789 773 790 USE nesting_offl_mod, & 791 ONLY: nesting_offl_check_parameters 792 774 USE module_interface, & 775 ONLY: module_interface_check_parameters, & 776 module_interface_check_data_output_pr, & 777 module_interface_check_data_output 778 793 779 USE netcdf_data_input_mod, & 794 780 ONLY: init_model, input_pids_static, netcdf_data_input_check_dynamic, & … … 800 786 waterflux_output_unit, momentumflux_output_unit 801 787 802 USE ocean_mod, &803 ONLY: ocean_check_data_output, ocean_check_data_output_pr, &804 ocean_check_parameters805 806 788 USE particle_attributes 807 789 808 790 USE pegrid 809 810 USE plant_canopy_model_mod, &811 ONLY: pcm_check_data_output, pcm_check_parameters812 791 813 792 USE pmc_interface, & … … 816 795 USE profil_parameter 817 796 818 USE radiation_model_mod, &819 ONLY: radiation, radiation_check_data_output, &820 radiation_check_data_output_pr, radiation_check_parameters821 822 USE salsa_mod, &823 ONLY: salsa_check_data_output, salsa_check_parameters824 825 USE spectra_mod, &826 ONLY: calculate_spectra, spectra_check_parameters827 828 797 USE statistics 829 798 830 799 USE subsidence_mod 831 800 832 USE surface_output_mod, &833 ONLY: surface_output_check_parameters834 835 USE synthetic_turbulence_generator_mod, &836 ONLY: stg_check_parameters837 838 801 USE transpose_indices 839 802 840 803 USE turbulence_closure_mod, & 841 ONLY: tcm_check_data_output, tcm_check_parameters 842 843 USE urban_surface_mod, & 844 ONLY: usm_check_data_output, usm_check_parameters 845 846 USE wind_turbine_model_mod, & 847 ONLY: wtm_check_parameters 804 ONLY: tcm_check_parameters, & 805 tcm_check_data_output 848 806 849 807 USE vertical_nesting_mod, & 850 ONLY: vnested, vnest_check_parameters 808 ONLY: vnested, & 809 vnest_check_parameters 851 810 852 811 … … 1525 1484 1526 1485 ! 1527 !-- Check the module settings: 1528 !-- tcm_check_parameters must be called at first 1486 !-- tcm_check_parameters must be called before all other module calls 1529 1487 CALL tcm_check_parameters 1530 1488 1531 IF ( biometeorology ) CALL bio_check_parameters 1532 IF ( bulk_cloud_model ) CALL bcm_check_parameters 1533 IF ( air_chemistry ) CALL chem_check_parameters 1534 ! IF ( air_chemistry ) CALL chem_emissions_check_parameters ! forkel preliminary 1535 IF ( gust_module_enabled ) CALL gust_check_parameters 1536 IF ( large_scale_forcing .OR. nudging ) & 1537 CALL lsf_nudging_check_parameters 1538 IF ( land_surface ) CALL lsm_check_parameters 1539 IF ( nesting_offline ) CALL nesting_offl_check_parameters 1540 IF ( ocean_mode ) CALL ocean_check_parameters 1541 IF ( plant_canopy ) CALL pcm_check_parameters 1542 IF ( radiation ) CALL radiation_check_parameters 1543 IF ( calculate_spectra ) CALL spectra_check_parameters 1544 CALL stg_check_parameters 1545 IF ( urban_surface ) CALL usm_check_parameters 1546 IF ( wind_turbine ) CALL wtm_check_parameters 1547 ! 1548 !-- Checks for surface data output 1549 IF ( surface_data_output ) CALL surface_output_check_parameters 1550 ! 1551 !-- When SALSA is used, perform additional checks 1552 IF ( salsa ) CALL salsa_check_parameters 1489 !-- Check the module settings 1490 CALL module_interface_check_parameters 1553 1491 1554 1492 ! … … 1562 1500 IF ( humidity ) q_init = q_surface 1563 1501 IF ( passive_scalar ) s_init = s_surface 1564 ! 1565 !-- TODO 1566 !-- Russo: Is done in chem_init and would overwrite what is done there 1567 !-- --> kanani: Revise 1568 ! IF ( air_chemistry ) THEN 1569 ! DO lsp = 1, nvar 1570 ! chem_species(lsp)%conc_pr_init = cs_surface(lsp) 1571 ! ENDDO 1572 ! ENDIF 1573 ! 1502 1574 1503 !-- 1575 1504 !-- If required, compute initial profile of the geostrophic wind … … 2960 2889 ! 2961 2890 !-- Check for other modules 2962 IF ( unit == 'illegal' .AND. bulk_cloud_model ) THEN 2963 CALL bcm_check_data_output_pr( data_output_pr(i), i, unit, & 2964 dopr_unit(i) ) 2965 ENDIF 2966 2967 IF ( unit == 'illegal' .AND. air_chemistry ) THEN 2968 CALL chem_check_data_output_pr( data_output_pr(i), i, unit, & 2969 dopr_unit(i) ) 2970 ENDIF 2971 2972 IF ( unit == 'illegal' .AND. gust_module_enabled ) THEN 2973 CALL gust_check_data_output_pr( data_output_pr(i), i, unit, & 2974 dopr_unit(i) ) 2975 ENDIF 2976 2977 IF ( unit == 'illegal' ) THEN 2978 CALL lsf_nudging_check_data_output_pr( data_output_pr(i), i, & 2979 unit, dopr_unit(i) ) 2980 ENDIF 2981 2982 IF ( unit == 'illegal' ) THEN 2983 CALL lsm_check_data_output_pr( data_output_pr(i), i, unit, & 2984 dopr_unit(i) ) 2985 ENDIF 2986 IF ( unit == 'illegal' ) THEN 2987 CALL ocean_check_data_output_pr( data_output_pr(i), i, unit, & 2988 dopr_unit(i) ) 2989 ENDIF 2990 2991 IF ( unit == 'illegal' ) THEN 2992 CALL radiation_check_data_output_pr( data_output_pr(i), i, & 2993 unit, dopr_unit(i) ) 2994 ENDIF 2995 2996 ! 2997 !-- Finally, check for user defined quantities 2998 IF ( unit == 'illegal' ) THEN 2999 unit = '' 3000 CALL user_check_data_output_pr( data_output_pr(i), i, unit ) 3001 ENDIF 2891 CALL module_interface_check_data_output_pr( data_output_pr(i), i, & 2892 unit, dopr_unit(i) ) 3002 2893 3003 2894 ! … … 3224 3115 3225 3116 CALL tcm_check_data_output( var, unit ) 3226 3227 3117 ! 3228 3118 !-- Check for other modules 3229 IF ( unit == 'illegal' .AND. bulk_cloud_model ) THEN 3230 CALL bcm_check_data_output( var, unit ) 3231 ENDIF 3232 3233 IF ( unit == 'illegal' .AND. air_chemistry & 3234 .AND. (var(1:3) == 'kc_' .OR. var(1:3) == 'em_') ) THEN 3235 CALL chem_check_data_output( var, unit, i, ilen, k ) 3236 ENDIF 3237 3238 IF ( unit == 'illegal' ) THEN 3239 CALL lsm_check_data_output ( var, unit, i, ilen, k ) 3240 ENDIF 3241 3242 IF ( unit == 'illegal' .AND. gust_module_enabled ) THEN 3243 CALL gust_check_data_output ( var, unit ) 3244 ENDIF 3245 3246 IF ( unit == 'illegal' .AND. biometeorology ) THEN 3247 CALL bio_check_data_output( var, unit, i, ilen, k ) 3248 ENDIF 3249 3250 IF ( unit == 'illegal' .AND. ocean_mode ) THEN 3251 CALL ocean_check_data_output( var, unit ) 3252 ENDIF 3253 3254 IF ( unit == 'illegal' .AND. plant_canopy & 3255 .AND. var(1:4) == 'pcm_' ) THEN 3256 CALL pcm_check_data_output( var, unit ) 3257 ENDIF 3258 3259 IF ( unit == 'illegal' ) THEN 3260 CALL radiation_check_data_output( var, unit, i, ilen, k ) 3261 ENDIF 3262 3263 IF ( unit == 'illegal' .AND. salsa ) THEN 3264 CALL salsa_check_data_output( var, unit ) 3265 ENDIF 3266 3267 IF ( unit == 'illegal' .AND. urban_surface & 3268 .AND. var(1:4) == 'usm_' ) THEN 3269 CALL usm_check_data_output( var, unit ) 3270 ENDIF 3271 ! 3272 !-- Finally, check for user-defined quantities 3273 IF ( unit == 'illegal' ) THEN 3274 unit = '' 3275 CALL user_check_data_output( var, unit ) 3276 ENDIF 3119 CALL module_interface_check_data_output( var, unit, i, ilen, k ) 3277 3120 3278 3121 IF ( unit == 'illegal' ) THEN … … 3986 3829 3987 3830 CALL location_message( 'finished', .TRUE. ) 3988 !3989 !-- Check &userpar parameters3990 CALL user_check_parameters3991 3831 3992 3832 CONTAINS
Note: See TracChangeset
for help on using the changeset viewer.