Ignore:
Timestamp:
Dec 5, 2013, 6:32:35 PM (10 years ago)
Author:
musat
Message:

1) Modifications pour faire des simulations par an avec un calendrier realiste (365 jours ou autre).

Il faut mettre une frequence de sortie de -1 (variable phys_out_filetimesteps dans config.def) pour
que IOIPSL calcule les moyennes mensuels en prenant en compte des longuers variables de chaque
mois. Par exemple, pour le fichier histmth (1er fichier) et histmthNMC (7eme).
phys_out_filetimesteps= -1 1day 6hr 6hr 6hr 1d -1 1day 6hr

2) Corrections titres variables niveaux de pression des fichiers histmth, histday, etc

File:
1 edited

Legend:

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

    r1907 r1912  
    4444    USE surface_data, ONLY : ok_snow
    4545    USE phys_output_ctrlout_mod
     46    USE mod_grid_phy_lmdz, only: klon_glo
    4647
    4748#ifdef CPP_XIOS
     
    207208    ecrit_files(5) = ecrit_LES
    208209    ecrit_files(6) = ecrit_ins
    209     ecrit_files(7) = freq_outNMC(1)/86400.
    210     ecrit_files(8) = freq_outNMC(2)/86400.
    211     ecrit_files(9) = freq_outNMC(3)/86400.
     210    ecrit_files(7) = freq_outNMC(1)
     211    ecrit_files(8) = freq_outNMC(2)
     212    ecrit_files(9) = freq_outNMC(3)
    212213
    213214    !! Lectures des parametres de sorties dans physiq.def
     
    248249    ! ug Réglage du calendrier xios
    249250    !Temps julian => an, mois, jour, heure
    250     CALL ymds2ju(annee_ref, 1, day_ref, 0.0, zjulian)
     251    IF (klon_glo==1) THEN                                       
     252        CALL ymds2ju(annee_ref, 1, day_ref, hour, zjulian)
     253    ELSE
     254        CALL ymds2ju(annee_ref, 1, day_ref, 0.0, zjulian)
     255    END IF
    251256    CALL ju2ymds(zjulian, x_an, x_mois, x_jour, x_heure)
    252257    CALL wxios_set_cal(dtime, calend, x_an, x_mois, x_jour, x_heure)
     
    278283          ! ...)*86400.
    279284          ecrit_files(iff)=ecrit_files(iff)*86400.
     285      ELSE IF (chtimestep(iff).eq.'-1') then
     286          PRINT*,'ecrit_files(',iff,') < 0 so IOIPSL work on different'
     287          PRINT*,'months length'
     288          ecrit_files(iff)=-1.
    280289      else
    281290       CALL convers_timesteps(chtimestep(iff),dtime,ecrit_files(iff))
     
    304313
    305314          idayref = day_ref
    306 !          CALL ymds2ju(annee_ref, 1, idayref, 0.0, zjulian)       
    307 ! correction pour l heure initiale                               !jyg
    308 !                                                                !jyg
    309           CALL ymds2ju(annee_ref, 1, idayref, hour, zjulian)         !jyg
    310 ! correction pour l heure initiale                               !jyg
    311 !                                                                !jyg
    312 !!!      CALL ymds2ju(annee_ref, 1, idayref, 0.0, zjulian)       !jyg
    313 ! correction pour l heure initiale                               !jyg
    314 !                                                                !jyg
    315 !      CALL ymds2ju(annee_ref, 1, idayref, hour, zjulian)         !jyg
    316 
     315! A noter pour
     316! l heure initiale - dans les fichiers histoire hist* - on met comme
     317! heure de debut soit la vraie heure (pour le 1D) soit 0h (pour le 3D)
     318! afin d avoir une seule sortie mensuelle par mois lorsque l on tourne
     319! par annee (IM).
     320!
     321     IF (klon_glo==1) THEN                                     
     322         CALL ymds2ju(annee_ref, 1, idayref, hour, zjulian)     !jyg
     323     ELSE
     324         CALL ymds2ju(annee_ref, 1, idayref, 0.0, zjulian)
     325     END IF                                                     
    317326!!!!!!!!!!!!!!!!! Traitement dans le cas ou l'on veut stocker sur un domaine limite !!
    318327!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     
    479488    ecrit_LES = ecrit_files(5)
    480489    ecrit_ins = ecrit_files(6)
    481 
     490    freq_outNMC(1) = ecrit_files(7)
     491    freq_outNMC(2) = ecrit_files(8)
     492    freq_outNMC(3) = ecrit_files(9)
     493
     494    WRITE(lunout,*)'freq_outNMC(1)=',freq_outNMC(1)
     495    WRITE(lunout,*)'freq_outNMC(2)=',freq_outNMC(2)
     496    WRITE(lunout,*)'freq_outNMC(3)=',freq_outNMC(3)
    482497    WRITE(lunout,*)'swaero_diag=',swaero_diag
    483498    WRITE(lunout,*)'Fin phys_output_mod.F90'
Note: See TracChangeset for help on using the changeset viewer.