Skip to content

Ideas for KPP 4.0.0 #43

Description

@RolfSander

Add your ideas for KPP 4.0.0 here. Everything we don't have the time to work on now but may be a nice addition in the future...

Items yet to be done

Items recently completed

Activity

  1. added this to the 4.0.0 milestone on May 24, 2022
  2. RolfSander commented on May 24, 2022

    @RolfSander
    ContributorAuthor

    Use ICNTRL in tau_leap and gillespie integrators

  3. RolfSander commented on May 24, 2022

    @RolfSander
    ContributorAuthor

    add Python and Julia as new languages to KPP

  4. yantosca commented on May 24, 2022

    @yantosca
    Contributor

    Have the Fortran90 code create a derived type with global variables

  5. added
    featureNew feature or request
    integratorsRelated to numerical integrators
    toolsAncillary tools for KPP (scripts, visualization, etc)
    on May 24, 2022
  6. 27 remaining items

  7. jimmielin commented on May 30, 2023

    @jimmielin
    Member

    Very minor and very esoteric feature, "empty" products in reactions

    CAM-chem uses a similar feature for hard coding some artificial sinks into the mechanism.
    e.g., SF6 + hv = sink or soa + hv = . Tried building a mechanism with empty products and it throws a syntax error (as expected) with Misplaced ';'

    Probably could just use one of the DEFFIX species as product to work around this but just wanted to put it here in case there was further interest...

  8. RolfSander commented on May 31, 2023

    @RolfSander
    ContributorAuthor

    For products you don't care about, you can use the pre-defined dummy
    species PROD, e.g.:

    SF6 + hv = PROD
    

    https://kpp.readthedocs.io/en/stable/using_kpp/04_input_for_kpp.html#equations

  9. jimmielin commented on May 31, 2023

    @jimmielin
    Member

    Thanks @RolfSander! I should've looked closely at the documentation first, my bad 😅

  10. RolfSander commented on Nov 8, 2023

    @RolfSander
    ContributorAuthor

    We should update obsolete fortran code, e.g., arithmetic IF
    statements. The gfortran compiler already complains about this. In util/blas.f90, we currently have:

    IF (incX .EQ. incY) IF (incX-1) 5,20,60 
    
  11. RolfSander commented on Dec 6, 2023

    @RolfSander
    ContributorAuthor

    Now that #TRANSPORT is deleted, I had a look at other rarely used
    options. I noticed that there is a #WRITE_OPT command which isn't even
    mentioned in our readthedocs manual. When activated, it calls
    WriteOptions() in debug.c. It creates logging output which is nice
    but redundant. We already have the same output in GenerateLog() in
    gen.c.

    @yantosca: Should we delete #WRITE_OPT?

  12. yantosca commented on Dec 6, 2023

    @yantosca
    Contributor

    Hi @RolfSander, thanks for checking the old options. I think we can delete #WRITE_OPT. I'm not sure it was in the PDF manual, since that's what I took as the starting point for the RTD manual.

    I just pushed PR #88 to remove LUMP. I can make another PR to remove #WRITE_OPT plus any other options that may no longer be used.

  13. RolfSander commented on Dec 6, 2023

    @RolfSander
    ContributorAuthor

    I don't think that #WRITE_OPT has ever been in any KPP manual. Yes,
    let's delete it.

    There are 3 similar options: WRITE_ATM, WRITE_SPC and
    WRITE_MAT. They also create potentially interesting output for
    debugging. Unlike #WRITE_OPT, they are not duplicated elsewhere, thus
    we may want to keep them. If we keep them, we could mention them in the
    RTD manual.

    While I'm looking at these options, I decided to check all of them.
    Here's what I've found:

    • I think these can be deleted:

      • #DEFRAD
      • #SPARSEDATA (scanner.c says that it is deprecated)
      • #USE (scanner.c says that it is deprecated)
      • #USES (seems to occur only in *.el)
    • #AUTOREDUCE isn't mentioned in the manual yet.

    • #DECLARE is missing in *.el

    • #FAMILIES appears twice in *.el

    • For these, I have no idea:

      • #INITIALIZE
      • #RUN
      • #XGRID
      • #YGRID
      • #ZGRID
  14. yantosca commented on Dec 6, 2023

    @yantosca
    Contributor

    Thanks @RolfSander. I would keep the #WRITE_{ATM,SPC_MAT} options for now. We can get rid of the others. I'll also add a note about #AUTOREDUCE documentation (based on @jimmielin's paper).

    It looks like the #INITIALIZE, etc. might have been from running KPP as a model on a 3-D grid. I think we can also let those go.

  15. RolfSander commented on Dec 6, 2023

    @RolfSander
    ContributorAuthor

    OK, sounds good. Let me know if there's anything I can do...

  16. RolfSander commented on Dec 7, 2023

    @RolfSander
    ContributorAuthor

    I forgot to mention #SETRAD. Like #DEFRAD, it is also obsolete.

  17. RolfSander commented on Jan 3, 2024

    @RolfSander
    ContributorAuthor

    I suggest to enlarge some limits so that the complete MCM can be used. Increasing MAX_NO_OF_LINES should not cause any problems. Regarding MAX_EQN, we need to check if the new value is okay for all machines (except, of course, for those machines which already have to use a smaller value). You can find my first tests in the mcm branch.

  18. RolfSander commented on Jan 3, 2024

    @RolfSander
    ContributorAuthor

    I suggest to add a #DEBUG command. When set to ON, KPP should create a log file with lots of information.

  19. 95moon commented on Dec 16, 2024

    @95moon

    Dear Professor Rolf Sander,

    I hope this message finds you well. I am a beginner, currently a second-year Master's student in Atmospheric Science. Based on the KPP website example, I understand that running a box model requires four initial files: eqn, spc, dev, and a KPP file. However, in the MCM example you provided, I only seem to see settings for the initial model parameters in the driver_mcm document. After following the instructions in the README and running the model, I found that the mcm.exe did not output any results, which left me quite confused. Could you please provide more details on this issue? If possible, feel free to contact me via email at 1142331256@qq.com. Additionally, my programming skills are limited to Python.

    Thank you very much for your time and help.

    Best regards,
    XinJie Liu

  20. yantosca commented on Dec 16, 2024

    @yantosca
    Contributor

    @95moon could you please open a new issue with your question? That will allow us to keep this issue related to ideas for KPP 4.0.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

featureNew feature or requestfuture developmentItems that will be worked on in the futureintegratorsRelated to numerical integratorstarget-languagesRelated to the language options for KPP-generated codetoolsAncillary tools for KPP (scripts, visualization, etc)

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions