POP is the ocean component of the Community Earth System Model (CESM), a community coupled earth-system model developed by NCAR and many other collaborators. Other coupled models are adopting POP and CICE for their ocean and sea ice components, including groups at Colorado State University and UCLA. Only the interface to the CESM1 model will be outlined here and supported in the model.
In the CESM1 model, POP runs as a separate component model and communicates with other models using messages passed to and from a 'flux coupler'. The routines for passing these messages are included in the coupling-method-specific modules, such as ocn_comp_mct.F90 or ocn_comp_esmf.F90. In addition, these modules, along with forcing_coupled.F90, take care of all the manipulations (unit conversions, rotations of vector fields) necessary for the form expected by the flux coupler. POP typically sends current state data to the coupler and receives the usual surface forcing fluxes (windstress, heat flux, water flux, solar short-wave), implying that the fluxes were actually computed using ocean state variables from the previous coupling interval. The flux coupler performs all the computations and necessary averaging and interpolation of these quantities.
To run POP in coupled mode, the coupling interface must be activated at compile-time by specifying -DCCSMCOUPLED in the CESM1 build procedure, which is done automatically when building CESM1 pop2 with the CESM1 scripts.
The coupled_nml namelist provides basic coupling control, including the frequency at which the model communicates with the coupler and how the coupler-supplied incoming short-wave radiation is distributed over a coupling interval.
|&coupled_nml||LANL default||CESM1 default||Valid values||activate interface to coupled model|
|coupled_freq_opt||'never'||'nhour'||'never', 'nyear', 'nmonth', 'nday', 'nhour', 'nsecond'||unit of time for coupled_freq|
|coupled_freq||1||auto-filled by CESM1 scripts||integer > 0||frequency in above units for bi-directional communication with 'flux coupler'|
|qsw_distrb_opt||N/A||'cosz'||'const', '12hr', 'cosz'||method for distributing incoming short-wave radiation over a coupling interval|
The context_nml namelist sets the overall context for coupling POP to the CESM1 system.
|&context_nml||CESM1 default||Valid values||activate interface to coupled model|
|lcoupled||.true.||.true.,.false.||if .true., POP2 is coupled to some coupled system|
|lccsm||.true.||.true.,.false.||if .true., POP2 is coupled to CESM1|
|lccsm_control_compatible||.false.||.true.,.false.||if .true., solutions are b4b with the CESM1 1850 control run|