Ignore:
Timestamp:
May 12, 2015, 6:27:47 PM (9 years ago)
Author:
musat
Message:

Corrections for standard level pressure outputs hist*NMC.nc by XIOS and IOIPSL.
For XIOS one need to specify a default_value="1.e+20" in the field_def_lmdz.xml and
a detect_missing_value=".true." in the file_def_histins_lmdz.xml,
file_def_histday_lmdz.xml, etc files.

File:
1 edited

Legend:

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

    r2255 r2271  
    174174         vqsumSTD, vTsumSTD, O3daysumSTD, wqsumSTD, &
    175175         vphisumSTD, wTsumSTD, u2sumSTD, v2sumSTD, &
    176          T2sumSTD, nlevSTD, du_gwd_rando, dv_gwd_rando
     176         T2sumSTD, nlevSTD, du_gwd_rando, dv_gwd_rando, &
     177         ulevSTD, vlevSTD, wlevSTD, philevSTD, qlevSTD, tlevSTD, &
     178         missing_val_nf90
    177179
    178180    USE phys_local_var_mod, only: zxfluxlat, slp, zxtsol, zt2m, &
     
    244246    ! ug Pour les sorties XIOS
    245247    USE xios, ONLY: xios_update_calendar
    246     USE wxios, only: wxios_closedef
     248    USE wxios, only: wxios_closedef, missing_val
    247249#endif
    248250    USE phys_cal_mod, only : mth_len
     
    290292    INTEGER, DIMENSION(iim*jjmp1*klev) :: ndex3d
    291293    REAL, PARAMETER :: dobson_u = 2.1415e-05 ! Dobson unit, in kg m-2
    292     REAL, PARAMETER :: missing_val=nf90_fill_real
     294!   REAL, PARAMETER :: missing_val=nf90_fill_real
     295#ifndef CPP_XIOS
     296    REAL :: missing_val
     297#endif
    293298    REAL, PARAMETER :: un_jour=86400.
    294299
     
    658663       !       ENDIF
    659664
     665  IF (.NOT.ok_all_xml) THEN
    660666       ! ATTENTION, LES ANCIENS HISTWRITE ONT ETES CONSERVES EN ATTENDANT MIEUX:
    661667       ! Champs interpolles sur des niveaux de pression
     668#ifndef CPP_XIOS
     669       missing_val=missing_val_nf90
     670#endif
    662671       DO iff=1, nfiles
    663672          ll=0
     
    681690          ENDDO
    682691       ENDDO
    683 
     692  ELSE
     693!XIOS  CALL xios_get_field_attr("u850",default_value=missing_val)
     694!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     695       DO iff=1, nfiles
     696          ll=0
     697          DO k=1, nlevSTD
     698             bb2=clevSTD(k)
     699             IF(bb2.EQ."850".OR.bb2.EQ."700".OR. &
     700                bb2.EQ."500".OR.bb2.EQ."200".OR. &
     701                bb2.EQ."100".OR. &
     702                bb2.EQ."50".OR.bb2.EQ."10") THEN
     703                ll=ll+1
     704                CALL histwrite_phy(o_uSTDlevs(ll),ulevSTD(:,k), iff)
     705                CALL histwrite_phy(o_vSTDlevs(ll),vlevSTD(:,k), iff)
     706                CALL histwrite_phy(o_wSTDlevs(ll),wlevSTD(:,k), iff)
     707                CALL histwrite_phy(o_zSTDlevs(ll),philevSTD(:,k), iff)
     708                CALL histwrite_phy(o_qSTDlevs(ll),qlevSTD(:,k), iff)
     709                CALL histwrite_phy(o_tSTDlevs(ll),tlevSTD(:,k), iff)
     710             ENDIF !(bb2.EQ."850".OR.bb2.EQ."700".OR.
     711          ENDDO
     712       ENDDO
     713  ENDIF
    684714       IF (vars_defined) THEN
    685715          DO i=1, klon
Note: See TracChangeset for help on using the changeset viewer.