forcings
The purpose of forcings is to provide fields with values that only depend on the grid cell and/or the time.
Because the source needs to generate fields on the same grids as the
other, it requires a template field. This is provided in the recipe with
the template
keyword:
input:
join:
- source1:
args1: value1
args2: value2
- forcings:
template: ${input.join.0.source1}
param:
- insolation
- cos_julian_day
- sin_julian_day
The value ${input.join.0.source1}
is the “path” to the first source,
starting from the root of the recipe. The path is composed of the of the
nodes in the recipe, separated by dots. If a node contains a list, the
index of the next node is added after the node name, starting from 0.
This is called a reference.
Warning
If you use the concat contruct to have different inputs for different time ranges, the template field point to a source in the same block of the concat where the forcing is mentioned.
The is a mean to provide the model with with space and time information during training and inference.
The following fields are available:
- latitude
Each grid point has the value of its latitude in degrees.
Range of values: \([-90, 90]\)
- cos_latitude
Each grid point has the value of \(cos(latitude/180*\pi)\). Unlike the latitude field, this field is periodic in space.
Range of values: \([-1, 1]\)
- sin_latitude
Each grid point has the value of \(sin(latitude/180*\pi)\). Unlike the latitude field, this field is periodic in space.
Range of values: \([-1, 1]\)
- longitude
Each grid point has the value of its longitude in degrees. Currently, the longitude are not normalised and the values are the ones provided by the source used as template.
Range of values: \([-180, 360)\)
- cos_longitude
Each grid point has the value of \(cos(longitude/180*\pi)\). Unlike the longitude field, this field is periodic in space.
Range of values: \([-1, 1]\)
- sin_longitude
Each grid point has the value of \(sin(longitude/180*\pi)\). Unlike the longitude field, this field is periodic in space.
Range of values: \([-1, 1]\)
- ecef_x
Each grid point has the value of the x coordinate of the Earth-Centered, Earth-Fixed (ECEF) coordinate system. The Earth is assumed to be a perfect sphere with a radius of 1.
Range of values: \([-1, 1]\)
- ecef_y
Each grid point has the value of the y coordinate of the Earth-Centered, Earth-Fixed (ECEF) coordinate system. The Earth is assumed to be a perfect sphere with a radius of 1.
Range of values: \([-1, 1]\)
- ecef_z
Each grid point has the value of the z coordinate of the Earth-Centered, Earth-Fixed (ECEF) coordinate system. The Earth is assumed to be a perfect sphere with a radius of 1.
Range of values: \([-1, 1]\)
- julian_day
The Julian day is the fractional number of days since the 1st or January at 00:00 of the current year. For example, the Julian day of 1st or January at 12:00 is 0.5. Every grid point has the same value of the Julian day at the given date.
Range of values: \([0, 365)\) on a non-leap year and \([0, 366)\) on a leap year
- cos_julian_day
Each grid point has the value of \(cos(julian\_day/365.25*2*\pi)\). Unlike the julian_day field, this field is periodic in time.
Range of values: \([-1, 1]\)
- sin_julian_day
Each grid point has the value of \(sin(julian\_day/365.25*2*\pi)\). Unlike the julian_day field, this field is periodic in time.
Range of values: \([-1, 1]\)
- local_time
Each grid point has the value of the local time in hours. The computation of the local time is solely based on the longitude of the grid point (i.e. no time zone information is used). The local time is computed as the fractional part of the longitude in hours, starting from 0 at the Greenwich meridian. So, for example, a grid point with a longitude of 0 will have a local time of 12.5 at 12:30 UTC.
Range of values: \([0, 24)\)
- cos_local_time
Each grid point has the value of \(cos(local\_time/24*2*\pi)\). Unlike the julian_day field, this field is periodic in time.
Range of values: \([-1, 1]\)
- sin_local_time
Each grid point has the value of \(sin(local\_time/24*2*\pi)\). Unlike the julian_day field, this field is periodic in time.
Range of values: \([-1, 1]\)
- insolation
This is an alias for the cos_solar_zenith_angle field.
Range of values: \([?, ?]\)
- cos_solar_zenith_angle
This is an alias for the insolation field. See earthkit.meteo for more information.
Range of values: \([?, ?]\)
- toa_incident_solar_radiation
Top of atmosphere incident solar radiation. See earthkit.meteo for more information.
Range of values: \([?, ?]\)