Comments (1)
Since the Vant formulation is an effective permittivity formulation, the procedure is very different from a raw material permittivity that is used to describe background and scatterers's permittivity. In fact, you need to 1) move this formulation in a file with a name stating that it is a mixing formula, for instance saline_ice_mixing_formula.py (based on the file permittivities/snow_mixing_formula.py for an example) and 2) redefine a new electromagnetic model (emmodel) which is possible in SMRT, but a detailed understanding of the implications is first necessary.
-
In principle, IBA, DMRT and SCE, the three main theory-based "emmodels" in SMRT are tied to a specific mixing formulation. This is indeed a part of the theoretical derivation of these models. This is why changing how these models do their mixing (by using an empirical mixing formula ) is a bit odd, and in fact is changing the model itself, and may break the consistency of the model. This is not a minor operation, and I'd recommend to make it clear in any publication that a change has been done, and also in the way to name the model in the figure legend for instance to avoid misunderstanding by the readers. For instance, Because of this tight link between the electromagnetic model and its effective permittivity, the latter is actually computed in the emmodels in SMRT, and can not be defined as input in make_medium (as opposed to the raw material permittivities for the background and the scatterers).
-
Nevertheless, SMRT is flexible, it allows to change the effective permittivity because there may be good reasons to use a measured effective permittivity, for instance when it provides an increased accuracy that is greater than the damage caused by the inconsistency described in point 1. L-band is certainly the domain where this makes more sense, but I don't know how to evaluate the inconsistency. Whatever the reasons, it is feasible in SMRT by defining a new emmodel.
2a) One approach consists in really creating a new emmodel. For that copy a file like iba.py -> my-iba-derived-model.py and edit as much as you want. Then use this new model with:
make_model("my-iba-derived-model", "dort")
2b) The second approach uses a function called "derived_IBA" (defined in emmodels/iba.py, and the same apply to SCE) and more generally derived_EMModel (defined in emmodels/common.py) which automatically creates a derived IBA model using a different effective_permittivity_model function.
You can use it like this:
make_model(derived_IBA(my_empiricall_mixing_formula), "dort") or more generally
make_model(derived_EMModel(WhateverModelClass, my_empiricall_mixing_formula), "dort")
-
But... this is really tricky. Indeed, the effective permittivity drives the absorption, but the computation of scattering requires the background and scatterer permittivities. It means that even if you set an empirical effective permittivity using either points 2a or 2b, the emmodel still uses the background and scatterer permittivities to compute scattering! This is why these two permittivity must be provided as input and are used for the scattering. It is not an issue when working at L-band, because scattering is usually negligible. Conversely playing with the effective permittivity is not recommended at high frequencies !
-
Now, if/when scattering is negligible, why use IBA or SCE or whatever complex models in an inconsistent way ? It is clearer imho to use the NonScattering emmodel (see directory emmodel)
In your case, I'd recommend to use:
make_model(derived_EMModel(NonScattering, my_empiricall_mixing_formula), "dort")
from smrt.
Related Issues (14)
- Using the model for non snow packs HOT 3
- Bug in make_medium.py HOT 1
- Substrate with geometrical_optics or iem_fung92 HOT 2
- Porosity ranges 0-1 HOT 1
- Backscatter at nadir (zero degrees) from specular reflector HOT 5
- Issues with iem_fung92_interface HOT 3
- crosspol -ve intensity HOT 1
- how to use non-default wet snow permittivity formula with IBA HOT 2
- Problem of Diagonalisation Error HOT 3
- IEM interface in SMRT HOT 4
- Some expectations HOT 1
- implementing geometrical optics for rough interfaces within ice column HOT 4
- Diagonalisation problem in SMRT, active microwave mode HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from smrt.