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_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 ! except
PUBLIC TYPES:
! no public typesPUBLIC 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'
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