chgres_cube  1.8.0
All Data Structures Namespaces Files Functions Variables Pages
input_data Module Reference

Read atmospheric, surface and nst 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 check_cnwat (cnwat)
 When using GEFS data, some points on the target grid have unreasonable canpy moisture content, so zero out any locations with unrealistic canopy moisture values (>0.5). More...
 
subroutine, public check_soilt (soilt, landmask, skint)
 Check for and replace certain values in soil temperature. More...
 
subroutine, public cleanup_input_atm_data
 Free up memory associated with atm data. More...
 
subroutine, public cleanup_input_nst_data
 Free up memory associated with nst data. More...
 
subroutine, public cleanup_input_sfc_data
 Free up memory associated with sfc data. More...
 
subroutine, public convert_winds
 Convert winds from 2-d to 3-d components. More...
 
subroutine, public DINT2P (PPIN, XXIN, NPIN, PPOUT, XXOUT, NPOUT, LINLOG, XMSG, IER)
 Pressure to presure vertical interpolation for tracers with linear or lnP interpolation. More...
 
subroutine gridrot (lov, latin1, latin2, lon, rot)
 Compute grid rotation angle for non-latlon grids. More...
 
subroutine handle_grib_error (vname, lev, method, value, varnum, iret, var, var8, var3d)
 Handle GRIB2 read error based on the user selected method in the varmap file. More...
 
subroutine init_atm_esmf_fields
 Create atmospheric esmf fields. More...
 
subroutine, public init_sfc_esmf_fields
 Create surface input grid esmf fields. More...
 
recursive subroutine, public quicksort (a, first, last)
 Sort an array of values. More...
 
subroutine READ_FV3_GRID_DATA_NETCDF (FIELD, TILE_NUM, IMO, JMO, LMO, SFCDATA, SFCDATA_3D)
 Read a record from a netcdf file. More...
 
subroutine read_grib_soil (vname, vname_file, lugb, pdt_num, dummy3d)
 Read soil temperature and soil moisture fields from a GRIB2 file. More...
 
subroutine, public read_input_atm_data (localpet)
 Read input grid atmospheric data driver. More...
 
subroutine read_input_atm_gaussian_nemsio_file (localpet)
 Read input grid atmospheric fv3 gaussian nemsio files. More...
 
subroutine read_input_atm_gaussian_netcdf_file (localpet)
 Read fv3 netcdf gaussian history file. More...
 
