Changeset 2894 for palm/trunk/SOURCE/virtual_flight_mod.f90
- Timestamp:
- Mar 15, 2018 9:17:58 AM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/virtual_flight_mod.f90
r2776 r2894 25 25 ! ----------------- 26 26 ! $Id$ 27 ! variable named found has been introduced for checking if restart data was 28 ! found, reading of restart strings has been moved completely to 29 ! read_restart_data_mod, virtual_flight_prerun flag has been removed, redundant 30 ! skipping function has been removed, flight_read/write_restart_data 31 ! have been renamed to flight_r/wrd_global, flight_rrd_global is called in 32 ! read_restart_data_mod now, marker *** end flight *** was removed, strings and 33 ! their respective lengths are written out and read now in case of restart runs 34 ! to get rid of prescribed character lengths, CASE DEFAULT was added if restart 35 ! data is read 36 ! 37 ! 2872 2018-03-12 10:05:47Z Giersch 27 38 ! virutal_flight_prerun flag is used to define if module 28 39 ! related parameters were outputted as restart data … … 66 77 67 78 USE control_parameters, & 68 ONLY: fl_max, num_leg, num_var_fl, num_var_fl_user, virtual_flight, & 69 virtual_flight_prerun 79 ONLY: fl_max, num_leg, num_var_fl, num_var_fl_user, virtual_flight 70 80 71 81 USE kinds … … 134 144 MODULE PROCEDURE flight_measurement 135 145 END INTERFACE flight_measurement 136 137 INTERFACE flight_skip_var_list 138 MODULE PROCEDURE flight_skip_var_list 139 END INTERFACE flight_skip_var_list 140 141 INTERFACE flight_read_restart_data 142 MODULE PROCEDURE flight_read_restart_data 143 END INTERFACE flight_read_restart_data 144 145 INTERFACE flight_write_restart_data 146 MODULE PROCEDURE flight_write_restart_data 147 END INTERFACE flight_write_restart_data 146 147 INTERFACE flight_rrd_global 148 MODULE PROCEDURE flight_rrd_global 149 END INTERFACE flight_rrd_global 150 151 INTERFACE flight_wrd_global 152 MODULE PROCEDURE flight_wrd_global 153 END INTERFACE flight_wrd_global 148 154 149 155 ! … … 153 159 !-- Public interfaces 154 160 PUBLIC flight_init, flight_header, flight_parin, flight_measurement, & 155 flight_wr ite_restart_data, flight_skip_var_list161 flight_wrd_global, flight_rrd_global 156 162 ! 157 163 !-- Public variables … … 238 244 virtual_flight = .TRUE. 239 245 240 IF ( TRIM( initializing_actions ) == 'read_restart_data' ) THEN241 CALL flight_read_restart_data242 ENDIF243 246 244 247 10 CONTINUE … … 879 882 880 883 END SUBROUTINE flight_check_parameters 881 882 !------------------------------------------------------------------------------!883 ! Description:884 ! ------------885 !> Skipping the flight-module variables from restart-file (binary format).886 !------------------------------------------------------------------------------!887 SUBROUTINE flight_skip_var_list888 884 889 IMPLICIT NONE 890 891 CHARACTER (LEN=1) :: cdum 892 CHARACTER (LEN=30) :: variable_chr 893 894 READ ( 13 ) variable_chr 895 896 DO WHILE ( TRIM( variable_chr ) /= '*** end flight ***' ) 897 898 READ ( 13 ) cdum 899 READ ( 13 ) variable_chr 900 901 ENDDO 902 903 END SUBROUTINE flight_skip_var_list 904 905 885 906 886 !------------------------------------------------------------------------------! 907 887 ! Description: … … 909 889 !> This routine reads the respective restart data. 910 890 !------------------------------------------------------------------------------! 911 SUBROUTINE flight_read_restart_data 891 SUBROUTINE flight_rrd_global( found ) 892 893 894 USE control_parameters, & 895 ONLY: length, restart_string 912 896 913 897 914 898 IMPLICIT NONE 915 899 916 CHARACTER (LEN=30) :: variable_chr !< dummy variable to read string917 918 919 READ ( 13 ) variable_chr920 DO WHILE ( TRIM( variable_chr ) /= '*** end flight ***' ) 921 922 SELECT CASE ( TRIM( variable_chr) )900 LOGICAL, INTENT(OUT) :: found 901 902 903 found = .TRUE. 904 905 906 SELECT CASE ( restart_string(1:length) ) 923 907 924 CASE ( 'u_agl' ) 925 IF ( .NOT. ALLOCATED( u_agl ) ) ALLOCATE( u_agl(1:num_leg) ) 926 READ ( 13 ) u_agl 927 CASE ( 'v_agl' ) 928 IF ( .NOT. ALLOCATED( v_agl ) ) ALLOCATE( v_agl(1:num_leg) ) 929 READ ( 13 ) v_agl 930 CASE ( 'w_agl' ) 931 IF ( .NOT. ALLOCATED( w_agl ) ) ALLOCATE( w_agl(1:num_leg) ) 932 READ ( 13 ) w_agl 933 CASE ( 'x_pos' ) 934 IF ( .NOT. ALLOCATED( x_pos ) ) ALLOCATE( x_pos(1:num_leg) ) 935 READ ( 13 ) x_pos 936 CASE ( 'y_pos' ) 937 IF ( .NOT. ALLOCATED( y_pos ) ) ALLOCATE( y_pos(1:num_leg) ) 938 READ ( 13 ) y_pos 939 CASE ( 'z_pos' ) 940 IF ( .NOT. ALLOCATED( z_pos ) ) ALLOCATE( z_pos(1:num_leg) ) 941 READ ( 13 ) z_pos 942 CASE ( 'virtual_flight_prerun' ) 943 READ ( 13 ) virtual_flight_prerun 908 CASE ( 'u_agl' ) 909 IF ( .NOT. ALLOCATED( u_agl ) ) ALLOCATE( u_agl(1:num_leg) ) 910 READ ( 13 ) u_agl 911 CASE ( 'v_agl' ) 912 IF ( .NOT. ALLOCATED( v_agl ) ) ALLOCATE( v_agl(1:num_leg) ) 913 READ ( 13 ) v_agl 914 CASE ( 'w_agl' ) 915 IF ( .NOT. ALLOCATED( w_agl ) ) ALLOCATE( w_agl(1:num_leg) ) 916 READ ( 13 ) w_agl 917 CASE ( 'x_pos' ) 918 IF ( .NOT. ALLOCATED( x_pos ) ) ALLOCATE( x_pos(1:num_leg) ) 919 READ ( 13 ) x_pos 920 CASE ( 'y_pos' ) 921 IF ( .NOT. ALLOCATED( y_pos ) ) ALLOCATE( y_pos(1:num_leg) ) 922 READ ( 13 ) y_pos 923 CASE ( 'z_pos' ) 924 IF ( .NOT. ALLOCATED( z_pos ) ) ALLOCATE( z_pos(1:num_leg) ) 925 READ ( 13 ) z_pos 926 927 CASE DEFAULT 928 929 found = .FALSE. 944 930 945 END SELECT 946 947 READ ( 13 ) variable_chr 948 949 ENDDO 950 951 END SUBROUTINE flight_read_restart_data 931 END SELECT 932 933 934 END SUBROUTINE flight_rrd_global 952 935 953 936 !------------------------------------------------------------------------------! … … 956 939 !> This routine writes the respective restart data. 957 940 !------------------------------------------------------------------------------! 958 SUBROUTINE flight_write_restart_data 941 SUBROUTINE flight_wrd_global 942 959 943 960 944 IMPLICIT NONE 961 945 962 virtual_flight_prerun = .TRUE.963 964 WRITE ( 14 ) 'u_agl '965 WRITE ( 14 ) u_agl 966 WRITE ( 14 ) 'v_agl '946 947 CALL wrd_write_string( 'u_agl' ) 948 WRITE ( 14 ) u_agl 949 950 CALL wrd_write_string( 'v_agl' ) 967 951 WRITE ( 14 ) v_agl 968 WRITE ( 14 ) 'w_agl ' 952 953 CALL wrd_write_string( 'w_agl' ) 969 954 WRITE ( 14 ) w_agl 970 WRITE ( 14 ) 'x_pos ' 955 956 CALL wrd_write_string( 'x_pos' ) 971 957 WRITE ( 14 ) x_pos 972 WRITE ( 14 ) 'y_pos ' 958 959 CALL wrd_write_string( 'y_pos' ) 973 960 WRITE ( 14 ) y_pos 974 WRITE ( 14 ) 'z_pos ' 961 962 CALL wrd_write_string( 'z_pos' ) 975 963 WRITE ( 14 ) z_pos 976 WRITE ( 14 ) 'virtual_flight_prerun ' 977 WRITE ( 14 ) virtual_flight_prerun 978 979 WRITE ( 14 ) '*** end flight *** ' 980 981 END SUBROUTINE flight_write_restart_data 964 965 966 END SUBROUTINE flight_wrd_global 982 967 983 968
Note: See TracChangeset
for help on using the changeset viewer.