Comments (3)
Hi Maria,
The 900 hPa level in the moisture uptake algorithm is supposed to be the dividing line between "surficial" and "atmospheric/other" moisture uptakes. If, in an interval
of hours along a trajectory, a change in humidity greater than evaporation
(i.e., an uptake) occurs below this level, the moisture is considered to have originated from the surface. If this uptake occurs above this level, the moisture uptake is classified as "atmospheric/other". This dividing line is unrelated to trajectory initialization height.
In the original paper (Sodeman et al. 2008, Interannual variability of Greenland winter precipitation sources: Lagrangian moisture diagnostic and North Atlantic Oscillation influence), this dividing line was the planetary boundary layer. Sodeman et al. did not use HYSPLIT. Papers that have done this procedure with HYSPLIT (for example, Gustafsson et al. 2010, Extreme rainfall events in southern Sweden: where does the moisture come from?) decided that the 900 hPa level was a good approximation of the planetary boundary layer. In PySPLIT, the user has the option of choosing their dividing line (vlim
) from the following options: 'pbl', 'prs','both'
, meaning 'planetary boundary layer', 'pressure level', or must be below both to be considered as 'surficial'. HYSPLIT can output mixing depth along the trajectory, which we take as the planetary boundary layer. Since you want to use pressure level as your vlim
, make sure you set vlim='prs'
in traj.moisture_uptake()
. Also, your evaporation
value should not be in square brackets.
So, that was a lot of background to your questions. Here are some answers.
- Yes, this is a calculation applied to already generated trajectories, there is no moisture uptake option during trajectory generation.
- Neither PySPLIT (which is just an interface to HYSPLIT generation) nor HYSPLIT can generate trajectories at 900 hPa or any other pressure level right now (as far as I am aware. I just checked READY and it doesn't, but if the newest desktop version of HYSPLIT actually does do this, please let me know! I haven't updated mine in quite a while.).
- People generally perform this analysis to get a sense of where the moisture in the rainfall at their site is coming from. So, they usually choose initialization altitudes corresponding to 850 hPa and/or 700 hPa, from which rain typically originates (there is a question in the HYSPLIT FAQ about this). To find roughly what height mAGL this is, I suggest running a sampling of trajectories over a variety of years/seasons/heights and inspecting the pressure at time 0. With that said, this algorithm can be applied to trajectories at any initialization height. However, from experience I can tell you that you'll be asked to justify your choice during your PhD defense. For my research location, 1000 mAGL matched the 850 hPa level fairly well, and seasonal variation wasn't that important.
I hope this is helpful, let me know if you have more questions! I am currently working on a basic example with color mapping to value, as well as a more advanced example with color mapping to value specific to traj.uptake
and displaying points corresponding to only surficial uptakes, only "other" uptakes, or both kinds.
Cheers,
Mellissa
from pysplit.
You can set the vertical motion method to
isobaric (1) to keep the trajectory on a constant pressure surface.
In the CONTROL file this is the line right after total run time and before top of model line.
The other options for vertical motion are:
0 data - uses the vertical velocity field in the meteorological data file
1 isob - isobaric maintains the trajectory on a constant pressure surface
2 isen - isentropic maintains the trajectory on surfaces of constant potential temperature
3 dens - trajectories stay on constant density surfaces
4 sigma - vertical motion is zero and the trajectory stays on the same internal sigma
5 divg - the vertical motion is computed by vertical integration of the velocity divergence
(Also see section 4.8 of the Tutorial Trajectory veritcal motion, for more explanation).
Hope this helps,
Alice
from pysplit.
Hi Mellissa,
Thank you so much for your response. It was very clear and provides me with a much better understanding of the moisture uptake calculation and I believe I have enough to go on now to generate the trajectories and calculations. I am looking forward to your color mapping to value examples for the traj uptake calculation. I really like the color mapping to value technique used in Fig. 2 of your 2015 scipy paper showing sqrt moisture flux values along the trajectories, and hope to do something similar with moisture uptake, if it is possible.
Alice - Thank you as well for the reminder that we can keep the trajectory on a constant pressure surface. I will make sure to set this as well.
Best,
Maria
from pysplit.
Related Issues (20)
- Can monthly data be used? HOT 6
- Is the pysplit.make_trajectorygroup still available? HOT 3
- Issue with recent data set Gdas (2021-2023) HOT 1
- Inquiry about generating altitude vs. hours graph with bulk trajectories
- Problem generating bulk trajectories with ERA5 data HOT 22
- [important] Domain height issue. HOT 1
- Does the Pysplit is compatible with python 3.8.12 on Win-11? HOT 5
- HYSPLIT help!! HOT 3
- All of the sudden problem with generate_bulk traj HOT 2
- Smallest map size possible? HOT 2
- Installation problem
- Cluster Analysis- Mean meteorology HOT 2
- Generate a realtime trajectory HOT 2
- daily runs
- Running PySPLIT without HYSPLIT HOT 5
- Running pysplit in parallel HOT 2
- bulk_trajgen_example.py with GDAS1
- Hysplit in mode 'Concentration'
- Output file: variables(u/v and PV) along the trajectories
- ERA5 reanalysis ARL files HOT 6
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 pysplit.