= Virtual measurements = [[TracNav(doc/app/partoc|nocollapse)]] Since -r3707 a virtual-measurement module is available in PALM. The module enables an easy setup of virtual measurements in the model domain emulating 'real-world' observations. Virtual measurement locations are placed within the model domain according to the UTM coordinates of the 'real-world' observations. This way, not only point and profile measurements can be emulated in the model, but also complex trajectories such as spiral-shaped flight measurements or bicycle/pedestrian measurements. With masked data output this would be hardly possible. Please note, to correctly setup the virtual measurement locations the origin UTM coordinates of the lower-left edge of the model domain ([../iofiles/pids#origin_x origin_x], [../iofiles/pids#origin_y origin_y]) within the static input file should be as accurate as possible. For different measurement sites the variables which should be sampled can be prescribed individually. Variables will be sampled at each model time step at all given coordinates and adjacent grid points. Virtually sampled data is output using parallel NetCDF. As parallel NetCDF output does not allow unlimited dimensions, the time dimension needs to be defined at the beginning of a simulation. In case the number of sampled timesteps exceeds the number of defined timesteps, PALM forces a restart run, so that you need to set the activation string {{{palmrun ... -a "d3# restart"}}}. In order to setup the measurement locations, a measurement setup file is required. This file contains all information about the measurement coordinates, the measured variables, the type of the measurement (timeseries- profile-, or trajectory measurements), as well as further attributes such as site names, etc.. For a description of required attributes and variables, as well as an example input file, please see [../iofiles/pids#virtual_measurement_input here]. Since revision -r4400 PALM comes with a preprocessor script {{{palm_cvd}}} (you can find it under /palm/current_version/trunk/SCRIPTS), which is a python3 script and setup the input file according to your prescribed observation locations. preprocessor script \\ '''NAMELIST group name:''' [=#virtual_measurement_parameters '''{{{virtual_measurement_parameters}}}'''] ||='''Parameter Name''' =||='''[[../fortrantypes|FORTRAN]]\\[[../fortrantypes|Type]]''' =||='''Default\\Value''' =||='''Explanation''' =|| |---------------- {{{#!td style="vertical-align:top; width: 150px" [=#dt_virtual_measurement '''dt_virtual_measurement''] }}} {{{#!td style="vertical-align:top; width: 50px" R }}} {{{#!td style="vertical-align:top; width: 75px" 0.0 }}} {{{#!td Temporal interval at which virtual measurements shall be output (in s). }}} |---------------- {{{#!td style="vertical-align:top; width: 150px" [=#off_pr '''off_pr''] }}} {{{#!td style="vertical-align:top; width: 50px" I }}} {{{#!td style="vertical-align:top; width: 75px" 1 }}} {{{#!td Number of surrounding grid points (in each direction) around the original measurement location where variables shall be sampled (for profile measurements). Please note, the number must not be larger than the number of ghost points minus one. }}} |---------------- {{{#!td style="vertical-align:top; width: 150px" [=#off_tr '''off_tr''] }}} {{{#!td style="vertical-align:top; width: 50px" I }}} {{{#!td style="vertical-align:top; width: 75px" 1 }}} {{{#!td Number of surrounding grid points (in each direction) around the original measurement location where variables shall be sampled (for trajectory measurements). Please note, the number must not be larger than the number of ghost points minus one. }}} |---------------- {{{#!td style="vertical-align:top; width: 150px" [=#off_tr '''off_tr''] }}} {{{#!td style="vertical-align:top; width: 50px" I }}} {{{#!td style="vertical-align:top; width: 75px" 1 }}} {{{#!td Number of surrounding grid points (in each direction) around the original measurement location where variables shall be sampled (for stationary timeseries measurements). Please note, the number must not be larger than the number of ghost points minus one. }}} |---------------- {{{#!td style="vertical-align:top; width: 150px" [=#use_virtual_measurement '''use_virtual_measurement''] }}} {{{#!td style="vertical-align:top; width: 50px" L }}} {{{#!td style="vertical-align:top; width: 75px" .F. }}} {{{#!td Control flag to enable virtual measurements. }}} |---------------- {{{#!td style="vertical-align:top; width: 150px" [=#vm_time_start '''vm_time_start''] }}} {{{#!td style="vertical-align:top; width: 50px" R }}} {{{#!td style="vertical-align:top; width: 75px" 0.0 }}} {{{#!td Start time of the virtual measurements. }}}