diff --git a/src/LIB/SURCOUCHE/src/mode_io_write_nc4.f90 b/src/LIB/SURCOUCHE/src/mode_io_write_nc4.f90
index c554d7da1ce6d9fbace3b81c53129cbcc1de0448..1cb8612348223ff3d62f219c09d385f20064b867 100644
--- a/src/LIB/SURCOUCHE/src/mode_io_write_nc4.f90
+++ b/src/LIB/SURCOUCHE/src/mode_io_write_nc4.f90
@@ -2339,7 +2339,7 @@ subroutine Write_flyer_time_coord( tpflyer )
     tzdim%nid = idimid
 
     !Remark: incid is used in Write_time_coord
-    call Write_time_coord( tzdim, 'time axis for flyer', tpflyer%tpdates )
+    call Write_time_coord( tzdim, 'time axis for flyer', tpflyer%tflyer_time%tpdates )
 
     Deallocate( tzdim )
 
diff --git a/src/MNH/aircraft_balloon_evol.f90 b/src/MNH/aircraft_balloon_evol.f90
index 9642bcc4e8de8a731373a2db1fc3b94934abb8ce..bc55a8fa81c354217100c24237639f04ab554c1d 100644
--- a/src/MNH/aircraft_balloon_evol.f90
+++ b/src/MNH/aircraft_balloon_evol.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 2000-2021 CNRS, Meteo-France and Universite Paul Sabatier
+!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.
@@ -176,6 +176,7 @@ USE MODE_FSCATTER,         ONLY: QEPSW,QEPSI,BHMIE,MOMG,MG
 USE MODE_GRIDPROJ
 USE MODE_ll
 USE MODE_MSG
+USE MODE_STATPROF_TOOLS,   ONLY: STATPROF_INSTANT
 !
 USE MODI_GAMMA,            ONLY: GAMMA
 USE MODI_WATER_SUM
@@ -485,27 +486,8 @@ END IF
 !*      3.4  instant of storage
 !            ------------------
 !
-IF ( TPFLYER%T_CUR == XUNDEF ) TPFLYER%T_CUR = TPFLYER%STEP - PTSTEP
-!
-TPFLYER%T_CUR = TPFLYER%T_CUR + PTSTEP
-!
-IF ( TPFLYER%T_CUR >= TPFLYER%STEP - 1.E-10 ) THEN
-  GSTORE = .TRUE.
-  TPFLYER%T_CUR = TPFLYER%T_CUR - TPFLYER%STEP
-  TPFLYER%N_CUR = TPFLYER%N_CUR + 1
-END IF
-!
-IF (GSTORE) THEN
-  IN = TPFLYER%N_CUR
-#if 0
-  tpflyer%tpdates(in)%nyear  = tdtexp%nyear
-  tpflyer%tpdates(in)%nmonth = tdtexp%nmonth
-  tpflyer%tpdates(in)%nday   = tdtexp%nday
-  tpflyer%tpdates(in)%xtime  = tdtexp%xtime + ( in - 1 ) * tpflyer%step
-#else
-  tpflyer%tpdates(in) = tdtcur
-#endif
-END IF
+CALL  STATPROF_INSTANT( TPFLYER%TFLYER_TIME, IN )
+IF ( IN > 0 ) GSTORE = .TRUE. ! else no profiler storage at this time step
 !
 IF ( TPFLYER%FLY) THEN
 !
diff --git a/src/MNH/ini_aircraft.f90 b/src/MNH/ini_aircraft.f90
index 2df9363014ca83596f600d3a8d27b7bf60d4f77d..254889818d147a5045d8c7e5bda9f663f38b56db 100644
--- a/src/MNH/ini_aircraft.f90
+++ b/src/MNH/ini_aircraft.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 2000-2020 CNRS, Meteo-France and Universite Paul Sabatier
+!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.
@@ -127,7 +127,7 @@ TAIRCRAFT1%TITLE             = 'DIMO19A'
 !
 !* time step for storage
 !
-TAIRCRAFT1%STEP              = 60. 
+TAIRCRAFT1%TFLYER_TIME%XTSTEP = 60.
 !
 !* take-off date and time
 !
@@ -357,7 +357,7 @@ TAIRCRAFT2%TITLE             = 'DIMO19B'
 !
 !* time step for storage
 !