subroutine read_input_atm_gfs_gaussian_nemsio_file (localpet)
 Read input atmospheric data from spectral gfs (global gaussian in nemsio format. More...
 
subroutine read_input_atm_gfs_sigio_file (localpet)
 Read input atmospheric data from spectral gfs (old sigio format). 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, public read_input_nst_data (localpet)
 Driver to read input grid nst data. More...
 
subroutine read_input_nst_nemsio_file (localpet)
 Read input grid nst data from fv3 gaussian nemsio history file or spectral GFS nemsio file. More...
 
subroutine read_input_nst_netcdf_file (localpet)
 Read nst data from these netcdf formatted fv3 files: tiled history, tiled warm restart, and gaussian history. More...
 
subroutine, public read_input_sfc_data (localpet)
 Driver to read input grid surface data. More...
 
subroutine read_input_sfc_gaussian_nemsio_file (localpet)
 Read input grid surface data from an fv3 gaussian nemsio file. More...
 
subroutine read_input_sfc_gfs_gaussian_nemsio_file (localpet)
 Read input grid surface data from a spectral gfs gaussian nemsio file. More...
 
subroutine read_input_sfc_gfs_sfcio_file (localpet)
 Read input grid surface data from a spectral gfs gaussian sfcio file. More...
 
subroutine read_input_sfc_grib2_file (localpet)
 Read input grid surface data from a grib2 file. More...
 
subroutine read_input_sfc_netcdf_file (localpet)
 Read input grid surface data from tiled 'history' files (netcdf) or gaussian netcdf files. More...
 
subroutine read_input_sfc_restart_file (localpet)
 Read input grid surface data from fv3 tiled warm 'restart' files. More...
 
subroutine read_winds (u, v, localpet, octet_23, rlevs, lugb, pdt_num)
 Read winds from a grib2 file. More...
 

Variables

type(esmf_field), public c_0_input_grid
 Coefficient 1 to calculate d(tz)/d(ts) More...
 
type(esmf_field), public c_d_input_grid
 Coefficient 2 to calculate d(tz)/d(ts) More...
 
type(esmf_field), public canopy_mc_input_grid
 canopy moist content More...
 
type(esmf_field), public d_conv_input_grid
 Thickness of free convection layer. More...
 
type(esmf_field) dpres_input_grid
 pressure thickness More...
 
type(esmf_field), public dt_cool_input_grid
 Sub-layer cooling amount. More...
 
type(esmf_field), public dzdt_input_grid
 vert velocity More...
 
type(esmf_field), public f10m_input_grid
 log((z0+10)*1/z0) More...
 
type(esmf_field), public ffmm_input_grid
 log((z0+z1)*1/z0) See sfc_diff.f for details. More...
 
integer, parameter icet_default = 265.0
 Default value of soil and skin temperature (K) over ice. More...
 
type(esmf_field), public ifd_input_grid
 Model mode index. More...
 
type(esmf_field), public lai_input_grid
 leaf area index More...
 
type(esmf_field), public landsea_mask_input_grid
 land sea mask; 0-water, 1-land, 2-ice More...
 
integer, public lev_input
 number of atmospheric layers More...
 
integer, public levp1_input
 number of atmos layer interfaces More...
 
integer, public lsoil_input =4
 number of soil layers, no longer hardwired to allow for 7 layers of soil for the RUC LSM More...
 
type(esmf_field), public max_veg_greenness_input_grid
 shdmax More...
 
type(esmf_field), public min_veg_greenness_input_grid
 shdmin More...
 
type(esmf_field), public pres_input_grid
 3-d pressure More...
 
type(esmf_field), public ps_input_grid
 surface pressure More...
 
type(esmf_field), public q2m_input_grid
 2-m spec hum More...
 
type(esmf_field), public qrain_input_grid
 Sensible heat flux due to rainfall. More...
 
type(esmf_field), public seaice_depth_input_grid
 sea ice depth More...
 
type(esmf_field), public seaice_fract_input_grid
 sea ice fraction More...
 
type(esmf_field), public seaice_skin_temp_input_grid
 sea ice skin temp More...
 
type(esmf_field), public skin_temp_input_grid
 skin temp/sst More...
 
character(len=50), dimension(:), allocatable, private slevs
 The atmospheric levels in the GRIB2 input file. More...
 
type(esmf_field), public snow_depth_input_grid
 snow dpeth More...
 
type(esmf_field), public snow_liq_equiv_input_grid
 snow liq equiv depth More...
 
type(esmf_field), public soil_temp_input_grid
 3-d soil temp More...
 
type(esmf_field), public soil_type_input_grid
 soil type More...
 
type(esmf_field), public soilm_liq_input_grid
 3-d liquid soil moisture More...
 
type(esmf_field), public soilm_tot_input_grid
 3-d total soil moisture More...
 
type(esmf_field), public srflag_input_grid
 snow/rain flag More...
 
type(esmf_field), public t2m_input_grid
 2-m temperature More...
 
type(esmf_field), public temp_input_grid
 temperature More...
 
type(esmf_field), public terrain_input_grid
 terrain height More...
 
type(esmf_field), public tprcp_input_grid
 precip More...
 
type(esmf_field), dimension(:), allocatable, public tracers_input_grid
 tracers More...
 
type(esmf_field), public tref_input_grid
 Reference temperature. More...
 
type(esmf_field), public u_input_grid
 u/v wind at grid More...
 
type(esmf_field), public ustar_input_grid
 fric velocity More...
 
type(esmf_field), public v_input_grid
 box center More...
 
type(esmf_field), public veg_greenness_input_grid
 vegetation fraction More...
 
type(esmf_field), public veg_type_input_grid
 vegetation type More...
 
integer, public veg_type_landice_input = 15
 NOAH land ice option defined at this veg type. More...
 
type(esmf_field), public w_0_input_grid
 Coefficient 3 to calculate d(tz)/d(ts) More...
 
type(esmf_field), public w_d_input_grid
 Coefficient 4 to calculate d(tz)/d(ts) More...
 
type(esmf_field), public wind_input_grid
 3-component wind More...
 
type(esmf_field), public xs_input_grid
 Salinity content in diurnal thermocline layer. More...
 
type(esmf_field), public xt_input_grid
 Heat content in diurnal thermocline layer. More...
 
type(esmf_field), public xtts_input_grid
 d(xt)/d(ts) More...
 
type(esmf_field), public xu_input_grid
 u-current content in diurnal thermocline layer More...
 
type(esmf_field), public xv_input_grid
 v-current content in diurnal thermocline layer More...
 
type(esmf_field), public xz_input_grid
 Diurnal thermocline layer thickness. More...
 
type(esmf_field), public xzts_input_grid
 d(xz)/d(ts) More...
 
type(esmf_field), public z0_input_grid
 roughness length More...
 
type(esmf_field), public z_c_input_grid
 Sub-layer cooling thickness. More...
 
type(esmf_field), public zm_input_grid
 Oceanic mixed layer depth. More...
 

Detailed Description

Read atmospheric, surface and nst 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.

Author
George Gayno NCEP/EMC

Function/Subroutine Documentation

◆ calcalpha_rotlatlon()

subroutine 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.

Parameters
[in]latgridgrid latitudes
[in]longridgrid longitudes
[in]cenlatcenter latitude
[in]cenloncenter longitude
[out]alphagrid rotation angle
Author
Larissa Reames

Definition at line 7098 of file input_data.F90.

References model_grid::i_input, and model_grid::j_input.

Referenced by read_winds().

◆ check_cnwat()

subroutine, public input_data::check_cnwat ( real(esmf_kind_r8), dimension(i_input,j_input), intent(inout)  cnwat)

When using GEFS data, some points on the target grid have unreasonable canpy moisture content, so zero out any locations with unrealistic canopy moisture values (>0.5).

Parameters
cnwat[input] 2-dimensional canopy moisture content
Author
Larissa Reames CIMMS/NSSL

Definition at line 7491 of file input_data.F90.

References model_grid::i_input, and model_grid::j_input.

Referenced by read_input_sfc_grib2_file().

◆ check_soilt()

subroutine, public input_data::check_soilt ( real(esmf_kind_r8), dimension(i_input,j_input,lsoil_input), intent(inout)  soilt,
integer(esmf_kind_i4), dimension(i_input,j_input), intent(in)  landmask,
real(esmf_kind_r8), dimension(i_input,j_input), intent(in)  skint 
)

Check for and replace certain values in soil temperature.

At open water points (landmask=0) use skin temperature as a filler value. At land points (landmask=1) with excessive soil temperature, replace soil temperature with skin temperature. In GEFSv12.0 data there are some erroneous missing values at land points which this corrects. At sea ice points (landmask=2), store a default ice column temperature because grib2 files do not have ice column temperature which FV3 expects at these points.

Parameters
soilt[inout] 3-dimensional soil temperature arrray
landmask[in] landmask of the input grid
skint[in] 2-dimensional skin temperature array
Author
Larissa Reames CIMMS/NSSL

Definition at line 7461 of file input_data.F90.

References model_grid::i_input, icet_default, model_grid::j_input, and lsoil_input.

Referenced by read_input_sfc_grib2_file().

◆ cleanup_input_atm_data()

subroutine, public input_data::cleanup_input_atm_data ( )

Free up memory associated with atm data.

Author
George Gayno NCEP/EMC

Definition at line 7313 of file 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, and wind_input_grid.

Referenced by atmosphere::atmosphere_driver().

◆ cleanup_input_nst_data()

subroutine, public input_data::cleanup_input_nst_data ( )

◆ cleanup_input_sfc_data()

◆ convert_winds()

◆ DINT2P()

subroutine, public input_data::DINT2P ( real*8, dimension(npin)  PPIN,
real*8, dimension(npin)  XXIN,
integer  NPIN,
real*8, dimension(npout)  PPOUT,
real*8, dimension(npout)  XXOUT,
integer  NPOUT,
integer  LINLOG,
real*8  XMSG,
integer  IER 
)

Pressure to presure vertical interpolation for tracers with linear or lnP interpolation.

Input tracers on pres levels are interpolated to the target output pressure levels. The matching levels of input and output will keep the same. Extrapolation is also allowed but needs caution. The routine is mostly for GFSV16 combined grib2 input when spfh has missing levels in low and mid troposphere from U/T/HGT/DZDT.

Parameters
[in]ppin1d input pres levs
[in]xxin1d input tracer
[in]npinnumber of input levs
[in]ppout1d target pres levs
[out]xxout1d interpolated tracer
[in]npoutnumber of target levs
[in]linloginterp method.1:linear;not 1:log;neg:extrp allowed
[in]xmsgfill values of missing levels (-999.0)
[out]iererror status. non 0: failed interpolation
Author
Jili Dong NCEP/EMC
Date
2021/07/30

Definition at line 7529 of file input_data.F90.

◆ gridrot()

subroutine input_data::gridrot ( real(esmf_kind_r4), intent(in)  lov,
real(esmf_kind_r4), intent(in)  latin1,
real(esmf_kind_r4), intent(in)  latin2,
real(esmf_kind_r8), dimension(i_input,j_input), intent(in)  lon,
real(esmf_kind_r4), dimension(i_input,j_input), intent(inout)  rot 
)
private

Compute grid rotation angle for non-latlon grids.

Note
The original gridrot subroutine was specific to polar stereographic grids. We need to compute it for Lambert Conformal grids. So we need lat1,lat2. This follows the ncl_ncarg source code: ncl_ncarg-6.6.2/ni/src/ncl/GetGrids.c
Parameters
[in]lovorientation angle
[in]latin1first tangent latitude
[in]latin2second tangent latitude
[in]lonlongitude
[in,out]rotrotation angle
Author
Larissa Reames

Definition at line 7057 of file input_data.F90.

References model_grid::i_input, and model_grid::j_input.

Referenced by read_winds().

◆ handle_grib_error()

subroutine input_data::handle_grib_error ( character(len=20), intent(in)  vname,
character(len=20), intent(in)  lev,
character(len=20), intent(in)  method,
real(esmf_kind_r4), intent(in)  value,
integer, intent(in)  varnum,
integer, intent(inout)  iret,
real(esmf_kind_r4), dimension(:,:), intent(inout), optional  var,
real(esmf_kind_r8), dimension(:,:), intent(inout), optional  var8,
real(esmf_kind_r8), dimension(:,:,:), intent(inout), optional  var3d 
)

Handle GRIB2 read error based on the user selected method in the varmap file.

Parameters
[in]vnamegrib2 variable name
[in]levgrib2 variable level
[in]methodhow missing data is handled
[in]valuefill value for missing data
[in]varnumgrib2 variable number
[in,out]iretreturn status code
[in,out]var4-byte array of corrected data
[in,out]var88-byte array of corrected data
[in,out]var3d3-d array of corrected data
Author
Larissa Reames

Definition at line 7147 of file input_data.F90.

References error_handler(), and program_setup::read_from_input.

Referenced by read_grib_soil(), read_input_atm_grib2_file(), read_input_sfc_grib2_file(), and read_winds().

◆ init_atm_esmf_fields()

◆ init_sfc_esmf_fields()

◆ quicksort()

recursive subroutine, public input_data::quicksort ( real*8, dimension(*)  a,
integer  first,
integer  last 
)

Sort an array of values.

Parameters
athe sorted array
firstthe first value of sorted array
lastthe last value of sorted array
Author
Jili Dong NOAA/EMC

Definition at line 7422 of file input_data.F90.

Referenced by read_input_atm_grib2_file().

◆ READ_FV3_GRID_DATA_NETCDF()

subroutine input_data::READ_FV3_GRID_DATA_NETCDF ( character(len=*), intent(in)  FIELD,
integer, intent(in)  TILE_NUM,
integer, intent(in)  IMO,
integer, intent(in)  JMO,
integer, intent(in)  LMO,
real(esmf_kind_r8), dimension(imo,jmo), intent(out), optional  SFCDATA,
real(esmf_kind_r8), dimension(imo,jmo,lmo), intent(out), optional  SFCDATA_3D 
)
private

Read a record from a netcdf file.

Parameters
[in]fieldname of field to be read
[in]tile_numgrid tile number
[in]imoi-dimension of field
[in]jmoj-dimension of field
[in]lmonumber of vertical levels of field
[out]sfcdata1-d array containing field data
[out]sfcdata_3d3-d array containing field data
Author
George Gayno NCEP/EMC

Definition at line 6758 of file input_data.F90.

References program_setup::data_dir_input_grid, netcdf_err(), and program_setup::sfc_files_input_grid.

◆ read_grib_soil()

subroutine input_data::read_grib_soil ( character(len=20), intent(in)  vname,
character(len=20), intent(in)  vname_file,
integer, intent(in)  lugb,
integer, intent(in)  pdt_num,
real(esmf_kind_r8), dimension(:,:,:), intent(inout)  dummy3d 
)
private

Read soil temperature and soil moisture fields from a GRIB2 file.

Parameters
[in]vnamevariable name in varmap table
[in]vname_filevariable name in grib2 file
[in]lugblogical unit number for surface grib2 file
[in]pdt_numproduct definition template number.
[in,out]dummy3darray of soil data
Author
George Gayno NCEP/EMC

Definition at line 7212 of file input_data.F90.

References error_handler(), program_setup::get_var_cond(), handle_grib_error(), model_grid::i_input, and model_grid::j_input.

Referenced by read_input_sfc_grib2_file().

◆ read_input_atm_data()

subroutine, public input_data::read_input_atm_data ( integer, intent(in)  localpet)

Read input grid atmospheric data driver.

Parameters
[in]localpetESMF local persistent execution thread
Author
George Gayno NCEP/EMC

Definition at line 149 of file input_data.F90.

References program_setup::input_type, read_input_atm_gaussian_nemsio_file(), read_input_atm_gaussian_netcdf_file(), read_input_atm_gfs_gaussian_nemsio_file(), read_input_atm_gfs_sigio_file(), read_input_atm_grib2_file(), read_input_atm_restart_file(), and read_input_atm_tiled_history_file().

Referenced by atmosphere::atmosphere_driver().

◆ read_input_atm_gaussian_nemsio_file()

subroutine input_data::read_input_atm_gaussian_nemsio_file ( integer, intent(in)  localpet)
private

◆ read_input_atm_gaussian_netcdf_file()

subroutine input_data::read_input_atm_gaussian_netcdf_file ( integer, intent(in)  localpet)
private

◆ read_input_atm_gfs_gaussian_nemsio_file()

subroutine input_data::read_input_atm_gfs_gaussian_nemsio_file ( integer, intent(in)  localpet)

Read input atmospheric data from spectral gfs (global gaussian in nemsio format.

Starting July 19, 2017).

Parameters
[in]localpetESMF local persistent execution thread
Author
George Gayno NCEP/EMC

Definition at line 986 of file input_data.F90.

References program_setup::atm_files_input_grid, convert_winds(), program_setup::data_dir_input_grid, dzdt_input_grid, error_handler(), model_grid::i_input, init_atm_esmf_fields(), 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().

◆ read_input_atm_gfs_sigio_file()

subroutine input_data::read_input_atm_gfs_sigio_file ( integer, intent(in)  localpet)
private

Read input atmospheric data from spectral gfs (old sigio format).

Note
Format used prior to July 19, 2017.
Parameters
[in]localpetESMF local persistent execution thread
Author
George Gayno NCEP/EMC

Definition at line 747 of file input_data.F90.

References program_setup::atm_files_input_grid, convert_winds(), program_setup::data_dir_input_grid, dzdt_input_grid, error_handler(), model_grid::i_input, init_atm_esmf_fields(), 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().

◆ read_input_atm_grib2_file()

◆ read_input_atm_restart_file()

subroutine input_data::read_input_atm_restart_file ( integer, intent(in)  localpet)
private

Read input grid fv3 atmospheric data 'warm' restart files.

Note
Routine reads tiled files in parallel. Tile 1 is read by localpet 0; tile 2 by localpet 1, etc. The number of pets must be equal to or greater than the number of tiled files.
Logic only tested with global input data of six tiles.
Parameters
[in]localpetESMF local persistent execution thread
Author
George Gayno NCEP/EMC

Definition at line 1522 of file input_data.F90.

References program_setup::atm_core_files_input_grid, program_setup::atm_tracer_files_input_grid, convert_winds(), program_setup::data_dir_input_grid, dpres_input_grid, dzdt_input_grid, error_handler(), model_grid::i_input, init_atm_esmf_fields(), model_grid::input_grid, model_grid::j_input, lev_input, levp1_input, netcdf_err(), 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().

◆ read_input_atm_tiled_history_file()

subroutine input_data::read_input_atm_tiled_history_file ( integer, intent(in)  localpet)

Read input grid fv3 atmospheric tiled history files in netcdf format.

Note
Routine reads tiled files in parallel. Tile 1 is read by localpet 0; tile 2 by localpet 1, etc. The number of pets must be equal to or greater than the number of tiled files.
Parameters
[in]localpetESMF local persistent execution thread
Author
George Gayno NCEP/EMC

Definition at line 2165 of file input_data.F90.

References program_setup::atm_files_input_grid, convert_winds(), program_setup::data_dir_input_grid, dpres_input_grid, dzdt_input_grid, error_handler(), model_grid::i_input, init_atm_esmf_fields(), model_grid::input_grid, model_grid::j_input, lev_input, levp1_input, netcdf_err(), 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().

◆ read_input_nst_data()

subroutine, public input_data::read_input_nst_data ( integer, intent(in)  localpet)

◆ read_input_nst_nemsio_file()

subroutine input_data::read_input_nst_nemsio_file ( integer, intent(in)  localpet)
private

Read input grid nst data from fv3 gaussian nemsio history file or spectral GFS nemsio file.

Note
The spectral GFS nst data is in a separate file from the surface data. The fv3 surface and nst data are in a single file.
Parameters
[in]localpetESMF local persistent execution thread
Author
George Gayno NCEP/EMC

Definition at line 6482 of file input_data.F90.

References c_0_input_grid, c_d_input_grid, d_conv_input_grid, program_setup::data_dir_input_grid, dt_cool_input_grid, error_handler(), model_grid::i_input, ifd_input_grid, program_setup::input_type, model_grid::j_input, program_setup::nst_files_input_grid, qrain_input_grid, program_setup::sfc_files_input_grid, tref_input_grid, w_0_input_grid, w_d_input_grid, xs_input_grid, xt_input_grid, xtts_input_grid, xu_input_grid, xv_input_grid, xz_input_grid, xzts_input_grid, z_c_input_grid, and zm_input_grid.

Referenced by read_input_nst_data().

◆ read_input_nst_netcdf_file()

subroutine input_data::read_input_nst_netcdf_file ( integer, intent(in)  localpet)

Read nst data from these netcdf formatted fv3 files: tiled history, tiled warm restart, and gaussian history.

Parameters
[in]localpetESMF local persistent execution thread
Author
George Gayno NCEP/EMC

Definition at line 6198 of file input_data.F90.

References c_0_input_grid, c_d_input_grid, d_conv_input_grid, dt_cool_input_grid, error_handler(), model_grid::i_input, ifd_input_grid, program_setup::input_type, model_grid::j_input, lsoil_input, model_grid::num_tiles_input_grid, qrain_input_grid, tref_input_grid, w_0_input_grid, w_d_input_grid, xs_input_grid, xt_input_grid, xtts_input_grid, xu_input_grid, xv_input_grid, xz_input_grid, xzts_input_grid, z_c_input_grid, and zm_input_grid.

Referenced by read_input_nst_data().

◆ read_input_sfc_data()

subroutine, public input_data::read_input_sfc_data ( integer, intent(in)  localpet)

Driver to read input grid surface data.

Parameters
[in]localpetESMF local persistent execution thread
Author
George Gayno NCEP/EMC

Definition at line 381 of file input_data.F90.

References init_sfc_esmf_fields(), program_setup::input_type, read_input_sfc_gaussian_nemsio_file(), read_input_sfc_gfs_gaussian_nemsio_file(), read_input_sfc_gfs_sfcio_file(), read_input_sfc_grib2_file(), read_input_sfc_netcdf_file(), and read_input_sfc_restart_file().

Referenced by surface::surface_driver().

◆ read_input_sfc_gaussian_nemsio_file()

◆ read_input_sfc_gfs_gaussian_nemsio_file()

subroutine input_data::read_input_sfc_gfs_gaussian_nemsio_file ( integer, intent(in)  localpet)

◆ read_input_sfc_gfs_sfcio_file()

◆ read_input_sfc_grib2_file()

◆ read_input_sfc_netcdf_file()

◆ read_input_sfc_restart_file()

◆ read_winds()

subroutine 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 
)
private

Read winds from a grib2 file.

Rotate winds to be earth relative if necessary.

Parameters
[in,out]uu-component wind
[in,out]vv-component wind
[in]localpetESMF local persistent execution thread
[in]octet_23Section 4/Octet 23 - Type of first fixed surface.
[in]rlevsArray of atmospheric level values
[in]lugbLogical unit number of GRIB2 file.
[in]pdt_numProduct definition template number.
Author
Larissa Reames

Definition at line 6806 of file input_data.F90.

References calcalpha_rotlatlon(), error_handler(), program_setup::get_var_cond(), gridrot(), handle_grib_error(), 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().

Variable Documentation

◆ c_0_input_grid

type(esmf_field), public input_data::c_0_input_grid

Coefficient 1 to calculate d(tz)/d(ts)

Definition at line 110 of file input_data.F90.

Referenced by cleanup_input_nst_data(), surface::interp(), read_input_nst_data(), read_input_nst_nemsio_file(), and read_input_nst_netcdf_file().

◆ c_d_input_grid

type(esmf_field), public input_data::c_d_input_grid

Coefficient 2 to calculate d(tz)/d(ts)

Definition at line 109 of file input_data.F90.

Referenced by cleanup_input_nst_data(), surface::interp(), read_input_nst_data(), read_input_nst_nemsio_file(), and read_input_nst_netcdf_file().

