-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Correct calculations of snow precipitation #279
Comments
Here is also a half-day example that shows the precipitation calculations. From time steps 8 to 11, surface temperature is less than zero, and snow precipitation is accumulated. At time step 12, surface temperature is > 0, and the accumulated snow precipitation goes to liquid precipitation. Same again in time step 23 and 24.
|
Thanks a lot for these efforts, Mustafa. https://gmd.copernicus.org/articles/14/7345/2021/ I suggest to integrate the snow module UEB if we think this capacity is needed for certain simulations. Snow melting is a process that depends on precipitation, temperature, the accumulated snow as well as topological, soil and canopy characteristics. All these need to be properly considered if we want to simulate such processes adequately. |
Btw the snow melting itself has also important feedback to radiation balance (by modulating albedo and emissivity) thus affecting in turn water and carbon processes. Note: albedo, emissivity and surface temperature are observables that can be obtained by remote sensing. These can be assimilated into STEMMUS-SCOPE via BMI and open-DA. |
Hi @bobzsu, I am not sure if the snow module is already in the code or not. But I agree with you about integrating it (if it is not done yet). I just heard this week from @yijianzeng that part of the research of Chen Yunfei is going to focus on snow processes. We could then after his qualifier start to implement the snow module and make it an option (to switch it on/off) based on user request. and also make sure that all characteristics that affect the snow processes are integrated and work correctly with other functions in the code. That will need a couple of testing and checking and we can all as a group contribute to that. |
@MostafaGomaa93 Hi Mostafa, UEB is not yet in the current STEMMUS-SCOPE version. It is published on Zenodo, though. https://zenodo.org/records/3975846
Yunfei Chen is not going to focus on snow processes but on the freezing/thawing process.
this is a good suggestion. |
It is suggested to move Line 69-70 after Line 65 As such, Precip_snow, and Precip_snowAccum do not need to be assigned with 0 at every iteration. |
Hi @yijianzeng, I think it is the other way around, if Lines 69-70 are moved after Line 65, then the |
@MostafaGomaa93
What i suggest is below
As such, 'Precip_snow' and 'Precip_snowAccum' are only assigned with 0, when KIT==1, so they are not assigned with zeros again when KIT=2, 3, ..., 30. |
Ah okay, I test your suggestion but I received an error (Unrecognized function or variable 'Precip_snow') So, a solution is
|
The snow precipitation was not calculated correctly in the code. There are a couple of issues that are solved in this branch
In principle, at any timestep, if surface temperature is <= zero, then precipitation is snow (not liquid) and should not be used in this time step. Rather, this snow_precipitation should be accumulated and go to next time step. At any of the further time steps, once surface temperature becomes > 0, then the accumulated snow precipitation is added to the liquid precipitation of this particular time step to define the total available precipitation. Then also proper runoff and infiltration will be calculated
The following corrections are implemented
a) has a more representative name
Precip_snowAccum
b) is initialized with zero value at the first time step (Lines 48-52)
c) goes back to zero again once the surface temperature becomes > 0 (Line 70).
a) As long as surface temperature is < 0 -> then precipitation will be accumulated in snow precipitation (Lines 54-62).
b) Once surface temperature is > 0 -> accumulated snow precipitation is added to liquid precipitation (lines 63-71).
+soilmoisture/calculateBoundaryConditions.m
, which runs through the STEMMUS iteration loop within every time step (loop start here, and the calculations are part of the loop here), these snow_precipitation calculations has to be done only once per time step (and not per every iteration within the time step), so an if condition is added for that purpose (Line 58 and Line 64).Precip
variable refers actually to the applied infiltration (after removing runoff) so, it got a more representative nameapplied_inf
(here) and added to theForcingData
structure (also for BMI purposes)The text was updated successfully, but these errors were encountered: