chgres_cube  1.6.0
 All Data Structures Files Functions Variables
input_data Module Reference

Read atmospheric, surface and nst data on the input grid. More...

Public Member Functions

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 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, 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, public read_input_atm_data (localpet)
 Read input grid atmospheric data driver. 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_grib2_file (localpet)
 Read input grid atmospheric fv3gfs grib2 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_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_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...
 

Data Fields

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), 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...
 
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...
 
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...
 

Private Member Functions

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 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 (the_file, inv_file, vname, vname_file, dummy3d, rc)
 Read soil temperature and soil moisture fields from a GRIB2 file. 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_sigio_file (localpet)
 Read input atmospheric data from spectral gfs (old sigio format). More...
 
subroutine read_input_atm_restart_file (localpet)
 Read input grid fv3 atmospheric data 'warm' restart files. 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_sfc_gaussian_nemsio_file (localpet)
 Read input grid surface data from an fv3 gaussian nemsio 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 (file, inv, u, v, localpet)
 Read winds from a grib2 file. More...
 

Private Attributes

type(esmf_field) dpres_input_grid
 pressure thickness More...
 
integer, parameter icet_default = 265.0
 Default value of soil and skin temperature (K) over ice. More...
 
character(len=50), dimension(:),
allocatable, private 
slevs
 The atmospheric levels in the GRIB2 input file. 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

Definition at line 14 of file input_data.F90.

Member Function/Subroutine Documentation

