chgres_cube
1.13.0
|
Replace undefined values with a valid value. More...
Public Member Functions | |
subroutine, public | search (field, mask, idim, jdim, tile, field_num, latitude, terrain_land, soilt_climo) |
Replace undefined surface values. More... | |
subroutine | sst_guess (latitude, sst) |
Set default Sea Surface Temperature (SST) based on latitude. More... | |
Replace undefined values with a valid value.
This can happen for an isolated lake or island that is unresolved by the input grid.
Searches for the nearest valid land/non-land data where the input and target fv3 land-mask differ. Example: when the target FV3 grid depicts an island that is not resolved by the input data. If nearby valid data is not found, a default value is used.
Definition at line 15 of file search_util.F90.
subroutine, public search_util::search | ( | real(esmf_kind_r8), dimension(idim,jdim), intent(inout) | field, |
integer(esmf_kind_i8), dimension(idim,jdim), intent(in) | mask, | ||
integer, intent(in) | idim, | ||
integer, intent(in) | jdim, | ||
integer, intent(in) | tile, | ||
integer, intent(in) | field_num, | ||
real(esmf_kind_r8), dimension(idim,jdim), intent(in), optional | latitude, | ||
real(esmf_kind_r8), dimension(idim,jdim), intent(in), optional | terrain_land, | ||
real(esmf_kind_r8), dimension(idim,jdim), intent(in), optional | soilt_climo | ||
) |
Replace undefined surface values.
Replace undefined values on the model grid with a valid value at a nearby neighbor. Undefined values are typically associated with isolated islands where there is no source data.
Routine searches a neighborhood with a radius of 100 grid points. If no valid value is found, a default value is used.
This routine works for one tile of a cubed sphere grid. It does not consider valid values at adjacent faces. That is a future upgrade.
[in,out] | field | On input/output, surface data with undefined/no undefined values. |
[in] | mask | land-mask of surface data. |
[in] | idim | 'i' dimension of tile |
[in] | jdim | 'j' dimension of tile |
[in] | tile | tile number |
[in] | field_num | surface field number |
[in] | latitude | latitude of the surface data |
[in] | terrain_land | terrain height |
[in] | soilt_climo | climatological soil type |
Definition at line 46 of file search_util.F90.
References sst_guess().
Referenced by surface::interp(), sfc_input_data::read_input_sfc_grib2_file(), and surface::search_many().
subroutine search_util::sst_guess | ( | real(esmf_kind_r8), intent(in) | latitude, |
real(esmf_kind_r8), intent(out) | sst | ||
) |
Set default Sea Surface Temperature (SST) based on latitude.
Based loosely on the average annual SST values from ./am/cfs_oi2sst1x1monclim19822001.grb
The temperature in the polar and tropical regions is set to 273.16 and 300.0 Kelvin respectively. Polar regions are poleward of 60 degrees. Tropical regions are within 30 degrees of the equator. In mid-latitudes, a linear change with latitude is used.
[in] | latitude | Latitude in decimal degrees |
[out] | sst | Default SST in Kelvin |
Definition at line 234 of file search_util.F90.
Referenced by search().