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

Module gas_tf_mod

Contact:  fil
Reviewers:  ds
Change History: WebCVS Log


OVERVIEW

Module that calculates gas transmission functions



OTHER MODULES USED

            fms_mod
constants_mod
rad_utilities_mod
longwave_params_mod

PUBLIC INTERFACE

gas_tf_init:
Initialize gas transmission function calculation from input namelist, model pressure coordinate system, etc.
co2coef:
Calculate CO2 absorption coefficients and transmission function
transcol:
Subroutine to compute temperature-corrected co2 transmission functions at a particular (krow).
transcolrow:
Subroutine to compute temperature-corrected co2/ch4/n2o transmission functions at a particular row and particular column.
trans_nearby:
Compute nearby layer transmission functions at certain level in the frequency band at 15 um
trans_sfc:
Compute nearby layer transmission functions at certain level in the frequency band at 15 um
put_co2_stdtf_for_gas_tf:
Assign co2 transmission functions
put_co2_nbltf_for_gas_tf:
Assign co2 transmission functions
put_ch4_stdtf_for_gas_tf:
Assign ch4 transmission functions
put_n2o_stdtf_for_gas_tf:
Assign n2o transmission functions
get_control_gas_tf:
Turn on gas transmission function flag
gas_tf_dealloc:
gas_tf_dealloc deallocates the array components of the gas_tf_type input variable.
gas_tf_end:
End and clean up gas tranmission function calculation
process_co2_input_file:
Subroutine to process co2 input file information
process_ch4_input_file:
Subroutine to process ch4 input file information
process_n2o_input_file:
Subroutine to process n2o input file information
ptz:
Subroutine to calculate temperatures at up to 200 user specified pressures.
antemp:
Subroutine to analytically calculate temperature profiles of atmosphere with arbitrary levels
transfn:
Subroutine to compute the temperature corrected co2 nearby layer transmission functions
process_gas_input_file:
Subroutine to process gas input file information


PUBLIC DATA

None.


