Fire effect with Neopixel

Hello everyone,

I would like my Neopixel ring of 16 RGB leds to make prettier effects such as a fireplace effect or an icy wind for example.
This is complicated for me because I don't know which functions / loops to use, or special libraries.

For example for a fire effect:
-A flame effect that goes up and down with varying colors (from yellow to orange) and that it looks quite like a real flame, suddenly quite slow.
-A flame that seems to flicker (at times)
-Red sparks from time to time
-At times when the top leds are less lit because the flame does not rise high enough

A wind / snow effect might be easier:
-We can turn the wind in circles
-There are places where the white shines and others a little more gray

It's hard for it to be recognizable and clean. Perhaps the hardest part is not doing too many reps.

What should I use to make a simple code (not coding led by led) for the things I just described?

I have already tried and watched but it does not seem very realistic to me. I would like something cleaner and slower.