◆ canopy_mc_input_grid

◆ d_conv_input_grid

type(esmf_field), public input_data::d_conv_input_grid

Thickness of free convection layer.

Definition at line 111 of file input_data.F90.

Referenced by cleanup_input_nst_data(), surface::interp(), read_input_nst_data(), read_input_nst_nemsio_file(), and read_input_nst_netcdf_file().

◆ dpres_input_grid

type(esmf_field) input_data::dpres_input_grid
private

◆ dt_cool_input_grid

type(esmf_field), public input_data::dt_cool_input_grid

◆ dzdt_input_grid

◆ f10m_input_grid

◆ ffmm_input_grid

◆ icet_default

integer, parameter input_data::icet_default = 265.0
private

Default value of soil and skin temperature (K) over ice.

Definition at line 72 of file input_data.F90.

Referenced by check_soilt().

◆ ifd_input_grid

type(esmf_field), public input_data::ifd_input_grid

Model mode index.

0-diurnal model not started; 1-diurnal model started.

Definition at line 113 of file input_data.F90.

Referenced by cleanup_input_nst_data(), surface::interp(), read_input_nst_data(), read_input_nst_nemsio_file(), and read_input_nst_netcdf_file().

◆ lai_input_grid

type(esmf_field), public input_data::lai_input_grid

