FV3DYCORE  Version1.0.0
fv_eta_mod Module Reference

The module 'fv_eta' contains routine to set up the reference (Eulerian) pressure coordinate. More...

Functions/Subroutines

subroutine, public set_eta (km, ks, ptop, ak, bk)
 This is the version of set_eta used in fvGFS and AM4. More...
 
subroutine, public set_external_eta (ak, bk, ptop, ks)
 The subroutine 'set_external_eta' sets 'ptop' (model top) and 'ks' (first level of pure pressure coordinates given the coefficients 'ak' and 'bk'. More...
 
subroutine var_les (km, ak, bk, ptop, ks, pint, s_rate)
 
subroutine var_gfs (km, ak, bk, ptop, ks, pint, s_rate)
 
subroutine var_hi (km, ak, bk, ptop, ks, pint, s_rate)
 
subroutine var_hi2 (km, ak, bk, ptop, ks, pint, s_rate)
 
subroutine var_dz (km, ak, bk, ptop, ks, pint, s_rate)
 
subroutine var55_dz (km, ak, bk, ptop, ks, pint, s_rate)
 
subroutine, public hybrid_z_dz (km, dz, ztop, s_rate)
 
subroutine, public get_eta_level (npz, p_s, pf, ph, ak, bk, pscale)
 The subroutine 'get_eta_level' returns the interface and layer-mean pressures for reference. More...
 
subroutine, public compute_dz (km, ztop, dz)
 
subroutine, public compute_dz_var (km, ztop, dz)
 
subroutine, public compute_dz_l32 (km, ztop, dz)
 
subroutine, public compute_dz_l101 (km, ztop, dz)
 
subroutine, public set_hybrid_z (is, ie, js, je, ng, km, ztop, dz, rgrav, hs, ze, dz3)
 
subroutine, public sm1_edge (is, ie, js, je, km, i, j, ze, ntimes)
 
subroutine, public gw_1d (km, p0, ak, bk, ptop, ztop, pt1)
 
subroutine zflip (q, im, km)
 

Detailed Description

The module 'fv_eta' contains routine to set up the reference (Eulerian) pressure coordinate.

Function/Subroutine Documentation

◆ compute_dz()

subroutine, public fv_eta_mod::compute_dz ( integer, intent(in)  km,
real, intent(in)  ztop,
real, dimension(km), intent(out)  dz 
)

Definition at line 2623 of file fv_eta.F90.

◆ compute_dz_l101()

subroutine, public fv_eta_mod::compute_dz_l101 ( integer, intent(in)  km,
real, intent(out)  ztop,
real, dimension(km), intent(out)  dz 
)

Definition at line 2798 of file fv_eta.F90.

◆ compute_dz_l32()

subroutine, public fv_eta_mod::compute_dz_l32 ( integer, intent(in)  km,
real, intent(out)  ztop,
real, dimension(km), intent(out)  dz 
)

Definition at line 2729 of file fv_eta.F90.

◆ compute_dz_var()

subroutine, public fv_eta_mod::compute_dz_var ( integer, intent(in)  km,
real, intent(in)  ztop,
real, dimension(km), intent(out)  dz 
)

Definition at line 2659 of file fv_eta.F90.

◆ get_eta_level()

subroutine, public fv_eta_mod::get_eta_level ( integer, intent(in)  npz,
real, intent(in)  p_s,
real, dimension(npz), intent(out)  pf,
real, dimension(npz+1), intent(out)  ph,
real, dimension(npz+1), intent(in)  ak,
real, dimension(npz+1), intent(in)  bk,
real, intent(in), optional  pscale 
)

The subroutine 'get_eta_level' returns the interface and layer-mean pressures for reference.

Parameters
[in]p_sunit: pascal

Definition at line 2588 of file fv_eta.F90.

◆ gw_1d()

subroutine, public fv_eta_mod::gw_1d ( integer, intent(in)  km,
real, intent(in)  p0,
real, dimension(km+1), intent(inout)  ak,
real, dimension(km+1), intent(inout)  bk,
real, intent(inout)  ptop,
real, intent(in)  ztop,
real, dimension(km), intent(out)  pt1 
)

Definition at line 3015 of file fv_eta.F90.

◆ hybrid_z_dz()

subroutine, public fv_eta_mod::hybrid_z_dz ( integer, intent(in)  km,
real, dimension(km), intent(out)  dz,
real, intent(in)  ztop,
real, intent(in)  s_rate 
)
Parameters
[in]s_ratebetween [1. 1.1]

Definition at line 2523 of file fv_eta.F90.

◆ set_eta()

subroutine, public fv_eta_mod::set_eta ( integer, intent(in)  km,
integer, intent(out)  ks,
real, intent(out)  ptop,
real, dimension(km+1), intent(out)  ak,
real, dimension(km+1), intent(out)  bk 
)

This is the version of set_eta used in fvGFS and AM4.

Note
01/2018: 'set_eta' is being cleaned up.
Parameters
[in]kmvertical dimension
[out]ksnumber of pure p layers
[out]ptopmodel top (Pa)

Definition at line 420 of file fv_eta.F90.

◆ set_external_eta()

subroutine, public fv_eta_mod::set_external_eta ( real, dimension(:), intent(in)  ak,
real, dimension(:), intent(in)  bk,
real, intent(out)  ptop,
integer, intent(out)  ks 
)

The subroutine 'set_external_eta' sets 'ptop' (model top) and 'ks' (first level of pure pressure coordinates given the coefficients 'ak' and 'bk'.

Parameters
[out]ptopmodel top (Pa)
[out]ksnumber of pure p layers

Definition at line 1517 of file fv_eta.F90.

◆ set_hybrid_z()

subroutine, public fv_eta_mod::set_hybrid_z ( integer, intent(in)  is,
integer, intent(in)  ie,
integer, intent(in)  js,
integer, intent(in)  je,
integer, intent(in)  ng,
integer, intent(in)  km,
real, intent(in)  ztop,
real, dimension(km), intent(in)  dz,
real, intent(in)  rgrav,
real, dimension(is-ng:ie+ng,js-ng:je+ng), intent(in)  hs,
real, dimension(is:ie,js:je,km+1), intent(inout)  ze,
real, dimension(is-ng:ie+ng,js-ng:je+ng,km), intent(out), optional  dz3 
)
Parameters
[in]dzReference vertical resolution for zs=0

Definition at line 2840 of file fv_eta.F90.

◆ sm1_edge()

subroutine, public fv_eta_mod::sm1_edge ( integer, intent(in)  is,
integer, intent(in)  ie,
integer, intent(in)  js,
integer, intent(in)  je,
integer, intent(in)  km,
integer, intent(in)  i,
integer, intent(in)  j,
real, dimension(is:ie,js:je,km+1), intent(inout)  ze,
integer, intent(in)  ntimes 
)

Definition at line 2978 of file fv_eta.F90.

◆ var55_dz()

subroutine fv_eta_mod::var55_dz ( integer, intent(in)  km,
real, dimension(km+1), intent(out)  ak,
real, dimension(km+1), intent(out)  bk,
real, intent(in)  ptop,
integer, intent(out)  ks,
real, intent(inout)  pint,
real, intent(in)  s_rate 
)
private
Parameters
[in]s_ratebetween [1. 1.1]

Definition at line 2361 of file fv_eta.F90.

◆ var_dz()

subroutine fv_eta_mod::var_dz ( integer, intent(in)  km,
real, dimension(km+1), intent(out)  ak,
real, dimension(km+1), intent(out)  bk,
real, intent(in)  ptop,
integer, intent(out)  ks,
real, intent(inout)  pint,
real, intent(in)  s_rate 
)
private
Parameters
[in]s_ratebetween [1. 1.1]

Definition at line 2200 of file fv_eta.F90.

◆ var_gfs()

subroutine fv_eta_mod::var_gfs ( integer, intent(in)  km,
real, dimension(km+1), intent(out)  ak,
real, dimension(km+1), intent(out)  bk,
real, intent(in)  ptop,
integer, intent(out)  ks,
real, intent(inout)  pint,
real, intent(in)  s_rate 
)
private
Parameters
[in]s_ratebetween [1. 1.1]

Definition at line 1701 of file fv_eta.F90.

◆ var_hi()

subroutine fv_eta_mod::var_hi ( integer, intent(in)  km,
real, dimension(km+1), intent(out)  ak,
real, dimension(km+1), intent(out)  bk,
real, intent(in)  ptop,
integer, intent(out)  ks,
real, intent(inout)  pint,
real, intent(in)  s_rate 
)
private
Parameters
[in]s_ratebetween [1. 1.1]

Definition at line 1865 of file fv_eta.F90.

◆ var_hi2()

subroutine fv_eta_mod::var_hi2 ( integer, intent(in)  km,
real, dimension(km+1), intent(out)  ak,
real, dimension(km+1), intent(out)  bk,
real, intent(in)  ptop,
integer, intent(out)  ks,
real, intent(inout)  pint,
real, intent(in)  s_rate 
)
private
Parameters
[in]s_ratebetween [1. 1.1]

Definition at line 2041 of file fv_eta.F90.

◆ var_les()

subroutine fv_eta_mod::var_les ( integer, intent(in)  km,
real, dimension(km+1), intent(out)  ak,
real, dimension(km+1), intent(out)  bk,
real, intent(in)  ptop,
integer, intent(out)  ks,
real, intent(inout)  pint,
real, intent(in)  s_rate 
)
private
Parameters
[in]s_ratebetween [1. 1.1]

Definition at line 1539 of file fv_eta.F90.

◆ zflip()

subroutine fv_eta_mod::zflip ( real, dimension(im,km), intent(inout)  q,
integer, intent(in)  im,
integer, intent(in)  km 
)
private

Definition at line 3077 of file fv_eta.F90.