Ignore:
Timestamp:
Aug 2, 2013, 4:36:53 PM (11 years ago)
Author:
Ehouarn Millour
Message:

Première étape de l'implémentation de XIOS. Modifications isolées dans des flags CPP_XIOS. Sorties opérationnelles (sauf stations et régionalisation) en modes séquentiel et omp, pas mpi.
UG
...........................................
First step of the XIOS implementation. Modifications are confined into CPP_XIOS flags. Output is operationnal (except for stations and regionalization) in sequential and omp modes (not mpi).
UG

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/trunk/libf/phylmd/phys_output_mod.F90

    r1821 r1825  
    4242    USE aero_mod, only : naero_spc,name_aero
    4343    USE phys_output_ctrlout_mod
     44
     45#ifdef CPP_XIOS
     46    ! ug Pour les sorties XIOS
     47    USE wxios
     48#endif
    4449
    4550    IMPLICIT NONE
     
    98103    CHARACTER(LEN=3)                      :: ctetaSTD(nbteta)
    99104    REAL, DIMENSION(nfiles)               :: ecrit_files
    100     CHARACTER(LEN=20), DIMENSION(nfiles)  :: phys_out_filenames
    101105    INTEGER, DIMENSION(iim*jjmp1)         ::  ndex2d
    102106    INTEGER, DIMENSION(iim*jjmp1*klev)    :: ndex3d
     
    117121    REAL, DIMENSION(nfiles), SAVE     :: phys_out_latmin        = (/    -90.,    -90.,    -90.,     -90.,    -90.,    -90. /)
    118122    REAL, DIMENSION(nfiles), SAVE     :: phys_out_latmax        = (/     90.,     90.,     90.,     90.,     90.,     90. /)
     123
     124#ifdef CPP_XIOS
     125    ! ug Variables utilisées pour récupérer le calendrier pour xios
     126    INTEGER :: x_an, x_mois, x_jour
     127    REAL :: x_heure
     128#endif
    119129
    120130    WRITE(lunout,*) 'Debut phys_output_mod.F90'
     
    209219    WRITE(lunout,*)'phys_out_filelevels=',lev_files
    210220
     221#ifdef CPP_XIOS
     222    ! ug Réglage du calendrier xios
     223    !Temps julian => an, mois, jour, heure
     224    CALL ymds2ju(annee_ref, 1, day_ref, 0.0, zjulian)
     225    CALL ju2ymds(zjulian, x_an, x_mois, x_jour, x_heure)
     226    CALL wxios_set_cal(dtime, calend, x_an, x_mois, x_jour, x_heure)
     227#endif
     228
    211229!!!!!!!!!!!!!!!!!!!!!!! Boucle sur les fichiers !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    212230    ! Appel de histbeg et histvert pour creer le fichier et les niveaux verticaux !!
     
    257275!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    258276          IF (phys_out_regfkey(iff)) then
    259 
    260277             imin_ins=1
    261278             imax_ins=iim
     
    297314                  itau_phy,zjulian,dtime,nhorim(iff),nid_files(iff))
    298315          else
    299              CALL histbeg_phy(phys_out_filenames(iff),itau_phy,zjulian,dtime,nhorim(iff),nid_files(iff))
     316             CALL histbeg_phy_all(phys_out_filenames(iff),itau_phy,zjulian,&
     317                 dtime,chtimestep(iff),lev_files(iff),nhorim(iff),nid_files(iff))
    300318          endif
    301319
     
    329347          !                 1,preff,nvertp0(iff))
    330348
     349#ifdef CPP_XIOS
     350    ! ug déclaration des axes verticaux de chaque fichier:
     351    CALL wxios_add_vaxis("presnivs", nid_files(iff), levmax(iff) - levmin(iff) + 1, presnivs(levmin(iff):levmax(iff)))
     352    CALL wxios_add_vaxis("Ahyb", nid_files(iff), levmax(iff) - levmin(iff) + 1, Ahyb)
     353    CALL wxios_add_vaxis("Bhyb", nid_files(iff), levmax(iff) - levmin(iff) + 1, Bhyb)
     354    CALL wxios_add_vaxis("Ahyb", nid_files(iff), levmax(iff) - levmin(iff) + 1, Alt)
     355#endif
    331356
    332357      IF (nqtot>=3) THEN
Note: See TracChangeset for help on using the changeset viewer.