The global grid for the sphere. Features : area-preserving grid. Contains temporarily the data for input/output. More...
Data Types | |
type | global_grid |
Public Member Functions | |
subroutine | new_global_grid (nb_lat2) |
Constructor for global grid (as a global variable) More... | |
subroutine | broadcast_global_grid () |
subroutine | new_mpi_global_grid () |
Derived MPI type for sending/receiving grid. More... | |
integer function | nb_cells_lat_sector (i) |
Return the number of cells at latitude 90 - i/2 on a sector with i > 0 We assume nb_lat >= nb_lat2. More... | |
integer function | nb_cells_lat (i) |
Return the number of cells at latitude 90 - i/2 on all sectors For faster computing, we suppose there always are 3 sectors. More... | |
integer function | sum_nb_cells_sector (i) |
Return the total number of cells up to latitude 90 - i/2 on a sector with i > 0. More... | |
integer function | sum_nb_cells (i) |
Return the total number of cells up to latitude 90 - i/2 on all sectors. More... | |
integer function | nb_cells_total () |
integer function | sum_nb_zonal (i) |
Return the total number of zonal winds up to latitude 90 - i/2 on all sectors. More... | |
integer function | nb_merid_winds_total () |
integer function | nb_merid_lat (i) |
Return the number of merid winds at latitude 90 - i/2 on all sectors. More... | |
recursive integer function | sum_nb_merid (i) |
Return the total number of merid winds up to latitude 90 - i/2 on all sectors. More... | |
integer function | nb_zonal_winds_total () |
integer function | nb_lat2_from_nb_cells (nb) |
Compute the number of latitude from the number of cells. More... | |
subroutine | north_neighbour_cell_global (j_neighb1, j_neighb2, i, j) |
Return the north neighbours for cell (i,j) in global grid. More... | |
subroutine | south_neighbour_cell_global (j_neighb1, j_neighb2, i, j) |
Return the south neighbours for cell (i,j) in global grid. More... | |
subroutine | switch_first_sector (j2, sector, mid, i, j) |
Returns cell position in the first sector, along with the initial sector Also return the middle cell. More... | |
subroutine | north_neighbour_cell_northern (j_neighb1, j_neighb2, i, j) |
Only works for the northern hemisphere. More... | |
subroutine | south_neighbour_cell_northern (j_neighb1, j_neighb2, i, j) |
Only works for the northern hemisphere. More... | |
double precision function | get_dlon_global_grid (i) |
Return the width of a cell at latitude 90 - i/2 with i > 0. More... | |
integer function | get_nb_lat2_global_grid () |
Returns the number of latitude on an hemisphere. More... | |
integer function | get_nb_lat_global_grid () |
Returns the number of all latitudes. More... | |
integer function | get_nb_sectors () |
Returns the number of all latitudes. More... | |
double precision function, dimension(1) | get_dlat_global_grid () |
Associate a pointer to the global dlat Returns the number of all latitudes. More... | |
subroutine | get_global_grid (ptr) |
Accessor : associates a pointer to the class. More... | |
integer function | nb_lat_global_grid () |
Get number of latitude. More... | |
integer function | nb_lat2_global_grid () |
Get half number of latitude. More... | |
subroutine | free_global_grid () |
Free the temporary grid. More... | |
Public Attributes | |
character(*), parameter | fname_global = "global_grid_class.f90" |
The global grid for the sphere. Features : area-preserving grid. Contains temporarily the data for input/output.
subroutine global_grid_class::broadcast_global_grid | ( | ) |
subroutine global_grid_class::free_global_grid | ( | ) |
Free the temporary grid.
double precision function, dimension(1) global_grid_class::get_dlat_global_grid | ( | ) |
Associate a pointer to the global dlat Returns the number of all latitudes.
double precision function global_grid_class::get_dlon_global_grid | ( | integer, intent(in) | i | ) |
Return the width of a cell at latitude 90 - i/2 with i > 0.
subroutine global_grid_class::get_global_grid | ( | type (global_grid), pointer | ptr | ) |
Accessor : associates a pointer to the class.
integer function global_grid_class::get_nb_lat2_global_grid | ( | ) |
Returns the number of latitude on an hemisphere.
integer function global_grid_class::get_nb_lat_global_grid | ( | ) |
Returns the number of all latitudes.
integer function global_grid_class::get_nb_sectors | ( | ) |
Returns the number of all latitudes.
integer function global_grid_class::nb_cells_lat | ( | integer, intent(in) | i | ) |
Return the number of cells at latitude 90 - i/2 on all sectors For faster computing, we suppose there always are 3 sectors.
integer function global_grid_class::nb_cells_lat_sector | ( | integer, intent(in) | i | ) |
Return the number of cells at latitude 90 - i/2 on a sector with i > 0 We assume nb_lat >= nb_lat2.
integer function global_grid_class::nb_cells_total | ( | ) |
integer function global_grid_class::nb_lat2_from_nb_cells | ( | integer, intent(in) | nb | ) |
Compute the number of latitude from the number of cells.
integer function global_grid_class::nb_lat2_global_grid | ( | ) |
Get half number of latitude.
integer function global_grid_class::nb_lat_global_grid | ( | ) |
Get number of latitude.
integer function global_grid_class::nb_merid_lat | ( | integer, intent(in) | i | ) |
Return the number of merid winds at latitude 90 - i/2 on all sectors.
integer function global_grid_class::nb_merid_winds_total | ( | ) |
integer function global_grid_class::nb_zonal_winds_total | ( | ) |
subroutine global_grid_class::new_global_grid | ( | integer, intent(in) | nb_lat2 | ) |
Constructor for global grid (as a global variable)
subroutine global_grid_class::new_mpi_global_grid | ( | ) |
Derived MPI type for sending/receiving grid.
subroutine global_grid_class::north_neighbour_cell_global | ( | integer | j_neighb1, |
integer | j_neighb2, | ||
integer, intent(in) | i, | ||
integer, intent(in) | j | ||
) |
Return the north neighbours for cell (i,j) in global grid.
j_neighb1,j_neighb2 | : interval containing the neighbours |
subroutine global_grid_class::north_neighbour_cell_northern | ( | integer | j_neighb1, |
integer | j_neighb2, | ||
integer, intent(in) | i, | ||
integer, intent(in) | j | ||
) |
Only works for the northern hemisphere.
subroutine global_grid_class::south_neighbour_cell_global | ( | integer | j_neighb1, |
integer | j_neighb2, | ||
integer, intent(in) | i, | ||
integer, intent(in) | j | ||
) |
Return the south neighbours for cell (i,j) in global grid.
j_neighb1,j_neighb2 | : interval containing the neighbours |
subroutine global_grid_class::south_neighbour_cell_northern | ( | integer | j_neighb1, |
integer | j_neighb2, | ||
integer, intent(in) | i, | ||
integer, intent(in) | j | ||
) |
Only works for the northern hemisphere.
integer function global_grid_class::sum_nb_cells | ( | integer, intent(in) | i | ) |
Return the total number of cells up to latitude 90 - i/2 on all sectors.
integer function global_grid_class::sum_nb_cells_sector | ( | integer, intent(in) | i | ) |
Return the total number of cells up to latitude 90 - i/2 on a sector with i > 0.
recursive integer function global_grid_class::sum_nb_merid | ( | integer, intent(in) | i | ) |
Return the total number of merid winds up to latitude 90 - i/2 on all sectors.
integer function global_grid_class::sum_nb_zonal | ( | integer, intent(in) | i | ) |
Return the total number of zonal winds up to latitude 90 - i/2 on all sectors.
subroutine global_grid_class::switch_first_sector | ( | integer | j2, |
integer | sector, | ||
integer | mid, | ||
integer, intent(in) | i, | ||
integer, intent(in) | j | ||
) |
Returns cell position in the first sector, along with the initial sector Also return the middle cell.
character(*), parameter global_grid_class::fname_global = "global_grid_class.f90" |