FMS 2025.01.02-dev
Flexible Modeling System
|
Routines for grid calculations, using FMS2 IO. More...
Data Types | |
interface | get_grid_cell_area |
Finds area of a grid cell. More... | |
interface | get_grid_cell_centers |
Gets grid cell centers. More... | |
interface | get_grid_cell_vertices |
Gets arrays of global grid cell boundaries for given model component and mosaic tile number. More... | |
interface | get_grid_comp_area |
Gets the area of a given component per grid cell. More... | |
interface | get_grid_size |
Gets the size of the grid for one or all tiles. More... | |
Functions/Subroutines | |
subroutine | assign_component_mosaics |
Assign the component mosaic files if grid_spec is Version 3. | |
subroutine | close_component_mosaics |
Close the component mosaic files for atm, lnd, and ocn. | |
subroutine, public | define_cube_mosaic (component, domain, layout, halo, maskmap) |
given a model component, a layout, and (optionally) a halo size, returns a domain for current processor | |
integer function | get_component_number (component) |
Get the component number of a model component (atm, lnd, ocn) | |
logical function, public | get_great_circle_algorithm () |
Determine if we are using the great circle algorithm. | |
get_grid_cell_area_sg_r4 | |
get_grid_cell_area_sg_r8 | |
get_grid_cell_area_ug_r4 | |
get_grid_cell_area_ug_r8 | |
get_grid_cell_centers_1d_r4 | |
get_grid_cell_centers_1d_r8 | |
get_grid_cell_centers_2d_r4 | |
get_grid_cell_centers_2d_r8 | |
get_grid_cell_centers_ug_r4 | |
get_grid_cell_centers_ug_r8 | |
get_grid_cell_vertices_1d_r4 | |
get_grid_cell_vertices_1d_r8 | |
get_grid_cell_vertices_2d_r4 | |
get_grid_cell_vertices_2d_r8 | |
get_grid_cell_vertices_ug_r4 | |
get_grid_cell_vertices_ug_r8 | |
get_grid_comp_area_sg_r4 | |
get_grid_comp_area_sg_r8 | |
get_grid_comp_area_ug_r4 | |
get_grid_comp_area_ug_r8 | |
subroutine, public | get_grid_ntiles (component, ntiles) |
returns number of tiles for a given component | |
subroutine | get_grid_size_for_all_tiles (component, nx, ny) |
returns size of the grid for each of the tiles | |
subroutine | get_grid_size_for_all_tiles (component, nx, ny) |
returns size of the grid for each of the tiles | |
subroutine | get_grid_size_for_one_tile (component, tile, nx, ny) |
returns size of the grid for one of the tiles | |
subroutine | get_grid_size_for_one_tile (component, tile, nx, ny) |
returns size of the grid for one of the tiles | |
integer function | get_grid_version (fileobj) |
Get the grid version from a file object. | |
subroutine, public | grid_end |
Shutdown the grid2 module. | |
subroutine, public | grid_init |
Initialize the grid2 module. | |
subroutine | open_component_mosaics |
Open the component mosaic files for atm, lnd, and ocn. | |
subroutine | open_grid_file (myfileobj, myfilename) |
Open a grid file. | |
subroutine | open_mosaic_file (mymosaicfileobj, component) |
Open a mosaic file. | |
character(len=fms_path_len) function | read_file_name (thisfileobj, filevar, level) |
Read a tile file name from a netcdf file. | |
Variables | |
integer, parameter | bufsize = 1048576 |
This is used to control memory usage in get_grid_comp_area We may change this to a namelist variable is needed. | |
logical | great_circle_algorithm = .FALSE. |
character(len= *), parameter | grid_dir = 'INPUT/' |
root directory for all grid files | |
character(len= *), parameter | grid_file = 'INPUT/grid_spec.nc' |
name of the grid spec file | |
logical | grid_spec_exists = .TRUE. |
integer | grid_version = -1 |
Value to indicate what type of grid file is being read, based on which variables are present. | |
type(fmsnetcdffile_t) | gridfileobj |
integer, parameter | max_name = 256 |
max length of the variable names | |
logical | module_is_initialized = .FALSE. |
character(len= *), parameter | module_name = 'grid2_mod' |
type(fmsnetcdffile_t), dimension(3) | mosaic_fileobj |
integer, parameter | version_geolon_t = 0 |
indicates gelon_t variable is present in grid_file | |
integer, parameter | version_gridfiles = 3 |
indicates gridfiles variable is present in grid_file | |
integer, parameter | version_ocn_mosaic_file = 2 |
indicates ocn_mosaic_file variable is present in grid_file | |
integer, parameter | version_x_t = 1 |
indicates x_t variable is present in grid_file | |
Routines for grid calculations, using FMS2 IO.
interface grid2_mod::get_grid_cell_area |
interface grid2_mod::get_grid_cell_centers |
interface grid2_mod::get_grid_cell_vertices |
Gets arrays of global grid cell boundaries for given model component and mosaic tile number.
Public Member Functions | |
get_grid_cell_vertices_1d_r4 | |
get_grid_cell_vertices_1d_r8 | |
get_grid_cell_vertices_2d_r4 | |
get_grid_cell_vertices_2d_r8 | |
get_grid_cell_vertices_ug_r4 | |
get_grid_cell_vertices_ug_r8 | |
interface grid2_mod::get_grid_comp_area |
interface grid2_mod::get_grid_size |
Public Member Functions | |
subroutine | get_grid_size_for_all_tiles (component, nx, ny) |
returns size of the grid for each of the tiles | |
subroutine | get_grid_size_for_one_tile (component, tile, nx, ny) |
returns size of the grid for one of the tiles | |
|
private |
|
private |
subroutine, public define_cube_mosaic | ( | character(len=*), intent(in) | component, |
type(domain2d), intent(inout) | domain, | ||
integer, dimension(2), intent(in) | layout, | ||
integer, intent(in), optional | halo, | ||
logical, dimension(:,:,:), intent(in), optional | maskmap | ||
) |
|
private |
logical function, public get_great_circle_algorithm |
subroutine, public get_grid_ntiles | ( | character(len=*) | component, |
integer, intent(out) | ntiles | ||
) |
subroutine get_grid_size_for_all_tiles | ( | character(len=*) | component, |
integer, dimension(:), intent(inout) | nx, | ||
integer, dimension(:), intent(inout) | ny | ||
) |
|
private |
|
private |
subroutine get_grid_size_for_one_tile | ( | character(len=*) | component, |
integer, intent(in) | tile, | ||
integer, intent(inout) | nx, | ||
integer, intent(inout) | ny | ||
) |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
This is used to control memory usage in get_grid_comp_area We may change this to a namelist variable is needed.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |