Giter Club home page Giter Club logo

pyrcel's Issues

Rename to pyrcel

  • Re-factor code
  • Re-name repository
  • Update github
  • Update readthedocs
  • Update travis
  • Update Zenodo

Inquiry about Aerosol Number Concentration Output in Pyrcel

Dear Dr. Rothenberg,
I am currently utilizing the pyrcel package for my research on aerosol activation. I have a specific question regarding the output of the model. I would like to know if pyrcel can provide the number concentration of aerosols at each integration time step. Specifically, does the model output the number concentration corresponding to the new sizes after hygroscopic growth for each bin, or does it maintain the original number concentration for each bin despite changes in particle size?
Thank you very much for your assistance and for developing such a valuable tool for the research community. I look forward to your response.

Best regards,
Feiya

Implement density temperature correction

Currently, the air temperature is diagnosed in both the thermodynamics and RHS routines by using the virtual temperature, $$T_v \equiv T(1 + 0.61w)$$ Rather - at least and most importantly in the RHS evaluation - it should be diagnosed using density temperature, $$T_\rho \equiv T(1 - q_t + q/\epsilon)$$ where $q_t$ is the total vapor/condensate mixing ratio.

Quarantine Assimulo dependency

Right now, you can't import any of the model components without a working build of Assimulo. That shouldn't be a requirement - the integrators.pypackage should be refactored to accommodate this.

Problems with ARG activation for multimode lognormal aerosols

Dear Daniel,

This is Tianning Zhao. I'm currently using PYRCEL for a course project. Thanks a lot for all the efforts to put together parcel model in python, it was really helpful. I was having trouble to run ARG activation for customized multimode lognormal aerosols. The error I was getting is like this: 'MultiModeLognorm' object has no attribute 'mu'. Could you please help me fix this? Thank you.

Release v1.4.0

A litany of things to do in prep for a nice, new v1.4.0 release:

  • Update documentation to include more references to work using this paper
  • Deprecate all Cython for Numba
  • (potentially) re-factor integration solvers to use a different ODE solver library (either call out to Julia's DifferentialEquations or possibly scikit-odes
  • Re-factor internal arrays to wrap behind xarray
  • Create new Factory-style initialization procedure for easier customizability of the core simulation
  • black formatting
  • More complete type annotations throughout code
  • Deprecate Python <= 3.5 support
  • Move from TravisCI to CircleCI

Extensible I/O module

Proposing a user-extensible output module. The basic idea is that a user can pass either a set of default or derived-type classes which encapsulates how to record data to disk. For instance, suppose we have a default writer type

class OutputWriter(object):

    def __init__(self, output_filename):
        self.output_filename = output_filename

    def write_step(self, model_state)
    def finalize(self)

The __init__ and finalize methods take care of maintaining a reference to the output file. The write_step method would be what is called during model runtime. E.g., in a proposed model physics loop:

output_handler = OutputWriter("my_output.csv")

while t < t_end:
    model.step()
    if ( output_step ):
        output_handler.write_step(model.state)
    t += dt

Then any output handlers simply need to implement the interface. Ideally, the write_step file would incrementally add to a file.

Quick diagnostic plots

Need a library of convenience methods for producing common plots on

  • supersaturation, temperature, other variable traces
  • diagnosis of time-dependent activation
  • initial / dry / wet vs final aerosol / droplet spectra
  • more as identified

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.