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

Module cu_mo_trans_mod

Contact:  Isaac Held
Reviewers: 
Change History: WebCVS Log


OVERVIEW

A simple module that computes a diffusivity proportional to the convective mass flux, for use with diffusive convective momentum transport closure

A diffusive approximation to convective momentum transport is crude but has been found to be useful in improving the simulation of tropical precipitation in some models. The diffusivity computed here is simply
 diffusivity = c*W*L 
 W = M/rho  (m/sec) 
 M = convective mass flux (kg/(m2 sec)) 
 rho - density of air <p>
 L = depth of convecting layer (m)
 c = normalization constant = diff_norm/g 
   (diff_norm is a namelist parameter;
      the factor of g = acceleration of gravity here is an historical artifact) <p>
 for further discussion see 
     cu_mo_trans.pdf


OTHER MODULES USED

   constants_mod
fms_mod
Diag_Manager_Mod
Time_Manager_Mod

PUBLIC INTERFACE

cu_mo_trans_init:
initializes module
cu_mo_trans_end:
terminates module
cu_mo_trans:
returns a diffusivity proportional to the convective mass flux, for use with diffusive convective momentum transport closure


PUBLIC DATA

None.


PUBLIC ROUTINES

  1. cu_mo_trans_init

    call cu_mo_trans_init ( axes, Time )
    DESCRIPTION
    Reads namelist and registers one diagnostic field (diff_cmt: the kinematic diffusion coefficient)


    INPUT
    axes    axes identifier needed by diag manager
       [integer]
    Time    time at initialization needed by diag manager
       [time_type]

  2. cu_mo_trans_end

    call cu_mo_trans_end 
    
    DESCRIPTION
    This is the destructor for cu_mo_trans


  3. cu_mo_trans

    call cu_mo_trans (is, js, Time, mass_flux, t, & p_half, p_full, z_half, z_full, diff)
    DESCRIPTION
    A diffusive approximation to convective momentum transport is crude but has been found to be useful in inproving the simulation of tropical precipitation in some models. The diffusivity computed here is simply
     diffusivity = c*W*L
     W = M/rho  (m/sec)
     M = convective mass flux (kg/(m2 sec)) 
     rho - density of air
     L = depth of convecting layer (m)
     c = normalization constant = diff_norm/g
       (diff_norm is a namelist parameter;
          the factor of g here is an historical artifact)
     for further discussion see cu_mo_trans.ps


    INPUT
    is   
       [integer]
    js    horizontal domain on which computation to be performed is (is:is+size(t,1)-1,ie+size(t,2)-1) in global coordinates (used by diag_manager only)
       [integer]
    Time    current time, used by diag_manager
       [time_type]
    mass_flux    convective mass flux (Kg/(m**2 s)), dimension(:,:,:), 3rd dimension is vertical level (top down) -- defined at interfaces, so that size(mass_flux,3) = size(p_half,3); entire field processed; all remaining fields are 3 dimensional; size of first two dimensions must confrom for all variables
       [real]
    t    temperature (K) at full levels, size(t,3) = size(p_full,3)
       [real]
    p_half    pressure at interfaces (Pascals) size(p_half,3) = size(p_full,3) + 1
       [real]
    p_full    pressure at full levels (levels at which temperature is defined)
       [real]
    z_half    height at half levels (meters); size(z_half,3) = size(p_half,3)
       [real]
    z_full    height at full levels (meters); size(z_full,3) = size(p_full,3)
       [real]

    OUTPUT
    diff    kinematic diffusivity (m*2/s); defined at half levels size(diff,3) = size(p_half,3)
       [real]


DATA SETS

None.


ERROR MESSAGES

None.


REFERENCES

None.


COMPILER SPECIFICS

None.


PRECOMPILER OPTIONS

None.


LOADER OPTIONS

None.


TEST PROGRAM

None.


KNOWN BUGS

None.


NOTES

None.


FUTURE PLANS

None.


top