Changeset 2095


Ignore:
Timestamp:
Jul 17, 2014, 1:12:30 PM (10 years ago)
Author:
Laurent Fairhead
Message:

Modifications nécessaires pour la bonne définition du temps dans les
fichier Xios


Necessary modifications for the definition of time in Xios files

Location:
LMDZ5/trunk/libf
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/trunk/libf/bibio/wxios.F90

    r2055 r2095  
    161161    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    162162
    163     SUBROUTINE wxios_set_cal(pasdetemps, calendrier, annee, mois, jour, heure)
     163    SUBROUTINE wxios_set_cal(pasdetemps, calendrier, annee, mois, jour, heure, ini_an, ini_mois, ini_jour, ini_heure)
    164164        IMPLICIT NONE
    165165        INCLUDE 'iniprint.h'
     
    167167     !Paramètres:
    168168     CHARACTER(len=*), INTENT(IN) :: calendrier
    169      INTEGER, INTENT(IN) :: annee, mois, jour
    170      REAL, INTENT(IN) :: pasdetemps, heure
     169     INTEGER, INTENT(IN) :: annee, mois, jour, ini_an, ini_mois, ini_jour
     170     REAL, INTENT(IN) :: pasdetemps, heure, ini_heure
    171171     
    172172     !Variables:
     
    197197        END SELECT
    198198       
    199         !Formatage de la date de départ:
    200         WRITE(date, "(i4.4,'-',i2.2,'-',i2.2,' 00:00:00')") annee, mois, jour
    201        
    202         IF (prt_level >= 10) WRITE(lunout,*) "wxios_set_cal: Initial time: ", date
    203        
    204         CALL xios_set_context_attr_hdl(g_ctx, start_date= date)
     199        !Formatage de la date d'origine:
     200        WRITE(date, "(i4.4,'-',i2.2,'-',i2.2,' ',i2.2,':00:00')") annee, mois, jour, int(heure)
     201       
     202        IF (prt_level >= 10) WRITE(lunout,*) "wxios_set_cal: Time origin: ", date
     203       
     204        CALL xios_set_context_attr_hdl(g_ctx, time_origin = date)
     205
     206        !Formatage de la date de debut:
     207
     208        WRITE(date, "(i4.4,'-',i2.2,'-',i2.2,' ',i2.2,':00:00')") ini_an, ini_mois, ini_jour, int(ini_heure)
     209       
     210        IF (prt_level >= 10) WRITE(lunout,*) "wxios_set_cal: Start date: ", date
     211       
     212        CALL xios_set_context_attr_hdl(g_ctx, start_date = date)
    205213       
    206214        !Et enfin,le pas de temps:
     
    550558    SUBROUTINE wxios_closedef()
    551559        CALL xios_close_context_definition()
    552         CALL xios_update_calendar(0)
     560!        CALL xios_update_calendar(0)
    553561    END SUBROUTINE wxios_closedef
    554562   
  • LMDZ5/trunk/libf/phylmd/phys_output_mod.F90

    r2086 r2095  
    9494    REAL                                  :: dtime
    9595    INTEGER                               :: idayref
    96     REAL                                  :: zjulian
     96    REAL                                  :: zjulian_start, zjulian
    9797    REAL, DIMENSION(klev)                 :: Ahyb, Bhyb, Alt
    9898    CHARACTER(LEN=4), DIMENSION(nlevSTD)  :: clevSTD
     
    133133    INTEGER :: x_an, x_mois, x_jour
    134134    REAL :: x_heure
     135    INTEGER :: ini_an, ini_mois, ini_jour
     136    REAL :: ini_heure
    135137#endif
    136138
     
    255257     ELSE
    256258         CALL ymds2ju(annee_ref, 1, idayref, 0.0, zjulian)
     259         CALL ymds2ju(annee_ref, 1, day_ini, start_time, zjulian_start)
    257260     END IF
    258261
     
    261264    !Temps julian => an, mois, jour, heure
    262265    CALL ju2ymds(zjulian, x_an, x_mois, x_jour, x_heure)
    263     CALL wxios_set_cal(dtime, calend, x_an, x_mois, x_jour, x_heure)
     266    CALL ju2ymds(zjulian_start, ini_an, ini_mois, ini_jour, ini_heure)
     267    CALL wxios_set_cal(dtime, calend, x_an, x_mois, x_jour, x_heure, ini_an, &
     268                       ini_mois, ini_jour, ini_heure )
    264269#endif
    265270
  • LMDZ5/trunk/libf/phylmd/phys_output_write_mod.F90

    r2086 r2095  
    300300             write(lunout,*)"phys_output_write: call xios_update_calendar, itau_w=",itau_w
    301301          endif
    302           CALL xios_update_calendar(itau_w)
     302!          CALL xios_update_calendar(itau_w)
     303          CALL xios_update_calendar(itap)
    303304       END IF
    304305       !$OMP END MASTER
Note: See TracChangeset for help on using the changeset viewer.