Size: 2331
Comment:
|
Size: 7873
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 2: | Line 2: |
The package ''traj'' allows to determine the trajectories of an ensemble of air parcels. Using assimilated winds and temperatures derived from meteorological data (currently UKMO or ECMWF), both forward and backward can be calculated. The numerical integration is based on the 4th order Runge-Kutta schema. | |
Line 3: | Line 4: |
The package ''traj'' allows to determine the trajectories of an ensemble of air parcels. Using assimilated winds and temperatures derived from meteorological data (currently UKMO or ECMWF), both forward and backward can be calculated. The numerical integration is based on the 4th order Runge-Kutta schema. |
=== How to get the source code === The source code of the trajectory program is under control of the CVS (Concurrent Version System) utility. To get the source code the environment variable CVSROOT must be set to ''/usr/local/icg/icg1/archive''. The command {{{ cvs co -P traj }}} creates a directory ''traj'' in the current working directory and copies the current version of the trajectory package to this directory. The directory ''traj'' includes the following subdirectories: * ''doc'': latex file for documentation * ''mod'': module files * ''obj'': object files * ''source'': source code * ''templates'': templates for configuration file === Compiling === The program can be compiled on different platforms with the makefile stored in the directory ''traj'': {{{ gmake traj }}} The program will be compiled for the used platform and an executable ''traj'' will be created. === Configuration file === The options for the execution of ''traj'' can be set in the configuration file '''traj.inp''': {{{ 1) example1/pos_EXP_97032512.nc ! Name of initial positions file 2) /dat_icg1/rad/example ! Input directory 3) I3U ! Prefix of wind files 4) outdir ! Output directory 5) TRU ! Prefix for output file 6) 24 ! 1/2/3/4/6/8/12/24 -> Data every n hours 7) y ! y/n - Backward/Forward trajectories 8) y ! y/n - 3d(with theta_dot)/2d(without theta_dot) run 9) THETA_DOT ! short name of variable containing THETA-DOT information 10) 1 ! eq. starts (a=0) diff. starts: a=1/2 same end/length 11) 12 23 03 1997 ! Endtime(hh dd mm yy) for a=0/1, lenght (hrs) for a=2 12) 1800 ! First timestep in seconds 13) 60 ! Second timestep in seconds 14) 0 1 0 ! Writing frequency (minutes hours days) 15) N.Thomas ! user name 16) 4 ! number of output parameters 17) TEMP ! output parameters (one short name per line) PRESS ! possible parameters are: TEMP,PRESS,U,V,PV,SZA PV SZA }}} Remarks: 1. Name of initial positions file (if it is not in current directory the path must be specified) 1. Directory with wind files 1. Prefix of wind files consisting of three characters <<BR>> The filenames of isentropic files must correspond to the format ''isen_xxx_yymmddhh.nc''. The prefix ''xxx'' must be specified in this line. <<BR>> The filenames of isobaric files must correspond to the format ''ecmwf_yymmddhh.nc''. The prefix in this line is ignored. 1. Output directory 1. Prefix for output file consisting of three characters <<BR>> The output filename corresponds to the format ''traj_xxx_3d_yymmddhh_yymmddhh.nc''. The characters ''xxx'' must be specified in this line. 1. Interval between wind files in hours 1. Specification, if forward or backward trajectories should be calculated: <<BR>> y = backward trajectories <<BR>> n = forward trajectories 1. 2d or 3d run <<BR>> y = 3d run (with theta_dot) <<BR>> n = 2d run (without theta_dot) 1. short name of variable containing THETA-DOT information 1. Specification, if the trajectories should all end at the same time or if they should have the same length: <<BR>> 1 = same end time for all trajectories <<BR>> 2 = same lenth for all trajectories <<BR>> This specification is only considered if the trajectories start at different times. If all trajectories start at the same time, this specification is ignored. 1. If all trajectories start at the same time or if the trajectories start at different times but should end at the same time, the end time must be specified (hour, day, month, year). If the trajectories start at different times and should have the same length, the lenght of trajectories must be specified (in hours). 1. Timestep for calculation in seconds 1. Zeitschritt, der in dem Zeitraum, in dem die Trajektorien starten und enden genutzt wird. Dieser Zeitschritt wird somit nur bei zeitlich versetzt startenden Trajektorien berücksichtigt. 1. Writing frequency in the format ''hh dd'', e. g. if ''0 1'' is specified, the data will be written out every 24 hours. 1. User name 1. Number of output parameters 1. List of output parameters |
Line 8: | Line 87: |
This file includes the starting positions of the trajectories (longitudes, latitudes and theta) and the corresponding starting times. To create it the package [[pos]] can be used. It has to be a file in NetCDF data format with the following variables: | |
Line 9: | Line 89: |
This file includes the starting positions of the trajectories (longitudes, latitudes and theta) and the corresponding starting times. To create it the package [[pos]] can be used. It has to be a file in NetCDF data format with the following variables: * LAT: latitudes in deg N, valid range [-90,90] * LON: longitudes in deg O, valid range [0,360] * THETA: potential temperature in K * TIME_INIT: time in Julian Seconds |
* ''LAT'': latitudes in deg N, valid range [-90,90] * ''LON'': longitudes in deg E, valid range [0,360] * ''THETA'': potential temperature in K * ''TIME_INIT'': time in Julian Seconds |
Line 20: | Line 96: |
''pos''_`xxx`_`yymmddhh`''.nc'' <<BR>> `xxx` : 1-3 characters<<BR>> `yymmddhh` : starting time<<BR>> e.g.: ''pos_ABC_99022812.nc'' |
. ''pos''_`xxx`_`yymmddhh`''.nc'' <<BR>> `xxx` : 1-3 characters<<BR>> `yymmddhh` : starting time<<BR>> e.g.: ''pos_ABC_99022812.nc'' |
Line 25: | Line 98: |
[[Example for initial positions file]] | |
Line 27: | Line 101: |
The data files with meteorological data used by the trajectory program must contain the coordinate variables: | |
Line 28: | Line 103: |
=== Configuration file === | * ''LAT'': latitudes in deg N, valid range [-90,90] * ''LON'': longitudes in deg E, valid range [0,360] * ''THETA'': potential temperature in K (in ascending order) * ''time'': (one) time in julian seconds |
Line 30: | Line 108: |
The options for the execution of ''traj'' can be set in the configuration file '''traj.inp''': {{{ /arch/jicg11/jicg1108/traj_input/pos_EXP_97032512.nc ! Name of initial positions file /arch/jicg11/jicg1108/traj_input ! Input directory I3U ! Prefix of wind files /usr_FZJ/jicg11/jicg1108/traj/t90 ! Output directory TRU ! Prefix for output file 24 ! 1/2/3/4/6/8/12/24 -> Data every n hours y ! y/n - Backward/Forward trajectories y ! y/n - 3d(with theta_dot)/2d(without theta_dot) run 1 ! eq. starts (a=0) diff. starts: a=1/2 same end/length 12 23 03 1997 ! Endtime(hh dd mm yy) for a=0/1, lenght (hrs) for a=2 1800 ! First timestep in seconds 60 ! Second timestep in seconds 0 1 0 ! Writing frequency (minutes hours days) N.Thomas ! user name 4 ! number of output parameters TEMP ! output parameters (one short name per line) PRESS ! possible parameters are: TEMP,PRESS,U,V,PV, and SZA PV SZA }}} |
LAT and LON must build a regular grid. Besides the files must include at least the four-dimensional data sets for the variables: * ''U'': westerly wind * ''V'': southerly wind * ''THETA_DOT'': vertical velocity (for 3d-runs) * ''TEMP'': temperature * ''PRESS'': pressure * ''PV'': potential vorticity The filenames must correspond to the format: . ''isen''_`xxx`_`yymmddhh`.''nc''<<BR>> `xxx` : 3 characters <<BR>> `yymmddhh` : valid time <<BR>> e. g.: ''isen_ABC_99022812.nc'' [[Example for isentropic file]] === Output file === The output file is created in NetCDF data format and is named: . traj_xxx_3d_yymmddhh_yymmddhh.nc The characters `xxx` are read from the configuration file (line 5) and the two times are the start and end time of trajectory calculation. The dimensions in the trajectory output file are: * ''time'': number of written timesteps * ''NPARTS'': number of start positions/trajectories The file contains the following variables: * ''time''(time): output times in julian seconds * ''DATE_TIME''(time,7): readable time (year, month, day, hour, minute, second, millisecond) * ''LAT''(time,NPARTS): latitudes in deg N * ''LON''(time,NPARTS): longitudes in deg E * ''THETA''(time,NPARTS): potential temperature in K It also contains the variables specified in the configuration file (line 16). Possible output variables are: ''TEMP, PRESS, U, V, PV'' and ''SZA''. Further variables can be added to the trajectory output file using the program [[traj_add]]. If there are different starting times for the trajectories the data set also contains variables with the prefix ''start_'' (''start_time, start_LAT, start_LON'' etc.). These are arrays with the dimension ''NPARTS'' containing the values at the starting times of the trajectories. If the trajectories end at different times, the values at the end times will be written on variables with the prefix ''end_'' (''end_time, end_LAT'' etc.). [[Example for trajectory output file]] ---- [[TrajChanges|History of Changes]] |
The package traj
The package traj allows to determine the trajectories of an ensemble of air parcels. Using assimilated winds and temperatures derived from meteorological data (currently UKMO or ECMWF), both forward and backward can be calculated. The numerical integration is based on the 4th order Runge-Kutta schema.
How to get the source code
The source code of the trajectory program is under control of the CVS (Concurrent Version System) utility. To get the source code the environment variable CVSROOT must be set to /usr/local/icg/icg1/archive. The command
cvs co -P traj
creates a directory traj in the current working directory and copies the current version of the trajectory package to this directory.
The directory traj includes the following subdirectories:
doc: latex file for documentation
mod: module files
obj: object files
source: source code
templates: templates for configuration file
Compiling
The program can be compiled on different platforms with the makefile stored in the directory traj:
gmake traj
The program will be compiled for the used platform and an executable traj will be created.
Configuration file
The options for the execution of traj can be set in the configuration file traj.inp:
1) example1/pos_EXP_97032512.nc ! Name of initial positions file 2) /dat_icg1/rad/example ! Input directory 3) I3U ! Prefix of wind files 4) outdir ! Output directory 5) TRU ! Prefix for output file 6) 24 ! 1/2/3/4/6/8/12/24 -> Data every n hours 7) y ! y/n - Backward/Forward trajectories 8) y ! y/n - 3d(with theta_dot)/2d(without theta_dot) run 9) THETA_DOT ! short name of variable containing THETA-DOT information 10) 1 ! eq. starts (a=0) diff. starts: a=1/2 same end/length 11) 12 23 03 1997 ! Endtime(hh dd mm yy) for a=0/1, lenght (hrs) for a=2 12) 1800 ! First timestep in seconds 13) 60 ! Second timestep in seconds 14) 0 1 0 ! Writing frequency (minutes hours days) 15) N.Thomas ! user name 16) 4 ! number of output parameters 17) TEMP ! output parameters (one short name per line) PRESS ! possible parameters are: TEMP,PRESS,U,V,PV,SZA PV SZA
Remarks:
- Name of initial positions file (if it is not in current directory the path must be specified)
- Directory with wind files
Prefix of wind files consisting of three characters
The filenames of isentropic files must correspond to the format isen_xxx_yymmddhh.nc. The prefix xxx must be specified in this line.
The filenames of isobaric files must correspond to the format ecmwf_yymmddhh.nc. The prefix in this line is ignored.- Output directory
Prefix for output file consisting of three characters
The output filename corresponds to the format traj_xxx_3d_yymmddhh_yymmddhh.nc. The characters xxx must be specified in this line.- Interval between wind files in hours
Specification, if forward or backward trajectories should be calculated:
y = backward trajectories
n = forward trajectories2d or 3d run
y = 3d run (with theta_dot)
n = 2d run (without theta_dot)- short name of variable containing THETA-DOT information
Specification, if the trajectories should all end at the same time or if they should have the same length:
1 = same end time for all trajectories
2 = same lenth for all trajectories
This specification is only considered if the trajectories start at different times. If all trajectories start at the same time, this specification is ignored.- If all trajectories start at the same time or if the trajectories start at different times but should end at the same time, the end time must be specified (hour, day, month, year). If the trajectories start at different times and should have the same length, the lenght of trajectories must be specified (in hours).
- Timestep for calculation in seconds
- Zeitschritt, der in dem Zeitraum, in dem die Trajektorien starten und enden genutzt wird. Dieser Zeitschritt wird somit nur bei zeitlich versetzt startenden Trajektorien berücksichtigt.
Writing frequency in the format hh dd, e. g. if 0 1 is specified, the data will be written out every 24 hours.
- User name
- Number of output parameters
- List of output parameters
Initial positions of air parcels
This file includes the starting positions of the trajectories (longitudes, latitudes and theta) and the corresponding starting times. To create it the package pos can be used. It has to be a file in NetCDF data format with the following variables:
LAT: latitudes in deg N, valid range [-90,90]
LON: longitudes in deg E, valid range [0,360]
THETA: potential temperature in K
TIME_INIT: time in Julian Seconds
The filename must correspond to the following format:
pos_xxx_yymmddhh.nc
xxx : 1-3 characters
yymmddhh : starting time
e.g.: pos_ABC_99022812.nc
Example for initial positions file
Meteorological data
The data files with meteorological data used by the trajectory program must contain the coordinate variables:
LAT: latitudes in deg N, valid range [-90,90]
LON: longitudes in deg E, valid range [0,360]
THETA: potential temperature in K (in ascending order)
time: (one) time in julian seconds
LAT and LON must build a regular grid.
Besides the files must include at least the four-dimensional data sets for the variables:
U: westerly wind
V: southerly wind
THETA_DOT: vertical velocity (for 3d-runs)
TEMP: temperature
PRESS: pressure
PV: potential vorticity
The filenames must correspond to the format:
isen_xxx_yymmddhh.nc
xxx : 3 characters
yymmddhh : valid time
e. g.: isen_ABC_99022812.nc
Output file
The output file is created in NetCDF data format and is named:
- traj_xxx_3d_yymmddhh_yymmddhh.nc
The characters xxx are read from the configuration file (line 5) and the two times are the start and end time of trajectory calculation.
The dimensions in the trajectory output file are:
time: number of written timesteps
NPARTS: number of start positions/trajectories
The file contains the following variables:
time(time): output times in julian seconds
DATE_TIME(time,7): readable time (year, month, day, hour, minute, second, millisecond)
LAT(time,NPARTS): latitudes in deg N
LON(time,NPARTS): longitudes in deg E
THETA(time,NPARTS): potential temperature in K
It also contains the variables specified in the configuration file (line 16). Possible output variables are: TEMP, PRESS, U, V, PV and SZA.
Further variables can be added to the trajectory output file using the program traj_add.
If there are different starting times for the trajectories the data set also contains variables with the prefix start_ (start_time, start_LAT, start_LON etc.). These are arrays with the dimension NPARTS containing the values at the starting times of the trajectories.
If the trajectories end at different times, the values at the end times will be written on variables with the prefix end_ (end_time, end_LAT etc.).
Example for trajectory output file