Comments (4)
Hi, so my recommendation in this case would be to use the
pysolar
library to build something as similar as possible to the toa_incident_solar_radiation
To add a comment here, I'm working on this problem myself. pysolar
is specialized for the idea of solar power deployments at the bottom of the atmosphere, so it needs some modification to give reasonable top of atmosphere radiation.
Some of the internal routines can give the solar angle at a particular location and time, then I found a Sandia National Labs page describing the extraterrestrial radiation component taking into account the eccentricity of Earth's orbit.
There's still a residual mismatch (of a fraction of a percent) with the ECMWF data, but it seems that IFS/ERA5 may have used a more complicated solar model that takes the solar cycle into account.
As an additional note about the data, toa_incident_solar_radiation
is the accumulated solar radiation over the 1h leading up to the specified time. For example, for an analysis or forcing dataset describing 2022-Jan-1 6Z, the solar radiation field would be the integrated radiation from 5Z to 6Z. For a quarter-degree grid, integrating radiation with a 1m timestep over this period gives a smooth field without obvious stair-stepping (0.25 deg x 24h / 360 deg = 1m). Taking an instantaneous radiation figure and multiplying by 3600s (converting W to J) will give a radiation field with the wrong shape.
from graphcast.
Hi, so my recommendation in this case would be to use the pysolar
library to build something as similar as possible to the toa_incident_solar_radiation, integrated for one hour up to the time of the input/target. The model should not be extremely sensitive to this parameter, and perhaps if you can get it to be below 1% difference from that of ERA5, the model is probably going to cope ok with it. You can always check against one of the dates for which ERA5 is available.
Alternatively, you may want ask ECMWF in case they already have some open source code, or can make available some code to compute that feature for any arbitrary date.
We may eventually switch to our own pysolar implementation for computing this, but it is unclear of what the timeline for open sourcing this code this would be.
Hope this helps!
from graphcast.
Hi, so my recommendation in this case would be to use the
pysolar
library to build something as similar as possible to the toa_incident_solar_radiation, integrated for one hour up to the time of the input/target. The model should not be extremely sensitive to this parameter, and perhaps if you can get it to be below 1% difference from that of ERA5, the model is probably going to cope ok with it. You can always check against one of the dates for which ERA5 is available.Alternatively, you may want ask ECMWF in case they already have some open source code, or can make available some code to compute that feature for any arbitrary date.
We may eventually switch to our own pysolar implementation for computing this, but it is unclear of what the timeline for open sourcing this code this would be.
Hope this helps!
Thank you very much! I will have a try with your suggestions.
from graphcast.
Hi, so my recommendation in this case would be to use the
pysolar
library to build something as similar as possible to the toa_incident_solar_radiationTo add a comment here, I'm working on this problem myself.
pysolar
is specialized for the idea of solar power deployments at the bottom of the atmosphere, so it needs some modification to give reasonable top of atmosphere radiation.Some of the internal routines can give the solar angle at a particular location and time, then I found a Sandia National Labs page describing the extraterrestrial radiation component taking into account the eccentricity of Earth's orbit.
There's still a residual mismatch (of a fraction of a percent) with the ECMWF data, but it seems that IFS/ERA5 may have used a more complicated solar model that takes the solar cycle into account.
As an additional note about the data,
toa_incident_solar_radiation
is the accumulated solar radiation over the 1h leading up to the specified time. For example, for an analysis or forcing dataset describing 2022-Jan-1 6Z, the solar radiation field would be the integrated radiation from 5Z to 6Z. For a quarter-degree grid, integrating radiation with a 1m timestep over this period gives a smooth field without obvious stair-stepping (0.25 deg x 24h / 360 deg = 1m). Taking an instantaneous radiation figure and multiplying by 3600s (converting W to J) will give a radiation field with the wrong shape.
Have you solved this problem? I am troubled by this problem, is there any demo code?
from graphcast.
Related Issues (20)
- Jax Error only when TPU-enabled runtime selected HOT 2
- Predicting Forecast for 10 Days , 5 Days HOT 2
- Obtaining successive forecasts based on previous predictions HOT 1
- Are forcing variables repeated? HOT 2
- Haiku needs all `hk.Module` must be initialized inside an `hk.transform` HOT 1
- About loss weights HOT 3
- GPU / TPU memory requirements for training HOT 3
- [GraphCast Operational Model] Issue with Negative Precipitation Data in GraphCast Operational Model Output HOT 2
- How to get the data in the paper? HOT 1
- weights license - use of graphcast HOT 5
- Graphcast error on Mac os HOT 1
- Problems feeding data to operational model: Target variable geopotential_at_surface must be time-dependent HOT 1
- when is the prediction result of this demo? HOT 2
- Forecasting beyond 10 days HOT 8
- Cyclone tracking
- There are some questions about forecasting.
- Fine-Tuning Strategy for the GraphCast Operational Model HOT 2
- About the atmospheric variable “Vertical velocity”
- about the autoregressive finetuning
- How to train a model by myself HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from graphcast.