Ignore:
Timestamp:
Feb 10, 2020, 9:54:26 AM (4 years ago)
Author:
acozic
Message:

Add new grid, new axis and new variables for cmip protocole and dr2xml

  • field_group id="coord_hyb"
  • grid_ref="klevp1_bnds"
  • grid_ref="klev_bnds"
  • domain id="greordered"
  • axis id="axis_lat"
  • axis id="bnds"
  • axis id="klevp1"
  • axis id="klev"
File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/branches/IPSLCM5A2.1/libf/phylmd/phys_output_write_mod.F90

    r3606 r3629  
    2727    USE mod_phys_lmdz_para, ONLY: is_north_pole_phy,is_south_pole_phy
    2828    USE mod_grid_phy_lmdz, ONLY : nbp_lon, nbp_lat
    29     USE time_phylmdz_mod, only: day_step_phy, start_time, itau_phy
    30     USE phys_output_ctrlout_mod, only: o_phis, o_aire, is_ter, is_lic, is_oce, &
     29    USE time_phylmdz_mod, ONLY: day_step_phy, start_time, itau_phy
     30    USE vertical_layers_mod, ONLY : ap, bp, aps, bps
     31    USE phys_output_ctrlout_mod, ONLY: o_phis, o_aire, is_ter, is_lic, is_oce, &
     32         o_longitude, o_latitude, &
     33         o_Ahyb, o_Bhyb,o_Ahyb_bounds, o_Bhyb_bounds, &
     34         o_Ahyb_mid, o_Bhyb_mid,o_Ahyb_mid_bounds, o_Bhyb_mid_bounds, &
    3135         is_ave, is_sic, o_contfracATM, o_contfracOR, &
    3236         o_aireTER, o_flat, o_slp, o_ptstar, o_pt0, o_tsol, &
     
    295299    USE indice_sol_mod, only: nbsrf
    296300    USE infotrac_phy, only: nqtot, nqo, type_trac
    297     USE geometry_mod, only: cell_area
     301    USE geometry_mod, only: cell_area, latitude_deg, longitude_deg
    298302    USE surface_data, only: type_ocean, version_ocean, ok_veget, ok_snow
    299303!    USE aero_mod, only: naero_spc
     
    351355    REAL, PARAMETER :: dobson_u = 2.1415e-05 ! Dobson unit, in kg m-2
    352356!   REAL, PARAMETER :: missing_val=nf90_fill_real
     357    REAL, DIMENSION(klev+1,2) :: Ahyb_bounds, Bhyb_bounds
     358    REAL, DIMENSION(klev,2) :: Ahyb_mid_bounds, Bhyb_mid_bounds
     359    INTEGER :: ilev
    353360#ifndef CPP_XIOS
    354361    REAL :: missing_val
     
    367374    ENDIF
    368375
    369     ! ug la boucle qui suit ne sert qu'une fois, pour l'initialisation, sinon il n'y a toujours qu'un seul passage:
     376    Ahyb_bounds(1,1) = 0.
     377    Ahyb_bounds(1,2) = aps(1)
     378    Bhyb_bounds(1,1) = 1.
     379    Bhyb_bounds(1,2) = bps(1)   
     380    DO ilev=2,klev
     381      Ahyb_bounds(ilev,1) = aps(ilev-1)
     382      Ahyb_bounds(ilev,2) = aps(ilev)
     383      Bhyb_bounds(ilev,1) = bps(ilev-1)
     384      Bhyb_bounds(ilev,2) = bps(ilev)
     385    ENDDO
     386     Ahyb_bounds(klev+1,1) = aps(klev)
     387     Ahyb_bounds(klev+1,2) = 0.
     388     Bhyb_bounds(klev+1,1) = bps(klev)
     389     Bhyb_bounds(klev+1,2) = 0.
     390
     391    DO ilev=1, klev
     392      Ahyb_mid_bounds(ilev,1) = ap(ilev)
     393      Ahyb_mid_bounds(ilev,2) = ap(ilev+1)
     394      Bhyb_mid_bounds(ilev,1) = bp(ilev)
     395      Bhyb_mid_bounds(ilev,2) = bp(ilev+1)
     396    END DO   
     397
     398! ug la boucle qui suit ne sert qu'une fois, pour l'initialisation, sinon il n'y a toujours qu'un seul passage:
    370399    DO iinit=1, iinitend
    371400#ifdef CPP_XIOS
     
    403432       CALL histwrite_phy(o_contfracOR, pctsrf(:,is_ter))
    404433       CALL histwrite_phy(o_aireTER, paire_ter)
     434#ifdef CPP_XIOS
     435       CALL histwrite_phy(o_Ahyb, ap)
     436       CALL histwrite_phy(o_Bhyb, bp)
     437       CALL histwrite_phy(o_Ahyb_bounds, Ahyb_bounds)
     438       CALL histwrite_phy(o_Bhyb_bounds, Bhyb_bounds)
     439       CALL histwrite_phy(o_Ahyb_mid, aps)
     440       CALL histwrite_phy(o_Bhyb_mid, bps)
     441       CALL histwrite_phy(o_Ahyb_mid_bounds, Ahyb_mid_bounds)
     442       CALL histwrite_phy(o_Bhyb_mid_bounds, Bhyb_mid_bounds)
     443       CALL histwrite_phy(o_longitude, longitude_deg)
     444       CALL histwrite_phy(o_latitude, latitude_deg)
     445#endif
     446
    405447!!! Champs 2D !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    406448! Simulateur AIRS
     
    10101052!This is warranted by treating INCA aerosols as offline aerosols
    10111053       IF (new_aod .and. (.not. aerosol_couple)) THEN
    1012 !       IF (new_aod) THEN
    10131054          IF (flag_aerosol.GT.0) THEN
    10141055             CALL histwrite_phy(o_od550aer, od550aer)
Note: See TracChangeset for help on using the changeset viewer.