Changeset 4843 for palm/trunk/SOURCE/virtual_measurement_mod.f90
- Timestamp:
- Jan 15, 2021 3:22:11 PM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/virtual_measurement_mod.f90
r4828 r4843 25 25 ! ----------------- 26 26 ! $Id$ 27 ! reading of namelist file and actions in case of namelist errors revised so that statement labels 28 ! and goto statements are not required any more, 29 ! local namelist parameter added to switch off the module although the respective module namelist 30 ! appears in the namelist file 31 ! 32 ! 4828 2021-01-05 11:21:41Z Giersch 27 33 ! - Add control flags 28 34 ! … … 415 421 LOGICAL :: global_attribute = .TRUE. !< flag indicating a global attribute 416 422 LOGICAL :: initial_write_coordinates = .FALSE. !< flag indicating a global attribute 417 LOGICAL :: use_virtual_measurement = .FALSE. !< Namelist parameter418 423 419 424 REAL(wp) :: dt_virtual_measurement = 0.0_wp !< sampling interval … … 817 822 SUBROUTINE vm_parin 818 823 819 CHARACTER(LEN=80) :: line !< dummy string that contains the current line of the parameter file 824 CHARACTER(LEN=100) :: line !< dummy string that contains the current line of the parameter file 825 826 INTEGER(iwp) :: io_status !< status after reading the namelist file 827 828 LOGICAL :: switch_off_module = .FALSE. !< local namelist parameter to switch off the module 829 !< although the respective module namelist appears in 830 !< the namelist file 820 831 821 832 NAMELIST /virtual_measurement_parameters/ dt_virtual_measurement, & … … 826 837 off_ts, & 827 838 off_ts_z, & 828 use_virtual_measurement,&839 switch_off_module, & 829 840 vm_time_start 830 841 831 line = ' ' 832 ! 833 !-- Try to find stg package 834 REWIND ( 11 ) 835 line = ' ' 836 DO WHILE ( INDEX( line, '&virtual_measurement_parameters' ) == 0 ) 837 READ ( 11, '(A)', END=20 ) line 838 ENDDO 839 BACKSPACE ( 11 ) 840 841 ! 842 !-- Read namelist 843 READ ( 11, virtual_measurement_parameters, ERR = 10, END = 20 ) 844 845 ! 846 !-- Set flag that indicates that the virtual measurement module is switched on 847 IF ( use_virtual_measurement ) virtual_measurement = .TRUE. 848 GOTO 20 849 850 10 BACKSPACE( 11 ) 851 READ( 11 , '(A)') line 852 CALL parin_fail_message( 'virtual_measurement_parameters', line ) 853 854 20 CONTINUE 842 ! 843 !-- Move to the beginning of the namelist file and try to find and read the namelist. 844 REWIND( 11 ) 845 READ( 11, virtual_measurement_parameters, IOSTAT=io_status ) 846 847 ! 848 !-- Action depending on the READ status 849 IF ( io_status == 0 ) THEN 850 ! 851 !-- virtual_measurements_parameters namelist was found and read correctly. Enable the 852 !-- virtual measurements. 853 IF ( .NOT. switch_off_module ) virtual_measurement = .TRUE. 854 855 ELSEIF ( io_status > 0 ) THEN 856 ! 857 !-- virtual_measurement_parameters namelist was found but contained errors. Print an error 858 !-- message including the line that caused the problem. 859 BACKSPACE( 11 ) 860 READ( 11 , '(A)' ) line 861 CALL parin_fail_message( 'virtual_measurement_parameters', line ) 862 863 ENDIF 855 864 856 865 END SUBROUTINE vm_parin
Note: See TracChangeset
for help on using the changeset viewer.