cpl6 main program history file creation module. Contains routine to coordinate the writing of history files.
REVISION HISTORY:
2002-Sep-27 - B. Kauffman - created initial versionREMARKS:
This is not a generic low-level module, it is a high-level module
hard-coded to particular bundle declarations and user desires wrt history
file content.
INTERFACE:
module history_modUSES:
use cpl_control_mod ! control flags
use shr_date_mod ! date/time module
use cpl_iocdf_mod ! netCDF file creation
use frac_mod ! surface fractions
use areafact_mod ! area corrections
use cpl_kind_mod ! kinds
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 ! except
PUBLIC TYPES:
! none
PUBLIC MEMBER FUNCTIONS:
public :: history_write ! create cpl6 history files
public :: history_avbundleInit ! initialize cpl6 tavg history bundles
public :: history_avwrite ! create cpl6 tavg history files
PUBLIC DATA MEMBERS:
! none
Create desired history file from most of the data in data_mod data and include input date date. Writes out contents of bun_areafact_, bun_frac_* and the bundles in the x2c and c2x contracts.
If cpl_control_histNow is false, this routine does nothing.
REVISION HISTORY:
2002-Sep-27 - B. Kauffman - initial version.INTERFACE:
subroutine history_write(date)
implicit none
INPUT/OUTPUT PARAMETERS:
type(shr_date) :: date ! date associated with bundles
Initialize the bun_avX* bundles used to make time-averaged data.
REVISION HISTORY:
2003-Mar-31 - T. Craig - initial versionINTERFACE:
subroutine history_avbundleInit()
implicit none
INPUT/OUTPUT PARAMETERS:
Add current values of desired data to the bun_avX* bundles using input date.
If cpl_control_avhistNow is true, form time average and write out data. Then zero the bun_avX* bundles.
If cpl_control_avhistType is none, this routine does nothing.
REVISION HISTORY:
2003-Mar-30 - T. Craig - initial version.INTERFACE:
subroutine history_avWrite(date)
implicit none
INPUT/OUTPUT PARAMETERS:
type(shr_date) :: date ! date associated with bundles