9 #error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
16 #include "../datastructures/datastructures.h"
18 #include "../classes/Params/Parameters.h"
19 #include "../classes/gauss/Gauss.h"
24 #define NUMVERTICES2D 3
34 this->
name = xNew<char>(strlen(in_name)+1);
35 xMemCpy<char>(this->
name,in_name,strlen(in_name)+1);
60 void Radar::Marshall(
char** pmarshalled_data,
int* pmarshalled_data_size,
int marshall_direction){
61 _error_(
"not implemented yet!");
74 char* name2=xNew<char>(strlen(this->
name)+1);
123 IssmDouble temperature, ice_period, attenuation_rate_M07_pureice, attenuation_rate_M07_H, attenuation_rate_M07_Cl, attenuation_rate_M07_NH;
124 IssmDouble attenuation_rate_W97_pureice, attenuation_rate_W97_H, attenuation_rate_W97_Cl, attenuation_rate_W97_NH;
155 m1=(10*log10(e))/(1000*eps0*sqrt(eps_ice)*c);
159 m5=cond_Cl_M07*mol_Cl;
161 m7=cond_NH_M07*mol_NH;
165 attenuation_rate_M07_pureice=m1*sig_ice_M07*exp(m2*((1/Tr_M07)-(1/temperature)));
166 attenuation_rate_M07_H=m3*exp(m4*((1/Tr_M07)-(1/temperature)));
167 attenuation_rate_M07_Cl=m5*exp(m6*((1/Tr_M07)-(1/temperature)));
168 attenuation_rate_M07_NH=m7*exp(m8*((1/Tr_M07)-(1/temperature)));
169 attenuation_rate_macgregor[iv]=attenuation_rate_M07_pureice+attenuation_rate_M07_H+attenuation_rate_M07_Cl+attenuation_rate_M07_NH;
175 w5=cond_Cl_W97*mol_Cl;
177 w7=cond_NH_W97*mol_NH;
181 attenuation_rate_W97_pureice=m1*sig_ice_W97*exp(w2*((1/Tr_W97)-(1/temperature)));
182 attenuation_rate_W97_H=w3*exp(w4*((1/Tr_W97)-(1/temperature)));
183 attenuation_rate_W97_Cl=w5*exp(w6*((1/Tr_W97)-(1/temperature)));
184 attenuation_rate_W97_NH=w7*exp(w8*((1/Tr_W97)-(1/temperature)));
185 attenuation_rate_wolff[iv]=attenuation_rate_W97_pureice+attenuation_rate_W97_H+attenuation_rate_W97_Cl+attenuation_rate_W97_NH;
207 IssmDouble attenuation_rate_macgregor, attenuation_rate_wolff, attenuation_total_M07, attenuation_total_W97;
208 IssmDouble thickness, surface, z, temperature, geometric_loss, reflectivity;
209 IssmDouble rho_ice, gravity, pressure, pressure_melting_pt, frozen_temp, basal_temp, basal_pmp;
226 atten_input_M07->
GetInputValue(&attenuation_rate_macgregor,gauss);
227 atten_input_W97->
GetInputValue(&attenuation_rate_wolff,gauss);
234 depth[iv]=(surface-z)/1e3;
237 attenuation_total_M07=attenuation_rate_macgregor*depth[iv];
238 attenuation_total_W97=attenuation_rate_wolff*depth[iv];
241 geometric_loss=10*log10((depth[iv]+aircraft_elev)/sqrt(eps_ice));
244 power_M07[iv]=-geometric_loss-attenuation_total_M07;
245 power_W97[iv]=-geometric_loss-attenuation_total_W97;
253 pressure=rho_ice*gravity*thickness;
254 pressure_melting_pt=t_tp-gamma*(pressure-p_tp);
256 if((temperature-pressure_melting_pt)<=-1){
259 else if((temperature-pressure_melting_pt)>-1 && (temperature-pressure_melting_pt)<0){
265 power_M07[iv]=power_M07[iv]+reflectivity;
266 power_W97[iv]=power_W97[iv]+reflectivity;