next up previous contents
Next: 21 Surface Fractions Up: 2 Modules used in Previous: 19 Merging   Contents

Subsections

20 Area Normalizing

20.1 Module areafact_mod - Handle normalization area fractions. (Source File: areafact_mod.F90)

Defines, declares, initializes, and updates bundles for area normalizing.

These are used to correct flux fields received and sent to components based on differences between grid cell areas in the models and the areas in the mapping weights files.


REVISION HISTORY:

       2003-Jan-02 - T. Craig, 1st version.
       2003-Jan-06 - T. Craig, moved work to areafact_set, removed use of cpl_map
INTERFACE:
 
 module areafact_mod
USES:
 
    use shr_sys_mod         ! share system routines
    use cpl_kind_mod        ! kinds
    use cpl_mct_mod         ! mct routines 
    use cpl_comm_mod        ! comms
    use cpl_domain_mod      ! defines domain
    use cpl_bundle_mod      ! defines bundle
    use cpl_control_mod     ! control paramters
 
    implicit none
 
    private ! except
PUBLIC TYPES:
 
   ! no public types
PUBLIC MEMBER FUNCTIONS:
 
    public :: areafact_init
PUBLIC DATA MEMBERS:
 
    type(cpl_bundle),public :: bun_areafact_a   ! area corrections
    type(cpl_bundle),public :: bun_areafact_l   ! area corrections
    type(cpl_bundle),public :: bun_areafact_o   ! area corrections
    type(cpl_bundle),public :: bun_areafact_i   ! area corrections
    type(cpl_bundle),public :: bun_areafact_r   ! area corrections
 
    character(*),parameter :: bun_areafact_fields =  'cpl2comp:comp2cpl'

20.1.1 areafact_init - Initialize all area factor bundles

Initialize the bun_areafact_* bundles declared in data_mod.F90. All fractions are derived from the (time-invariant) component model areas and the time-invariant mapping weights areas contained in the input domains.


REVISION HISTORY:

       2003-Jan-02 - T. Craig, 1st version.
INTERFACE:
 
 subroutine areafact_init(domain_a,domain_i,domain_l,domain_o,domain_r)
USES:
INPUT/OUTPUT PARAMETERS:
 
    type(cpl_domain),intent(in) :: domain_a ! domain of atm bundle
    type(cpl_domain),intent(in) :: domain_i ! domain of ice bundle
    type(cpl_domain),intent(in) :: domain_l ! domain of lnd bundle
    type(cpl_domain),intent(in) :: domain_o ! domain of ocn bundle
    type(cpl_domain),intent(in) :: domain_r ! domain of runoff bundle




cesm.ucar.edu