leaf area index

Definition at line 98 of file input_data.F90.

Referenced by cleanup_input_sfc_data(), init_sfc_esmf_fields(), surface::interp(), and read_input_sfc_grib2_file().

◆ landsea_mask_input_grid

◆ lev_input

◆ levp1_input

◆ lsoil_input

◆ max_veg_greenness_input_grid

type(esmf_field), public input_data::max_veg_greenness_input_grid

◆ min_veg_greenness_input_grid

type(esmf_field), public input_data::min_veg_greenness_input_grid

◆ pres_input_grid

◆ ps_input_grid

◆ q2m_input_grid

◆ qrain_input_grid

type(esmf_field), public input_data::qrain_input_grid

Sensible heat flux due to rainfall.

Definition at line 115 of file input_data.F90.

Referenced by cleanup_input_nst_data(), surface::interp(), read_input_nst_data(), read_input_nst_nemsio_file(), and read_input_nst_netcdf_file().

◆ seaice_depth_input_grid

◆ seaice_fract_input_grid

◆ seaice_skin_temp_input_grid

◆ skin_temp_input_grid

◆ slevs

character(len=50), dimension(:), allocatable, private input_data::slevs
private

The atmospheric levels in the GRIB2 input file.

Definition at line 105 of file input_data.F90.

