| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=wp), | private, | parameter | :: | pi | = | 4._wp*atan(1._wp) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | year | |||
| integer, | intent(in) | :: | month |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | year | |||
| integer, | intent(in) | :: | month | |||
| integer, | intent(in) | :: | day |
computes sza in radians CALCULATE SOLAR ZENITH ANGLE OVER A GIVEN GET OF LAT/LON
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | year | |||
| integer, | intent(in) | :: | month | |||
| integer, | intent(in) | :: | day | |||
| real(kind=wp), | intent(in) | :: | UTsec | |||
| real(kind=wp), | intent(in) | :: | glat | |||
| real(kind=wp), | intent(in) | :: | glon |
GENERATE A FILENAME STRING OUT OF A GIVEN DATE/TIME
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | outdir | |||
| integer, | intent(in) | :: | ymd(3) | |||
| class(*), | intent(in) | :: | UTsec |
file stem is exactly 21 characters long, per Matt Z's de facto spec. FIXME: until we go to integer UTsec (microsec) we round to nearest microsecond FIXME: This corner case is from not using integers for microseconds
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | ymd(3) | |||
| class(*), | intent(in) | :: | UTsec | UTC second: real [0.0 .. 86400.0) |
increment datetime by dtsec
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=wp), | intent(in) | :: | dtsec | seconds to increment |
||
| integer, | intent(inout) | :: | ymd(3) | year, month, day of month |
||
| real(kind=wp), | intent(inout) | :: | UTsec | seconds since midnight UTC |
increment date if needed, according to day that is, if day is beyond month, increment month and year if needed wrap months wrap days
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(inout) | :: | year | |||
| integer, | intent(inout) | :: | month | |||
| integer, | intent(inout) | :: | day |