Changeset 24211


Ignore:
Timestamp:
10/09/19 11:18:26 (5 years ago)
Author:
wchu28
Message:

BUG: fix bug for attenuation

Location:
issm/trunk-jpl/src/c/classes
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/classes/Radar.cpp

    r24207 r24211  
    8888}
    8989        /*}}}*/
    90 IssmDouble Radar::ComputeRadarAttenuation(Element* element){/*{{{*/
     90void Radar::ComputeRadarAttenuation(Element* element){/*{{{*/
    9191        //int         numvertices = element->GetNumberOfVertices();
    9292        IssmDouble  eps0=8.85418782e-12;
     
    113113        IssmDouble  E_Cl_W97=3.6800e-20;
    114114        IssmDouble  E_NH=3.6800e-20;
     115        IssmDouble  mol_H_hol=1.6;
     116        IssmDouble  mol_H_lgp=0.2;
     117        IssmDouble  mol_Cl_hol=0.4;
     118        IssmDouble  mol_Cl_lgp=1.8;
     119        IssmDouble  mol_NH_hol=0.5;
     120        IssmDouble  mol_NH_lgp=0.4;
    115121        IssmDouble  mol_H, mol_Cl, mol_NH;
    116122        IssmDouble  attenuation_rate_macgregor[NUMVERTICES];
    117123        IssmDouble  attenuation_rate_wolff[NUMVERTICES];
    118         IssmDouble  temperature, attenuation_rate_M07_pureice, attenuation_rate_M07_H, attenuation_rate_M07_Cl, attenuation_rate_M07_NH;
     124        IssmDouble  temperature, ice_period, attenuation_rate_M07_pureice, attenuation_rate_M07_H, attenuation_rate_M07_Cl, attenuation_rate_M07_NH;
    119125        IssmDouble  attenuation_rate_W97_pureice, attenuation_rate_W97_H, attenuation_rate_W97_Cl, attenuation_rate_W97_NH;
    120126        IssmDouble  m1, m2, m3, m4, m5, m6, m7, m8;
     
    124130        /*Retrieve all inputs we will be needing: */
    125131        Input* temp_input=element->GetInput(TemperatureEnum); _assert_(temp_input);
     132        Input* ice_period_input=element->GetInput(RadarIcePeriodEnum); _assert_(ice_period_input);
    126133
    127134        /* Start looping on the number of vertices: */
     
    133140                /*Get ice temperature: */
    134141                temp_input->GetInputValue(&temperature,gauss);
    135 
    136                 mol_H=1.6;
    137                 mol_Cl=0.4;
    138                 mol_NH=0.5;
     142                ice_period_input->GetInputValue(&ice_period,gauss);
     143
     144                if(ice_period>0){;
     145                        mol_H=mol_H_hol;
     146                        mol_Cl=mol_Cl_hol;
     147                        mol_NH=mol_NH_hol;
     148                        }
     149                else{
     150                        mol_H=mol_H_lgp;
     151                        mol_Cl=mol_Cl_lgp;
     152                        mol_NH=mol_NH_lgp;
     153                }
    139154
    140155                /*Compute M07 radar conductivity constant: */
     
    180195
    181196}/*}}}*/
    182 IssmDouble Radar::ComputeRadarPower(Element* element){/*{{{*/
     197void Radar::ComputeRadarPower(Element* element){/*{{{*/
    183198
    184199        IssmDouble  *xyz_list=NULL;
  • issm/trunk-jpl/src/c/classes/Radar.h

    r24205 r24211  
    3636                char* Name();
    3737                IssmDouble Response(FemModel* femmodel);
    38                 IssmDouble ComputeRadarAttenuation(Element* element);
    39                 IssmDouble ComputeRadarPower(Element* element);
     38                void ComputeRadarAttenuation(Element* element);
     39                void ComputeRadarPower(Element* element);
    4040};
    4141#endif  /* _RADAR_H_ */
Note: See TracChangeset for help on using the changeset viewer.