== Masked data output == === General === From release 3.7a (r483) output of masked data is implemented in PALM. This feature allows to output quantities at different mask locations, e.g. 3d volume data or 2d cross sections of arbitrary extension within the model domain; 0d or 1d data at any positions and of any amount.\\ NetCDF4 file format is already available for masked data output.\\ Default quantities (instantaneous and time averaged) can be declared with the parameter [../d3par#data_output_masks data_output_masks], user-defined quantities can be output with [../userpar#data_output_masks_user data_output_masks_user].\\\\ === Output steering === Different [../d3par runtime parameters] defines the masks and steers the output of the quantities assigned with [../d3par#data_output_masks data_output_masks] and/or [../userpar#data_output_masks_user data_output_masks_user]: ||[../d3par#dt_domask dt_domask] ||temporal interval at which instantaneous masked data shall be output (in s) || ||[../d3par#mask_scale_x mask_scale_x] ||scaling length for masked data output in x-direction || ||[../d3par#mask_scale_y mask_scale_y] ||scaling length for masked data output in y-direction || ||[../d3par#mask_scale_z mask_scale_z] ||scaling length for masked data output in z-direction || ||[../d3par#mask_x mask_x] ||all x-coordinates of mask locations (in m) || ||[../d3par#mask_y mask_y] ||all y-coordinates of mask locations (in m) || ||[../d3par#mask_z mask_z] ||all z-coordinates of mask locations (in m) || ||[../d3par#mask_x_loop mask_x_loop] ||loop begin, end and stride for x-coordinates of mask locations for masks (in multiples of mask scale) || ||[../d3par#mask_y_loop mask_y_loop] ||loop begin, end and stride for y-coordinates of mask locations for masks (in multiples of mask scale) || ||[../d3par#mask_z_loop mask_z_loop] ||loop begin, end and stride for z-coordinates of mask locations for masks (in multiples of mask scale) || ||[../d3par#skip_time_domask skip_time_domask] ||no output of masked data before this interval has passed (in s) || \\ So far 20 different masks can be defined. Each mask is output to one local file:\\ Instantaneous data of '''mask 1''' are output to file [../iofiles#DATA_MASK_01_NETCDF DATA_MASK_01_NETCDF], time-averaged data to file [../iofiles#DATA_MASK_01_AV_NETCDF DATA_MASK_01_AV_NETCDF].\\ Instantaneous data of '''mask 2''' are output to file [../iofiles#DATA_MASK_02_NETCDF DATA_MASK_02_NETCDF], time-averaged data to file [../iofiles#DATA_MASK_02_AV_NETCDF DATA_MASK_02_AV_NETCDF].\\ Instantaneous data of '''mask 3''' are output to file [../iofiles#DATA_MASK_02_NETCDF DATA_MASK_03_NETCDF], time-averaged data to file [../iofiles#DATA_MASK_02_AV_NETCDF DATA_MASK_03_AV_NETCDF].\\ ... Instantaneous data of '''mask 20''' are output to file [../iofiles#DATA_MASK_20_NETCDF DATA_MASK_20_NETCDF], time-averaged data to file [../iofiles#DATA_MASK_20_AV_NETCDF DATA_MASK_20_AV_NETCDF].\\ \\\\ Besides assigning the parameters listed above, the required output files have to be comment out in the '''mrun'''-[../configexample configuration file]: {{{ #---------------------------------------------------------------------------- # List of output-files #---------------------------------------------------------------------------- DATA_MASK_01_NETCDF out:loc ma#:maf $output_data _m01 nc DATA_MASK_01_AV_NETCDF out:loc ma#:maf $output_data _m01_av nc DATA_MASK_02_NETCDF out:loc ma#:maf $output_data _m02 nc DATA_MASK_02_AV_NETCDF out:loc ma#:maf $output_data _m02_av nc #DATA_MASK_03_NETCDF out:loc ma#:maf $output_data _m03 nc #DATA_MASK_03_AV_NETCDF out:loc ma#:maf $output_data _m03_av nc ... #DATA_MASK_20_NETCDF out:loc ma#:maf $output_data _m20 nc #DATA_MASK_20_AV_NETCDF out:loc ma#:maf $output_data _m20_av nc }}} Here output of masks 1 and 2 is done. Masks 3 to 20 will not be output even if the parameters are assigned.\\\\\\ Within the '''mrun''' call ''ma#'' has to be added to the '''mrun'''-option -r: {{{ mrun -d example_cbl -h... -r "d3# ma#" }}} \\ === Examples ===