@spiceErrorCheck<EOL>def srfnrm(method, target, et, fixref, srfpts):
method = stypes.stringToCharP(method)<EOL>target = stypes.stringToCharP(target)<EOL>et     = ctypes.c_double(et)<EOL>fixref = stypes.stringToCharP(fixref)<EOL>npts   = ctypes.c_int(len(srfpts))<EOL>srfpts = stypes.toDoubleMatrix(srfpts)<EOL>normls = stypes.emptyDoubleMatrix(<NUM_LIT:3>, npts.value)<EOL>libspice.srfnrm_c(method, target, et, fixref, npts, srfpts, normls)<EOL>return stypes.cMatrixToNumpy(normls)<EOL>
Map array of surface points on a specified target body to 
the corresponding unit length outward surface normal vectors. 

The surface of the target body may be represented by a triaxial 
ellipsoid or by topographic data provided by DSK files. 

https://naif.jpl.nasa.gov/pub/naif/toolkit_docs/C/cspice/srfnrm_c.html

:param method: Computation method.
:type method: str
:param target: Name of target body. 
:type target: str
:param et: Epoch in TDB seconds past J2000 TDB. 
:type et: float
:param fixref: Body-fixed, body-centered target body frame. 
:type fixref: str
:param srfpts: Array of surface points.
:type srfpts: 3xM-Element Array of floats
:return: Array of outward, unit length normal vectors.
:rtype: 3xM-Element Array of floats