Ignore:
Timestamp:
Jan 30, 2017, 11:24:47 AM (8 years ago)
Author:
Ehouarn Millour
Message:

Further convergence with planetary models:

  • move vertical_layers_mod.F90 to phy_common and call init_vertical_layers in inigeomphy_mod
  • add aps and bps (mid-layer coordinates) to vertical_layers_mod.F90
  • same adaptations for the 1D case

EM

File:
1 moved

Legend:

Unmodified
Added
Removed
  • LMDZ5/trunk/libf/phy_common/vertical_layers_mod.F90

    r2784 r2786  
    99   REAL,SAVE,ALLOCATABLE :: bp(:) ! hybrid (sigma contribution) coordinate
    1010                                  ! at layer interfaces (Pa)
     11   REAL,SAVE,ALLOCATABLE :: aps(:) ! hybrid (pressure contribution) coordinate
     12                                   ! at mid-layer (Pa)
     13   REAL,SAVE,ALLOCATABLE :: bps(:) ! hybrid (sigma contribution) coordinate
     14                                   ! at mid-layer
    1115   REAL,SAVE,ALLOCATABLE :: presnivs(:) ! reference pressure at mid-layer (Pa),
    1216                                        ! based on preff, ap and bp
     
    1418                                         ! based on preff and scaleheight
    1519   
    16 !$OMP THREADPRIVATE(preff,scaleheight,ap,bp,presnivs,pseudoalt)
     20!$OMP THREADPRIVATE(preff,scaleheight,ap,bp,aps,bps,presnivs,pseudoalt)
    1721
    1822
     
    2024
    2125  SUBROUTINE init_vertical_layers(nlayer,preff_,scaleheight_,ap_,bp_,&
    22                                  presnivs_, pseudoalt_)
     26                                 aps_,bps_,presnivs_, pseudoalt_)
    2327    IMPLICIT NONE
    2428    INTEGER,INTENT(IN) :: nlayer ! number of atmospheric layers
     
    2731    REAL,INTENT(IN)    :: ap_(nlayer+1) ! hybrid coordinate at interfaces
    2832    REAL,INTENT(IN)    :: bp_(nlayer+1) ! hybrid coordinate at interfaces
     33    REAL,INTENT(IN)    :: aps_(nlayer) ! hybrid coordinate at mid-layer
     34    REAL,INTENT(IN)    :: bps_(nlayer) ! hybrid coordinate at mid-layer
    2935    REAL,INTENT(IN)    :: presnivs_(nlayer) ! Appproximative pressure of atm. layers (Pa)
    3036    REAL,INTENT(IN)    :: pseudoalt_(nlayer) ! pseudo-altitude of atm. layers (km)
     
    3238    ALLOCATE(ap(nlayer+1))
    3339    ALLOCATE(bp(nlayer+1))
     40    ALLOCATE(aps(nlayer))
     41    ALLOCATE(bps(nlayer))
    3442    ALLOCATE(presnivs(nlayer))
    3543    ALLOCATE(pseudoalt(nlayer))
     
    3947    ap(:) = ap_(:)
    4048    bp(:) = bp_(:)
     49    aps(:) = aps_(:)
     50    bps(:) = bps_(:)
    4151    presnivs(:) = presnivs_(:)
    4252    pseudoalt(:) = pseudoalt_(:)
Note: See TracChangeset for help on using the changeset viewer.