chgres_cube
1.13.0
|
Read atmospheric data on the input grid. More...
Functions/Subroutines | |
subroutine | calcalpha_rotlatlon (latgrid, longrid, cenlat, cenlon, alpha) |
Calculate rotation angle for rotated latlon grids. More... | |
subroutine, public | cleanup_input_atm_data |
Free up memory associated with atm data. More... | |
subroutine, public | convert_winds_to_xyz |
Convert winds from 2-d to 3-d components. More... | |
subroutine | gridrot (lov, latin1, latin2, lon, rot) |
Compute grid rotation angle for non-latlon grids. More... | |
subroutine | init_atm_esmf_fields |
Create atmospheric esmf fields. More... | |
subroutine, public | read_input_atm_data (localpet) |
Read input grid atmospheric data driver. More... | |
subroutine | read_input_atm_gaussian_netcdf_file (localpet) |
Read fv3 netcdf gaussian history file. More... | |
subroutine | read_input_atm_grib2_file (localpet) |
Read input grid atmospheric fv3gfs grib2 files. More... | |
subroutine | read_input_atm_restart_file (localpet) |
Read input grid fv3 atmospheric data 'warm' restart files. More... | |
subroutine | read_input_atm_tiled_history_file (localpet) |
Read input grid fv3 atmospheric tiled history files in netcdf format. More... | |
subroutine | read_winds (u, v, localpet, octet_23, rlevs, lugb, pdt_num) |
Read winds from a grib2 file. More... | |
Variables | |
type(esmf_field) | dpres_input_grid |
pressure thickness More... | |
type(esmf_field), public | dzdt_input_grid |
vert velocity More... | |
integer, public | lev_input |
number of atmospheric layers More... | |
integer, public | levp1_input |
number of atmos layer interfaces More... | |
type(esmf_field), public | pres_input_grid |
3-d pressure More... | |
type(esmf_field), public | ps_input_grid |
surface pressure More... | |
character(len=50), dimension(:), allocatable, private | slevs |
The atmospheric levels in the GRIB2 input file. More... | |
type(esmf_field), public | temp_input_grid |
temperature More... | |
type(esmf_field), public | terrain_input_grid |
terrain height More... | |
type(esmf_field), dimension(:), allocatable, public | tracers_input_grid |
tracers More... | |
type(esmf_field), public | u_input_grid |
u/v wind at grid More... | |
type(esmf_field), public | v_input_grid |
box center More... | |
type(esmf_field), public | xwind_input_grid |
x-component wind More... | |
type(esmf_field), public | ywind_input_grid |
y-component wind More... | |
type(esmf_field), public | zwind_input_grid |
z-component wind More... | |
Read atmospheric data on the input grid.
Supported formats include fv3 tiled 'restart' files, fv3 tiled 'history' files, fv3 gaussian history files, spectral gfs gaussian nemsio files, and spectral gfs sigio/sfcio files.
Public variables are defined below: "input" indicates field associated with the input grid.
subroutine atm_input_data::calcalpha_rotlatlon | ( | real(esmf_kind_r8), dimension(i_input,j_input), intent(in) | latgrid, |
real(esmf_kind_r8), dimension(i_input,j_input), intent(in) | longrid, | ||
real(esmf_kind_r4), intent(in) | cenlat, | ||
real(esmf_kind_r4), intent(in) | cenlon, | ||
real(esmf_kind_r4), dimension(i_input,j_input), intent(out) | alpha | ||
) |
Calculate rotation angle for rotated latlon grids.
Needed to convert to earth-relative winds.
[in] | latgrid | grid latitudes |
[in] | longrid | grid longitudes |
[in] | cenlat | center latitude |
[in] | cenlon | center longitude |
[out] | alpha | grid rotation angle |
Definition at line 3334 of file atm_input_data.F90.
References model_grid::i_input, and model_grid::j_input.
Referenced by read_winds().
subroutine, public atm_input_data::cleanup_input_atm_data | ( | ) |
Free up memory associated with atm data.
Definition at line 3373 of file atm_input_data.F90.
References dzdt_input_grid, program_setup::num_tracers_input, pres_input_grid, ps_input_grid, temp_input_grid, terrain_input_grid, tracers_input_grid, xwind_input_grid, ywind_input_grid, and zwind_input_grid.
Referenced by atmosphere::atmosphere_driver().
subroutine, public atm_input_data::convert_winds_to_xyz | ( | ) |
Convert winds from 2-d to 3-d components.
Definition at line 3203 of file atm_input_data.F90.
References model_grid::latitude_input_grid, model_grid::longitude_input_grid, u_input_grid, v_input_grid, xwind_input_grid, ywind_input_grid, and zwind_input_grid.
Referenced by init_atm_esmf_fields(), read_input_atm_gaussian_netcdf_file(), read_input_atm_grib2_file(), read_input_atm_restart_file(), and read_input_atm_tiled_history_file().
|
private |
Compute grid rotation angle for non-latlon grids.
[in] | lov | orientation angle |
[in] | latin1 | first tangent latitude |
[in] | latin2 | second tangent latitude |
[in] | lon | longitude |
[in,out] | rot | rotation angle |
Definition at line 3293 of file atm_input_data.F90.
References model_grid::i_input, and model_grid::j_input.
Referenced by read_winds().
|
private |
Create atmospheric esmf fields.
Definition at line 152 of file atm_input_data.F90.
References program_setup::atm_files_input_grid, convert_winds_to_xyz(), program_setup::data_dir_input_grid, dpres_input_grid, dzdt_input_grid, model_grid::i_input, model_grid::input_grid, model_grid::j_input, lev_input, levp1_input, program_setup::num_tracers_input, pres_input_grid, ps_input_grid, temp_input_grid, terrain_input_grid, program_setup::tracers_input, tracers_input_grid, u_input_grid, v_input_grid, xwind_input_grid, ywind_input_grid, and zwind_input_grid.
Referenced by read_input_atm_gaussian_netcdf_file(), read_input_atm_grib2_file(), read_input_atm_restart_file(), and read_input_atm_tiled_history_file().
subroutine, public atm_input_data::read_input_atm_data | ( | integer, intent(in) | localpet | ) |
Read input grid atmospheric data driver.
[in] | localpet | ESMF local persistent execution thread |
Definition at line 80 of file atm_input_data.F90.
References program_setup::input_type, read_input_atm_gaussian_netcdf_file(), read_input_atm_grib2_file(), read_input_atm_restart_file(), and read_input_atm_tiled_history_file().
Referenced by atmosphere::atmosphere_driver().
|
private |
Read fv3 netcdf gaussian history file.
Each task reads a horizontal slice.
[in] | localpet | ESMF local persistent execution thread |
Definition at line 1308 of file atm_input_data.F90.
References program_setup::atm_files_input_grid, convert_winds_to_xyz(), program_setup::data_dir_input_grid, dpres_input_grid, dzdt_input_grid, model_grid::i_input, init_atm_esmf_fields(), model_grid::input_grid, model_grid::j_input, lev_input, levp1_input, program_setup::num_tracers_input, pres_input_grid, ps_input_grid, temp_input_grid, terrain_input_grid, program_setup::tracers_input, tracers_input_grid, u_input_grid, and v_input_grid.
Referenced by read_input_atm_data().
subroutine atm_input_data::read_input_atm_grib2_file | ( | integer, intent(in) | localpet | ) |
Read input grid atmospheric fv3gfs grib2 files.
[in] | localpet | ESMF local persistent execution thread |
Definition at line 1983 of file atm_input_data.F90.
References grib2_util::convert_omega(), convert_winds_to_xyz(), program_setup::data_dir_input_grid, dzdt_input_grid, program_setup::external_model, program_setup::get_var_cond(), program_setup::grib2_file_input_grid, model_grid::i_input, init_atm_esmf_fields(), model_grid::j_input, lev_input, levp1_input, pres_input_grid, ps_input_grid, program_setup::read_from_input, read_winds(), grib2_util::rh2spfh(), grib2_util::rh2spfh_gfs(), slevs, temp_input_grid, terrain_input_grid, program_setup::tracers, program_setup::tracers_input, tracers_input_grid, u_input_grid, and v_input_grid.
Referenced by read_input_atm_data().
|
private |
Read input grid fv3 atmospheric data 'warm' restart files.
[in] | localpet | ESMF local persistent execution thread |
Definition at line 1049 of file atm_input_data.F90.
References program_setup::atm_core_files_input_grid, program_setup::atm_tracer_files_input_grid, convert_winds_to_xyz(), program_setup::data_dir_input_grid, dpres_input_grid, dzdt_input_grid, model_grid::i_input, init_atm_esmf_fields(), model_grid::input_grid, model_grid::j_input, lev_input, levp1_input, model_grid::num_tiles_input_grid, program_setup::num_tracers_input, pres_input_grid, ps_input_grid, temp_input_grid, terrain_input_grid, program_setup::tracers_input, tracers_input_grid, u_input_grid, and v_input_grid.
Referenced by read_input_atm_data().
subroutine atm_input_data::read_input_atm_tiled_history_file | ( | integer, intent(in) | localpet | ) |
Read input grid fv3 atmospheric tiled history files in netcdf format.
[in] | localpet | ESMF local persistent execution thread |
Definition at line 1692 of file atm_input_data.F90.
References program_setup::atm_files_input_grid, convert_winds_to_xyz(), program_setup::data_dir_input_grid, dpres_input_grid, dzdt_input_grid, model_grid::i_input, init_atm_esmf_fields(), model_grid::input_grid, model_grid::j_input, lev_input, levp1_input, model_grid::num_tiles_input_grid, program_setup::num_tracers_input, pres_input_grid, ps_input_grid, temp_input_grid, terrain_input_grid, program_setup::tracers_input, tracers_input_grid, u_input_grid, and v_input_grid.
Referenced by read_input_atm_data().
subroutine atm_input_data::read_winds | ( | real(esmf_kind_r8), dimension(:,:,:), intent(inout), allocatable | u, |
real(esmf_kind_r8), dimension(:,:,:), intent(inout), allocatable | v, | ||
integer, intent(in) | localpet, | ||
integer, intent(in) | octet_23, | ||
real(esmf_kind_r8), dimension(lev_input), intent(in) | rlevs, | ||
integer, intent(in) | lugb, | ||
integer, intent(in) | pdt_num | ||
) |
Read winds from a grib2 file.
Rotate winds to be earth relative if necessary.
[in,out] | u | u-component wind |
[in,out] | v | v-component wind |
[in] | localpet | ESMF local persistent execution thread |
[in] | octet_23 | Section 4/Octet 23 - Type of first fixed surface. |
[in] | rlevs | Array of atmospheric level values |
[in] | lugb | Logical unit number of GRIB2 file. |
[in] | pdt_num | Product definition template number. |
Definition at line 3020 of file atm_input_data.F90.
References calcalpha_rotlatlon(), program_setup::get_var_cond(), gridrot(), model_grid::i_input, model_grid::j_input, model_grid::jp1_input, model_grid::latitude_input_grid, lev_input, model_grid::longitude_input_grid, and slevs.
Referenced by read_input_atm_grib2_file().
|
private |
pressure thickness
Definition at line 51 of file atm_input_data.F90.
Referenced by init_atm_esmf_fields(), read_input_atm_gaussian_netcdf_file(), read_input_atm_restart_file(), and read_input_atm_tiled_history_file().
type(esmf_field), public atm_input_data::dzdt_input_grid |
vert velocity
Definition at line 50 of file atm_input_data.F90.
Referenced by atmosphere::atmosphere_driver(), cleanup_input_atm_data(), init_atm_esmf_fields(), read_input_atm_gaussian_netcdf_file(), read_input_atm_grib2_file(), read_input_atm_restart_file(), and read_input_atm_tiled_history_file().
integer, public atm_input_data::lev_input |
number of atmospheric layers
Definition at line 64 of file atm_input_data.F90.
Referenced by atmosphere::create_atm_b4adj_esmf_fields(), init_atm_esmf_fields(), read_input_atm_gaussian_netcdf_file(), read_input_atm_grib2_file(), read_input_atm_restart_file(), read_input_atm_tiled_history_file(), read_winds(), atmosphere::vintg(), and atmosphere::vintg_wam().
integer, public atm_input_data::levp1_input |
number of atmos layer interfaces
Definition at line 65 of file atm_input_data.F90.
Referenced by init_atm_esmf_fields(), read_input_atm_gaussian_netcdf_file(), read_input_atm_grib2_file(), read_input_atm_restart_file(), and read_input_atm_tiled_history_file().
type(esmf_field), public atm_input_data::pres_input_grid |
3-d pressure
Definition at line 52 of file atm_input_data.F90.
Referenced by atmosphere::atmosphere_driver(), cleanup_input_atm_data(), init_atm_esmf_fields(), read_input_atm_gaussian_netcdf_file(), read_input_atm_grib2_file(), read_input_atm_restart_file(), and read_input_atm_tiled_history_file().
type(esmf_field), public atm_input_data::ps_input_grid |
surface pressure
Definition at line 53 of file atm_input_data.F90.
Referenced by atmosphere::atmosphere_driver(), cleanup_input_atm_data(), init_atm_esmf_fields(), read_input_atm_gaussian_netcdf_file(), read_input_atm_grib2_file(), read_input_atm_restart_file(), and read_input_atm_tiled_history_file().
|
private |
The atmospheric levels in the GRIB2 input file.
Definition at line 67 of file atm_input_data.F90.
Referenced by read_input_atm_grib2_file(), and read_winds().
type(esmf_field), public atm_input_data::temp_input_grid |
temperature
Definition at line 55 of file atm_input_data.F90.
Referenced by atmosphere::atmosphere_driver(), cleanup_input_atm_data(), init_atm_esmf_fields(), read_input_atm_gaussian_netcdf_file(), read_input_atm_grib2_file(), read_input_atm_restart_file(), and read_input_atm_tiled_history_file().
type(esmf_field), public atm_input_data::terrain_input_grid |
terrain height
Definition at line 54 of file atm_input_data.F90.
Referenced by atmosphere::atmosphere_driver(), cleanup_input_atm_data(), sfc_input_data::cleanup_input_sfc_data(), init_atm_esmf_fields(), sfc_input_data::init_sfc_esmf_fields(), surface::interp(), read_input_atm_gaussian_netcdf_file(), read_input_atm_grib2_file(), read_input_atm_restart_file(), read_input_atm_tiled_history_file(), sfc_input_data::read_input_sfc_data(), sfc_input_data::read_input_sfc_grib2_file(), sfc_input_data::read_input_sfc_netcdf_file(), and sfc_input_data::read_input_sfc_restart_file().
type(esmf_field), dimension(:), allocatable, public atm_input_data::tracers_input_grid |
tracers
Definition at line 62 of file atm_input_data.F90.
Referenced by atmosphere::atmosphere_driver(), cleanup_input_atm_data(), init_atm_esmf_fields(), read_input_atm_gaussian_netcdf_file(), read_input_atm_grib2_file(), read_input_atm_restart_file(), and read_input_atm_tiled_history_file().
type(esmf_field), public atm_input_data::u_input_grid |
u/v wind at grid
Definition at line 57 of file atm_input_data.F90.
Referenced by convert_winds_to_xyz(), init_atm_esmf_fields(), read_input_atm_gaussian_netcdf_file(), read_input_atm_grib2_file(), read_input_atm_restart_file(), and read_input_atm_tiled_history_file().
type(esmf_field), public atm_input_data::v_input_grid |
box center
Definition at line 58 of file atm_input_data.F90.
Referenced by convert_winds_to_xyz(), init_atm_esmf_fields(), read_input_atm_gaussian_netcdf_file(), read_input_atm_grib2_file(), read_input_atm_restart_file(), and read_input_atm_tiled_history_file().
type(esmf_field), public atm_input_data::xwind_input_grid |
x-component wind
Definition at line 59 of file atm_input_data.F90.
Referenced by atmosphere::atmosphere_driver(), cleanup_input_atm_data(), convert_winds_to_xyz(), and init_atm_esmf_fields().
type(esmf_field), public atm_input_data::ywind_input_grid |
y-component wind
Definition at line 60 of file atm_input_data.F90.
Referenced by atmosphere::atmosphere_driver(), cleanup_input_atm_data(), convert_winds_to_xyz(), and init_atm_esmf_fields().
type(esmf_field), public atm_input_data::zwind_input_grid |
z-component wind
Definition at line 61 of file atm_input_data.F90.
Referenced by atmosphere::atmosphere_driver(), cleanup_input_atm_data(), convert_winds_to_xyz(), and init_atm_esmf_fields().