Referenced by read_input_atm_grib2_file(), and read_winds().

◆ snow_depth_input_grid

◆ snow_liq_equiv_input_grid

◆ soil_temp_input_grid

◆ soil_type_input_grid

◆ soilm_liq_input_grid

◆ soilm_tot_input_grid

◆ srflag_input_grid

◆ t2m_input_grid

◆ temp_input_grid

◆ terrain_input_grid

◆ tprcp_input_grid

◆ tracers_input_grid

◆ tref_input_grid

type(esmf_field), public input_data::tref_input_grid

◆ u_input_grid

◆ ustar_input_grid

◆ v_input_grid

◆ veg_greenness_input_grid

type(esmf_field), public input_data::veg_greenness_input_grid

vegetation fraction

Definition at line 97 of file input_data.F90.

Referenced by cleanup_input_sfc_data(), init_sfc_esmf_fields(), surface::interp(), and read_input_sfc_grib2_file().

◆ veg_type_input_grid

◆ veg_type_landice_input

integer, public input_data::veg_type_landice_input = 15

NOAH land ice option defined at this veg type.

Default is igbp.

Definition at line 69 of file input_data.F90.

Referenced by surface::interp(), and read_input_sfc_gfs_sfcio_file().

◆ w_0_input_grid

type(esmf_field), public input_data::w_0_input_grid

