קורס GrADS שיעור מספר 4 - הפקת מפת T2m

נתנאל531

Well-known member
הקדמה

קישור לשיעורים קודמים -
שיעור 3 - כניסה לתוך הקוד (חלק ב) - http://www.tapuz.co.il/forums/viewmsg/393/179954727/טבע_ומזג_אוויר/מזג_האוויר
שיעור 3 - כניסה לתוך הקוד (חלק א) - http://www.tapuz.co.il/forums/viewmsg/393/179848382/טבע_ומזג_אוויר/מזג_האוויר
שיעור 2 - יצירת מפת משקעים - http://www.tapuz.co.il/forums/viewmsg/393/179827275/טבע_ומזג_אוויר/מזג_האוויר
שיעור 1 - התקנה - http://www.tapuz.co.il/forums/viewmsg/393/179813942/טבע_ומזג_אוויר/מזג_האוויר

לאחר השיעורים הקודמים שעסקו ביצירת מפת משקעים והבנת הקוד שלה, נעבור כעת להפקת מפת T2m - צפי לטמפרטורה בגובה 2m מעל הקרקע, נתון שמכונה בקיצור 'טמפרטורה', ובא לידי ביטוי בכל מדידה ותחנה מטאורולוגית, משקף על פי רוב את התחושה האם 'חם' / 'נעים' / 'קר'. למען הסר ספק, מדובר בנתון שחוזה את הטמפרטורה 2m מעל קרקע בכל נקודה גיאוגרפית לפי גובהה, ולא בגובה 2m מעל פני הים שהינו גובה קבוע (ובדרך כלל יהיה קבור מתחת לקרקע).

הערה מנהלתית: מפאת קוצר זמן חלקים מהשיעור יושלמו כנראה מחר בבוקר.
 

נתנאל531

Well-known member
מנהלות

פרק זה מבוסס על פרק המנהלות בשיעור הראשון בקורס, מי שחדש - יעבור קודם שם.

הורידו את הקובץ הבא והציבו אותו בתיקיה c:\aaa
(משתמשי לינוקס - בתיקיה home/user/grads/, להחליף את user בשם האמיתי)
http://or-avner.net/grads/gfs-t2m.gs

הורידו את הקובץ הבא והציבו אותו בתיקייה c:\aaa\helpers
(משתמשי לינוקס - בתיקיה home/user/grads/helpers/, להחליף את user בשם האמיתי)
http://or-avner.net/grads/t2m-scale.gs

משתמשי לינוקס - עברו על הקובץ הראשון בעורך הטקסט החביב עליכם, הסירו את התיוג # מהקריאה לקבצי העזר בניתוב לינוקסאי, והוסיפו תיוג זה לניתוב של משתמשי Windows (לא חובה, רק כדי למנוע הודעות אזהרה בגלל ניתוב לקבצים לא קיימים). לזכור בנוסף לשנות את הניתוב home/user/ לניתוב האמיתי של תיקיית הבית שלכם, אחרת הריצה תתקל בשגיאות.

הערה: סקאלת הצבעים הזו הינה של Shlomobar, ומצורפת כאן ברשותו (ובשינוי קטן)
 

נתנאל531

Well-known member
הפעלת הסקריפט

תזכורת לפני ההרצה - לערוך את הקובץ gfs-link.gs להרצה האחרונה שזמינה בשרת! הסבר לעריכת הקובץ מובא בשיעור מספר 2 - "תוכן ועריכת הקובץ gfs-link.gs".

