Skip to content
Snippets Groups Projects
ini_aircraft.f90 74 KiB
Newer Older
!MNH_LIC Copyright 2000-2022 CNRS, Meteo-France and Universite Paul Sabatier
!MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
!MNH_LIC for details. version 1.
!-----------------------------------------------------------------
!     #######################
      SUBROUTINE INI_AIRCRAFT
!     #######################
!
!
!!****  *INI_AIRCRAFT* - user initializes the aircraft flight path
!!
!!    PURPOSE
!!    -------
!
!
!!**  METHOD
!!    ------
!!    
!!   Must be defined (for each aircraft):
!!   ---------------
!!
!!  No default exist for these variables.
!!  ************************************
!!
!!  1) the model in which the aircraft will evolve
!!     if NOT initialized, the aircraft is NOT used.
!!
!!  2) the possibility to switch from a model to its dad or kid
!!       'FIX' : NMODEL used during the run
!!       'MOB' : best resolution model used. NMODEL=1 is used at the beginning
!!
!!
!!  3) the type of aircraft
!!
!!     'AIRCRA' for aircraft
!!
!!  4) the takeoff date and time
!!
!!  5) the number of flight path segments (SEG)
!!
!!  6) the (SEG  ) duration of flight in the segments, in the flight order (sec.)
!!
!!  6bis) TAIRCRAFT%LALTDEF : flag to define the mode of initialisation of
!!        aircraft altitude TRUE for pressure (corresponding to %XSEGP)
!!        or FALSE for Z (corresponding to %XSEGZ)
!!
!!  7) the (SEG+1) latitudes of the segments ends, in the flight order
!!     first point is take-off
!!     last  point is landing
!!
!!  8) the (SEG+1) longitudes of the segments ends, in the flight order
!!
!!  9) the (SEG+1) pressure (%XSEGP) or Z (%XSEGZ) of the segments ends, in the flight order
!!
!!
!!
!!   Can be defined  (for each aircraft):
!!   --------------
!!
!!
!!  9) the time step for data storage.
!!    default is 60s
!!
!! 10) the name or title describing the balloon (8 characters)
!!     default is the balloon type (6 characters) + the balloon numbers (2 characters)
!!
!!
!!    EXTERNAL
!!    --------
!!
!!    IMPLICIT ARGUMENTS
!!    ------------------
!!
!!    REFERENCE
!!    ---------
!!
!!    AUTHOR
!!    ------
!!      Valery Masson             * Meteo-France *
!!
!!    MODIFICATIONS
!!    -------------
!!     Original 15/05/2000
!!             Sept2009, A. Boilley add initialisation of aircraft altitude by Z
!  P. Wautelet    06/2022: reorganize flyers
! --------------------------------------------------------------------------
!       
!*      0. DECLARATIONS
!          ------------
!
USE MODD_AIRCRAFT_BALLOON
IMPLICIT NONE
!
!
!*      0.1  declarations of arguments
!
!
!-------------------------------------------------------------------------------
!
!       0.2  declaration of local variables
!
!
!----------------------------------------------------------------------------
NAIRCRAFTS = 0

ALLOCATE( TAIRCRAFTS(NAIRCRAFTS) )

IF ( NAIRCRAFTS < 1 ) RETURN
!
!*      1.   Aircraft number 1
!            -----------------
!
!* aircraft type
!
!
!* aircraft flight name
!
!
!* time step for storage
!
!
!* take-off date and time
!
TAIRCRAFTS(1)%TLAUNCH%nyear  =  2007
TAIRCRAFTS(1)%TLAUNCH%nmonth =    04
TAIRCRAFTS(1)%TLAUNCH%nday   =    19
TAIRCRAFTS(1)%TLAUNCH%xtime  = 32280.
!
!* number of flight segments
!
!
!* initalisation of flag for pressure (T) or Z(F) for aicraft altitude
!
!
!* allocation of the arrays
!
ALLOCATE(TAIRCRAFTS(1)%XSEGTIME(TAIRCRAFTS(1)%NSEG  ))
ALLOCATE(TAIRCRAFTS(1)%XSEGLAT (TAIRCRAFTS(1)%NSEG+1))
ALLOCATE(TAIRCRAFTS(1)%XSEGLON (TAIRCRAFTS(1)%NSEG+1))
!
!* duration of the segments (seconds)
!
TAIRCRAFTS(1)%XSEGTIME      = (/ 60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60 /)
!
!* latitudes of the segments ends (1st point is takeoff, last point is landing)
!        (decimal degrees)
!
TAIRCRAFTS(1)%XSEGLAT  = (/ 44.39971, 44.40095, 44.40040, 44.39919, 44.39657,&
 44.39339, 44.38749, 44.37916, 44.37464, 44.37021,&
 44.37045, 44.37059, 44.37443, 44.37222, 44.35214,&
 44.36092, 44.38175, 44.40122, 44.41992, 44.43539,&
 44.45071, 44.46737, 44.48038, 44.47368, 44.46140,&
 44.45519, 44.46365, 44.46959, 44.47475, 44.48028,&
 44.47210, 44.46509, 44.46825, 44.47021, 44.48252,&
 44.50106, 44.52266, 44.54233, 44.55776, 44.56624,&
 44.57126, 44.57083, 44.57098, 44.57155, 44.56524,&
 44.56006, 44.56914, 44.57413, 44.57368, 44.56907,&
 44.56207, 44.55547, 44.54991, 44.54553, 44.54143,&
 44.53734, 44.53293, 44.52783, 44.52403, 44.52920,&
 44.54065, 44.54570, 44.54875, 44.55127, 44.55372,&
 44.56859, 44.58518, 44.56456, 44.53939, 44.54009,&
 44.56265, 44.58650, 44.60879, 44.61819, 44.61754,&
 44.61660, 44.62217, 44.61920, 44.61041, 44.60369,&
 44.60041, 44.60191, 44.60322, 44.58885, 44.56374,&
 44.54355, 44.52951, 44.50729, 44.48498, 44.46095,&
 44.43832, 44.42894, 44.41980, 44.40837, 44.38897,&
 44.36689, 44.35023, 44.33820, 44.33409, 44.33662,&
 44.33859, 44.33223, 44.32123, 44.32175, 44.32951,&
 44.33953, 44.35040, 44.36167, 44.37196, 44.37869,&
 44.38493, 44.39208, 44.40101, 44.40943, 44.42089,&
 44.44113, 44.46887, 44.49583, 44.51708, 44.53618,&
 44.54475, 44.55005, 44.55511, 44.56009, 44.56446,&
 44.56590, 44.56728, 44.56972, 44.57093, 44.57225,&
 44.57260, 44.57197, 44.57016, 44.56544, 44.55235,&
 44.53552, 44.54387, 44.55054, 44.56146, 44.56070,&
 44.54054, 44.52130, 44.50292, 44.48638, 44.47290,&
 44.45529, 44.43734, 44.41889, 44.39770, 44.37671,&
 44.35838, 44.35707, 44.36639, 44.37534, 44.37753,&
 44.37753, 44.37986, 44.38700, 44.39457, 44.39753,&
 44.40017, 44.40076, 44.39730, 44.39181, 44.39756,&
 44.39935, 44.39868, 44.39727, 44.39696 /)
