UFO
ufo_lamdomaincheck_mod_c Module Reference

Fortran module to handle verifying that an observation is within a limited area model domain. More...

Functions/Subroutines

subroutine lam_domaincheck_esg_c (c_a, c_k, c_plat, c_plon, c_pazi, c_npx, c_npy, c_dx, c_dy, c_lat, c_lon, c_mask)
 subroutine lam_domaincheck_esg_c More...
 
subroutine lam_domaincheck_circle_c (c_cenlat, c_cenlon, c_radius, c_lat, c_lon, c_mask)
 subroutine lam_domaincheck_circle_c More...
 

Detailed Description

Fortran module to handle verifying that an observation is within a limited area model domain.

Function/Subroutine Documentation

◆ lam_domaincheck_circle_c()

subroutine ufo_lamdomaincheck_mod_c::lam_domaincheck_circle_c ( real(c_float), intent(in)  c_cenlat,
real(c_float), intent(in)  c_cenlon,
real(c_float), intent(in)  c_radius,
real(c_float), intent(in)  c_lat,
real(c_float), intent(in)  c_lon,
integer(c_int), intent(inout)  c_mask 
)

subroutine lam_domaincheck_circle_c

lam_domaincheck_circle_c() is a subroutine that for a given input defined circle regional grid and a given input central lat/lon point and radius of circle, determines if the point is within or outside the regional domain. Circle domain could be typical for regional MPAS applications. It takes the following arguments as input:

  • float c_cenlat - center point latitude of circle domain (degrees)
  • float c_cenlon - center point longitude of circle domain (degrees)
  • float c_radius - radius of circle domain (km)
  • float c_lat - input latitude (degrees)
  • float c_lon - input longitude (degrees)

and returns c_mask, an integer of 1 (inside the domain) or 0 (outside the domain) The above input arguments, c_lat and c_lon are independent for each observation.

Definition at line 103 of file LAMDomainCheck.interface.F90.

◆ lam_domaincheck_esg_c()

subroutine ufo_lamdomaincheck_mod_c::lam_domaincheck_esg_c ( real(c_float), intent(in)  c_a,
real(c_float), intent(in)  c_k,
real(c_float), intent(in)  c_plat,
real(c_float), intent(in)  c_plon,
real(c_float), intent(in)  c_pazi,
integer(c_int), intent(in)  c_npx,
integer(c_int), intent(in)  c_npy,
real(c_float), intent(in)  c_dx,
real(c_float), intent(in)  c_dy,
real(c_float), intent(in)  c_lat,
real(c_float), intent(in)  c_lon,
integer(c_int), intent(inout)  c_mask 
)
private

subroutine lam_domaincheck_esg_c

lam_domaincheck_esg_c() is a subroutine that for a given input defined ESG regional grid and a given input lat/lon point, determines if the point is within or outside the regional domain It takes the following arguments as input:

  • float c_a - alpha parameter for ESG grid definition
  • float c_k - kappa paremeter for ESG grid definition
  • float c_plat - center point latitude of ESG grid (degrees)
  • float c_plon - center point longitude of ESG grid (degrees)
  • float c_pazi - azimuth angle for ESG grid definition (radians)
  • int c_npx - number of grid points in x direction
  • int c_npy - number of grid points in y direction
  • float c_dx - grid spacing in degrees
  • float c_dy - grid spacing in degrees
  • float c_lat - input latitude (degrees)
  • float c_lon - input longitude (degrees)

and returns c_mask, an integer of 1 (inside the domain) or 0 (outside the domain) The above input arguments, c_lat and c_lon are independent for each observation. The other input arguments are available as global attributes in the FV3 regional grid netCDF file.

Definition at line 43 of file LAMDomainCheck.interface.F90.