-TAIRCRAFT2%STEP             = 60.
+TAIRCRAFT2%TFLYER_TIME%XTSTEP = 60.
 !
 !* take-off date and time
 !
@@ -616,7 +616,7 @@ TAIRCRAFT3%TITLE             = 'SAAL19A'
 !
 !* time step for storage
 !
-TAIRCRAFT3%STEP             = 30.
+TAIRCRAFT3%TFLYER_TIME%XTSTEP = 30.
 !
 !* take-off date and time
 !
@@ -723,7 +723,7 @@ TAIRCRAFT4%TITLE             = 'SAAL19B'
 !
 !* time step for storage
 !
-TAIRCRAFT4%STEP             = 30.
+TAIRCRAFT4%TFLYER_TIME%XTSTEP = 30.
 !
 !* take-off date and time
 !
@@ -829,7 +829,7 @@ TAIRCRAFT5%TITLE             = 'SAIB19A'
 !
 !* time step for storage
 !
-TAIRCRAFT5%STEP             = 30.
+TAIRCRAFT5%TFLYER_TIME%XTSTEP = 30.
 !
 !* take-off date and time
 !
@@ -1073,7 +1073,7 @@ TAIRCRAFT6%TITLE             = 'SAIB19B'
 !
 !* time step for storage
 !
-TAIRCRAFT6%STEP             = 30.
+TAIRCRAFT6%TFLYER_TIME%XTSTEP = 30.
 !
 !* take-off date and time
 !
@@ -1314,7 +1314,7 @@ TAIRCRAFT7%TITLE             = 'TEST_19'
 !
 !* time step for storage
 !
-TAIRCRAFT7%STEP             = 60.
+TAIRCRAFT7%TFLYER_TIME%XTSTEP = 60.
 !
 !* take-off date and time
 !
@@ -1585,7 +1585,7 @@ TAIRCRAFT8%TITLE             = 'DIMO22B'
 !
 !* time step for storage
 !
-TAIRCRAFT8%STEP             = 60.
+TAIRCRAFT8%TFLYER_TIME%XTSTEP = 60.
 !
 !* take-off date and time
 !
@@ -1859,7 +1859,7 @@ TAIRCRAFT9%TITLE             = 'DIMO23A'
 !
 !* time step for storage
 !
-TAIRCRAFT9%STEP             = 60.
+TAIRCRAFT9%TFLYER_TIME%XTSTEP = 60.
 !
 !* take-off date and time
 !
diff --git a/src/MNH/ini_aircraft_balloon.f90 b/src/MNH/ini_aircraft_balloon.f90
index 72f52303a787df641d56e37fe99b3571260a156a..58803387be41bc9e30a843465c272925f3db8b78 100644
--- a/src/MNH/ini_aircraft_balloon.f90
+++ b/src/MNH/ini_aircraft_balloon.f90
@@ -317,9 +317,7 @@ TPFLYER%LAUNCH = TPDTSEG
 TPFLYER%CRASH  = .FALSE.
 TPFLYER%FLY    = .FALSE.
 !
-TPFLYER%T_CUR  = XUNDEF
-TPFLYER%N_CUR  = 0
-TPFLYER%STEP   = 60.     ! s
+TPFLYER%TFLYER_TIME%XTSTEP = 60. ! s
 !
 TPFLYER%LAT     = XUNDEF
 TPFLYER%LON     = XUNDEF
@@ -358,9 +356,9 @@ IF (TPFLYER%NMODEL > NMODEL) TPFLYER%NMODEL=0
 IF (IMI /= TPFLYER%NMODEL .AND. .NOT. (IMI==1 .AND. TPFLYER%NMODEL==0) ) RETURN
 !
 IF ( CPROGRAM == 'DIAG  ' ) THEN
-  ISTORE = INT ( NTIME_AIRCRAFT_BALLOON / TPFLYER%STEP ) + 1
+  ISTORE = INT ( NTIME_AIRCRAFT_BALLOON / TPFLYER%TFLYER_TIME%XTSTEP ) + 1
 ELSE
-  ISTORE = NINT ( ( PSEGLEN - DYN_MODEL(1)%XTSTEP ) / TPFLYER%STEP ) + 1
+  ISTORE = NINT ( ( PSEGLEN - DYN_MODEL(1)%XTSTEP ) / TPFLYER%TFLYER_TIME%XTSTEP ) + 1
 ENDIF
 !
 IF (TPFLYER%NMODEL == 0) ISTORE=0