subroutine input_data::calcalpha_rotlatlon ( real(esmf_kind_r8), dimension(i_input,j_input), intent(in)  latgrid,
  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 6394 of file input_data.F90.

Referenced by read_winds().

subroutine, public input_data::check_cnwat ( real(esmf_kind_r4), 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 6749 of file input_data.F90.

Referenced by read_input_sfc_grib2_file().

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 6719 of file input_data.F90.

Referenced by read_input_sfc_grib2_file().

subroutine, public input_data::cleanup_input_atm_data ( )

Free up memory associated with atm data.

Author
George Gayno NCEP/EMC

Definition at line 6571 of file input_data.F90.

Referenced by atmosphere::atmosphere_driver().

subroutine, public input_data::cleanup_input_nst_data ( )

Free up memory associated with nst data.

Author
George Gayno NCEP/EMC

Definition at line 6596 of file input_data.F90.

Referenced by surface::surface_driver().

subroutine, public input_data::cleanup_input_sfc_data ( )

Free up memory associated with sfc data.

Author
George Gayno NCEP/EMC

Definition at line 6629 of file input_data.F90.

Referenced by surface::surface_driver().

subroutine, public input_data::convert_winds ( )

Convert winds from 2-d to 3-d components.

Author
George Gayno NCEP/EMC

Definition at line 6277 of file input_data.F90.

References error_handler().

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 6786 of file input_data.F90.

Referenced by read_input_atm_grib2_file().

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 6353 of file input_data.F90.

Referenced by read_winds().

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 6443 of file input_data.F90.

References error_handler().

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

subroutine input_data::init_atm_esmf_fields ( )
private
subroutine, public input_data::init_sfc_esmf_fields ( )

Create surface input grid esmf fields.

Author
George Gayno NCEP/EMC

Definition at line 541 of file input_data.F90.

References error_handler().

Referenced by read_input_sfc_data().

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 6680 of file input_data.F90.

Referenced by read_input_atm_grib2_file().

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 6071 of file input_data.F90.

References netcdf_err().

Referenced by read_input_nst_netcdf_file(), read_input_sfc_netcdf_file(), and read_input_sfc_restart_file().

subroutine input_data::read_grib_soil ( character(len=*), intent(in)  the_file,
character(len=*), intent(in)  inv_file,
character(len=20), intent(in)  vname,
character(len=20), intent(in)  vname_file,
real(esmf_kind_r8), dimension(:,:,:), intent(inout)  dummy3d,
integer, intent(out)  rc 
)
private

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

Parameters
[in]the_filegrib2 file name
[in]inv_filegrib2 inventory file name
[in]vnamevariable name in varmap table
[in]vname_filevariable name in grib2 file
[in,out]dummy3darray of soil data
[out]rcread error status code
Author
George Gayno NCEP/EMC

Definition at line 6509 of file input_data.F90.

References error_handler(), program_setup::get_var_cond(), and handle_grib_error().

Referenced by read_input_sfc_grib2_file().

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 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().

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

Read input grid atmospheric fv3 gaussian nemsio files.

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

Definition at line 1241 of file input_data.F90.

References atmosphere::convert_winds(), error_handler(), and init_atm_esmf_fields().

Referenced by read_input_atm_data().

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

Read fv3 netcdf gaussian history file.

Each task reads a horizontal slice.

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

Definition at line 1783 of file input_data.F90.

References atmosphere::convert_winds(), error_handler(), init_atm_esmf_fields(), and netcdf_err().

Referenced by read_input_atm_data().

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 988 of file input_data.F90.

References atmosphere::convert_winds(), error_handler(), and init_atm_esmf_fields().

Referenced by read_input_atm_data().

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 749 of file input_data.F90.

References atmosphere::convert_winds(), error_handler(), and init_atm_esmf_fields().

Referenced by read_input_atm_data().

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

Read input grid atmospheric fv3gfs grib2 files.

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

Definition at line 2458 of file input_data.F90.

References grib2_util::convert_omega(), atmosphere::convert_winds(), dint2p(), error_handler(), program_setup::get_var_cond(), handle_grib_error(), init_atm_esmf_fields(), quicksort(), read_winds(), and grib2_util::rh2spfh().

Referenced by read_input_atm_data().

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 1524 of file input_data.F90.

References atmosphere::convert_winds(), error_handler(), init_atm_esmf_fields(), and netcdf_err().

Referenced by read_input_atm_data().

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 2167 of file input_data.F90.

References atmosphere::convert_winds(), error_handler(), init_atm_esmf_fields(), and netcdf_err().

Referenced by read_input_atm_data().

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

Driver to read input grid nst data.

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

Definition at line 219 of file input_data.F90.

References error_handler(), read_input_nst_nemsio_file(), and read_input_nst_netcdf_file().

Referenced by surface::surface_driver().

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 5796 of file input_data.F90.

References error_handler().

Referenced by read_input_nst_data().

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 5512 of file input_data.F90.

References error_handler(), and read_fv3_grid_data_netcdf().

Referenced by read_input_nst_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(), 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().

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

Read input grid surface data from an fv3 gaussian nemsio file.

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

Definition at line 3651 of file input_data.F90.

References error_handler().

Referenced by read_input_sfc_data().

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

Read input grid surface data from a spectral gfs gaussian nemsio file.

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

Definition at line 3302 of file input_data.F90.

References error_handler().

Referenced by read_input_sfc_data().

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

Read input grid surface data from a spectral gfs gaussian sfcio file.

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

Definition at line 3078 of file input_data.F90.

References error_handler().

Referenced by read_input_sfc_data().

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

Read input grid surface data from a grib2 file.

Parameters
[in]localpetESMF local persistent execution thread
Author
Larissa Reames

Definition at line 4678 of file input_data.F90.

References check_cnwat(), check_soilt(), error_handler(), program_setup::get_var_cond(), handle_grib_error(), netcdf_err(), read_grib_soil(), search_util::search(), and to_upper().

Referenced by read_input_sfc_data().

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

Read input grid surface data from tiled 'history' files (netcdf) or gaussian netcdf files.

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

Definition at line 4317 of file input_data.F90.

References error_handler(), netcdf_err(), and read_fv3_grid_data_netcdf().

Referenced by read_input_sfc_data().

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

Read input grid surface data from fv3 tiled warm 'restart' files.

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

Definition at line 4000 of file input_data.F90.

References error_handler(), netcdf_err(), and read_fv3_grid_data_netcdf().

Referenced by read_input_sfc_data().

subroutine input_data::read_winds ( character(len=250), intent(in)  file,
character(len=10), intent(in)  inv,
real(esmf_kind_r8), dimension(:,:,:), intent(inout), allocatable  u,
real(esmf_kind_r8), dimension(:,:,:), intent(inout), allocatable  v,
integer, intent(in)  localpet 
)
private

Read winds from a grib2 file.

Rotate winds to be earth relative if necessary.

Parameters
[in]filegrib2 file to be read
[in]invgrib2 inventory file
[in,out]uu-component wind
[in,out]vv-component wind
[in]localpetESMF local persistent execution thread
Author
Larissa Reames

Definition at line 6118 of file input_data.F90.

References calcalpha_rotlatlon(), error_handler(), program_setup::get_var_cond(), gridrot(), and handle_grib_error().

Referenced by read_input_atm_grib2_file().

Field Documentation

type(esmf_field), public input_data::c_0_input_grid

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

Definition at line 111 of file input_data.F90.

type(esmf_field), public input_data::c_d_input_grid

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

Definition at line 110 of file input_data.F90.

type(esmf_field), public input_data::canopy_mc_input_grid

canopy moist content

Definition at line 75 of file input_data.F90.

type(esmf_field), public input_data::d_conv_input_grid

Thickness of free convection layer.

Definition at line 112 of file input_data.F90.

type(esmf_field) input_data::dpres_input_grid
private

pressure thickness

Definition at line 54 of file input_data.F90.

type(esmf_field), public input_data::dt_cool_input_grid

Sub-layer cooling amount.

Definition at line 113 of file input_data.F90.

type(esmf_field), public input_data::dzdt_input_grid

vert velocity

Definition at line 53 of file input_data.F90.

type(esmf_field), public input_data::f10m_input_grid

log((z0+10)*1/z0)

Definition at line 76 of file input_data.F90.

type(esmf_field), public input_data::ffmm_input_grid

log((z0+z1)*1/z0) See sfc_diff.f for details.

Definition at line 77 of file input_data.F90.

integer, parameter input_data::icet_default = 265.0
private

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

Definition at line 73 of file input_data.F90.

type(esmf_field), public input_data::ifd_input_grid

Model mode index.

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

Definition at line 114 of file input_data.F90.

type(esmf_field), public input_data::lai_input_grid

leaf area index

Definition at line 99 of file input_data.F90.

type(esmf_field), public input_data::landsea_mask_input_grid

land sea mask; 0-water, 1-land, 2-ice

Definition at line 79 of file input_data.F90.

integer, public input_data::lev_input

number of atmospheric layers

Definition at line 65 of file input_data.F90.

integer, public input_data::levp1_input

number of atmos layer interfaces

Definition at line 66 of file input_data.F90.

integer, public input_data::lsoil_input =4

number of soil layers, no longer hardwired to allow for 7 layers of soil for the RUC LSM

Definition at line 103 of file input_data.F90.

type(esmf_field), public input_data::max_veg_greenness_input_grid

shdmax

Definition at line 100 of file input_data.F90.

type(esmf_field), public input_data::min_veg_greenness_input_grid

shdmin

Definition at line 101 of file input_data.F90.

type(esmf_field), public input_data::pres_input_grid

3-d pressure

Definition at line 55 of file input_data.F90.

type(esmf_field), public input_data::ps_input_grid

surface pressure

Definition at line 56 of file input_data.F90.

type(esmf_field), public input_data::q2m_input_grid

2-m spec hum

Definition at line 81 of file input_data.F90.

type(esmf_field), public input_data::qrain_input_grid

Sensible heat flux due to rainfall.

Definition at line 116 of file input_data.F90.

type(esmf_field), public input_data::seaice_depth_input_grid

sea ice depth

Definition at line 82 of file input_data.F90.

type(esmf_field), public input_data::seaice_fract_input_grid

sea ice fraction

Definition at line 83 of file input_data.F90.

type(esmf_field), public input_data::seaice_skin_temp_input_grid

sea ice skin temp

Definition at line 84 of file input_data.F90.

type(esmf_field), public input_data::skin_temp_input_grid

skin temp/sst

Definition at line 85 of file input_data.F90.

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

The atmospheric levels in the GRIB2 input file.

Definition at line 106 of file input_data.F90.

type(esmf_field), public input_data::snow_depth_input_grid

snow dpeth

Definition at line 86 of file input_data.F90.

type(esmf_field), public input_data::snow_liq_equiv_input_grid

snow liq equiv depth

Definition at line 87 of file input_data.F90.

type(esmf_field), public input_data::soil_temp_input_grid

3-d soil temp

Definition at line 88 of file input_data.F90.

type(esmf_field), public input_data::soil_type_input_grid

soil type

Definition at line 89 of file input_data.F90.

type(esmf_field), public input_data::soilm_liq_input_grid

3-d liquid soil moisture

Definition at line 90 of file input_data.F90.

type(esmf_field), public input_data::soilm_tot_input_grid

3-d total soil moisture

Definition at line 91 of file input_data.F90.

type(esmf_field), public input_data::srflag_input_grid

snow/rain flag

Definition at line 92 of file input_data.F90.

type(esmf_field), public input_data::t2m_input_grid

2-m temperature

Definition at line 93 of file input_data.F90.

type(esmf_field), public input_data::temp_input_grid

temperature

Definition at line 58 of file input_data.F90.

type(esmf_field), public input_data::terrain_input_grid

terrain height

Definition at line 57 of file input_data.F90.

type(esmf_field), public input_data::tprcp_input_grid

precip

Definition at line 94 of file input_data.F90.

type(esmf_field), dimension(:), allocatable, public input_data::tracers_input_grid

tracers

Definition at line 63 of file input_data.F90.

type(esmf_field), public input_data::tref_input_grid

Reference temperature.

Definition at line 117 of file input_data.F90.

type(esmf_field), public input_data::u_input_grid

u/v wind at grid

Definition at line 60 of file input_data.F90.

type(esmf_field), public input_data::ustar_input_grid

fric velocity

Definition at line 95 of file input_data.F90.

type(esmf_field), public input_data::v_input_grid

box center

Definition at line 61 of file input_data.F90.

type(esmf_field), public input_data::veg_greenness_input_grid

vegetation fraction

Definition at line 98 of file input_data.F90.

type(esmf_field), public input_data::veg_type_input_grid

vegetation type

Definition at line 96 of file input_data.F90.

integer, public input_data::veg_type_landice_input = 15

NOAH land ice option defined at this veg type.

Default is igbp.

Definition at line 70 of file input_data.F90.

type(esmf_field), public input_data::w_0_input_grid

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

Definition at line 119 of file input_data.F90.

type(esmf_field), public input_data::w_d_input_grid

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

Definition at line 118 of file input_data.F90.

type(esmf_field), public input_data::wind_input_grid

3-component wind

Definition at line 62 of file input_data.F90.

type(esmf_field), public input_data::xs_input_grid

Salinity content in diurnal thermocline layer.

Definition at line 120 of file input_data.F90.

type(esmf_field), public input_data::xt_input_grid

Heat content in diurnal thermocline layer.

Definition at line 121 of file input_data.F90.

type(esmf_field), public input_data::xtts_input_grid

d(xt)/d(ts)

Definition at line 125 of file input_data.F90.

type(esmf_field), public input_data::xu_input_grid

u-current content in diurnal thermocline layer

Definition at line 122 of file input_data.F90.

type(esmf_field), public input_data::xv_input_grid

v-current content in diurnal thermocline layer

Definition at line 123 of file input_data.F90.

type(esmf_field), public input_data::xz_input_grid

Diurnal thermocline layer thickness.

Definition at line 124 of file input_data.F90.

type(esmf_field), public input_data::xzts_input_grid

d(xz)/d(ts)

Definition at line 126 of file input_data.F90.

type(esmf_field), public input_data::z0_input_grid

roughness length

Definition at line 97 of file input_data.F90.

type(esmf_field), public input_data::z_c_input_grid

Sub-layer cooling thickness.

Definition at line 127 of file input_data.F90.

type(esmf_field), public input_data::zm_input_grid

Oceanic mixed layer depth.

Definition at line 128 of file input_data.F90.


The documentation for this module was generated from the following file: