Ignore:
Timestamp:
Aug 6, 2013, 6:06:40 PM (11 years ago)
Author:
idelkadi
Message:

Gestion des fichiers de sorties sur les niveaux de pression NMC (hist*NMC.nc) via le meme mecanisme utilise pour les fichiers histoires (phys_output_mod, ...)
Ces sorties sont ainsi controles par les memes flags : phys_out_filekeys, phys_out_filenames, phys_out_filetimesteps, phys_out_filelevels, ...
(exemple dans config.def : phys_out_filenames=histmth histday histhf histins histLES histstn histmthNMC histdayNMC histhfNMC)

File:
1 edited

Legend:

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

    r1825 r1828  
    2020   &                  pplay, lmax_th, aerosol_couple,         &
    2121   &                  ok_ade, ok_aie, ivap, new_aod, ok_sync, &
    22    &                  ptconv, read_climoz, clevSTD, ptconvth, &
     22   &                  ptconv, read_climoz, clevSTD, freq_moyNMC, ptconvth, &
    2323   &                  d_t, qx, d_qx, zmasse, flag_aerosol_strat)
    2424
     
    4040    USE iophy
    4141    USE mod_phys_lmdz_para
     42    USE netcdf,  ONLY : nf90_fill_real
    4243
    4344#ifdef CPP_XIOS
     
    7071    REAL, DIMENSION(klon, llm) :: zmasse
    7172    LOGICAL :: flag_aerosol_strat
     73    REAL, DIMENSION(3) :: freq_moyNMC
    7274
    7375! Local
     
    8284    INTEGER, DIMENSION(iim*jjmp1*klev) :: ndex3d
    8385    REAL, PARAMETER :: dobson_u = 2.1415e-05 ! Dobson unit, in kg m-2
     86    REAL, PARAMETER :: missing_val=nf90_fill_real
    8487
    8588     ! On calcul le nouveau tau:
     
    974977      CALL histwrite_phy(o_rldcs4co2, lwdn0p)
    975978      ENDIF
     979!!!!!!!!!!!! Sorties niveaux de pression NMC !!!!!!!!!!!!!!!!!!!!
     980DO iff=7, nfiles
     981
     982      CALL histwrite_phy(o_tnondef,tnondef(:,:,iff-6),iff)
     983      CALL histwrite_phy(o_ta,twriteSTD(:,:,iff-6),iff)
     984      CALL histwrite_phy(o_zg,phiwriteSTD(:,:,iff-6),iff)
     985      CALL histwrite_phy(o_hus,qwriteSTD(:,:,iff-6),iff)
     986      CALL histwrite_phy(o_hur,rhwriteSTD(:,:,iff-6),iff)
     987      CALL histwrite_phy(o_ua,uwriteSTD(:,:,iff-6),iff)
     988      CALL histwrite_phy(o_va,vwriteSTD(:,:,iff-6),iff)
     989      CALL histwrite_phy(o_wap,wwriteSTD(:,:,iff-6),iff)
     990IF(vars_defined) THEN
     991       DO k=1, nlevSTD
     992        DO i=1, klon
     993         IF(tnondef(i,k,iff-6).NE.missing_val) THEN
     994          zx_tmp_fi3d(i,k) = (100.*tnondef(i,k,iff-6))/freq_moyNMC(iff-6)
     995         ELSE
     996          zx_tmp_fi3d(i,k) = missing_val
     997         ENDIF
     998        ENDDO
     999      ENDDO
     1000ENDIF
     1001      CALL histwrite_phy(o_psbg,zx_tmp_fi3d,iff)
     1002IF(vars_defined) THEN
     1003       DO k=1, nlevSTD
     1004        DO i=1, klon
     1005         IF(O3sumSTD(i,k,iff-6).NE.missing_val) THEN
     1006          zx_tmp_fi3d(i,k) = O3sumSTD(i,k,iff-6) * 1.e+9
     1007         ELSE
     1008          zx_tmp_fi3d(i,k) = missing_val
     1009         ENDIF
     1010        ENDDO
     1011       ENDDO !k=1, nlevSTD
     1012ENDIF
     1013      CALL histwrite_phy(o_tro3,zx_tmp_fi3d,iff)
     1014       if (read_climoz == 2) THEN
     1015IF(vars_defined) THEN
     1016       DO k=1, nlevSTD
     1017        DO i=1, klon
     1018         IF(O3daysumSTD(i,k,iff-6).NE.missing_val) THEN
     1019          zx_tmp_fi3d(i,k) = O3daysumSTD(i,k,iff-6) * 1.e+9
     1020         ELSE
     1021          zx_tmp_fi3d(i,k) = missing_val
     1022         ENDIF
     1023        ENDDO
     1024       ENDDO !k=1, nlevSTD
     1025ENDIF
     1026      CALL histwrite_phy(o_tro3_daylight,zx_tmp_fi3d,iff)
     1027      endif
     1028      CALL histwrite_phy(o_uxv,uvsumSTD(:,:,iff-6),iff)
     1029      CALL histwrite_phy(o_vxq,vqsumSTD(:,:,iff-6),iff)
     1030      CALL histwrite_phy(o_vxT,vTsumSTD(:,:,iff-6),iff)
     1031      CALL histwrite_phy(o_wxq,wqsumSTD(:,:,iff-6),iff)
     1032      CALL histwrite_phy(o_vxphi,vphisumSTD(:,:,iff-6),iff)
     1033      CALL histwrite_phy(o_wxT,wTsumSTD(:,:,iff-6),iff)
     1034      CALL histwrite_phy(o_uxu,u2sumSTD(:,:,iff-6),iff)
     1035      CALL histwrite_phy(o_vxv,v2sumSTD(:,:,iff-6),iff)
     1036      CALL histwrite_phy(o_TxT,T2sumSTD(:,:,iff-6),iff)
     1037ENDDO !nfiles
     1038!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    9761039        IF (nqtot.GE.3) THEN
    9771040         DO iq=3,nqtot
Note: See TracChangeset for help on using the changeset viewer.