= Virtual flight parameters = [[TracNav(doc/app/partoc|nocollapse)]] == Overview == With revision r1957 an interface for virtual flight measurements is available in PALM. Virtual flights are performed according to the methods described in Schröter et al. (2000) and Sühring and Raasch (2013). All parts of the related code are modularized in module virtual_flight_mod. In this context, a new Fortran NAMELIST {{{virtual_flight_parameters}}} was added, containing all related steering parameters. The flight module is automatically activated if a flight_par is set in the parameter file ({{{_p3d}}}). \\ Flight measurements capture data of the three wind-velocity components (u, v, w). Moreover, as far as the respective switches are set in the parameter file ({{{_p3d}}}), also potential temperature, humidity, passive scalar, and liquid water content are measured. In addition, a [../userint/output#part_6 user-interface] for the flight module is available, so that further user-defined quantities can be captured. \\ Output of the respective space-time series can be found in file [../iofiles#DATA_1D_FL_NETCDF DATA_1D_FL_NETCDF]. \\ '''Please note:''' In older PALM versions data output for virtual flights has 4 unlimited dimensions - time, x-, y-, and z-position. Unfortunately, assignment of more than one unlimited dimension per NC file is only possible with NetCDF4 / HDF5. For this reason [../runtime_parameters#netcdf_data_format netcdf_data_format] must be > 2 for these versions. \\ Furthermore, the flight module must be activated directly from the beginning of a job chain with restart runs although the actual flight leg might be carried out later during and or between some of the restarts. \\\\\\\\ == Parameter list == '''NAMELIST group name:''' [=#flight_par '''{{{virtual_flight_parameters}}}'''] ||='''Parameter Name''' =||='''[../fortrantypes FORTRAN]\\[../fortrantypes Type]''' =||='''Default\\Value''' =||='''Explanation''' =|| |---------------- {{{#!td style="vertical-align:top;width: 150px" [=#flight_angle '''flight_angle'''] }}} {{{#!td style="vertical-align:top;width: 50px" R (100) }}} {{{#!td style="vertical-align:top;width: 75px" 100*45.0 }}} {{{#!td Horizontal flight angle (in degrees) describing the flight direction. Please note, the parameters has only an effect if the respective [#leg_mode leg_mode] is in 'cyclic'-mode, else the flight direction is determined directly by [#x_start x_start], [#x_end x_end], [#y_start y_start] and [#y_end y_end]. [#flight_angle flight_angle] must be within the range between 0 and 360. \\ The convention is as following: \\ - [#flight_angle flight_angle]=0.0 - aircraft moves to the east - [#flight_angle flight_angle]=90.0 - aircraft moves to the north - [#flight_angle flight_angle]=180.0 - aircraft moves to the west - [#flight_angle flight_angle]=270.0 - aircraft moves to the south For example, if [#flight_angle flight_angle] = 0.0 (180.0), the aircraft moves parallel to the x-axis in positive (negative) x-direction, respectively. If [#flight_angle flight_angle] = 90.0 (270.0), the aircraft moves parallel to the y-axis in positive (negative) y-direction, respectively. }}} |---------------- {{{#!td style="vertical-align:top;width: 150px" [=#flight_begin '''flight_begin'''] }}} {{{#!td style="vertical-align:top;width: 50px" R }}} {{{#!td style="vertical-align:top;width: 75px" 0.0 }}} {{{#!td Start time of virtual flight measurement. }}} |---------------- {{{#!td style="vertical-align:top;width: 150px" [=#flight_end '''flight_end'''] }}} {{{#!td style="vertical-align:top;width: 50px" R }}} {{{#!td style="vertical-align:top;width: 75px" 9999999.9 }}} {{{#!td End time of virtual flight measurement. }}} |---------------- {{{#!td style="vertical-align:top;width: 150px" [=#flight_level '''flight_level'''] }}} {{{#!td style="vertical-align:top;width: 50px" R (100) }}} {{{#!td style="vertical-align:top;width: 75px" 100*100.0 }}} {{{#!td Flight level in meter. Please note, level is given with respect to sea level, not with respect to the underlying terrain. }}} |---------------- {{{#!td style="vertical-align:top;width: 150px" [=#leg_mode '''leg_mode'''] }}} {{{#!td style="vertical-align:top;width: 50px" C (100) }}} {{{#!td style="vertical-align:top;width: 75px" 100*'cyclic' }}} {{{#!td Flight mode, either 'cyclic' or 'return'. In case of 'cyclic', starting at ([#x_start x_start],[#y_start y_start]), the flight direction is determined only by [#flight_angle flight_angle] ([#x_end x_end],[#y_end y_end] are ignored) and the sensor moves cyclically through the model domain. Instead, in case of 'return', the flight direction is determined by ([#x_start x_start],[#y_start y_start]) and ([#x_end x_end],[#y_end y_end]) (here, [#flight_angle flight_angle] is ignored), i.e. the sensor turns around at the end-position and flies back, where it turns around again at the start-position and so on, until [#flight_end flight_end] is reached. }}} |---------------- {{{#!td style="vertical-align:top;width: 150px" [=#max_elev_change '''max_elev_change'''] }}} {{{#!td style="vertical-align:top;width: 50px" R (100) }}} {{{#!td style="vertical-align:top;width: 75px" 100*0.0 }}} {{{#!td Maximum possible elevation change in case [#rate_of_climb rate_of_climb] is not equal to zero. If the maximum elevation change is reached, the virtual aircraft starts descending/ascending until the original start level is reached again. For longer flights, the sensor moves vertically between [#flight_level flight_level] and [#flight_level flight_level] + [#max_elev_change max_elev_change] or [#flight_level flight_level] - [#max_elev_change max_elev_change] depending on the sign of [#rate_of_climb rate_of_climb]. Please note, [#flight_level flight_level] +- [#max_elev_change max_elev_change] must not exceed the top/bottom of the model domain. }}} |---------------- {{{#!td style="vertical-align:top;width: 150px" [=#rate_of_climb '''rate_of_climb'''] }}} {{{#!td style="vertical-align:top;width: 50px" R (100) }}} {{{#!td style="vertical-align:top;width: 75px" 100*0.0 }}} {{{#!td Vertical speed of the aircraft in meter per second. Positive and negative values are allowed. }}} |---------------- {{{#!td style="vertical-align:top;width: 150px" [=#speed_agl '''speed_agl'''] }}} {{{#!td style="vertical-align:top;width: 50px" R (100) }}} {{{#!td style="vertical-align:top;width: 75px" 100*25.0 }}} {{{#!td Horizontal speed of the aircraft above ground level in meter per second. }}} |---------------- {{{#!td style="vertical-align:top;width: 150px" [=#switch_off_module '''switch_off_module'''] }}} {{{#!td style="vertical-align:top;width: 50px" L }}} {{{#!td style="vertical-align:top;width: 75px" .F. }}} {{{#!td }}} |---------------- {{{#!td style="vertical-align:top;width: 150px" [=#x_end '''x_end'''] }}} {{{#!td style="vertical-align:top;width: 50px" R (100) }}} {{{#!td style="vertical-align:top;width: 75px" 100* \\ 999999999.0 }}} {{{#!td End-position of the flight leg along x in meter. Please note, this parameter has only an effect if [#leg_mode leg_mode]='return'. In case [#leg_mode leg_mode]='cyclic', the aircraft moves cyclically through the model domain. \\ '''Please note, this parameter is mandatory in case [#leg_mode leg_mode] = 'return'.''' }}} |---------------- {{{#!td style="vertical-align:top;width: 150px" [=#x_start '''x_start'''] }}} {{{#!td style="vertical-align:top;width: 50px" R (100) }}} {{{#!td style="vertical-align:top;width: 75px" 100* \\ 999999999.0 }}} {{{#!td Start-position of the flight leg along x in meter. \\ '''Please note, this parameter is always mandatory.''' }}} |---------------- {{{#!td style="vertical-align:top;width: 150px" [=#y_end '''y_end'''] }}} {{{#!td style="vertical-align:top;width: 50px" R (100) }}} {{{#!td style="vertical-align:top;width: 75px" 100* \\ 999999999.0 }}} {{{#!td End-position of the flight leg along y in meter. Please note, this parameter has only an effect if [#leg_mode leg_mode]='return'. In case [#leg_mode leg_mode]='cyclic', the aircraft moves cyclically through the model domain. \\ '''Please note, this parameter is mandatory in case [#leg_mode leg_mode] = 'return'.''' }}} |---------------- {{{#!td style="vertical-align:top;width: 150px" [=#y_start '''y_start'''] }}} {{{#!td style="vertical-align:top;width: 50px" R (100) }}} {{{#!td style="vertical-align:top;width: 75px" 100* \\ 999999999.0 }}} {{{#!td Start-position of the flight leg along y in meter. \\ '''Please note, this parameter is always mandatory.''' }}} == References == Schröter, M., Bange, J., Raasch, S. (2000): Simulated Airborne Flux Measurements in a LES generated Convective Boundary Layer. Boundary-Layer Meteorology, 95, 437–456, https://doi.org/10.1023/A:1002649322001.\\ Sühring, M. and Raasch, S. (2013): Heterogeneity-Induced Heat-Flux Patterns in the Convective Boundary Layer: Can they be Detected from Observations and is There a Blending Height?—A Large-Eddy Simulation Study for the LITFASS-2003 Experiment. Boundary-Layer Meteorology, 148, 309–331, https://doi.org/10.1007/s10546-013-9822-1.\\