37 subroutine num_coord(lambda_val, phi_val, x_val, y_val)
45 real(dp),
intent(in) :: lambda_val, phi_val
47 real(dp),
intent(out) :: x_val, y_val
49 #if (GRID==0 || GRID==1)
54 lambda0, phi0, x_val, y_val)
71 lambda0, phi0, x_val, y_val)
76 real(dp),
intent(in) :: lambda_val, phi_val, a, b, lambda0, phi0
77 real(dp),
intent(out) :: x_val, y_val
80 integer(i4b) :: sign_phi0
81 real(dp) :: phi_aux, phi0_aux
82 real(dp) :: e, mc, t, tc, kp, rho, phi_p
83 real(dp) :: sinphi0, sinlambda0, cosphi0, coslambda0
85 real(dp),
parameter :: pi = 3.141592653589793_dp, &
90 else if (phi0 < (-eps))
then
93 stop
' num_coord: phi0 must be different from zero!'
96 phi_aux = phi_val * sign_phi0
97 phi0_aux = phi0 * sign_phi0
99 e=sqrt((a**2-b**2)/(a**2))
101 sinphi0 = sin(phi0_aux)
102 sinlambda0 = sin(lambda0)
103 cosphi0 = cos(phi0_aux)
104 coslambda0 = cos(lambda0)
106 mc=cosphi0/sqrt(1.0_dp-e*e*sinphi0*sinphi0)
107 t=sqrt(((1.0_dp-sin(phi_aux))/(1.0_dp+sin(phi_aux)))* &
108 ((1.0_dp+e*sin(phi_aux))/(1.0_dp-e*sin(phi_aux)))**e)
109 tc=sqrt(((1.0_dp-sinphi0)/(1.0_dp+sinphi0))* &
110 ((1.0_dp+e*sinphi0)/(1.0_dp-e*sinphi0))**e)
113 x_val = rho*sin(lambda_val-lambda0)
114 y_val = -sign_phi0 * rho*cos(lambda_val-lambda0)
subroutine stereo_forw_ellipsoid(lambda_val, phi_val, A, B, lambda0, phi0, x_val, y_val)
Forward stereographic projection for an ellipsoidal planet.
Declarations of kind types for SICOPOLIS.
subroutine num_coord(lambda_val, phi_val, x_val, y_val)
Computation of position (x,y) in the numerical domain for longitude lambda and latitude phi (in rad)...
Declarations of global variables for SICOPOLIS (for the ANT domain).
Declarations of global variables for SICOPOLIS.