Git Product home page Git Product logo

Comments (3)

mscross avatar mscross commented on September 15, 2024

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.

amcz avatar amcz commented on September 15, 2024

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.

mariajmolina avatar mariajmolina commented on September 15, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.