Last updated on Thursday, 26-Jan-2017 13:37:30 CET
.
Contact: Isaac Held, Peter Phillips
fms_mod constants_mod mpp_domains_mod
use fv_advection_mod [,only: fv_advection_init, &
a_grid_horiz_advection, &
fv_advection_end ]
fv_advection_init : initializes module
a_grid_horiz_advection: computes advection tendencies
fv_advection_end : deallocates array space allocated for use by this module.
Notes:
1) There is no namelist
2) No restart files are needed or generated by this module.
3) No data files are needed.
call fv_advection_init(lon_max, lat_max, lat_boundaries, degrees_lon, advection_layout)
input:
integer :: lon_max -- Number of longitude points in global grid.
integer :: lat_max -- Number of latitude points in global grid.
real, dimension(lat_max+1) :: lat_boundaries -- The latitudinal boundaries of
the global grid. (radians)
real :: degrees_lon -- Size of longitudinal domain. (degrees)
Examples:
degrees_lon=360. if global domain is entire sphere.
degrees_lon=60. if global domain is a sector of 1/6'th of sphere.
optional:
integer, dimension(2) :: advection_layout -- determines decomposition of the global
grid across processors. If not present then the decomposition
will be computed automatically.
Currently, it is not recommended that the automatic
decomposition be overridden.
call a_grid_horiz_advection(u, v, q, dt, dq_dt, flux)
input:
real, dimension(:,:,:) :: u,v -- wind components.
real, dimension(:,:,:) :: q -- field for which advection tendency is computed.
real :: dt -- time step.
intent(inout):
real, dimension(:,:,:) :: dq_dt -- advection tendency of q is added to input values.
optional;
logical :: flux -- If true then tendency of flux form is computed.
If flux is not present then it becomes .false. by default.
call fv_advection_end
Deallocates array space allocated for use by this module.
no namelist
Fatal error if a_grid_horiz_advection is called prior to fv_advection_init