Cálculo del 'Rain Rate'

Desconectado Vaqueret di Rondó

  • un Zarathustra insidioso
  • Supercélula
  • ******
  • 5077
  • Sexo: Masculino
  • Eppur si calfa....
    • MeteoCastalla
Cálculo del 'Rain Rate'
« en: Martes 19 Febrero 2008 22:02:10 pm »
El problema es el siguiente: 
Dada una sucesión de datos pluviométricos cincominutarios, ¿cual sería la mejor manera de calcular el 'rain rate' (por def. lluvia por minuto)?

Mi idea era un ajuste cuadrático por método de Lin , pero como soy tan perro agredecería algún algoritmo, preferiblemente en C, pascal o Java.  ;D
   

Desconectado Breitling

  • Luis
  • Cb Calvus
  • ****
  • 1449
  • Sexo: Masculino
  • Mis Datos en tu Móvil
Re: Cálculo del 'Rain Rate'
« Respuesta #1 en: Miércoles 20 Febrero 2008 18:24:17 pm »
Subiste el listón por encima de la media del foro  :)

Nunca me metí a implementar la intensidad de lluvia porque ya me la dieron hecha, pero te puedo ofrecer cómo lo hace Davis en sus estaciones. Creo que no tienes problemas con el inglés, así que ahí va:

RAINFALL RATE

Parameters Used: Rain Total (actually, rain rate is a measured variable in the sense that it is measured by the ISS and transmitted to the display console, whereas all other calculated variables are determined by the console from data received from the ISS.)

Formula:
Under normal conditions, rain rate data is sent with a nominal interval of 10 to 12 seconds. Every time a rain tip or click occurs, a new rain rate value is computed (from the timer values) and the rate timers are reset to zero. Rain rate is calculated based on the time between successive tips of the rain collector. The rain rate value is the highest rate since the last transmitted rain rate data packet. (Under most conditions, however, a rain tip will not occur every 10 to 12 seconds.)

If there have been no rain tips since the last rain rate data transmission, then the rain rate based on the time since that last tip is indicated. This results in slowly decaying rate values as a rain storm ends, instead of showing a rain rate which abruptly drops to zero. This results in a more realistic representation of the actual rain event.

If this time exceeds roughly 15 minutes, then the rain rate value is reset to zero. This period of time was chosen because 15 minutes is defined by the U.S. National Weather Service as intervening time upon which one rain "event" is considered separate from another rain "event". This is also the shortest period of time that the Umbrella will be seen on the display console after the onset of rain.

REFERENCES
"Surface Weather Observations and Reports ". Office of the Federal Coordinator for Meteorological Services and Supporting Research, Washington, DC, 1998

Desconectado Vaqueret di Rondó

  • un Zarathustra insidioso
  • Supercélula
  • ******
  • 5077
  • Sexo: Masculino
  • Eppur si calfa....
    • MeteoCastalla
Re: Cálculo del 'Rain Rate'
« Respuesta #2 en: Miércoles 20 Febrero 2008 19:18:14 pm »
 :-* :-* :-* :-* :-* :-* :-* :-* :-*

Simple, pero efectivo.
El único problema está en establecer el valor para el primer vuelco del pluvio. Quizá tome el periodo indicado de 15 minutos para calcularlo.
   

Desconectado Breitling

  • Luis
  • Cb Calvus
  • ****
  • 1449
  • Sexo: Masculino
  • Mis Datos en tu Móvil
Re: Cálculo del 'Rain Rate'
« Respuesta #3 en: Miércoles 20 Febrero 2008 19:33:25 pm »
El único problema está en establecer el valor para el primer vuelco del pluvio. Quizá tome el periodo indicado de 15 minutos para calcularlo.

Puede ser. El valor que te dará será muy pequeño (dependiendo de la resolución del vuelco). En cuanto tengas un segundo vuelco, el sistema rueda solo ya.

Desconectado Vaqueret di Rondó

  • un Zarathustra insidioso
  • Supercélula
  • ******
  • 5077
  • Sexo: Masculino
  • Eppur si calfa....
    • MeteoCastalla
Re: Cálculo del 'Rain Rate'
« Respuesta #4 en: Miércoles 20 Febrero 2008 20:07:22 pm »
Mas o menos lo que he entendido:

Código: [Seleccionar]


 // Globales

  TDateTime HoraUltVuelco;
  // double MaxRainRate;
 
