chgres_cube 1.14.0
Loading...
Searching...
No Matches
surface.F90 File Reference

Process land, sea/lake ice, open water/Near Sea Surface Temperature (NSST) fields. More...

Go to the source code of this file.

Data Types

type  surface::realptr_2d
 
type  surface::realptr_3d
 

Modules

module  surface
 Process surface and nst fields.
 

Functions/Subroutines

subroutine surface::adjust_soil_levels (localpet)
 Adjust soil levels of the input grid if there is a mismatch between input and target grids.
 
subroutine surface::adjust_soilt_for_terrain
 Adjust soil temperature for changes in terrain height between the input and target grids.
 
subroutine surface::calc_liq_soil_moisture
 Compute liquid portion of the total soil moisture.
 
subroutine surface::cleanup_all_target_sfc_data
 Free up memory once the target grid surface fields are no longer needed.
 
subroutine, public surface::create_nst_esmf_fields
 Create ESMF fields for the target grid nst variables.
 
subroutine, public surface::create_surface_esmf_fields
 Create ESMF fields for the target grid surface variables.
 
real function surface::frh2o (tkelv, smc, sh2o, smcmax, bexp, psis)
 Calculate supercooled soil moisture.
 
subroutine surface::ij_to_i_j (ij, itile, jtile, i, j)
 Convert 1d index to 2d indices.
 
subroutine, public surface::interp (localpet)
 Horizontally interpolate surface fields from input to target FV3 grid using esmf routines.
 
subroutine, public surface::nst_land_fill
 nst is not active at land or sea ice points.
 
subroutine surface::qc_check
 Perform some quality control checks and set flag values at non-active points.
 
subroutine, public surface::regrid_many (bundle_pre, bundle_post, num_field, route, dozero, unmapped_ptr, resetifd)
 Regrid multiple ESMF fields from input to target grid.
 
subroutine surface::rescale_soil_moisture
 Adjust soil moisture for changes in soil type between the input and target grids.
 
subroutine surface::roughness
 Set roughness length at points with some sea ice to 1 cm.
 
subroutine, public surface::search_many (num_field, bundle_target, tile, search_nums, localpet, latitude, terrain_land, soilt_climo, mask)
 Execute the search function for multple fields.
 
subroutine, public surface::surface_driver (localpet)
 Driver routine to process surface/nst data.
 
subroutine surface::update_landmask
 Update landmask for sea ice.
 

Variables

real, parameter, private surface::blim = 5.5
 soil 'b' parameter limit
 
real, parameter, private surface::frz_h2o = 273.15
 melting pt water
 
real, parameter, private surface::frz_ice = 271.21
 melting pt sea ice
 
real, parameter, private surface::grav = 9.81
 gravity
 
real, parameter, private surface::hlice = 3.335E5
 latent heat of fusion
 
real(esmf_kind_r8), parameter, private surface::missing = -1.e20_esmf_kind_r8
 flag for non-active points.
 
type(esmf_field) surface::soil_type_from_input_grid
 soil type interpolated from input grid
 
type(esmf_field) surface::terrain_from_input_grid
 terrain height interpolated from input grid
 
type(esmf_field) surface::terrain_from_input_grid_land
 terrain height interpolated from input grid at all land points
 
integer, parameter surface::veg_type_landice_target = 15
 Vegetation type category that defines permanent land ice points.
 

Detailed Description

Process land, sea/lake ice, open water/Near Sea Surface Temperature (NSST) fields.

Author
George Gayno NCEP/EMC

Definition in file surface.F90.


Data Type Documentation

◆ surface::realptr_2d

type surface::realptr_2d

Definition at line 88 of file surface.F90.

Data Fields
real(esmf_kind_r8), dimension(:,:), pointer p array of 2d pointers

pointer to hold array of 2d pointers

◆ surface::realptr_3d

type surface::realptr_3d

Definition at line 93 of file surface.F90.

Data Fields
real(esmf_kind_r8), dimension(:,:,:), pointer p array of 3d pointers

pointer to hold array of 3d pointers