Merges fields to be sent to a component. ``Merging'' means combining one or more fields to create a new field. Typically this is two or more fields of the same type, e.g. combining atm/ice, atm/lnd, and atm/ocn sensible heat flux fields, weighted by surface fraction, to create an atm/surface heat flux. But it could also involve somewhat differing fields, e.g. precipitation plus snow melt. Merging is normally not an automatic process, some hand-tuning is generally necessary to achieve the results necessary for valid science.
REVISION HISTORY:
2002-Sep-27 - B. Kauffman - created initial versionINTERFACE:
module merge_modUSES:
use cpl_kind_mod ! kinds use cpl_control_mod ! control flags use cpl_bundle_mod ! bundle data type and methods use frac_mod ! surface fractions use data_mod ! lengthly data declarations/inits for main program use shr_sys_mod ! wrappers to system calls use shr_timer_mod ! timing utilities implicit none private ! exceptPUBLIC TYPES:
! nonePUBLIC MEMBER FUNCTIONS:
public :: merge_atm ! merges atm input data public :: merge_ocn ! merges ocn input dataPUBLIC DATA MEMBERS:
! none
Merge bundles from multiple sources to form the atm input bundle in con_Xc2a%bundle.
First a cpl_bundle_gather is done to copy fields with the same name into con_Xc2a%bundle. Then the field-specific merges are performed.
REMARKS:
The SST, field "So_t", is copied from input argument fix_So2c_a to avoid sub-freezing values introduced by mapping.REVISION HISTORY:
2002-Jun-09 - B. Kauffman - initial version.INTERFACE:
subroutine merge_atm(fix_So2c_a) implicit noneINPUT/OUTPUT PARAMETERS:
type(cpl_bundle),intent(in) :: fix_So2c_a ! KLUDGE: use alt bun_So2a_a, temp fix
Merge bundles from multiple sources to form the ``snapshot'' ocn input bundle bun_Xc2oSNAP_o. This ``snapshot'' will be added to the running sum which will be averaged when time to communicate with the ocean.
First a cpl_bundle_gather is done then the field-specific merges are performed.
REMARKS:
REVISION HISTORY:
2002-Jun-06 - B. Kauffman - initial version.INTERFACE:
subroutine merge_ocn() implicit noneINPUT/OUTPUT PARAMETERS:
! none. uses module data in data_mod