From 8d1b8aff4b3b11e91105da5edd52359ac7f7acd0 Mon Sep 17 00:00:00 2001 From: <> Date: Thu, 26 Sep 2024 10:55:53 +0000 Subject: [PATCH] Deployed 948b50b with MkDocs version: 1.6.1 --- .nojekyll | 0 404.html | 697 ++ applications/index.html | 853 +++ apps/atm_conv/index.html | 776 ++ apps/atm_dist/index.html | 755 ++ apps/atm_init/index.html | 810 ++ apps/atm_select/index.html | 820 ++ apps/atm_split/index.html | 817 ++ apps/atm_stat/index.html | 743 ++ apps/cape/index.html | 731 ++ apps/day2doy/index.html | 732 ++ apps/doy2day/index.html | 732 ++ apps/jsec2time/index.html | 733 ++ apps/met_conv/index.html | 777 ++ apps/met_map/index.html | 800 ++ apps/met_prof/index.html | 796 ++ apps/met_sample/index.html | 773 ++ apps/met_spec/index.html | 732 ++ apps/met_subgrid/index.html | 735 ++ apps/met_zm/index.html | 791 ++ apps/sedi/index.html | 738 ++ apps/time2jsec/index.html | 737 ++ apps/tnat/index.html | 743 ++ apps/trac/index.html | 756 ++ apps/tropo/index.html | 764 ++ apps/tropo_sample/index.html | 780 ++ apps/tropo_zm/index.html | 784 ++ apps/wind/index.html | 745 ++ assets/images/favicon.png | Bin 0 -> 1870 bytes assets/javascripts/bundle.d6f25eb3.min.js | 16 + assets/javascripts/bundle.d6f25eb3.min.js.map | 7 + assets/javascripts/lunr/min/lunr.ar.min.js | 1 + assets/javascripts/lunr/min/lunr.da.min.js | 18 + assets/javascripts/lunr/min/lunr.de.min.js | 18 + assets/javascripts/lunr/min/lunr.du.min.js | 18 + assets/javascripts/lunr/min/lunr.el.min.js | 1 + assets/javascripts/lunr/min/lunr.es.min.js | 18 + assets/javascripts/lunr/min/lunr.fi.min.js | 18 + assets/javascripts/lunr/min/lunr.fr.min.js | 18 + assets/javascripts/lunr/min/lunr.he.min.js | 1 + assets/javascripts/lunr/min/lunr.hi.min.js | 1 + assets/javascripts/lunr/min/lunr.hu.min.js | 18 + assets/javascripts/lunr/min/lunr.hy.min.js | 1 + assets/javascripts/lunr/min/lunr.it.min.js | 18 + assets/javascripts/lunr/min/lunr.ja.min.js | 1 + assets/javascripts/lunr/min/lunr.jp.min.js | 1 + assets/javascripts/lunr/min/lunr.kn.min.js | 1 + assets/javascripts/lunr/min/lunr.ko.min.js | 1 + assets/javascripts/lunr/min/lunr.multi.min.js | 1 + assets/javascripts/lunr/min/lunr.nl.min.js | 18 + assets/javascripts/lunr/min/lunr.no.min.js | 18 + assets/javascripts/lunr/min/lunr.pt.min.js | 18 + assets/javascripts/lunr/min/lunr.ro.min.js | 18 + assets/javascripts/lunr/min/lunr.ru.min.js | 18 + assets/javascripts/lunr/min/lunr.sa.min.js | 1 + .../lunr/min/lunr.stemmer.support.min.js | 1 + assets/javascripts/lunr/min/lunr.sv.min.js | 18 + assets/javascripts/lunr/min/lunr.ta.min.js | 1 + assets/javascripts/lunr/min/lunr.te.min.js | 1 + assets/javascripts/lunr/min/lunr.th.min.js | 1 + assets/javascripts/lunr/min/lunr.tr.min.js | 18 + assets/javascripts/lunr/min/lunr.vi.min.js | 1 + assets/javascripts/lunr/min/lunr.zh.min.js | 1 + assets/javascripts/lunr/tinyseg.js | 206 + assets/javascripts/lunr/wordcut.js | 6708 +++++++++++++++++ .../workers/search.6ce7567c.min.js | 42 + .../workers/search.6ce7567c.min.js.map | 7 + assets/stylesheets/main.8c3ca2c6.min.css | 1 + assets/stylesheets/main.8c3ca2c6.min.css.map | 1 + assets/stylesheets/palette.06af60db.min.css | 1 + .../stylesheets/palette.06af60db.min.css.map | 1 + code-development/index.html | 994 +++ control-parameters/index.html | 844 +++ diabatic_transport/index.html | 756 ++ img/puyehue.png | Bin 0 -> 119478 bytes index.html | 840 +++ installation/index.html | 914 +++ links/index.html | 783 ++ meteorological-input-data/index.html | 973 +++ model-output-data/index.html | 950 +++ model-physics/index.html | 1410 ++++ parallelization/index.html | 871 +++ pressure_levels/index.html | 778 ++ profiling/index.html | 954 +++ quickstart/index.html | 829 ++ references/index.html | 815 ++ search/search_index.json | 1 + sitemap.xml | 167 + sitemap.xml.gz | Bin 0 -> 483 bytes tropopause-data/index.html | 913 +++ 90 files changed, 41719 insertions(+) create mode 100644 .nojekyll create mode 100644 404.html create mode 100644 applications/index.html create mode 100644 apps/atm_conv/index.html create mode 100644 apps/atm_dist/index.html create mode 100644 apps/atm_init/index.html create mode 100644 apps/atm_select/index.html create mode 100644 apps/atm_split/index.html create mode 100644 apps/atm_stat/index.html create mode 100644 apps/cape/index.html create mode 100644 apps/day2doy/index.html create mode 100644 apps/doy2day/index.html create mode 100644 apps/jsec2time/index.html create mode 100644 apps/met_conv/index.html create mode 100644 apps/met_map/index.html create mode 100644 apps/met_prof/index.html create mode 100644 apps/met_sample/index.html create mode 100644 apps/met_spec/index.html create mode 100644 apps/met_subgrid/index.html create mode 100644 apps/met_zm/index.html create mode 100644 apps/sedi/index.html create mode 100644 apps/time2jsec/index.html create mode 100644 apps/tnat/index.html create mode 100644 apps/trac/index.html create mode 100644 apps/tropo/index.html create mode 100644 apps/tropo_sample/index.html create mode 100644 apps/tropo_zm/index.html create mode 100644 apps/wind/index.html create mode 100644 assets/images/favicon.png create mode 100644 assets/javascripts/bundle.d6f25eb3.min.js create mode 100644 assets/javascripts/bundle.d6f25eb3.min.js.map create mode 100644 assets/javascripts/lunr/min/lunr.ar.min.js create mode 100644 assets/javascripts/lunr/min/lunr.da.min.js create mode 100644 assets/javascripts/lunr/min/lunr.de.min.js create mode 100644 assets/javascripts/lunr/min/lunr.du.min.js create mode 100644 assets/javascripts/lunr/min/lunr.el.min.js create mode 100644 assets/javascripts/lunr/min/lunr.es.min.js create mode 100644 assets/javascripts/lunr/min/lunr.fi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.fr.min.js create mode 100644 assets/javascripts/lunr/min/lunr.he.min.js create mode 100644 assets/javascripts/lunr/min/lunr.hi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.hu.min.js create mode 100644 assets/javascripts/lunr/min/lunr.hy.min.js create mode 100644 assets/javascripts/lunr/min/lunr.it.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ja.min.js create mode 100644 assets/javascripts/lunr/min/lunr.jp.min.js create mode 100644 assets/javascripts/lunr/min/lunr.kn.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ko.min.js create mode 100644 assets/javascripts/lunr/min/lunr.multi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.nl.min.js create mode 100644 assets/javascripts/lunr/min/lunr.no.min.js create mode 100644 assets/javascripts/lunr/min/lunr.pt.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ro.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ru.min.js create mode 100644 assets/javascripts/lunr/min/lunr.sa.min.js create mode 100644 assets/javascripts/lunr/min/lunr.stemmer.support.min.js create mode 100644 assets/javascripts/lunr/min/lunr.sv.min.js create mode 100644 assets/javascripts/lunr/min/lunr.ta.min.js create mode 100644 assets/javascripts/lunr/min/lunr.te.min.js create mode 100644 assets/javascripts/lunr/min/lunr.th.min.js create mode 100644 assets/javascripts/lunr/min/lunr.tr.min.js create mode 100644 assets/javascripts/lunr/min/lunr.vi.min.js create mode 100644 assets/javascripts/lunr/min/lunr.zh.min.js create mode 100644 assets/javascripts/lunr/tinyseg.js create mode 100644 assets/javascripts/lunr/wordcut.js create mode 100644 assets/javascripts/workers/search.6ce7567c.min.js create mode 100644 assets/javascripts/workers/search.6ce7567c.min.js.map create mode 100644 assets/stylesheets/main.8c3ca2c6.min.css create mode 100644 assets/stylesheets/main.8c3ca2c6.min.css.map create mode 100644 assets/stylesheets/palette.06af60db.min.css create mode 100644 assets/stylesheets/palette.06af60db.min.css.map create mode 100644 code-development/index.html create mode 100644 control-parameters/index.html create mode 100644 diabatic_transport/index.html create mode 100644 img/puyehue.png create mode 100644 index.html create mode 100644 installation/index.html create mode 100644 links/index.html create mode 100644 meteorological-input-data/index.html create mode 100644 model-output-data/index.html create mode 100644 model-physics/index.html create mode 100644 parallelization/index.html create mode 100644 pressure_levels/index.html create mode 100644 profiling/index.html create mode 100644 quickstart/index.html create mode 100644 references/index.html create mode 100644 search/search_index.json create mode 100644 sitemap.xml create mode 100644 sitemap.xml.gz create mode 100644 tropopause-data/index.html diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 000000000..e69de29bb diff --git a/404.html b/404.html new file mode 100644 index 000000000..df729ae50 --- /dev/null +++ b/404.html @@ -0,0 +1,697 @@ + + + +
+ + + + + + + + + + + + + + +The MPTRAC model comes with a number of individual programs or applications. The most important app of MPTRAC is the tool trac, which is used to conduct the trajectory calculations.
+The apps met_map, met_prof, and met_zm can be used to extract global maps, vertical profiles, and zonal means from meteorological data. The app met_sample can be used to sample the meteo data at individual locations in space and time.
+The app atm_conv can be used to convert between different file formats of the particle data (ASCII, binary, netCDF). The app atm_dist can be used to calculate transport deviations between trajectory sets. The app atm_init can be used to create particle data files with initial trajectory seeds. The app atm_select can extract subsets of the particle data, like individual trajectories. The app atm_split can split sets of particles into larger sets, retaining their total mass. The app atm_stat calculates trajectory statistics, for example, the mean position.
+The tools day2doy, doy2day, jsec2time, and time2jsec are used for time conversion. In particular, they can be used to determine the day of the year (doy) for a given date and convert between a UTC time (YYYY-MM-DD, HH:MM:SS) and the absolute time in seconds since 2000-01-01, 00:00 UTC (the internal time coordinate of MPTRAC).
+The tools tropo, and tropo_sample can be used to determine lapse rate statistics and to prepare and sample tropopause data files.
+Please see the list of files in the doxygen manual for more information.
+The individual apps can be connected to more comprehensive simulation workflows by means of bash scripts.
+This is an example showing how atm_init and atm_split are used to initialize a simulation, trac is used to calculate the trajectories, and atm_dist is used to calculate transport deviations:
+#! /bin/bash
+
+# Setup...
+trac=../src
+
+# Create directories...
+mkdir -p data plots
+
+# Set time range of simulations...
+t0=$($trac/time2jsec 2011 6 5 0 0 0 0)
+t1=$($trac/time2jsec 2011 6 8 0 0 0 0)
+
+# Set initial air parcel positions...
+$trac/atm_init trac.ctl data/atm_init.tab \
+ INIT_T0 $t0 INIT_T1 $t0 \
+ INIT_Z0 10.0 INIT_Z1 10.0 \
+ INIT_LON0 -72.117 INIT_LON1 -72.117 \
+ INIT_LAT0 -40.59 INIT_LAT1 -40.59
+
+# Split air parcels...
+$trac/atm_split trac.ctl data/atm_init.tab data/atm_split.tab \
+ SPLIT_N 10000 SPLIT_M 1e9 SPLIT_DX 30.0 SPLIT_DZ 1.0
+
+# Calculate trajectories...
+echo "data" > data/dirlist
+$trac/trac data/dirlist trac.ctl atm_split.tab \
+ ATM_BASENAME atm GRID_BASENAME grid
+
+Please see the wiki page on Control parameters for more information on the control file trac.ctl and the control parameters.
+ + + + + + + + + + + + + +atm_conv
converts atmosphere files from one format into the other. Possible input files are ASCII, binary, netcdf and netcdf files following format guidelines for CLaMS. The data can be converted to these files as well. The usage is as follows:
# calling atm_conv
+$ ./atm_conv <ctl> <atm_in> <atm_type_in> <atm_out> <atm_type_out>
+
+ctl
: The control file is used to set the atmospheric types and files if not set in the command line. It is also needed if it is empty. atm_in
: Input atmospheric fileatm_type_in
: Format of input atmospheric fileatm_out
: Output atmospheric fileatm_type_in
: Format of output atmospheric fileThe type of data can be chosen from the options below:
+ATM_TYPE | +output format | +
---|---|
0 | +ASCII (default) | +
1 | +binary | +
2 | +netcdf | +
3 | +netcdf (CLaMS: trajectory and position file) | +
4 | +netcdf (CLaMS: position file) | +
Note: If trajectory files similar to those of CLaMS are required (atm_type=3
), the stop time, as seen below, must be set in the control file. However, to obtain position files as for CLaMS the option atm_type=4
, which does not rely on these setting, is recommended instead.
cat > atm_conv.ctl <<EOF
+T_STOP = 360547200.00
+EOF
+
+Example:
+++ + + + + + + + + + + + + ++
atm_conv atm_conv.ctl input.tab 0 output.nc 2
, converts the input.tab ASCII file into the new > netcdf file output.nc.
+
This application calculates the transport deviations of trajectories.
+atm_dist can be called by:
+# calling atm_dist
+$ ./atm_dist <ctl> <dist.tab> <param> <atm1a> <atm1b> [<atm2a> <atm2b> ...]
+
+The required arguments to run atm_dist are as follows:
+* ctl: is the control (.ctl) file of the trajectory simulation
+ dist.tab: the output file where the deviations should be written into
+ param: the deviation paramters to be calculated (e.g. abs_dev etc. see below)
+* atm1a and atm1b: the trajectory files that should be compared
Statistical paramters that can be calculated are:
+The here used statistics are the gnu statistic library. More information on the gnu statistics library can be found on their webpage.
+An example command line for running atm_dist looks like as follows:
+./atm_dist trac.ctl dist_absdev.tab abs_dev traj_sim1_2017_01_01_00.tab traj_sim2_2017_01_01_00.tab
+
+Note: The command line needs to be adjusted to the respective directories were the files (or executables in case of atm_dist) are located.
+Additional paramters that can be used when running atm_dist are:
+DIST_LAT0 -89 DIST_LAT1 89 - The latitude range to be considered
+DIST_Z0 8 DIST_Z1 16 - The altitude range to be considered
+DISTZCORE - can be used for filtering outliers
The application atm_init creates an atmospheric data file with initial air parcel positions. The code will generate air parcels in a simple manner with user-defined settings.
+# calling atm_init
+$ ./atm_init <ctl> <atm_out>
+
+The following specific configuration parameters can be used to determine the release position:
+parameter | +purpose | +default | +
---|---|---|
INIT_T0 | +Release time range start [s] | +0 | +
INIT_T1 | +Release time range end [s] | +0 | +
INIT_DT | +Release time interval [s] | +1 | +
INIT_Z0 | +Release altitude range start [km] | +0 | +
INIT_Z1 | +Release altitude range end [km] | +0 | +
INIT_DZ | +Release altitude interval [km] | +1 | +
INIT_LON0 | +Release longitude range start | +0 | +
INIT_LON1 | +Release longitude range end | +0 | +
INIT_DLON | +Release longitude interval | +1 | +
INIT_LAT0 | +Release latitude range start | +0 | +
INIT_LAT1 | +Release latitude range end | +0 | +
INIT_DLAT | +Release latitude interval | +1 | +
Followings are some optional parameters for controlling the release of air parcels:
+Note: Instead of using the control file the configuration parameters can also be appended to the function call.
+ + + + + + + + + + + + + +Extract subsets of air parcels from atmospheric data files.
+The calling sequence is:
+# calling atm_select
+$ atm_select <ctl> <atm_select> <atm1> [<atm2> ...]
+
+The atmospheric data file(s)
time altitude longitude latitude quantity_1 quantity_2 ...
+
+Following the selection criteria provided in the control file
parameter | +purpose | +default | +
---|---|---|
SELECT_STRIDE | +select every i-th data point | +1 | +
SELECT_IP0 | +set index range start | +0 | +
SELECT_IP1 | +set index range end | +0 | +
SELECT_T0 | +set time range start [s] | +0 | +
SELECT_T1 | +set time range end [s] | +0 | +
SELECT_Z0 | +set altitude range start [km] | +0 | +
SELECT_Z1 | +set altitude range end [km] | +0 | +
SELECT_LON0 | +set longitude range start [deg] | +0 | +
SELECT_LON1 | +set longitude range end [deg] | +0 | +
SELECT_LAT0 | +set latitude range start [deg] | +0 | +
SELECT_LAT1 | +set latitude range end [deg] | +0 | +
SELECT_R0 | +set radius range start [km] | +0 | +
SELECT_R1 | +set radius range end [km] | +0 | +
SELECT_RLON | +set station longitude [deg] | +0 | +
SELECT_RLAT | +set station latitude [deg] | +0 | +
The parameters should be given as an indexed list in the control file (example).
+ + + + + + + + + + + + + +Split air parcels into a larger number of parcels.
+The calling sequence is:
+# calling atm_split
+$ ./atm_split <ctl> <atm_in> <atm_out>
+
+The atmospheric input data file
time altitude longitude latitude quantity_1 quantity_2 ...
+
+Based on the locations provided in the input atmospheric data file
The following atm_split specific configuration parameters can be used:
+parameter | +purpose | +default | +
---|---|---|
SPLIT_N | +total number of data points to generate | ++ |
SPLIT_M | +total SO2 mass of all data points [] | +-999 | +
SPLIT_DT | +delta time [s] | +0 | +
SPLIT_T0 | +time window start [s] | +0 | +
SPLIT_T1 | +time window end [s] | +0 | +
SPLIT_DZ | +vertical radius [km] | +0 | +
SPLIT_Z0 | +altitude range start [km] | +0 | +
SPLIT_Z1 | +altitude range end [km] | +0 | +
SPLIT_DX | +horizontal radius [km] | +0 | +
SPLIT_LON0 | +longitude range start | +0 | +
SPLIT_LON1 | +longitude range end; LON0<LON1 | +0 | +
SPLIT_LAT0 | +latitude range start | +0 | +
SPLIT_LAT1 | +latitude range end; LAT0<LAT1 | +0 | +
SPLIT_KERNEL | +kernel file name | +– | +
If a range is provided the data points are distributed uniformly. If a distance is provided (DT, DZ, DX), the data points are distributed with a Gaussian random variate where e.g. ‘distance’/2.3548 = FWHM.
+Note: Instead of using the control file the configuration parameters can also be appended to the function call.
+ + + + + + + + + + + + + +Calculate air parcel statistics.
+```
+$ atm_stat
Statistical paramters that can be calculated are:
+The here used statistics are the gnu statistic library. More information on the gnu statistics library can be found +on their webpage.
+ + + + + + + + + + + + + +Add CAPE data to netCDF file.
+# Calling cape
+./ cape <ctl> <met.nc>
+
+The required parameters are: +* ctl: The control file. +* met.nc: The data file into which cape should be added.
+ + + + + + + + + + + + + +This application converts date (yyyy m dd) to day of the year.
+# calling day2doy
+$ day2doy <year> <mon> <day>
+
+In the following we exemplarily convert the 10 February 2017 to day:
+$ ./day2doy 2017 02 10
+$ 2017 41
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This applications converts the day of a year to date (yyyy mm dd).
+# calling doy2day
+$ ./doy2day <year> <doy>
+
+In the following we exemplarily convert day 41 of the year 2017 to date:
+$ ./doy2day 2017 41
+$ 2017 2 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ This application converts Julian seconds to date.
+# calling jsec2time
+$ ./jsec2time <jsec>
+
+Converting exemplarily Julian seconds of 539314401.00 after the 1. January 2000 in date results in:
+./jsec2time 539314401.00
+2017 2 2 1 0 0 0 0.11
+
+Thus, Julian seconds of 539314401.00 correspond to the 2 February 2017 at hour hour 1:00 (0 s and 0.11 ms).
+ + + + + + + + + + + + + +Conversion of meteorological data
+# calling met_conv
+./met_conv <ctl> <met_in> <met_in_type> <met_out> <met_out_type>
+
+The required paramters are as follows:
+# An example command line for running met_conv looks like
+./met_conv trac.ctl era5_2017_01_08_17.nc 0 era5_2017_01_08_17.zstd 4
+
+Here the meteorological data file in netcdf format is converted (compressed) to the zstd format.
+The following input/output files are supported by met_conv:
+Type In/Out | +Format | +
---|---|
0 | +netcdf | +
1 | +binary | +
2 | +pck | +
3 | +zfp | +
4 | +zstd | +
whereby netcdf and binary are standard data formats. Pck (layer packing, https://gmd.copernicus.org/articles/10/413/2017), zfp (https://computing.llnl.gov/projects/zfp) and zst (zstandard, https://github.com/facebook/zstd) are compression formats.
+Currently to enable the usage of zfp and zstd format MPTRAC needs to be compiled using ZSTD=1 and ZFP=1:
+```
+$ make ZSTD=1 ZFP=1 +````
+ + + + + + + + + + + + + +Extracts map from meteorological data.
+# calling met_map
+$ ./met_map <ctl> <map.tab> <met0> [<met1> ...]
+
+The required parameters are as follows:
+Note: The control parameters can also be appended to the function call, but they will cause error messages, as a loop runs over all input parameters >= 3 and tries to read files named as the control parameters. Despite the annoying error messages the app will create a correct output file.
+Calling met_map and creating out of the 0.3° x 0.3° ERA5 data on a 1° x 1° map would look like as follows:
+# Calling met_map
+$./met_map - map_era5_2017_01_08_17_1_1.tab era5_2017_01_08_17.nc MAP_DLON 1 MAP_DLAT 1
+
+The optional control parameters required are listed as follows:
+parameter | +purpose | +default | +
---|---|---|
MAP_Z0 | +The altitude to extract the map data [km] | +10 | +
MAP_LON0 | +Longitude range start | +-180 | +
MAP_LON1 | +Longitude range end | +180 | +
MAP_DLON | +Longitude interval | +-999 | +
MAP_LAT0 | +Latitude range start | +-90 | +
MAP_LAT1 | +Latitude range end | +90 | +
MAP_DLAT | +Latitude interval | +-999 | +
MAP_THETA | +Use theta level instead of altitude | +-999 | +
To extract a map from a compressed data file (as e.g. a ZFP file) one would need to give also the meteorological data file format as control parameter. Calling met_map would then look as follows:
+# Calling met_map for a zfp file
+$./met_map - map_era5_2017_01_08_17.tab era5_2017_01_08_17.zfp MET_TYPE 3
+
+Currently, to enable the usage of zfp and zstd format MPTRAC needs to be compiled using ZSTD=1 and ZFP=1:
+```
+$ make ZSTD=1 ZFP=1 +````
+ + + + + + + + + + + + + +Extract vertical profile from meteorological data.
+# calling met_prof
+$ ./met_prof <ctl> <prof.tab> <met0> [<met1> ...]
+
+The required arguments are:
+Calling met_prof and creating a 1 km resolution verical profile from a global ERA5 data sample of 1° x 1° would look like as follows:
+# Calling met_map
+$./met_prof - prof_era5_2017_01_08_17_1_1.tab era5_2017_01_08_17.nc PROF_LON0 -180 PROF_LON1 180\
+ PROF_LAT0 -90 PROF_LAT1 90 PROF_DLON 1 PROF_DLAT 1 PROF_Z0 0 PROF_Z1 25 PROF_DZ 1
+
+The optional control parameters required are listed as follows:
+parameter | +purpose | +default | +
---|---|---|
PROF_Z0 | +Altitude range start [km] | +-999 | +
PROF_Z1 | +Altitude range end [km] | +-999 | +
PROF_DZ | +Altitude interval [km] | +-999 | +
PROF_LON0 | +Longitude range start | +0 | +
PROF_LON1 | +Longitude range end | +0 | +
PROF_DLON | +Longitude interval | +-999 | +
PROF_LAT0 | +Latitude range start | +0 | +
PROF_LAT1 | +Latitude range end | +0 | +
PROF_DLAT | +Latitude interval | +-999 | +
Sample meteorological data at given geolocations
+# calling met_sample
+$ ./met_sample <ctl> <sample.tab> <atm_in>
+
+The required input parameters are: +* ctl: The control file, defining the atmospheric grid. +* sample.tab: Output ascii file with re-sampled meteorological data to the locations provided in atm_in. +* atm_in: Input file of atm-type. Expected input parameters are a list of data sets containing time, altitude, longitude, and latitude.
+Add an example for calling/applying met_sample.
+# Calling met_sample
+$./met_sample sample.ctl new_file.tab volcanoes.tab
+
+The following configuration parameters are effective in met_sample:
+parameter | +purpose | +default | +
---|---|---|
SAMPLE_GEOPOT | +sample geopotential height | +0 | +
SAMPLE_GRID_TIME | +sample time | +0 | +
SAMPLE_GRID_Z | +sample altitude | +0 | +
SAMPLE_GRID_LON | +sample longitude | +0 | +
SAMPLE_GRID_LAT | +sample latitude | +0 | +
This app conducts a spectral analysis of the meteorological temperature fields using the fast Fourier transform method. It will provide estimates of zonal wave amplitude, wavelength, and phase as a function of pressure and latitude.
+Calling met_spec
+./met_sepc <ctl> <spec.tab> <met0>
+
+The required control parameters are: +* ctl: the control parameter file +* spec.tab: the output file (in form of an ASCII table) +* met0: the metorological input file
+ + + + + + + + + + + + + +Calculates the grid-scale standard deviations of the horizontal wind and vertical velocity fields as used in the subgrid-scale wind parameterization. The subgrid-scale wind parametrization is described in Stohl et al. (2005).
+# calling met_subgrid
+$ ./met_subgrid <ctl> <subgrid.tab> <met0> <met1> [ <met0b> <met1b> ... ]
+
+The required control parameters are: +* ctl: the control parameter file +* subgrid.tab: the output file with standard deviations of the wind and velocity (in ASCII table format) +* met*: pairs of meteorological data files from which the standard deviations are calculated
+ + + + + + + + + + + + + +Extract zonal mean from meteorological data.
+The calling sequence is:
+# calling met_zm
+$ ./met_zm <ctl> <zm.tab> <met0> [<met1> ...]
+
+The required arguments are: +* ctl: The file containing the control parameters. +* zm.tab: The output file where the zonal means are stored. +* met0 [\<met1> ...]: The meteorological input files from which the zonal mean should be calculatd from.
+Calling met_zm and creating a global zonal mean data with latitude band of 10 degree from ERA5 data would look like as follows:
+# Calling met_zm
+$./met_prof - zm_era5_2017_01_08_17_1_1.tab era5_2017_01_08_17.nc \
+ ZM_DLAT 10
+
+The optional control parameters required are listed as follows:
+parameter | +purpose | +default | +
---|---|---|
ZM_Z0 | +Altitude range start [km] | +-999 | +
ZM_Z1 | +Altitude range end [km] | +-999 | +
ZM_DZ | +Altitude interval [km] | +-999 | +
ZM_LON0 | +Longitude range start | +-180 | +
ZM_LON1 | +Longitude range end | +180 | +
ZM_LAT0 | +Latitude range start | +-90 | +
ZM_LAT1 | +Latitude range end | +90 | +
ZM_DLAT | +Latitude interval | +-999 | +
Note: if ZM_DZ, ZM_Z0, ZM_Z1 are not defined, the output dimension of altitude will follow the meteorological data.
+ + + + + + + + + + + + + +This application calculates the sedimentation velocity \(v_s\) (in units of m/s) of aerosol or cloud particles for a given particle radius \(r_p\) and particle density \(\rho_p\). In MPTRAC, \(v_s\) is calculated for spherical particles following the method described by Jacobson (1999). Sedimentation velocities are valid for particle Reynolds number \(Re_p \le 1\), for which \(v_s\) is expected to have accuracies better than 10 % (Hesketh, 1996). Larger particles will require additional corrections, which have not been implemented. See Hoffmann et al. (2022, Sect. 2.3.5) for further details.
+# calling sedi
+$./sedi <p> <T> <r_p> <rho_p>
+
+The required control parameters are: +* p: Pressure in hPa +* T: Temperature in K +* r_p: particle radius in micrometers +* rho_p: particle density in kg/m^3
+ + + + + + + + + + + + + +Given a date and time this app returns the Julian seconds since 01.01.2000.
+# calling time2jsec
+$ ./time2jsec <year> <month> <day> <hour> <minute> <second> <remain>
+
+The required arguments are: +* year: The year, e.g. 2020. +* month: Valid parameters for month are 1–12. +* day: Valid values for day are 1–31. +* hour: Valid values for hour are 0–23.* +* minute: Valid values for minute are 0–59. +* second: Valid values for second are 0–59. +* remain: Can be used add milliseconds, e.g. 0.111. If this value is set to 1, a second is added.
+Note: This app also accepts values outside the valid value range whithout any warning.
+ + + + + + + + + + + + + +This application calculates the PSC formation temperatures (in Kelvin).
+# Calling tnat
+$./tnat <p> <h2o> <hno3>
+
+Required paramters are: +* p: The atmospheric pressure in hPa. +* h2o: The volume mixing ratio (ppv) of water vapour. +* hno3: The volume mixing ratio (ppv) of sulfuric acid.
+Assuming a pressure of 50 hPa and a H2O volume mixing ratio of 5 ppmv and a HNO3 mixing ratio of 15 ppbv:
+$./tnat 50 5e-6 15e-9
+
+one receives the following ouput:
+$ p = 50 hPa
+$ q_H2O = 5e-06 ppv
+$ q_HNO3 = 1.5e-08 ppv
+$ T_dew = 184.543 K
+$ T_ice = 188.559 K
+$ T_NAT = 196.312 K
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The major app for calculating forward or backward trajectories is trac. It is called with at least four (4) arguments:
+# calling trac
+$ ./trac <dirlist> <ctl> <atm_in> <metbase>
+
+The required arguments are:
+dirlist: A file containing directories to be processed. Each directory has to have an own control parameter file and a starting point file.
+ctl: In the control parameter file the configuration parameters can be set.
+atm_in: The starting point file contains a list of starting points for the trajectory calculation.
+metbase: Here, the path to the meteorological data files and their basename shall be given.
+Example from the repository:
+# minimal required input to run trac
+$ ./trac data/dirlist trac.ctl atm_split.tab meteo/ei
+
+In addition it is possible to append control parameters, giving the flag name first, followed by the parameter, all separated by a space. Example:
+#
+$ ./trac data/dirlist trac.ctl atm_split.tab meteo/ei ATM_BASENAME atm_diff GRID_BASENAME grid_diff
+
+The following control parameters are effective in trac:
+Todo
+add flaglist here ….
+A full list can be found in the doxygen manual.
+Note: However, in the doxygen are so far no default values etc. provided.
+ + + + + + + + + + + + + +This application creates a tropopause data set from meteorological data.
+# calling tropo
+$ ./tropo <ctl> <tropo.nc> <met0> [<met1> ...]
+
+The required arguments are: +* ctl: The file containing the control parameters. +* tropo.nc: The output file in which the climatology should be stored. +* met0 [\<met1> ...]: The meteorological data from which the data set should be created.
+The following paramerters can be defined in <.ctl> file: +| parameter | description | default | Options | +|:---------- |:---------------------------------------------- | ------- | -------------------------------------------------- | +| DT_MET | time step of meteorological data [s]. | 21600 | | +| MET_TROPO | tropopause definition | 3 | 0:none, 1:clim, 2:cold point, 3:WMO_1ST, 4:WMO_2nd, 5:dynamical | +| MET_TROPO_PV | dynamical tropopause threshold (PV) | 3.5 | +| TROPO_LON0 | minimum longitude | -180 | | +| TROPO_LON1 | maximum longitude | 180 | | +| TROPO_DLON | distance between longitudes | -999 | | +| TROPO_LAT0 | minimum latitude | -90 | | +| TROPO_LAT1 | maximum latitude | 90 | | +| TROPO_DLAT | distance between latitudes | -999 | | +| TROPO_H2O | extract water vapor mixing ratio at tropopause | 1 | | +| TROPO_O3 | extract ozone volume at tropopause | 1 | | +| | | | |
+Example:
+# define the control file
+cat > tropo.ctl <<EOF
+DT_MET = 21600
+MET_TROPO = 2
+TROPO_DLON = 6
+TROPO_DLAT = 3
+EOF
+# running the tropo application
+../src/tropo tropo.ctl tropo_2011_06_05.nc ../ei_2011_06_05_00.nc ../ei_2011_06_06_00.nc
+
+here: +* ../src/tropo: calling tropo +* tropo.ctl: using control file +* tropo_2011_06_05.nc: output of the tropopause +* ../ei_...: inputs of the meteorological data (data directory should be indicated) +* At JSC, Era_interim data can be found: /p/fastdata/slmet/slmet111/met_data/ecmwf/era_interim/pressure_0.75deg_v2/nc/2011/ei_...nc
+ + + + + + + + + + + + + +Sample the tropopause height from tropopause data file
# calling tropo_sample
+$ tropo_sample <ctl> <sample.tab> <tropo.nc> <var> <atm_in>
+
+The type of tropopause information to be extracted is selected with the \<var> argument. The following options are provided by the data files generated by tropo:
+parameter | +description | +
---|---|
0 | +none | +
1 | +climatology | +
2 | +cold point tropopause | +
3 | +WMO first lapse rate tropopause | +
4 | +WMO second lapse rate tropopause | +
5 | +dynamical tropopause | +
The following configuration parameters are effective in tropo_sample:
+parameter | +purpose | +default | +
---|---|---|
TROPO_SAMPLE_METHOD | +Define interpolation method. Default=1: linear interpolation. Everything else: nearest neighbor. | +1 | +
This application extracts the zonal mean of a tropopause data set.
+# Calling tropo_zm
+./tropo_zm <ctl> <zm.tab> <var> <tropo.nc>
+
+The required parameters are: +* ctrl: The file containing the control parameters. +* zm.tab: The ouput file in which the zonal means should be stored. +* var: The tropopause variables +* tropo.nc: The tropopause data set of which the zonal means should be calculated.
+var | +description | +
---|---|
clp | +cold point tropopause | +
dyn | +dynamical tropopause | +
wmo_1st | +WMO first lapse rate tropopause | +
wmo_2nd | +WMO secon lapse rate tropopause | +
Example:
+for var in clp dyn wmo_1st wmo_2nd ; do
+ ../src/tropo_zm - zm_$var.tab $var tropo_2011_06_05.nc
+done
+
+Here: +* ../src/tropo_zm: calling tropo_zm +* no control file is given +* zm_$var.tab: output of the zonal mean tropopause with the same latitude as the input data +* tropo_2011_06_05.nc: input, the tropopause dataset produced by "tropo"
+output: +* $1 = time [s] +* $2 = latitude [deg] +* $3 = tropopause height (mean) [km] +* $4 = tropopause pressure (mean) [hPa] +* $5 = tropopause temperature (mean) [K] +* $6 = tropopause water vapor (mean) [ppv] +* $7 = tropopause ozone (mean) [ppv] +* $8 = tropopause height (sigma) [km] +* $9 = tropopause pressure (sigma) [hPa] +* $10 = tropopause temperature (sigma) [K] +* $11 = tropopause water vapor (sigma) [ppv] +* $12 = tropopause ozone (sigma) [ppv] +* $13 = number of data points +* $14 = occurrence frequency [%]
+ + + + + + + + + + + + + +This app creates a meteorological data file with synthetic wind fields suitable for testing advection using the method of Williamson et al. (1992, Sect. 3). The synthetic wind field describes a global rotation around the Earth with a given rotation axis. The output is written in form of MPTRAC's netCDF meteo file format.
+# Calling wind
+$ ./wind <ctl> <metbase>
+
+The required parameters are: +* ctl: the control parameter file +* metbase: the basename of the output file
+Optional control parameters: +* WIND_T0: time step of meteo data (default: 0 s) +* WIND_NX: number of longitudes (default: 360) +* WIND_NY: number of latitudes (default: 181) +* WIND_NZ: number of pressure levels (default: 61) +* WIND_Z0: log-pressure height of lowermost pressure level (default: 0 km) +* WIND_Z1: log-pressure height of uppermost pressure level (default: 60 km) +* WIND_U0: horizontal wind speed at lowermost level (default: 38.587660177302 m/s) +* WIND_U1: horizontal wind speed at uppermost level (default: 38.587660177302 m/s) +* WIND_W0: vertical velocity (default: 0 m/s) +* WIND_ALPHA: rotation angle (default: 0 deg)
+ + + + + + + + + + + + + +