Coefficient 3 to calculate d(tz)/d(ts)

Definition at line 118 of file input_data.F90.

Referenced by cleanup_input_nst_data(), surface::interp(), read_input_nst_data(), read_input_nst_nemsio_file(), and read_input_nst_netcdf_file().

◆ w_d_input_grid

type(esmf_field), public input_data::w_d_input_grid

Coefficient 4 to calculate d(tz)/d(ts)

Definition at line 117 of file input_data.F90.

Referenced by cleanup_input_nst_data(), surface::interp(), read_input_nst_data(), read_input_nst_nemsio_file(), and read_input_nst_netcdf_file().

◆ wind_input_grid

type(esmf_field), public input_data::wind_input_grid

3-component wind

Definition at line 61 of file input_data.F90.

Referenced by atmosphere::atmosphere_driver(), cleanup_input_atm_data(), convert_winds(), and init_atm_esmf_fields().

◆ xs_input_grid

type(esmf_field), public input_data::xs_input_grid

Salinity content in diurnal thermocline layer.

Definition at line 119 of file input_data.F90.

Referenced by cleanup_input_nst_data(), surface::interp(), read_input_nst_data(), read_input_nst_nemsio_file(), and read_input_nst_netcdf_file().

◆ xt_input_grid

type(esmf_field), public input_data::xt_input_grid

