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_mapINTERFACE:
module areafact_modUSES:
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 ! exceptPUBLIC TYPES:
! no public typesPUBLIC MEMBER FUNCTIONS:
public :: areafact_initPUBLIC 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'
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