| Procedure | Location | Procedure Type | Description | 
|---|---|---|---|
| fabm_clean | uvic_fabm | Subroutine | de-allocate all allocated arrays  | 
               
| fabm_configure | uvic_fabm | Subroutine | read fabm.yaml and call FABM configuration subroutines  | 
               
| fabm_initialize_state | uvic_fabm | Subroutine | the initialization must be split form the linking as the masks are not yet calculated  | 
               
| fabm_link_data | uvic_fabm | Subroutine | link all FABM configured external dependencies - and call model%start() to assure proper configuration  | 
               
| fabm_list | uvic_fabm | Subroutine | lists all FABM configured variables  | 
               
| fabm_rest_def | uvic_fabm | Subroutine | define FABM restart variables in NetCDF context  | 
               
| fabm_rest_in | uvic_fabm | Subroutine | reading FABM restart variables from NetCDF  | 
               
| fabm_rest_out | uvic_fabm | Subroutine | save 4D data to the NetCDF file given by iou  | 
               
| fabm_sbc_init | uvic_fabm | Subroutine | surface boundary data are handled via sbc(imt,jmt,numsbc) in setmom.F, tracer.F, gosbc.F, embmio.F  | 
               
| fabm_tavg_def_4d | uvic_fabm | Subroutine | define FABM variables in NetCDF context  | 
               
| fabm_tavg_out_4d | uvic_fabm | Subroutine | save 4D data to the NetCDF file given by iou  | 
               
| fabm_tracer_init | uvic_fabm | Subroutine | surface boundary data are handled via sbc(imt,jmt,numsbc) in setmom.F, tracer.F, gosbc.F, embmio.F  | 
               
| fabm_tsi_def | uvic_fabm | Subroutine | define FABM time series variables in NetCDF context  | 
               
| fabm_tsi_out | uvic_fabm | Subroutine | define FABM variables in NetCDF context  | 
               
| fabm_update | uvic_fabm | Subroutine | update the environment and calculate the source/sink terms - is called with the same argument list as mom() calls tracer( !) i.e. the specification of the active UVic window - typically the full domain on modern hardware  | 
               
| link_bottom_stress | uvic_fabm | Subroutine | get bottom stress FABM standard variable and if needed by FABM allocate memory  | 
               
| link_density | uvic_fabm | Subroutine | get density FABM standard variable and if needed by FABM allocate memory  | 
               
| link_downwelling_photosynthetic_radiative_flux | uvic_fabm | Subroutine | get salinity FABM standard variable and if needed by FABM allocate memory  | 
               
| link_grid | uvic_fabm | Subroutine | Allocate and link grid related FABM standard variables that are being transformed from UVic native variables [cm -> m].  | 
               
| link_mole_fraction_of_carbon_dioxide_in_air | uvic_fabm | Subroutine | |
| link_salinity | uvic_fabm | Subroutine | get salinity FABM standard variable and if needed by FABM allocate memory  | 
               
| link_surface_swr_flux | uvic_fabm | Subroutine | |
| link_wind | uvic_fabm | Subroutine | get wind speed FABM standard variable and if needed by FABM allocate memory  | 
               
| rowi_fabm | uvic_fabm | Subroutine | this is done in fabm_initialize_state() - but check !!KB setmom.F - if (.not. init) then - around line 299  | 
               
| ta_fabm_tsi | uvic_fabm | Subroutine | define FABM variables in NetCDF context  | 
               
| update_bottom_stress | uvic_fabm | Subroutine | calculate the bottom stress in Pa  | 
               
| update_data | uvic_fabm | Subroutine | update all time varying FABM configured external dependencie !s by calling individual update routines - tests done in routin !es  | 
               
| update_density | uvic_fabm | Subroutine | calculate density in kg/m³ according to with . MUST match rho0 from UVic_ESCM.F90  | 
               
| update_downwelling_photosynthetic_radiative_flux | uvic_fabm | Subroutine | calculate salinity in PSU according to  | 
               
| update_mole_fraction_of_carbon_dioxide_in_air | uvic_fabm | Subroutine | calculate the ?????? in W/m^2  | 
               
| update_salinity | uvic_fabm | Subroutine | calculate salinity in PSU according to  | 
               
| update_surface_swr_flux | uvic_fabm | Subroutine | This calculation of the surface swr uses the flux directly from the atmospheric model - must be corrected for ice at some point.  | 
               
| update_wind | uvic_fabm | Subroutine | calculate wind speed in m/s according to  |