Ignore:
Timestamp:
May 18, 2015, 2:27:29 PM (10 years ago)
Author:
musat
Message:

Correction sorties pression par XIOS dans le cas ok_all_xml

File:
1 edited

Legend:

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

    r2271 r2282  
    176176         T2sumSTD, nlevSTD, du_gwd_rando, dv_gwd_rando, &
    177177         ulevSTD, vlevSTD, wlevSTD, philevSTD, qlevSTD, tlevSTD, &
    178          missing_val_nf90
     178         rhlevSTD, O3STD, O3daySTD, uvSTD, vqSTD, vTSTD, wqSTD, &
     179         vphiSTD, wTSTD, u2STD, v2STD, T2STD, missing_val_nf90
    179180
    180181    USE phys_local_var_mod, only: zxfluxlat, slp, zxtsol, zt2m, &
     
    663664       !       ENDIF
    664665
     666#ifdef CPP_IOIPSL
     667#ifndef CPP_XIOS
    665668  IF (.NOT.ok_all_xml) THEN
    666669       ! ATTENTION, LES ANCIENS HISTWRITE ONT ETES CONSERVES EN ATTENDANT MIEUX:
    667670       ! Champs interpolles sur des niveaux de pression
    668 #ifndef CPP_XIOS
    669671       missing_val=missing_val_nf90
    670 #endif
    671672       DO iff=1, nfiles
    672673          ll=0
     
    690691          ENDDO
    691692       ENDDO
    692   ELSE
     693  ENDIF
     694#endif
     695#endif
     696#ifdef CPP_XIOS
     697  IF(ok_all_xml) THEN
    693698!XIOS  CALL xios_get_field_attr("u850",default_value=missing_val)
    694699!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    695        DO iff=1, nfiles
    696700          ll=0
    697701          DO k=1, nlevSTD
     
    702706                bb2.EQ."50".OR.bb2.EQ."10") THEN
    703707                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)
     708                CALL histwrite_phy(o_uSTDlevs(ll),ulevSTD(:,k))
     709                CALL histwrite_phy(o_vSTDlevs(ll),vlevSTD(:,k))
     710                CALL histwrite_phy(o_wSTDlevs(ll),wlevSTD(:,k))
     711                CALL histwrite_phy(o_zSTDlevs(ll),philevSTD(:,k))
     712                CALL histwrite_phy(o_qSTDlevs(ll),qlevSTD(:,k))
     713                CALL histwrite_phy(o_tSTDlevs(ll),tlevSTD(:,k))
    710714             ENDIF !(bb2.EQ."850".OR.bb2.EQ."700".OR.
    711715          ENDDO
    712        ENDDO
    713716  ENDIF
     717#endif
    714718       IF (vars_defined) THEN
    715719          DO i=1, klon
     
    13041308       ENDIF
    13051309!!!!!!!!!!!! Sorties niveaux de pression NMC !!!!!!!!!!!!!!!!!!!!
     1310#ifdef CPP_IOIPSL
     1311#ifndef CPP_XIOS
     1312  IF (.NOT.ok_all_xml) THEN
     1313       ! ATTENTION, LES ANCIENS HISTWRITE ONT ETES CONSERVES EN ATTENDANT MIEUX:
     1314       ! Champs interpolles sur des niveaux de pression
     1315       missing_val=missing_val_nf90
    13061316       DO iff=7, nfiles
    13071317
     
    13671377          CALL histwrite_phy(o_TxT,T2sumSTD(:,:,iff-6),iff)
    13681378       ENDDO !nfiles
     1379  ENDIF
     1380#endif
     1381#endif
     1382#ifdef CPP_XIOS
     1383  IF(ok_all_xml) THEN
     1384!      DO iff=7, nfiles
     1385
     1386!         CALL histwrite_phy(o_tnondef,tnondef(:,:,3))
     1387          CALL histwrite_phy(o_ta,tlevSTD(:,:))
     1388          CALL histwrite_phy(o_zg,philevSTD(:,:))
     1389          CALL histwrite_phy(o_hus,qlevSTD(:,:))
     1390          CALL histwrite_phy(o_hur,rhlevSTD(:,:))
     1391          CALL histwrite_phy(o_ua,ulevSTD(:,:))
     1392          CALL histwrite_phy(o_va,vlevSTD(:,:))
     1393          CALL histwrite_phy(o_wap,wlevSTD(:,:))
     1394!         IF(vars_defined) THEN
     1395!            DO k=1, nlevSTD
     1396!               DO i=1, klon
     1397!                  IF(tnondef(i,k,3).NE.missing_val) THEN
     1398!                     IF(freq_outNMC(iff-6).LT.0) THEN
     1399!                        freq_moyNMC(iff-6)=(mth_len*un_jour)/freq_calNMC(iff-6)
     1400!                     ELSE
     1401!                        freq_moyNMC(iff-6)=freq_outNMC(iff-6)/freq_calNMC(iff-6)
     1402!                     ENDIF
     1403!                     zx_tmp_fi3d_STD(i,k) = (100.*tnondef(i,k,3))/freq_moyNMC(iff-6)
     1404!                  ELSE
     1405!                     zx_tmp_fi3d_STD(i,k) = missing_val
     1406!                  ENDIF
     1407!               ENDDO
     1408!            ENDDO
     1409!         ENDIF
     1410!         CALL histwrite_phy(o_psbg,zx_tmp_fi3d_STD)
     1411          IF(vars_defined) THEN
     1412             DO k=1, nlevSTD
     1413                DO i=1, klon
     1414                   IF(O3STD(i,k).NE.missing_val) THEN
     1415                      zx_tmp_fi3d_STD(i,k) = O3STD(i,k) * 1.e+9
     1416                   ELSE
     1417                      zx_tmp_fi3d_STD(i,k) = missing_val
     1418                   ENDIF
     1419                ENDDO
     1420             ENDDO !k=1, nlevSTD
     1421          ENDIF
     1422          CALL histwrite_phy(o_tro3,zx_tmp_fi3d_STD)
     1423          if (read_climoz == 2) THEN
     1424             IF(vars_defined) THEN
     1425                DO k=1, nlevSTD
     1426                   DO i=1, klon
     1427                      IF(O3daySTD(i,k).NE.missing_val) THEN
     1428                         zx_tmp_fi3d_STD(i,k) = O3daySTD(i,k) * 1.e+9
     1429                      ELSE
     1430                         zx_tmp_fi3d_STD(i,k) = missing_val
     1431                      ENDIF
     1432                   ENDDO
     1433                ENDDO !k=1, nlevSTD
     1434             ENDIF
     1435             CALL histwrite_phy(o_tro3_daylight,zx_tmp_fi3d_STD)
     1436          endif
     1437          CALL histwrite_phy(o_uxv,uvSTD(:,:))
     1438          CALL histwrite_phy(o_vxq,vqSTD(:,:))
     1439          CALL histwrite_phy(o_vxT,vTSTD(:,:))
     1440          CALL histwrite_phy(o_wxq,wqSTD(:,:))
     1441          CALL histwrite_phy(o_vxphi,vphiSTD(:,:))
     1442          CALL histwrite_phy(o_wxT,wTSTD(:,:))
     1443          CALL histwrite_phy(o_uxu,u2STD(:,:))
     1444          CALL histwrite_phy(o_vxv,v2STD(:,:))
     1445          CALL histwrite_phy(o_TxT,T2STD(:,:))
     1446!      ENDDO !nfiles
     1447  ENDIF
     1448#endif
    13691449!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    13701450        IF (nqtot.GE.nqo+1) THEN
Note: See TracChangeset for help on using the changeset viewer.