93 const Numeric theta = 1 - 300 / t;
94 const Numeric e0 = 77.66 - 103.3 * theta;
96 const Numeric f1 = 20.2 + 146 * theta + 316 * theta * theta;
100 for(
Index iv=0; iv<nf; iv++ )
102 const Complex ifGHz( 0.0, f_grid[iv]/1e9 );
105 (e0-e1) / (
Numeric(1.0)-ifGHz/f1) );
107 complex_n(iv,0) = n.real();
108 complex_n(iv,1) = n.imag();
145 const Agenda& refr_index_air_agenda,
154 Numeric rtp_pressure, rtp_temperature;
167 itw2p( dummy, p_grid, gp, itw );
168 rtp_pressure = dummy[0];
172 rtp_temperature = dummy[0];
182 rtp_vmr[is] = dummy[0];
186 rtp_pressure, rtp_temperature, rtp_vmr,
187 f_grid, refr_index_air_agenda );
225 const Agenda& refr_index_air_agenda,
236 Numeric rtp_pressure, rtp_temperature;
244 gridpos( gp_lat, lat_grid, lat );
260 itw2p( dummy, p_grid, gp_p, itw );
261 rtp_pressure = dummy[0];
267 rtp_temperature = dummy[0];
277 rtp_vmr[is] = dummy[0];
282 rtp_pressure, rtp_temperature, rtp_vmr,
283 f_grid, refr_index_air_agenda );
319 const Agenda& refr_index_air_agenda,
332 Numeric rtp_pressure, rtp_temperature;
340 gridpos( gp_lat, lat_grid, lat );
341 gridpos( gp_lon, lon_grid, lon );
342 z_at_latlon( z_grid, p_grid, lat_grid, lon_grid, z_field,
343 gp_lat[0], gp_lon[0] );
358 itw2p( dummy, p_grid, gp_p, itw );
359 rtp_pressure = dummy[0];
364 interp( dummy, itw, t_field, gp_p, gp_lat, gp_lon );
365 rtp_temperature = dummy[0];
376 rtp_vmr[is] = dummy[0];
380 rtp_pressure, rtp_temperature, rtp_vmr,
381 f_grid, refr_index_air_agenda );
417 const Agenda& refr_index_air_agenda,
427 refr_index_air_agenda, p_grid, refellipsoid,
428 z_field, t_field, vmr_field, f_grid, r );
430 const Numeric n0 = refr_index_air;
434 refr_index_air_agenda, p_grid, refellipsoid,
435 z_field, t_field, vmr_field, f_grid, r+1 );
437 dndr = refr_index_air - n0;
483 const Agenda& refr_index_air_agenda,
495 refr_index_air_agenda, p_grid, lat_grid, refellipsoid,
496 z_field, t_field, vmr_field, f_grid, r, lat );
498 const Numeric n0 = refr_index_air;
502 lat_grid, refellipsoid, z_field, t_field, vmr_field,
505 dndr = refr_index_air - n0;
510 lat_grid, refellipsoid, z_field, t_field, vmr_field,
511 f_grid, r, lat+dlat );
513 dndlat = ( refr_index_air - n0 ) / (
DEG2RAD * dlat * r );
564 const Agenda& refr_index_air_agenda,
578 refr_index_air_agenda, p_grid, lat_grid, lon_grid,
579 refellipsoid, z_field, t_field, vmr_field, f_grid,
582 const Numeric n0 = refr_index_air;
586 lat_grid, lon_grid, refellipsoid, z_field, t_field,
587 vmr_field, f_grid, r+1, lat, lon );
589 dndr = refr_index_air - n0;
594 lat_grid, lon_grid, refellipsoid, z_field, t_field,
595 vmr_field, f_grid, r, lat+dlat, lon );
597 dndlat = ( refr_index_air - n0 ) / (
DEG2RAD * dlat * r );
602 lat_grid, lon_grid, refellipsoid, z_field, t_field,
603 vmr_field, f_grid, r, lat, lon+dlon);
605 dndlon = ( refr_index_air - n0 ) /
INDEX Index
The type to use for all integer numbers and indices.
void get_refr_index_2d(Workspace &ws, Numeric &refr_index_air, Numeric &refr_index_air_group, const Agenda &refr_index_air_agenda, ConstVectorView p_grid, ConstVectorView lat_grid, ConstVectorView refellipsoid, ConstTensor3View z_field, ConstTensor3View t_field, ConstTensor4View vmr_field, ConstVectorView f_grid, const Numeric &r, const Numeric &lat)
get_refr_index_2d
void get_refr_index_3d(Workspace &ws, Numeric &refr_index_air, Numeric &refr_index_air_group, const Agenda &refr_index_air_agenda, ConstVectorView p_grid, ConstVectorView lat_grid, ConstVectorView lon_grid, ConstVectorView refellipsoid, ConstTensor3View z_field, ConstTensor3View t_field, ConstTensor4View vmr_field, ConstVectorView f_grid, const Numeric &r, const Numeric &lat, const Numeric &lon)
A class implementing complex numbers for ARTS.
Numeric interp(ConstVectorView itw, ConstVectorView a, const GridPos &tc)
Red 1D Interpolate.
Header file for interpolation.cc.
Numeric refell2d(ConstVectorView refellipsoid, ConstVectorView lat_grid, const GridPos gp)
refell2d
void get_refr_index_1d(Workspace &ws, Numeric &refr_index_air, Numeric &refr_index_air_group, const Agenda &refr_index_air_agenda, ConstVectorView p_grid, ConstVectorView refellipsoid, ConstTensor3View z_field, ConstTensor3View t_field, ConstTensor4View vmr_field, ConstVectorView f_grid, const Numeric &r)
get_refr_index_1d
Index nelem() const
Returns the number of elements.
A constant view of a Tensor4.
void complex_n_water_liebe93(Matrix &complex_n, const Vector &f_grid, const Numeric &t)
complex_n_water_liebe93
std::complex< Numeric > Complex
void gridpos(ArrayOfGridPos &gp, ConstVectorView old_grid, ConstVectorView new_grid, const Numeric &extpolfac)
Set up a grid position Array.
NUMERIC Numeric
The type to use for all floating point numbers.
void refr_index_air_agendaExecute(Workspace &ws, Numeric &refr_index_air, Numeric &refr_index_air_group, const Numeric rtp_pressure, const Numeric rtp_temperature, const Vector &rtp_vmr, const Vector &f_grid, const Agenda &input_agenda)
void refr_gradients_3d(Workspace &ws, Numeric &refr_index_air, Numeric &refr_index_air_group, Numeric &dndr, Numeric &dndlat, Numeric &dndlon, const Agenda &refr_index_air_agenda, ConstVectorView p_grid, ConstVectorView lat_grid, ConstVectorView lon_grid, ConstVectorView refellipsoid, ConstTensor3View z_field, ConstTensor3View t_field, ConstTensor4View vmr_field, ConstVectorView f_grid, const Numeric &r, const Numeric &lat, const Numeric &lon)
refr_gradients_3d
void z_at_latlon(VectorView z, ConstVectorView p_grid, ConstVectorView lat_grid, ConstVectorView lon_grid, ConstTensor3View z_field, const GridPos &gp_lat, const GridPos &gp_lon)
z_at_latlon
void z_at_lat_2d(VectorView z, ConstVectorView p_grid, ConstVectorView lat_grid, ConstMatrixView z_field, const GridPos &gp_lat)
z_at_lat_2d
Header file for special_interp.cc.
void resize(Index n)
Assignment operator from VectorView.
A constant view of a Tensor3.
A constant view of a Vector.
void refr_gradients_1d(Workspace &ws, Numeric &refr_index_air, Numeric &refr_index_air_group, Numeric &dndr, const Agenda &refr_index_air_agenda, ConstVectorView p_grid, ConstVectorView refellipsoid, ConstTensor3View z_field, ConstTensor3View t_field, ConstTensor4View vmr_field, ConstVectorView f_grid, const Numeric &r)
refr_gradients_1d
void refr_gradients_2d(Workspace &ws, Numeric &refr_index_air, Numeric &refr_index_air_group, Numeric &dndr, Numeric &dndlat, const Agenda &refr_index_air_agenda, ConstVectorView p_grid, ConstVectorView lat_grid, ConstVectorView refellipsoid, ConstTensor3View z_field, ConstTensor3View t_field, ConstTensor4View vmr_field, ConstVectorView f_grid, const Numeric &r, const Numeric &lat)
refr_gradients_2d
Index nbooks() const
Returns the number of books.
void interpweights(VectorView itw, const GridPos &tc)
Red 1D interpolation weights.
void itw2p(VectorView p_values, ConstVectorView p_grid, const ArrayOfGridPos &gp, ConstMatrixView itw)
itw2p
void resize(Index r, Index c)
Resize function.