diff --git a/src/MNH/aircraft_balloon.f90 b/src/MNH/aircraft_balloon.f90 index 5027747f5b37e84b67044d420c7c0a08ef174b94..3f7e8384f0663de5a2d13fca6f276ec1ca15e7ea 100644 --- a/src/MNH/aircraft_balloon.f90 +++ b/src/MNH/aircraft_balloon.f90 @@ -377,12 +377,12 @@ ISTORE_CUR = TPFLYER%TFLYER_TIME%N_CUR ! Determine size of data to send ! Characters, integers and logicals will be converted to reals. CMODEL and CTYPE will be coded by 1 real -IPACKSIZE = 16 + LEN(TPFLYER%CTITLE) + ISTORE_CUR * ( 18 + NRR + NSV * 2 + IKU * ( 9 + NRR ) ) +IPACKSIZE = 15 + LEN(TPFLYER%CTITLE) + ISTORE_CUR * ( 18 + NRR + NSV * 2 + IKU * ( 9 + NRR ) ) IF ( CCLOUD == 'LIMA' ) IPACKSIZE = IPACKSIZE + ISTORE_CUR * IKU * 2 SELECT TYPE ( TPFLYER ) CLASS IS ( TAIRCRAFTDATA ) - IPACKSIZE = IPACKSIZE + 5 + TPFLYER%NPOS * 6 + IPACKSIZE = IPACKSIZE + 6 + TPFLYER%NPOS * 6 CLASS IS ( TBALLOONDATA ) IPACKSIZE = IPACKSIZE + 15 @@ -463,7 +463,6 @@ END DO ZPACK(IPOS) = TPFLYER%XX_CUR; IPOS = IPOS + 1 ZPACK(IPOS) = TPFLYER%XY_CUR; IPOS = IPOS + 1 ZPACK(IPOS) = TPFLYER%XZ_CUR; IPOS = IPOS + 1 -ZPACK(IPOS) = TPFLYER%XP_CUR; IPOS = IPOS + 1 ZPACK(IPOS) = TPFLYER%NRANK_CUR; IPOS = IPOS + 1 @@ -532,6 +531,7 @@ SELECT TYPE ( TPFLYER ) ZPACK(IPOS) = TPFLYER%NPOS; IPOS = IPOS + 1 ZPACK(IPOS) = TPFLYER%NPOSCUR; IPOS = IPOS + 1 + ZPACK(IPOS) = TPFLYER%XP_CUR; IPOS = IPOS + 1 IPOSAIR = TPFLYER%NPOS @@ -738,7 +738,6 @@ END DO TPFLYER%XX_CUR = ZPACK(IPOS); IPOS = IPOS + 1 TPFLYER%XY_CUR = ZPACK(IPOS); IPOS = IPOS + 1 TPFLYER%XZ_CUR = ZPACK(IPOS); IPOS = IPOS + 1 -TPFLYER%XP_CUR = ZPACK(IPOS); IPOS = IPOS + 1 TPFLYER%NRANK_CUR = NINT( ZPACK(IPOS) ); IPOS = IPOS + 1 @@ -808,6 +807,8 @@ SELECT TYPE ( TPFLYER ) TPFLYER%NPOS = NINT( ZPACK(IPOS) ); IPOS = IPOS + 1 TPFLYER%NPOSCUR = NINT( ZPACK(IPOS) ); IPOS = IPOS + 1 + TPFLYER%XP_CUR = ZPACK(IPOS); IPOS = IPOS + 1 + IPOSAIR = TPFLYER%NPOS ALLOCATE( TPFLYER%XPOSLAT(IPOSAIR) ) diff --git a/src/MNH/ini_aircraft_balloon.f90 b/src/MNH/ini_aircraft_balloon.f90 index 61e6349733aadbc2fa057d9de6cd011fa4a32dcf..48f7b1e22d81e0dde1c15933169240920de14843 100644 --- a/src/MNH/ini_aircraft_balloon.f90 +++ b/src/MNH/ini_aircraft_balloon.f90 @@ -273,8 +273,6 @@ IF ( CPROGRAM == 'MESONH' .OR. CPROGRAM == 'SPAWN ' .OR. CPROGRAM == 'REAL ' ) LTIMEDEP = .TRUE. ) CALL IO_Field_read(TPINIFILE,TZFIELD,TPFLYER%XZ_CUR) - TPFLYER%XP_CUR = XUNDEF - TZFIELD = TFIELDMETADATA( & CMNHNAME = TRIM(TPFLYER%CTITLE)//'WASCENT', & CSTDNAME = '', & @@ -353,8 +351,6 @@ IF ( CPROGRAM == 'MESONH' .OR. CPROGRAM == 'SPAWN ' .OR. CPROGRAM == 'REAL ' ) LTIMEDEP = .TRUE. ) CALL IO_Field_read(TZFILE,TZFIELD,TPFLYER%XZ_CUR) - TPFLYER%XP_CUR = XUNDEF - TZFIELD = TFIELDMETADATA( & CMNHNAME = 'WASCENT', & CSTDNAME = '', & diff --git a/src/MNH/modd_aircraft_balloon.f90 b/src/MNH/modd_aircraft_balloon.f90 index 9383f14516ee881c80bcff3841c48bbd421ef2de..98bbd34ed663dd7037ed61a1122f139608284ae5 100644 --- a/src/MNH/modd_aircraft_balloon.f90 +++ b/src/MNH/modd_aircraft_balloon.f90 @@ -68,7 +68,7 @@ TYPE :: TFLYERDATA ! 'FIX' : NMODEL used during the run ! 'MOB' : change od model depends of the ! balloon/aircraft location - INTEGER :: NMODEL = 0 ! model number for each balloon/aircraft + INTEGER :: NMODEL = 0 ! model number for each balloon/aircraft (may change if CMODEL='MOB') INTEGER :: NID = 0 ! Identification number CHARACTER(LEN=6) :: CTYPE = '' ! flyer type: ! 'RADIOS' : radiosounding balloon @@ -91,7 +91,6 @@ TYPE :: TFLYERDATA REAL :: XX_CUR = XNEGUNDEF ! current x REAL :: XY_CUR = XNEGUNDEF ! current y REAL :: XZ_CUR = XNEGUNDEF ! current z (if 'RADIOS' or 'AIRCRA' and 'ALTDEF' = T) - REAL :: XP_CUR = XNEGUNDEF ! current p (if 'AIRCRA' and 'ALTDEF' = F) INTEGER :: NRANK_CUR = NFLYER_DEFAULT_RANK ! Rank of the process where the flyer is ! !* data records @@ -150,6 +149,7 @@ TYPE, EXTENDS( TFLYERDATA ) :: TAIRCRAFTDATA !* aircraft altitude type definition ! LOGICAL :: LALTDEF = .FALSE. ! TRUE == altitude given in pressure + REAL :: XP_CUR = XNEGUNDEF ! current p (only if LALTDEF = F) END TYPE TAIRCRAFTDATA TYPE, EXTENDS( TFLYERDATA ) :: TBALLOONDATA