PUBLIC ROUTINES

  1. gas_tf_init

    call gas_tf_init (pref)
    DESCRIPTION
    Initialize gas transmission function calculation from input namelist, model pressure coordinate system, etc.


    INPUT
    pref    Model pressure coordinate array
       [real]

  2. co2coef

    call co2coef (Atmos_input, Gas_tf)
    DESCRIPTION
    Calculate CO2 absorption coefficients and transmission function


    INPUT
    Atmos_input    The input data of the atmosphere structure and gas concentration
       [atmos_input_type]

    INPUT/OUTPUT
    Gas_tf    The gas transmission function table
       [gas_tf_type]

  3. transcol

    call transcol (kcol, krow, kcols, kcole, co21c, Gas_tf)
    DESCRIPTION
    Subroutine to compute temperature-corrected co2 transmission functions at a particular (krow).


    INPUT
    kcol    Not used
       [integer]
    krow    The row index where co2 transmission is calculated
       [integer]
    kcols    The starting column index number
       [integer]
    kcole    The ending column index number
       [integer]
    Gas_tf    The pre temperature-corrected co2 transmission functions
       [gas_tf_type]

    OUTPUT
    co21c    The column of transmission functions
       [real]

  4. transcolrow

    call transcolrow (Gas_tf, kcol, krow, kcols, kcole, krows, krowe, & co21c, co21r, tch4n2oe)
    DESCRIPTION
    Subroutine to compute temperature-corrected co2/ch4/n2o transmission functions at a particular row and particular column.


    INPUT
    kcol    The column index of temperature-corrected transmission function
       [integer]
    krow    The row index of temperature-corrected transmission function
       [integer]
    kcols    The starting column index number
       [integer]
    kcole    The ending column index number
       [integer]
    krows    The starting row index number
       [integer]
    krowe    The ending row index number
       [integer]

    INPUT/OUTPUT
    tch4n2oe    The ch4 and n2o transmission functions
       [real]
    Gas_tf    The pre temperature-corrected co2 transmission functions
       [gas_tf_type]

    OUTPUT
    co21c    The column of transmission functions
       [real]
    co21r    The row of transmission functions
       [real]

  5. trans_nearby

    call trans_nearby (Gas_tf, Atmos_input, overod, co2diag)
    DESCRIPTION
    Compute "nearby layer" transmission functions at level k ( tau(p(k),p(k))) in the frequency band at 15 um. include all gases (co2, h2o, h2o cont) used in computing fluxes in this band.


    INPUT
    Gas_tf    The gas transmission functions at model coordinate system
       [gas_tf_type]
    Atmos_input    The atmospheric input data
       [atmos_input_type]
    overod    CO2 data
       [real]

    OUTPUT
    co21diag    CO2 transmission function
       [real]

  6. trans_sfc

    call trans_sfc (Gas_tf, Atmos_input, overod, co21c, co21r)
    DESCRIPTION
    Compute "nearby layer" transmission functions at level k ( tau(p(k),p(k))) in the frequency band at 15 um. include all gases (co2, h2o, h2o cont) used in computing fluxes in this band.


    INPUT
    Gas_tf    The gas transmission functions at model coordinate system
       [gas_tf_type]
    Atmos_input    The atmospheric input data
       [atmos_input_type]
    overod    CO2 data
       [real]

    OUTPUT
    co21c    CO2 transmission function
       [real]
    co21r    CO2 transmission function
       [real]

  7. put_co2_stdtf_for_gas_tf

    call put_co2_stdtf_for_gas_tf (nf, & co251_o, co258_o, & cdt51_o, cdt58_o, & c2d51_o, c2d58_o)
    DESCRIPTION
    Assign co2 transmission functions


    INPUT
    nf    index variable
       [integer]
    co251_o co258_o cdt51_o cdt58_o c2d51_o c2d58_o    CO2 transmission functions
       [real]

  8. put_co2_nbltf_for_gas_tf

    call put_co2_nbltf_for_gas_tf (nf, & co2m51_o, cdtm51_o, c2dm51_o, & co2m58_o, cdtm58_o, c2dm58_o, & co215nbps1_o, co215nbps8_o, & co2dt15nbps1_o, co2dt15nbps8_o, & co2d2t15nbps1_o, co2d2t15nbps8_o )
    DESCRIPTION
    Assign co2 transmission functions


    INPUT
    nf    index variable
       [integer]
    co2m51_o, cdtm51_o, c2dm51_o, co2m58_o, cdtm58_o, c2dm58_o, co215nbps1_o, co215nbps8_o, co2dt15nbps1_o, co2dt15nbps8_o, co2d2t15nbps1_o, co2d2t15nbps8_o    CO2 transmission functions
       [real]

  9. put_ch4_stdtf_for_gas_tf

    call put_ch4_stdtf_for_gas_tf ( & ch451_o, ch458_o, & ch4dt51_o, ch4dt58_o, & ch4d2t51_o, ch4d2t58_o)
    DESCRIPTION
    Assign ch4 transmission functions


    INPUT
    nf    index variable
       [integer]
    ch451_o, ch458_o, ch4dt51_o, ch4dt58_o, ch4d2t51_o, ch4d2t58_o    CH4 transmission functions
       [real]

  10. put_n2o_stdtf_for_gas_tf

    call put_n2o_stdtf_for_gas_tf (nf, & n2o1_o, n2o8_o, & n2odt1_o, n2odt8_o, & n2od2t1_o, n2od2t8_o)
    DESCRIPTION
    Assign n2o transmission functions


    INPUT
    nf    index variable
       [integer]
    n2o1_o, n2o8_o, n2odt1_o, n2odt8_o, n2od2t1_o, n2od2t8_o    N2O transmission functions
       [real]

  11. get_control_gas_tf

    call get_control_gas_tf (calc_co2, calc_ch4, calc_n2o)
    DESCRIPTION
    Turn on gas transmission function flag


    OUTPUT
    calc_co2, calc_ch4, calc_n2o    logical variables that determine whether gas transmission functions should be calculated.
       [logical]

  12. gas_tf_dealloc

    call gas_tf_dealloc (Gas_tf)
    DESCRIPTION
    gas_tf_dealloc deallocates the array components of the gas_tf_type input variable.


    INPUT/OUTPUT
    Gas_tf    gas_tf_type variable containing information needed to define the gas transmission functions
       [gas_tf_type]

  13. gas_tf_end

    call gas_tf_end 
    
    DESCRIPTION
    End and clean up gas tranmission function calculation


  14. process_co2_input_file

    call process_co2_input_file (gas_name, gas_amount, nstdlvls, & kbegin, kend, pd, plm, pa)
    DESCRIPTION
    Subroutine to process co2 input file information


    INPUT
    gas_name    Name of the gas specy
       [character]
    gas_amount    Amount of the gas specy
       [real]
    nstdlvls    Number of standard levels
       [integer]
    kbegin, kend    Index of the starting and ending vertical levels
       [integer]
    pd, plm, pa    Pressure coordinate variables, at boundaries, mid points.
       [real]

  15. process_ch4_input_file

    call process_ch4_input_file (gas_name, gas_amount, nstdlvls, & kbegin, kend, pd, plm, pa)
    DESCRIPTION
    Subroutine to process ch4 input file information


    INPUT
    gas_name    Name of the gas specy
       [character]
    gas_amount    Amount of the gas specy
       [real]
    nstdlvls    Number of standard levels
       [integer]
    kbegin, kend    Index of the starting and ending vertical levels
       [integer]
    pd, plm, pa    Pressure coordinate variables, at boundaries, mid points.
       [real]

  16. process_n2o_input_file

    call process_n2o_input_file (gas_name, gas_amount, nstdlvls, & kbegin, kend, pd, plm, pa)
    DESCRIPTION
    Subroutine to process n2o input file information


    INPUT
    gas_name    Name of the gas specy
       [character]
    gas_amount    Amount of the gas specy
       [real]
    nstdlvls    Number of standard levels
       [integer]
    kbegin, kend    Index of the starting and ending vertical levels
       [integer]
    pd, plm, pa    Pressure coordinate variables, at boundaries, mid points.
       [real]

  17. ptz

    call ptz (plm, pd)
    DESCRIPTION
    Subroutine to calculate temperatures at up to 200 user specified pressures.


    INPUT
    plm    pressure at midpoint of layer (average of adjacent pd values)
       [real]
    pd    pressures (mb) for layer boundaries. (also known as flux levels).
       [real]

  18. antemp

    temp = antemp (z)
    DESCRIPTION
    Subroutine to analytically calculate temperature profiles of atmosphere with arbitrary levels


    INPUT
    z    Height
       [real]

  19. transfn

    call transfn ( Gas_tf)
    DESCRIPTION
    Subroutine to compute the temperature corrected co2 nearby layer transmission functions


    INPUT/OUTPUT
    Gas_tf    The output variable of temperature corrected co2 transmission functions
       [gas_tf_type]

  20. process_gas_input_file

    call process_gas_input_file (gas_name, gas_amount, nstdlvls, & kbegin, kend, pd, plm, pa, unit)
    DESCRIPTION
    Subroutine to process gas input file information


    INPUT
    gas_name    Name of the gas specy
       [character]
    gas_amount    Amount of the gas specy
       [real]
    nstdlvls    Number of standard levels
       [integer]
    kbegin, kend    Index of the starting and ending vertical levels
       [integer]
    pd, plm, pa    Pressure coordinate variables, at boundaries, mid points.
       [real]
    unit    The input file descriptor
       [integer]


DATA SETS

None.


ERROR MESSAGES

None.


top