MOM6
|
This is the main driver for MOM6 in CIME.
The following summarizes the mismatches between MCT and MOM6 in terms of ice ocean fluxes.
Redundancies: x2o_Faxa_prec = x2o_Faxa_rain + x2o_Faxa_snow
Variables whose units and sign could not be verified so far: x2o_Foxx_rofl x2o_Foxx_rof
Variables in MOM6 fluxes that are NOT filled by the coupler: ustar_berg, frictional velocity beneath icebergs [m s-1] area_berg, area covered by icebergs(m2/m2) mass_berg, mass of icebergs(kg/m2) runoff_hflx, heat content of liquid runoff (W/m2) calving_hflx, heat content of frozen runoff (W/m2) mi, mass of ice (kg/m2)
Variables in the coupler that are NOT used in MOM6 (i.e., no corresponding field in fluxes): x2o_Si_ifrac, fractional ice wrt ocean x2o_So_duu10n, 10m wind speed squared (m^2/s^2) x2o_Sa_co2prog, bottom atm level prognostic CO2 x2o_Sa_co2diag, bottom atm level diagnostic CO2
\TODO Langmuir related fields: surface Stokes drift, x-comp. (x2o_Sw_ustokes) surface Stokes drift, y-comp. (x2o_Sw_vstokes) wave model langmuir multiplier (x2o_Sw_lamult)
\TODO Biogeochemistry: x2o_Fioi_bcpho, Black Carbon hydrophobic release from sea ice component x2o_Fioi_bcphi, Black Carbon hydrophilic release from sea ice component x2o_Fioi_flxdst, Dust release from sea ice component x2o_Faxa_bcphidry, Black Carbon hydrophilic dry deposition x2o_Faxa_bcphodry, Black Carbon hydrophobic dry deposition x2o_Faxa_bcphiwet, Black Carbon hydrophobic wet deposition x2o_Faxa_ocphidry, Organic Carbon hydrophilic dry deposition x2o_Faxa_ocphodry, Organic Carbon hydrophobic dry deposition x2o_Faxa_ocphiwet, Organic Carbon hydrophilic dry deposition x2o_Faxa_dstwet, Sizes 1 to 4 dust - wet deposition x2o_Faxa_dstdry, Sizes 1 to 4 dust - dry deposition
Variables that are currently being exported:
Surface temperature (Kelvin) Surface salinity (psu) Surface eastward velocity [m s-1] Surface northward velocity [m s-1] Zonal slope in the sea surface height Meridional slope in the sea surface height
\TODO Variables that are not currently being exported:
Boundary layer depth CO2 DMS
Data Types | |
type | mct_mom_data |
Control structure for this module. More... | |
Functions/Subroutines | |
subroutine, public | ocn_init_mct (EClock, cdata_o, x2o_o, o2x_o, NLFilename) |
This subroutine initializes MOM6. More... | |
subroutine, public | ocn_run_mct (EClock, cdata_o, x2o_o, o2x_o) |
Step forward ocean model for coupling interval. More... | |
subroutine, public | ocn_final_mct (EClock, cdata_o, x2o_o, o2x_o) |
Finalizes MOM6. More... | |
subroutine, private | ocn_setgsmap_mct (mpicom_ocn, MOM_MCT_ID, gsMap_ocn, gsMap3d_ocn) |
Sets mct global segment maps for the MOM decomposition. More... | |
subroutine, private | ocn_domain_mct (lsize, gsMap_ocn, dom_ocn) |
Sets MCT global segment maps for the MOM6 decomposition. More... | |
character(32) function, private | get_runtype () |
Returns the CESM run type. More... | |
subroutine, private | ocean_model_init_sfc (OS, Ocean_sfc) |
It has to be separate from the ocean_initialization call because the coupler module allocates the space for some of these variables. More... | |
subroutine | iob_allocate (IOB, isc, iec, jsc, jec) |
Allocates ice-ocean boundary type containers and sets to 0. More... | |
Variables | |
logical, parameter | debug =.true. |
type(mct_mom_data) | glb |
global structure More... | |
type(ice_ocean_boundary_type) | ice_ocean_boundary |
|
private |
Returns the CESM run type.
Definition at line 721 of file ocn_comp_mct.F90.
References glb.
Referenced by ocn_init_mct(), and ocn_run_mct().
|
private |
Allocates ice-ocean boundary type containers and sets to 0.
[in,out] | iob | An ice-ocean boundary type with fluxes to drive |
[in] | jec | The ocean's local grid size |
Definition at line 825 of file ocn_comp_mct.F90.
Referenced by ocn_init_mct().
|
private |
It has to be separate from the ocean_initialization call because the coupler module allocates the space for some of these variables.
Definition at line 744 of file ocn_comp_mct.F90.
References mom_ocean_model_mct::convert_state_to_ocean_type(), and mom::extract_surface_state().
Referenced by ocn_init_mct().
|
private |
Sets MCT global segment maps for the MOM6 decomposition.
[in] | lsize | Size of attr. vector |
[in] | gsmap_ocn | MCT global segment map for 2d data |
[in,out] | dom_ocn | WHAT IS THIS? |
Definition at line 639 of file ocn_comp_mct.F90.
References glb.
Referenced by ocn_init_mct().
subroutine, public ocn_comp_mct::ocn_final_mct | ( | type(esmf_clock), intent(inout) | EClock, |
type(seq_cdata), intent(inout) | cdata_o, | ||
type(mct_avect), intent(inout) | x2o_o, | ||
type(mct_avect), intent(inout) | o2x_o | ||
) |
Finalizes MOM6.
[in,out] | x2o_o | Fluxes from coupler to ocean, computed by ocean |
[in,out] | o2x_o | Fluxes from ocean to coupler, computed by ocean |
Definition at line 576 of file ocn_comp_mct.F90.
References glb.
subroutine, public ocn_comp_mct::ocn_init_mct | ( | type(esmf_clock), intent(inout) | EClock, |
type(seq_cdata), intent(inout) | cdata_o, | ||
type(mct_avect), intent(inout) | x2o_o, | ||
type(mct_avect), intent(inout) | o2x_o, | ||
character(len=*), intent(in), optional | NLFilename | ||
) |
This subroutine initializes MOM6.
[in,out] | eclock | Time and time step ? |
[in,out] | cdata_o | Input parameters |
[in,out] | x2o_o | Fluxes from coupler to ocean, computed by ocean |
[in,out] | o2x_o | Fluxes from ocean to coupler, computed by ocean |
[in] | nlfilename | Namelist filename |
Definition at line 105 of file ocn_comp_mct.F90.
References mom_file_parser::close_param_file(), ocn_cpl_indices::cpl_indices_init(), debug, mom_grid::get_global_grid_size(), mom_get_input::get_mom_input(), get_runtype(), glb, ice_ocean_boundary, iob_allocate(), mom_error_handler::is_root_pe(), ocean_model_init_sfc(), ocn_domain_mct(), ocn_cap_methods::ocn_export(), and ocn_setgsmap_mct().
subroutine, public ocn_comp_mct::ocn_run_mct | ( | type(esmf_clock), intent(inout) | EClock, |
type(seq_cdata), intent(inout) | cdata_o, | ||
type(mct_avect), intent(inout) | x2o_o, | ||
type(mct_avect), intent(inout) | o2x_o | ||
) |
Step forward ocean model for coupling interval.
[in,out] | eclock | Time and time step ? |
[in,out] | cdata_o | Input parameters |
[in,out] | x2o_o | Fluxes from coupler to ocean, computed by ocean |
[in,out] | o2x_o | Fluxes from ocean to coupler, computed by ocean |
Definition at line 411 of file ocn_comp_mct.F90.
References debug, mom_surface_forcing_mct::forcing_save_restart(), get_runtype(), glb, ice_ocean_boundary, mom_ice_shelf::ice_shelf_save_restart(), mom_error_handler::is_root_pe(), ocn_cap_methods::ocn_export(), ocn_cap_methods::ocn_import(), and mom_restart::save_restart().
|
private |
Sets mct global segment maps for the MOM decomposition.
[in] | mpicom_ocn | MPI communicator |
[in] | mom_mct_id | MCT component ID |
[in,out] | gsmap_ocn | MCT global segment map for 2d data |
[in,out] | gsmap3d_ocn | MCT global segment map for 3d data |
Definition at line 591 of file ocn_comp_mct.F90.
References mom_grid::get_global_grid_size(), glb, and mom_error_handler::mom_error().
Referenced by ocn_init_mct().
|
private |
Definition at line 80 of file ocn_comp_mct.F90.
Referenced by ocn_init_mct(), and ocn_run_mct().
|
private |
global structure
Definition at line 96 of file ocn_comp_mct.F90.
Referenced by get_runtype(), ocn_domain_mct(), ocn_final_mct(), ocn_init_mct(), ocn_run_mct(), and ocn_setgsmap_mct().
|
private |
Definition at line 97 of file ocn_comp_mct.F90.
Referenced by ocn_init_mct(), and ocn_run_mct().