Ignore:
Timestamp:
Oct 3, 2017, 4:45:26 PM (7 years ago)
Author:
Laurent Fairhead
Message:

Modifications to the code and xml files to output Ap and B, the coefficients
of the hybrid coordinates as requested by the CMIP6 DataRequest?
LF (with guidance from A. Caubel and S. Senesi)

File:
1 edited

Legend:

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

    r2989 r3003  
    126126                                                                      -90.,  -90.,  -90.,  -90.,  -90. /)
    127127    REAL, DIMENSION(nfiles), SAVE     :: phys_out_latmax        = (/   90.,   90.,   90.,   90.,   90., &
    128                                                                        90.,   90.,   90.,   90.,   90. /)                       
     128                                                                       90.,   90.,   90.,   90.,   90. /)
     129    REAL, DIMENSION(klev,2) :: Ahyb_bounds, Bhyb_bounds
     130    REAL, DIMENSION(klev)   :: lev_index
     131               
    129132#ifdef CPP_XIOS
    130133    ! ug Variables utilis\'ees pour r\'ecup\'erer le calendrier pour xios
     
    137140    WRITE(lunout,*) 'Debut phys_output_mod.F90'
    138141    ! Initialisations (Valeurs par defaut
     142
     143    DO ilev=1,klev
     144      Ahyb_bounds(ilev,1) = ap(ilev)
     145      Ahyb_bounds(ilev,2) = ap(ilev+1)
     146      Bhyb_bounds(ilev,1) = bp(ilev)
     147      Bhyb_bounds(ilev,2) = bp(ilev+1)
     148      lev_index(ilev) = REAL(ilev)
     149    END DO
    139150
    140151    IF (.NOT. ALLOCATED(o_trac)) ALLOCATE(o_trac(nqtot))
     
    327338      print*,'phys_output_open: Declare vertical axes for each file'
    328339    ENDIF
     340
    329341   IF (iff.LE.6.OR.iff.EQ.10) THEN
    330342    CALL wxios_add_vaxis("presnivs", &
    331343            levmax(iff) - levmin(iff) + 1, presnivs(levmin(iff):levmax(iff)))
    332344    CALL wxios_add_vaxis("Ahyb", &
    333             levmax(iff) - levmin(iff) + 1, aps)
     345            levmax(iff) - levmin(iff) + 1, aps(levmin(iff):levmax(iff)), positif='down', &
     346            bnds=Ahyb_bounds(levmin(iff):levmax(iff),:))
    334347    CALL wxios_add_vaxis("Bhyb", &
    335             levmax(iff) - levmin(iff) + 1, bps)
    336     CALL wxios_add_vaxis("Alt", &
     348            levmax(iff) - levmin(iff) + 1, bps(levmin(iff):levmax(iff)), positif='down', &
     349            bnds=Bhyb_bounds(levmin(iff):levmax(iff),:))
     350    CALL wxios_add_vaxis("klev", levmax(iff) - levmin(iff) + 1, &
     351                          lev_index(levmin(iff):levmax(iff)))
     352    CALL wxios_add_vaxis("bnds", 2, (/1.,2./))
     353
     354     CALL wxios_add_vaxis("Alt", &
    337355            levmax(iff) - levmin(iff) + 1, pseudoalt)
    338356   ELSE
Note: See TracChangeset for help on using the changeset viewer.