namespace meso_surface_forcing

Overview

Sets forcing for the MESO configuration. More…

namespace meso_surface_forcing {

// global variables

logical first_call = .true.;

// global functions

subroutine, public meso_buoyancy_forcing(
    sfc_state sfc_state,
    fluxes fluxes,
    day day,
    dt dt,
    G G,
    US US,
    CS CS
    );

subroutine, public meso_surface_forcing_init(
    Time Time,
    G G,
    US US,
    param_file param_file,
    diag diag,
    CS CS
    );

} // namespace meso_surface_forcing

Detailed Documentation

Sets forcing for the MESO configuration.

Rewritten by Robert Hallberg, June 2009

This file contains the subroutines that a user should modify to to set the surface wind stresses and fluxes of buoyancy or temperature and fresh water. They are called when the run-time parameters WIND_CONFIG or BUOY_CONFIG are set to “USER”. The standard version has simple examples, along with run-time error messages that will cause the model to abort if this code has not been modified. This code is intended for use with relatively simple specifications of the forcing. For more complicated forms, it is probably a good idea to read the forcing from input files using “file” for WIND_CONFIG and BUOY_CONFIG.

MESO_buoyancy forcing is used to set the surface buoyancy forcing, which may include a number of fresh water flux fields (evap, liq_precip, froz_precip, liq_runoff, froz_runoff, and vprec) and the surface heat fluxes (sw, lw, latent and sens) if temperature and salinity are state variables, or it may simply be the buoyancy flux if it is not. This routine also has coded a restoring to surface values of temperature and salinity.

Global Variables

logical first_call = .true.

True until after the first call to the MESO forcing routines.

Global Functions

subroutine, public meso_buoyancy_forcing(
    sfc_state sfc_state,
    fluxes fluxes,
    day day,
    dt dt,
    G G,
    US US,
    CS CS
    )

This subroutine sets up the MESO buoyancy forcing, which uses control-theory style specification restorative buoyancy fluxes at large scales.

Parameters:

sfc_state

A structure containing fields that describe the surface state of the ocean.

fluxes

A structure containing thermodynamic forcing fields

day

The time of the fluxes

dt

The amount of time over which the fluxes apply [s]

g

The ocean’s grid structure

us

A dimensional unit scaling type

cs

A pointer to the control structure returned by a previous call to MESO_surface_forcing_init

subroutine, public meso_surface_forcing_init(
    Time Time,
    G G,
    US US,
    param_file param_file,
    diag diag,
    CS CS
    )

Initialize the MESO surface forcing module.

Parameters:

time

The current model time

g

The ocean’s grid structure

us

A dimensional unit scaling type

param_file

A structure to parse for run-time parameters

diag

structure used to regulate diagnostic output

cs

A pointer that is set to point to the control structure for this module