The shader is not animating The shader I just ported doesn't work as intented. It should be animating on changing time property. Now it is like still image.

#include "stdosl.h"



float fract(float x) {
   return x-floor(x);
}
vector fract(vector x) {
   return x-floor(x);
}


float snoise(vector uv, float res){
   vector s = vector(1, 100, 1000);
   uv *= res;
   vector uv0 = floor(mod(uv, res))*s;
   vector uv1 = floor(mod(uv+vector(1.0,1.0,1.0), res))*s;
   vector f = fract(uv);
   f = f*f*(3.0-2.0*f);
   float v[4] = {uv0[0]+uv0[1]+uv0[2], uv1[0]+uv0[1]+uv0[2], uv0[0]+uv1[1]+uv0[2], uv1[0]+uv1[1]+uv0[2]};
   float r[4] = {fract(sin(v[0]*1e-1)*1000),fract(sin(v[1]*1e-1)*1000),fract(sin(v[2]*1e-1)*1000),fract(sin(v[3]*1e-1)*1000)};
   float r0 = mix(mix(r[0], r[1], f[0]), mix(r[2], r[3], f[0]), f[1]);
   r[0] = fract(sin((v[0] + uv1[2] - uv0[2])*0.1)*1000);
   r[1] = fract(sin((v[1] + uv1[2] - uv0[2])*0.1)*1000);
   r[2] = fract(sin((v[2] + uv1[2] - uv0[2])*0.1)*1000);
   r[3] = fract(sin((v[3] + uv1[2] - uv0[2])*0.1)*1000);
   float r1 = mix(mix(r[0], r[1], f[0]), mix(r[2], r[3], f[0]), f[1]);
   return mix(r0, r1, f[2]) * 2.0 - 1.0;
} 

surface energy_crystal_wyvern(
   float Time = 0.0,
   float mipmap =0.0,
   point Po = (0.0),
   output color Color = (0.0))
{

   float intensity = 1;
   vector coord = Po;
   float timeOffset = time / 15.0;


   coord[0] +=  (coord[0] / 10)+timeOffset;// - (angle.x * 2);
   coord[1] += (coord[1] / 10);


   float density = 15;//float(int(15.0 * mipmap));
   float brightness = 1;
   for(int i = 1; i &lt;= 7; i++)
   {
      float power = pow(2, float(i));
      brightness += (1.5 / power) * max(snoise(coord + vector(0, 0, time * 0.01), power * density), -1);
   }

   brightness = ((1 - mipmap) * brightness) + (mipmap * 1.2) ;//max(brightness, mipmap);


   Color[0]= brightness * 1;
   Color[1] = pow(brightness, 2.0 ) * 0.4; 
   Color[2]=pow(brightness ,3.0) * 0.1;
}
You need to change this line. You declared your time variable with a capital T.

float timeOffset = time / 15.0;


You should change it to this

float timeOffset = Time / 15.0;


To animate the the time value in your script node and press I to insert a keyframe.  The field should turn yellow.