MAPL_SunGetSolarConstant Interface

public interface MAPL_SunGetSolarConstant

Module Procedures

private subroutine MAPL_SunGetSolarConstantByYearDoY(Year, DayOfYear, SC, HK, rc)

Given the year and day-of-year, this function returns the CMIP5 solar constant and the 8 band fractions for the Chou solar code. These are based on annual values from 1610 to 2008 and a repeating cycle after 2008. For dates prior tp 1 January 1610, it returns the value at the start of 1610.

DayOfYear is expected to have a value of 1.00 at 0:00 UTC Jan 1 and leap years are acounted for by repeating the 366th day on January first of the following year.

The SC values have been multiplied by .9965 to calibrate to the SOURCE/TIM scale. The SC values include the “background” variation.

@note Bug Band values for RRTMG not implemented

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: Year
integer, intent(in) :: DayOfYear
real, intent(out) :: SC
real, intent(out), optional :: HK(:)
integer, intent(out), optional :: rc

private subroutine MAPL_SunGetSolarConstantByTime(Time, SC, HK, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_Time), intent(inout) :: Time
real, intent(out) :: SC
real, intent(out), optional :: HK(:)
integer, intent(out), optional :: rc

private subroutine MAPL_SunGetSolarConstantFromNetcdfFile(CLOCK, fileName, SC, HK, MESOPHOT, JCALC4, rc)

Acquire the solar constant and the eight band fractions for the Chou solar code from an external NetCDF file. The initial configuration assumes monthly values beginning in January, and does not interpolate beyond the range of available data.

Bug

Band values for RRTMG not implemented

Arguments

Type IntentOptional Attributes Name
type(ESMF_Clock), intent(in) :: CLOCK
character(len=*), intent(in) :: fileName
real, intent(out) :: SC
real, intent(out), optional :: HK(:)
real, intent(out), optional :: MESOPHOT(:)
real, intent(out), optional :: JCALC4(:)
integer, intent(out), optional :: rc

private subroutine MAPL_SunGetSolarConstantFromNRLFile(CLOCK, filename_in, SC, MG, SB, PersistSolar, rc)

Acquire the TSI, Mg, and SB from file.

@note Bug Band values for RRTMG not implemented

Arguments

Type IntentOptional Attributes Name
type(ESMF_Clock), intent(in) :: CLOCK
character(len=*), intent(in) :: filename_in
real, intent(out) :: SC
real, intent(out) :: MG
real, intent(out) :: SB
logical, intent(in), optional :: PersistSolar
integer, intent(out), optional :: rc