Closed timspainNERSC closed 1 year ago
The components should be grid-aligned.
We discussed this issue at the WP1 meeting today. Thomas says that the natural (and most efficient) way for the dynamics would be to store the vectors with the orientation used by the dynamics. Usually, that would use a spherical coordinate system with the pole over Greenland.
This means we would need to do some vector rotation somewhere along the way. But it's not clear to me yet where. So the cases I see are:
Input/coupler:
Output:
This leaves the question of which orientation the ERA5 files should use. I now think we should use the original E-N orientation (i.e., do no rotation in pre-processing) and do the rotation in-line. We must implement this anyway. We just have to be careful near the north pole!
@pminak @winzerle Where is the "Greenland coordinate system" defined?
In dynamics/src/include/ParametricMesh.hpp
It is RotatePoleToGreenland() and RotatePoleFromGreenland()
And it should be maybe rewritten at some time :-) I go to Cartesian, then I rotate and go back to spherical. I assume it can be done in one step?
Thomas
| Prof. Dr. Thomas Richter | Numerische Mathematik in den Anwendungen | Otto-von-Guericke Universität Magdeburg | numerics.ovgu.de | +49 391 67-57162 +49 176 615 612 26 (mobil)
On 3. Apr 2023, at 14:52, Einar Örn Ólason @.***> wrote:
We discussed this issue at the WP1 meeting today. Thomas says that the natural (and most efficient) way for the dynamics would be to store the vectors with the orientation used by the dynamics. Usually, that would use a spherical coordinate system with the pole over Greenland. This means we would need to do some vector rotation somewhere along the way. But it's not clear to me yet where. So the cases I see are: Input/coupler: • Winds: Generally oriented along east and north -> Rotated spherical coordinates. This is a trivial transformation. • Currents: Generally oriented along the x and y of the grid -> Spherical coordinates (E-N orientation) -> Rotated spherical coordinates. To go from the grid to E-N requires the angle between y and N (for example). There is no general formula for this, which must be included in the grid description file. Output: • How do we want the vectors to be oriented in the output? We usually use the grid orientation, but this annoys users. So we could go straight for E-N orientation. This leaves the question of which orientation the ERA5 files should use. I now think we should use the original E-N orientation (i.e., do no rotation in pre-processing) and do the rotation in-line. We must implement this anyway. We just have to be careful near the north pole! @pminak @winzerle Where is the "Greenland coordinate system" defined? — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>
My understanding is that the velocities in the Greenland displaced pole coordinate system mean that the components are the 'eastward' component along the rotated parallels for u and the 'northward' component along the rotated meridians for the v component. Is this correct?
The design for the TOPAZ/ERA forcings is that the that the data in the forcing files are supposed to be as close as possible to being directly usable. This would imply that the TOPAZ currents and ERA5 winds should be rotated into the Greenland displaced pole coordinate system in the python script.
On output, we have two targets: the restart file and the diagnostic outputs.
The restart file should have the ice velocities in the Greenland displaced pole coordinates, as a CG array. We will output the DG0 component in the immediate future. These fields will just be the values straight out of the dynamics.
The diagnostic output should provide u and v ice velocity components on all three possible coordinates:
Can XIOS do the vector rotation for us?
The ERA forcings merged as part of #203 contained wind vector components as u
and v
.
Currently the ERA forcing files only provide scalar wind speed, for the use of surface turbulent transport &c. The dynamics requires vector wind forcing.