@@ -369,7 +367,7 @@ IF (TPFLYER%NMODEL > 0) THEN
 ENDIF
 !
 !
-allocate( tpflyer%tpdates(istore) )
+allocate( tpflyer%tflyer_time%tpdates(istore) )
 ALLOCATE(TPFLYER%X   (ISTORE))
 ALLOCATE(TPFLYER%Y   (ISTORE))
 ALLOCATE(TPFLYER%Z   (ISTORE))
@@ -558,7 +556,7 @@ IF ( CPROGRAM == 'MESONH' .OR. CPROGRAM == 'SPAWN ' .OR. CPROGRAM == 'REAL  ' )
        " Lat=",ZLAT," Lon=",ZLON," Rho=",TPFLYER%RHO
     END IF
     !
-    TPFLYER%STEP  = MAX ( PTSTEP, TPFLYER%STEP )
+    TPFLYER%TFLYER_TIME%XTSTEP  = MAX ( PTSTEP, TPFLYER%TFLYER_TIME%XTSTEP )
   END IF
   !
 ELSE IF (CPROGRAM == 'DIAG  ' ) THEN
@@ -579,7 +577,7 @@ ELSE IF (CPROGRAM == 'DIAG  ' ) THEN
             " Lat=",ZLAT," Lon=",ZLON," Alt=",TPFLYER%Z_CUR
     END IF
     !
-    TPFLYER%STEP  = MAX (XSTEP_AIRCRAFT_BALLOON , TPFLYER%STEP )
+    TPFLYER%TFLYER_TIME%XTSTEP  = MAX (XSTEP_AIRCRAFT_BALLOON , TPFLYER%TFLYER_TIME%XTSTEP )
   END IF
 END IF
 !
@@ -611,7 +609,7 @@ IF ( IMI /= TPFLYER%NMODEL ) RETURN
 !
 LFLYER=.TRUE.
 !
-TPFLYER%STEP  = MAX ( PTSTEP, TPFLYER%STEP )
+TPFLYER%TFLYER_TIME%XTSTEP  = MAX ( PTSTEP, TPFLYER%TFLYER_TIME%XTSTEP )
 !
 IF (TPFLYER%SEG==0) THEN
   WRITE(ILUOUT,*) 'Error in aircraft flight path (aircraft number ',KNBR,' )'
diff --git a/src/MNH/ini_balloon.f90 b/src/MNH/ini_balloon.f90
index 71e935021ef69f07716cc6491b7613de82328b4f..5c0095d21dc107f1a880d9e6f032778db5d1b61a 100644
--- a/src/MNH/ini_balloon.f90
+++ b/src/MNH/ini_balloon.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 2000-2020 CNRS, Meteo-France and Universite Paul Sabatier
+!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.
@@ -152,7 +152,7 @@ TBALLOON1%PRES               = 98450.
 !
 !* time step for data storage  (s)
 !
-TBALLOON1%STEP               = 20.
+TBALLOON1%TFLYER_TIME%XTSTEP = 20.
 !
 !* ascentional vertical speed of the ballon (in calm air) (for 'RADIOS')
 !
@@ -207,7 +207,7 @@ TBALLOON2%PRES               = 98490.
 !
 !* time step for data storage  (s)
 !
-TBALLOON2%STEP               = 20.
+TBALLOON2%TFLYER_TIME%XTSTEP = 20.
 !
 !* ascentional vertical speed of the ballon (in calm air) (for 'RADIOS')
 !
@@ -263,7 +263,7 @@ TBALLOON3%ALT                =   865.
 !
 !* time step for data storage  (s)
 !
-TBALLOON3%STEP               = 20.
+TBALLOON3%TFLYER_TIME%XTSTEP = 20.
 !
 !* ascentional vertical speed of the ballon (in calm air) (for 'RADIOS')
 !
@@ -319,7 +319,7 @@ TBALLOON4%ALT                =   3959.
 !
 !* time step for data storage  (s)
 !
-TBALLOON4%STEP               = 20.
+TBALLOON4%TFLYER_TIME%XTSTEP = 20.
 !
 !* ascentional vertical speed of the ballon (in calm air) (for 'RADIOS')
 !
