- Timestamp:
- Apr 8, 2019 5:35:12 PM (6 years ago)
- Location:
- palm/trunk/SOURCE
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/Makefile
r3874 r3875 1705 1705 vertical_nesting_mod.o \ 1706 1706 virtual_flight_mod.o \ 1707 virtual_measurement_mod.o \ 1708 wind_turbine_model_mod.o 1707 virtual_measurement_mod.o 1709 1708 time_integration_spinup.o: \ 1710 1709 basic_constants_and_equations_mod.o \ -
palm/trunk/SOURCE/module_interface.f90
r3874 r3875 361 361 wtm_init_arrays, & 362 362 wtm_init, & 363 wtm_actions, & 363 364 wtm_rrd_global, & 364 365 wtm_wrd_global … … 891 892 IF ( ocean_mode ) CALL ocean_actions( location ) 892 893 IF ( salsa ) CALL salsa_actions( location ) 894 IF ( wind_turbine ) CALL wtm_actions( location ) 893 895 IF ( user_module_enabled ) CALL user_actions( location ) 894 896 … … 914 916 IF ( ocean_mode ) CALL ocean_actions( i, j, location ) 915 917 IF ( salsa ) CALL salsa_actions( i, j, location ) 918 IF ( wind_turbine ) CALL wtm_actions( i, j, location ) 916 919 IF ( user_module_enabled ) CALL user_actions( i, j, location ) 917 920 -
palm/trunk/SOURCE/prognostic_equations.f90
r3874 r3875 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Moved wtm_tendencies to module_interface_actions 28 ! 29 ! 3874 2019-04-08 16:53:48Z knoop 27 30 ! Added non_transport_physics module interfaces and moved bcm code into it 28 31 ! … … 475 478 ONLY: tcm_prognostic_equations 476 479 477 USE wind_turbine_model_mod, &478 ONLY: wtm_tendencies479 480 480 IMPLICIT NONE 481 481 … … 722 722 !-- Effect of Stokes drift (in ocean mode only) 723 723 IF ( stokes_force ) CALL stokes_drift_terms( i, j, 1 ) 724 725 !726 !-- Forces by wind turbines727 IF ( wind_turbine ) CALL wtm_tendencies( i, j, 1 )728 724 729 725 CALL module_interface_actions( i, j, 'u-tendency' ) … … 806 802 IF ( stokes_force ) CALL stokes_drift_terms( i, j, 2 ) 807 803 808 !809 !-- Forces by wind turbines810 IF ( wind_turbine ) CALL wtm_tendencies( i, j, 2 )811 812 804 CALL module_interface_actions( i, j, 'v-tendency' ) 813 805 ! … … 885 877 IF ( stokes_force ) CALL stokes_drift_terms( i, j, 3 ) 886 878 887 !888 !-- Forces by wind turbines889 IF ( wind_turbine ) CALL wtm_tendencies( i, j, 3 )890 891 879 CALL module_interface_actions( i, j, 'w-tendency' ) 892 880 ! … … 1342 1330 !-- Effect of Stokes drift (in ocean mode only) 1343 1331 IF ( stokes_force ) CALL stokes_drift_terms( 1 ) 1344 1345 !1346 !-- Forces by wind turbines1347 IF ( wind_turbine ) CALL wtm_tendencies( 1 )1348 1332 1349 1333 CALL module_interface_actions( 'u-tendency' ) … … 1450 1434 IF ( stokes_force ) CALL stokes_drift_terms( 2 ) 1451 1435 1452 !1453 !-- Forces by wind turbines1454 IF ( wind_turbine ) CALL wtm_tendencies( 2 )1455 1456 1436 CALL module_interface_actions( 'v-tendency' ) 1457 1437 … … 1553 1533 IF ( stokes_force ) CALL stokes_drift_terms( 3 ) 1554 1534 1555 !1556 !-- Forces by wind turbines1557 IF ( wind_turbine ) CALL wtm_tendencies( 3 )1558 1559 1535 CALL module_interface_actions( 'w-tendency' ) 1560 1536 -
palm/trunk/SOURCE/time_integration.f90
r3872 r3875 25 25 ! ----------------- 26 26 ! $Id$ 27 ! Moved wtm_forces to module_interface_actions 28 ! 29 ! 3872 2019-04-08 15:03:06Z knoop 27 30 ! Modifications made for salsa: 28 31 ! - Call salsa_emission_update at each time step but do the checks within … … 536 539 turbulent_inflow, turbulent_outflow, urban_surface, & 537 540 use_initial_profile_as_reference, use_single_reference_value, u_gtrans, v_gtrans, & 538 virtual_flight, virtual_measurement, w ind_turbine, ws_scheme_mom, ws_scheme_sca541 virtual_flight, virtual_measurement, ws_scheme_mom, ws_scheme_sca 539 542 540 543 USE cpulog, & … … 643 646 USE virtual_measurement_mod, & 644 647 ONLY: vm_data_output, vm_sampling, vm_time_start 645 646 USE wind_turbine_model_mod, &647 ONLY: wtm_forces648 648 649 649 … … 894 894 !-- Execute alle other module actions routunes 895 895 CALL module_interface_actions( 'before_timestep' ) 896 897 !898 !-- Calculate forces by wind turbines899 IF ( wind_turbine ) CALL wtm_forces900 896 901 897 ! -
palm/trunk/SOURCE/wind_turbine_model_mod.f90
r3832 r3875 26 26 ! ----------------- 27 27 ! $Id$ 28 ! Addaped wtm_tendency to fit the module actions interface 29 ! 30 ! 3832 2019-03-28 13:16:58Z raasch 28 31 ! instrumented with openmp directives 29 32 ! … … 463 466 END INTERFACE wtm_parin 464 467 465 INTERFACE wtm_wrd_global466 MODULE PROCEDURE wtm_wrd_global467 END INTERFACE wtm_wrd_global468 469 INTERFACE wtm_rrd_global470 MODULE PROCEDURE wtm_rrd_global471 END INTERFACE wtm_rrd_global472 473 468 INTERFACE wtm_check_parameters 474 469 MODULE PROCEDURE wtm_check_parameters 475 470 END INTERFACE wtm_check_parameters 476 471 477 472 INTERFACE wtm_init_arrays 478 473 MODULE PROCEDURE wtm_init_arrays … … 482 477 MODULE PROCEDURE wtm_init 483 478 END INTERFACE wtm_init 484 485 INTERFACE wtm_read_blade_tables 486 MODULE PROCEDURE wtm_read_blade_tables 487 END INTERFACE wtm_read_blade_tables 488 489 INTERFACE wtm_forces 490 MODULE PROCEDURE wtm_forces 491 END INTERFACE wtm_forces 492 493 INTERFACE wtm_yawcontrol 494 MODULE PROCEDURE wtm_yawcontrol 495 END INTERFACE wtm_yawcontrol 496 497 INTERFACE wtm_rotate_rotor 498 MODULE PROCEDURE wtm_rotate_rotor 499 END INTERFACE wtm_rotate_rotor 500 501 INTERFACE wtm_speed_control 502 MODULE PROCEDURE wtm_init_speed_control 503 MODULE PROCEDURE wtm_speed_control 504 END INTERFACE wtm_speed_control 505 506 INTERFACE wtm_tendencies 507 MODULE PROCEDURE wtm_tendencies 508 MODULE PROCEDURE wtm_tendencies_ij 509 END INTERFACE wtm_tendencies 510 511 512 PUBLIC wtm_check_parameters, wtm_forces, wtm_init, wtm_init_arrays, & 513 wtm_parin, wtm_wrd_global, wtm_rrd_global, wtm_tendencies 479 480 INTERFACE wtm_actions 481 MODULE PROCEDURE wtm_actions 482 MODULE PROCEDURE wtm_actions_ij 483 END INTERFACE wtm_actions 484 485 INTERFACE wtm_rrd_global 486 MODULE PROCEDURE wtm_rrd_global 487 END INTERFACE wtm_rrd_global 488 489 INTERFACE wtm_wrd_global 490 MODULE PROCEDURE wtm_wrd_global 491 END INTERFACE wtm_wrd_global 492 493 494 PUBLIC & 495 wtm_parin, & 496 wtm_check_parameters, & 497 wtm_init_arrays, & 498 wtm_init, & 499 wtm_actions, & 500 wtm_rrd_global, & 501 wtm_wrd_global 514 502 515 503 … … 1085 1073 IF ( speed_control) THEN 1086 1074 1087 CALL wtm_ speed_control1075 CALL wtm_init_speed_control 1088 1076 1089 1077 IF ( TRIM( initializing_actions ) == 'read_restart_data' ) THEN … … 2771 2759 !> Call for all grid points 2772 2760 !------------------------------------------------------------------------------! 2773 SUBROUTINE wtm_tendencies( component ) 2774 2775 2776 IMPLICIT NONE 2777 2778 INTEGER(iwp) :: component !< prognostic variable (u,v,w) 2761 SUBROUTINE wtm_actions( location ) 2762 2763 2764 CHARACTER (LEN=*) :: location !< 2765 2779 2766 INTEGER(iwp) :: i !< running index 2780 2767 INTEGER(iwp) :: j !< running index … … 2782 2769 2783 2770 2784 SELECT CASE ( component ) 2785 2786 CASE ( 1 ) 2771 SELECT CASE ( location ) 2772 2773 CASE ( 'before_timestep' ) 2774 2775 CALL wtm_forces 2776 2777 CASE ( 'u-tendency' ) 2787 2778 ! 2788 2779 !-- Apply the x-component of the force to the u-component of the flow: … … 2807 2798 ENDIF 2808 2799 2809 CASE ( 2)2800 CASE ( 'v-tendency' ) 2810 2801 ! 2811 2802 !-- Apply the y-component of the force to the v-component of the flow: … … 2827 2818 ENDIF 2828 2819 2829 CASE ( 3)2820 CASE ( 'w-tendency' ) 2830 2821 ! 2831 2822 !-- Apply the z-component of the force to the w-component of the flow: … … 2845 2836 CASE DEFAULT 2846 2837 2847 WRITE( message_string, * ) 'unknown prognostic variable: ', component2848 CALL message( 'wtm_ tendencies', 'PA04??', 1, 2, 0, 6, 0 )2838 WRITE( message_string, * ) 'unknown prognostic variable: ', TRIM( location ) 2839 CALL message( 'wtm_actions', 'PA04??', 1, 2, 0, 6, 0 ) 2849 2840 2850 2841 END SELECT 2851 2842 2852 2843 2853 END SUBROUTINE wtm_ tendencies2844 END SUBROUTINE wtm_actions 2854 2845 2855 2846 … … 2861 2852 !> Call for grid point i,j 2862 2853 !------------------------------------------------------------------------------! 2863 SUBROUTINE wtm_tendencies_ij( i, j, component ) 2864 2865 2866 IMPLICIT NONE 2867 2868 INTEGER(iwp) :: component !< prognostic variable (u,v,w) 2854 SUBROUTINE wtm_actions_ij( i, j, location ) 2855 2856 2857 CHARACTER (LEN=*) :: location !< 2869 2858 INTEGER(iwp) :: i !< running index 2870 2859 INTEGER(iwp) :: j !< running index 2871 2860 INTEGER(iwp) :: k !< running index 2872 2861 2873 SELECT CASE ( component ) 2874 2875 CASE ( 1 ) 2862 SELECT CASE ( location ) 2863 2864 CASE ( 'before_timestep' ) 2865 2866 CALL wtm_forces 2867 2868 CASE ( 'u-tendency' ) 2876 2869 ! 2877 2870 !-- Apply the x-component of the force to the u-component of the flow: … … 2891 2884 ENDIF 2892 2885 2893 CASE ( 2)2886 CASE ( 'v-tendency' ) 2894 2887 ! 2895 2888 !-- Apply the y-component of the force to the v-component of the flow: … … 2907 2900 ENDIF 2908 2901 2909 CASE ( 3)2902 CASE ( 'w-tendency' ) 2910 2903 ! 2911 2904 !-- Apply the z-component of the force to the w-component of the flow: … … 2921 2914 CASE DEFAULT 2922 2915 2923 WRITE( message_string, * ) 'unknown prognostic variable: ', component2924 CALL message( 'wtm_ tendencies', 'PA04??', 1, 2, 0, 6, 0 )2916 WRITE( message_string, * ) 'unknown prognostic variable: ', TRIM( location ) 2917 CALL message( 'wtm_actions', 'PA04??', 1, 2, 0, 6, 0 ) 2925 2918 2926 2919 END SELECT 2927 2920 2928 2921 2929 END SUBROUTINE wtm_ tendencies_ij2922 END SUBROUTINE wtm_actions_ij 2930 2923 2931 2924 END MODULE wind_turbine_model_mod
Note: See TracChangeset
for help on using the changeset viewer.