PUBLIC INTERFACE ~ PUBLIC DATA ~ PUBLIC ROUTINES ~ NAMELIST ~ DIAGNOSTIC FIELDS ~ ERROR MESSAGES ~ REFERENCES ~ NOTES

Module shortwave_driver_mod

Contact:  fil
Reviewers:  smf
Change History: WebCVS Log


OVERVIEW

Code to carry out shortwave calculation.

This code initializes, prepares, and ends shortwave radiation calculation. This code is called by sea_esf_rad.f90 and calls shortwave subroutines to do shortwave flux calculation.


OTHER MODULES USED

             fms_mod
rad_utilities_mod
esfsw_parameters_mod
lhsw_driver_mod
esfsw_driver_mod

PUBLIC INTERFACE

shortwave_driver_init:
Code that initializes shortwave radiation calculation.
shortwave_driver:
Code that deploys shortwave radiation calculation
shortwave_driver_end:
Code that ends shortwave radiation calculation
shortwave_driver_alloc:
Code that allocates and initializes shortwave output variables


PUBLIC DATA

None.


PUBLIC ROUTINES

  1. shortwave_driver_init

    call shortwave_driver_init (latb, pref)
    DESCRIPTION
    Initialize utilities and radiation utilities if necessary. They should have been initialized in the radiation initialiation subroutine in the sea_esf_rad.f90. The code then reads in input.nml namelist and logs input parameters to logfile. It uses lhsw or esfsw package depends on namelist parameter. Initializes apropriate shortwave package subroutines and set up the initialize parameter.


    INPUT
    latb    An array of model latitudes at cell boundaries [radians]
       [real]
    pref    An array containing two reference pressure profiles [pascals]
       [real]

  2. shortwave_driver

    call shortwave_driver (is, ie, js, je, Atmos_input, Surface, Astro, & Rad_gases, Cldrad_props, Cld_spec, Sw_output, & Cldspace_rad)
    DESCRIPTION
    shortwave_driver initializes shortwave radiation output variables, determines if shortwave radiation is present in the current physics window, selects one of the available shortwave parameterizations, executes it, and returns the output fields to sea_esf_rad_mod.


    INPUT
    is    starting subdomain i indices of data in the physics_window being integrated
       [integer]
    ie    ending subdomain i indices of data in the physics_window being integrated
       [integer]
    js    starting subdomain j indices of data in the physics_window being integrated
       [integer]
    je    ending subdomain j indices of data in the physics_window being integrated
       [integer]
    Atmos_input    Atmos_input_type variable containing the atmospheric input fields on the radiation grid
       [atmos_input_type]
    Astro    Astronomy_type variable containing the astronomical input fields on the radiation grid
       [astronomy_type]
    Aerosol    Aerosol input data of shortwave radiation calculation
       [aerosol_type]
    Aerosol_props    Aerosol radiative property input data
       [aerosol_properties_type]
    Rad_gases    Radiative_gases_type variable containing the radiative gas input fields on the radiation grid
       [radiative_gases_type]
    Cldrad_props    The cloud radiative property input fields on the radiation grid
       [cldrad_properties_type]
    Surface    Surface data as boundary condition to radiation
       [surface_type]
    Cld_spec    Cloud specification data as initial condition to radiation
       [cld_specification_type]

    INPUT/OUTPUT
    Sw_output    The shortwave radiation calculation result
       [sw_output_type]
    Cldspace_rad    Optional cloud radiative forcing output used in lacis-hansen formulation.
       [cld_space_properties_type]

  3. shortwave_driver_end

    call shortwave_driver_end 
    
    DESCRIPTION
    Subroutine that simply reset shortwave_driver_initialized to false


  4. shortwave_driver_alloc

    call shortwave_driver_alloc (ix, jx, kx, Sw_output)
    DESCRIPTION
    Shortwave_driver_alloc allocates and initializes the components of the sw_output_type variable Sw_output, which is used to hold output data from shortwave_driver_mod.


    INPUT
    ix    x dimention of the radiation grid where shortwave output is desired
       [integer]
    jx    y dimention of the radiation grid where shortwave output is desired
       [integer]
    kx    z dimention of the radiation grid where shortwave output is desired
       [integer]

    INPUT/OUTPUT
    Sw_output    shortwave radiation output variable
       [sw_output_type]


DATA SETS

None.


ERROR MESSAGES

None.


top