double CalculaRainRate(const TDatoConsola DatoConsola)
{
     double _15m=(double)TDateTime(0,15,0,0,0);  // 15 minutos;
     TDateTime HoraActual=DatoConsola->Hora; 
        // es que voy a la hora de la consola, por si estuviera en UTC;
     
     double Lapso=(double)HoraActual-(double)HoraUltVuelco;
     
     if (Lapso>_15m) 
          if (DatoConsola->Lluvia)  {   //  Empieza un nuevo evento
              HoraUltVuelco=HoraActual;
              return DatoConsola->Lluvia/.25; //15min en horas
          }
          else   return 0  // finaliza evento
     else         
          if (DatoConsola->Lluvia)     
              HoraUltVuelco=HoraActual;
           return DatoConsola->Lluvia/(Lapso*24.0); //TdateTime a Horas;
     }   
}
   

Desconectado Vaqueret di Rondó

  • un Zarathustra insidioso
  • Supercélula
  • ******
  • 5077
  • Sexo: Masculino
  • Eppur si calfa....
    • MeteoCastalla
Re: Cálculo del 'Rain Rate'
« Respuesta #5 en: Miércoles 20 Febrero 2008 20:23:49 pm »
Sin embargo, voy a intentar agrupar en tramos móviles de n minutos. Creo que se ajusta mejor a la realidad( en el sentido de que para que la fuerza de la lluvia tenga repercusiones debería  durar como mínimo 1 o dos minutos)

Claro, el problema de ésto es que si tomo tramos fijos de.. pongamos 5 minutos ¿como sé que no me cambia drásticamente el valor si cojo la mitad (por poner un ejemplo) de dos tramos consecutivos?

PD: Acabo de descubrir el trabajo de Roberto en la RAM
« Última modificación: Miércoles 20 Febrero 2008 20:25:19 pm por Vaqueret »
   

Desconectado rayo_cruces

  • Meteo Tropical
  • Supercélula
  • *****
  • 6561
  • Sexo: Masculino
  • "The long black cloud it`s coming down..."
Re: Cálculo del 'Rain Rate'
« Respuesta #6 en: Miércoles 20 Febrero 2008 20:49:22 pm »
¿En que escribistes la función Vaqueret? ¿Pascal?

Saludos  8)
CRUCES, Cienfuegos, CUBA 22º 20`N; 80º 16`W; 90-100 msnm
Lluvia Med. Hist 1456 mm Temp. Seca(nov-abril) 288mm Temp Lluv.(may-oct) 1200mm, Record Hist diario: 1 Jun 1988 aprox 500mm
Temperaturas   Med. anual 25.3ºC  Feb. 20.7ºC Julio 28.2ºC  Max. 36.2ºC 02/05/09 Min. 6.2ºC 15/12/10
Desde el centro de Cuba donde tenemos rayos a montones y algún tornadito además de los huracanes que todos conocen.

Desconectado Vaqueret di Rondó

  • un Zarathustra insidioso
  • Supercélula
  • ******
  • 5077
  • Sexo: Masculino
  • Eppur si calfa....
    • MeteoCastalla
Re: Cálculo del 'Rain Rate'
« Respuesta #7 en: Miércoles 20 Febrero 2008 20:51:57 pm »
No, en C. Pero en pascal sustituyes los = por := y poco más y lo tienes.
   

Desconectado rayo_cruces

  • Meteo Tropical
  • Supercélula
  • *****
  • 6561
  • Sexo: Masculino
  • "The long black cloud it`s coming down..."
Re: Cálculo del 'Rain Rate'
« Respuesta #8 en: Miércoles 20 Febrero 2008 21:38:51 pm »
No, en C. Pero en pascal sustituyes los = por := y poco más y lo tienes.

Realmente el tiempo no perdona, hace algunos años yo programé en ambos lenguajes y no me perdono no haber conocido el código. Por el momento tengo dos amigos que me estan embullando a programar de nuevo pero en Python, no sé si lo tome en serio.

Saludos  8)
CRUCES, Cienfuegos, CUBA 22º 20`N; 80º 16`W; 90-100 msnm
Lluvia Med. Hist 1456 mm Temp. Seca(nov-abril) 288mm Temp Lluv.(may-oct) 1200mm, Record Hist diario: 1 Jun 1988 aprox 500mm
Temperaturas   Med. anual 25.3ºC  Feb. 20.7ºC Julio 28.2ºC  Max. 36.2ºC 02/05/09 Min. 6.2ºC 15/12/10
Desde el centro de Cuba donde tenemos rayos a montones y algún tornadito además de los huracanes que todos conocen.

Desconectado vigilant

  • Bob està sempre ocupat :p
  • Supercélula Tornádica
  • *******
  • 16520
  • Sexo: Masculino
  • Mahmoud Asgani y Ayaz Marhoni, en mi memoria
    • Meteorologia i física teòrica