Heat content in diurnal thermocline layer.

Definition at line 120 of file input_data.F90.

Referenced by cleanup_input_nst_data(), surface::interp(), read_input_nst_data(), read_input_nst_nemsio_file(), and read_input_nst_netcdf_file().

◆ xtts_input_grid

type(esmf_field), public input_data::xtts_input_grid

◆ xu_input_grid

type(esmf_field), public input_data::xu_input_grid

u-current content in diurnal thermocline layer

Definition at line 121 of file input_data.F90.

Referenced by cleanup_input_nst_data(), surface::interp(), read_input_nst_data(), read_input_nst_nemsio_file(), and read_input_nst_netcdf_file().

◆ xv_input_grid

type(esmf_field), public input_data::xv_input_grid

v-current content in diurnal thermocline layer

Definition at line 122 of file input_data.F90.

Referenced by cleanup_input_nst_data(), surface::interp(), read_input_nst_data(), read_input_nst_nemsio_file(), and read_input_nst_netcdf_file().

◆ xz_input_grid

type(esmf_field), public input_data::xz_input_grid

Diurnal thermocline layer thickness.

Definition at line 123 of file input_data.F90.

Referenced by cleanup_input_nst_data(), surface::interp(), read_input_nst_data(), read_input_nst_nemsio_file(), and read_input_nst_netcdf_file().

◆ xzts_input_grid

type(esmf_field), public input_data::xzts_input_grid

◆ z0_input_grid

◆ z_c_input_grid

type(esmf_field), public input_data::z_c_input_grid

◆ zm_input_grid

type(esmf_field), public input_data::zm_input_grid