נפתח את ה־Grads (מי שלא זוכר איך, שיעור מס' 1 - "הפעלת התוכנה" ו"הפעלה").

בחלון שמחכה לפקודה נקליד:
run /cygdrive/c/aaa/gfs-t2m.gs
(משתמשי לינוקס - run /home/user/grads/gfs-t2m.gs, לשנות את user לשם האמיתי)<user></user>

במידה והכל פעל כהלכה יופיע בחלון הציור מפה של t2m לישראל וסביבתה הקרובה (לשעת הש'+18), ופלט גרפי ישמר גם בתיקיה 'output'.
 

נתנאל531

Well-known member
הסבר פעילות הסקריפט

סקריפט זה מצייר מפת צבע של t2m, בנוסף מצייר קווי איזורתמות (בהפרש של 3 אחת מהשניה) של t2m, וגם וקטורי רוחות בגובה 10m.
&nbsp
מרבית הפקודות חוזרות משיעור 3 ובוארו שם, כאן יבוארו הפקודות החדשות שלא בוארו שם:

 

נתנאל531

Well-known member
set vpage

פקודה זו מאפשרת לתחום במסגרת (בלתי נראית) שטח מסויים בחלון הציור שלנו, שבו תצוייר המפה המבוקשת, במקום שתתפרס על פני כל השטח. פקודה שימושית כאשר רוצים לשלב מספר מפות / גרפים וכו' בדף ציור אחד, וכן כאשר מציירים מפה שאינה מתאימה ליחס הרגיל של תמונה לרוחב, כדוגמת מפה של מדינת ישראל שהינה מלבנית. במקרה זה הפקודה מאפשרת להצמיד את המקרא (סקאלת ערכי הצבעים) למפה, במקום שתהיה במרחק ממנה.

הפקודה מקבלת 4 ערכים שהם נקודות הקודקוד של המרובע הנבחר, כאשר יחידת המידה היא באינצ'ים. זה לחלוטין לא נח (יש צורך להתעסק עם מספרים עשרוניים לא-שלמים, במקום שיהיו אלו ערכים שלמים בסדר גודל של מאות ואלפים), אבל ככה זה. בחירה מדוייקת של שטח מבוקש נעשית באמצעות ניסוי-וטעייה, מנסים ערכים שונים ומצמצמים אט-אט, עד שמגיעים לשטח המבוקש.

בסקריפט ישנה אפשרות לבחור (באמצעות תיוג # בתחילת השורה בין 2 הגדרות אורך-רוחב, אחת ישראלית, ואחת מרחבית יותר. במידה ומשתמשים במרחבית, אין צורך ב־set vpage (ואף להפך, היא מפריעה), ויש לתייג אותה ב־# בתחילתה למניעת פעולה.

דוגמא לפלט הסקריפט ללא פקודה זו. במקרה זה הכותרת הוגדרה לעמוד בצד השמאלי של חלון הציור, ולכן הוסטה שמאלה (אפשר גם להגדיר לה לעמוד באמצע, לא חייבים את set vpage בשבילה) וסקאלת הצבעים התיישבה באמצע השטח הפנוי מימין למפה. לה קשה יותר להגיד היכן להתמקם, בשבילה יש את set vpage שכופה עליה להצמד למפה.

 

נתנאל531

Well-known member
set ctrep / set csmooth

הגדרות אלו קשורות לאופן ציור המפה: האם לצייר באופן נוקשה עם קווים חדים, או באופן עגלגל ונעים יותר. בפועל בדרך כלל נעשה שימוש בציור בסגנון 'עגלגל'.

דוגמה לציור המפה כאשר הגדרות אלו כבויות -

 

נתנאל531

Well-known member
set clab

הגדרה זו שולטת על מקרא האיזורתמות, והוא מקבל מספר אפשרויות: ללא הצגה כלל, הצגה על רקע לבן, הצגה על רקע שקוף ומאמץ מקסימלי להצגת כמה שיותר מקראים.

מצורפים פה דוגמאות של 4 ערכים אלו: on ,off ,forced ,masked. כברירת מחדל נעשה שימוש ב־masked, שמציגה מקרא על קווי האיזותרמות ללא רקע לבן שמסתיר חלקים במפה.

פקודה זו מאפשרת גם פעלולי טקסט שונים (הצגת ערכים עד 2 ספרות אחר הנקודה, הוספת C לערכי טמפרטורה), בסקריפט זה לא נעשה שימוש ביכולת זו, הסבר על שימוש זה יגיע בסקריפט המתאים.







 

נתנאל531

Well-known member
set t 't1'

פקודה זו קובעת את פרוסת הזמן המבוקשת. כזכור ישנם 81 פרוסות אפשריות, t=1 משמעה אנליזה לשעת ה־ש', t=2 משמעה שעת ה־ש+3, כל ערך מספרי מעבר משמעו 3 שעות קדימה עד t=81, שמשמעו חיזוי (באמינות מפוקפקת) לטווח 240+

במקרה זה משמעות הפקודה היא לקבוע את t, שהוא פרמטר הזמן בערך של המשתנה t1 שהוגדר קודם לכן, אפשר גם להשתמש בתחביר
'set t 7'
זה אותו דבר בדיוק.

תשומת לב לכך שכאשר נעשה שימוש במשתנים, הם צריכים להופיע מחוץ לגרש־ים שעוטפות את הפקודות, וכך תרגום הפקודה לתוכנה היא
'set t 7'

תשומת לב לרווח שלפני הגרש השני, הוא חיוני! בלעדיו הפקודה שהתוכנה תקבל היא
'set t7'
והתוצאה תהיה שגיאה ועצירת הסקריפט. לא ניתן לשים את הרווח לאחר הגרש, מאחר וישנה התעלמות מרווחים מחוץ לתחום הגרש־ים, חשוב לשים לב למניעת שגיאות בסקריפטים עתידיים!
 

נתנאל531

Well-known member
d tmp2m-273.16

כמעט נשכחה הפקודה החשובה ביותר, זו פקודת הציור של המשתנה tmp2m של GFS, שמשמעו ציור טמפרטורה בגובה 2m מעל הקרקע (בהתאם לכללים שנקבעו קודם לכן), פחות ערך מספרי קבוע של 273.16

מה הסיבה להפחתה המשונה הזו של הערך? מסיבה שאינה ידועה לי, למודלים ישנה חיבה לערכי טמפרטורה בסולם קלווין, שבו נקודת ה־0 נמצאת על ה־0 המוחלט. כדי להתאים את הערך לסולם צלזיוס האנושי יותר, מבוצעת המרה באמצעות הפחתת סכום קבוע, שהינו ההפרש בין 2 סולמות אלו, שהינם מקבילים ופורפורציונאלים. באופן דומה ניתן להמיר גם לפרנהייט, אך שם הנוסחה מעט מורכבת יותר, מאחר ואלו סולמות שאינם פורפורציונאלים.
 

נתנאל531

Well-known member
set gxout contour

פקודה זו מגדירה ל־GrADS לעבור לציור איזותרמות, במקום 'מריחות-צבע' כפי שנעשה עד כה במפת המשקעים ובחלקה הארי של מפת t2m. השילוב בין שתי ציורים אלו מאפשר הבחנה טובה יותר במפה, מאחר וצבעים דומים נבלעים לעיתים אחד בשני, וקשים להבחנה בעין אנושית.

הצבע לאיזותרמות נבחר בפקודה set ccolor שכבר הוסברה. במידה ולא תופיע פקודה זו, יעשה שימוש בצבע האחרון שהוגדר.
 

נתנאל531

Well-known member
בגלל שלא ניתנה בינתיים פקודת ניקוי (clear)

ציור האיזותרמות יהיה על גבי מפת הצבע שכבר נוצרה קודם לכן, ולא במקומה.
 

נתנאל531

Well-known member
set cint

פקודה זו קובעת את המרווח בין האיזותרמות, מקבלת ערכים שלמים וגם שאינם-שלמים. כמובן שצפיפות יתר של איזותרמות מפריעה לקריאות המפה ויוצרת רעש גדול מדי.
&nbsp
דוגמה לצפיפות איזותרמות בהפרש של 1
&nbsp

 

נתנאל531

Well-known member
d skip(UGRD10m,1,1);vGRD10m

פקודה זו מציירת את וקטורי הרוחות, כלומר ציור חצים שהם שילוב של כיוון ומהירות. הכיוון קל לזיהוי, המהירות מוצגת באופן וקטורי, כלומר ככל שהחץ גדול יותר, כך המהירות גבוהה יותר. נעשה פה שימוש בשני משתנים - uGRD10m ו־vGRD10m שמייצגים 2 מימדים של כיוון הרוח בגובה 10m מעל הקרקע.

הערך 1,1 מאפשר לקבוע את צפיפות הופעת הוקטורים, ככל שהמספר גדול יותר, הצפיפות תהיה קטנה יותר. שימושי יותר במודלים ברזולוציה גבוהה יותר, וכאשר רוצים להציג שטח רחב יותר, כדי להמנע מעודף וקטורי רוחות שיפריעו לקריאות המפה.

דוגמא לתצוגה עם הערך 3,3:

 

נתנאל531

Well-known member
set string

פקודה שמאפשרת לקבוע את צבע מחרוזת הטקסט שתכתב, מקבלת ערך צבע סטנדרטי (1-16, צבעי הבסיס של GrADS) או צבע מוגדר אישית שהוגדר קודם לכן.

תשומת לב לכך שבניגוד לסקריפט הקודם שבו נעשה שימוש בפקודה draw title לציור כותרת, פה נעשה שימוש בפקודה draw string. פקודה זו מאפשרת שליטה על פורמט הכותרת (או על הטקסט שיוצג היכן שהוא בחלון הציור), בניגוד לפקודה draw title שלא מקבלת הגדרות ולא מאפשרת שינוי צבע או גודל גופן.

ניתן לבחור בין 2 פקודות אלו לפי רצון אישי, אין הכרח לשימוש דווקא באחת מהם. בסקריפט זה ניתן להחליף בין השתים באמצעות החלפת התיוג # בהתאם לרצון.

דוגמא ל־set string 2

 

נתנאל531

Well-known member
set strsiz

פקודה שמאפשרת שינוי גודל הגופן, מקבלת 2 ערכים, אחד לאורך ואחד לרוחב, ובאינצ'ים דווקא. אפשר לשחק עם הערכים לאט בניסוי-וטעייה עד שמתקבלת התוצאה המבוקשת.
&nbsp
 
למעלה