orog_mask_tools
1.13.0
|
Calculates small-scale GWD orographic stats for FV3GFS grids. More...
Go to the source code of this file.
Functions/Subroutines | |
subroutine | gsl_oro_data_sm_scale::calc_gsl_oro_data_sm_scale (tile_num, res_indx, halo, duplicate_oro_data_file) |
Subroutine to compute orographic statistics needed for small-scale orograhic drag (gravity wave and form drag) schemes. More... | |
real(kind=real_kind) function | gsl_oro_data_sm_scale::interp_1d (x, x1, x2, y1, y2) |
Interpolates (or extrapolates) linear function y = y(x) More... | |
integer function | gsl_oro_data_sm_scale::nearest_i_east (lon_in) |
Finds nearest fine-grid i index to the east of a given longitude. More... | |
integer function | gsl_oro_data_sm_scale::nearest_i_west (lon_in) |
Finds nearest fine-grid i index to the west of a given longitude. More... | |
integer function | gsl_oro_data_sm_scale::nearest_j_north (lat_in) |
Calculates nearest fine-grid j index to the north of a given latitude. More... | |
integer function | gsl_oro_data_sm_scale::nearest_j_south (lat_in) |
Calculates nearest fine-grid j index to the south of a given latitude. More... | |
subroutine | gsl_oro_data_sm_scale::netcdf_err (err, string) |
Returns netCDF error given input err code. More... | |
Variables | |
integer, parameter | gsl_oro_data_sm_scale::dbl_kind = selected_real_kind(13) |
double precision More... | |
integer | gsl_oro_data_sm_scale::dimx_fine |
x-dimension of fine grid More... | |
integer | gsl_oro_data_sm_scale::dimy_fine |
y-dimension of fine grid More... | |
real(kind=real_kind), dimension(:), allocatable | gsl_oro_data_sm_scale::lat1d_fine |
latitude of fine grid pts More... | |
real(kind=real_kind), dimension(:), allocatable | gsl_oro_data_sm_scale::lon1d_fine |
longitude of fine grid pts More... | |
real(kind=real_kind), parameter | gsl_oro_data_sm_scale::p5 = 0.5_real_kind |
one half More... | |
real, parameter | gsl_oro_data_sm_scale::pi = 3.1415926535897_real_kind |
pi More... | |
integer, parameter | gsl_oro_data_sm_scale::real_kind = selected_real_kind(6) |
single precision More... | |
Calculates small-scale GWD orographic stats for FV3GFS grids.
This module calculates the parameters required for the subgrid- scale orographic gravity-wave drag (GWDO) scheme on the FV3 grid. These parameters are for the small-scale GWD (Tsiringakis et al., 2017) and the turbulent orographic form drag (TOFD) (Beljaars, 2004) schemes of the GSL drag suite. 30 second (~1km) global topography is used. The topographic data comes from the 'fix' file HGT.Beljaars_filtered.lat-lon.30s_res.nc. The output fields are:
Based on code by Michael Duda provided by NCAR/MMM
Definition in file module_gsl_oro_data_sm_scale.f90.
subroutine gsl_oro_data_sm_scale::calc_gsl_oro_data_sm_scale | ( | character(len=2), intent(in) | tile_num, |
character(len=7), intent(in) | res_indx, | ||
character(len=4), intent(in) | halo, | ||
logical, intent(out) | duplicate_oro_data_file | ||
) |
Subroutine to compute orographic statistics needed for small-scale orograhic drag (gravity wave and form drag) schemes.
[in] | tile_num | (tile number) |
[in] | res_indx | (resolution) |
[in] | halo | (halo number) |
[out] | duplicate_oro_data_file | (equals .true. if min grid size <= 7.5km) |
Definition at line 51 of file module_gsl_oro_data_sm_scale.f90.
real (kind=real_kind) function gsl_oro_data_sm_scale::interp_1d | ( | real (kind=real_kind), intent(in) | x, |
real (kind=real_kind), intent(in) | x1, | ||
real (kind=real_kind), intent(in) | x2, | ||
real (kind=real_kind), intent(in) | y1, | ||
real (kind=real_kind), intent(in) | y2 | ||
) |
Interpolates (or extrapolates) linear function y = y(x)
[in] | x | Input "x" value |
[in] | x1 | Known point 1 |
[in] | x2 | Known point 2 |
[in] | y1 | Known y(x1) |
[in] | y2 | Known y(x2) |
Definition at line 1243 of file module_gsl_oro_data_sm_scale.f90.
integer function gsl_oro_data_sm_scale::nearest_i_east | ( | real (kind=real_kind), intent(in) | lon_in | ) |
Finds nearest fine-grid i index to the east of a given longitude.
[in] | lon_in | longitude (radians) |
Definition at line 1113 of file module_gsl_oro_data_sm_scale.f90.
integer function gsl_oro_data_sm_scale::nearest_i_west | ( | real (kind=real_kind), intent(in) | lon_in | ) |
Finds nearest fine-grid i index to the west of a given longitude.
[in] | lon_in | longitude (radians) |
Definition at line 1146 of file module_gsl_oro_data_sm_scale.f90.
integer function gsl_oro_data_sm_scale::nearest_j_north | ( | real (kind=real_kind), intent(in) | lat_in | ) |
Calculates nearest fine-grid j index to the north of a given latitude.
[in] | lat_in | Latitude (radians) |
Definition at line 1179 of file module_gsl_oro_data_sm_scale.f90.
integer function gsl_oro_data_sm_scale::nearest_j_south | ( | real (kind=real_kind), intent(in) | lat_in | ) |
Calculates nearest fine-grid j index to the south of a given latitude.
[in] | lat_in | Latitude (radians) |
Definition at line 1208 of file module_gsl_oro_data_sm_scale.f90.
subroutine gsl_oro_data_sm_scale::netcdf_err | ( | integer, intent(in) | err, |
character(len=*), intent(in) | string | ||
) |
Returns netCDF error given input err code.
[in] | err | Error code from netCDF routine |
[in] | string | Portion of error message |
Definition at line 1263 of file module_gsl_oro_data_sm_scale.f90.
integer, parameter gsl_oro_data_sm_scale::dbl_kind = selected_real_kind(13) |
double precision
Definition at line 28 of file module_gsl_oro_data_sm_scale.f90.
integer gsl_oro_data_sm_scale::dimx_fine |
x-dimension of fine grid
Definition at line 31 of file module_gsl_oro_data_sm_scale.f90.
integer gsl_oro_data_sm_scale::dimy_fine |
y-dimension of fine grid
Definition at line 32 of file module_gsl_oro_data_sm_scale.f90.
real (kind = real_kind), dimension(:), allocatable gsl_oro_data_sm_scale::lat1d_fine |
latitude of fine grid pts
Definition at line 34 of file module_gsl_oro_data_sm_scale.f90.
real (kind = real_kind), dimension(:), allocatable gsl_oro_data_sm_scale::lon1d_fine |
longitude of fine grid pts
Definition at line 35 of file module_gsl_oro_data_sm_scale.f90.
real (kind = real_kind), parameter gsl_oro_data_sm_scale::p5 = 0.5_real_kind |
one half
Definition at line 37 of file module_gsl_oro_data_sm_scale.f90.
real, parameter gsl_oro_data_sm_scale::pi = 3.1415926535897_real_kind |
pi
Definition at line 30 of file module_gsl_oro_data_sm_scale.f90.
integer, parameter gsl_oro_data_sm_scale::real_kind = selected_real_kind(6) |
single precision
Definition at line 27 of file module_gsl_oro_data_sm_scale.f90.