@@ -374,7 +374,7 @@ TBALLOON5%ALT                =    340.
 !
 !* time step for data storage  (s)
 !
-TBALLOON5%STEP               = 20.
+TBALLOON5%TFLYER_TIME%XTSTEP = 20.
 !
 !* ascentional vertical speed of the ballon (in calm air) (for 'RADIOS')
 !
@@ -429,7 +429,7 @@ TBALLOON6%LON                =  8.646
 !
 !* time step for data storage  (s)
 !
-TBALLOON6%STEP               = 20.
+TBALLOON6%TFLYER_TIME%XTSTEP = 20.
 !
 !* ascentional vertical speed of the ballon (in calm air) (for 'RADIOS')
 !
@@ -484,7 +484,7 @@ TBALLOON7%PRES               = 62360.
 !
 !* time step for data storage  (s)
 !
-TBALLOON7%STEP               = 20.
+TBALLOON7%TFLYER_TIME%XTSTEP = 20.
 !
 !* ascentional vertical speed of the ballon (in calm air) (for 'RADIOS')
 !
diff --git a/src/MNH/modd_aircraft_balloon.f90 b/src/MNH/modd_aircraft_balloon.f90
index 33d6f973fbc2407e4d9f72b8922e1d2e1179dc27..e3c30efca97acf7788e4ce3d9f7be2f03c84e639 100644
--- a/src/MNH/modd_aircraft_balloon.f90
+++ b/src/MNH/modd_aircraft_balloon.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 2000-2019 CNRS, Meteo-France and Universite Paul Sabatier
+!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.
@@ -40,7 +40,8 @@
 !             ------------
 !
 !
-use modd_type_date, only: date_time
+USE MODD_TYPE_STATPROF, ONLY: TSTATPROFTIME
+use modd_type_date,     only: date_time
 
 implicit none
 
@@ -66,9 +67,7 @@ LOGICAL                       :: FLY    ! occurence of flying
 !
 !* storage monitoring
 !
-REAL                          :: T_CUR  ! current time since last storage
-INTEGER                       :: N_CUR  ! current step of storage
-REAL                          :: STEP   ! storage time step
+TYPE(TSTATPROFTIME)           :: TFLYER_TIME ! Time management for flyer
 !
 !* balloon dynamical characteristics
 !
