orog_mask_tools
1.5.0
|
Public Member Functions | |
subroutine | calc_gsl_oro_data_lg_scale (tile_num, res_indx, halo) |
Subroutine to compute orographic statistics needed for large-scale orograhic drag (gravity wave and blocking) schemes. More... | |
subroutine | calc_mean_hgt (s_ii, e_ii, s_jj, e_jj, HGT) |
Calculates average terrain height within coarse grid cell ("block") More... | |
subroutine | hgt_interpolate (lat, lon_in, lat_blk, lon_blk, HGT_coarse, HGT_coarse_on_fine) |
Interpolates height from coarse grid on to fine grid points. More... | |
real(kind=real_kind) function | interp_1d (x, x1, x2, y1, y2) |
Interpolates (or extrapolates) linear function y = y(x) More... | |
integer function | nearest_i_east (lon_in) |
Finds nearest fine-grid i index to the east of a given longitude. More... | |
integer function | nearest_i_west (lon_in) |
Finds nearest fine-grid i index to the west of a given longitude. More... | |
integer function | nearest_j_north (lat_in) |
Calculates nearest fine-grid j index to the north of a given latitude. More... | |
integer function | nearest_j_south (lat_in) |
Calculates nearest fine-grid j index to the south of a given latitude. More... | |
subroutine | netcdf_err (err, string) |
Returns netCDF error given input err code. More... | |
Data Fields | |
integer, parameter | dbl_kind = selected_real_kind(13) |
double precision More... | |
integer | dimx_fine |
x-dimension of fine grid More... | |
integer | dimy_fine |
y-dimension of fine grid More... | |
real(kind=real_kind), dimension(:,:), allocatable | hgt_m_fine |
Height of fine grid pts (m) More... | |
real(kind=real_kind), parameter | hgt_missing = 1.E+10 |
Flag for missing data. More... | |
real(kind=real_kind), dimension(:), allocatable | lat1d_fine |
latitude of fine grid pts More... | |
real(kind=real_kind), dimension(:), allocatable | lon1d_fine |
longitude of fine grid pts More... | |
real(kind=real_kind), parameter | p5 = 0.5_real_kind |
one half More... | |
real, parameter | pi = 3.1415926535897_real_kind |
pi More... | |
integer, parameter | real_kind = selected_real_kind(6) |
single precision More... | |
Definition at line 22 of file module_gsl_oro_data_lg_scale.f90.
subroutine gsl_oro_data_lg_scale::calc_gsl_oro_data_lg_scale | ( | character(len=2), intent(in) | tile_num, |
character(len=7), intent(in) | res_indx, | ||
character(len=4), intent(in) | halo | ||
) |
Subroutine to compute orographic statistics needed for large-scale orograhic drag (gravity wave and blocking) schemes.
[in] | tile_num | (tile number) |
[in] | res_indx | (resolution) |
[in] | halo | (halo number) |
Definition at line 50 of file module_gsl_oro_data_lg_scale.f90.
References calc_mean_hgt(), hgt_interpolate(), nearest_i_east(), nearest_i_west(), nearest_j_north(), nearest_j_south(), and netcdf_err().
Referenced by gsl_oro_data().
subroutine gsl_oro_data_lg_scale::calc_mean_hgt | ( | integer | s_ii, |
integer | e_ii, | ||
integer | s_jj, | ||
integer | e_jj, | ||
real (kind=real_kind), intent(out) | HGT | ||
) |
Calculates average terrain height within coarse grid cell ("block")
[in] | s_ii | Fine grid starting i-index |
[in] | e_ii | Fine grid ending i-index |
[in] | s_jj | Fine grid starting j-index |
[in] | e_jj | Fine grid ending j-index |
[out] | hgt | Fine grid height (m) |
Definition at line 982 of file module_gsl_oro_data_lg_scale.f90.
Referenced by calc_gsl_oro_data_lg_scale().
subroutine gsl_oro_data_lg_scale::hgt_interpolate | ( | real (kind = real_kind), intent(in) | lat, |
real (kind = real_kind), intent(in) | lon_in, | ||
real (kind = real_kind), dimension(3), intent(in) | lat_blk, | ||
real (kind = real_kind), dimension(3), intent(in) | lon_blk, | ||
real (kind = real_kind), dimension(3,3), intent(in) | HGT_coarse, | ||
real (kind = real_kind), intent(out) | HGT_coarse_on_fine | ||
) |
Interpolates height from coarse grid on to fine grid points.
[in] | lat | Latitude of fine grid point. |
[in] | lon_in | Longitude of fine grid point. |
[in] | lat_blk | Latitudes of neighboring coarse grid points. |
[in] | lon_blk | Longitudes of neighboring coarse grid points. |
[in] | hgt_coarse | Topographic heights on coarse grid |
[out] | hgt_coarse_on_fine | Coarse grid heights interpolated on to fine grid |
Definition at line 1043 of file module_gsl_oro_data_lg_scale.f90.
References interp_1d().
Referenced by calc_gsl_oro_data_lg_scale().
real (kind=real_kind) function gsl_oro_data_lg_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 1304 of file module_gsl_oro_data_lg_scale.f90.
Referenced by hgt_interpolate(), and gsl_oro_data_sm_scale::interp_1d().
integer function gsl_oro_data_lg_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 1174 of file module_gsl_oro_data_lg_scale.f90.
Referenced by calc_gsl_oro_data_lg_scale(), gsl_oro_data_sm_scale::calc_gsl_oro_data_sm_scale(), and gsl_oro_data_sm_scale::nearest_i_east().
integer function gsl_oro_data_lg_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 1207 of file module_gsl_oro_data_lg_scale.f90.
Referenced by calc_gsl_oro_data_lg_scale(), gsl_oro_data_sm_scale::calc_gsl_oro_data_sm_scale(), and gsl_oro_data_sm_scale::nearest_i_west().
integer function gsl_oro_data_lg_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 1240 of file module_gsl_oro_data_lg_scale.f90.
Referenced by calc_gsl_oro_data_lg_scale(), gsl_oro_data_sm_scale::calc_gsl_oro_data_sm_scale(), and gsl_oro_data_sm_scale::nearest_j_north().
integer function gsl_oro_data_lg_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 1269 of file module_gsl_oro_data_lg_scale.f90.
Referenced by calc_gsl_oro_data_lg_scale(), gsl_oro_data_sm_scale::calc_gsl_oro_data_sm_scale(), and gsl_oro_data_sm_scale::nearest_j_south().
subroutine gsl_oro_data_lg_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 1324 of file module_gsl_oro_data_lg_scale.f90.
integer, parameter gsl_oro_data_lg_scale::dbl_kind = selected_real_kind(13) |
double precision
Definition at line 27 of file module_gsl_oro_data_lg_scale.f90.
integer gsl_oro_data_lg_scale::dimx_fine |
x-dimension of fine grid
Definition at line 30 of file module_gsl_oro_data_lg_scale.f90.
integer gsl_oro_data_lg_scale::dimy_fine |
y-dimension of fine grid
Definition at line 31 of file module_gsl_oro_data_lg_scale.f90.
real (kind = real_kind), dimension(:,:), allocatable gsl_oro_data_lg_scale::hgt_m_fine |
Height of fine grid pts (m)
Definition at line 38 of file module_gsl_oro_data_lg_scale.f90.
real (kind = real_kind), parameter gsl_oro_data_lg_scale::hgt_missing = 1.E+10 |
Flag for missing data.
Definition at line 39 of file module_gsl_oro_data_lg_scale.f90.
real (kind = real_kind), dimension(:), allocatable gsl_oro_data_lg_scale::lat1d_fine |
latitude of fine grid pts
Definition at line 33 of file module_gsl_oro_data_lg_scale.f90.
real (kind = real_kind), dimension(:), allocatable gsl_oro_data_lg_scale::lon1d_fine |
longitude of fine grid pts
Definition at line 34 of file module_gsl_oro_data_lg_scale.f90.
real (kind = real_kind), parameter gsl_oro_data_lg_scale::p5 = 0.5_real_kind |
one half
Definition at line 36 of file module_gsl_oro_data_lg_scale.f90.
real, parameter gsl_oro_data_lg_scale::pi = 3.1415926535897_real_kind |
pi
Definition at line 29 of file module_gsl_oro_data_lg_scale.f90.
integer, parameter gsl_oro_data_lg_scale::real_kind = selected_real_kind(6) |
single precision
Definition at line 26 of file module_gsl_oro_data_lg_scale.f90.