-
Notifications
You must be signed in to change notification settings - Fork 0
Output values of MBio and MDispersed (in .sro file) are a function of number of particles (NBR_PARTIC) #1
Comments
Evaluate differences between MDispersed, Bio, and MEvaporated
Values are written to .sro via the
Nothing fishy here. Go fish! MDispersedModuleLagrangian.F90
MEvaporatedModuleOli_0D.F90: Subroutine Evaporated
Asideline 11187 shows that
|
MassOil vs. MassINIExploring the difference between these two as I think it’s the cause of the NBR_PARTIC error lays in the difference between these two. ModeulOil_0D.F90
Although it IS accounted for in removing from dispersed mass:
subroutine OilInternalProcessesMassINI is passed in as a variable to subroutine OilInternalProcesses, MassOil is not. MassINI is set to Me%Var%MassINI |
Continuing on yesterday’s exploration of the usage of MassOil vs MassINI in the dispersion calculation. Yesterday, I experimented with using MassINI in place of MassOil in calculating MDispersedDT, as MassINI is used in, e.g., evaporation (which doesn’t vary by NBR_PARTIC). The results are shown in this notebook. ** usage of MassINI ** ** Usage of MassOil ** [3169] Me%Var%MassOil = Me%Var%MassOil - (Me%Var%MEvaporatedDT) & ** MBio mass adjustment missing ** (I added it) [4509] Me%Var%MassOil = Me%Var%MassOil - (Me%Var%MdissolvedDT) & MassINI is the Initial Mass of oil spill while MassOil is the mass of the oil that remains after being changed by weathering processes. I know this for sure b/c I wrote some print statements in ModuleOil_0D.F90. MassINI stays the same over time while MassOil decreases over time. The first set of print statements look like:
While the second hour of the run shows
etc. So “FM” stands for Fraction of (initial) Mass. |
In this notebook, I show that the change in oil mass due to NBR_PARTIC is purely from the dispersion and biodegredation parameterizations. Changing NBR_PARTIC by a factor of 3 amplified dispersed mass by ~7-fold; whereas it changes overall mass by .14%. The ration between the Dispersed Mass / Total Mass = ~70 tonnes / 552 tonnes for the NBR_PARTIC = 1000 case. If Dispersed mass changes from 50 to 375 and total mass is 552 then we would see a greater change in the total mass from 2D thickness if MDispersed was being accounted for in the 2D thickness. Need to take a careful look at MDispersed, Thickness_2D and the output to .sro file. |
Susan's analysis shows that the results are moderately sensitive to the number of particles upto 10000 particles (20000 is very very similar to 10000) and that the run time is very similar upto 10000 particles with 20000 longer. So 10000 is the sweet spot. |
The notebook showing this problem is here
Created a new branch to work on
NBR_PARTIC
becomesNewOrigin%NbrParticlesIteration
My understanding from conversations with Shihan was that I ought to ignore ModuleLagrangian.F90 and that only ModuleLagrangianGlobal.F90 is used; but I'm not seeing that as true in the code. First, both are compiled. Second, if I search
NBR_PARTIC
in the code, I only see it show up in ModuleLagrangianGlobal.F90 within a call forNewOrigin%State%Deposition
and under a call for!Min Sedimentation velocity
. We aren't including sedimentation, so this call doesn't seem to apply to our case. In contrast, within ModuleLagrangian.F90, I see:Unfortunately, when I look up
NewOrigin%NbrParticlesIteration
, I run into a dead end as it appears to only affect the volume in the case of a box spill.We are using
accident
. This is our setup:Looking up
EmmissionAccident
, I see:NewOrigin
andCurrentOrigin
are just different pointer names passed into different subroutines. I’m not yet sure what the design motivation is in having different names for these pointers.From this portion of the code, I see that the New Particle volume is calculated by dividing the total volume by the number of particles. Not seeing the problem here. Taking a different approach.
Evaluating evaporation parameterization
The mass in the Evaporation is consistent among the different
NBR_PARTIC
tests.Looking into the difference between the Evaporation parameterization and Biodegredation.
The Evaporation method we used for these runs is Fingas. For our case, with Fingas evaporation using
coefficients, the equation is:
for logarithmic
Same concept for square root. Note: use of Me%Var%MassINI.
[EDIT: This makes sense. MassINI is initial mass. MassOil is mass of oil left over after weathering. See below]
Evaluating dispersion parameterization
DISPERSIONMETHOD = NewDispersion
In this case,
Me%Var%MassOil
is used rather thanMe%Var%MassINI
These are set in
OilPropIni
inModuleOil_0D.F90
MassOil is set to MassINI
The difference is still noteworthy (and worth investigating the timing/call of
OilPropIni
) but I’m now wondering if this could be an output error. The two variables that are output areMBio
andMEvaporated
.The text was updated successfully, but these errors were encountered: