CLASSIC
Canadian Land Surface Scheme including Biogeochemical Cycles
metModule.f90 File Reference

Performs disaggregation of input meteorological forcing arrays to the model physics timestep. More...

Modules

module  metdisaggmodule
 Performs disaggregation of input meteorological forcing arrays to the model physics timestep (commonly half-hour)
 

Functions/Subroutines

subroutine, public metdisaggmodule::makebig (vcount, vcountPlus)
 Expands the meteorological variable arrays so they can accomodate the amount of timesteps on the physics timestep. Also copies the first day and last day values into the array to give a startday -1 and endday + 1 values for the interpolations. While we are at it we also expand the time array. More...
 
subroutine, public metdisaggmodule::stepinterpolation (var)
 Step interpolation applies the same value across all physics timesteps.
 
subroutine, public metdisaggmodule::diurnaldistribution (shortWave, latitude)
 Diurnal distribution over the entire timespan.
 
real function, dimension(:), allocatable, public metdisaggmodule::zenithangles (timesteps, day, latRad, lastDOY, countr)
 Find zenith angles depending on day of year and latitude. More...
 
real function, dimension(:), allocatable, public metdisaggmodule::distributediurnally (zenithAngles, daylightIndices, zenithNoon, swMean, countr)
 Determines correction for input values based on daylight indices and zenith angles.
 
subroutine, public metdisaggmodule::timeshift (timeZoneOffset, vcount, vcountPlus)
 Perform a circular shift on the met arrays to account for the timezone the present cell is in. Also trims the met arrays to remove the two extra days added for the interpolations. More...
 
subroutine, public metdisaggmodule::disaggmet (longitude, latitude)
 Main subroutine to disaggregate input meteorology to that of the physics timestep. More...
 
subroutine, public metdisaggmodule::linearinterpolation (var)
 This method splits the dataset into intervals and performs linear interpolation of each individual interval.
 
subroutine, public metdisaggmodule::precipdistribution (var)
 Precipitation distribution occurs randomly, but conservatively, over the number of wet timesteps. More...
 
integer function, dimension(:), allocatable, public metdisaggmodule::daylightindices (zenithAngles, countr)
 Find day lengths depending on zenith angles.
 
real function, public metdisaggmodule::timezone (longitude)
 Find the local timezone relative to Greenwich. More...
 

Variables

integer metdisaggmodule::numberphysinmet
 Number of physics timesteps that fit into one MET input file timestep.
 
integer metdisaggmodule::numbermetinputinday
 Number of MET input file timesteps that fit into one day.
 
integer metdisaggmodule::tslongcount
 Number of physics timesteps in the original met arrays.
 
integer metdisaggmodule::shortsteps
 Number of physics timesteps in one day.
 
logical, parameter metdisaggmodule::alllocaltime = .false.
 If your gridded meteorology is relative to Greenwich then set this to false. If the meteorology is all in local time set it to true. To determine which, look at your shortwave radiation. As you move through time do you see the sun move across longitudes (allLocalTime = .false.) or across latitudes (allLocalTime = .true.). It seems reanalysis will generally be false while climate model outputs are generally true.
 

Detailed Description

Performs disaggregation of input meteorological forcing arrays to the model physics timestep.

Author
V. Arora, J. Melton