*
Output of the concentration grid and the concentrations. *
*
Author: A. Stohl *
*
24 May 1995 *
*
13 April 1999, Major update: if output size is smaller, dump output in *
sparse matrix format; additional output of uncertainty *
*
05 April 2000, Major update: output of age classes; output for backward*
runs is time spent in grid cell times total mass of *
species. *
*
17 February 2002, Appropriate dimensions for backward and forward runs *
are now specified in module par_mod *
*
June 2006, write grid in sparse matrix with a single write command *
in order to save disk space *
*
2008 new sparse matrix format *
*
February 2010, Dominik Brunner, Empa *
Adapted for COSMO *
Remark: calculation of density could be improved. *
Currently, it is calculated for the lower left corner *
of each output grid cell rather than for its center. *
Furthermore, the average density could be calculated *
from the difference in pressure at the top and bottom *
of each cell rather than by interpolation. *
*
April 2013, Dominik Brunner, Empa *
Adapted for netcdf output *
*
2022, Lucie Bakels: *
- OpenMP parallelisation *
- Receptor output to NetCDF instead of binary format *
*
January, 2024, Rona Thompson *
- removed output of receptors (new module) *
- introduced option for LCM output *
*
*
Variables: * outnum number of samples * ncells number of cells with non-zero concentrations * sparse .true. if in sparse matrix format, else .false. * tot_mu 1 for forward, initial mass mixing ration for backw. runs * *
Compute air density: brd134: we now take into account whether we are in the mother or in a nested domain (before only from mother domain) Determine center altitude of output layer, and interpolate density data to that altitude
Note:
llcmoutput = true: grid is mass_spec/mass_air
for iout 1,3, or 5 multiply by rho
for iout 2 multiply by 1
llcmoutput = false: grid is mass_spec/V
for iout 1,3, or 5 multiply by 1
for iout 2 multiply by 1/rho
Determine the standard deviation of the mean concentration or mixing ratio (uncertainty of the output) and the dry and wet deposition
Generate output: may be in concentration (ng/m3) or in mixing ratio (ppt) or both Output the position and the values alternated multiplied by 1 or -1, first line is number of values, number of positions For backward simulations, the unit is seconds, stored in grid_time
$OMP BARRIER $OMP SINGLE
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | itime | |||
real, | intent(in) | :: | outnum | |||
real, | intent(out) | :: | gridtotalunc | |||
real(kind=dep_prec), | intent(out) | :: | wetgridtotalunc | |||
real(kind=dep_prec), | intent(out) | :: | drygridtotalunc |