!
!* longitudes of the segments ends (1st point is takeoff, last point is landing)
!        (decimal degrees)
!
TAIRCRAFTS(1)%XSEGLON   = (/0.75561, 0.73090, 0.70157, 0.66896, 0.63468,&
 0.60107, 0.56909, 0.53738, 0.50474, 0.47315,&
 0.44092, 0.40665, 0.37725, 0.35171, 0.33016,&
 0.31340, 0.29638, 0.27594, 0.25293, 0.22663,&
 0.19920, 0.17395, 0.15872, 0.17700, 0.19870,&
 0.21796, 0.20584, 0.18416, 0.16200, 0.16042,&
 0.18704, 0.20952, 0.19838, 0.17702, 0.15936,&
 0.13843, 0.11309, 0.08309, 0.04845, 0.00948,&
-0.03097,-0.07187,-0.11372,-0.15500,-0.19571,&
-0.23476,-0.26490,-0.29027,-0.31521,-0.33867,&
-0.36085,-0.38222,-0.40476,-0.42847,-0.45149,&
-0.47413,-0.49675,-0.51926,-0.54853,-0.58352,&
-0.61936,-0.65967,-0.70151,-0.74369,-0.78626,&
-0.82035,-0.82679,-0.81080,-0.80093,-0.81855,&
-0.83421,-0.84543,-0.85947,-0.88928,-0.92270,&
-0.95642,-0.98774,-1.01802,-1.05282,-1.08807,&
-1.12390,-1.15847,-1.19287,-1.22142,-1.24147,&
-1.26289,-1.28825,-1.28869,-1.27067,-1.25984,&
-1.25447,-1.22868,-1.19892,-1.16909,-1.14878,&
-1.13185,-1.10636,-1.07398,-1.03438,-1.00077,&
-0.97309,-0.94428,-0.91011,-0.87900,-0.85405,&
-0.83235,-0.81217,-0.79231,-0.77125,-0.74612,&
-0.71985,-0.69334,-0.66698,-0.64049,-0.61627,&
-0.59738,-0.58007,-0.55652,-0.52248,-0.48603,&
-0.44405,-0.39964,-0.35780,-0.32620,-0.29894,&
-0.27061,-0.24144,-0.21229,-0.18267,-0.15256,&
-0.12223,-0.09116,-0.05346,-0.00969, 0.03348,&
 0.07270, 0.07334, 0.03393, 0.00021, 0.01935,&
 0.05295, 0.08646, 0.11585, 0.14321, 0.17288,&
 0.20083, 0.22825, 0.25199, 0.27166, 0.29386,&
 0.31926, 0.35232, 0.38587, 0.41831, 0.45384,&
 0.49099, 0.52731, 0.56261, 0.59614, 0.63308,&
 0.67001, 0.70471, 0.73740, 0.76830, 0.76841,&
!
!* pressure of the segments ends (1st point is takeoff, last point is landing)
!        (pascals)
!
IF (TAIRCRAFTS(1)%LALTDEF) THEN
  ALLOCATE(TAIRCRAFTS(1)%XSEGP   (TAIRCRAFTS(1)%NSEG+1))
  TAIRCRAFTS(1)%XSEGP    = 100. * (/1003.6, 990.8, 988.1, 988.5, 989.3,&
 988.9, 989.6, 989.9, 990.3, 989.2,&
 990.8, 993.9, 987.7, 987.2, 992.0,&
 995.2, 993.9, 994.0, 994.3, 993.9,&
 993.9, 992.6, 981.6, 968.0, 954.6,&
 942.5, 929.8, 917.8, 904.2, 891.8,&
 879.5, 867.9, 857.0, 846.5, 840.0,&
 844.9, 857.8, 873.5, 889.7, 905.3,&
 921.5, 937.8, 953.9, 963.7, 978.8,&
 993.0, 984.1, 970.4, 955.6, 943.1,&
 930.3, 916.8, 904.4, 891.6, 878.6,&
 866.2, 854.3, 846.2, 851.2, 863.0,&
 878.3, 895.0, 912.3, 929.7, 944.7,&
 959.2, 967.2, 977.6, 981.9, 981.1,&
 982.1, 981.9, 984.4, 984.2, 983.6,&
 982.1, 978.6, 980.5, 982.1, 983.1,&
 984.2, 984.5, 983.6, 996.0,1003.8,&
1004.2,1001.4,1000.5,1002.3,1005.9,&
1000.9, 992.8, 989.7, 987.1, 985.1,&
 984.3, 982.4, 986.7, 999.1, 994.8,&
 984.1, 985.1, 997.0, 988.2, 975.0,&
 963.0, 949.0, 937.4, 925.3, 912.6,&
 898.8, 886.1, 873.6, 860.8, 848.3,&
 850.2, 863.4, 880.2, 898.0, 916.3,&
 932.8, 949.7, 959.7, 947.5, 933.3,&
 920.8, 907.4, 894.0, 881.4, 869.0,&
 858.0, 848.9, 852.2, 863.2, 880.0,&
 895.3, 909.6, 926.1, 942.0, 958.6,&
 977.3, 993.0, 995.6, 995.0, 993.0,&
 996.2, 995.1, 994.2, 993.4, 993.6,&
 992.0, 991.3, 993.2, 991.6, 993.1,&
 992.7, 992.0, 992.0, 989.4, 991.2,&
 989.5, 981.8, 977.8, 983.3,1001.9,&
1007.0,1006.8,1006.8, 1006.8 /)
ELSE
  ALLOCATE(TAIRCRAFTS(1)%XSEGZ   (TAIRCRAFTS(1)%NSEG+1))
TAIRCRAFTS(1)%XSEGZ    = (/8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
IF ( NAIRCRAFTS < 2 ) RETURN
#else
CALL PRINT_MSG( NVERB_FATAL, 'GEN', 'INI_AIRCRAFT', 'aircraft characteristics are commented' )
#endif
!----------------------------------------------------------------------------
!
!*      1.   Aircraft number 2
!            -----------------
!
!* aircraft type
!

!* aircraft flight name
!
!
!* time step for storage
!
!
!* take-off date and time
!
TAIRCRAFTS(2)%TLAUNCH%nyear  =  2007
TAIRCRAFTS(2)%TLAUNCH%nmonth =    04
TAIRCRAFTS(2)%TLAUNCH%nday   =    19
TAIRCRAFTS(2)%TLAUNCH%xtime  = 48060.
!
!* number of flight segments
!
!
!* initalisation of flag for pressure (T) or Z(F) for aicraft altitude
!
!
!* allocation of the arrays
!
ALLOCATE(TAIRCRAFTS(2)%XSEGTIME(TAIRCRAFTS(2)%NSEG  ))
ALLOCATE(TAIRCRAFTS(2)%XSEGLAT (TAIRCRAFTS(2)%NSEG+1))
ALLOCATE(TAIRCRAFTS(2)%XSEGLON (TAIRCRAFTS(2)%NSEG+1))
!
!* duration of the segments (seconds)
!
TAIRCRAFTS(2)%XSEGTIME     = (/60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60,&
   60,   60,   60,   60,   60,   60  /)
!
!* latitudes of the segments ends (1st point is takeoff, last point is landing)
!        (decimal degrees)
!
TAIRCRAFTS(2)%XSEGLAT      = (/ 44.39819, 44.39967, 44.40104, 44.40074, 44.40085,&
 44.39843, 44.39619, 44.39141, 44.38353, 44.37732,&
 44.37508, 44.37609, 44.37377, 44.36764, 44.36083,&
 44.35442, 44.37187, 44.39327, 44.41394, 44.43280,&
 44.44887, 44.46759, 44.47026, 44.45759, 44.46716,&
 44.48098, 44.49223, 44.48031, 44.46436, 44.46050,&
 44.46611, 44.47339, 44.47535, 44.46444, 44.46467,&
 44.47678, 44.49333, 44.50428, 44.51275, 44.52244,&
 44.53453, 44.54696, 44.55673, 44.56092, 44.56132,&
 44.56116, 44.56225, 44.56290, 44.56055, 44.55233,&
 44.54409, 44.53433, 44.52137, 44.50897, 44.49627,&
 44.48420, 44.47599, 44.46897, 44.46110, 44.45206,&
 44.44454, 44.43702, 44.42862, 44.41992, 44.40707,&
 44.38769, 44.36858, 44.34945, 44.32974, 44.30938,&
 44.28888, 44.26943, 44.27339, 44.29464, 44.32345,&
 44.35428, 44.38620, 44.41810, 44.43924, 44.42371,&
 44.40729, 44.39663, 44.39174, 44.38035, 44.35685,&
 44.35082, 44.37277, 44.37210, 44.37059, 44.37076,&
 44.36948, 44.35924, 44.34744, 44.34207, 44.33859,&
 44.33485, 44.32219, 44.30517, 44.28314, 44.25674,&
 44.23110, 44.20517, 44.18849, 44.18723, 44.18804,&
 44.18820, 44.18341, 44.16808, 44.14988, 44.12651,&
 44.09887, 44.10007, 44.13022, 44.15963, 44.16313,&
 44.14156, 44.11520, 44.08806, 44.06374, 44.05124,&
 44.04458, 44.04106, 44.04035, 44.04010, 44.03897,&
 44.03530, 44.03939, 44.05114, 44.06269, 44.07460,&
 44.08650, 44.09131, 44.08050, 44.09213, 44.10666,&
 44.12659, 44.14738, 44.16590, 44.18314, 44.19906,&
 44.21885, 44.24219, 44.26652, 44.29116, 44.31433,&
 44.33735, 44.36057, 44.37947, 44.39634, 44.41202,&
 44.42718, 44.44310, 44.45702, 44.46577, 44.47367,&
 44.47522, 44.48508, 44.49589, 44.50652, 44.51467,&
 44.52342, 44.53589, 44.54841, 44.55751, 44.55326,&
 44.54398, 44.53334, 44.52054, 44.50654, 44.49421,&
 44.48487, 44.47112, 44.45230, 44.43285, 44.41224,&
 44.39065, 44.36929, 44.35484, 44.35927, 44.36936,&
 44.37609, 44.37666, 44.37590, 44.38037, 44.38779,&
 44.39413, 44.39740, 44.40002, 44.40032, 44.39755,&
 44.39226, 44.39494, 44.39910, 44.39862, 44.39719,&
 44.39691, 44.39692, 44.39689, 44.39694   /)
!
!* longitudes of the segments ends (1st point is takeoff, last point is landing)
!        (decimal degrees)
!
TAIRCRAFTS(2)%XSEGLON      = (/0.76323, 0.75549, 0.73212, 0.70405, 0.67289,&
 0.64082, 0.60831, 0.57717, 0.54697, 0.51578,&
 0.48245, 0.45056, 0.41783, 0.38851, 0.36046,&
 0.32828, 0.30353, 0.28176, 0.25886, 0.23647,&
 0.21031, 0.18783, 0.19138, 0.20574, 0.19556,&
 0.17902, 0.17207, 0.18561, 0.20057, 0.21096,&
 0.19209, 0.17406, 0.18880, 0.21157, 0.20492,&
 0.17724, 0.14803, 0.11416, 0.07884, 0.04294,&
 0.00754,-0.02836,-0.06645,-0.10613,-0.14594,&
-0.18382,-0.21191,-0.23806,-0.26153,-0.28229,&
-0.30235,-0.32461,-0.35502,-0.38888,-0.42649,&
-0.46658,-0.49951,-0.52354,-0.54620,-0.56911,&
-0.59210,-0.61530,-0.63781,-0.66103,-0.68000,&
-0.68664,-0.68859,-0.68904,-0.68633,-0.68257,&
-0.67785,-0.67856,-0.68504,-0.67421,-0.65909,&
-0.64292,-0.62468,-0.60554,-0.60962,-0.64284,&
-0.68049,-0.72153,-0.76308,-0.79993,-0.82295,&
-0.80244,-0.79925,-0.83586,-0.87284,-0.90717,&
-0.93954,-0.96673,-0.99345,-1.02688,-1.06013,&
-1.09311,-1.12010,-1.14430,-1.15772,-1.15729,&
-1.15461,-1.15633,-1.17298,-1.19786,-1.22215,&
-1.24575,-1.26738,-1.27606,-1.27726,-1.28392,&
-1.29406,-1.29028,-1.29255,-1.28781,-1.27630,&
-1.29478,-1.30461,-1.31179,-1.30894,-1.28378,&
-1.25748,-1.23181,-1.20656,-1.17989,-1.15381,&
-1.12789,-1.10402,-1.08189,-1.05854,-1.03571,&
-1.01321,-0.98957,-0.98981,-0.98826,-0.96629,&
-0.94082,-0.91032,-0.87556,-0.83647,-0.79522,&
-0.75987,-0.73047,-0.70212,-0.67419,-0.64559,&
-0.61580,-0.58662,-0.56599,-0.55283,-0.53912,&
-0.52493,-0.51192,-0.49392,-0.47041,-0.45111,&
-0.43705,-0.41091,-0.38491,-0.35776,-0.32809,&
-0.29403,-0.25181,-0.20625,-0.15899,-0.11076,&
-0.06454,-0.01989, 0.02357, 0.06550, 0.10835,&
 0.15086, 0.18573, 0.21197, 0.23662, 0.25944,&
 0.28144, 0.30338, 0.32757, 0.35913, 0.39246,&
 0.42650, 0.46119, 0.49538, 0.52941, 0.56250,&
 0.59510, 0.63037, 0.66574, 0.69774, 0.72973,&
 0.75999, 0.77280, 0.75992, 0.76224, 0.76317,&
 0.76352, 0.76357, 0.76358, 0.76349 /)
!
!* pressure of the segments ends (1st point is takeoff, last point is landing)
!        (pascals)
!
IF (TAIRCRAFTS(2)%LALTDEF) THEN
  ALLOCATE(TAIRCRAFTS(2)%XSEGP   (TAIRCRAFTS(2)%NSEG+1))
TAIRCRAFTS(2)%XSEGP = 100. * (/1001.,1001.0, 989.2, 987.5, 987.5,&
 987.9, 989.1, 990.2, 989.3, 988.6,&
 989.8, 989.6, 991.0, 986.1, 980.7,&
 986.5, 991.9, 991.5, 993.0, 992.1,&
 991.3, 991.8, 982.3, 972.0, 960.0,&
 950.5, 938.4, 924.8, 911.7, 899.5,&
 886.9, 876.2, 864.0, 849.9, 843.7,&
 852.1, 861.8, 871.3, 880.8, 891.3,&
 901.5, 913.5, 926.8, 940.6, 952.3,&
 952.9, 938.6, 921.6, 907.2, 898.2,&
 884.6, 880.2, 892.0, 902.0, 916.1,&
 931.1, 926.4, 909.7, 897.0, 891.0,&
 880.8, 868.3, 861.0, 851.4, 842.2,&
 833.7, 823.2, 809.5, 799.0, 789.0,&
 778.7, 768.7, 759.3, 761.1, 774.5,&
 789.5, 809.8, 829.7, 841.2, 856.2,&
 871.5, 886.9, 904.8, 923.0, 937.5,&
 952.0, 965.7, 980.8, 985.2, 988.0,&
 987.3, 985.8, 986.6, 989.8, 990.7,&
 991.4, 990.5, 989.1, 988.2, 988.0,&
 984.7, 985.0, 977.8, 964.8, 952.8,&
 941.3, 929.7, 918.2, 909.4, 915.3,&
 928.5, 943.0, 961.3, 978.0, 989.2,&
 992.9, 994.5, 994.4, 987.9, 974.2,&
 960.6, 946.6, 933.5, 920.8, 908.2,&
 895.7, 883.6, 872.7, 861.4, 850.0,&
 837.7, 825.8, 814.0, 803.1, 796.9,&
 803.0, 812.6, 824.4, 841.8, 859.3,&
 876.9, 893.8, 910.1, 928.2, 942.5,&
 962.5, 978.7, 964.3, 951.7, 937.5,&
 921.1, 906.0, 891.0, 879.2, 862.9,&
 847.7, 836.1, 826.2, 814.5, 802.0,&
 806.3, 820.0, 836.0, 853.4, 870.7,&
 889.7, 909.7, 929.1, 950.2, 971.8,&
 988.8, 993.3, 992.3, 991.9, 991.4,&
 992.0, 991.7, 988.2, 986.2, 989.9,&
 990.5, 991.2, 989.3, 988.5, 988.2,&
 986.8, 986.4, 987.0, 981.0, 975.5,&
 975.8, 993.9,1004.1,1004.1,1004.1,&
1004.1,1004.1,1004.1,1004.1 /)
ELSE
  ALLOCATE(TAIRCRAFTS(2)%XSEGZ   (TAIRCRAFTS(2)%NSEG+1))
  TAIRCRAFTS(2)%XSEGZ    = (/8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000  /)
ENDIF
!
IF ( NAIRCRAFTS < 3 ) RETURN
#else
CALL PRINT_MSG( NVERB_FATAL, 'GEN', 'INI_AIRCRAFT', 'aircraft characteristics are commented' )
#endif
!----------------------------------------------------------------------------
!
!*      1.   Aircraft number 3
!            -----------------
!
!* aircraft type
!

!* aircraft flight name
!
!
!* time step for storage
!
!
!* take-off date and time
!
TAIRCRAFTS(3)%TLAUNCH%nyear  =  2007
TAIRCRAFTS(3)%TLAUNCH%nmonth =    04
TAIRCRAFTS(3)%TLAUNCH%nday   =    19
TAIRCRAFTS(3)%TLAUNCH%xtime  = 45369
!
!* number of flight segments
!
!
!* initalisation of flag for pressure (T) or Z(F) for aicraft altitude
!
!
!* allocation of the arrays
!
ALLOCATE(TAIRCRAFTS(3)%XSEGTIME(TAIRCRAFTS(3)%NSEG  ))
ALLOCATE(TAIRCRAFTS(3)%XSEGLAT (TAIRCRAFTS(3)%NSEG+1))
ALLOCATE(TAIRCRAFTS(3)%XSEGLON (TAIRCRAFTS(3)%NSEG+1))
!
!* duration of the segments (seconds)
!
TAIRCRAFTS(3)%XSEGTIME = (/   15,   16,   16,   18,   17,   17,&
   22,   25,   19,   19,   22,   27,&
   28,   27,   29,   32,   30,   24,&
  169,   18,   15,   18,   17,   16,&
   16,   14,   14,   18,   17,   15,&
   14,   14,   19,   20,   16,   15,&
   14,   16,   21 /)
                                  
!
!* latitudes of the segments ends (1st point is takeoff, last point is landing)
!        (decimal degrees)
!
TAIRCRAFTS(3)%XSEGLAT = (/ 44.14451, 44.14084, 44.14068, 44.14479, 44.14884,&
 44.14843, 44.14437, 44.14127, 44.14574, 44.14858,&
 44.14655, 44.14130, 44.14384, 44.14738, 44.14158,&
 44.14245, 44.14607, 44.14023, 44.14227, 44.15136,&
 44.14792, 44.14352, 44.13874, 44.13904, 44.14350,&
 44.14701, 44.14614, 44.14223, 44.14001, 44.14320,&
 44.14671, 44.14661, 44.14324, 44.14091, 44.14492,&
 44.14721, 44.14510, 44.14152, 44.14219, 44.14698 /)
!
!* longitudes of the segments ends (1st point is takeoff, last point is landing)
!        (decimal degrees)
!
TAIRCRAFTS(3)%XSEGLON   = (/0.95322, 0.95562, 0.96155, 0.96490, 0.96186,&
 0.95576, 0.95421, 0.96105, 0.96593, 0.96076,&
 0.95485, 0.95618, 0.96341, 0.95769, 0.95681,&
 0.96585, 0.96073, 0.96158, 0.97041, 0.96299,&
 0.95662, 0.95481, 0.95871, 0.96586, 0.96804,&
 0.96407, 0.95952, 0.95957, 0.96608, 0.97088,&
 0.96825, 0.96292, 0.96078, 0.96622, 0.96953,&
 0.96476, 0.96053, 0.96218, 0.96765, 0.96600 /)
!
!* pressure of the segments ends (1st point is takeoff, last point is landing)
!        (pascals)
!
IF (TAIRCRAFTS(3)%LALTDEF) THEN
  ALLOCATE(TAIRCRAFTS(3)%XSEGP   (TAIRCRAFTS(3)%NSEG+1))
TAIRCRAFTS(3)%XSEGP    = 100. * (/ 992.5, 987.4, 982.1, 976.4, 969.3,&
 964.3, 958.4, 952.9, 947.5, 942.8,&
 936.5, 930.8, 925.6, 919.8, 914.6,&
 909.2, 903.6, 898.0, 893.0, 881.8,&
 887.3, 892.5, 897.8, 903.1, 908.6,&
 914.1, 919.2, 924.9, 929.5, 935.2,&
 940.4, 946.6, 951.8, 957.8, 963.1,&
 969.1, 974.1, 980.0, 986.0, 993.0 /)
ELSE
  ALLOCATE(TAIRCRAFTS(3)%XSEGZ   (TAIRCRAFTS(3)%NSEG+1))
  TAIRCRAFTS(3)%XSEGZ    = (/8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000  /)
ENDIF
!
IF ( NAIRCRAFTS < 4 ) RETURN
#else
CALL PRINT_MSG( NVERB_FATAL, 'GEN', 'INI_AIRCRAFT', 'aircraft characteristics are commented' )
#endif
!----------------------------------------------------------------------------
!
!*      1.   Aircraft number 4
!            -----------------
!
!* aircraft type
!

!* aircraft flight name
!
!
!* time step for storage
!
!
!* take-off date and time
!
TAIRCRAFTS(4)%TLAUNCH%nyear  =  2007
TAIRCRAFTS(4)%TLAUNCH%nmonth =    04
TAIRCRAFTS(4)%TLAUNCH%nday   =    19
TAIRCRAFTS(4)%TLAUNCH%xtime  = 60392.
!
!* number of flight segments
!
!
!* initalisation of flag for pressure (T) or Z(F) for aicraft altitude
!
!
!* allocation of the arrays
!
ALLOCATE(TAIRCRAFTS(4)%XSEGTIME(TAIRCRAFTS(4)%NSEG  ))
ALLOCATE(TAIRCRAFTS(4)%XSEGLAT (TAIRCRAFTS(4)%NSEG+1))
ALLOCATE(TAIRCRAFTS(4)%XSEGLON (TAIRCRAFTS(4)%NSEG+1))
!
!* duration of the segments (seconds)
!
TAIRCRAFTS(4)%XSEGTIME = (/ 36,   18,   18,   21,   24,   23,&
   20,   20,   25,   27,   21,   25,&
   27,   23,   21,   23,   25,   21,&
   27,  190,   17,   17,   18,   17,&
   18,   17,   15,   18,   22,   17,&
   16,   18,   22,   22,   19,   20,&
   21,   23,   22  /)
!
!* latitudes of the segments ends (1st point is takeoff, last point is landing)
!        (decimal degrees)
!
TAIRCRAFTS(4)%XSEGLAT = (/ 44.14025, 44.13824, 44.14291, 44.14575, 44.14321,&
 44.13749, 44.13853, 44.14373, 44.14530, 44.13921,&
 44.13773, 44.14285, 44.13974, 44.13622, 44.14093,&
 44.14375, 44.13868, 44.13771, 44.14272, 44.14156,&
 44.14130, 44.14335, 44.14031, 44.13480, 44.13150,&
 44.13157, 44.13507, 44.13921, 44.14201, 44.13823,&
 44.13479, 44.13668, 44.14132, 44.14112, 44.13621,&
 44.13775, 44.14254, 44.14194, 44.13669, 44.13837 /)
                       !
!* longitudes of the segments ends (1st point is takeoff, last point is landing)
!        (decimal degrees)
!
TAIRCRAFTS(4)%XSEGLON  = (/ 0.94868, 0.95712, 0.95820, 0.95265, 0.94556,&
 0.94730, 0.95518, 0.95559, 0.94882, 0.94656,&
 0.95488, 0.95463, 0.94889, 0.95589, 0.95988,&
 0.95389, 0.95076, 0.95834, 0.95888, 0.95095,&
 0.95897, 0.95259, 0.94684, 0.94743, 0.95294,&
 0.96042, 0.96527, 0.96527, 0.95949, 0.95413,&
 0.95842, 0.96350, 0.96231, 0.95483, 0.95597,&
 0.96187, 0.96037, 0.95264, 0.95278, 0.95857 /)
!
!* pressure of the segments ends (1st point is takeoff, last point is landing)
!        (pascals)
!
IF (TAIRCRAFTS(4)%LALTDEF) THEN
  ALLOCATE(TAIRCRAFTS(4)%XSEGP   (TAIRCRAFTS(4)%NSEG+1))
TAIRCRAFTS(4)%XSEGP = 100. * (/ 992.3, 985.4, 979.9, 974.2, 969.2,&
 962.8, 957.7, 952.1, 946.3, 940.5,&
 935.3, 930.4, 924.0, 918.9, 913.4,&
 907.8, 902.8, 897.1, 892.2, 886.3,&
 881.6, 886.6, 891.9, 897.0, 902.3,&
 907.9, 912.8, 918.3, 924.0, 929.0,&
 934.6, 940.3, 946.0, 951.4, 956.5,&
 962.8, 968.1, 973.7, 979.3, 984.9 /)
 ELSE
  ALLOCATE(TAIRCRAFTS(4)%XSEGZ   (TAIRCRAFTS(4)%NSEG+1))
  TAIRCRAFTS(4)%XSEGZ    = (/8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000,&
8000,8000,8000,8000,8000/)
ENDIF
!
IF ( NAIRCRAFTS < 5 ) RETURN
#else
CALL PRINT_MSG( NVERB_FATAL, 'GEN', 'INI_AIRCRAFT', 'aircraft characteristics are commented' )
#endif
!----------------------------------------------------------------------------
!
!*      1.   Aircraft number 5
!            -----------------
!
!* aircraft type
!

!* aircraft flight name
!
!
!* time step for storage
!
!
!* take-off date and time
!
TAIRCRAFTS(5)%TLAUNCH%nyear  =  2007
TAIRCRAFTS(5)%TLAUNCH%nmonth =    04
TAIRCRAFTS(5)%TLAUNCH%nday   =    19
TAIRCRAFTS(5)%TLAUNCH%xtime  = 43380.
!
!* number of flight segments
!
!
!* initalisation of flag for pressure (T) or Z(F) for aicraft altitude
!
!
!* allocation of the arrays
!
ALLOCATE(TAIRCRAFTS(5)%XSEGTIME(TAIRCRAFTS(5)%NSEG  ))
ALLOCATE(TAIRCRAFTS(5)%XSEGLAT (TAIRCRAFTS(5)%NSEG+1))
ALLOCATE(TAIRCRAFTS(5)%XSEGLON (TAIRCRAFTS(5)%NSEG+1))
!
!* duration of the segments (seconds)
!
TAIRCRAFTS(5)%XSEGTIME = (/  28,   28,   29,   29,   29,   28,&
   28,   28,   29,   26,   28,   27,&
   28,   27,   28,   27,   25,   27,&
   27,   26,   24,   25,   26,   26,&
   24,   25,   27,   27,   25,   27,&
   27,   28,   27,   28,   27,   27,&
   28,   28,   27,   28,   28,   28,&
   28,   28,   28,   27,   28,   26,&
   27,   27,   27,   26,   25,   25,&
   27,   27,   26,   25,   28,   28,&
   28,   27,   29,   27,   27,   28,&
   29,   27,   27,   27,   27,   26,&
   26,   26,   26,   25,   26,   26,&
   26,   27,   26,   25,   26,   25,&
   26,   25,   25,   25,   26,   25,&
   24,   25,   25,   25,   25,   24,&
   26,   26,   25,   25,   25,   26,&
   24,   23,   23,   24,   25,   22,&
   21,   24,   25,   24,   24,   24,&
   24,   24,   26,   26,   24,   26,&
   26,   25,   25,   27,   25,   25,&
   25,   25,   24,   24,   25,   24,&
   25,   24,   24,   24,   24,   25,&
   24,   24,   23,   25,   25,   24,&
   23,   25,   27,   26,   24,   25,&
   27,   27,   26,   26,   26,   25,&
   25,   26,   25,   25,   25,   25,&
   25,   26,   26,   25,   25,   25,&
   26,   26,   25,   25,   25,   25,&
   25,   25  /) 

!
!* latitudes of the segments ends (1st point is takeoff, last point is landing)
!        (decimal degrees)
!
TAIRCRAFTS(5)%XSEGLAT = (/44.38992, 44.38830, 44.38713, 44.38609, 44.38512,&
 44.38420, 44.38336, 44.38248, 44.38151, 44.38046,&
 44.37942, 44.37835, 44.37729, 44.37630, 44.37530,&
 44.37407, 44.37156, 44.36766, 44.36184, 44.35421,&
 44.34673, 44.33986, 44.33271, 44.32536, 44.31800,&
 44.31084, 44.30350, 44.29764, 44.29618, 44.29837,&
 44.30431, 44.31233, 44.32061, 44.32872, 44.33691,&
 44.34478, 44.35284, 44.36091, 44.36894, 44.37666,&
 44.38478, 44.39273, 44.40079, 44.40907, 44.41711,&
 44.42513, 44.43278, 44.44096, 44.44872, 44.45604,&
 44.46205, 44.46722, 44.47121, 44.47528, 44.47961,&
 44.48401, 44.48833, 44.49243, 44.49633, 44.50052,&
 44.50473, 44.50888, 44.51291, 44.51712, 44.52108,&
 44.52521, 44.52945, 44.53390, 44.53808, 44.54208,&
 44.54610, 44.55014, 44.55407, 44.55854, 44.56353,&
 44.56913, 44.57520, 44.58130, 44.58722, 44.59335,&
 44.59960, 44.60600, 44.61232, 44.61881, 44.62519,&
 44.63163, 44.63794, 44.64420, 44.65037, 44.65659,&
 44.66282, 44.66911, 44.67549, 44.68206, 44.68845,&
 44.69469, 44.70078, 44.70619, 44.70841, 44.70754,&
 44.70336, 44.69652, 44.68935, 44.68254, 44.67577,&
 44.66869, 44.66101, 44.65345, 44.64679, 44.64044,&
 44.63337, 44.62587, 44.61864, 44.61169, 44.60483,&
 44.59803, 44.59103, 44.58360, 44.57622, 44.56934,&
 44.56229, 44.55523, 44.54845, 44.54173, 44.53448,&
 44.52751, 44.52062, 44.51361, 44.50655, 44.49974,&
 44.49290, 44.48547, 44.47823, 44.47103, 44.46391,&
 44.45718, 44.45013, 44.44316, 44.43579, 44.42883,&
 44.42169, 44.41486, 44.40771, 44.40028, 44.39341,&
 44.38669, 44.37949, 44.37202, 44.36499, 44.35838,&
 44.35147, 44.34417, 44.33688, 44.32985, 44.32279,&
 44.31593, 44.30918, 44.30215, 44.29464, 44.28732,&
 44.27999, 44.27291, 44.26616, 44.25944, 44.25235,&
 44.24517, 44.23800, 44.23081, 44.22393, 44.21662,&
 44.20946, 44.20266, 44.19582, 44.18895, 44.18196,&
 44.17498, 44.16789  /)

!
!* longitudes of the segments ends (1st point is takeoff, last point is landing)
!        (decimal degrees)
!
TAIRCRAFTS(5)%XSEGLON = (/ 0.60996, 0.59790, 0.58554, 0.57296, 0.56046,&
 0.54813, 0.53613, 0.52410, 0.51125, 0.49815,&
 0.48593, 0.47312, 0.46084, 0.44829, 0.43635,&
 0.42374, 0.41321, 0.40397, 0.39536, 0.38761,&
 0.37986, 0.37280, 0.36554, 0.35794, 0.35061,&
 0.34350, 0.33612, 0.32785, 0.32066, 0.31451,&
 0.30861, 0.30376, 0.29840, 0.29296, 0.28726,&
 0.28162, 0.27583, 0.26994, 0.26423, 0.25891,&
 0.25323, 0.24778, 0.24212, 0.23624, 0.23064,&
 0.22502, 0.21967, 0.21392, 0.20841, 0.20143,&
 0.19328, 0.18381, 0.17339, 0.16261, 0.15162,&
 0.14002, 0.12849, 0.11740, 0.10678, 0.09554,&
 0.08426, 0.07307, 0.06239, 0.05099, 0.04032,&
 0.02923, 0.01810, 0.00646,-0.00451,-0.01539,&
-0.02655,-0.03777,-0.04874,-0.05951,-0.06992,&
-0.08001,-0.08912,-0.09831,-0.10747,-0.11645,&
-0.12552,-0.13428,-0.14260,-0.15142,-0.16039,&
-0.16949,-0.17857,-0.18770,-0.19650,-0.20544,&
-0.21419,-0.22292,-0.23212,-0.24134,-0.25051,&
-0.25963,-0.26837,-0.27772,-0.28662,-0.29513,&
-0.30338,-0.31122,-0.31934,-0.32710,-0.33460,&
-0.34242,-0.35080,-0.35914,-0.36639,-0.37351,&
-0.38158,-0.38999,-0.39802,-0.40577,-0.41337,&
-0.42071,-0.42825,-0.43635,-0.44428,-0.45168,&
-0.45980,-0.46756,-0.47507,-0.48266,-0.49060,&
-0.49836,-0.50612,-0.51447,-0.52244,-0.53007,&
-0.53764,-0.54520,-0.55282,-0.56051,-0.56820,&
-0.57580,-0.58375,-0.59147,-0.59952,-0.60706,&
-0.61472,-0.62227,-0.63041,-0.63860,-0.64631,&
-0.65352,-0.66121,-0.66938,-0.67724,-0.68459,&
-0.69224,-0.70005,-0.70780,-0.71548,-0.72306,&
-0.73052,-0.73777,-0.74522,-0.75335,-0.76142,&
-0.76949,-0.77717,-0.78452,-0.79186,-0.79943,&
-0.80743,-0.81530,-0.82307,-0.83074,-0.83852,&
-0.84620,-0.85372,-0.86115,-0.86912,-0.87743,&
-0.88529,-0.89333  /)
!
!
!* pressure of the segments ends (1st point is takeoff, last point is landing)
!        (pascals)
!
IF (TAIRCRAFTS(5)%LALTDEF) THEN
  ALLOCATE(TAIRCRAFTS(5)%XSEGP   (TAIRCRAFTS(5)%NSEG+1))
TAIRCRAFTS(5)%XSEGP  = 100. * (/ 995.7, 998.1, 998.7, 998.8, 999.1,&