Ignore:
Timestamp:
Jun 21, 2022, 11:24:14 AM (2 years ago)
Author:
aslmd
Message:

Created the spectral axes for XspecIR and VI

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.GENERIC/libf/phystd/xios_output_mod.F90

    r2632 r2735  
    1111
    1212 INTERFACE send_xios_field
    13     MODULE PROCEDURE histwrite0d_xios,histwrite2d_xios,histwrite3d_xios
     13    MODULE PROCEDURE histwrite0d_xios,histwrite2d_xios,histwrite3d_xios!,histwrite1d_xios
    1414 END INTERFACE
    1515 
     
    1818
    1919  SUBROUTINE initialize_xios_output(day,timeofday,dtphys,daysec,&
    20                                     yearday,presnivs,pseudoalt)
     20                                    yearday,presnivs,pseudoalt,wnoi,wnov)
    2121!  USE mod_phys_lmdz_para, only: gather, bcast, &
    2222!                                jj_nb, jj_begin, jj_end, ii_begin, ii_end, &
     
    4444  REAL,INTENT(IN) :: presnivs(:) ! vertical grid approximate pressure (Pa)
    4545  REAL,INTENT(IN) :: pseudoalt(:) ! vertical grid approximate altitude (km)
    46  
     46  REAL,INTENT(IN) :: wnoi(:) ! Array of wavenumbers at the spectral interval centers for the infrared.
     47  real,intent(in) :: wnov (:) !Array of wavenumbers at the spectral interval centers for the visible.
    4748 
    4849  INTEGER :: data_ibegin, data_iend
     
    6162    CALL xios_set_axis_attr("altitude", n_glo=size(pseudoalt), value=pseudoalt,&
    6263                            unit="km",positive="up")
    63    
     64    if (prt_level >=10) write(lunout,*) "initialize_xios_output: call xios_set_axis_attr for IR_Wavenumber"
     65    write(lunout,*) "writing IR_Wavenumber now in initialize_xios_output"
     66    call xios_set_axis_attr("IR_Wavenumber",n_glo=size(wnoi),value=wnoi, &
     67                            unit="cm^-1",positive="up")
     68    if (prt_level >=10) write(lunout,*) "initialize_xios_output: call xios_set_axis_attr for VI_Wavenumber"
     69    write(lunout,*) "writing VI_Wavenumber now in initialize_xios_output"
     70    call xios_set_axis_attr("VI_Wavenumber",n_glo=size(wnov),value=wnov, &
     71                            unit="cm^-1",positive="up")
    6472    ! 2. Declare horizontal domain
    6573    ! Set values for the mask:
     
    213221  USE print_control_mod, ONLY: prt_level, lunout
    214222  USE mod_grid_phy_lmdz, ONLY: nbp_lon
     223  USE radinc_h ,only: L_NSPECTI,L_NSPECTV
    215224  IMPLICIT NONE
    216225
     
    222231
    223232    IF (prt_level >= 10) WRITE(lunout,*)'Begin histrwrite2d_xios ',trim(field_name)
    224 
     233    if ((size(field) .eq. L_NSPECTI) .or. (size(field) .eq. L_NSPECTV)) then
     234!$OMP MASTER
     235      ! only for spectral stuff: IR_Bandwidth and VI_Bandwidth
     236      call xios_send_field(field_name,field)
     237!$OMP END MASTER
     238      return
     239    endif
    225240    IF (SIZE(field)/=klon) CALL abort_physic('iophy::histwrite2d_xios','Field first DIMENSION not equal to klon',1)
    226241   
Note: See TracChangeset for help on using the changeset viewer.