Intro III - Honeybee Interface
Last updated
Last updated
Esta sección cubrirá cómo construir un script muy sencillo de Honeybee desde cero. Comenzaremos con una breve introducción a la interfaz de Honeybee, continuaremos con la creación de una definición básica de Honeybee y finalmente, concluiremos con una lista de convenciones usadas en los scripts de Honeybee- Esta sección te permitirá empezar a expandir de manera independiente tu conocimiento al recorrer la librería de componentes.
La interfaz de Honeybee organiza los componentes por cada tipo de simulación. La sección 00 es primordialmente par definir la geometría de las zonas en una simulación energética.
Las secciones 02-04 son para cálculos de iluminación natural. No utilizaresmos estos componentes en este turorial.
Las secciones 05-10 son para modelado energético en EnergyPlus. Nos enfocaremos en este tipo de componentes en este tutorial.
Los componentes de la sección 11 se emplean para realizar simulaciones en THERM. No utilizaremos estos componentes en este tutorial.
Los componentes de la sección 12 sirven para actualizar Honeybee y los componentes de la sección 13 son experimentales o están en desarrollo.
A manera de ejemplo sobre cómo funcionan estos grupos de componentes, consideremos el tutorial en simulaciones energéticas para zona unitaria en EnergyPlus. Este tutorial solamente utiliza componentes de la sección 00, las secciones de energía 05, 06, 07, 08, 09, 10 y la sección de actualización 12. No se utilizan componentes de las secciones 02-04 de iluminación natural, o de la sección 11 de THERM.
Para ayudarte a localizar componentes, comenzaremos refiriéndonos a ellos usando el nombre de la pestaña de Grasshopper, el nombre o número de la sección y el nombre del componente. Por ejemplo: 'Honeybee|04 Energy Material|Honeybee_EnergyPlus Window Material' significaría que debes buscar en la pestaña 'Honeybee', en la sección 04 que se emplea para especificar materiales en las simulaciones energéticas y finalmente, deberías buscar el nombre 'Honeybee_EnergyPlus Window Material'. También es posible hacer doble clic en el lienzo y escribir 'EnergyPlus Window Material' (sin comillas) y seleccionar de la lista dinámica que aparece.
Si encuentras un componente que no reconoces, hay un par de cosas que puedes hacer:
Puedes mover el ratón sobre el ícono en el centro del componente para ver el nombre del componente.
Si el componente está fuera de Ladybug y Honeybee, puedes también presionar y sostener ctrl + alt al mismo tiempo para activar el modo informativo. Esto te muestra la ubicación en el menú de los componentes que ya se encuentran en el lienzo. Desafortunadamente, para Ladybug y Honeybee, esto solamente indicará hacia un componente Python.
Un método alternativo para componentes dentro de Ladybug y Honeybee es hacer doble clic en el ícono del componente de Ladybug o Honeybee, lo que abrirá el código en su interior. Posteriormente, debes desplazarte hasta encontrar la línea que empieza con 'ghenv.Component.SubCategory =' la cual deberá estar seguida por algo parecido a '07|Energy|Schedule'. Esto funciona de la misma manera que la dirección anterior, así que en este caso sabemos que el componente está ubicado en la pestaña 7 bajo 'Energy' y que se llama Honeybee_Schedule.
Si prefieres ver nombres en vez de íconos, también es posible acceder a la pestaña 'Display' en la barra de menú de Grasshopper y modificar la opción 'Display Icons', de manera que se desplegará el nombre del componente en vez del ícono.
También es posible hacer doble clic en el lienzo de Grasshopper y empezar a teclear el nombre de un componente para buscar en todas las pestañas de Grasshopper. Todos los componentes de Honeybee y Ladybug incicial ya sea con 'Honeybee' o 'Ladybug', de manera que empezando con alguna de esas palabras clave es una forma de buscar solo dentro de nuestros plugins.
Otra herramienta muy útil es el componente 'Bifocals', el cual crea una etiqueta encima de cada componente de manera que sea posible para ti ver tanto el ícono de un componente como su nombre. El componente 'Bifocals' está disponible en https://www.food4rhino.com/app/bifocals.
iii.00 El primer paso para crear cualquier script de Honeybee es siempre colocar el componente Honeybee_Honeybee en el lienzo. Esto es importante porque este component contiene múltiples librerías internas que son necesarias para el funcionamiento de casi todos los demás componentes de Honeybee. A diferencia de casi todos los scripts en Grasshopper, no es necesario conectar un cable entre el componente Honeybee_Honeybee y otros componentes; las librerías se activan simplemente al colocarlo en el lienzo. Este componente se localiza en la pestaña '0 Honeybee|Honeybee' y a la acción de colocar este componente en el lienzo se le conoce como 'echar a volar Honeybee'.
iii.01 Muchos componentes de Honeybee funcionan conjuntamente con componentes de Ladybug, así que casi siempre es necesario echar también a volar Ladybug. Puedes encontrar el componente Ladybug_Ladybug en la pestaña Ladybug, en la sección 0.
iii.02 El siguiente paso crucial antes de empezar a crear una simulación es asegurarse que contamos con datos climáticos adecuados en los que se basará nuestra simulación. Para esto requerimos de una conexión a internet. Para empezar, encuentra la sección 0 de Ladybug y arrastra el component 'Open EPD and STAT Weather File' al lienzo.
iii.03 Este componente descargará automáticamente los datos climáticos desde el internet a partir de una URL proporcionada por el usuario. Utilizaremos un componente panel para ingresar la dirección buscada.
iii.04 Haz doble clic en el componente panel y pega la siguiente URL, sin espacios antes o después:
Es importante evitar presionar ENTER después de ingresar el texto en el componente panel, ya que Grasshopper interpreta ENTER como la creación de un segunto ítem en la lista de datos dentro del panel. Para aclaraciones sobre listas de datos, consulta el paso 2.20.
Estos datos provienen del Departamento de Energía de los Estados Unidos y corresponden al aeropuerto de Van Nuys, California. Al pasar el cursor sobre este componente es posible obtener más detalles sobre cómo encontrar más datos para otras ubicaciones. De igual manera pueden encontrarse y descargarse directamente del siguiente link: https://www.energyplus.net/weather.
El siguiente link contiene información sobre el origen y la generación de estos datos: https://energyplus.net/weather/sources.
*Consejo sobre paneles: Utilizaremos paneles para ingresar información frecuentemente. En vez de arrastrar un panel al lienzo cada vez, simplemente haz doble clic en el lienzo y escribe '//' seguido de los datos que quieras introducir en el panel.
iii.05 Conecta el panel que contiene la URL del archivo de datos climáticos deseados al puerto de entrada 'weatherFileURL' del componente 'Open EPW and STAT Weather Files'. Notarás que el componente 'Open EPW and STAT Weather files' habrá cambiado de naranja a gris, indicando que ha obtenido los datos climáticos sin errores.
iii.06 Si conectas un panel a la salida 'epwFile' del componente'Open EPW and STAT Weather files' y pasas el cursor por encima del texto 'epwFile', verás que Ladybug ha descargado el archivo EPW y lo ha guardado en tu disco local. La ubicación por defecto es: c:\ladybug.
iii.07 Estos datos climáticos pueden ahora ser usados para múltiples simulaciones. Concluiremos este tutorial demostrando cómo explorar los datos que acabas de importar. Empecemos arrastranto un componente 'Ladybug_Import EPW" hasta el lienzo.
iii.08 Posteriormente, conecta los datos que acabamos de descargar a este componente. Esto nos permitirá recorrer los distintos tipos de datos contenidos en el archivo inicialmente importado.
iii.09 El componente 'Ladybug_Import EPW' deberá cambiar ahora de naranja a gris, indicando que los datos climáticos fueron recopilados sin errores.
iii.10 Ahora podemos acceder a los distintos tipos de datos contenidos en el archivo EPW, conectemos paneles a los primeros cuatro datos de salida y demos un vistazo más cercano a la información ahora disponible.
![alt text](https://user-images.githubusercontent.com/44324576/51679915-8c63d900-1fe0-11e9-8f5f-a1c743b7b68d.png
iii.11 El puerto de salida 'readMe!' provee valiosa información acerca de si el componente funcionó correctamente. Esto es particularmente importante si el componete se vuelve naranja, lo que inidica que hubo un error.
*Nota cómo desconectando la dirección URL que hemos ingresado antes afecta estos datos de sallida.
iii.12 La latitud proveerá la latitud en la que los datos fueron recopilados. Esto es extremadamente importante para confirmar la precisión de la geometría solar.
iii.13 El siguiente dato de salida provee más información acerca de la ubicación como el nombre de la localidad, latitud, longitud, zona horaria y elevación. La zona horaria es expresada por el número de horas de direfencia desde Greenwich, Reino Unido. Los valores positivos significan este, los valores negativos el oeste. La elevación está en metros sobre el nivel del mar.
iii.14 Todos los datos de salida siguientes contienen datos horarios. Observemos la temperatura de bulbo seco como ejemplo.
Las primeras siete entradas contienen información acerca de los datos, mientras que los siguientes 8760 valores representan una serie de datos para cada una de las horas de un año. La convención para listas en Grasshopper indica que se empiece a numerar en 0, así que una lista de 7 elementos leerá valores desde la posición 0 hasta la 6.
El valor 0 es una clave
El valor 1 es el nombre de la ubicación
El valor 2 es el tipo de datos
El valor 3 son las unidades de los datos
El valor 4 es la frecuencia a a que fue registrado
Los valores 5 y 6 representan el periodo de tiempo sobre el que los datos fueron recopilados. El formato utilizado es mes del año, día del mes y hora del día. Así que podemos ver que estos datos fueron recopilados a partir del primero de enero a la primer hora del día entre 00:00-01:00, hasta el 31 de diciembre en lahora 24 del día, entre las 23:00-00;00
iii.15 Intenta desplazarte por los 8760 valores arrastrando la barra de desplazamiento color amarillo oscuro (marcada con un gran punto rojo más abajo)
iii.16 Finalmente, arrastraremos el componente 'Ladybug_Sunpath' hasta el lienzo para explicar algunas importantes convenciones y para mostrarte cómo puedes usar la interfaz de Ladybug y Honeybee para conocer sobre los componentes disponibles. El componente de trayectoria solar muestra el movimiento del sol a lo largo de un año completo.
![alt text](https://user-images.githubusercontent.com/44324576/51682324-6ee63d80-1fe7-11e9-9421-faf5311f8ceb.JPG
iii.17 Observa que algunos de los nombres de los datos de entrada para el componente de trayectoria solar son precedidos por un guión bajo, mientras que otros incluyen uno después. Esta es una convención adoptada por Ladybug y Honeybee para distinguir los inputs obligatorios de los opcionales. Si un dato de entrada obligatorio es dejado vacío, el componente no se ejecutará. Nota que aunque el componente de trayectoria solar está en el lienzo, nada aparece en el entorno de modelado en Rhino.
iii.18 Una vez que conectamos el dato de salida de la ubicación, desde el componente 'Ladybug_Import EPW' al dato de entrada de ubicación del componente 'Ladybug_SunPath', existe suficiente información para que el componente 'Ladybug_SunPath' se ejecute.
iii.19 Ahora deberías ver algo parecido a la siguiente ilustración dentro del entorno de modelado de Rhino. Toma en cuenta que la escala por defecto de este diagrama es de 400 unidades de Rhino, y que será colocado en las coordenadas 0,0,0 por lo que será necesario aplicar un zoom para apreciarlo completamente.
iii.20 Podrías haber notado que hay muchos datos de entrada que son precedidos por un guión bajo, pero que aun así se dejan vacíos. De cualquier manera, el componente es ejecutado. Esto sucede porque muchos datos de entrada pueden asumir de manera razonable valores por defecto. No tendría ningún sentido asumir una ubicación por default para la trayectoria solar, ya que la geometría depende enteramente de la latitud de la ubicación del estudio. Sin embargo, uno podría asumir que el periodo de análisis por defecto es un año completo.
iii.21 Mueve el cursor sobre las distintas áreas del componente para aprender más acerca de los dato de entrada requeridos, suposiciones de cálculo, formatos para la entrada de datos y en ocasiones, inlcuso referncias para publicacioes de investigación en las cuales se basan los cálculos de los componentes.
Esto es lo que observarás al momento de pasar tu cursor sobre los datos de entrada de la ubicación:
Esto es lo que verás al pasar tu cursor sobre el centro del componente de trayectoria solar, lo cual aplica dera todo el componente.
Finalmente, al pasar el cursor sobre uno de los datos de salida:
iii-22 También es importante mencionar a secuencia con las que los componentes son ejecutados en el lienzo de Grassopper. Los componetes de Grasshopper usualmente son ejecutados en la secuencia con la que fueron colocados y conectados entre si en el lienzo. Así que los componentes mas ordinarios correrían en la siguiente secuecncia;
Sin embargo, los componentes 'Ladybug_Ladybug' y 'Honeybee_Honeybee siempre son ejecutados al principio. Esto es bueno, porque significa que los datos, las funciones y las librerías contenidas en esos dos componentes siempre están accesibles para todos los que se ekjecuten posteriormente. Esto es verdad incluso si un cable no está conectado. De esta manera, el veradero orden de cálculo es el siguiente:
Esto nos permite cerrar el círculo hasta la explicación ii.00 más arriba. Usualmente, tienes que conectar un cable entre dos componentes para poder transferir datos entre ellos. Este no es el caso en Honeybee. La librería se hizo disponible porque el componente 'Honeybee_Honeybee' fue ejecutado primero y esto hace posible que se ejecuten múltiples funciones en segundo plano.
A medida que aprendas más acerca de Honeybee, llegarás a comprender algunas de las ventajas de escribir código de esta manera. Por ejemplo, esto facilita crear una librería estándar de materiales de Radiance que puede ser accesada por múltiples definiciones en Grasshopper.
Esto concluye la sección de fundamentos de Honeybee. Ahora debes estar familiarizado con:
El layout de la interfaz Ladybug y Honeybee
La importancia de echar a volar Ladybug y Honeybee
Introducir información en un componente panel
Descargar datos climáticos
Importar datos climáticos
Examinar los datos importados
La convención de antes y después para datos de entrada necesarios vs óptimos
Aprender acerca de componentes, y datos de entrada y de salida al pasar el cursor por encima de elllos