@@ -112,7 +111,6 @@ REAL                          :: P_CUR    ! current p (if 'AIRCRA' and 'ALTDEF'
 !
 !* data records
 !
-type(date_time), dimension(:), pointer :: tpdates => NULL() ! dates(n) (n: recording instants)
 REAL, DIMENSION(:),    POINTER :: X         => NULL() ! X(n)
 REAL, DIMENSION(:),    POINTER :: Y         => NULL() ! Y(n)
 REAL, DIMENSION(:),    POINTER :: Z         => NULL() ! Z(n)
diff --git a/src/MNH/modd_type_statprof.f90 b/src/MNH/modd_type_statprof.f90
index c456ae947a641ab239fef4d8b67ffe7e82228a30..a95c1e11cabfbf1ad402db480a0c1233c014943b 100644
--- a/src/MNH/modd_type_statprof.f90
+++ b/src/MNH/modd_type_statprof.f90
@@ -48,7 +48,7 @@ public :: TPROFILERDATA, TSTATIONDATA, TSTATPROFDATA
 
 TYPE :: TSTATPROFTIME
   REAL                                       :: XTIME_CUR = XUNDEF  ! current time since last storage
-  INTEGER                                    :: N_CUR     = 0           ! current step of storage
+  INTEGER                                    :: N_CUR     = 0       ! current step of storage
   REAL                                       :: XTSTEP    = 60.     ! storage time step (default reset later by INI_STATION_n)
   type(date_time), dimension(:), ALLOCATABLE :: tpdates             ! dates(n) (n: recording instants)
 END TYPE TSTATPROFTIME
diff --git a/src/MNH/write_aircraft_balloon.f90 b/src/MNH/write_aircraft_balloon.f90
index f957e9f773ae4e7322f6196eda1fe6f9a66df72a..e9a4ab409552b80d6f8107c6ef5ca387282e0305 100644
--- a/src/MNH/write_aircraft_balloon.f90
+++ b/src/MNH/write_aircraft_balloon.f90
@@ -192,6 +192,7 @@ CHARACTER(LEN=:), ALLOCATABLE                 :: YGROUPZ  ! group title
 CHARACTER(LEN=100), DIMENSION(:), ALLOCATABLE :: YCOMMENTZ! comment string
 CHARACTER(LEN=100), DIMENSION(:), ALLOCATABLE :: YTITLEZ  ! title
 CHARACTER(LEN=100), DIMENSION(:), ALLOCATABLE :: YUNITZ   ! physical unit
+INTEGER :: ISTORE
 INTEGER :: IPROCZ   ! number of variables records
 INTEGER :: JPROCZ   ! loop counter
 INTEGER :: JRR      ! loop counter
@@ -225,12 +226,14 @@ IF (LORILAM) IPROC = IPROC + JPMODE*3
 IF (LDUST) IPROC = IPROC + NMODE_DST*3
 IF (SIZE(TPFLYER%TSRAD)>0) IPROC = IPROC + 1
 !
-ALLOCATE (ZWORK6(1,1,1,size(tpflyer%tpdates),1,IPROC))
+ISTORE = SIZE( TPFLYER%TFLYER_TIME%TPDATES )
+
+ALLOCATE (ZWORK6(1,1,1,ISTORE,1,IPROC))
 ALLOCATE (YCOMMENT(IPROC))
 ALLOCATE (YTITLE  (IPROC))
 ALLOCATE (YUNIT   (IPROC))
 ALLOCATE (IGRID   (IPROC))
-ALLOCATE (ZWORKZ6(1,1,IKU,size(tpflyer%tpdates),1,IPROCZ))
+ALLOCATE (ZWORKZ6(1,1,IKU,ISTORE,1,IPROCZ))
 ALLOCATE (YCOMMENTZ(IPROCZ))
 ALLOCATE (YTITLEZ (IPROCZ))
 ALLOCATE (YUNITZ  (IPROCZ))
@@ -330,7 +333,7 @@ END DO
 !
 !add cloud liquid water content in g/m3 to compare to measurements from FSSP
 !IF (.NOT.(ANY(TPFLYER%P(:) == 0.))) THEN
-ALLOCATE (ZRHO(1,1,size(tpflyer%tpdates)))
+ALLOCATE (ZRHO(1,1,ISTORE))
 IF (SIZE(TPFLYER%R,2) >1) THEN !cloud water is present
   ZRHO(1,1,:) = 0.
   DO JRR=1,SIZE(TPFLYER%R,2)
@@ -338,7 +341,7 @@ IF (SIZE(TPFLYER%R,2) >1) THEN !cloud water is present
   ENDDO
   ZRHO(1,1,:) = TPFLYER%TH(:) * ( 1. + XRV/XRD*TPFLYER%R(:,1) )  &
                                 / ( 1. + ZRHO(1,1,:)              )
-  DO JPT=1,size(tpflyer%tpdates)
+  DO JPT=1,ISTORE
     IF (TPFLYER%P(JPT) == 0.) THEN
       ZRHO(1,1,JPT) = 0.
     ELSE
@@ -408,12 +411,12 @@ IF (SIZE(TPFLYER%SV,2)>=1) THEN
 
   IF ((LORILAM).AND. .NOT.(ANY(TPFLYER%P(:) == 0.))) THEN
 
-    ALLOCATE (ZSV(1,1,size(tpflyer%tpdates),NSV_AER))
-    ALLOCATE (ZRHO(1,1,size(tpflyer%tpdates)))
-    ALLOCATE (ZN0(1,1,size(tpflyer%tpdates),JPMODE))
-    ALLOCATE (ZRG(1,1,size(tpflyer%tpdates),JPMODE))
-    ALLOCATE (ZSIG(1,1,size(tpflyer%tpdates),JPMODE))
-    ALLOCATE (ZPTOTA(1,1,size(tpflyer%tpdates),NSP+NCARB+NSOA,JPMODE))
+    ALLOCATE (ZSV(1,1,ISTORE,NSV_AER))
+    ALLOCATE (ZRHO(1,1,ISTORE))
+    ALLOCATE (ZN0(1,1,ISTORE,JPMODE))
+    ALLOCATE (ZRG(1,1,ISTORE,JPMODE))
+    ALLOCATE (ZSIG(1,1,ISTORE,JPMODE))
+    ALLOCATE (ZPTOTA(1,1,ISTORE,NSP+NCARB+NSOA,JPMODE))
     ZSV(1,1,:,1:NSV_AER) = TPFLYER%SV(:,NSV_AERBEG:NSV_AEREND)
     IF (SIZE(TPFLYER%R,2) >0) THEN
       ZRHO(1,1,:) = 0.
@@ -431,7 +434,7 @@ IF (SIZE(TPFLYER%SV,2)>=1) THEN
     ZRG = 0.
     ZN0 = 0.
     ZPTOTA = 0.
-    DO JPT=1,size(tpflyer%tpdates) ! prevent division by zero if ZSV = 0.
+    DO JPT=1,ISTORE ! prevent division by zero if ZSV = 0.
       IF (ALL(ZSV(1,1,JPT,:)/=0.)) THEN
         CALL PPP2AERO(ZSV,ZRHO, PSIG3D=ZSIG, PRG3D=ZRG, PN3D=ZN0, PCTOTA=ZPTOTA)
       ENDIF
@@ -566,11 +569,11 @@ IF (SIZE(TPFLYER%SV,2)>=1) THEN
   END IF
 
   IF ((LDUST).AND. .NOT.(ANY(TPFLYER%P(:) == 0.))) THEN
-    ALLOCATE (ZSV(1,1,size(tpflyer%tpdates),NSV_DST))
-    ALLOCATE (ZRHO(1,1,size(tpflyer%tpdates)))
-    ALLOCATE (ZN0(1,1,size(tpflyer%tpdates),NMODE_DST))
-    ALLOCATE (ZRG(1,1,size(tpflyer%tpdates),NMODE_DST))
-    ALLOCATE (ZSIG(1,1,size(tpflyer%tpdates),NMODE_DST))
+    ALLOCATE (ZSV(1,1,ISTORE,NSV_DST))
+    ALLOCATE (ZRHO(1,1,ISTORE))
+    ALLOCATE (ZN0(1,1,ISTORE,NMODE_DST))
+    ALLOCATE (ZRG(1,1,ISTORE,NMODE_DST))
+    ALLOCATE (ZSIG(1,1,ISTORE,NMODE_DST))
     ZSV(1,1,:,1:NSV_DST) = TPFLYER%SV(:,NSV_DSTBEG:NSV_DSTEND)
     IF (SIZE(TPFLYER%R,2) >0) THEN
       ZRHO(1,1,:) = 0.
@@ -723,10 +726,10 @@ DO IK=1, IKU
 END DO
 !----------------------------------------------------------------------------
 !
-ALLOCATE (ZW6(1,1,1,size(tpflyer%tpdates),1,JPROC))
+ALLOCATE (ZW6(1,1,1,ISTORE,1,JPROC))
 ZW6  = ZWORK6(:,:,:,:,:,:JPROC)
 DEALLOCATE(ZWORK6)
-ALLOCATE (ZWZ6(1,1,IKU,size(tpflyer%tpdates),1,JPROCZ))
+ALLOCATE (ZWZ6(1,1,IKU,ISTORE,1,JPROCZ))
 ZWZ6 = ZWORKZ6(:,:,:,:,:,:JPROCZ)
 DEALLOCATE(ZWORKZ6)
 !
@@ -792,8 +795,8 @@ tzbudiachro%lnorm      = .false.
 ! tzbudiachro%nkl        = NOT SET (default values)
 ! tzbudiachro%nkh        = NOT SET (default values)
 
-call Write_diachro( tpdiafile, tzbudiachro, tzfields, tpflyer%tpdates, zw6, &
-                    tpflyer = tpflyer                                       )
+call Write_diachro( tpdiafile, tzbudiachro, tzfields, tpflyer%tflyer_time%tpdates, zw6, &
+                    tpflyer = tpflyer                                                   )
 
 deallocate( tzfields )
 
@@ -864,8 +867,8 @@ tzbudiachro%njh        = 1
 tzbudiachro%nkl        = 1
 tzbudiachro%nkh        = iku
 
-call Write_diachro( tpdiafile, tzbudiachro, tzfields, tpflyer%tpdates, zwz6, &
-                    tpflyer = tpflyer                                        )
+call Write_diachro( tpdiafile, tzbudiachro, tzfields, tpflyer%tflyer_time%tpdates, zwz6, &
+                    tpflyer = tpflyer                                                    )
 
 deallocate( tzfields )