Ignore:
Timestamp:
Aug 19, 2012, 12:19:59 AM (12 years ago)
Author:
aslmd
Message:

UTIL PYTHON : a more definitive version of what could make a new and simple MCD web interface. added a lot of capabilities: variable setting, beginner mode, wind vector, fixed or not local time, etc etc etc. some modifications were made to the python MCD interface too (this makes the basis for the web interface).

Location:
trunk/UTIL/PYTHON/mcd/proto
Files:
1 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/UTIL/PYTHON/mcd/proto/cgi-bin/mcdcgi.py

    r639 r761  
    44##################################################
    55### A Python CGI for the Mars Climate Database ###
    6 ### -------------------------------------------###
    7 ### Aymeric SPIGA 18-19/04/2012                ###
    8 ### -------------------------------------------###
     6### ------------------------------------------ ###
     7### Aymeric SPIGA 18-19/04/2012 ~ 11/08/2012   ###
     8### ------------------------------------------ ###
    99### (see mcdtest.py for examples of use)       ###
    1010##################################################
     
    2727query = mcd()
    2828
    29 # Get data from user-defined fields
    30 query.lat = float(form.getvalue("latitude"))
    31 query.lon = float(form.getvalue("longitude"))
    32 query.loct = float(form.getvalue("localtime"))
     29# Get data from user-defined fields and define free dimensions
     30getlat = form.getvalue("latitude")
     31if getlat == "all":  islatfree = 1 ; query.lat = -9999.
     32else:                islatfree = 0 ; query.lat = float(getlat)
     33getlon = form.getvalue("longitude")
     34if getlon == "all":  islonfree = 1 ; query.lon = -9999.
     35else:                islonfree = 0 ; query.lon = float(getlon)
     36getloct = form.getvalue("localtime")
     37if getloct == "all": isloctfree = 1 ; query.loct = -9999.
     38else:                isloctfree = 0 ; query.loct = float(getloct)
     39getalt = form.getvalue("altitude")
     40if getalt == "all":  isaltfree = 1 ; query.xz = -9999.
     41else:                isaltfree = 0 ; query.xz = float(getalt)
     42sumfree = islatfree + islonfree + isloctfree + isaltfree
     43if sumfree > 2: exit() ## only 1D or 2D plots for the moment
    3344query.xdate = float(form.getvalue("ls"))
    34 query.xz = float(form.getvalue("altitude"))
    3545query.hrkey = int(form.getvalue("hrkey"))
    3646query.dust = int(form.getvalue("dust"))
     
    4050#        self.gwlength  = 0. #gravity Wave wavelength (unused if perturkey=0)
    4151
    42 # Get free dimensions
    43 islatfree  = float(form.getvalue("islatfree"))
    44 islonfree  = float(form.getvalue("islonfree"))
    45 isloctfree = float(form.getvalue("isloctfree"))
    46 isaltfree  = float(form.getvalue("isaltfree"))
    47 sumfree = islatfree + islonfree + isloctfree + isaltfree
    48 if sumfree > 2: exit() ## only 1D or 2D plots for the moment
     52# Get variables to plot
     53var1 = form.getvalue("var1")
     54var2 = form.getvalue("var2")
     55var3 = form.getvalue("var3")
     56var4 = form.getvalue("var4")
     57vartoplot = [var1]
     58if var2 != "none": vartoplot = np.append(vartoplot,var2)
     59if var3 != "none": vartoplot = np.append(vartoplot,var3)
     60if var4 != "none": vartoplot = np.append(vartoplot,var4)
     61iswind = form.getvalue("iswind")
     62if iswind == "on": iswindlog = True
     63else:              iswindlog = False
     64isfixedlt = form.getvalue("isfixedlt")
     65if isfixedlt == "on": input_fixedlt=True
     66else:                 input_fixedlt=False 
    4967
    5068# reference name (to test which figures are already in the database)
    51 reference = str(islatfree)+str(islonfree)+str(isloctfree)+str(isaltfree)+query.getnameset()
     69reference = str(islatfree)+str(islonfree)+str(isloctfree)+str(isaltfree)+query.getnameset()+str(var1)+str(var2)+str(var3)+str(var4)+str(iswind)+str(isfixedlt)
    5270figname = 'img/'+reference+'.jpg'
    5371testexist = daos.path.isfile(figname)
     
    6785
    6886    ### generic building of figure
    69     query.plot1d(["t","p","u","v"],vertplot=isaltfree)   
     87    #query.plot1d(["t","p","u","v"],vertplot=isaltfree)
     88    query.plot1d(vartoplot,vertplot=isaltfree)
    7089    mpl.savefig("img/temp.png",dpi=85,bbox_inches='tight',pad_inches=0.25)
    7190    Image.open("img/temp.png").save(figname,'JPEG')
     
    7796    if islatfree == 1 and islonfree == 1:       query.latlon()   
    7897    else:                                       exit() 
    79    
    80     query.map2d(["t","u"])
     98
     99    ### figure   
     100    query.map2d(vartoplot,incwind=iswindlog,fixedlt=input_fixedlt)
    81101    mpl.savefig("img/temp.png",dpi=110,bbox_inches='tight',pad_inches=0.4)
    82102    Image.open("img/temp.png").save(figname,'JPEG') ##lighter images   
     
    92112
    93113## Now the part which differs
    94 if sumfree == 0:        query.update() ; query.printmeanvar() 
     114if sumfree == 0:        query.update() ; query.htmlprinttabextvar(vartoplot)  #query.printmeanvar()
    95115elif sumfree >= 1:      print "<img src='../"+figname+"'><br />"
    96116else:                   exit()
    97117
    98118## This is quite common
    99 print "Based on the <a href='http://www-mars.lmd.jussieu.fr'>Mars Climate Database</a> (c) LMD/OU/IAA/ESA/CNES.<br />"
     119#print "Based on the <a href='http://www-mars.lmd.jussieu.fr'>Mars Climate Database</a> (c) LMD/OU/IAA/ESA/CNES.<br />"
    100120print "<hr>"
    101 query.printset()
     121print "<a href='../index.html'>Click here to start a new query</a>."
     122#query.printset()
     123print "<hr>"
    102124print "</body>"
    103125print "</html>"
  • trunk/UTIL/PYTHON/mcd/proto/index.html

    r760 r761  
    1111</head>
    1212
    13 <body onload="DefaultDateValues();DefaultTimeValues();Convert2Ls();PlaceValues(0.,0.)">
     13<body onload="DefaultDateValues();DefaultTimeValues();Convert2Ls();PlaceValues(0.,0.);DefaultSpaceTime()">
    1414
    1515<!-- aussi possible: get a la place de post. pour avoir un beau lien -->
    1616
    17 <form name="calendar" action="./cgi-bin/mcdcgi.py" method="post">
     17<form name="calendar" action="./cgi-bin/mcdcgi.py" method="post"> <!--target="_new">-->
     18
     19<center>
     20<img src="PIA03610_red.jpg" height=80 width=1200>
     21</center>
    1822
    1923<table align="center" border="1" width="1200" bgcolor="#F5DEB3">
    20 <tr>
    21 <td align="center">
    22 <b>Step 1 : CHOOSE EARTH TIME</b><br />
    23 Year / Month / Day @ hh:mm:ss [UTC time]<br />
     24
     25<tr>
     26<td align="center">
     27<i>Beginners' column (1-click presets)</i>
     28</td>
     29<td align="center">
     30<i>Regular users' column</i>
     31</td>
     32<td align="center">
     33<i>Advanced settings and information</i>
     34</td>
     35</tr>
     36<tr><td align="center"></td><td align="center"></td><td align="center"></td></tr>
     37<tr>
     38<td align="center">
     39<b>1) LANDING DATE</b>
     40<input type="radio" name="lander" value="Now!" onClick="DefaultDateValues();DefaultTimeValues();Convert2Ls();PlaceValues(0.0,0.0)" checked>Land now!<br />
     41<input type="radio" name="lander" value="Curiosity" onClick="DateAndTimeValues(2012,8,6,05,17,57);Convert2Ls();PlaceValues(137.4,-4.6)">Curiosity
     42<input type="radio" name="lander" value="Phoenix" onClick="DateAndTimeValues(2008,5,25,23,38,23);Convert2Ls();PlaceValues(234.25,68.22)">Phoenix<br />
     43<input type="radio" name="lander" value="Opportunity" onClick="DateAndTimeValues(2004,1,25,4,55,0);Convert2Ls();PlaceValues(354.47,-1.95)">Opportunity
     44<input type="radio" name="lander" value="Spirit" onClick="DateAndTimeValues(2004,1,4,4,26,0);Convert2Ls();PlaceValues(175.48,-14.57)">Spirit
     45<input type="radio" name="lander" value="Pathfinder" onClick="DateAndTimeValues(1997,7,4,16,56,55);Convert2Ls();PlaceValues(-33.22,19.13)">Pathfinder <br />
     46<input type="radio" name="lander" value="Viking Lander 2" onClick="DateAndTimeValues(1976,9,3,22,58,20);Convert2Ls();PlaceValues(-225.74,47.97)">Viking Lander 2
     47<input type="radio" name="lander" value="Viking Lander 1" onClick="DateAndTimeValues(1976,7,20,11,53,6);Convert2Ls();PlaceValues(-49.97,22.48)">Viking Lander 1<br />
     48</td>
     49<td align="center">
     50<b>CUSTOMIZE EARTH TIME</b><br />
     51Year / Month / Day @ hh:mm:ss [UTC]<br />
    2452<input type="text" size="3" name="year"> / <input type="text" size="1" name="month"> / <input type="text" size="1" name="day"> @
    2553<input type="text" size="1" name="hours">:<input type="text" size="1" name="minutes">:<input type="text" size="1" name="seconds"><br />
     
    3563<tr>
    3664<td align="center">
    37 <b>Step 2 : CHOOSE COORDINATES ON MARS</b><br />
     65<hr>
     66<b>2) TIME</b>
     67<input type="radio" name="tata" value="Morning" onClick="PlaceValues2(9.)" checked>Morning
     68<input type="radio" name="tata" value="Afternoon" onClick="PlaceValues2(15.)">Afternoon<br />
     69<input type="radio" name="tata" value="Evening" onClick="PlaceValues2(21.)">Evening
     70<input type="radio" name="tata" value="Night" onClick="PlaceValues2(3.)">Night<br />
     71<!--<input type="radio" name="tata" value="Whole day!" onClick="PlaceValues2('all')"><i>Whole day!</i><br />-->
     72<hr>
     73<b>3) ALTITUDE</b>
     74<input type="radio" name="toto" value="Near surface" onClick="PlaceValues3(2.)" checked>Near-surface<br />
     75<input type="radio" name="toto" value="Boundary layer" onClick="PlaceValues3(1000.)">Boundary layer
     76<input type="radio" name="toto" value="Troposphere" onClick="PlaceValues3(10000.)">Troposphere<br/>
     77<input type="radio" name="toto" value="Mesophere" onClick="PlaceValues3(80000.)">Mesosphere<br />
     78<!--<input type="radio" name="toto" value="Whole profile!" onClick="PlaceValues3('all')"><i>Whole profile!</i><br />-->
     79<hr>
     80<!--
     81<b>4) COORDINATES</b> Automatic! <br />
     82<input type="button" value="... or click here for global map!" onClick="PlaceValues('all','all')"><br />
     83-->
     84<!--
     85<b>4)</b>
     86<input type="button" value="Click here for a global map!" onClick="PlaceValues('all','all')"><br />
     87-->
     88<!--
     89<input type="radio" name="titi" value="Global map" onClick="PlaceValues('all','all')">Global map<br />
     90<input type="radio" name="toto" value="Vertical profile" onClick="PlaceValues3('all')">Vertical profile
     91<input type="radio" name="tata" value="Diurnal cycle" onClick="PlaceValues2('all')">Diurnal cycle<br />
     92-->
     93</td>
     94<td align="center">
     95<b>CUSTOMIZE COORDINATES ON MARS</b><br />
    3896<ul>
     97<li>Latitude <input type="text" size="3" name="latitude" value="0."> (write a value or 'all')
     98<li>Longitude <input type="text" size="3" name="longitude" value="0."> (write a value or 'all')
     99<li>Local Time <input type="text" size="2" name="localtime" value="0."> (write a value or 'all')
     100<li>Altitude (m) <input type="text" size="3" name="altitude" value="10."> (write a value or 'all')
     101<!--
    39102<li>Latitude   
    40103<input type="radio" name="islatfree" value="0" checked> Value: <input type="text" size="2" name="latitude" value="0.">
    41104<input type="radio" name="islatfree" value="1"> All [-90 ; 90]
    42105</li>
    43 <li>Longitude  
     106<li>Longitude
    44107<input type="radio" name="islonfree" value="0" checked> Value: <input type="text" size="2" name="longitude" value="0.">
    45108<input type="radio" name="islonfree" value="1"> All [-180 ; 180]
     
    53116<input type="radio" name="isaltfree" value="1"> All [0 ; 100000] m
    54117</li>
     118-->
    55119</ul>
    56120</td>
    57121<td align="center">
    58 [Advanced settings for well-informed Martians]<br />
     122<!--[Advanced settings for well-informed Martians]<br />-->
    59123<ul>
    60 <li>Force Martian solar longitude to be <input type="text" size="3" name="ls"> degrees</li>
     124<li>Force Mars solar longitude to be <input type="text" size="3" name="ls"> degrees</li>
    61125<li>High resolution topography? <input type="radio" name="hrkey" value="1" checked /> Yes <input type="radio" name="hrkey" value="0" /> No </li>
    62126<li>Dust scenario? <select name="dust">
     
    70134<option value="8"         >cold scenario (low dust, min solar)</option>
    71135</select></li>
    72 <li>Presets
    73 <!--<input type="button" value="Now!" onClick="DefaultDateValues();DefaultTimeValues();Convert2Ls();">-->
     136<!--<li>Presets
     137<input type="button" value="Now!" onClick="DefaultDateValues();DefaultTimeValues();Convert2Ls();">
    74138<input type="button" value="Curiosity" onClick="DateAndTimeValues(2012,8,6,05,30,00);Convert2Ls();PlaceValues(137.4,-4.6)">
    75139<input type="button" value="Phoenix" onClick="DateAndTimeValues(2008,5,25,23,38,23);Convert2Ls();PlaceValues(234.25,68.22)">
    76140<input type="button" value="Opportunity" onClick="DateAndTimeValues(2004,1,25,4,55,0);Convert2Ls();PlaceValues(354.47,-1.95)">
    77 <input type="button" value="Spirit" onClick="DateAndTimeValues(2004,1,4,4,26,0);Convert2Ls();PlaceValues(175.48,-14.57)"><br />
     141<input type="button" value="Spirit" onClick="DateAndTimeValues(2004,1,4,4,26,0);Convert2Ls();PlaceValues(175.48,-14.57)">
    78142<input type="button" value="Pathfinder" onClick="DateAndTimeValues(1997,7,4,16,56,55);Convert2Ls();PlaceValues(-33.22,19.13)">
    79143<input type="button" value="Viking Lander 2" onClick="DateAndTimeValues(1976,9,3,22,58,20);Convert2Ls();PlaceValues(-225.74,47.97)">
    80144<input type="button" value="Viking Lander 1" onClick="DateAndTimeValues(1976,7,20,11,53,6);Convert2Ls();PlaceValues(-49.97,22.48)">
    81 </li>
     145</li>-->
    82146</ul>
    83147</td>
     
    85149<tr>
    86150<td align="center">
    87 <b>Step 3 : </b> <input type="submit" value="SUBMIT" style="font-weight:bold"/>
    88 </td>
    89 <td align="center">
    90 Based on the <a href="http://www-mars.lmd.jussieu.fr">Mars Climate Database</a> (c) LMD/OU/IAA/ESA/CNES.
     151<b>4) INTEREST</b>
     152<input type="radio" name="yeah" value="Atmosphere" onClick="PlaceVar('t','p','none','none')" checked>Atmosphere<br />
     153<input type="radio" name="yeah" value="Winds" onClick="PlaceVar('u','v','none','none')">Winds
     154<input type="radio" name="yeah" value="Weather" onClick="PlaceVar('ps_ddv','t','none','none')">Weather<br />
     155<input type="radio" name="yeah" value="Water clouds" onClick="PlaceVar('h2ovap','mtot','h2oice','icetot')">Water clouds
     156<input type="radio" name="yeah" value="Chemistry" onClick="PlaceVar('o3','h2ovap','o','co')">Chemistry<br />
     157<input type="radio" name="yeah" value="Landing engineering" onClick="PlaceVar('rho','rho_ddv','cp','visc')">Landing engineering<br />
     158<input type="radio" name="yeah" value="Glaciology" onClick="PlaceVar('tsurfmn','tsurfmx','co2ice','icetot')">Glaciology
     159<input type="radio" name="yeah" value="Surface meteorology" onClick="PlaceVar('ps','tsurf','none','none')">Surface meteorology<br />
     160<input type="radio" name="yeah" value="Radiative balance" onClick="PlaceVar('lwdown','swdown','lwup','swup')">Radiative balance<br />
     161<!--<input type="button" value="Surface data" onClick="PlaceVar('ps','tsurf','none','none')">-->
     162</td>
     163<td align="center">
     164<b>CUSTOMIZE VARIABLE(S) TO BE DISPLAYED</b><br />
     165<br />
     166Variable 1 <select name="var1">
     167<option value="t"     selected>Temperature (K)</option>
     168<option value="p"             >Pressure (Pa)</option>
     169<option value="rho"           >Density (kg/m3)</option>
     170<option value="u"             >W-E wind component (m/s)</option>
     171<option value="v"             >S-N wind component (m/s)</option>
     172<option value="tsurf"         >Surface temperature (K)</option>
     173<option value="ps"            >Surface pressure (Pa)</option>
     174<option value="mtot"          >Water vapor column (kg/m2)</option>
     175<option value="icetot"        >Water ice column (kg/m2)</option>
     176<option value="h2ovap"        >Water vapor vol. mixing ratio (mol/mol)</option>
     177<option value="h2oice"        >Water ice mixing ratio (mol/mol)</option>
     178<option value="ps_ddv"        >Surface pressure DTD RMS (Pa)</option>
     179<option value="co2ice"        >surface CO2 ice layer (kg/m2)</option>
     180<option value="cp"            >Air heat capacity Cp (J kg-1 K-1)</option>
     181<option value="rho_ddv"       >density DTD RMS (kg/m^3)</option>
     182<option value="tsurfmx"       >daily max mean surf temperature (K)</option>
     183<option value="tsurfmn"       >daily min mean surf temperature (K)</option>
     184<option value="lwdown"        >thermal IR flux to surface (W/m2)</option>
     185<option value="swdown"        >solar flux to surface (W/m2)</option>
     186<option value="lwup"          >thermal IR flux to space (W/m2)</option>
     187<option value="swup"          >solar flux reflected to space (W/m2)</option>
     188<option value="o3"            >O3 ozone vol. mixing ratio (mol/mol)</option>
     189<option value="o"             >[O] vol. mixing ratio (mol/mol)</option>
     190<option value="co"            >[CO] vol. mixing ratio (mol/mol)</option>
     191<option value="visc"          >Air viscosity estimation (N s m-2)</option>
     192</select>
     193<br />
     194Variable 2 <select name="var2">
     195<option value="none"          >(None)</option>
     196<option value="t"             >Temperature (K)</option>
     197<option value="p"     selected>Pressure (Pa)</option>
     198<option value="rho"           >Density (kg/m3)</option>
     199<option value="u"             >W-E wind component (m/s)</option>
     200<option value="v"             >S-N wind component (m/s)</option>
     201<option value="tsurf"         >Surface temperature (K)</option>
     202<option value="ps"            >Surface pressure (Pa)</option>
     203<option value="mtot"          >Water vapor column (kg/m2)</option>
     204<option value="icetot"        >Water ice column (kg/m2)</option>
     205<option value="h2ovap"        >Water vapor vol. mixing ratio (mol/mol)</option>
     206<option value="h2oice"        >Water ice mixing ratio (mol/mol)</option>
     207<option value="ps_ddv"        >Surface pressure DTD RMS (Pa)</option>
     208<option value="co2ice"        >surface CO2 ice layer (kg/m2)</option>
     209<option value="cp"            >Air heat capacity Cp (J kg-1 K-1)</option>
     210<option value="rho_ddv"       >density DTD RMS (kg/m^3)</option>
     211<option value="tsurfmx"       >daily max mean surf temperature (K)</option>
     212<option value="tsurfmn"       >daily min mean surf temperature (K)</option>
     213<option value="lwdown"        >thermal IR flux to surface (W/m2)</option>
     214<option value="swdown"        >solar flux to surface (W/m2)</option>
     215<option value="lwup"          >thermal IR flux to space (W/m2)</option>
     216<option value="swup"          >solar flux reflected to space (W/m2)</option>
     217<option value="o3"            >O3 ozone vol. mixing ratio (mol/mol)</option>
     218<option value="o"             >[O] vol. mixing ratio (mol/mol)</option>
     219<option value="co"            >[CO] vol. mixing ratio (mol/mol)</option>
     220<option value="visc"          >Air viscosity estimation (N s m-2)</option>
     221</select>
     222<br />
     223Variable 3 <select name="var3">
     224<option value="none"  selected>(None)</option>
     225<option value="t"             >Temperature (K)</option>
     226<option value="p"             >Pressure (Pa)</option>
     227<option value="rho"           >Density (kg/m3)</option>
     228<option value="u"             >W-E wind component (m/s)</option>
     229<option value="v"             >S-N wind component (m/s)</option>
     230<option value="tsurf"         >Surface temperature (K)</option>
     231<option value="ps"            >Surface pressure (Pa)</option>
     232<option value="mtot"          >Water vapor column (kg/m2)</option>
     233<option value="icetot"        >Water ice column (kg/m2)</option>
     234<option value="h2ovap"        >Water vapor vol. mixing ratio (mol/mol)</option>
     235<option value="h2oice"        >Water ice mixing ratio (mol/mol)</option>
     236<option value="ps_ddv"        >Surface pressure DTD RMS (Pa)</option>
     237<option value="co2ice"        >surface CO2 ice layer (kg/m2)</option>
     238<option value="cp"            >Air heat capacity Cp (J kg-1 K-1)</option>
     239<option value="rho_ddv"       >density DTD RMS (kg/m^3)</option>
     240<option value="tsurfmx"       >daily max mean surf temperature (K)</option>
     241<option value="tsurfmn"       >daily min mean surf temperature (K)</option>
     242<option value="lwdown"        >thermal IR flux to surface (W/m2)</option>
     243<option value="swdown"        >solar flux to surface (W/m2)</option>
     244<option value="lwup"          >thermal IR flux to space (W/m2)</option>
     245<option value="swup"          >solar flux reflected to space (W/m2)</option>
     246<option value="o3"            >O3 ozone vol. mixing ratio (mol/mol)</option>
     247<option value="o"             >[O] vol. mixing ratio (mol/mol)</option>
     248<option value="co"            >[CO] vol. mixing ratio (mol/mol)</option>
     249<option value="visc"          >Air viscosity estimation (N s m-2)</option>
     250</select>
     251<br />
     252Variable 4 <select name="var4">
     253<option value="none"  selected>(None)</option>
     254<option value="t"             >Temperature (K)</option>
     255<option value="p"             >Pressure (Pa)</option>
     256<option value="rho"           >Density (kg/m3)</option>
     257<option value="u"             >W-E wind component (m/s)</option>
     258<option value="v"             >S-N wind component (m/s)</option>
     259<option value="tsurf"         >Surface temperature (K)</option>
     260<option value="ps"            >Surface pressure (Pa)</option>
     261<option value="mtot"          >Water vapor column (kg/m2)</option>
     262<option value="icetot"        >Water ice column (kg/m2)</option>
     263<option value="h2ovap"        >Water vapor vol. mixing ratio (mol/mol)</option>
     264<option value="h2oice"        >Water ice mixing ratio (mol/mol)</option>
     265<option value="ps_ddv"        >Surface pressure DTD RMS (Pa)</option>
     266<option value="co2ice"        >surface CO2 ice layer (kg/m2)</option>
     267<option value="cp"            >Air heat capacity Cp (J kg-1 K-1)</option>
     268<option value="rho_ddv"       >density DTD RMS (kg/m^3)</option>
     269<option value="tsurfmx"       >daily max mean surf temperature (K)</option>
     270<option value="tsurfmn"       >daily min mean surf temperature (K)</option>
     271<option value="lwdown"        >thermal IR flux to surface (W/m2)</option>
     272<option value="swdown"        >solar flux to surface (W/m2)</option>
     273<option value="lwup"          >thermal IR flux to space (W/m2)</option>
     274<option value="swup"          >solar flux reflected to space (W/m2)</option>
     275<option value="o3"            >O3 ozone vol. mixing ratio (mol/mol)</option>
     276<option value="o"             >[O] vol. mixing ratio (mol/mol)</option>
     277<option value="co"            >[CO] vol. mixing ratio (mol/mol)</option>
     278<option value="visc"          >Air viscosity estimation (N s m-2)</option>
     279</select>
     280</td>
     281<td align="center">
     282<!--[Additional settings]<br />-->
     283<ul>
     284<li> Add wind vectors
     285<input type="radio" name="iswind" value="off" checked /> No
     286<input type="radio" name="iswind" value="on"          /> Yes</li> 
     287<li> Set same LT on whole planet
     288<input type="radio" name="isfixedlt" value="off" checked /> No
     289<input type="radio" name="isfixedlt" value="on"          /> Yes</li>
     290<!--
     291<li> Add another variable
     292<input type="radio" name="superimposed" value="0" checked /> side-by-side
     293<input type="radio" name="superimposed" value="1"         /> superimposed</li>
     294-->
     295<!--
     296<li>
     297Presets
     298<input type="button" value="Usual meteorology" onClick="PlaceVar('p','t','u','v')">
     299<input type="button" value="Surface data" onClick="PlaceVar('ps','tsurf','none','none')">
     300<input type="button" value="Water cycle" onClick="PlaceVar('mtot','icetot','none','none')">
     301</select>
     302-->
     303</li>
     304</ul>
     305</td>
     306</tr>
     307<tr>
     308<td align="center">
     309<input type="submit" value="Values" style="font-weight:bold" />
     310<input type="submit" value="Daily cycle" style="font-weight:bold" onClick="PlaceValues2('all')"/><br />
     311<input type="submit" value="Vertical profile" style="font-weight:bold" onClick="PlaceValues3('all')"/>
     312<input type="submit" value="Global map" style="font-weight:bold" onClick="PlaceValues('all','all')"/><br />
     313</td>
     314<td align="center">
     315<input type="submit" value="SUBMIT" style="font-weight:bold"/>
     316</td>
     317<td align="center">
     318<a href="http://www-mars.lmd.jussieu.fr">Mars Climate Database</a> (c) LMD/OU/IAA/ESA/CNES.<br />
     319Interface by Aymeric Spiga (LMD).<br />
    91320</td>
    92321</tr>
  • trunk/UTIL/PYTHON/mcd/proto/martian_time.js

    r639 r761  
    367367var lon;
    368368var lat;
     369var savlon;
     370var savlat;
     371var yeah;
     372savlon=document.calendar.longitude.value;
     373savlat=document.calendar.latitude.value;
    369374document.calendar.longitude.value=lon;
    370375document.calendar.latitude.value=lat;
    371 }
     376yeah=document.calendar.toto.value;
     377// to be improved. lon and lat should be separated. but for the moment
     378// only mapping capabilities exist as 2D plots which means if lon is all
     379// lat is all and vice versa.
     380if ( document.calendar.longitude.value == "all") {
     381 if ( document.calendar.altitude.value == "all") {
     382    alert("Not allowed! Altitude and time must be fixed in mapping mode.");
     383    document.calendar.longitude.value=savlon;
     384    document.calendar.latitude.value=savlat;
     385    document.calendar.toto.value=yeah;
     386 }
     387 if ( document.calendar.localtime.value == "all") {
     388    alert("Not allowed! Altitude and time must be fixed in mapping mode.");
     389    document.calendar.longitude.value=savlon;
     390    document.calendar.latitude.value=savlat;
     391    document.calendar.toto.value=yeah;
     392 }
     393}
     394}
     395
     396function PlaceVar(var1,var2,var3,var4){
     397var var1;
     398var var2;
     399var var3;
     400var var4;
     401document.calendar.var1.value=var1;
     402document.calendar.var2.value=var2;
     403document.calendar.var3.value=var3;
     404document.calendar.var4.value=var4;
     405}
     406
     407function DefaultSpaceTime(){
     408document.calendar.localtime.value = 9
     409document.calendar.altitude.value = 2
     410}
     411
     412// this is separated from PlaceValues because
     413// allows easier determination through earth time
     414// if needed (e.g. example case with rovers)
     415function PlaceValues2(localtime){
     416var localtime;
     417var savlocaltime;
     418savlocaltime=document.calendar.localtime.value
     419document.calendar.localtime.value=localtime;
     420if ( document.calendar.localtime.value == "all" ) {
     421 if ( document.calendar.altitude.value == "all" ) {
     422    alert("Not allowed! Now choose either a fixed altitude or a fixed time.");
     423    //document.calendar.localtime.value=savlocaltime;
     424 }
     425}
     426if ( document.calendar.localtime.value == "all" ) {
     427 if ( document.calendar.longitude.value == "all" ) {
     428    alert("Not allowed! Now choose either a lander or a fixed time.");
     429    //document.calendar.localtime.value=savlocaltime;
     430 }
     431}
     432}
     433function PlaceValues3(altitude){
     434var altitude;
     435var savaltitude;
     436savaltitude=document.calendar.altitude.value
     437document.calendar.altitude.value=altitude;
     438if ( document.calendar.altitude.value == "all" ) {
     439 if ( document.calendar.localtime.value == "all") {
     440    alert("Not allowed! Now choose either a fixed time or a fixed altitude.");
     441    //document.calendar.altitude.value=savaltitude;
     442 }
     443}
     444if ( document.calendar.altitude.value == "all" ) {
     445 if ( document.calendar.longitude.value == "all") {
     446    alert("Not allowed! Now choose either a lander or a fixed altitude.");
     447    //document.calendar.altitude.value=savaltitude;
     448 }
     449}
     450}
     451
Note: See TracChangeset for help on using the changeset viewer.