ARTS  2.3.1285(git:92a29ea9-dirty)
tessem.cc File Reference

This file contains functions that are adapted from TESSEM2 code which is used to calculate surface emissivity. More...

#include "tessem.h"
#include "file.h"
#include "matpackI.h"
#include "mystring.h"

Go to the source code of this file.

Functions

void tessem_read_ascii (std::ifstream &is, TessemNN &net)
 
void tessem_prop_nn (VectorView &ny, const TessemNN &net, ConstVectorView nx)
 

Detailed Description

This file contains functions that are adapted from TESSEM2 code which is used to calculate surface emissivity.

The implementation is based on the Fortran code v1.0 developed by Catherine Prigent and Filipe Aires in the EUMETSAT Study on surface emissivity at microwave and sub-millimeter frequencies project EUM/CO/14/4600001473/CJA

Definition in file tessem.cc.

Function Documentation

◆ tessem_prop_nn()

void tessem_prop_nn ( VectorView ny,
const TessemNN net,
ConstVectorView  nx 
)

Tessem emissivity calculation

When using the default neural network parameter files from the Tessem 2 distribution, the input Vector should contain 5 elements:

  • Frequency (10e9-700e9) in Hz
  • Theta (0-90) Incidence angle in degrees
  • Windspeed (0-25) at 10m in m/s. Higher wind speed can be used but without garantee
  • Surface skin temperature (270-310) in K
  • Salinity (0.0-0.04) in kg/kg
Parameters
[out]nyCalculated emissivity.
[in]netNeural network parameters.
[in]nxInput data.

Definition at line 87 of file tessem.cc.

References TessemNN::nb_inputs, TessemNN::nb_outputs, ConstVectorView::nelem(), and _CS_basic_sstream_base< _CS_cT, _CS_Tr, _CS_Al >::str().

Referenced by surfaceTessem(), and TestTessem().

◆ tessem_read_ascii()

void tessem_read_ascii ( std::ifstream &  is,
TessemNN net 
)

Read TESSEM2 neural network parameters

Parameters
[in,out]isInput file stream
[out]netNeural network parameters

Definition at line 41 of file tessem.cc.

References TessemNN::b1, TessemNN::b2, i, TessemNN::nb_cache, TessemNN::nb_inputs, TessemNN::nb_outputs, Vector::resize(), Matrix::resize(), TessemNN::w1, TessemNN::w2, TessemNN::x_max, TessemNN::x_min, TessemNN::y_max, and TessemNN::y_min.

Referenced by TessemNNReadAscii().