FMS Coupler  2022.03
Modules | Functions/Subroutines | Variables
ice_ocean_flux_exchange.F90 File Reference

(f306ac155bd99a9741acab4c7fcdcacd0f526ea4)

Handles flux calculations and exchange grids for ice and ocean. More...

Modules

module  ice_ocean_flux_exchange_mod
 

Functions/Subroutines

subroutine, public ice_ocean_flux_exchange_mod::ice_ocean_flux_exchange_init (Time, Ice, Ocean, Ocean_state, ice_ocean_boundary, ocean_ice_boundary, Dt_cpl_in, debug_stocks_in, do_area_weighted_flux_in, ex_gas_fields_ice, ex_gas_fluxes, do_ocean, slow_ice_ocean_pelist_in)
 
subroutine, public ice_ocean_flux_exchange_mod::flux_ice_to_ocean (Ice, Ocean, Ice_Ocean_Boundary)
 
subroutine, public ice_ocean_flux_exchange_mod::flux_ice_to_ocean_finish (Time, Ice_Ocean_Boundary)
 flux_ice_to_ocean_finish carrries out a final set of tasks that should only occur on the ocean processors, including data override and perhaps saving diagnostics. More...
 
subroutine, public ice_ocean_flux_exchange_mod::flux_ocean_to_ice (Ocean, Ice, Ocean_Ice_Boundary)
 Takes the ocean model state and interpolates it onto the bottom of the ice. More...
 
subroutine, public ice_ocean_flux_exchange_mod::flux_ocean_to_ice_finish (Time, Ice, Ocean_Ice_Boundary)
 flux_ocean_to_ice_finish carrries out a final set of tasks that should only occur on the slow-ice processors, including data override and perhaps saving diagnostics. More...
 
subroutine, public ice_ocean_flux_exchange_mod::flux_ice_to_ocean_stocks (Ice)
 Updates Ice and Ocean stocks. More...
 
subroutine, public ice_ocean_flux_exchange_mod::flux_ocean_from_ice_stocks (ocean_state, Ocean, Ice_Ocean_boundary)
 Updates Ocean stocks due to input that the Ocean model gets. More...
 
subroutine ice_ocean_flux_exchange_mod::flux_ice_to_ocean_redistribute (ice, ocean, ice_data, ocn_bnd_data, type, do_area_weighted)
 Performs a globally conservative flux redistribution across ICE/OCN. Assumes that the ice/ocn grids are the same. If ocean is present, then assume different mpp domans and redistribute. More...
 
subroutine ice_ocean_flux_exchange_mod::divide_by_area (data, area)
 Divide data by area while avoiding zero area elements. More...
 
subroutine ice_ocean_flux_exchange_mod::check_flux_conservation (Ice, Ocean, Ice_Ocean_Boundary)
 Check flux conservation for routine flux_ice_to_ocean_redistribute when do_area_weighted_flux = false and true. More...
 

Variables

integer, parameter ice_ocean_flux_exchange_mod::regrid =1
 
integer, parameter ice_ocean_flux_exchange_mod::redist =2
 
integer, parameter ice_ocean_flux_exchange_mod::direct =3
 
logical ice_ocean_flux_exchange_mod::debug_stocks = .false.
 
logical ice_ocean_flux_exchange_mod::do_area_weighted_flux = .false.
 
integer ice_ocean_flux_exchange_mod::cplocnclock
 
integer ice_ocean_flux_exchange_mod::fluxoceaniceclock
 
integer ice_ocean_flux_exchange_mod::fluxiceoceanclock
 
real ice_ocean_flux_exchange_mod::dt_cpl
 
integer, dimension(:), allocatable ice_ocean_flux_exchange_mod::slow_ice_ocean_pelist
 

Detailed Description

Handles flux calculations and exchange grids for ice and ocean.