Changeset 204


Ignore:
Timestamp:
03/26/14 11:58:56 (10 years ago)
Author:
pinsard
Message:

fix thanks to coding rules; typo

Location:
trunk
Files:
5 deleted
90 edited

Legend:

Unmodified
Added
Removed
  • trunk/adm/install.sh

    r199 r204  
    1616# ======== 
    1717# 
    18 # :: 
     18# .. code-block:: bash 
    1919# 
    20 $ install.sh -w dirwww -p dirpublish -u urlpublish -l login 
     20  install.sh -w dirwww -p dirpublish -u urlpublish -l login 
    2121# 
    2222# DESCRIPTION 
     
    2828# is launched. 
    2929# 
    30 # -w  input directort 
    31 # -p  output directory 
    32 # -u  output url 
    33 # -l  login used to access on output url 
     30# .. option:: -w <input directory> 
     31# .. option:: -p <output directory> 
     32# .. option:: -u <output url> 
     33# .. option:: -l <login used to access on output url> 
    3434# 
    3535# EXAMPLES 
     
    4848# - fplod 2009-04-27T10:21:23Z aedon.locean-ipsl.upmc.fr (Darwin) 
    4949# 
    50 #   * creation from personnal tool (used for superbib, SAXO, etc.) 
     50#   * creation from personal tool (used for superbib, SAXO, etc.) 
    5151# 
    5252#- 
     
    5454case "${system}" in 
    5555   AIX|IRIX64) 
    56       echo " www : no specific posix checking" 
     56       echo " www : no specific posix checking" 
    5757   ;; 
    5858   *) 
    59       set -o posix 
     59       set -o posix 
    6060   ;; 
    6161esac 
     
    7373if [ ${#} -lt ${minargcount} ] 
    7474then 
    75    echo "eee : not enought arguments" 
     75   echo "eee : not enough arguments" 
    7676   echo "${usage}" 
    7777   exit 1 
     
    111111answer=${1:-" "} 
    112112case ${answer} in 
    113    y|Y|n|N) 
    114    ;; 
    115    *) 
    116       if [ "${dirpublish}" != "none" ] 
    117       then 
    118          echo "Do you want to install ${dirwww} on ${dirpublish} (y|[n]) ?" 
    119          read answer 
    120       fi 
    121       if [ "${urlpublish}" != "none" ] 
    122       then 
    123          echo "Do you want to install ${dirwww} on ${urlpublish} (y|[n]) ?" 
    124          read answer 
    125       fi 
    126    ;; 
     113    y|Y|n|N) 
     114    ;; 
     115    *) 
     116        if [ "${dirpublish}" != "none" ] 
     117        then 
     118            echo "Do you want to install ${dirwww} on ${dirpublish} (y|[n]) ?" 
     119            read answer 
     120        fi 
     121        if [ "${urlpublish}" != "none" ] 
     122        then 
     123            echo "Do you want to install ${dirwww} on ${urlpublish} (y|[n]) ?" 
     124            read answer 
     125        fi 
     126    ;; 
    127127esac 
    128128# 
    129129case ${answer} in 
    130    y|Y) 
    131       if [ "${dirpublish}" != "none" ] 
    132       then 
    133          # copy of ${dirwww} on $dirpublish 
    134          echo "iii : update of ${dirpublish}" 
    135          rsync -av --exclude=".DS_Store" -e ssh ${dirwww}/ ${dirpublish} 
    136          # detect if in dirpublish following this pattern [USER@]HOST:SRC, HOST 
    137          # is cerbere.locean-ipsl.upmc.fr. If so, a specific update is launched 
    138          userhost=${dirpublish%%:*} 
    139          host=${userhost##*@} 
    140          if [ ${login} = "none" ] 
    141          then 
    142             user=${userhost%%@*} 
    143          else 
    144             user=${login} 
    145          fi 
    146          if [ "${host}" = "cerbere.locean-ipsl.upmc.fr" ] 
    147          then 
    148            wget -q "http://intranet.locean-ipsl.upmc.fr/persoweb/?fastupdate=1&user=${user}" -O /dev/null 
    149          fi 
    150       else 
    151          # urlpublish=http://www.locean-ipsl.upmc.fr/~ginette/produit 
    152          dirpublish=${urlpublish##*~} 
    153          cd ${dirwww} 
    154          #lftp -e "mirror -R . ${dirpublish};quit" -u ${LOGNAME} skyros.locean-ipsl.upmc.fr 
    155          lftp -e "mirror -R . ${dirpublish};quit" -u ${LOGNAME} www.locean-ipsl.upmc.fr 
    156          # ++ log 
    157       fi 
    158    ;; 
    159    *) 
    160       echo "no update of ${dirpublish} or ${urlpublish}" 
    161    ;; 
     130    y|Y) 
     131        if [ "${dirpublish}" != "none" ] 
     132        then 
     133            # copy of ${dirwww} on $dirpublish 
     134            echo "iii : update of ${dirpublish}" 
     135            rsync -av --exclude=".DS_Store" -e ssh ${dirwww}/ ${dirpublish} 
     136            # detect if in dirpublish following this pattern [USER@]HOST:SRC, HOST 
     137            # is cerbere.locean-ipsl.upmc.fr. If so, a specific update is launched 
     138            userhost=${dirpublish%%:*} 
     139            host=${userhost##*@} 
     140            if [ ${login} = "none" ] 
     141            then 
     142                user=${userhost%%@*} 
     143            else 
     144                user=${login} 
     145            fi 
     146            if [ "${host}" = "cerbere.locean-ipsl.upmc.fr" ] 
     147            then 
     148                wget -q "http://intranet.locean-ipsl.upmc.fr/persoweb/?fastupdate=1&user=${user}" -O /dev/null 
     149            fi 
     150        else 
     151            # urlpublish=http://www.locean-ipsl.upmc.fr/~ginette/produit 
     152            dirpublish=${urlpublish##*~} 
     153            cd ${dirwww} 
     154            #lftp -e "mirror -R . ${dirpublish};quit" -u ${LOGNAME} skyros.locean-ipsl.upmc.fr 
     155            lftp -e "mirror -R . ${dirpublish};quit" -u ${LOGNAME} www.locean-ipsl.upmc.fr 
     156            # ++ log 
     157        fi 
     158    ;; 
     159    *) 
     160        echo "no update of ${dirpublish} or ${urlpublish}" 
     161    ;; 
    162162esac 
    163163# 
  • trunk/adm/website/Readme.rst

    r202 r204  
    88----------------------------- 
    99 
    10 The TropFlux project aims at providing daily, timely, accurate air-sea heat and momentum flux data for the entire 30°N-30°S region.  Wind stresses and the four components of net surface heat flux are currently available for the entire 1979 to March 2013 period. We are currently working on a regular (~monthly) update of the TropFlux product until 3-4 months behind realtime. 
     10The TropFlux project aims at providing daily, timely, accurate air-sea heat and momentum flux data for the entire 30°N-30°S region.  Wind stresses and the four components of net surface heat flux are currently available for the entire 1979 to March 2013 period. We are currently working on a regular (~monthly) update of the TropFlux product until 3-4 months behind realtime. 
    1111 
    1212TropFlux is largely derived from a combination of ERA-I re-analysis data for turbulent and longwave fluxes, and ISCCP surface radiation data for shortwave flux. All input products are bias- and amplitude-corrected on the basis of Global Tropical Moored Buoy Array data, before surface net heat flux and wind stresses are computed using the COARE v3 bulk algorithm. A precise description of the flux computation procedure, as well as a detailed evaluation against other timely, daily air-sea heat flux alternatives (OAFLUX, NCEP, NCEP2, ERA-I) is provided in Praveen Kumar et al. 2012. The wind stress product is described, evaluated and compared against other widely used products (QuikSCAT, NCEP, NCEP2, ERA-I) in Praveen Kumar et al. 2013 
     
    1818 - a simple estimate of surface shortwave radiation is provided from OLR data, as a near-realtime alternative to the more accurate but irregularly updated ISCCP data. 
    1919 
    20 The TropFlux product has been developed under a collaboration between the Laboratoire d'Océanographie: Expérimentation et Approches Numériques (LOCEAN) from Institut Pierre Simon Laplace, France and National Institute of Oceanography/CSIR, India. Bilateral scientific visits to France and India have been supported by Institut de Recherche pour le Développement, France. 
     20The TropFlux product has been developed under a collaboration between the Laboratoire d'Océanographie: Expérimentation et Approches Numériques (LOCEAN) from Institut Pierre Simon Laplace, France and National Institute of Oceanography/CSIR, India. Bilateral scientific visits to France and India have been supported by Institut de Recherche pour le Développement, France. 
    2121 
    2222Data format 
     
    4040The data is provided in NetCDF format, with one file per variable for the complete dataset. 
    4141Daily (almost 1Gb per file) and monthly (32Mb per file) average data are proposed. 
    42 The data is provided on a 1° resolution grid (with the same land-sea mask than for the OAFLUX project, http://oaflux.whoi.edu/ ). 
     42The data is provided on a 1° resolution grid (with the same land-sea mask than for the OAFLUX project, http://oaflux.whoi.edu/ ). 
    4343There are 60 points in latitude at -29.5, -28.5, ..., 28.5 (positive north of the equator). 
    4444There are 350 points in longitude at 30.5, 31.5, ..., 379.5 (eastward of the Greenwich meridian). 
  • trunk/adm/website/bibliography_web.rst

    r200 r204  
    4646.. - fplod 20110421T085259Z aedon.locean-ipsl.upmc.fr (Darwin) 
    4747.. 
    48 ..   * add references about TAO/TRITION, PIRATA, and RAMA 
     48..   * add references about TAO/TRITON, PIRATA, and RAMA 
    4949.. 
    5050.. - fplod 20110407T084904Z aedon.locean-ipsl.upmc.fr (Darwin) 
  • trunk/adm/website/bibtropflux.xml

    r199 r204  
    88<!--rst 
    99 
    10 DESCRITPTION 
    11 ============ 
     10DESCRIPTION 
     11=========== 
    1212 
    1313Publications using TropFlux dataset 
     
    2121==== 
    2222 
    23 add instruction to check somewhere:: 
     23add instruction to check somewhere: 
     24 
     25.. code-block:: bash 
    2426  
    2527   xml val \-\-err \-\-xsd http://www.docbook.org/xml/5.0/xsd/docbook.xsd bibtropflux.xml 
     
    3638- fplod 20120412 
    3739 
    38 * replace praven-kumar2011_01 by praven-kumar2012_01 and update  
     40* replace praveen-kumar2011_01 by praveen-kumar2012_01 and update  
    3941 
    4042- fplod 20120228 
     
    9496  </biblioset> 
    9597</biblioentry> 
    96 <biblioentry xml:id="praven-kumar2012_01"> 
    97 <!-- ++ bibtek key PraveenkumarVialardEtAl:CD:2012--> 
     98<biblioentry xml:id="praveen-kumar2012_01"> 
     99<!-- ++ bibtex key PraveenkumarVialardEtAl:CD:2012--> 
    98100    <authorgroup> 
    99101        <author> <personname> <surname>Praveen Kumar</surname> <firstname>B.</firstname> </personname> </author> 
  • trunk/adm/website/conf.py

    r203 r204  
    2020# - fplod 20110330T142745Z aedon.locean-ipsl.upmc.fr (Darwin) 
    2121# 
    22 #   * add path for matploblib extension of sphinx f(python installation) 
     22#   * add path for matplotlib extension of sphinx f(python installation) 
    2323# 
    2424# EVOLUTIONS 
  • trunk/adm/website/contact.rst

    r146 r204  
    66.. 
    77.. learn to use :fieldname: nocomments 
    8 .. cf http://sphinx.pocoo.org/markup/misc.html?highlight=comment 
    9 .. to avoid seeing snipets of this header on search results page. 
     8.. cf. http://sphinx.pocoo.org/markup/misc.html?highlight=comment 
     9.. to avoid seeing snippets of this header on search results page. 
    1010.. 
    1111.. EVOLUTIONS 
     
    3838======= 
    3939 
    40 For any scientific queries or issues regarding TropFlux data, please contact us using the following mailing list (mailto:tropflux@locean-ipsl.upmc.fr). 
     40For any scientific queries or issues regarding TropFlux data, 
     41please contact us using the following 
     42mailing list (mailto:tropflux@locean-ipsl.upmc.fr). 
  • trunk/adm/website/data/changes.rst

    r203 r204  
    2525.. - fplod 20130725T150201Z cratos.locean-ipsl.upmc.fr (Linux) 
    2626.. 
    27 ..   * introducting update until March 2013 included 
     27..   * introducing update until March 2013 included 
    2828.. 
    2929.. - fplod 20130725T131036Z cratos.locean-ipsl.upmc.fr (Linux) 
     
    3333.. - fplod 20121221T174433Z cratos.locean-ipsl.upmc.fr (Linux) 
    3434.. 
    35 ..   * introducting update until July 2012 included 
     35..   * introducing update until July 2012 included 
    3636.. 
    3737.. - fplod 20120229 
     
    129129 
    130130  - correction of :file:`ws_tropflux_1m_1989_2010.nc` and 
    131     :file:`ws_tropflux_1d_1989_2010.nc` due to unappropriated unit conversion 
     131    :file:`ws_tropflux_1d_1989_2010.nc` due to inappropriate unit conversion 
    132132 
    133133.. _20110707: 
  • trunk/adm/website/data_access.rst

    r203 r204  
    2424.. - fplod 20130726T175139Z cratos.locean-ipsl.upmc.fr (Linux) 
    2525.. 
    26 ..   * introducting update until March 2013 included 
     26..   * introducing update until March 2013 included 
    2727.. 
    2828.. - fplod 20130725T131417Z cratos.locean-ipsl.upmc.fr (Linux) 
     
    3232.. - fplod 20121221T174433Z cratos.locean-ipsl.upmc.fr (Linux) 
    3333.. 
    34 ..   * introducting update until july 2012 included 
     34..   * introducing update until july 2012 included 
    3535.. 
    3636.. - jv 20120229 
    3737.. 
    38 ..   * add LOCEAN in aknowledgement sentence 
     38..   * add LOCEAN in acknowledgement sentence 
    3939.. 
    4040.. - fplod 20120229 
     
    107107Please acknowledge us by using the following sentence: 
    108108**The TropFlux data is produced under a collaboration between 
    109 Laboratoire d'Océanographie: Expérimentation et Approches Numériques (LOCEAN) from 
     109Laboratoire d'Océanographie: Expérimentation et Approches Numériques (LOCEAN) from 
    110110Institut Pierre Simon Laplace (IPSL, Paris, France) and 
    111111National Institute of Oceanography/CSIR (NIO, Goa, India), and 
    112 supported by Institut de Recherche pour le Développement (IRD, France). 
     112supported by Institut de Recherche pour le Développement (IRD, France). 
    113113TropFlux relies on data provided by the ECMWF Re-Analysis interim (ERA-I) 
    114114and ISCCP projects.** 
  • trunk/adm/website/description.rst

    r203 r204  
    1010.. ==== 
    1111.. 
    12 .. (July 1983 to December 2009 at the time of writing), ... not anymore true 
     12.. (July 1983 to December 2009 at the time of writing), ... not any more true 
    1313.. 
    1414.. EVOLUTIONS 
     
    3838.. 
    3939..   * creation from description.odt 
    40 ..     transform to ReST using odt2sphinx + hand correction (diacritical, 
    41 ..     ponctuations, short lines, links !!) 
     40..     transform to ReStructuredText using odt2sphinx + hand correction 
     41..     (diacritical, punctuations, short lines, links !!) 
    4242.. 
    4343.. - 
     
    7878 
    7979  * **An additional climatological surface temperature-dependent gustiness 
    80     is applied to wind speed, in order to account for unresolved (sub-daily and subgrid-scale) variability.** 
     80    is applied to wind speed, in order to account for unresolved (sub-daily 
     81    and subgrid-scale) variability.** 
    8182 
    8283  * Since ISCCP shortwave data 
  • trunk/adm/website/documentation.rst

    r203 r204  
    99.. ======== 
    1010.. 
    11 .. publication, bibliograhy 
     11.. publication, bibliography 
    1212.. 
    1313.. TODO 
     
    3939.. 
    4040..   * add PraveenkumarVialardEtAl:CD:2012 and PraveenkumarVialardEtAl:CE:2012 
     41.. 
    4142.. - fplod 20110623T152527Z aedon.locean-ipsl.upmc.fr (Darwin) 
    4243.. 
  • trunk/adm/website/gen_logo.sh

    r203 r204  
    1717# see sample_tut from matplotlib for Sphinx usage 
    1818# 
    19 # see ImageMagick for image cration http://www.imagemagick.org/Usage/draw/ 
     19# see ImageMagick for image creation http://www.imagemagick.org/Usage/draw/ 
    2020# 
    2121# TODO 
     
    2525# or in ../makefile 
    2626# 
    27  
    2827# EVOLUTIONS 
    2928# ========== 
  • trunk/adm/website/index.rst

    r203 r204  
    3838.. - fplod 20110623T153038Z aedon.locean-ipsl.upmc.fr (Darwin) 
    3939.. 
    40 ..   * replace bibliograhy by publications 
     40..   * replace bibliography by publications 
    4141..   * outline from jv 
    4242.. 
  • trunk/adm/website/maintropflux.xml

    r199 r204  
    1515main page of the project survey 
    1616 
    17 DESCRIPTIION 
    18 ============ 
     17DESCRIPTION 
     18=========== 
    1919 
    2020This file in DocBook 5 will be processed by superbib tools 
  • trunk/adm/website/motivation.rst

    r197 r204  
    99.. ==== 
    1010.. 
    11 .. bold is implemented with either ** .. ** and :strong:`..`, but witgh none 
     11.. bold is implemented with either ** .. ** and :strong:`..`, but with none 
    1212.. of these way I manage to mix text and hyperlink 
    1313.. 
     
    5050.. 
    5151..   * creation from motivation.odt 
    52 ..     transform to ReST using odt2sphinx + hand correction (diacritical, 
    53 ..     ponctuations, short lines, links !!) 
     52..     transform to ReStructuredText using odt2sphinx + hand correction  
     53..     (diacritical, punctuations, short lines, links !!) 
    5454.. 
    5555.. - 
     
    6868The tropics play an important role in the earth's climate and energy cycle. 
    6969The tropical oceans gain heat from downward shortwave radiation, allowing for 
    70 very high surface temperature (above 28°C) in the Indo-Pacific and 
     70very high surface temperature (above 28°C) in the Indo-Pacific and 
    7171Atlantic warm pools. 
    7272This high sea surface temperature can cause the atmospheric boundary layer to 
     
    8484Bjerknes feedback, a positive feedback between the surface wind signal related 
    8585to deep atmospheric convection and its dynamical oceanic response, which is 
    86 critical to phenomena like El Niño (e.g. McPhaden et al. 2006) and the Indian 
     86critical to phenomena like El Niño (e.g. McPhaden et al. 2006) and the Indian 
    8787Ocean Dipole (Webster et al. 1999; Saji et al. 1999). 
    8888Those examples illustrate how an accurate knowledge of air-sea heat and 
     
    9292fluxes that resolve the main phenomena of the tropical climate, at 
    9393intraseasonal (Madden-Julian Oscillation, monsoon active and break phases), 
    94 seasonal and interannual (El Niño, Indian Ocean Dipole ...) time scales.** 
     94seasonal and interannual (El Niño, Indian Ocean Dipole ...) time scales.** 
    9595 
    9696 
  • trunk/adm/website/overview.rst

    r203 r204  
    2020.. - fplod 20121221T174433Z cratos.locean-ipsl.upmc.fr (Linux) 
    2121.. 
    22 ..   * introducting update until july 2012 included 
     22..   * introducing update until July 2012 included 
    2323.. 
    2424.. 
     
    7070 
    7171The TropFlux project aims at providing daily, timely, accurate air-sea heat 
    72 and momentum flux data for the entire 30°N-30°S region. 
     72and momentum flux data for the entire 30°N-30°S region. 
    7373 
    7474Wind stresses and the four components of net surface heat flux are currently 
     
    108108 
    109109The TropFlux product has been developed under a collaboration between the 
    110 `Laboratoire d'Océanographie: Expérimentation et Approches Numériques (LOCEAN) <http://www.locean-ipsl.upmc.fr/>`_ from 
     110`Laboratoire d'Océanographie: Expérimentation et Approches Numériques (LOCEAN) <http://www.locean-ipsl.upmc.fr/>`_ from 
    111111`Institut Pierre Simon Laplace <http://www.ipsl.fr/>`_, France and 
    112112`National Institute of Oceanography/CSIR <http://www.nio.org/>`_, India. 
    113113Bilateral scientific visits to France and India have been supported by 
    114 `Institut de Recherche pour le Développement <http://www.ird.fr/>`_, France. 
     114`Institut de Recherche pour le Développement <http://www.ird.fr/>`_, France. 
    115115 
  • trunk/adm/website/publications.rst

    r200 r204  
    1212.. 
    1313.. either look for improvement of citation within docutils or 
    14 .. (favorite option .. in progress) connect sphinx and superbib 
     14.. (favourite option .. in progress) connect sphinx and superbib 
    1515.. 
    1616.. EVOLUTIONS 
     
    8181.. 
    8282..   * no more usage references defined in bibliography.rst because 
    83 ..     citation are ugly (only [bibkey]). In fact it is not a Splhinx pb but 
    84 ..     a docuils's one 
     83..     citation are ugly (only [bibkey]). In fact it is not a Sphinx pb but 
     84..     a docutils's one 
    8585..     Now I copy bibliography.rst ! 
    8686.. 
  • trunk/adm/website/selected_results.rst

    r203 r204  
    1111.. Why is there a blank space above figure 1? (jv) 
    1212.. 
    13 ..   solved with sphinx >= 1.0.8  (tested with 1.1.2 but not yet availble on 
     13..   solved with sphinx >= 1.0.8  (tested with 1.1.2 but not yet available on 
    1414..   cratos) 
    1515..   see http://sphinx.pocoo.org/changes.html 
    16 ..   "#644: Fix spacing of centered figures in HTML output" 
     16..   "#644: Fix spacing of centred figures in HTML output" 
    1717.. 
    1818.. The units look ugly in the caption of figure 6 (jv) 
    19 ..   might a pb on latex configuration 
     19.. might a pb on latex configuration 
    2020.. 
    2121.. Add full references of the papers at the end (jv) 
     
    5959..   * split long lines 
    6060..   * units in math 
    61 ..   * from selected_resultds.odt 
    62 ..     transform to MediaWiki by openofice and hand transformation to ReST 
    63 ..     (diacritical, ponctuations, short lines, links !!) 
     61..   * from selected_results.odt 
     62..     transform to MediaWiki by OpenOffice and hand transformation to 
     63..     ReStructuredText (diacritical, punctuations, short lines, links !!) 
    6464.. 
    6565.. - 
     
    159159In the eastern equatorial Indian ocean, there is also a clear interannual 
    160160wind stress variability associated with the Indian Ocean Dipole and remote 
    161 response to El Nino. 
     161response to El Niño. 
    162162 
    163163Intraseasonal variability 
  • trunk/adm/website/usertropflux.xml

    r199 r204  
    22<!DOCTYPE users SYSTEM "user.dtd"> 
    33<!-- 
    4 DESCRITION 
     4 
     5DESCRIPTION 
    56========== 
    67 
     
    2526replace dtd by xsd when ready 
    2627 
    27 Netcdf-CF standard name for code parameters 
     28netCDF-CF standard name for code parameters 
    2829 
    2930EVOLUTIONS 
     
    127128<othername role='mi'></othername> 
    128129</personname> 
    129 <status>producter</status> 
     130<status>producer</status> 
    130131<email>Jerome.Vialard@locean-ipsl.upmc.fr</email> 
    131132<parameters> 
     
    263264<othername role='mi'></othername> 
    264265</personname> 
    265 <status>producter</status> 
     266<status>producer</status> 
    266267<email>pkb_ocean@yahoo.co.in</email> 
    267268<parameters> 
     
    325326</user> 
    326327<user> 
    327 <userid>LENGAINE_m</userid> 
     328<userid>LENGAIGNE_m</userid> 
    328329<personname> 
    329330<surname>Lengaigne</surname> 
  • trunk/docs/docs_dev/source/guides/README.rst

    r110 r204  
    1414.. - fplod 20101209T085931Z aedon.locean-ipsl.upmc.fr (Darwin) 
    1515.. 
    16 ..   * creation inspired by ReST files of 
     16..   * creation inspired by ReStructuredText files of 
    1717..     http://bazaar.launchpad.net/~mgedmin/objgraph/trunk/ 
    1818..     thanks to sphinx mailing list 
  • trunk/docs/docs_dev/source/guides/bibliography.rst

    r203 r204  
    2929.. - fplod 20110622T155451Z aedon.locean-ipsl.upmc.fr (Darwin) 
    3030.. 
    31 ..   * remove kumarVialard to avoid redondancies between this bibligraphy and 
     31..   * remove kumarVialard to avoid redondancies between this bibliography and 
    3232..     the web site one. same for LiebmannSmith:BAMS:1996 
    3333.. 
     
    6666.. [BourlesLumpkinEtAL:BAMS:2008] Bourlès, B., Lumpkin, R., McPhaden, M. J., Hernandez, F., Nobre, P., Campos, E., Yu, L. S., Planton, S., Busalacchi, A., Moura, A. D., Servain, J. and Trotte, J. *The PIRATA program : history, accomplishments, and future directions*, Bulletin of the American Meteorological Society, 2008, Vol. 89(8), pp. 1111-1125, http://dx.doi.org/10.1175/2008BAMS2462.1 
    6767 
    68 .. [McPhadenMeyersEtAl:BAMS:2009] McPhaden, M. J., G. Meyers, K. Ando,Y. Masumoto, V. S. N. Murty, M. Ravichandran, F. Syamsudin, J. Vialard, L. Yu, and W. Yu, 2009: RAMA: The Research Moored Array for African-Asian-Australian Monso on Analysis and Prediction. Bull. Am. Meteorol. Soc., 90, 459-480, doi:10.1175/2008BAMS2608.1 
     68.. [McPhadenMeyersEtAl:BAMS:2009] McPhaden, M. J., G. Meyers, K. Ando,Y. Masumoto, V. S. N. Murty, M. Ravichandran, F. Syamsudin, J. Vialard, L. Yu, and W. Yu, 2009: RAMA: The Research Moored Array for African-Asian-Australian Monsoon on Analysis and Prediction. Bull. Am. Meteorol. Soc., 90, 459-480, doi:10.1175/2008BAMS2608.1 
    6969 
    7070.. [McPhadenBusalacchiEtAL:JGR:1998] McPhaden, M.J., A.J. Busalacchi, R. Cheney, J.R. Donguy, K.S. Gage, D. Halpern, M. Ji, P. Julian, G. Meyers, G.T. Mitchum, P.P. Niiler, J. Picaut, R.W. Reynolds, N. Smith, K. Takeuchi, 1998: The Tropical Ocean-Global Atmosphere (TOGA) observing system: A decade of progress. J. Geophys. Res., 103, 14, 169-14,24 
  • trunk/docs/docs_dev/source/guides/data_content.rst

    r203 r204  
    1717.. ATTENTION : dans le champ "Name" des conditions, ne pas mettre prenom nom, seulement NOM. 
    1818.. 
    19 .. récuperation des fichiers Netcdf : cliquer sur la carte du monde, puis sur inter-tropical band. 
     19.. récupération des fichiers netCDF : cliquer sur la carte du monde, puis sur inter-tropical band. 
    2020.. 
    2121.. il vaut mieux demande une seule variable à la fois. 
     
    4242.. - fplod 20110421T085807Z aedon.locean-ipsl.upmc.fr (Darwin) 
    4343.. 
    44 ..   * add biblio on TAO/TRITION, PIRATA, and RAMA 
     44..   * add biblio on TAO/TRITON, PIRATA, and RAMA 
    4545..   * add contact section 
    4646.. 
  • trunk/docs/docs_dev/source/guides/future.rst

    r110 r204  
    66.. anchors 
    77.. 
    8 .. better ReST 
     8.. better ReStructuredText 
    99.. 
    1010.. EVOLUTIONS 
  • trunk/docs/docs_dev/source/guides/generate_statistics.rst

    r110 r204  
    66.. anchors 
    77.. 
    8 .. better ReST 
     8.. better ReStructuredText 
    99.. 
    1010.. EVOLUTIONS 
  • trunk/docs/docs_dev/source/guides/generate_tropflux.rst

    r203 r204  
    66.. anchors 
    77.. 
    8 .. better ReST 
     8.. better ReStructuredText 
    99.. 
    1010.. pb with math directives on aedon : probably some latex installation pb 
    1111.. 
    1212.. ref to tropflux.sh covering the 3 last steps 
    13 .. 
    1413.. 
    1514.. EVOLUTIONS 
     
    2726.. 
    2827..   * revision of steps with pk 
    29 ..   * revison of ISCCP paragraph 
     28..   * revision of ISCCP paragraph 
    3029.. 
    3130.. - fplod 20101222T173813Z aedon.locean-ipsl.upmc.fr (Darwin) 
     
    109108 
    110109The OLR interpolation also involves combining the delayed time and realtime OLR 
    111 datasets, which is  not done extremely cleanly now. 
     110datasets, which is not done extremely cleanly now. 
    112111 
    113112 - :func:`interp_olr_30n30s` 
  • trunk/docs/docs_dev/source/guides/history.rst

    r203 r204  
    66.. anchors 
    77.. 
    8 .. better ReST 
     8.. better ReStructuredText 
    99.. 
    1010.. EVOLUTIONS 
  • trunk/docs/docs_dev/source/guides/updatedata.rst

    r203 r204  
    175175 
    176176Once comparison is done and PI happy, 
    177 ++ cleanning or modify newdir 
     177++ cleaning or modify newdir 
    178178 
    179179.. _copynew2: 
     
    246246A email must be send to TropFlux list to warn about the new dataset. 
    247247 
    248 Une mise à jour doit être envoyée aux contacts dans les instutions qui mentionne notre jeu de données (NIO). 
    249  
     248Une mise à jour doit être envoyée aux contacts dans les institutions qui  
     249mentionnent notre jeu de données (NIO). 
    250250 
    251251.. toctree:: 
  • trunk/docs/docs_dev/source/guides/updatedata/updatedata_20130725.rst

    r203 r204  
    7878   export newdir 
    7979 
    80 Is there enought space ? 
     80Is there enough space ? 
    8181 
    8282.. parsed-literal:: 
     
    182182 
    183183Once comparison is done and PI happy, 
    184 ++ cleanning or modify newdir 
     184++ cleaning or modify newdir 
    185185 
    186186.. _copynew2_20130725: 
     
    207207.. warning:: 
    208208 
    209    This sequence do not work  on cratos because no ftp command on this plateform. 
    210    It has been launched on cerbere.locean-ipsl.upmmc.fr 
     209   This sequence do not work  on cratos because no ftp command on this platform. 
     210   It has been launched on cerbere.locean-ipsl.upmc.fr 
    211211 
    212212.. parsed-literal:: 
     
    227227.. warning:: 
    228228 
    229    This sequence do not work  on cratos because no ftp command on this plateform. 
    230    It has been launched on cerbere.locean-ipsl.upmmc.fr 
     229   This sequence do not work  on cratos because no ftp command on this platform. 
     230   It has been launched on cerbere.locean-ipsl.upmc.fr 
    231231 
    232232.. parsed-literal:: 
     
    259259svn commit pour tous les fichiers modifiés lors de cette mise à jour 
    260260 
    261 Cleanning 
     261Cleaning 
    262262--------- 
    263263 
  • trunk/src/add_19890101.sh

    r203 r204  
    2525#    If this option is set, :samp:`ncdump -v tt` will be added to log file 
    2626# 
    27 # Artificialy add 19890101 to lwr interpolated on OAFLUX grid dataset. 
     27# Artificially add 19890101 to lwr interpolated on OAFLUX grid dataset. 
    2828# 
    2929# :file:`${PROJECT_OD}/erai_lwr_19890102_20091231_oafluxgrid.nc` 
     
    4343# :func:`lwr_correction_ncdf`. 
    4444# 
    45 # Log file is written on :file:`${PROJECT_LOG}/add_19890101.sh.log.{YYYYMMDDTHHMMSSZ}` 
     45# Log file is written on 
     46# :file:`${PROJECT_LOG}/add_19890101.sh.log.{YYYYMMDDTHHMMSS}Z`. 
    4647# 
    4748#     .. graphviz:: 
     
    4950#        digraph add_19890101 { 
    5051# 
    51 #           filein [shape=ellipse,fontname=Courier,label="${PROJECT_OD}/erai_lwr_19890102_20091231_oafluxgrid.nc"]; 
    52 #           fileout [shape=ellipse,fontname=Courier,label="${PROJECT_OD}/erai_lwr_19890101_20091231_oafluxgrid.nc"]; 
     52#           filein [shape=ellipse, 
     53#           fontname=Courier, 
     54#           label="${PROJECT_OD}/erai_lwr_19890102_20091231_oafluxgrid.nc"]; 
     55# 
     56#           fileout [shape=ellipse, 
     57#           fontname=Courier, 
     58#           label="${PROJECT_OD}/erai_lwr_19890101_20091231_oafluxgrid.nc"]; 
    5359# 
    5460#           add_19890101 [shape=box, 
     
    140146# coding rules 
    141147# 
    142 # won't it be more conveniant to add this articifial time step in 
     148# won't it be more convenient to add this artificial time step in 
    143149# the IDL creation tool interp_erai_lwr_1989_2009.pro. 
    144150# It will allow to avoid a shell interruption in the IDL processing chain. 
     
    152158# remove hard coded end time 
    153159# 
    154 # get rid of this long mesage on cratos: 
     160# get rid of this long message on cratos: 
    155161# 
    156162# .. parsed-literal:: 
     
    173179#    http://nco.sf.net/nco.html#xmp_ncrename 
    174180# 
    175 # ... on a déjà une idee de la solution : convention CF et meilleure gestion des 
    176 # valeurs manquantes dans les softs IDL !!! 
     181# ... on a déjà une idée de la solution : convention CF et meilleure gestion 
     182# des valeurs manquantes dans les softs IDL !!! 
    177183# 
    178184# EVOLUTIONS 
     
    186192# 
    187193#   * creation from pk email 20110811 "lwr first timestep" 
    188 #   * include time correction and timerange modificaton 
     194#   * include time correction and timerange modification 
    189195# 
    190196#- 
     
    354360# ++ check if tt[0] is really 19890102 
    355361# 
    356 # substract 1 to tt to simulate 19890101 
     362# subtract 1 to tt to simulate 19890101 
    357363ncap2 -h -s "tt=tt-1" \ 
    358364${PROJECT_OD}/erai_lwr_step19890102.nc \ 
     
    403409fi 
    404410# 
    405 # cleanning 
     411# cleaning 
    406412#++rm -f ${PROJECT_OD}/erai_lwr_step19890101.nc 2> /dev/null 
    407413#++rm -f ${PROJECT_OD}/erai_lwr_step19890102.nc 2> /dev/null 
  • trunk/src/basic_variable_evaluation_tpr_timeseries.pro

    r203 r204  
    5252pro basic_variable_evaluation_tpr_timeseries, $ 
    5353;                   var,    $ ;;  basic variable (sst, t2m, q2m, ws) to calculate the statistics 
    54                     date1,  $ ;;  start date (in julian date. eg. 20000101) 
    55                     date2     ;;  end date (in julian date eg. 20091231) 
     54                    date1,  $ ;;  start date (in Julian date. eg. 20000101) 
     55                    date2     ;;  end date (in Julian date eg. 20091231) 
    5656@common 
    5757@cm_project 
  • trunk/src/calc_cloud_vlat.pro

    r181 r204  
    77; .. function:: calc_cloud_vlat(jday, swr, xlat) 
    88; 
    9 ; DESCRITPION 
     9; DESCRIPTION 
    1010; =========== 
    1111; 
     
    1919;  INPUT: 
    2020;       jday: value jday 
    21 ;       SWR: vector of  SW rad in Watts/m^2 
     21;       SWR: vector of SW rad in Watts/m^2 
    2222;       XLAT: corresponding vector of lat 
    2323; 
     
    7474;B2 = B2+(-38.79 + 2.43*XLAT - 0.034*XLAT^2)*((abs(XLAT) gt 40.) and (abs(XLAT) le 60.)) 
    7575; 
    76   DAY=jday ; day is day of that year; 
    77   XDIV=365.15 
     76DAY=jday ; day is day of that year; 
     77XDIV=365.15 
    7878; 
    7979; CALCULATE PHI 
    80   PHI = (360./XDIV * (DAY-21.0))*pi/180. 
     80PHI = (360./XDIV * (DAY-21.0))*pi/180. 
    8181; 
    82 ; CALCULATE Q0; MULTIPY BY .4846 TO CONVERT FROM 
     82; CALCULATE Q0; MULTIPLY BY .4846 TO CONVERT FROM 
    8383; LY/DAY TO W/M**2 
    84   Q0 = A0+A1*cos(PHI)+B1*sin(PHI)+A2*cos(2*PHI)+B2*sin(2*PHI); 
    85   Q0=Q0*.4846; 
     84Q0 = A0+A1*cos(PHI)+B1*sin(PHI)+A2*cos(2*PHI)+B2*sin(2*PHI); 
     85Q0=Q0*.4846; 
    8686; 
    87   SNALPHA=sin(XLAT*pi/180)*sin(23.45*sin((DAY-82)*pi/180)*pi/180) + $ 
    88            cos(XLAT*pi/180)*cos(23.45*sin((DAY-82)*pi/180)*pi/180) 
    89   ALPHA = asin(SNALPHA)*180/pi 
     87SNALPHA=sin(XLAT*pi/180)*sin(23.45*sin((DAY-82)*pi/180)*pi/180) + $ 
     88cos(XLAT*pi/180)*cos(23.45*sin((DAY-82)*pi/180)*pi/180) 
     89ALPHA = asin(SNALPHA)*180/pi 
    9090; 
    91 ; SEE MARINE CLIMATE ATLAS OF TROPICAL PACIFC OCEAN, WEARE,STRUB, 
     91; SEE MARINE CLIMATE ATLAS OF TROPICAL PACIFIC OCEAN, WEARE,STRUB, 
    9292; AND SAMUEL -- UC,DAVIS;  THIS IS ACTUALLY REEDS 1977 
    9393; FORMULA 
    94   CLD = (1.0+0.0019*ALPHA-SWR/Q0)/.62 
    95   Qclsky = Q0 
     94CLD = (1.0+0.0019*ALPHA-SWR/Q0)/.62 
     95Qclsky = Q0 
    9696; 
    9797indx=where(CLD ge 1.0) 
  • trunk/src/change_creation_date.sh

    r203 r204  
    3333#    base location of the dataset to be changed 
    3434# 
    35 # Modify creation_date global attribute in the dataset based under dirin parameter 
    36 # 
    37 # Log file is written on :file:`${PROJECT_LOG}/change_creation_date.sh.log.{YYYYMMDDTHHMMSSZ}` 
     35# Modify creation_date global attribute in the dataset based under 
     36# dirin parameter 
     37# 
     38# Log file is written on 
     39# :file:`${PROJECT_LOG}/change_creation_date.sh.log.{YYYYMMDDTHHMMSS}Z`. 
    3840# 
    3941#     .. graphviz:: 
     
    138140if [ ${#} -lt ${minargcount} ] 
    139141then 
    140     echo "${command} : eee : not enought arguments" 
     142    echo "${command} : eee : not enough arguments" 
    141143    echo "${usage}" 
    142144    exit 1 
     
    281283unset filein 
    282284# 
    283 # cleanning 
     285# cleaning 
    284286#++ 
    285287#++ set 
  • trunk/src/change_time_range.sh

    r203 r204  
    3939# Modify time_range global attribute in the dataset based under dirin parameter 
    4040# 
    41 # Log file is written on :file:`${PROJECT_LOG}/change_time_range.sh.log.{YYYYMMDDTHHMMSSZ}` 
     41# Log file is written on 
     42# :file:`${PROJECT_LOG}/change_time_range.sh.log.{YYYYMMDDTHHMMSS}Z`. 
    4243# 
    4344#     .. graphviz:: 
     
    144145if [ ${#} -lt ${minargcount} ] 
    145146then 
    146     echo "${command} : eee : not enought arguments" 
     147    echo "${command} : eee : not enough arguments" 
    147148    echo "${usage}" 
    148149    exit 1 
     
    314315unset filein 
    315316# 
    316 # cleanning 
     317# cleaning 
    317318#++ 
    318319#++ set 
  • trunk/src/compute_erai_daily_region_2d.sh

    r203 r204  
    3535# .. option:: -e end date <yyyymmdd> 
    3636# 
    37 # Put in ${PROJECT_ID} ERA-Intermin uninterpolated reference files. 
    38 # 
    39 # Log file is written on :file:`${PROJECT_LOG}/compute_erai_daily_region_2d.log.{YYYYMMDDTHHMMSSZ}` 
     37# Put in ${PROJECT_ID} ERA-Interim uninterpolated reference files. 
     38# 
     39# Log file is written on 
     40# :file:`${PROJECT_LOG}/compute_erai_daily_region_2d.log.{YYYYMMDDTHHMMSS}Z`. 
    4041# 
    4142#     .. graphviz:: 
     
    4344#        digraph compute_erai_daily_region_2d { 
    4445# 
    45 #           filein_str [shape=ellipse,fontname=Courier,label="/bdd/ERAI/NETCDF/GLOBAL_075/4xdaily/FC_SF/yyyy/mm/str.yyyymmdd.fshei.GLOBAL_075.nc"]; 
    46 #           filein_msl [shape=ellipse,fontname=Courier,label="/bdd/ERAI/NETCDF/GLOBAL_075/4xdaily/AN_SF/yyyy/msl.yyyymm.ashei.GLOBAL_075.nc"]; 
    47 #           filein_sstk [shape=ellipse,fontname=Courier,label="/bdd/ERAI/NETCDF/GLOBAL_075/4xdaily/AN_SF/yyyy/sstk.yyyymm.ashei.GLOBAL_075.nc"]; 
    48 #           filein_t2 [shape=ellipse,fontname=Courier,label="/bdd/ERAI/NETCDF/GLOBAL_075/4xdaily/AN_SF/yyyy/t2.yyyymm.ashei.GLOBAL_075.nc"]; 
    49 #           filein_d2 [shape=ellipse,fontname=Courier,label="/bdd/ERAI/NETCDF/GLOBAL_075/4xdaily/AN_SF/yyyy/d2.yyyymm.ashei.GLOBAL_075.nc"]; 
    50 #           filein_u10 [shape=ellipse,fontname=Courier,label="/bdd/ERAI/NETCDF/GLOBAL_075/4xdaily/AN_SF/yyyy/u10.yyyymm.ashei.GLOBAL_075.nc"]; 
    51 #           filein_v10 [shape=ellipse,fontname=Courier,label="/bdd/ERAI/NETCDF/GLOBAL_075/4xdaily/AN_SF/yyyy/v10.yyyymm.ashei.GLOBAL_075.nc"]; 
    52 # 
    53 #           fileout_str [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/erai_TROP_1d_yyyy0101_yyyy1231_str_gridOrig.nc"]; 
    54 #           fileout_msl [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/erai_TROP_1d_yyyy0101_yyyy1231_msl_gridOrig.nc"]; 
    55 #           fileout_sstk [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/erai_TROP_1d_yyyy0101_yyyy1231_sstk_gridOrig.nc"]; 
    56 #           fileout_t2 [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/erai_TROP_1d_yyyy0101_yyyy1231_t2_gridOrig.nc"]; 
    57 #           fileout_d2 [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/erai_TROP_1d_yyyy0101_yyyy1231_d2_gridOrig.nc"]; 
    58 #           fileout_u10 [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/erai_TROP_1d_yyyy0101_yyyy1231_u10_gridOrig.nc"]; 
    59 #           fileout_v10 [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/erai_TROP_1d_yyyy0101_yyyy1231_v10_gridOrig.nc"]; 
     46#           filein_str [shape=ellipse, 
     47#           fontname=Courier,label="/bdd/ERAI/NETCDF/GLOBAL_075/4xdaily/FC_SF/yyyy/mm/str.yyyymmdd.fshei.GLOBAL_075.nc"]; 
     48#           filein_msl [shape=ellipse, 
     49#           fontname=Courier, 
     50#           label="/bdd/ERAI/NETCDF/GLOBAL_075/4xdaily/AN_SF/yyyy/msl.yyyymm.ashei.GLOBAL_075.nc"]; 
     51#           filein_sstk [shape=ellipse, 
     52#           fontname=Courier, 
     53#           label="/bdd/ERAI/NETCDF/GLOBAL_075/4xdaily/AN_SF/yyyy/sstk.yyyymm.ashei.GLOBAL_075.nc"]; 
     54#           filein_t2 [shape=ellipse, 
     55#           fontname=Courier, 
     56#           label="/bdd/ERAI/NETCDF/GLOBAL_075/4xdaily/AN_SF/yyyy/t2.yyyymm.ashei.GLOBAL_075.nc"]; 
     57#           filein_d2 [shape=ellipse, 
     58#           fontname=Courier, 
     59#           label="/bdd/ERAI/NETCDF/GLOBAL_075/4xdaily/AN_SF/yyyy/d2.yyyymm.ashei.GLOBAL_075.nc"]; 
     60#           filein_u10 [shape=ellipse, 
     61#           fontname=Courier, 
     62#           label="/bdd/ERAI/NETCDF/GLOBAL_075/4xdaily/AN_SF/yyyy/u10.yyyymm.ashei.GLOBAL_075.nc"]; 
     63#           filein_v10 [shape=ellipse, 
     64#           fontname=Courier, 
     65#           label="/bdd/ERAI/NETCDF/GLOBAL_075/4xdaily/AN_SF/yyyy/v10.yyyymm.ashei.GLOBAL_075.nc"]; 
     66# 
     67#           fileout_str [shape=ellipse, 
     68#           fontname=Courier, 
     69#           label="${PROJECT_ID}/erai_TROP_1d_yyyy0101_yyyy1231_str_gridOrig.nc"]; 
     70#           fileout_msl [shape=ellipse, 
     71#           fontname=Courier, 
     72#           label="${PROJECT_ID}/erai_TROP_1d_yyyy0101_yyyy1231_msl_gridOrig.nc"]; 
     73#           fileout_sstk [shape=ellipse, 
     74#           fontname=Courier, 
     75#           label="${PROJECT_ID}/erai_TROP_1d_yyyy0101_yyyy1231_sstk_gridOrig.nc"]; 
     76#           fileout_t2 [shape=ellipse, 
     77#           fontname=Courier, 
     78#           label="${PROJECT_ID}/erai_TROP_1d_yyyy0101_yyyy1231_t2_gridOrig.nc"]; 
     79# 
     80#           fileout_d2 [shape=ellipse, 
     81#           fontname=Courier, 
     82#           label="${PROJECT_ID}/erai_TROP_1d_yyyy0101_yyyy1231_d2_gridOrig.nc"]; 
     83# 
     84#           fileout_u10 [shape=ellipse, 
     85#           fontname=Courier, 
     86#           label="${PROJECT_ID}/erai_TROP_1d_yyyy0101_yyyy1231_u10_gridOrig.nc"]; 
     87#           fileout_v10 [shape=ellipse, 
     88#           fontname=Courier, 
     89#           label="${PROJECT_ID}/erai_TROP_1d_yyyy0101_yyyy1231_v10_gridOrig.nc"]; 
    6090# 
    6191#           compute_erai_daily_region_2d [shape=box, 
     
    76106# ======== 
    77107# 
    78 # On climserv only if you don't have any ERA-I reference data, 
     108# On ClimServ only if you don't have any ERA-I reference data, 
    79109# you just have to run this tool : 
    80110# 
     
    135165# coding rules 
    136166# 
    137 # correction of min and max values of latitude attributes (still -90,+90 !) in output files 
    138 # 
    139 # are cmonthmin and cmonthmax the real info to put in output file name ? may be not because if input files do not exist 
    140 # 
    141 # same idea for day min and max - some time hard coded with 01 or 31 (avoid yyyy0231 !!) 
     167# correction of min and max values of latitude attributes (still -90,+90 !) 
     168# in output files 
     169# 
     170# are cmonthmin and cmonthmax the real info to put in output file name ? 
     171# may be not because if input files do not exist 
     172# 
     173# same idea for day min and max - some time hard coded with 01 or 31 
     174# (avoid yyyy0231 !!) 
    142175# 
    143176# solve this kind of warning: 
     
    161194# still true after ncflint/cdo arithmetic ? 
    162195# 
    163 # Modify global attributes : Still CF ? no more "five time values per day " in Forecast attributes 
     196# Modify global attributes : Still CF ? 
     197# no more "five time values per day " in Forecast attributes 
    164198# 
    165199# enrich info in log file 
     
    184218#   * add parameter --debug 
    185219#   * add parameter --diff_cmd to choose between ncflint and cdo 
    186 #   * usage of :samp:`cdo sub` and :samp: cdo divc,86400.` if parameter --diff_cmd is set to cdo 
     220#   * usage of :samp:`cdo sub` and :samp: cdo divc,86400.` if 
     221#     parameter --diff_cmd is set to cdo 
    187222#     thanks to https://code.zmaw.de/embedded/cdo/1.4.7/cdo.html#x1-2280002.7.4 
    188 #   * add natural language explanation on ncflit usage provided by Matthieu 
     223#   * add natural language explanation on ncflint usage provided by Matthieu 
    189224# 
    190225# - fplod 20110127T142038Z 
     
    276311if [ ${#} -lt ${minargcount} ] 
    277312then 
    278     echo "${command} : eee : not enought arguments" 
     313    echo "${command} : eee : not enough arguments" 
    279314    echo "${usage}" 
    280315    exit 1 
     
    508543                case "${diff_cmd}" in 
    509544                    ncflint) 
    510                         # différence entre les forcast a 36 et a 12h (pour avoir des flux par jour) et la constante suivant le -w permet de se ramener a des unites connues 
     545                        # différence entre les forcast a 36 et a 12h (pour 
     546                        # avoir des flux par jour) et la constante suivant 
     547                        # le -w permet de se ramener a des unites connues 
    511548                        ncflint -w 1.1574074,-1.1574074 ${dirtemp}/temp_time0.nc ${dirtemp}/temp_time4.nc ${dirtemp}/temp_time.nc 
    512549                        if [ ${debug} -eq 1 ] 
     
    514551                            ncdump -v time ${dirtemp}/temp_time.nc >> ${log} 2>&1 
    515552                        fi 
    516                         # La deuxieme permet uniquement de passer en seconde. 1.1574074*.00001=1/86400. (jour a seconde) 
     553                        # La deuxième permet uniquement de passer en seconde. 
     554                        # 1.1574074*.00001=1/86400. (jour a seconde) 
    517555                        ncflint -w 0.00001,0.0 ${dirtemp}/temp_time.nc ${dirtemp}/temp_time.nc ${dirtemp}/temp_int_${var}_${yyyy}${cmonth}.nc 
    518556                        if [ ${debug} -eq 1 ] 
  • trunk/src/concat_eraiy.sh

    r203 r204  
    2929# .. option:: -e end date <yyyymmdd> 
    3030# 
    31 # Concatane yearly ERA-I files located 
     31# Concatenate yearly ERA-I files located 
    3232# in :file:`/net/adonis/usr/adonis/varclim/tropflux_v1/input` 
    3333# in ${PROJECT_ID} 
     
    4040#        digraph concat_eraiy { 
    4141# 
    42 #           filein_d2m [shape=ellipse,fontname=Courier,label="cratos:/net/adonis/usr/adonis/varclim/tropflux_v1/input/erai_d2m_yyyy.nc"]; 
    43 #           filein_lwr [shape=ellipse,fontname=Courier,label="cratos:/net/adonis/usr/adonis/varclim/tropflux_v1/input/erai_lwr_yyyy.nc"]; 
    44 #           filein_msl [shape=ellipse,fontname=Courier,label="cratos:/net/adonis/usr/adonis/varclim/tropflux_v1/input/erai_msl_yyyy.nc"]; 
    45 #           filein_sst [shape=ellipse,fontname=Courier,label="cratos:/net/adonis/usr/adonis/varclim/tropflux_v1/input/erai_sst_yyyy.nc"]; 
    46 #           filein_t2m [shape=ellipse,fontname=Courier,label="cratos:/net/adonis/usr/adonis/varclim/tropflux_v1/input/erai_t2m_yyyy.nc"]; 
    47 #           filein_u10 [shape=ellipse,fontname=Courier,label="cratos:/net/adonis/usr/adonis/varclim/tropflux_v1/input/erai_u10_yyyy.nc"]; 
    48 #           filein_v10 [shape=ellipse,fontname=Courier,label="cratos:/net/adonis/usr/adonis/varclim/tropflux_v1/input/erai_v10_yyyy.nc"]; 
    49 # 
    50 #           fileout_d2m [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/erai_d2m_yyyyb_yyyye.nc"]; 
    51 #           fileout_lwr [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/erai_lwr_yyyyb_yyyye.nc"]; 
    52 #           fileout_msl [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/erai_msl_yyyyb_yyyye.nc"]; 
    53 #           fileout_sst [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/erai_sst_yyyyb_yyyye.nc"]; 
    54 #           fileout_t2m [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/erai_t2m_yyyyb_yyyye.nc"]; 
    55 #           fileout_u10 [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/erai_u10_yyyyb_yyyye.nc"]; 
    56 #           fileout_v10 [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/erai_v10_yyyyb_yyyye.nc"]; 
     42#           filein_d2m [shape=ellipse, 
     43#           fontname=Courier, 
     44#           label="cratos:/net/adonis/usr/adonis/varclim/tropflux_v1/input/erai_d2m_yyyy.nc"]; 
     45#           filein_lwr [shape=ellipse, 
     46#           fontname=Courier, 
     47#           label="cratos:/net/adonis/usr/adonis/varclim/tropflux_v1/input/erai_lwr_yyyy.nc"]; 
     48#           filein_msl [shape=ellipse, 
     49#           fontname=Courier, 
     50#           label="cratos:/net/adonis/usr/adonis/varclim/tropflux_v1/input/erai_msl_yyyy.nc"]; 
     51#           filein_sst [shape=ellipse, 
     52#           fontname=Courier, 
     53#           label="cratos:/net/adonis/usr/adonis/varclim/tropflux_v1/input/erai_sst_yyyy.nc"]; 
     54#           filein_t2m [shape=ellipse, 
     55#           fontname=Courier, 
     56#           label="cratos:/net/adonis/usr/adonis/varclim/tropflux_v1/input/erai_t2m_yyyy.nc"]; 
     57#           filein_u10 [shape=ellipse, 
     58#           fontname=Courier, 
     59#           label="cratos:/net/adonis/usr/adonis/varclim/tropflux_v1/input/erai_u10_yyyy.nc"]; 
     60#           filein_v10 [shape=ellipse, 
     61#           fontname=Courier, 
     62#           label="cratos:/net/adonis/usr/adonis/varclim/tropflux_v1/input/erai_v10_yyyy.nc"]; 
     63# 
     64#           fileout_d2m [shape=ellipse, 
     65#           fontname=Courier, 
     66#           label="${PROJECT_ID}/erai_d2m_yyyyb_yyyye.nc"]; 
     67#           fileout_lwr [shape=ellipse, 
     68#           fontname=Courier, 
     69#           label="${PROJECT_ID}/erai_lwr_yyyyb_yyyye.nc"]; 
     70#           fileout_msl [shape=ellipse, 
     71#           fontname=Courier, 
     72#           label="${PROJECT_ID}/erai_msl_yyyyb_yyyye.nc"]; 
     73#           fileout_sst [shape=ellipse, 
     74#           fontname=Courier, 
     75#           label="${PROJECT_ID}/erai_sst_yyyyb_yyyye.nc"]; 
     76#           fileout_t2m [shape=ellipse, 
     77#           fontname=Courier, 
     78#           label="${PROJECT_ID}/erai_t2m_yyyyb_yyyye.nc"]; 
     79#           fileout_u10 [shape=ellipse, 
     80#           fontname=Courier, 
     81#           label="${PROJECT_ID}/erai_u10_yyyyb_yyyye.nc"]; 
     82#           fileout_v10 [shape=ellipse, 
     83#           fontname=Courier, 
     84#           label="${PROJECT_ID}/erai_v10_yyyyb_yyyye.nc"]; 
    5785# 
    5886#           concat_eraiy [shape=box, 
     
    194222if [ ${#} -lt ${minargcount} ] 
    195223then 
    196     echo "${command} : eee : not enought arguments" 
     224    echo "${command} : eee : not enough arguments" 
    197225    echo "${usage}" 
    198226    exit 1 
  • trunk/src/cor30a.pro

    r203 r204  
    1212; COARE v3 algorithm to compute fluxes 
    1313; 
    14 ; version with shortened iteration  modified Rt and Rq 
     14; version with shortened iteration modified Rt and Rq 
    1515; 
    1616; uses wave information wave period in s and wave ht in m 
     
    1919; Oost et al.  zo=50/2/pi L (u*/c)^4.5 if jwave=1 
    2020; 
    21 ; taylor and yelland  zo=1200 h*(L/h)^4.5 jwave=2 
     21; taylor and yelland zo=1200 h*(L/h)^4.5 jwave=2 
    2222; 
    2323;     :param u: wind speed (m/s)  at height zu (m) 
     
    2828;     :param Q: bulk air spec hum (g/kg), height zq 
    2929;     :param Rs: downward solar flux (W/m^2)    (modified because of cool skin) 
    30 ;     :param Rl: downard IR flux (W/m^2)        (modified because of cool skin) 
     30;     :param Rl: downward IR flux (W/m^2)        (modified because of cool skin) 
    3131;     :param rain: rain rate (mm/hr) 
    3232;     :param zi: PBL depth (m) 
     
    198198;***************  bulk loop ************ 
    199199for i=1,nits do begin 
    200   zet=von*grav*zu/ta*(tsr*(1+0.61*Q)+.61*ta*qsr)/(usr*usr)/(1+0.61*Q) 
    201   case jwave of 
    202     0: zo=charn*usr*usr/grav+0.11*visa/usr 
    203     1: zo=50./2/pi*lwave*(usr/cwave)^4.5+0.11*visa/usr ;Oost et al 
    204     2: zo=1200*hwave*(hwave/lwave)^4.5+0.11*visa/usr  ;Taylor and Yelland 
    205   endcase 
    206   rr=zo*usr/visa 
    207   L=zu/zet 
    208 ;zoq=min([1.15e-4,5.5e-5/rr^.6]) 
    209   zoq=(5.5e-5/rr^.6 < 1.15e-4) 
    210 ; 
    211   zot=zoq 
    212   usr=ut*von/(alog(zu/zo)-psiu(zu/L)) 
    213   tsr=-(dt-dter*jcool)*von*fdg/(alog(zt/zot)-psit(zt/L)) 
    214   qsr=-(dq-wetc*dter*jcool)*von*fdg/(alog(zq/zoq)-psit(zq/L)) 
    215   Bf=-grav/ta*usr*(tsr+.61*ta*qsr) 
    216 ;if (Bf gt 0) then begin 
    217 ;  ug=Beta*(Bf*zi)^.333 
    218 ;endif else begin 
    219 ;  ug=.2 
    220 ;endelse 
    221   sw=(Bf gt 0) 
    222   ug=sw*(Beta*(Bf*zi)^.333)+(1-sw)*.2 
    223 ; 
    224   ut=sqrt(du*du+ug*ug) 
    225   Rnl=0.97*(5.67e-8*(ts-dter*jcool+tdk)^4-Rl) 
    226   hsb=-rhoa*cpa*usr*tsr 
    227   hlb=-rhoa*LLe*usr*qsr 
    228   qout=Rnl+hsb+hlb 
    229   dels=Rns*(.065+11*tkt-6.6e-5/tkt*(1-exp(-tkt/8.0e-4)))      ; Eq.16 Shortwave 
    230   qcol=qout-dels 
    231   alq=Al*qcol+be*hlb*cpw/LLe                     ; Eq. 7 Buoy flux water 
     200    zet=von*grav*zu/ta*(tsr*(1+0.61*Q)+.61*ta*qsr)/(usr*usr)/(1+0.61*Q) 
     201    case jwave of 
     202        0: zo=charn*usr*usr/grav+0.11*visa/usr 
     203        1: zo=50./2/pi*lwave*(usr/cwave)^4.5+0.11*visa/usr ;Oost et al 
     204        2: zo=1200*hwave*(hwave/lwave)^4.5+0.11*visa/usr  ;Taylor and Yelland 
     205    endcase 
     206    rr=zo*usr/visa 
     207    L=zu/zet 
     208    ;zoq=min([1.15e-4,5.5e-5/rr^.6]) 
     209    zoq=(5.5e-5/rr^.6 < 1.15e-4) 
     210    ; 
     211    zot=zoq 
     212    usr=ut*von/(alog(zu/zo)-psiu(zu/L)) 
     213    tsr=-(dt-dter*jcool)*von*fdg/(alog(zt/zot)-psit(zt/L)) 
     214    qsr=-(dq-wetc*dter*jcool)*von*fdg/(alog(zq/zoq)-psit(zq/L)) 
     215    Bf=-grav/ta*usr*(tsr+.61*ta*qsr) 
     216    ;if (Bf gt 0) then begin 
     217    ;  ug=Beta*(Bf*zi)^.333 
     218    ;endif else begin 
     219    ;  ug=.2 
     220    ;endelse 
     221    sw=(Bf gt 0) 
     222    ug=sw*(Beta*(Bf*zi)^.333)+(1-sw)*.2 
     223    ; 
     224    ut=sqrt(du*du+ug*ug) 
     225    Rnl=0.97*(5.67e-8*(ts-dter*jcool+tdk)^4-Rl) 
     226    hsb=-rhoa*cpa*usr*tsr 
     227    hlb=-rhoa*LLe*usr*qsr 
     228    qout=Rnl+hsb+hlb 
     229    dels=Rns*(.065+11*tkt-6.6e-5/tkt*(1-exp(-tkt/8.0e-4)))      ; Eq.16 Shortwave 
     230    qcol=qout-dels 
     231    alq=Al*qcol+be*hlb*cpw/LLe                     ; Eq. 7 Buoy flux water 
    232232 
    233233;  if (alq gt 0) then begin 
     
    240240; 
    241241;  endelse 
    242   sw=(alq gt 0) 
    243   xlamx=sw*(6./(1+(bigc*alq/usr^4)^.75)^.333)+(1-sw)*6.0 
    244   tkt=sw*(xlamx*visw/(sqrt(rhoa/rhow)*usr))+(1-sw)*(xlamx*visw/(sqrt(rhoa/rhow)*usr) < .01) 
    245 ; 
    246  
    247   dter=qcol*tkt/tcw ;  Eq.12 Cool skin 
    248   dqer=wetc*dter 
     242    sw=(alq gt 0) 
     243    xlamx=sw*(6./(1+(bigc*alq/usr^4)^.75)^.333)+(1-sw)*6.0 
     244    tkt=sw*(xlamx*visw/(sqrt(rhoa/rhow)*usr))+(1-sw)*(xlamx*visw/(sqrt(rhoa/rhow)*usr) < .01) 
     245    ; 
     246 
     247    dter=qcol*tkt/tcw ;  Eq.12 Cool skin 
     248    dqer=wetc*dter 
    249249 
    250250endfor      ;bulk iter loop 
     
    265265;y=[[Rns],[-1.*Rnl],[-1.*hlb],[-1.*hsb],[-1.*RF],[tau]] 
    266266 
    267 ;****************   Webb et al. correection  ************ 
     267;****************   Webb et al. correction  ************ 
    268268;wbar=1.61*hlb/LLe/(1+1.61*Q)/rhoa+hsb/rhoa/cpa/ta     ;formulation in hlb already includes webb 
    269269;hl_webb=rhoa*wbar*Q*LLe 
     
    300300;       Ch=                     heat transfer coefficient at zt 
    301301;       Ce=                     moisture transfer coefficient at zq 
    302 ;       Cdn_10=                 10-m velocity drag coeeficient, including gustiness 
    303 ;       Chn_10=                 10-m heat transfer coeeficient, including gustiness 
    304 ;       Cen_10=                 10-m humidity transfer coeeficient, including gustiness 
     302;       Cdn_10=                 10-m velocity drag coefficient, including gustiness 
     303;       Chn_10=                 10-m heat transfer coefficient, including gustiness 
     304;       Cen_10=                 10-m humidity transfer coefficient, including gustiness 
    305305 
    306306return, y 
  • trunk/src/correct_terminology.sh

    r203 r204  
    3939# Modify filenames in the dataset based under dirin parameter 
    4040# 
    41 # Log file is written on :file:`${PROJECT_LOG}/correct_terminology.sh.log.{YYYYMMDDTHHMMSSZ}` 
     41# Log file is written on 
     42# :file:`${PROJECT_LOG}/correct_terminology.sh.log.{YYYYMMDDTHHMMSS}Z`. 
    4243# 
    4344#     .. graphviz:: 
     
    5859# ======== 
    5960# 
    60 # To modify files under /usr/lodyc/incas/fplod/tropflux_d/to_be_published/ because files are not named 
    61 # :file:`var_tropflux_1d_${yyyy}_{yyyy}.nc` but :file:`var_tropflux_1d_{yyyy}_{month}{yyyy}.nc`: 
     61# To modify files under 
     62# :file:`/usr/lodyc/incas/fplod/tropflux_d/to_be_published/` because files 
     63# are not named 
     64# :file:`var_tropflux_1d_${yyyy}_{yyyy}.nc` 
     65# but 
     66# :file:`var_tropflux_1d_{yyyy}_{month}{yyyy}.nc`: 
    6267# 
    6368# .. code-block:: bash 
     
    138143if [ ${#} -lt ${minargcount} ] 
    139144then 
    140     echo "${command} : eee : not enought arguments" 
     145    echo "${command} : eee : not enough arguments" 
    141146    echo "${usage}" 
    142147    exit 1 
     
    279284unset filein 
    280285# 
    281 # cleanning 
     286# cleaning 
    282287#++ 
    283288#++ set 
  • trunk/src/cronin_gustiness_ncdf.pro

    r203 r204  
    2929;        digraph cronin_gustiness_ncdf { 
    3030; 
    31 ;           file_in [shape=ellipse,fontname=Courier,label="${PROJECT_OD}/TropFlux_sst_19890101_20091231.nc"]; 
     31;           file_in [shape=ellipse, 
     32;           fontname=Courier, 
     33;           label="${PROJECT_OD}/TropFlux_sst_19890101_20091231.nc"]; 
    3234;           file_out [shape=ellipse,fontname=Courier,label="${PROJECT_OD}/TropFlux_gustiness_{yyyymmdd}_{yyyymmdd}.nc"]; 
    3335; 
     
    9092; 
    9193;   * pro -> func 
    92 ;   * taking project_overwite into account 
     94;   * taking project_overwrite into account 
    9395; 
    9496; - fplod 20110830T140029Z cratos (Linux) 
     
    144146; test if ${PROJECT_OD} defined 
    145147CASE project_od_env OF 
    146   '' : BEGIN 
    147          msg = 'eee : ${PROJECT_OD} is not defined' 
    148          ras = report(msg) 
    149        return, result 
    150        END 
    151   ELSE: BEGIN 
    152           msg = 'iii : ${PROJECT_OD} is ' + project_od_env 
    153           ras = report(msg) 
    154         END 
    155  ENDCASE 
     148    '' : BEGIN 
     149        msg = 'eee : ${PROJECT_OD} is not defined' 
     150        ras = report(msg) 
     151        return, result 
     152    END 
     153    ELSE : BEGIN 
     154        msg = 'iii : ${PROJECT_OD} is ' + project_od_env 
     155        ras = report(msg) 
     156    END 
     157ENDCASE 
    156158; 
    157159; check if output data will be possible 
     
    160162; existence and protection for reading 
    161163IF (FILE_TEST(iodirout, /DIRECTORY, /EXECUTABLE, /READ) EQ 0) THEN BEGIN 
    162    msg = 'eee : the directory' + iodirout  + ' is not accessible.' 
    163    ras = report(msg) 
    164    return, result 
     164    msg = 'eee : the directory' + iodirout  + ' is not accessible.' 
     165    ras = report(msg) 
     166    return, result 
    165167ENDIF 
    166168; 
     
    181183fullfilename = isafile(iodirout + filename, NEW=0, /MUST_EXIST) 
    182184IF fullfilename[0] EQ '' THEN BEGIN 
    183    msg = 'eee : the file ' + fullfilename + ' was not found.' 
    184    ras = report(msg) 
    185    return, result 
     185    msg = 'eee : the file ' + fullfilename + ' was not found.' 
     186    ras = report(msg) 
     187    return, result 
    186188ENDIF 
    187189; 
     
    191193; in order to avoid unexpected overwritten 
    192194IF ((FILE_TEST(fullfilename_out) EQ 1)  AND (project_overwrite EQ 0)) THEN BEGIN 
    193    msg = 'eee : the file ' + fullfilename_out  + ' already exists.' 
    194    ras = report(msg) 
    195    return, result 
     195    msg = 'eee : the file ' + fullfilename_out  + ' already exists.' 
     196    ras = report(msg) 
     197    return, result 
    196198ENDIF 
    197199; 
  • trunk/src/d2m_to_q2m_erai.pro

    r203 r204  
    121121;    % Program caused arithmetic error: Floating illegal operand 
    122122; 
    123 ; related to occurence of NaNf in ncdump output ? do no yet 
     123; related to occurrence of NaNf in ncdump output ? do no yet 
    124124; 
    125125; pk also see these error messages ... 
    126126; 
    127 ; check for NaN value in P return by reading Netcdf msl file 
    128 ; solution is may be to apply *mskout to q2m like  in interp* tools 
     127; check for NaN value in P return by reading netCDF msl file 
     128; solution is may be to apply *mskout to q2m like in interp* tools 
    129129; not yet done to keep close as possible to pk processing 
    130130; 
     
    198198nparam = N_PARAMS() 
    199199IF (nparam NE 2) THEN BEGIN 
    200 ras = report(['Incorrect number of arguments.' $ 
    201       + '!C' $ 
    202       + 'Usage : ' + usage]) 
    203       return, result 
     200    ras = report(['Incorrect number of arguments.' $ 
     201    + '!C' $ 
     202    + 'Usage : ' + usage]) 
     203    return, result 
    204204ENDIF 
    205205; 
    206206; test if ${PROJECT_OD} defined 
    207207CASE project_od_env OF 
    208   '' : BEGIN 
    209          msg = 'eee : ${PROJECT_OD} is not defined' 
    210          ras = report(msg) 
    211        return, result 
    212        END 
    213   ELSE: BEGIN 
    214           msg = 'iii : ${PROJECT_OD} is ' + project_od_env 
    215           ras = report(msg) 
    216         END 
    217  ENDCASE 
     208    '' : BEGIN 
     209        msg = 'eee : ${PROJECT_OD} is not defined' 
     210        ras = report(msg) 
     211        return, result 
     212    END 
     213    ELSE : BEGIN 
     214        msg = 'iii : ${PROJECT_OD} is ' + project_od_env 
     215        ras = report(msg) 
     216    END 
     217ENDCASE 
    218218; 
    219219; check if output data will be possible 
     
    222222; existence and protection for reading 
    223223IF (FILE_TEST(iodirout, /DIRECTORY, /EXECUTABLE, /READ) EQ 0) THEN BEGIN 
    224    msg = 'eee : the directory' + iodirout  + ' is not accessible.' 
    225    ras = report(msg) 
    226    return, result 
     224    msg = 'eee : the directory' + iodirout  + ' is not accessible.' 
     225    ras = report(msg) 
     226    return, result 
    227227ENDIF 
    228228; 
     
    242242fullfilename_d2m = isafile(iodirout + filename_d2m, NEW=0, /MUST_EXIST) 
    243243IF fullfilename_d2m[0] EQ '' THEN BEGIN 
    244    msg = 'eee : the file ' + fullfilename_d2m + ' was not found.' 
    245    ras = report(msg) 
    246    return, result 
     244    msg = 'eee : the file ' + fullfilename_d2m + ' was not found.' 
     245    ras = report(msg) 
     246    return, result 
    247247ENDIF 
    248248; 
     
    255255fullfilename_t2m = isafile(iodirout + filename_t2m, NEW=0, /MUST_EXIST) 
    256256IF fullfilename_t2m[0] EQ '' THEN BEGIN 
    257    msg = 'eee : the file ' + fullfilename_t2m + ' was not found.' 
    258    ras = report(msg) 
    259    return, result 
     257    msg = 'eee : the file ' + fullfilename_t2m + ' was not found.' 
     258    ras = report(msg) 
     259    return, result 
    260260ENDIF 
    261261; 
     
    268268fullfilename_msl = isafile(iodirout + filename_msl, NEW=0, /MUST_EXIST) 
    269269IF fullfilename_msl[0] EQ '' THEN BEGIN 
    270    msg = 'eee : the file ' + fullfilename_msl + ' was not found.' 
    271    ras = report(msg) 
    272    return, result 
     270    msg = 'eee : the file ' + fullfilename_msl + ' was not found.' 
     271    ras = report(msg) 
     272    return, result 
    273273ENDIF 
    274274; 
     
    278278; in order to avoid unexpected overwritten 
    279279IF (FILE_TEST(fullfilename_out) EQ 1) THEN BEGIN 
    280    msg = 'eee : the file ' + fullfilename_out  + ' already exists.' 
    281    ras = report(msg) 
    282    return, result 
     280    msg = 'eee : the file ' + fullfilename_out  + ' already exists.' 
     281    ras = report(msg) 
     282    return, result 
    283283ENDIF 
    284284; 
     
    351351; 
    352352ncfields = 'q2m[longitude,latitude,*time]=q2m:q2m_attr; ' $ 
    353                       + 'longitude[]=xlon:lon_attr; ' $ 
    354                       + 'latitude[]=ylat:lat_attr; ' $ 
    355                       + 'time[]=timein:time_attr ' $ 
    356                       + ' @ globattr' 
     353+ 'longitude[]=xlon:lon_attr; ' $ 
     354+ 'latitude[]=ylat:lat_attr; ' $ 
     355+ 'time[]=timein:time_attr ' $ 
     356+ ' @ globattr' 
    357357; 
    358358@ncdf_quickwrite 
  • trunk/src/ecmwf.py

    r203 r204  
    99=========== 
    1010 
    11 Toolbox to acces to ECMWF server 
     11Toolbox to access to ECMWF server 
    1212 
    1313SEE ALSO 
  • trunk/src/flux_evaluation_tpr_map.pro

    r203 r204  
    4545; 
    4646;   * try to make it work on my account on cratos 
    47 ;   * remove x_site_location and  x_site_location because already exist 
     47;   * remove x_site_location and x_site_location because already exist 
    4848; 
    4949;- 
    5050pro flux_evaluation_tpr_map, $ 
    5151;                    var,    $ ;;  flux variable (swr, lwr, lhf, shf) to calculate the statistics 
    52                     date1,  $ ;;  start date (in julian date. eg. 20000101) 
    53                     date2     ;;  end date (in julian date eg. 20091231) 
     52date1,  $ ;;  start date (in Julian date. eg. 20000101) 
     53date2     ;;  end date (in Julian date eg. 20091231) 
    5454 
    5555@common 
     
    8888 
    8989erase 
    90 ;; PLOTING THE MAPS 
     90;; PLOTTING THE MAPS 
    9191 
    9292fi = project_od_env + 'flux_stat.txt' 
  • trunk/src/flux_evaluation_tpr_timeseries.pro

    r203 r204  
    4141; 
    4242;   * try to make it work on my account on cratos 
    43 ;   * remove x_site_location and  x_site_location because already exist 
     43;   * remove x_site_location and x_site_location because already exist 
    4444; 
    4545;- 
    4646pro flux_evaluation_tpr_timeseries, $ 
    4747;                    var,    $ ;;  flux variable (swr, lwr, lhf, shf) to calculate the statistics 
    48                     date1,  $ ;;  start date (in julian date. eg. 20000101) 
    49                     date2     ;;  end date (in julian date eg. 20091231) 
     48date1, $ ;;  start date (in Julian date. eg. 20000101) 
     49date2    ;;  end date (in Julian date eg. 20091231) 
    5050 
    5151@common 
     
    110110for n=0, nn-1 do begin 
    111111 
    112 ;; reading data from mooring 
     112    ;; reading data from mooring 
    113113 
    114114    site=sitelist(n) & csite=site 
     
    122122            sw,lw,sh,lh 
    123123 
    124 ;; select the appropriate variables for evaluation (trp = sw or lw or sh or lh) 
     124    ;; select the appropriate variables for evaluation (trp = sw or lw or sh or lh) 
    125125 
    126    tpr=sh 
     126    tpr=sh 
    127127 
    128    ind=where(finite(tpr)) & no_valid=n_elements(ind) 
     128    ind=where(finite(tpr)) & no_valid=n_elements(ind) 
    129129 
    130    if (no_valid ge min_obs) then begin 
     130    if (no_valid ge min_obs) then begin 
     131        extract_tpr_location,var,box, $ 
     132        var_tpr 
     133        var_tpr=reform(var_tpr) 
    131134 
     135        stats_5d, tpr,var_tpr, $  ;; tpr=TPR observation and var_tpr=gridded product extracted at TPR location 
     136        cor, bias, std, rmsd 
    132137 
    133        extract_tpr_location,var,box, $ 
    134        var_tpr 
    135        var_tpr=reform(var_tpr) 
     138        printf, 1, x, y, cor, bias, std, rmsd, format='(f6.2, 3x, f6.2, 3x, f4.2, 3x, f7.2, 3x, f4.2, 3x, f5.2)' 
     139        cstat=string(cor, bias, std, rmsd, format='(f4.2,3x,f7.2,3x,f4.2,3x,f5.2)') 
     140        print, cstat 
    136141 
    137        stats_5d, tpr,var_tpr, $  ;; tpr=TPR observation and var_tpr=gridded product extracted at TPR location 
    138        cor, bias, std, rmsd 
    139  
    140        printf, 1, x, y, cor, bias, std, rmsd, format='(f6.2, 3x, f6.2, 3x, f4.2, 3x, f7.2, 3x, f4.2, 3x, f5.2)' 
    141        cstat=string(cor, bias, std, rmsd, format='(f4.2,3x,f7.2,3x,f4.2,3x,f5.2)') 
    142        print, cstat 
    143  
    144 ;;     PLOTTING THE TIME-SERIES 
    145        array=[tpr, var_tpr] & mi=min(array,/nan) & ma=max(array,/nan) & int=(ma-mi)/3. 
    146        pltt, ts_smooth(tpr,5,/nan), "t",/rempl, small=[1,3,1], lct=65, $ 
    147        title='Five day stats are shown below.  TPR (black) and Product (red) at'+csite+' ', charsize=1., $ 
    148        subtitle=cstat 
    149        ind=where(finite(tpr,/nan)) & var_tpr(ind)=!Values.f_nan 
    150        pltt, ts_smooth(var_tpr,5,/nan), "t",/ov1d, color=250 
    151        erase 
    152        mooring=[mooring,tpr] & product=[product,var_tpr] 
     142        ;;     PLOTTING THE TIME-SERIES 
     143        array=[tpr, var_tpr] & mi=min(array,/nan) & ma=max(array,/nan) & int=(ma-mi)/3. 
     144        pltt, ts_smooth(tpr,5,/nan), "t",/rempl, small=[1,3,1], lct=65, $ 
     145        title='Five day stats are shown below.  TPR (black) and Product (red) at'+csite+' ', charsize=1., $ 
     146        subtitle=cstat 
     147        ind=where(finite(tpr,/nan)) & var_tpr(ind)=!Values.f_nan 
     148        pltt, ts_smooth(var_tpr,5,/nan), "t",/ov1d, color=250 
     149        erase 
     150        mooring=[mooring,tpr] & product=[product,var_tpr] 
    153151    endif 
    154152endfor 
  • trunk/src/get_erai.py

    r203 r204  
    11#!/usr/bin/env python 
    2 # -*- coding: iso-8859-1 -*- 
     2# -*- coding: utf-8 -*- 
    33 
    44__docformat__ = "restructuredtext en" 
     
    4747==== 
    4848 
    49 To convet a GRIB file to a NetCDF file : 
     49To convert a GRIB file to a NetCDF file : 
    5050 
    5151.. code-block:: bash 
     
    5858make it work for all needed variables 
    5959 
    60 produce netcdf files : now grib dispite name of the file target 
     60produce netcdf files : now grib despite name of the file target 
    6161 
    6262comment 
    6363 
    64 nb : le champ str (wind stress pourra/devra être récupéré pour faire des comparaisons (cf. 20c3m_erai_str_TROP_1989_2009.nc) 
    65  
    66 nb :Mean sea level pressure en a-t-on vraiment besoin ? jusqu'à présent on ne sait pas si pkb l'a utilisé. 
     64nb : le champ str (wind stress pourra/devra être récupéré pour faire des comparaisons (cf. 20c3m_erai_str_TROP_1989_2009.nc) 
     65 
     66nb :Mean sea level pressure en a-t-on vraiment besoin ? jusqu'à présent on ne sait pas si pkb l'a utilisé. 
    6767 
    6868EVOLUTIONS 
  • trunk/src/get_oaflux.sh

    r203 r204  
    2424# Once this tool executed :func:`oaflux_mask_30n30s` can be launched. 
    2525# 
    26 # Log file is written on :file:`${PROJECT_LOG}/get_oaflux.log.{YYYYMMDDTHHMMSSZ}` 
     26# Log file is written on 
     27# :file:`${PROJECT_LOG}/get_oaflux.log.{YYYYMMDDTHHMMSS}Z`. 
    2728# 
    2829#     .. graphviz:: 
     
    3031#        digraph get_oaflux { 
    3132# 
    32 #           oaflux_ref [shape=diamond,fontname=Courier,label="ftp://ftp.whoi.edu/pub/science/oaflux/data_v3/monthly/turbulence/lh_oaflux_2004.nc.gz"]; 
    33 # 
    34 #           file_oaflux [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/lh_oaflux_2004.nc"]; 
     33#           oaflux_ref [shape=diamond, 
     34#           fontname=Courier, 
     35#           label="ftp://ftp.whoi.edu/pub/science/oaflux/data_v3/monthly/turbulence/lh_oaflux_2004.nc.gz"]; 
     36# 
     37#           file_oaflux [shape=ellipse, 
     38#           fontname=Courier, 
     39#           label="${PROJECT_ID}/lh_oaflux_2004.nc"]; 
    3540# 
    3641#           get_oaflux [shape=box, 
     
    7176# ==== 
    7277# 
    73 # get ftp://ftp.whoi.edu/pub/science/oaflux/data_v3/daily/radiation_1985-2007/sw_isccp_yyyy.nc.gz and generate ${PROJECT_ID}/swr_oafluxgrid_1985_2007.nc somewhere else 
     78# get 
     79# ftp://ftp.whoi.edu/pub/science/oaflux/data_v3/daily/radiation_1985-2007/sw_isccp_yyyy.nc.gz 
     80# and generate ${PROJECT_ID}/swr_oafluxgrid_1985_2007.nc somewhere else 
    7481# 
    7582# SEE ALSO 
  • trunk/src/get_pirata_netcdf.sh

    r203 r204  
    4343#   wind 
    4444# 
    45 # Log file is written on :file:`${PROJECT_LOG}/get_pirata_netcdf.log.{YYYYMMDDTHHMMSSZ}` 
     45# Log file is written on 
     46# :file:`${PROJECT_LOG}/get_pirata_netcdf.log.{YYYYMMDDTHHMMSS}Z`. 
    4647# 
    4748#     .. graphviz:: 
     
    4950#        digraph get_pirata_netcdf { 
    5051# 
    51 #           pirata_ref [shape=diamond,fontname=Courier,label="ftp://ftp.pmel.noaa.gov/cdf/sites/daily/*_*_dy.cdf"]; 
    52 # 
    53 #           file_pirata  [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/*_*_dy.cdf"]; 
     52#           pirata_ref [shape=diamond, 
     53#           fontname=Courier, 
     54#           label="ftp://ftp.pmel.noaa.gov/cdf/sites/daily/*_*_dy.cdf"]; 
     55# 
     56#           file_pirata [shape=ellipse, 
     57#           fontname=Courier, 
     58#           label="${PROJECT_ID}/*_*_dy.cdf"]; 
    5459# 
    5560#           get_pirata_netcdf [shape=box, 
  • trunk/src/get_rama_netcdf.sh

    r203 r204  
    4343#   wind 
    4444# 
    45 # Log file is written on :file:`${PROJECT_LOG}/get_rama_netcdf.log.{YYYYMMDDTHHMMSSZ}` 
     45# Log file is written on 
     46# :file:`${PROJECT_LOG}/get_rama_netcdf.log.{YYYYMMDDTHHMMSS}Z`. 
    4647# 
    4748#     .. graphviz:: 
     
    4950#        digraph get_rama_netcdf { 
    5051# 
    51 #           rama_ref [shape=diamond,fontname=Courier,label="ftp://ftp.pmel.noaa.gov/cdf/sites/daily/*_*_dy.cdf"]; 
    52 # 
    53 #           file_rama  [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/*_*_dy.cdf"]; 
     52#           rama_ref [shape=diamond, 
     53#           fontname=Courier, 
     54#           label="ftp://ftp.pmel.noaa.gov/cdf/sites/daily/*_*_dy.cdf"]; 
     55# 
     56#           file_rama [shape=ellipse, 
     57#           fontname=Courier, 
     58#           label="${PROJECT_ID}/*_*_dy.cdf"]; 
    5459# 
    5560#           get_rama_netcdf [shape=box, 
  • trunk/src/get_swr.sh

    r203 r204  
    2828#        digraph get_swr { 
    2929# 
    30 #           swr_ref [shape=diamond,fontname=Courier,label="ftp://ftp.whoi.edu/pub/science/oaflux/data_v3/daily/radiation_1985-2007/sw_icssp_yyyy.nc.gz"]; 
    31 # 
    32 #           file_swr [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/sw_icssp_yyyy.nc"]; 
     30#           swr_ref [shape=diamond, 
     31#           fontname=Courier, 
     32#           label="ftp://ftp.whoi.edu/pub/science/oaflux/data_v3/daily/radiation_1985-2007/sw_icssp_yyyy.nc.gz"]; 
     33# 
     34#           file_swr [shape=ellipse, 
     35#           fontname=Courier, 
     36#           label="${PROJECT_ID}/sw_icssp_yyyy.nc"]; 
    3337# 
    3438#           get_swr [shape=box, 
     
    7276# 
    7377# Eventually: we should retrieve them from ISCCP page 
    74 # (ftp://isccp.giss.nasa.gov/pub/data/FC/ ) and interpolate them we need FD${YYYY}${MM}__${SS}${FF}SFC.EQ files where: 
    75 # 
    76 #  - YYYY and MM are year and month 
    77 #  - SS is LW (longwave) and SW (shortwave) 
     78# (ftp://isccp.giss.nasa.gov/pub/data/FC/ ) and interpolate them we 
     79# need FD${YYYY}${MM}__${SS}${FF}SFC.EQ files where: 
     80# 
     81# - YYYY and MM are year and month 
     82# - SS is LW (longwave) and SW (shortwave) 
    7883# 
    7984# study wget status (no exit now on non null wget status) 
  • trunk/src/get_tao_netcdf.sh

    r203 r204  
    4343#   wind 
    4444# 
    45 # Log file is written on :file:`${PROJECT_LOG}/get_tao_netcdf.log.{YYYYMMDDTHHMMSSZ}` 
     45# Log file is written on 
     46# :file:`${PROJECT_LOG}/get_tao_netcdf.log.{YYYYMMDDTHHMMSS}Z`. 
    4647# 
    4748#     .. graphviz:: 
     
    4950#        digraph get_tao_netcdf { 
    5051# 
    51 #           tao_ref [shape=diamond,fontname=Courier,label="ftp://ftp.pmel.noaa.gov/cdf/sites/daily/*_*_dy.cdf"]; 
    52 # 
    53 #           file_tao  [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/*_*_dy.cdf"]; 
     52#           tao_ref [shape=diamond, 
     53#           fontname=Courier, 
     54#           label="ftp://ftp.pmel.noaa.gov/cdf/sites/daily/*_*_dy.cdf"]; 
     55# 
     56#           file_tao [shape=ellipse, 
     57#           fontname=Courier, 
     58#           label="${PROJECT_ID}/*_*_dy.cdf"]; 
    5459# 
    5560#           get_tao_netcdf [shape=box, 
  • trunk/src/interp_erai_dewt.pro

    r203 r204  
    5151;        digraph interp_erai_dewt { 
    5252; 
    53 ;           file_in_erai1 [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/20c3m_erai_d2_TROP_1989_2009.nc"]; 
    54 ;           file_in_erai2 [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/erai_d2m_{yyyyb}_{yyyye}.nc"]; 
    55 ;           mask [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/mask_oaflux_30N30S.nc"]; 
    56 ;           file_out [shape=ellipse,fontname=Courier,label="${PROJECT_OD}/erai_d2m_{yyyymmdd}_{yyyymmdd}_oafluxgrid.nc"]; 
     53;           file_in_erai1 [shape=ellipse, 
     54;           fontname=Courier, 
     55;           label="${PROJECT_ID}/20c3m_erai_d2_TROP_1989_2009.nc"]; 
     56;           file_in_erai2 [shape=ellipse, 
     57;           fontname=Courier, 
     58;           label="${PROJECT_ID}/erai_d2m_{yyyyb}_{yyyye}.nc"]; 
     59;           mask [shape=ellipse, 
     60;           fontname=Courier, 
     61;           label="${PROJECT_ID}/mask_oaflux_30N30S.nc"]; 
     62;           file_out [shape=ellipse, 
     63;           fontname=Courier, 
     64;           label="${PROJECT_OD}/erai_d2m_{yyyymmdd}_{yyyymmdd}_oafluxgrid.nc"]; 
    5765; 
    5866;           interp_erai_dewt [shape=box, 
     
    168176; - fplod 20120319 
    169177; 
    170 ;   * taking project_overwite into account 
     178;   * taking project_overwrite into account 
    171179;   * try to add compile_opt seems to be incompatible with ncdf_quickwrite 
    172180;   * pro -> function 
     
    222230nparam = N_PARAMS() 
    223231IF (nparam NE 3) THEN BEGIN 
    224    ras = report(['Incorrect number of arguments.' $ 
    225          + '!C' $ 
    226          + 'Usage : ' + usage]) 
    227    return, result 
     232    ras = report(['Incorrect number of arguments.' $ 
     233    + '!C' $ 
     234    + 'Usage : ' + usage]) 
     235    return, result 
    228236ENDIF 
    229237; 
     
    232240; test if ${PROJECT_ID} defined 
    233241CASE project_id_env OF 
    234     ''  :  BEGIN 
    235      msg = 'eee : ${PROJECT_ID} is not defined' 
    236      ras = report(msg) 
    237      return, result 
     242    '' :  BEGIN 
     243        msg = 'eee : ${PROJECT_ID} is not defined' 
     244        ras = report(msg) 
     245        return, result 
    238246    END 
    239     ELSE: BEGIN 
     247    ELSE : BEGIN 
    240248        msg = 'iii : ${PROJECT_ID} is ' + project_id_env 
    241249        ras = report(msg) 
     
    294302CASE project_od_env OF 
    295303    '' : BEGIN 
    296          msg = 'eee : ${PROJECT_OD} is not defined' 
    297          ras = report(msg) 
    298        return, result 
     304        msg = 'eee : ${PROJECT_OD} is not defined' 
     305        ras = report(msg) 
     306        return, result 
    299307    END 
    300     ELSE: BEGIN 
    301           msg = 'iii : ${PROJECT_OD} is ' + project_od_env 
    302           ras = report(msg) 
     308    ELSE : BEGIN 
     309        msg = 'iii : ${PROJECT_OD} is ' + project_od_env 
     310        ras = report(msg) 
    303311    END 
    304312ENDCASE 
  • trunk/src/interp_erai_lwr.pro

    r203 r204  
    5151;        digraph interp_erai_lwr { 
    5252; 
    53 ;           file_in_erai1 [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/20c3m_erai_str_TROP_1989_2009.nc"]; 
    54 ;           file_in_erai2 [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/erai_lwr_{yyyyb}_{yyyye}.nc"]; 
    55 ;           mask [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/mask_oaflux_30N30S.nc"]; 
    56 ;           file_out [shape=ellipse,fontname=Courier,label="${PROJECT_OD}/erai_lwr_{yyyymmdd}_{yyyymmdd}_oafluxgrid.nc"]; 
     53;           file_in_erai1 [shape=ellipse, 
     54;           fontname=Courier, 
     55;           label="${PROJECT_ID}/20c3m_erai_str_TROP_1989_2009.nc"]; 
     56;           file_in_erai2 [shape=ellipse, 
     57;           fontname=Courier, 
     58;           label="${PROJECT_ID}/erai_lwr_{yyyyb}_{yyyye}.nc"]; 
     59;           mask [shape=ellipse, 
     60;           fontname=Courier, 
     61;           label="${PROJECT_ID}/mask_oaflux_30N30S.nc"]; 
     62;           file_out [shape=ellipse, 
     63;           fontname=Courier, 
     64;           label="${PROJECT_OD}/erai_lwr_{yyyymmdd}_{yyyymmdd}_oafluxgrid.nc"]; 
    5765; 
    5866;           interp_erai_lwr [shape=box, 
     
    139147; remove hard coded time 
    140148; 
    141 ; 19890101 is not provided in ERA-Intermim file str : a possible workaround is to copy 19890102 
    142 ; dataset to 19890101 using nco after this processing. see :ref:`compute_erai_daily_region_2d.sh` 
     149; 19890101 is not provided in ERA-Interim file str : a possible workaround is 
     150; to copy 19890102 dataset to 19890101 using nco after this processing. 
     151; see :ref:`compute_erai_daily_region_2d.sh` 
    143152; 
    144153; check if there is the same issue with 19790101 vs 19790102. 
     
    170179; - fplod 20120319 
    171180; 
    172 ;   * taking project_overwite into account 
     181;   * taking project_overwrite into account 
    173182;   * try to add compile_opt seems to be incompatible with ncdf_quickwrite 
    174183;   * pro -> function 
     
    176185; - fplod 20110830T145010Z cratos (Linux) 
    177186; 
    178 ;   * replace xlon by lon and xlat by lat; suppress extra initcdf call 
     187;   * replace xlon by lon and xlat by lat; suppress extra initncdf call 
    179188; 
    180189; - fplod 20110830T135030Z cratos (Linux) 
     
    259268; test if ${PROJECT_ID} defined 
    260269CASE project_id_env OF 
    261     ''  :  BEGIN 
    262      msg = 'eee : ${PROJECT_ID} is not defined' 
    263      ras = report(msg) 
    264      return, result 
     270    '' :  BEGIN 
     271        msg = 'eee : ${PROJECT_ID} is not defined' 
     272        ras = report(msg) 
     273        return, result 
    265274    END 
    266     ELSE: BEGIN 
    267      msg = 'iii : ${PROJECT_ID} is ' + project_id_env 
    268      ras = report(msg) 
     275    ELSE : BEGIN 
     276        msg = 'iii : ${PROJECT_ID} is ' + project_id_env 
     277        ras = report(msg) 
    269278    END 
    270279ENDCASE 
     
    324333CASE project_od_env OF 
    325334    '' : BEGIN 
    326          msg = 'eee : ${PROJECT_OD} is not defined' 
    327          ras = report(msg) 
    328        return, result 
     335        msg = 'eee : ${PROJECT_OD} is not defined' 
     336        ras = report(msg) 
     337        return, result 
    329338    END 
    330     ELSE: BEGIN 
    331           msg = 'iii : ${PROJECT_OD} is ' + project_od_env 
    332           ras = report(msg) 
     339    ELSE : BEGIN 
     340        msg = 'iii : ${PROJECT_OD} is ' + project_od_env 
     341        ras = report(msg) 
    333342    END 
    334343ENDCASE 
  • trunk/src/interp_erai_msl.pro

    r203 r204  
    126126; 
    127127; why 19880101,20100930 as dates in read_ncdf. 
    128 ; now (20120319) should be yyyymmddb and yyymmdde but desastrous side effect 
     128; now (20120319) should be yyyymmddb and yyymmdde but disastrous side effect 
    129129; 
    130130; first step time 14245.5 (days since 1950-01-01 00:00:00) : correct ? 
     
    155155; - fplod 20120319 
    156156; 
    157 ;   * taking project_overwite into account 
     157;   * taking project_overwrite into account 
    158158;   * pro -> function 
    159159; 
     
    216216     return, result 
    217217           END 
    218  ELSE: BEGIN 
     218    ELSE : BEGIN 
    219219     msg = 'iii : ${PROJECT_ID} is ' + project_id_env 
    220220     ras = report(msg) 
    221        END 
     221    END 
    222222ENDCASE 
    223223; 
     
    275275; test if ${PROJECT_OD} defined 
    276276CASE project_od_env OF 
    277   '' : BEGIN 
    278          msg = 'eee : ${PROJECT_OD} is not defined' 
    279          ras = report(msg) 
    280        return, result 
    281        END 
    282   ELSE: BEGIN 
    283           msg = 'iii : ${PROJECT_OD} is ' + project_od_env 
    284           ras = report(msg) 
    285         END 
    286  ENDCASE 
     277    '' : BEGIN 
     278        msg = 'eee : ${PROJECT_OD} is not defined' 
     279        ras = report(msg) 
     280        return, result 
     281    END 
     282    ELSE : BEGIN 
     283        msg = 'iii : ${PROJECT_OD} is ' + project_od_env 
     284        ras = report(msg) 
     285    END 
     286ENDCASE 
    287287; 
    288288; check if output data will be possible 
     
    338338ncdf_getatt, fullfilename, erai_var, units=units 
    339339CASE units OF 
    340     'Pascal': BEGIN 
     340    'Pascal' : BEGIN 
    341341        mslin=mslin/100 
    342342    END 
    343     'mPa': BEGIN 
     343    'mPa' : BEGIN 
    344344        mslin=mslin*10 
    345345    END 
    346     ELSE: BEGIN 
     346    ELSE : BEGIN 
    347347        msg = 'eee : ' + units + ' unknown' 
    348348        ras = report(msg) 
     
    355355mslout=fltarr(jpi,jpj,jptin) 
    356356for jt=0,jptin-1 do begin 
    357   ; ++ print, 'Interpolation jt=',jt,' / ',jptin-1 
    358   tab=reform(mslin[*,*,jt]) 
    359   mslout[*,*,jt]=call_interp2d(tab,lonin,latin,mskin $ 
    360       , lonout,latout,method='bilinear' $ 
    361       , OUTMASK_IND=mskout, SET_OUTMSKVAL=mskout) 
    362   mslout[*,*,jt]=mslout[*,*,jt]*mskout+(1.-mskout)*1.e20 
     357    ; ++ print, 'Interpolation jt=',jt,' / ',jptin-1 
     358    tab=reform(mslin[*,*,jt]) 
     359    mslout[*,*,jt]=call_interp2d(tab,lonin,latin,mskin $ 
     360        , lonout,latout,method='bilinear' $ 
     361        , OUTMASK_IND=mskout, SET_OUTMSKVAL=mskout) 
     362    mslout[*,*,jt]=mslout[*,*,jt]*mskout+(1.-mskout)*1.e20 
    363363endfor 
    364364; 
  • trunk/src/interp_erai_sst.pro

    r203 r204  
    5151;        digraph interp_erai_sst { 
    5252; 
    53 ;           file_in_erai1 [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/20c3m_erai_sstk_TROP_1989_2009.nc"]; 
    54 ;           file_in_erai2 [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/erai_sst_{yyyyb}_{yyyye}.nc"]; 
    55 ;           mask [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/mask_oaflux_30N30S.nc"]; 
    56 ;           file_out [shape=ellipse,fontname=Courier,label="${PROJECT_OD}/erai_sst_{yyyymmdd}_{yyyymmdd}_oafluxgrid.nc"]; 
     53;           file_in_erai1 [shape=ellipse, 
     54;           fontname=Courier, 
     55;           label="${PROJECT_ID}/20c3m_erai_sstk_TROP_1989_2009.nc"]; 
     56;           file_in_erai2 [shape=ellipse, 
     57;           fontname=Courier, 
     58;           label="${PROJECT_ID}/erai_sst_{yyyyb}_{yyyye}.nc"]; 
     59;           mask [shape=ellipse, 
     60;           fontname=Courier, 
     61;           label="${PROJECT_ID}/mask_oaflux_30N30S.nc"]; 
     62;           file_out [shape=ellipse, 
     63;           fontname=Courier, 
     64;           label="${PROJECT_OD}/erai_sst_{yyyymmdd}_{yyyymmdd}_oafluxgrid.nc"]; 
    5765; 
    5866;           interp_erai_sst [shape=box, 
     
    122130; coding rules 
    123131; 
    124 ; use real output of :ref:`compute_erai_daily_region_2d.sh` if eraitype is set to 1. 
     132; use real output of :ref:`compute_erai_daily_region_2d.sh` if eraitype is 
     133; set to 1. 
    125134; 
    126135; scientific validation (strange look of data with ncview now) 
     
    152161; - fplod 20120320 
    153162; 
    154 ;   * taking project_overwite into account 
     163;   * taking project_overwrite into account 
    155164;   * try to add compile_opt seems to be incompatible with ncdf_quickwrite 
    156165;   * pro -> function 
     
    207216nparam = N_PARAMS() 
    208217IF (nparam NE 3) THEN BEGIN 
    209    ras = report(['Incorrect number of arguments.' $ 
    210    + '!C' $ 
    211    + 'Usage : ' + usage]) 
    212    return, result 
     218    ras = report(['Incorrect number of arguments.' $ 
     219    + '!C' $ 
     220    + 'Usage : ' + usage]) 
     221    return, result 
    213222ENDIF 
    214223; 
     
    217226; test if ${PROJECT_ID} defined 
    218227CASE project_id_env OF 
    219     ''  : BEGIN 
    220      msg = 'eee : ${PROJECT_ID} is not defined' 
    221      ras = report(msg) 
    222      return, result 
    223            END 
    224  ELSE: BEGIN 
    225      msg = 'iii : ${PROJECT_ID} is ' + project_id_env 
    226      ras = report(msg) 
    227        END 
     228    '' : BEGIN 
     229        msg = 'eee : ${PROJECT_ID} is not defined' 
     230        ras = report(msg) 
     231        return, result 
     232    END 
     233    ELSE : BEGIN 
     234        msg = 'iii : ${PROJECT_ID} is ' + project_id_env 
     235        ras = report(msg) 
     236    END 
    228237ENDCASE 
    229238; 
     
    232241; existence and protection of ${PROJECT_ID} 
    233242IF (FILE_TEST(iodirin, /DIRECTORY, /EXECUTABLE, /READ) EQ 0) THEN BEGIN 
    234    msg = 'eee : the directory' + iodirin  + ' is not accessible.' 
    235    ras = report(msg) 
    236    return, result 
     243    msg = 'eee : the directory' + iodirin  + ' is not accessible.' 
     244    ras = report(msg) 
     245    return, result 
    237246ENDIF 
    238247; 
     
    245254fullfilename_msk = isafile(iodirin + filename_msk, NEW=0, /MUST_EXIST) 
    246255IF fullfilename_msk[0] EQ '' THEN BEGIN 
    247    msg = 'eee : the file ' + fullfilename_msk + ' was not found.' 
    248    ras = report(msg) 
    249    return, result 
     256    msg = 'eee : the file ' + fullfilename_msk + ' was not found.' 
     257    ras = report(msg) 
     258    return, result 
    250259ENDIF 
    251260; 
     
    271280fullfilename = isafile(iodirin + filename, NEW=0, /MUST_EXIST) 
    272281IF fullfilename[0] EQ '' THEN BEGIN 
    273    msg = 'eee : the file ' + fullfilename + ' was not found.' 
    274    ras = report(msg) 
    275    return, result 
     282    msg = 'eee : the file ' + fullfilename + ' was not found.' 
     283    ras = report(msg) 
     284    return, result 
    276285ENDIF 
    277286; 
    278287; test if ${PROJECT_OD} defined 
    279288CASE project_od_env OF 
    280   '' : BEGIN 
    281          msg = 'eee : ${PROJECT_OD} is not defined' 
    282          ras = report(msg) 
    283        return, result 
    284        END 
    285   ELSE: BEGIN 
    286           msg = 'iii : ${PROJECT_OD} is ' + project_od_env 
    287           ras = report(msg) 
    288         END 
    289  ENDCASE 
     289    '' : BEGIN 
     290        msg = 'eee : ${PROJECT_OD} is not defined' 
     291        ras = report(msg) 
     292        return, result 
     293    END 
     294    ELSE : BEGIN 
     295        msg = 'iii : ${PROJECT_OD} is ' + project_od_env 
     296        ras = report(msg) 
     297    END 
     298ENDCASE 
    290299; 
    291300; check if output data will be possible 
     
    304313; in order to avoid unexpected overwritten 
    305314IF ((FILE_TEST(fullfilename_out) EQ 1)  AND (project_overwrite EQ 0)) THEN BEGIN 
    306    msg = 'eee : the file ' + fullfilename_out  + ' already exists.' 
    307    ras = report(msg) 
    308    return, result 
     315    msg = 'eee : the file ' + fullfilename_out  + ' already exists.' 
     316    ras = report(msg) 
     317    return, result 
    309318ENDIF 
    310319; 
     
    343352sstkout=fltarr(jpi,jpj,jptin) 
    344353for jt=0,jptin-1 do begin 
    345   ; ++print, 'Interpolation jt=',jt,' / ',jptin-1 
    346   tab=reform(sstkin[*,*,jt]) 
    347   sstkout[*,*,jt]=call_interp2d(tab,lonin,latin,mskin $ 
    348       , lonout,latout,method='bilinear' $ 
    349       , OUTMASK_IND=mskout, SET_OUTMSKVAL=mskout) 
    350   sstkout[*,*,jt]=sstkout[*,*,jt]*mskout+(1.-mskout)*1.e20 
     354    ; ++print, 'Interpolation jt=',jt,' / ',jptin-1 
     355    tab=reform(sstkin[*,*,jt]) 
     356    sstkout[*,*,jt]=call_interp2d(tab,lonin,latin,mskin $ 
     357    , lonout,latout,method='bilinear' $ 
     358    , OUTMASK_IND=mskout, SET_OUTMSKVAL=mskout) 
     359    sstkout[*,*,jt]=sstkout[*,*,jt]*mskout+(1.-mskout)*1.e20 
    351360endfor 
    352361; 
  • trunk/src/interp_erai_t2m.pro

    r203 r204  
    200200; - fplod 20120319 
    201201; 
    202 ;   * taking project_overwite into account 
     202;   * taking project_overwrite into account 
    203203; 
    204204; - fplod 20120306 
     
    231231;   * replace read_ncdf by ncdf_lec 
    232232; 
    233 ;     usage of timestep keyword in read_ncdf was not efficient because of  memory problem : 
     233;     usage of timestep keyword in read_ncdf was not efficient because of memory problem : 
    234234;     can not read the whole time range (ok with 7580, not ok with 7591 while need is 7670 
    235235; 
     
    275275;- 
    276276function interp_erai_t2m $ 
    277          , yyyymmddb $ 
    278          , yyyymmdde $ 
    279          , eraitype 
     277, yyyymmddb $ 
     278, yyyymmdde $ 
     279, eraitype 
    280280; 
    281281;++compile_opt idl2, strictarrsubs, logical_predicate 
     
    295295nparam = N_PARAMS() 
    296296IF (nparam NE 3) THEN BEGIN 
    297    ras = report(['Incorrect number of arguments.' $ 
    298          + '!C' $ 
    299          + 'Usage : ' + usage]) 
    300    return, result 
     297    ras = report(['Incorrect number of arguments.' $ 
     298    + '!C' $ 
     299    + 'Usage : ' + usage]) 
     300    return, result 
    301301ENDIF 
    302302 
     
    305305; test if ${PROJECT_ID} defined 
    306306CASE project_id_env OF 
    307     ''  :  BEGIN 
    308      msg = 'eee : ${PROJECT_ID} is not defined' 
    309      ras = report(msg) 
    310      return, result 
    311            END 
    312  ELSE: BEGIN 
    313      msg = 'iii : ${PROJECT_ID} is ' + project_id_env 
    314      ras = report(msg) 
    315        END 
     307    '' :  BEGIN 
     308        msg = 'eee : ${PROJECT_ID} is not defined' 
     309        ras = report(msg) 
     310        return, result 
     311    END 
     312    ELSE : BEGIN 
     313        msg = 'iii : ${PROJECT_ID} is ' + project_id_env 
     314        ras = report(msg) 
     315    END 
    316316ENDCASE 
    317317; 
     
    320320; existence and protection of ${PROJECT_ID} 
    321321IF (FILE_TEST(iodirin, /DIRECTORY, /EXECUTABLE, /READ) EQ 0) THEN BEGIN 
    322    msg = 'eee : the directory' + iodirin  + ' is not accessible.' 
    323    ras = report(msg) 
    324    return, result 
     322    msg = 'eee : the directory' + iodirin  + ' is not accessible.' 
     323    ras = report(msg) 
     324    return, result 
    325325ENDIF 
    326326; 
     
    333333fullfilename_msk = isafile(iodirin + filename_msk, NEW=0, /MUST_EXIST) 
    334334IF fullfilename_msk[0] EQ '' THEN BEGIN 
    335    msg = 'eee : the file ' + fullfilename_msk + ' was not found.' 
    336    ras = report(msg) 
    337    return, result 
     335    msg = 'eee : the file ' + fullfilename_msk + ' was not found.' 
     336    ras = report(msg) 
     337    return, result 
    338338ENDIF 
    339339; 
     
    359359fullfilename_t2 = isafile(iodirin + filename_t2, NEW=0, /MUST_EXIST) 
    360360IF fullfilename_t2[0] EQ '' THEN BEGIN 
    361    msg = 'eee : the file ' + fullfilename_t2 + ' was not found.' 
    362    ras = report(msg) 
    363    return, result 
     361    msg = 'eee : the file ' + fullfilename_t2 + ' was not found.' 
     362    ras = report(msg) 
     363    return, result 
    364364ENDIF 
    365365; 
    366366; test if ${PROJECT_OD} defined 
    367367CASE project_od_env OF 
    368   '' : BEGIN 
    369          msg = 'eee : ${PROJECT_OD} is not defined' 
    370          ras = report(msg) 
    371        return, result 
    372        END 
    373   ELSE: BEGIN 
    374           msg = 'iii : ${PROJECT_OD} is ' + project_od_env 
    375           ras = report(msg) 
    376         END 
    377  ENDCASE 
     368    '' : BEGIN 
     369        msg = 'eee : ${PROJECT_OD} is not defined' 
     370        ras = report(msg) 
     371        return, result 
     372    END 
     373    ELSE : BEGIN 
     374        msg = 'iii : ${PROJECT_OD} is ' + project_od_env 
     375        ras = report(msg) 
     376    END 
     377ENDCASE 
    378378; 
    379379; check if output data will be possible 
     
    392392; in order to avoid unexpected overwritten 
    393393IF ((FILE_TEST(fullfilename_out) EQ 1)  AND (project_overwrite EQ 0)) THEN BEGIN 
    394    msg = 'eee : the file ' + fullfilename_out  + ' already exists.' 
    395    ras = report(msg) 
    396    return, result 
     394    msg = 'eee : the file ' + fullfilename_out  + ' already exists.' 
     395    ras = report(msg) 
     396    return, result 
    397397ENDIF 
    398398; 
     
    457457t2mout=fltarr(jpi,jpj,jptin) 
    458458for jt=0,jptin-1 do begin 
    459   tab=reform(t2min[*,*,jt]) 
    460   t2mout[*,*,jt]=call_interp2d(tab,lonin,latin,mskin $ 
    461       , lonout,latout,method="bilinear" $ 
    462       , OUTMASK_IND=mskout, SET_OUTMSKVAL=mskout) 
    463   t2mout[*,*,jt]=t2mout[*,*,jt]*mskout+(1.-mskout)*1.e20 
     459    tab=reform(t2min[*,*,jt]) 
     460    t2mout[*,*,jt]=call_interp2d(tab,lonin,latin,mskin $ 
     461    , lonout,latout,method="bilinear" $ 
     462    , OUTMASK_IND=mskout, SET_OUTMSKVAL=mskout) 
     463    t2mout[*,*,jt]=t2mout[*,*,jt]*mskout+(1.-mskout)*1.e20 
    464464endfor 
    465465; 
     
    486486help, timein 
    487487ncfields = 't2m[longitude,latitude,*time]=t2mout:t2m_attr; ' $ 
    488                       + 'longitude[]=lon:lon_attr; ' $ 
    489                       + 'latitude[]=lat:lat_attr; ' $ 
    490                       + 'time[]=timein:time_attr ' $ 
    491                       + ' @globattr' 
     488+ 'longitude[]=lon:lon_attr; ' $ 
     489+ 'latitude[]=lat:lat_attr; ' $ 
     490+ 'time[]=timein:time_attr ' $ 
     491+ ' @globattr' 
    492492@ncdf_quickwrite 
    493493; 
  • trunk/src/interp_erai_ws.pro

    r203 r204  
    198198; - fplod 20120320 
    199199; 
    200 ;   * taking project_overwite into account 
     200;   * taking project_overwrite into account 
    201201;   * try to add compile_opt seems to be incompatible with ncdf_quickwrite 
    202202;   * pro -> function 
     
    252252nparam = N_PARAMS() 
    253253IF (nparam NE 3) THEN BEGIN 
    254 ras = report(['Incorrect number of arguments.' $ 
    255       + '!C' $ 
    256       + 'Usage : ' + usage]) 
    257       return, result 
     254    ras = report(['Incorrect number of arguments.' $ 
     255    + '!C' $ 
     256    + 'Usage : ' + usage]) 
     257    return, result 
    258258ENDIF 
    259259; 
     
    268268; test if ${PROJECT_ID} defined 
    269269CASE project_id_env OF 
    270     ''  : BEGIN 
    271      msg = 'eee : ${PROJECT_ID} is not defined' 
    272      ras = report(msg) 
    273      return, result 
    274            END 
    275  ELSE: BEGIN 
    276      msg = 'iii : ${PROJECT_ID} is ' + project_id_env 
    277      ras = report(msg) 
    278        END 
     270    '' : BEGIN 
     271        msg = 'eee : ${PROJECT_ID} is not defined' 
     272        ras = report(msg) 
     273        return, result 
     274    END 
     275    ELSE : BEGIN 
     276        msg = 'iii : ${PROJECT_ID} is ' + project_id_env 
     277        ras = report(msg) 
     278    END 
    279279ENDCASE 
    280280; 
     
    283283; existence and protection of ${PROJECT_ID} 
    284284IF (FILE_TEST(iodirin, /DIRECTORY, /EXECUTABLE, /READ) EQ 0) THEN BEGIN 
    285    msg = 'eee : the directory' + iodirin  + ' is not accessible.' 
    286    ras = report(msg) 
    287    return, result 
     285    msg = 'eee : the directory' + iodirin  + ' is not accessible.' 
     286    ras = report(msg) 
     287    return, result 
    288288ENDIF 
    289289; 
     
    296296fullfilename_msk = isafile(iodirin + filename_msk, NEW=0, /MUST_EXIST) 
    297297IF fullfilename_msk[0] EQ '' THEN BEGIN 
    298    msg = 'eee : the file ' + fullfilename_msk + ' was not found.' 
    299    ras = report(msg) 
    300    return, result 
     298    msg = 'eee : the file ' + fullfilename_msk + ' was not found.' 
     299    ras = report(msg) 
     300    return, result 
    301301ENDIF 
    302302; 
     
    322322fullfilename = isafile(iodirin + filename, NEW=0, /MUST_EXIST) 
    323323IF fullfilename[0] EQ '' THEN BEGIN 
    324    msg = 'eee : the file ' + fullfilename + ' was not found.' 
    325    ras = report(msg) 
    326    return, result 
     324    msg = 'eee : the file ' + fullfilename + ' was not found.' 
     325    ras = report(msg) 
     326    return, result 
    327327ENDIF 
    328328; 
    329329; test if ${PROJECT_OD} defined 
    330330CASE project_od_env OF 
    331   '' : BEGIN 
    332          msg = 'eee : ${PROJECT_OD} is not defined' 
    333          ras = report(msg) 
    334        return, result 
    335        END 
    336   ELSE: BEGIN 
    337           msg = 'iii : ${PROJECT_OD} is ' + project_od_env 
    338           ras = report(msg) 
    339         END 
    340  ENDCASE 
     331    '' : BEGIN 
     332        msg = 'eee : ${PROJECT_OD} is not defined' 
     333        ras = report(msg) 
     334        return, result 
     335    END 
     336    ELSE : BEGIN 
     337        msg = 'iii : ${PROJECT_OD} is ' + project_od_env 
     338        ras = report(msg) 
     339    END 
     340ENDCASE 
    341341; 
    342342; check if output data will be possible 
     
    355355; in order to avoid unexpected overwritten 
    356356IF ((FILE_TEST(fullfilename_out) EQ 1)  AND (project_overwrite EQ 0)) THEN BEGIN 
    357    msg = 'eee : the file ' + fullfilename_out  + ' already exists.' 
    358    ras = report(msg) 
    359    return, result 
     357    msg = 'eee : the file ' + fullfilename_out  + ' already exists.' 
     358    ras = report(msg) 
     359    return, result 
    360360ENDIF 
    361361; 
     
    389389fullfilename = isafile(iodirin + filename, NEW=0, /MUST_EXIST) 
    390390IF fullfilename[0] EQ '' THEN BEGIN 
    391    msg = 'eee : the file ' + fullfilename + ' was not found.' 
    392    ras = report(msg) 
    393    return, result 
     391    msg = 'eee : the file ' + fullfilename + ' was not found.' 
     392    ras = report(msg) 
     393    return, result 
    394394ENDIF 
    395395initncdf, fullfilename 
     
    430430; 
    431431for jt=0,jptin-1 do begin 
    432   ; ++print, 'Interpolation jt=',jt,' / ',jptin-1 
    433   tab=reform(u10in[*,*,jt]) 
    434   u10out[*,*,jt]=call_interp2d(tab,lonin,latin,mskin $ 
    435       , lonout,latout,method='bilinear' $ 
    436       , OUTMASK_IND=mskout, SET_OUTMSKVAL=mskout) 
    437   u10out[*,*,jt]=u10out[*,*,jt]*mskout+(1.-mskout)*1.e20 
    438 ; 
    439   tab=reform(v10in[*,*,jt]) 
    440   v10out[*,*,jt]=call_interp2d(tab,lonin,latin,mskin $ 
    441       , lonout,latout,method='bilinear' $ 
    442       , OUTMASK_IND=mskout, SET_OUTMSKVAL=mskout) 
    443   v10out[*,*,jt]=v10out[*,*,jt]*mskout+(1.-mskout)*1.e20 
    444 ; 
     432    ; ++print, 'Interpolation jt=',jt,' / ',jptin-1 
     433    tab=reform(u10in[*,*,jt]) 
     434    u10out[*,*,jt]=call_interp2d(tab,lonin,latin,mskin $ 
     435    , lonout,latout,method='bilinear' $ 
     436    , OUTMASK_IND=mskout, SET_OUTMSKVAL=mskout) 
     437    u10out[*,*,jt]=u10out[*,*,jt]*mskout+(1.-mskout)*1.e20 
     438    ; 
     439    tab=reform(v10in[*,*,jt]) 
     440    v10out[*,*,jt]=call_interp2d(tab,lonin,latin,mskin $ 
     441    , lonout,latout,method='bilinear' $ 
     442    , OUTMASK_IND=mskout, SET_OUTMSKVAL=mskout) 
     443    v10out[*,*,jt]=v10out[*,*,jt]*mskout+(1.-mskout)*1.e20 
     444    ; 
    445445endfor 
    446446; 
     
    466466; 
    467467ncfields = 'u10[longitude,latitude,*time]=u10out:u10_attr; ' $ 
    468           +'v10[longitude,latitude,*time]=v10out:v10_attr; ' $ 
    469                       + 'longitude[]=xlon:lon_attr; ' $ 
    470                       + 'latitude[]=ylat:lat_attr; ' $ 
    471                       + 'time[]=timein:time_attr ' $ 
    472                       + ' @ globattr' 
     468+ 'v10[longitude,latitude,*time]=v10out:v10_attr; ' $ 
     469+ 'longitude[]=xlon:lon_attr; ' $ 
     470+ 'latitude[]=ylat:lat_attr; ' $ 
     471+ 'time[]=timein:time_attr ' $ 
     472+ ' @ globattr' 
    473473; 
    474474@ncdf_quickwrite 
  • trunk/src/interp_olr_30n30s.pro

    r203 r204  
    3131;        digraph interp_olr_30n30s{ 
    3232; 
    33 ;           file_in [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/olr.day.mean_new.nc"]; 
    34 ;           mask [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/mask_oaflux_30N30S.nc"]; 
    35 ;           file_out [shape=ellipse,fontname=Courier,label="${PROJECT_OD}/olr_oafluxgrid_30n30s_{yyyymmdd}_{yyyymmdd}.nc"]; 
     33;           file_in [shape=ellipse, 
     34;           fontname=Courier, 
     35;           label="${PROJECT_ID}/olr.day.mean_new.nc"]; 
     36;           mask [shape=ellipse, 
     37;           fontname=Courier, 
     38;           label="${PROJECT_ID}/mask_oaflux_30N30S.nc"]; 
     39;           file_out [shape=ellipse, 
     40;           fontname=Courier, 
     41;           label="${PROJECT_OD}/olr_oafluxgrid_30n30s_{yyyymmdd}_{yyyymmdd}.nc"]; 
    3642; 
    3743;           interp_olr_30n30s [shape=box, 
     
    7985; ==== 
    8086; 
    81 ; hard coded attributes for time origine 
     87; hard coded attributes for time origin 
    8288; 
    8389; how can we avoid this message : 
     
    105111; 
    106112; pb with mixing interpolated and uninterpolated OLR data 
    107 ; check if the input file is the right one (interpolated with get_olr.sh vs non interpolated with get_olr_int.sh) 
     113; check if the input file is the right one (interpolated with get_olr.sh vs 
     114; non interpolated with get_olr_int.sh) 
    108115; 
    109116; uninterpolated OLR is more timely 
     
    127134; 
    128135;   * add timerange in global attributes 
    129 ;   * change time origne 1950 -> 1957 to homogenize wih others fields 
     136;   * change time origin 1950 -> 1957 to homogenize wih others fields 
    130137; 
    131138; - fplod 20120320 
    132139; 
    133 ;   * taking project_overwite into account 
     140;   * taking project_overwrite into account 
    134141;   * try to add compile_opt seems to be incompatible with ncdf_quickwrite 
    135142;   * pro -> function 
     
    194201        return, result 
    195202    END 
    196     ELSE: BEGIN 
     203    ELSE : BEGIN 
    197204        msg = 'iii : ${PROJECT_ID} is ' + project_id_env 
    198205        ras = report(msg) 
     
    238245CASE project_od_env OF 
    239246    '' : BEGIN 
    240          msg = 'eee : ${PROJECT_OD} is not defined' 
    241          ras = report(msg) 
    242        return, result 
     247        msg = 'eee : ${PROJECT_OD} is not defined' 
     248        ras = report(msg) 
     249        return, result 
    243250    END 
    244     ELSE: BEGIN 
    245           msg = 'iii : ${PROJECT_OD} is ' + project_od_env 
    246           ras = report(msg) 
     251    ELSE : BEGIN 
     252        msg = 'iii : ${PROJECT_OD} is ' + project_od_env 
     253        ras = report(msg) 
    247254    END 
    248  ENDCASE 
     255ENDCASE 
    249256; 
    250257; check if output data will be possible 
  • trunk/src/lwdown_clark.pro

    r203 r204  
    66; .. function:: lwdown_clark(sst, qair, cld, tair, ps) 
    77; 
    8 ; DESCRITPION 
     8; DESCRIPTION 
    99; =========== 
    1010; 
  • trunk/src/lwr_correction_ncdf.pro

    r203 r204  
    8686; lwr long name 'Air Temperature at 2m" : ??? 
    8787; 
    88 ; remove hard doded time 
     88; remove hard coded time 
    8989; 
    9090; add_19890101.sh sould not be the previous step in a near future 
     
    105105; - fplod 20120322 
    106106; 
    107 ;   * taking project_overwite into account 
     107;   * taking project_overwrite into account 
    108108;   * try to add compile_opt seems to be incompatible with ncdf_quickwrite 
    109109;   * pro -> function 
     
    158158IF (nparam NE 2) THEN BEGIN 
    159159    ras = report(['Incorrect number of arguments.' $ 
    160           + '!C' $ 
    161           + 'Usage : ' + usage]) 
     160    + '!C' $ 
     161    + 'Usage : ' + usage]) 
    162162    return, result 
    163163ENDIF 
     
    166166CASE project_od_env OF 
    167167    '' : BEGIN 
    168          msg = 'eee : ${PROJECT_OD} is not defined' 
    169          ras = report(msg) 
    170        return, result 
     168        msg = 'eee : ${PROJECT_OD} is not defined' 
     169        ras = report(msg) 
     170        return, result 
    171171    END 
    172     ELSE: BEGIN 
    173           msg = 'iii : ${PROJECT_OD} is ' + project_od_env 
    174           ras = report(msg) 
     172    ELSE : BEGIN 
     173        msg = 'iii : ${PROJECT_OD} is ' + project_od_env 
     174        ras = report(msg) 
    175175    END 
    176176ENDCASE 
     
    181181; existence and protection for reading 
    182182IF (FILE_TEST(iodirout, /DIRECTORY, /EXECUTABLE, /READ) EQ 0) THEN BEGIN 
    183     msg = 'eee : the directory' + iodirout  + ' is not accessible.' 
     183    msg = 'eee : the directory' + iodirout + ' is not accessible.' 
    184184    ras = report(msg) 
    185185    return, result 
     
    188188; existence and protection for writing 
    189189IF (FILE_TEST(iodirout, /DIRECTORY, /WRITE) EQ 0) THEN BEGIN 
    190     msg = 'eee : the directory' + iodirout  + ' was not found.' 
     190    msg = 'eee : the directory' + iodirout + ' was not found.' 
    191191    ras = report(msg) 
    192192    return, result 
     
    194194; 
    195195; build data filename 
    196 filename='erai_lwr_' +  string(yyyymmddb,format='(I8.8)') + '_' + string(yyyymmdde,format='(I8.8)') + '_oafluxgrid.nc' 
     196filename='erai_lwr_' + string(yyyymmddb,format='(I8.8)') + '_' + string(yyyymmdde,format='(I8.8)') + '_oafluxgrid.nc' 
    197197; 
    198198; check if this file exists 
     
    207207; 
    208208; build output filename 
    209 filename_out = 'TropFlux_lwr_' +  string(yyyymmddb,format='(I8.8)') + '_' + string(yyyymmdde,format='(I8.8)') + '.nc' 
     209filename_out = 'TropFlux_lwr_' + string(yyyymmddb,format='(I8.8)') + '_' + string(yyyymmdde,format='(I8.8)') + '.nc' 
    210210fullfilename_out = iodirout + filename_out 
    211211; in order to avoid unexpected overwritten 
     
    250250help, lwr_ano 
    251251; 
    252 ; applying the correction for varyability based on the scatter 
     252; applying the correction for variability based on the scatter 
    253253lwr_ano=lwr_ano*(1/0.760667) 
    254254; 
    255 ; applying the correction for varyability based on the scatter 
     255; applying the correction for variability based on the scatter 
    256256; 
    257257lwr_new=lwr_m+lwr_ano 
     
    266266lat_attr={units:'degrees_north',long_name:'Latitude'} 
    267267time_attr={units:'days since 1950-01-01 00:00:00',long_name:'Time axis',time_origin:'1950-JAN-01 00:00:00'} 
    268 globattr={source:'Basic data obtained from ERAI.  Mean correction for bias and correction for variability are applied',timerange:cda0+' - '+cda1} 
     268globattr={source:'Basic data obtained from ERAI. Mean correction for bias and correction for variability are applied',timerange:cda0+' - '+cda1} 
    269269lwr_attr={units:'degK',missing_value:1.e20,long_name:'Air Temperature at 2m',short_name:'lwr',axis:'TYX'} 
    270270; 
    271271ncfields = 'lwr[longitude,latitude,*time]=lwr_new:lwr_attr; ' $ 
    272                       + 'longitude[]=lon:lon_attr; ' $ 
    273                       + 'latitude[]=lat:lat_attr; ' $ 
    274                       + 'time[]=timein:time_attr ' $ 
    275                       + ' @ globattr' 
     272+ 'longitude[]=lon:lon_attr; ' $ 
     273+ 'latitude[]=lat:lat_attr; ' $ 
     274+ 'time[]=timein:time_attr ' $ 
     275+ ' @ globattr' 
    276276; 
    277277@ncdf_quickwrite 
  • trunk/src/oaflux_mask_30n30s.pro

    r203 r204  
    1414; .. note:: 
    1515; 
    16 ;    Longitude range [30.5,379.5] was choosen in order not to make any cut in 
     16;    Longitude range [30.5,379.5] was chosen in order not to make any cut in 
    1717;    the Atlantic Ocean. 
    1818;    Otherwise if we choose longitude range to [0.5,359.5], Atlantic Ocean 
     
    4646; :ref:`guide data OAFLUX <data_in_oaflux>` 
    4747; 
    48 ; Environement : 
     48; Environment : 
    4949; :ref:`project_profile.sh`, 
    5050; :ref:`project_init.pro`, 
     
    108108; - fplod 20120319 
    109109; 
    110 ;   * taking project_overwite into account 
     110;   * taking project_overwrite into account 
    111111; 
    112112; - fplod 20120306 
     
    156156nparam = N_PARAMS() 
    157157IF (nparam NE 0) THEN BEGIN 
    158    ras = report(['Incorrect number of arguments.' $ 
    159          + '!C' $ 
    160          + 'Usage : ' + usage]) 
    161    return, result 
     158    ras = report(['Incorrect number of arguments.' $ 
     159    + '!C' $ 
     160    + 'Usage : ' + usage]) 
     161    return, result 
    162162ENDIF 
    163163; 
     
    171171fullfilename_in = isafile(project_id_env + filename_in, NEW=0, /MUST_EXIST) 
    172172IF fullfilename_in[0] EQ '' THEN BEGIN 
    173    msg = 'eee : the file ' + fullfilename_in + ' was not found.' 
    174    ras = report(msg) 
    175    return, result 
     173    msg = 'eee : the file ' + fullfilename_in + ' was not found.' 
     174    ras = report(msg) 
     175    return, result 
    176176ENDIF 
    177177; 
     
    180180PRINT, 'project_overwrite : ',project_overwrite 
    181181IF ((FILE_TEST(fullfilename_out) EQ 1) AND (project_overwrite EQ 0)) THEN BEGIN 
    182    msg = 'eee : the file ' + fullfilename_out  + ' already exists.' 
    183    ras = report(msg) 
    184    return, result 
     182    msg = 'eee : the file ' + fullfilename_out  + ' already exists.' 
     183    ras = report(msg) 
     184    return, result 
    185185ENDIF 
    186186; 
  • trunk/src/paper01/fig11/swr_isccp_tropflux_new_v1.pro

    r203 r204  
    2929; 
    3030;       swr [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/swr_oafluxgrid_1985_2007.nc"]; 
    31 ;       sw [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/sw_reconstred_1989_2009.nc"]; 
     31;       sw [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/sw_reconstructed_1989_2009.nc"]; 
    3232;       olr [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/olr_oafluxgrid_30n30s.nc"]; 
    3333;       sst [shape=ellipse,fontname=Courier,label="${PROJECT_OD}/TropFlux_sst_19890101_20091231.nc"]; 
     
    112112sw_isccp=read_ncdf("swr", st, en, file=file,/nostr) 
    113113; 
    114 file=project_od_env+'sw_reconstred_1989_2009.nc' 
     114file=project_od_env+'sw_reconstructed_1989_2009.nc' 
    115115initncdf, file 
    116116sw_trop=read_ncdf("sw", st, en+1, file=file,/nostr) 
  • trunk/src/paper01/fig16/fig16_timeseries_nino3.pro

    r203 r204  
    222222; 
    223223pltt, ts_smooth(sst_ano,nsmooth,/nan), "t",/rempl,/nocolorb, $ 
    224       small=[1,3,1], title="a) Nino 3 index ", subtitle="", $ 
     224      small=[1,3,1], title="a) Niño 3 index ", subtitle="", $ 
    225225      ytitle="(degree Celcius)", marge=marge, linethick=1.3, charsize=1.1, xmin=-1, ymin=-1 
    226226; 
  • trunk/src/paper01/fig2/read_sw.pro

    r203 r204  
    6767;   * remove hard coding path 
    6868;   * add graphviz 
    69 ;   * remove smooth call (unreacheable statement after end !!) 
     69;   * remove smooth call (unreachable statement after end !!) 
    7070; 
    7171; - fplod 20110411T142955Z aedon.locean-ipsl.upmc.fr (Darwin) 
  • trunk/src/paper01/fig2/x_site_location.pro

    r203 r204  
    77; .. function:: x_site_location(site) 
    88; 
    9 ; DESCRITPION 
     9; DESCRIPTION 
    1010; =========== 
    1111; 
  • trunk/src/paper01/fig2/y_site_location.pro

    r203 r204  
    77; .. function:: y_site_location(site) 
    88; 
    9 ; DESCRITPION 
     9; DESCRIPTION 
    1010; =========== 
    1111; 
  • trunk/src/paper01/fig9/lwr_validation_scatter_2000_2007.pro

    r203 r204  
    152152; 
    153153file=project_id_env+'TropFlux_lwr_19890101_20091231.nc" 
    154 initncda, file 
     154initncdf, file 
    155155cor=read_ncdf('lwr',date1,date2,file=file,/nostr) 
    156156cor=-1*cor 
  • trunk/src/paper01/fig9/swr_validation_scatter_2000_2007.pro

    r203 r204  
    9191;- 
    9292pro swr_validation_scatter_2000_2007, date1, date2 
    93 @cm_genral 
     93@cm_general 
    9494@cm_project 
    9595reinitplt, /z,/invert 
  • trunk/src/plot_tropflux.pro

    r203 r204  
    126126; 
    127127; add a keyword debug 
    128 ; add a keyworf overwrite 
    129 ; 
    130 ; lecture du mask oaflux pour initcdf 
     128; add a keyword overwrite 
     129; 
     130; lecture du mask oaflux pour initncdf 
    131131; 
    132132; coding rules 
    133133; 
    134 ; parametre date debut date fin ? 
    135 ; 
    136 ; parametre version ? 
    137 ; 
    138 ; parametre pour website 
     134; parameter date debut date fin ? 
     135; 
     136; parameter version ? 
     137; 
     138; parameter pour website 
    139139; ref to tip on mouse on mac (cf mail seb) 
    140140; 
     
    143143; add parameter saveimage 
    144144; 
    145 ; ajuster le format à la dynamique de la variable 
     145; ajuster le format à la dynamique de la variable 
    146146; 
    147147; check arg 
     
    217217               filename_in='TropFlux_19890101_20091231.nc' 
    218218           END 
    219 ELSE: BEGIN 
    220      msg = 'eee : ' + tropflux_varname + ' unknown or not handled here' 
    221      ras = report(msg) 
    222        END 
     219    ELSE : BEGIN 
     220        msg = 'eee : ' + tropflux_varname + ' unknown or not handled here' 
     221        ras = report(msg) 
     222    END 
    223223ENDCASE 
    224224; 
     
    227227; test if ${PROJECT_ID} defined 
    228228CASE project_id_env OF 
    229     ''  :  BEGIN 
    230      msg = 'eee : ${PROJECT_ID} is not defined' 
    231      ras = report(msg) 
    232      STOP 
    233            END 
    234 ELSE: BEGIN 
    235      msg = 'iii : ${PROJECT_ID} is ' + project_id_env 
    236      ras = report(msg) 
    237        END 
     229    '' :  BEGIN 
     230         msg = 'eee : ${PROJECT_ID} is not defined' 
     231         ras = report(msg) 
     232         STOP 
     233    END 
     234    ELSE : BEGIN 
     235        msg = 'iii : ${PROJECT_ID} is ' + project_id_env 
     236        ras = report(msg) 
     237    END 
    238238ENDCASE 
    239239; 
     
    242242; existence and protection of ${PROJECT_ID} 
    243243IF (FILE_TEST(iodirin, /DIRECTORY, /EXECUTABLE, /READ) EQ 0) THEN BEGIN 
    244    msg = 'eee : the directory' + iodirin  + ' is not accessible.' 
    245    ras = report(msg) 
    246    STOP 
     244    msg = 'eee : the directory' + iodirin  + ' is not accessible.' 
     245    ras = report(msg) 
     246    STOP 
    247247ENDIF 
    248248; 
     
    251251print, fullfilename_in 
    252252IF fullfilename_in[0] EQ '' THEN BEGIN 
    253    msg = 'eee : the file ' + fullfilename_in + ' was not found.' 
    254    ras = report(msg) 
    255    STOP 
     253    msg = 'eee : the file ' + fullfilename_in + ' was not found.' 
     254    ras = report(msg) 
     255    STOP 
    256256ENDIF 
    257257print, fullfilename_in[0] 
     
    259259; test if ${PROJECT_OD} defined 
    260260CASE project_od_env OF 
    261   '' : BEGIN 
    262    msg = 'eee : ${PROJECT_OD} is not defined' 
    263    ras = report(msg) 
    264    STOP 
    265        END 
    266 ELSE: BEGIN 
    267    msg = 'iii : ${PROJECT_OD} is ' + project_od_env 
    268    ras = report(msg) 
    269         END 
     261    '' : BEGIN 
     262        msg = 'eee : ${PROJECT_OD} is not defined' 
     263        ras = report(msg) 
     264        STOP 
     265    END 
     266    ELSE : BEGIN 
     267        msg = 'iii : ${PROJECT_OD} is ' + project_od_env 
     268        ras = report(msg) 
     269    END 
    270270ENDCASE 
    271271; 
     
    275275; existence and protection 
    276276IF (FILE_TEST(iodirout, /DIRECTORY, /WRITE) EQ 0) THEN BEGIN 
    277    msg = 'eee : the directory' + iodirout  + ' was not found.' 
    278    ras = report(msg) 
    279    STOP 
     277    msg = 'eee : the directory' + iodirout  + ' was not found.' 
     278    ras = report(msg) 
     279    STOP 
    280280ENDIF 
    281281; 
     
    284284; in order to avoid unexpected overwritten 
    285285IF (FILE_TEST(fullfilename_out_year) EQ 1) THEN BEGIN 
    286    msg = 'eee : the file ' + fullfilename_out_year  + ' already exists.' 
    287    IF overwrite EQ 0 THEN BEGIN 
    288        ras = report(msg) 
    289        STOP 
    290    ENDIF 
     286    msg = 'eee : the file ' + fullfilename_out_year  + ' already exists.' 
     287    IF overwrite EQ 0 THEN BEGIN 
     288        ras = report(msg) 
     289        STOP 
     290    ENDIF 
    291291ENDIF 
    292292; 
     
    295295; in order to avoid unexpected overwritten 
    296296IF (FILE_TEST(fullfilename_out_month) EQ 1) THEN BEGIN 
    297    IF overwrite EQ 0 THEN BEGIN 
    298        msg = 'eee : the file ' + fullfilename_out_month  + ' already exists.' 
    299        ras = report(msg) 
    300        STOP 
    301    ENDIF 
     297    IF overwrite EQ 0 THEN BEGIN 
     298        msg = 'eee : the file ' + fullfilename_out_month  + ' already exists.' 
     299        ras = report(msg) 
     300        STOP 
     301    ENDIF 
    302302ENDIF 
    303303; 
     
    308308 
    309309IF debug EQ 1 THEN BEGIN 
    310    ; afficher ce que l'on veut verifier : tmask values should be 1.e20 on earth 
     310   ; afficher ce que l'on veut vérifier : tmask values should be 1.e20 on earth 
    311311   ; and ++ an ocean 
    312312   ; ++ pb souris mac tvplus, tmask[*,*,0] 
     
    317317; 
    318318IF debug EQ 1 THEN BEGIN 
    319    ; afficher ce que l'on veut vérifier : tropflux_var missing are NaN, values on earth are 1.e20 
     319   ; afficher ce que l'on veut vérifier : tropflux_var missing are NaN, values on earth are 1.e20 
    320320   ; ++ pb souris mac tvplus, tropflux_var[*,*,0] 
    321321ENDIF 
     
    325325saveimage, fullfilename_out_year, /png 
    326326; 
    327 ; ++ defintion des types d'images 
     327; ++ définition des types d'images 
    328328plot_month=0 
    329329IF plot_month EQ 1 THEN BEGIN 
    330    ; plot monthes on one page (6x2) 
    331    nl=4 
    332    nc=2 
    333    ; ++ wating for final plot do be done 
    334    jpt=nc*nl 
    335    FOR itime = 0L, jpt - 1 DO BEGIN 
    336        vardate=monthname(itime + 1) 
    337        plt, tropflux_var[*,*,itime], noerase = (itime GT 0), small= [nc, nl, itime + 1] , format='(f6.1)',  /landscape, window=1 
    338    ENDFOR 
    339    saveimage, fullfilename_out_month, /png 
     330    ; plot months on one page (6x2) 
     331    nl=4 
     332    nc=2 
     333    ; ++ waiting for final plot do be done 
     334    jpt=nc*nl 
     335    FOR itime = 0L, jpt - 1 DO BEGIN 
     336        vardate=monthname(itime + 1) 
     337        plt, tropflux_var[*,*,itime], noerase = (itime GT 0), small= [nc, nl, itime + 1] , format='(f6.1)',  /landscape, window=1 
     338    ENDFOR 
     339    saveimage, fullfilename_out_month, /png 
    340340ENDIF 
    341341; 
  • trunk/src/project_profile.sh

    r203 r204  
    7474#    cd /usr/home/fplod/incas/tropflux/tropflux_ws/ 
    7575#    . ./src/project_profile.sh \ 
    76 #    -d $(pwd) \ 
     76#    -d $(pwd)/ \ 
    7777#    -i /usr/temp/${LOGNAME}/tropflux_d/ \ 
    7878#    -o /usr/temp/${LOGNAME}/tropflux_d/ \ 
     
    8787#    cd ${HOME}/incas/tropflux/tropflux_ws/ 
    8888#    . ./src/project_profile.sh \ 
    89 #    -d $(pwd) \ 
     89#    -d $(pwd)/ \ 
    9090#    -i /usr/temp/${LOGNAME}/tropflux_d/ \ 
    9191#    -o /usr/temp/${LOGNAME}/tropflux_d/ \ 
     
    101101#    cd ${HOME}/tropflux/ 
    102102#    . ./src/project_profile.sh \ 
    103 #   -d $(pwd) \ 
     103#   -d $(pwd)/ \ 
    104104#   -i /homedata/${LOGNAME}/tropflux_d/ \ 
    105105#   -o /homedata/${LOGNAME}/tropflux_d/ \ 
     
    180180# default 
    181181idl_cmd=idl 
    182 # 
    183 while [ ${#} -gt 0 ] 
    184 do 
    185     case ${1} in 
    186         -d) 
    187             # directory for application choosen by user (see svn checkout command used) 
    188             directory=${2} 
    189             shift 
    190         ;; 
    191         -i) 
    192             # directory for inputs choosen by user 
    193             indir=${2} 
    194             shift 
    195         ;; 
    196         -o) 
    197             # directory for outputs choosen by user 
    198             outdir=${2} 
    199             shift 
    200         ;; 
    201         -t) 
    202             # directory for temporary outputs choosen by user 
    203             tempdir=${2} 
    204             shift 
    205         ;; 
    206         -s) 
    207             # directory for SAXO tools 
    208             saxo_dir=${2} 
    209             shift 
    210         ;; 
    211         -idl_cmd) 
    212             # command for idl 
    213             idl_cmd=${2} 
    214             shift 
    215         ;; 
    216         *) 
    217             # other choice 
    218             echo "eee : unknown option ${1}" 
    219             echo "${usage}" 
     182pb=0 
     183# 
     184minargcount=12 
     185maxargcount=12 
     186narg=${#} 
     187# 
     188if [ ${narg} -lt ${minargcount} ] 
     189then 
     190    echo "eee : not enough arguments (${narg} vs ${minargcount})" 
     191    echo "${usage}" 
     192    # nb : no exit because this file should be launched by login process 
     193    pb=1 
     194fi 
     195unset minargcount 
     196# 
     197if [ ${narg} -gt ${maxargcount} ] 
     198then 
     199    echo "eee : too many arguments (${narg} vs ${maxargcount})" 
     200    echo "${usage}" 
     201    # nb : no exit because this file should be launched by login process 
     202    pb=1 
     203fi 
     204unset maxargcount 
     205unset narg 
     206# 
     207if [ ${pb} -eq 0 ] 
     208then 
     209    while [ ${#} -gt 0 ] 
     210    do 
     211        case ${1} in 
     212            -d) 
     213                # directory for application chosen by user (see svn checkout command used) 
     214                directory=${2} 
     215                shift 
     216            ;; 
     217            -i) 
     218                # directory for inputs chosen by user 
     219                indir=${2} 
     220                shift 
     221            ;; 
     222            -o) 
     223                # directory for outputs chosen by user 
     224                outdir=${2} 
     225                shift 
     226            ;; 
     227            -t) 
     228                # directory for temporary outputs chosen by user 
     229                tempdir=${2} 
     230                shift 
     231            ;; 
     232            -s) 
     233                # directory for SAXO tools 
     234                saxo_dir=${2} 
     235                shift 
     236            ;; 
     237            -idl_cmd) 
     238                # command for idl 
     239                idl_cmd=${2} 
     240                shift 
     241            ;; 
     242            *) 
     243                # other choice 
     244                echo "eee : unknown option ${1}" 
     245                echo "${usage}" 
     246                # nb : no exit because this file should be launched by login process 
     247            ;; 
     248        esac 
     249        # next flag 
     250        shift 
     251    done 
     252    unset usage 
     253fi 
     254# 
     255if [ ${pb} -eq 0 ] 
     256then 
     257    # check for ${directory} 
     258    if [ ! -d ${directory} ] 
     259    then 
     260        echo " eee : ${directory} not found" 
     261        # nb : no exit because this file should be launched by login process 
     262    fi 
     263    # 
     264    # check for permission on directory 
     265    if [ ! -x ${directory} ] 
     266    then 
     267        echo " eee : ${directory} not reachable" 
     268        # nb : no exit because this file should be launched by login process 
     269    fi 
     270    # 
     271    PROJECT=${directory} 
     272    export PROJECT 
     273    unset directory 
     274    # 
     275    # add PROJECT tools to PATH 
     276    # if not already done 
     277    suppath=$(echo ${PROJECT}/src | tr -s "/") 
     278    echo ${PATH} | grep -q "${suppath}:" 
     279    test_path=${?} 
     280    if [ ${test_path} -ne 0 ] 
     281    then 
     282        PATH=${suppath}:${PATH} 
     283        export PATH 
     284    else 
     285        # option bavarde oui/non pas encore implantée ++ 
     286        echo "${command} : iii : ${suppath} already in \${PATH}" 
     287    fi 
     288    unset test_path 
     289    # 
     290    # add PROJECT manuals to MANPATH 
     291    # if not already done 
     292    suppath=$(echo ${PROJECT}/doc/man | tr -s "/") 
     293    echo ${MANPATH} | grep -q "${suppath}:" 
     294    test_manpath=${?} 
     295    if [ ${test_manpath} -ne 0 ] 
     296    then 
     297        MANPATH=${suppath}:${MANPATH} 
     298        export MANPATH 
     299    else 
     300        # option bavarde oui/non pas encore implantée ++ 
     301        echo "${command} : iii : ${suppath} already in \${MANPATH}" 
     302    fi 
     303    unset test_manpath 
     304    unset suppath 
     305    # 
     306    PROJECT_LOG=${tempdir} 
     307    export PROJECT_LOG 
     308    unset tempdir 
     309    if [ ! -d ${PROJECT_LOG} ] 
     310    then 
     311        mkdir -p ${PROJECT_LOG} 
     312        status=${?} 
     313        if [ ${status} -ne 0 ] 
     314        then 
     315            echo "${command} : eee : can not create \${PROJECT_LOG}" 
    220316            # nb : no exit because this file should be launched by login process 
    221         ;; 
    222     esac 
    223     # next flag 
    224     shift 
    225 done 
    226 unset usage 
    227 # 
    228 # check for ${directory} 
    229 if [ ! -d ${directory} ] 
    230 then 
    231     echo " eee : ${directory} not found" 
    232     # nb : no exit because this file should be launched by login process 
     317        else 
     318            echo "${command} : iii : creation of \${PROJECT_LOG}" 
     319        fi 
     320        unset status 
     321    fi 
     322    # check for permission on PROJECT_LOG 
     323    if [ ! -x ${PROJECT_LOG} ] 
     324    then 
     325        echo " eee : ${PROJECT_LOG} not reachable" 
     326        # nb : no exit because this file should be launched by login process 
     327    fi 
     328    # 
     329    # check for permission on PROJECT_LOG 
     330    if [ ! -w ${PROJECT_LOG} ] 
     331    then 
     332        echo " eee : ${PROJECT_LOG} not writable" 
     333        # nb : no exit because this file shouldreachable be launched by login process 
     334    fi 
     335    # 
     336    EDITOR=vi 
     337    export EDITOR 
     338    # 
     339    # io directories 
     340    PROJECT_ID=${indir} 
     341    export PROJECT_ID 
     342    unset indir 
     343    if [ ! -d ${PROJECT_ID} ] 
     344    then 
     345        mkdir -p ${PROJECT_ID} 
     346        echo "${command} : iii : creation of \${PROJECT_ID}" 
     347    fi 
     348    # check for permission on PROJECT_ID 
     349    if [ ! -x ${PROJECT_ID} ] 
     350    then 
     351        echo " eee : ${PROJECT_ID} not reachable" 
     352        # nb : no exit because this file should be launched by login process 
     353    fi 
     354    # 
     355    PROJECT_OD=${outdir} 
     356    export PROJECT_OD 
     357    unset outdir 
     358    if [ ! -d ${PROJECT_OD} ] 
     359    then 
     360        mkdir -p ${PROJECT_OD} 
     361        echo "${command} : iii : creation of \${PROJECT_OD}" 
     362    fi 
     363    # check for permission on PROJECT_OD 
     364    if [ ! -x ${PROJECT_OD} ] 
     365    then 
     366        echo " eee : ${PROJECT_OD} not reachable" 
     367        # nb : no exit because this file should be launched by login process 
     368    fi 
     369    if [ ! -w ${PROJECT_OD} ] 
     370    then 
     371        echo " eee : ${PROJECT_OD} not writable" 
     372        # nb : no exit because this file should be launched by login process 
     373    fi 
     374    # 
     375    # setup for ferret 
     376    set +u 
     377    if [ "${FER_GO}" = "" ] 
     378    then 
     379        FER_GO="${FER_DIR}/go ${FER_GO} ${PROJECT}/src" 
     380    else 
     381        FER_GO="${FER_DIR}/go ${PROJECT}/src" 
     382    fi 
     383    set -u 
     384    FER_GO="${FER_GO} ${PROJECT}/src/test" 
     385    export FER_GO 
     386    # 
     387    # set up for idl 
     388    IDL_CMD=${idl_cmd} 
     389    export IDL_CMD 
     390    unset idl_cmd 
     391    # 
     392    SAXO_DIR=${saxo_dir} 
     393    export SAXO_DIR 
     394    unset saxo_dir 
     395    # 
     396    # IDL startup 
     397    IDL_STARTUP=${PROJECT}/src/project_init.pro 
     398    export IDL_STARTUP 
    233399fi 
    234 # 
    235 # check for permission on directory 
    236 if [ ! -x ${directory} ] 
    237 then 
    238     echo " eee : ${directory} not reachable" 
    239     # nb : no exit because this file should be launched by login process 
    240 fi 
    241 # 
    242 PROJECT=${directory} 
    243 export PROJECT 
    244 unset drectory 
    245 # 
    246 # add PROJECT tools to PATH 
    247 # if not already done 
    248 suppath=$(echo ${PROJECT}/src | tr -s "/") 
    249 echo ${PATH} | grep -q "${suppath}:" 
    250 test_path=${?} 
    251 if [ ${test_path} -ne 0 ] 
    252 then 
    253     PATH=${suppath}:${PATH} 
    254     export PATH 
    255 else 
    256     # option bavarde oui/non pas encore implantée ++ 
    257     echo "${command} : iii : ${suppath} already in \${PATH}" 
    258 fi 
    259 unset test_path 
    260 # 
    261 # add PROJECT manuals to MANPATH 
    262 # if not already done 
    263 suppath=$(echo ${PROJECT}/doc/man | tr -s "/") 
    264 echo ${MANPATH} | grep -q "${suppath}:" 
    265 test_manpath=${?} 
    266 if [ ${test_manpath} -ne 0 ] 
    267 then 
    268     MANPATH=${suppath}:${MANPATH} 
    269     export MANPATH 
    270 else 
    271     # option bavarde oui/non pas encore implantée ++ 
    272     echo "${command} : iii : ${suppath} already in \${MANPATH}" 
    273 fi 
    274 unset test_manpath 
    275 unset suppath 
    276 # 
    277 PROJECT_LOG=${tempdir} 
    278 export PROJECT_LOG 
    279 unset tempdir 
    280 if [ ! -d ${PROJECT_LOG} ] 
    281 then 
    282     mkdir -p ${PROJECT_LOG} 
    283     status=${?} 
    284     if [ ${status} -ne 0 ] 
    285     then 
    286         echo "${command} : eee : can not create \${PROJECT_LOG}" 
    287         # nb : no exit because this file should be launched by login process 
    288     else 
    289         echo "${command} : iii : creation of \${PROJECT_LOG}" 
    290     fi 
    291     unset status 
    292 fi 
    293 # check for permission on PROJECT_LOG 
    294 if [ ! -x ${PROJECT_LOG} ] 
    295 then 
    296     echo " eee : ${PROJECT_LOG} not reachable" 
    297     # nb : no exit because this file should be launched by login process 
    298 fi 
    299 # 
    300 # check for permission on PROJECT_LOG 
    301 if [ ! -w ${PROJECT_LOG} ] 
    302 then 
    303     echo " eee : ${PROJECT_LOG} not writable" 
    304     # nb : no exit because this file shouldreachable be launched by login process 
    305 fi 
    306 # 
    307 EDITOR=vi 
    308 export EDITOR 
    309 # 
    310 # io directories 
    311 PROJECT_ID=${indir} 
    312 export PROJECT_ID 
    313 unset indir 
    314 if [ ! -d ${PROJECT_ID} ] 
    315 then 
    316     mkdir -p ${PROJECT_ID} 
    317     echo "${command} : iii : creation of \${PROJECT_ID}" 
    318 fi 
    319 # check for permission on PROJECT_ID 
    320 if [ ! -x ${PROJECT_ID} ] 
    321 then 
    322     echo " eee : ${PROJECT_ID} not reachable" 
    323     # nb : no exit because this file should be launched by login process 
    324 fi 
    325 # 
    326 PROJECT_OD=${outdir} 
    327 export PROJECT_OD 
    328 unset outdir 
    329 if [ ! -d ${PROJECT_OD} ] 
    330 then 
    331     mkdir -p ${PROJECT_OD} 
    332     echo "${command} : iii : creation of \${PROJECT_OD}" 
    333 fi 
    334 # check for permission on PROJECT_OD 
    335 if [ ! -x ${PROJECT_OD} ] 
    336 then 
    337     echo " eee : ${PROJECT_OD} not reachable" 
    338     # nb : no exit because this file should be launched by login process 
    339 fi 
    340 if [ ! -w ${PROJECT_OD} ] 
    341 then 
    342     echo " eee : ${PROJECT_OD} not writable" 
    343     # nb : no exit because this file should be launched by login process 
    344 fi 
    345 # 
    346 # setup for ferret 
    347 set +u 
    348 if [ "${FER_GO}" = "" ] 
    349 then 
    350     FER_GO="${FER_DIR}/go ${FER_GO} ${PROJECT}/src" 
    351 else 
    352     FER_GO="${FER_DIR}/go ${PROJECT}/src" 
    353 fi 
    354 set -u 
    355 FER_GO="${FER_GO} ${PROJECT}/src/test" 
    356 export FER_GO 
    357 # 
    358 # set up for idl 
    359 IDL_CMD=${idl_cmd} 
    360 export IDL_CMD 
    361 unset idl_cmd 
    362 # 
    363 SAXO_DIR=${saxo_dir} 
    364 export SAXO_DIR 
    365 unset saxo_dir 
    366 # 
    367 # IDL startup 
    368 IDL_STARTUP=${PROJECT}/src/project_init.pro 
    369 export IDL_STARTUP 
    370 # 
     400unset pb 
    371401# end 
    372402unset command 
  • trunk/src/psit.pro

    r181 r204  
    77; .. function:: psit(zet) 
    88; 
    9 ; DESCRITPION 
     9; DESCRIPTION 
    1010; =========== 
    1111; 
     
    3434 
    3535if (ii(0) ne -1) then begin 
    36   c=min([50,.35*zet]) 
    37   psi(ii)=-((1+2./3*zet(ii))^1.5+.6667*(zet(ii)-14.28)/exp(c(ii))+8.525) 
     36    c=min([50,.35*zet]) 
     37    psi(ii)=-((1+2./3*zet(ii))^1.5+.6667*(zet(ii)-14.28)/exp(c(ii))+8.525) 
    3838endif 
    3939 
  • trunk/src/psiu.pro

    r181 r204  
    77; .. function:: psiu(zet) 
    88; 
    9 ; DESCRITPION 
     9; DESCRIPTION 
    1010; =========== 
    1111; 
     
    3434 
    3535if (ii(0) ne -1) then begin 
    36   c=min([50,.35*zet]) 
    37   psi(ii)=-((1+1.*zet(ii))^1.+.667*(zet(ii)-14.28)/exp(c(ii))+8.525) 
     36    c=min([50,.35*zet]) 
     37    psi(ii)=-((1+1.*zet(ii))^1.+.667*(zet(ii)-14.28)/exp(c(ii))+8.525) 
    3838endif 
    3939 
  • trunk/src/q2m_correction_ncdf.pro

    r203 r204  
    104104; - fplod 20120322 
    105105; 
    106 ;   * taking project_overwite into account 
     106;   * taking project_overwrite into account 
    107107;   * try to add compile_opt seems to be incompatible with ncdf_quickwrite 
    108108;   * pro -> function 
     
    156156; test if ${PROJECT_OD} defined 
    157157CASE project_od_env OF 
    158   '' : BEGIN 
    159          msg = 'eee : ${PROJECT_OD} is not defined' 
     158    '' : BEGIN 
     159        msg = 'eee : ${PROJECT_OD} is not defined' 
     160        ras = report(msg) 
     161        return, result 
     162     END 
     163     ELSE : BEGIN 
     164         msg = 'iii : ${PROJECT_OD} is ' + project_od_env 
    160165         ras = report(msg) 
    161        return, result 
    162        END 
    163   ELSE: BEGIN 
    164           msg = 'iii : ${PROJECT_OD} is ' + project_od_env 
    165           ras = report(msg) 
    166         END 
    167  ENDCASE 
     166     END 
     167ENDCASE 
    168168; 
    169169; check if output data will be possible 
     
    172172; existence and protection for reading 
    173173IF (FILE_TEST(iodirout, /DIRECTORY, /EXECUTABLE, /READ) EQ 0) THEN BEGIN 
    174    msg = 'eee : the directory' + iodirout  + ' is not accessible.' 
    175    ras = report(msg) 
    176    return, result 
     174    msg = 'eee : the directory' + iodirout  + ' is not accessible.' 
     175    ras = report(msg) 
     176    return, result 
    177177ENDIF 
    178178; 
     
    192192fullfilename = isafile(iodirout + filename, NEW=0, /MUST_EXIST) 
    193193IF fullfilename[0] EQ '' THEN BEGIN 
    194    msg = 'eee : the file ' + fullfilename + ' was not found.' 
    195    ras = report(msg) 
    196    return, result 
     194    msg = 'eee : the file ' + fullfilename + ' was not found.' 
     195    ras = report(msg) 
     196    return, result 
    197197ENDIF 
    198198; 
     
    202202; in order to avoid unexpected overwritten 
    203203IF ((FILE_TEST(fullfilename_out) EQ 1)  AND (project_overwrite EQ 0)) THEN BEGIN 
    204    msg = 'eee : the file ' + fullfilename_out  + ' already exists.' 
    205    ras = report(msg) 
    206    return, result 
     204    msg = 'eee : the file ' + fullfilename_out  + ' already exists.' 
     205    ras = report(msg) 
     206    return, result 
    207207ENDIF 
    208208; 
     
    228228; 
    229229for jt=0,jpt-1 do begin 
    230   jtt=(time[jt]-julday(1,1,yea[jt])) < 364 
    231   q=reform(q2m_mean[*,*]) 
    232   q2m_m[*,*,jt]=q 
     230    jtt=(time[jt]-julday(1,1,yea[jt])) < 364 
     231    q=reform(q2m_mean[*,*]) 
     232    q2m_m[*,*,jt]=q 
    233233endfor 
    234234help, q2m_m 
  • trunk/src/qsee.pro

    r181 r204  
    77; .. function:: qsee(zet) 
    88; 
    9 ; DESCRITPION 
     9; DESCRIPTION 
    1010; =========== 
    1111; 
  • trunk/src/read_basic_var.pro

    r107 r204  
    2121; 
    2222; supprimer ./paper01/fig3/read_basic_var.pro 
    23 ; car ce module a l'air d'être le même 
     23; car ce module a l'air d'être le même 
    2424; 
    2525; make it work 
     
    4040;- 
    4141pro read_basic_var, csite,date1,date2,nsmooth, $ 
    42                      at, rh, sst, wu, wv, ws 
     42at, rh, sst, wu, wv, ws 
    4343 
    4444@common 
     
    6666;tt=fltarr(jpt)+!values.f_nan 
    6767if (f) then begin 
    68   tt0=time_lec(fi) 
    69   sw0=ncdf_lec(fi,var='RD_495') 
    70   sw_q0=ncdf_lec(fi,var='QSW_5495') 
    71   tt0=tt0-time(0) 
    72   ind=where((tt0 ge -1e-5) and (tt0 le jpt-1+1e-5)) 
    73   if (ind(0) ne -1) then begin 
    74   sw(tt0(ind))=sw0(ind) 
    75   sw_q(tt0(ind))=sw_q0(ind) 
    76   endif 
     68    tt0=time_lec(fi) 
     69    sw0=ncdf_lec(fi,var='RD_495') 
     70    sw_q0=ncdf_lec(fi,var='QSW_5495') 
     71    tt0=tt0-time(0) 
     72    ind=where((tt0 ge -1e-5) and (tt0 le jpt-1+1e-5)) 
     73    if (ind(0) ne -1) then begin 
     74        sw(tt0(ind))=sw0(ind) 
     75        sw_q(tt0(ind))=sw_q0(ind) 
     76    endif 
    7777endif 
    7878 
     
    8585lh_q=fltarr(jpt)+!values.f_nan 
    8686if (f) then begin 
    87   tt0=time_lec(fi) 
    88   lh0=ncdf_lec(fi,var='QL_137') 
    89   lh_q0=ncdf_lec(fi,var='QQL_5137') 
    90   tt0=tt0-time(0) 
    91   ind=where((tt0 ge -1e-5) and (tt0 le jpt-1+1e-5)) 
    92   if (ind(0) ne -1) then begin 
    93   lh(tt0(ind))=lh0(ind) 
    94   lh_q(tt0(ind))=lh_q0(ind) 
    95   endif 
     87    tt0=time_lec(fi) 
     88    lh0=ncdf_lec(fi,var='QL_137') 
     89    lh_q0=ncdf_lec(fi,var='QQL_5137') 
     90    tt0=tt0-time(0) 
     91    ind=where((tt0 ge -1e-5) and (tt0 le jpt-1+1e-5)) 
     92    if (ind(0) ne -1) then begin 
     93        lh(tt0(ind))=lh0(ind) 
     94        lh_q(tt0(ind))=lh_q0(ind) 
     95    endif 
    9696endif 
    9797 
     
    102102lon=fltarr(jpt)+!values.f_nan 
    103103if (f) then begin 
    104   tt0=time_lec(fi) 
    105   lat0=ncdf_lec(fi,var='LAT_500') 
    106   lon0=ncdf_lec(fi,var='LON_502') 
    107   tt0=tt0-time(0) 
    108   ind=where((tt0 ge -1e-5) and (tt0 le jpt-1+1e-5)) 
    109   if (ind(0) ne -1) then begin 
    110     lat(tt0(ind))=lat0(ind) 
    111     lon(tt0(ind))=lon0(ind) 
    112   endif 
     104    tt0=time_lec(fi) 
     105    lat0=ncdf_lec(fi,var='LAT_500') 
     106    lon0=ncdf_lec(fi,var='LON_502') 
     107    tt0=tt0-time(0) 
     108    ind=where((tt0 ge -1e-5) and (tt0 le jpt-1+1e-5)) 
     109    if (ind(0) ne -1) then begin 
     110        lat(tt0(ind))=lat0(ind) 
     111        lon(tt0(ind))=lon0(ind) 
     112    endif 
    113113endif 
    114  
    115114 
    116115;;MET PARAMETERS 
     
    129128 
    130129if (f) then begin 
    131   tt0=time_lec(fi) 
    132   wu0=ncdf_lec(fi,var='WU_422') 
    133   wv0=ncdf_lec(fi,var='WV_423') 
    134   ws0=ncdf_lec(fi,var='WS_401') 
    135   ws_q0=ncdf_lec(fi,var='QWS_5401') 
    136   at0=ncdf_lec(fi,var='AT_21') 
    137   at_q0=ncdf_lec(fi,var='QAT_5021') 
    138   rh0=ncdf_lec(fi,var='RH_910') 
    139   rh_q0=ncdf_lec(fi,var='QRH_5910') 
    140   sst0=ncdf_lec(fi,var='T_25') 
    141   sst_q0=ncdf_lec(fi,var='QT_5025') 
    142   tt0=tt0-time(0) 
    143   ind=where((tt0 ge -1e-5) and (tt0 le jpt-1+1e-5)) 
    144   if (ind(0) ne -1) then begin 
    145     wu(tt0(ind))=wu0(ind) 
    146     wv(tt0(ind))=wv0(ind) 
    147     ws(tt0(ind))=ws0(ind) 
    148     ws_q(tt0(ind))=ws_q0(ind) 
    149     at(tt0(ind))=at0(ind) 
    150     at_q(tt0(ind))=at_q0(ind) 
    151     rh(tt0(ind))=rh0(ind) 
    152     rh_q(tt0(ind))=rh_q0(ind) 
    153     sst(tt0(ind))=sst0(ind) 
    154     sst_q(tt0(ind))=sst_q0(ind) 
    155   endif 
     130    tt0=time_lec(fi) 
     131    wu0=ncdf_lec(fi,var='WU_422') 
     132    wv0=ncdf_lec(fi,var='WV_423') 
     133    ws0=ncdf_lec(fi,var='WS_401') 
     134    ws_q0=ncdf_lec(fi,var='QWS_5401') 
     135    at0=ncdf_lec(fi,var='AT_21') 
     136    at_q0=ncdf_lec(fi,var='QAT_5021') 
     137    rh0=ncdf_lec(fi,var='RH_910') 
     138    rh_q0=ncdf_lec(fi,var='QRH_5910') 
     139    sst0=ncdf_lec(fi,var='T_25') 
     140    sst_q0=ncdf_lec(fi,var='QT_5025') 
     141    tt0=tt0-time(0) 
     142    ind=where((tt0 ge -1e-5) and (tt0 le jpt-1+1e-5)) 
     143    if (ind(0) ne -1) then begin 
     144        wu(tt0(ind))=wu0(ind) 
     145        wv(tt0(ind))=wv0(ind) 
     146        ws(tt0(ind))=ws0(ind) 
     147        ws_q(tt0(ind))=ws_q0(ind) 
     148        at(tt0(ind))=at0(ind) 
     149        at_q(tt0(ind))=at_q0(ind) 
     150        rh(tt0(ind))=rh0(ind) 
     151        rh_q(tt0(ind))=rh_q0(ind) 
     152        sst(tt0(ind))=sst0(ind) 
     153        sst_q(tt0(ind))=sst_q0(ind) 
     154    endif 
    156155endif 
    157156 
     
    163162 
    164163if (ind(0) ne -1) then begin 
    165   sw(ind)=!Values.f_nan   &   at(ind)=!Values.f_nan 
    166   rh(ind)=!Values.f_nan   &   ws(ind)=!Values.f_nan 
    167   sst(ind)=!Values.f_nan  &   lh(ind)=!Values.f_nan 
    168   wu(ind)=!Values.f_nan  &    wv(ind)=!Values.f_nan 
     164    sw(ind)=!Values.f_nan   &   at(ind)=!Values.f_nan 
     165    rh(ind)=!Values.f_nan   &   ws(ind)=!Values.f_nan 
     166    sst(ind)=!Values.f_nan  &   lh(ind)=!Values.f_nan 
     167    wu(ind)=!Values.f_nan  &    wv(ind)=!Values.f_nan 
    169168endif 
    170169; 
     
    175174nn=n_elements(vars) 
    176175for n=0,nn-1 do begin 
    177   var=vars(n) 
    178   com='ind=where('+var+' ge 1.e20) & if (ind(0) ne -1) then '+var+'(ind)=!values.f_nan' 
    179   r=execute(com) 
     176    var=vars(n) 
     177    com='ind=where('+var+' ge 1.e20) & if (ind(0) ne -1) then '+var+'(ind)=!values.f_nan' 
     178    r=execute(com) 
    180179endfor 
    181180 
  • trunk/src/sst_correction_ncdf.pro

    r203 r204  
    4444;        digraph sst_correction_ncdf { 
    4545; 
    46 ;           file_in [shape=ellipse,fontname=Courier,label="${PROJECT_OD}/erai_sst_{yyyymmdd}_{yyyymmdd}_oafluxgrid.nc"]; 
    47 ;           file_out [shape=ellipse,fontname=Courier,label="${PROJECT_OD}/TropFlux_sst_{yyyymmdd}_{yyyymmdd}.nc"]; 
     46;           file_in [shape=ellipse, 
     47;           fontname=Courier, 
     48;           label="${PROJECT_OD}/erai_sst_{yyyymmdd}_{yyyymmdd}_oafluxgrid.nc"]; 
     49;           file_out [shape=ellipse, 
     50;           fontname=Courier, 
     51;           label="${PROJECT_OD}/TropFlux_sst_{yyyymmdd}_{yyyymmdd}.nc"]; 
    4852; 
    4953;           sst_correction_ncdf [shape=box, 
     
    8892; 
    8993; make it work on loholt1 idl8: 
    90 ; reach end whithout error but with bad values (9.96921e+36 on time and sst, nb timestep  5716 
     94; reach end without error but with bad values (9.96921e+36 on time and sst, 
     95; nb timestep 5716 
    9196; 
    9297; see commands: 
     
    96101;    ncks -v sst  -d time,0,1 -d latitude,0,1 -d longitude,0,1 /homedata/pinsard/tropflux_d/TropFlux_sst_19890101_20091231.nc 
    97102; 
    98 ; very strange value of time on lohlot1 idl6 but not always and not always at the same indices !!: 
     103; very strange value of time on loholt1 idl6 but not always and not always at 
     104; the same indices !!: 
    99105; 
    100106; .. parsed-literal:: 
     
    186192; - fplod 20120322 
    187193; 
    188 ;   * taking project_overwite into account 
     194;   * taking project_overwrite into account 
    189195;   * try to add compile_opt seems to be incompatible with ncdf_quickwrite 
    190196;   * pro -> function 
     
    240246CASE project_od_env OF 
    241247    '' : BEGIN 
    242          msg = 'eee : ${PROJECT_OD} is not defined' 
    243          ras = report(msg) 
    244        return, result 
     248        msg = 'eee : ${PROJECT_OD} is not defined' 
     249        ras = report(msg) 
     250        return, result 
    245251    END 
    246     ELSE: BEGIN 
    247           msg = 'iii : ${PROJECT_OD} is ' + project_od_env 
    248           ras = report(msg) 
     252    ELSE : BEGIN 
     253        msg = 'iii : ${PROJECT_OD} is ' + project_od_env 
     254        ras = report(msg) 
    249255    END 
    250256ENDCASE 
     
    310316caldat, time,mon,day,yea 
    311317; 
    312 ;++ debug to understand some time value 9.9692100e+36 on idl 6 lohloht1 
     318;++ debug to understand some time value 9.9692100e+36 on idl 6 loholt1 
    313319; print, time[7080:7090] when working on [19890101,19891231] 
    314320; 
     
    330336help, sst_ano 
    331337; 
    332 ; applying the correction for varyability based on the scatter 
     338; applying the correction for variability based on the scatter 
    333339;sst_ano=sst_ano*(1/0.989889)  ; (2000-2008) 
    334340sst_ano=sst_ano*(1/0.986196)   ; (2000-2009) 
  • trunk/src/t2m_correction_ncdf.pro

    r203 r204  
    134134; - fplod 20120322 
    135135; 
    136 ;   * taking project_overwite into account 
     136;   * taking project_overwrite into account 
    137137;   * try to add compile_opt seems to be incompatible with ncdf_quickwrite 
    138138;   * pro -> function 
     
    202202; test if ${PROJECT_OD} defined 
    203203CASE project_id_env OF 
    204     ''  :  BEGIN 
    205      msg = 'eee : ${PROJECT_OD} is not defined' 
    206      ras = report(msg) 
    207      return, result 
    208            END 
    209  ELSE: BEGIN 
    210      msg = 'iii : ${PROJECT_OD} is ' + project_id_env 
    211      ras = report(msg) 
    212        END 
     204    '' :  BEGIN 
     205        msg = 'eee : ${PROJECT_OD} is not defined' 
     206        ras = report(msg) 
     207        return, result 
     208    END 
     209    ELSE : BEGIN 
     210        msg = 'iii : ${PROJECT_OD} is ' + project_id_env 
     211        ras = report(msg) 
     212    END 
    213213ENDCASE 
    214214; 
     
    218218; existence and protection for reading 
    219219IF (FILE_TEST(iodirout, /DIRECTORY, /EXECUTABLE, /READ) EQ 0) THEN BEGIN 
    220    msg = 'eee : the directory' + iodirout  + ' is not accessible.' 
    221    ras = report(msg) 
    222    return, result 
     220    msg = 'eee : the directory' + iodirout  + ' is not accessible.' 
     221    ras = report(msg) 
     222    return, result 
    223223ENDIF 
    224224; 
     
    257257; in order to avoid unexpected overwritten 
    258258IF ((FILE_TEST(fullfilename_out) EQ 1)  AND (project_overwrite EQ 0)) THEN BEGIN 
    259    msg = 'eee : the file ' + fullfilename_out  + ' already exists.' 
    260    ras = report(msg) 
    261    return, result 
     259    msg = 'eee : the file ' + fullfilename_out  + ' already exists.' 
     260    ras = report(msg) 
     261    return, result 
    262262ENDIF 
    263263; 
     
    305305; 
    306306for jt=0,jptin-1 do begin 
    307   caldat, julday(01, 01, 1957,timein[jt]),mon,day,yea 
    308   ;++print,day 
    309   jtt=(julday(01, 01, 1957,timein[jt])-julday(1,1,yea)) < 364 
    310   t=reform(t2m_mean[*,*]) 
    311   t2m_m[*,*,jt]=t 
    312   bias_cor[*,*,jt]=(((t-22.6)*0.4004896/(28-22.6)) > 0.) <0.4     ; (2000-2009) 
     307    caldat, julday(01, 01, 1957,timein[jt]),mon,day,yea 
     308    ;++print,day 
     309    jtt=(julday(01, 01, 1957,timein[jt])-julday(1,1,yea)) < 364 
     310    t=reform(t2m_mean[*,*]) 
     311    t2m_m[*,*,jt]=t 
     312    bias_cor[*,*,jt]=(((t-22.6)*0.4004896/(28-22.6)) > 0.) <0.4     ; (2000-2009) 
    313313endfor 
    314314help, t2m_m,bias_cor 
     
    320320help, t2m_ano 
    321321; 
    322 ; applying the correction for varyability based on the scatter 
     322; applying the correction for variability based on the scatter 
    323323;t2m_ano=t2m_ano*(1/0.916484)    ; (2000-2008) 
    324324t2m_ano=t2m_ano*(1/0.918085)     ; (2000-2009) 
    325325; 
    326 ; applying the correction for varyability based on the scatter 
     326; applying the correction for variability based on the scatter 
    327327t2m_m=t2m_m+bias_cor 
    328328; 
  • trunk/src/test/average_demo.jnl

    r164 r204  
    1010! =========== 
    1111! 
    12 ! plot sst anomoly from ferret demo dataset 
     12! plot sst anomaly from ferret demo dataset 
    1313!  
    1414! no other interest than learning ferret and be able to work on tropflux  
  • trunk/src/test/average_pb.jnl

    r164 r204  
    6060!   * creation to try to answer to [TropFlux:7] mail:: 
    6161! 
    62 !     I have downloaded Tropslux SST daily data from the site 
     62!     I have downloaded TropFlux SST daily data from the site 
    6363!     http://www.locean-ipsl.upmc.fr/~tropflux/data/daily. While using the 
    6464!     data in ferret i encountered some problems.  In ferret 
     
    7272!     inspired by 
    7373!     /opt/ferret-6.6.5/examples/tutorial.jnl 
    74 !     for ploting 
     74!     for plotting 
    7575! 
    7676!- 
  • trunk/src/test/project_startup.m

    r50 r204  
    1717% 
    1818% Define : 
    19 %  - path for matlab/octave commands used in PROJECT project 
    20 %  - IO directories in global variables 
    2119% 
    22 % This file can be either run classicaly when current directory 
     20% - path for matlab/octave commands used in PROJECT project 
     21% - IO directories in global variables 
     22% 
     23% This file can be either run classically when current directory 
    2324% is ${PROJECT}:: 
    2425% 
     
    2627% 
    2728% 
    28 % If linked or copy to ./startup.m, it will be automaticaly 
     29% If linked or copy to ./startup.m, it will be automatically 
    2930% run by matlab at start. 
    3031% 
    31 % If linked or copy to ${HOME}/.octaverc, it will be automaticaly 
     32% If linked or copy to ${HOME}/.octaverc, it will be automatically 
    3233% run by octave at start. 
    3334% 
  • trunk/src/test/read.jnl

    r50 r204  
    3737! ==== 
    3838! 
    39 ! usage of $TROFLUX_D 
     39! usage of ${TROPFLUX_D} 
    4040! 
    4141! make it usable for real end-user 
  • trunk/src/test/read.m

    r67 r204  
    6060% - fplod 20110105T163640Z aedon.locean-ipsl.upmc.fr (Darwin) 
    6161% 
    62 %   * creation to prevent Netcdf problem on TROPFLUX dataset 
     62%   * creation to prevent netCDF problem on TROPFLUX dataset 
    6363%     draft 
    6464% 
     
    7474yyyymmdd_e=double(20091231); 
    7575%++fullfilename=([PROJECT_ID  '/' 'TropFlux_' num2str(yyyymmdd_b,'%8.8d') '_' num2str(yyyymmdd_e,'%8.8d') '.nc']); 
    76 % ++ Pb memoire fullfilename=([ '/Users/fplod/Downloads'  '/'  'TropFlux_' num2str(yyyymmdd_b,'%8.8d') '_' num2str(yyyymmdd_e,'%8.8d') '.nc' ]); 
     76% ++ Pb mémoire fullfilename=([ '/Users/fplod/Downloads'  '/'  'TropFlux_' num2str(yyyymmdd_b,'%8.8d') '_' num2str(yyyymmdd_e,'%8.8d') '.nc' ]); 
    7777fullfilename=([ '/Users/fplod/Downloads'  '/'  'TropFlux_' 'q2m' '_' num2str(yyyymmdd_b,'%8.8d') '_' num2str(yyyymmdd_e,'%8.8d') '.nc' ]); 
    7878file=netcdf(fullfilename,'nowrite'); 
  • trunk/src/test/read.py

    r203 r204  
    5858- fplod 20110106T133620Z aedon.locean-ipsl.upmc.fr (Darwin) 
    5959 
    60   * creation to prevent Netcdf problem on TROPFLUX dataset 
     60  * creation to prevent netCDF problem on TROPFLUX dataset 
    6161    draft 
    6262 
     
    7272   # 
    7373   file = NetCDFFile(fullfilename, 'r') 
    74    # controle print 
     74   # control print 
    7575   print file.dimensions 
    7676   print file.variables 
  • trunk/src/tropflux.pro

    r203 r204  
    1 ;+ 
     1+ 
    22; 
    33; ============ 
     
    77; .. function:: tropflux(yyyymmddb,yyyymmdde) 
    88; 
    9 ; DESCRITION 
    10 ; ========== 
     9; DESCRIPTION 
     10; =========== 
    1111; 
    1212; This program computes net heat flux components on the 1° oaflux grid. 
     
    220220;   * pro -> func 
    221221;   * rename with lower case TropFlux_19890101_20091231 become tropflux 
    222 ;   * taking project_overwite into account 
     222;   * taking project_overwrite into account 
    223223;   * try to add compile_opt 
    224224;   * hard coded da1 and da2 replaced by yyyymmddb and yyyymmdde parameters 
     
    231231; - fplod 20110830T084129Z aedon.locean-ipsl.upmc.fr (Darwin) 
    232232; 
    233 ;   * add tau in ouptut file 
     233;   * add tau in output file 
    234234; 
    235235; - fplod 20110822T090838Z aedon.locean-ipsl.upmc.fr (Darwin) 
    236236; 
    237237;    * split some multiple lines statement to investigate 
    238 ;      pb of extropalation for lwr 
     238;      pb of extrapolation for lwr 
    239239; 
    240240; - fplod 20110819T144332Z aedon.locean-ipsl.upmc.fr (Darwin) 
     
    245245; - fplod 20110809T110911Z aedon.locean-ipsl.upmc.fr (Darwin) 
    246246; 
    247 ;   * complete descritption 
     247;   * complete description 
    248248;   * remove v* from filenames (in and out) 
    249249;   * usage of ${PROJECT_OD} 
     
    290290IF (nparam NE 2) THEN BEGIN 
    291291    ras = report(['Incorrect number of arguments.' $ 
    292           + '!C' $ 
    293           + 'Usage : ' + usage]) 
     292    + '!C' $ 
     293    + 'Usage : ' + usage]) 
    294294    return, result 
    295295ENDIF 
     
    299299; test if ${PROJECT_ID} defined 
    300300CASE project_id_env OF 
    301     ''  :  BEGIN 
    302      msg = 'eee : ${PROJECT_ID} is not defined' 
    303      ras = report(msg) 
    304      return, result 
    305            END 
    306  ELSE: BEGIN 
    307      msg = 'iii : ${PROJECT_ID} is ' + project_id_env 
    308      ras = report(msg) 
    309        END 
     301    '' :  BEGIN 
     302        msg = 'eee : ${PROJECT_ID} is not defined' 
     303        ras = report(msg) 
     304        return, result 
     305    END 
     306    ELSE : BEGIN 
     307        msg = 'iii : ${PROJECT_ID} is ' + project_id_env 
     308        ras = report(msg) 
     309    END 
    310310ENDCASE 
    311311; 
     
    314314; existence and protection of ${PROJECT_ID} 
    315315IF (FILE_TEST(iodirin, /DIRECTORY, /EXECUTABLE, /READ) EQ 0) THEN BEGIN 
    316    msg = 'eee : the directory' + iodirin  + ' is not accessible.' 
    317    ras = report(msg) 
    318    return, result 
     316    msg = 'eee : the directory' + iodirin  + ' is not accessible.' 
     317    ras = report(msg) 
     318    return, result 
    319319ENDIF 
    320320; 
     
    327327fullfilename_msk = isafile(iodirin + filename_msk, NEW=0, /MUST_EXIST) 
    328328IF fullfilename_msk[0] EQ '' THEN BEGIN 
    329    msg = 'eee : the file ' + fullfilename_msk + ' was not found.' 
    330    ras = report(msg) 
    331    return, result 
     329    msg = 'eee : the file ' + fullfilename_msk + ' was not found.' 
     330    ras = report(msg) 
     331    return, result 
    332332ENDIF 
    333333; 
    334334; test if ${PROJECT_OD} defined 
    335335CASE project_od_env OF 
    336   '' : BEGIN 
    337          msg = 'eee : ${PROJECT_OD} is not defined' 
    338          ras = report(msg) 
    339        return, result 
    340        END 
    341   ELSE: BEGIN 
    342           msg = 'iii : ${PROJECT_OD} is ' + project_od_env 
    343           ras = report(msg) 
    344         END 
    345  ENDCASE 
     336    '' : BEGIN 
     337        msg = 'eee : ${PROJECT_OD} is not defined' 
     338        ras = report(msg) 
     339        return, result 
     340    END 
     341    ELSE : BEGIN 
     342        msg = 'iii : ${PROJECT_OD} is ' + project_od_env 
     343        ras = report(msg) 
     344    END 
     345ENDCASE 
    346346; 
    347347; check if output data will be possible 
     
    350350; existence and protection for reading 
    351351IF (FILE_TEST(iodirout, /DIRECTORY, /EXECUTABLE, /READ) EQ 0) THEN BEGIN 
    352    msg = 'eee : the directory' + iodirout  + ' is not accessible.' 
    353    ras = report(msg) 
    354    return, result 
     352    msg = 'eee : the directory' + iodirout  + ' is not accessible.' 
     353    ras = report(msg) 
     354    return, result 
    355355ENDIF 
    356356; 
     
    370370fullfilename_sst = isafile(iodirout + filename_sst, NEW=0, /MUST_EXIST) 
    371371IF fullfilename_sst[0] EQ '' THEN BEGIN 
    372    msg = 'eee : the file ' + fullfilename_sst + ' was not found.' 
    373    ras = report(msg) 
    374    return, result 
     372    msg = 'eee : the file ' + fullfilename_sst + ' was not found.' 
     373    ras = report(msg) 
     374    return, result 
    375375ENDIF 
    376376; 
     
    383383fullfilename_ws = isafile(iodirout + filename_ws, NEW=0, /MUST_EXIST) 
    384384IF fullfilename_ws[0] EQ '' THEN BEGIN 
    385    msg = 'eee : the file ' + fullfilename_ws + ' was not found.' 
    386    ras = report(msg) 
    387    return, result 
     385    msg = 'eee : the file ' + fullfilename_ws + ' was not found.' 
     386    ras = report(msg) 
     387    return, result 
    388388ENDIF 
    389389; 
     
    396396fullfilename_swr = isafile(iodirout + filename_swr, NEW=0, /MUST_EXIST) 
    397397IF fullfilename_swr[0] EQ '' THEN BEGIN 
    398    msg = 'eee : the file ' + fullfilename_swr + ' was not found.' 
    399    ras = report(msg) 
    400    return, result 
     398    msg = 'eee : the file ' + fullfilename_swr + ' was not found.' 
     399    ras = report(msg) 
     400    return, result 
    401401ENDIF 
    402402; 
     
    409409fullfilename_lwr = isafile(iodirout + filename_lwr, NEW=0, /MUST_EXIST) 
    410410IF fullfilename_lwr[0] EQ '' THEN BEGIN 
    411    msg = 'eee : the file ' + fullfilename_lwr + ' was not found.' 
    412    ras = report(msg) 
    413    return, result 
     411    msg = 'eee : the file ' + fullfilename_lwr + ' was not found.' 
     412    ras = report(msg) 
     413    return, result 
    414414ENDIF 
    415415; 
     
    422422fullfilename_t2m = isafile(iodirout + filename_t2m, NEW=0, /MUST_EXIST) 
    423423IF fullfilename_t2m[0] EQ '' THEN BEGIN 
    424    msg = 'eee : the file ' + fullfilename_t2m + ' was not found.' 
    425    ras = report(msg) 
    426    return, result 
     424    msg = 'eee : the file ' + fullfilename_t2m + ' was not found.' 
     425    ras = report(msg) 
     426    return, result 
    427427ENDIF 
    428428; 
     
    435435fullfilename_q2m = isafile(iodirout + filename_q2m, NEW=0, /MUST_EXIST) 
    436436IF fullfilename_q2m[0] EQ '' THEN BEGIN 
    437    msg = 'eee : the file ' + fullfilename_q2m + ' was not found.' 
    438    ras = report(msg) 
    439    return, result 
     437    msg = 'eee : the file ' + fullfilename_q2m + ' was not found.' 
     438    ras = report(msg) 
     439    return, result 
    440440ENDIF 
    441441; 
     
    448448fullfilename_wg = isafile(iodirout + filename_wg, NEW=0, /MUST_EXIST) 
    449449IF fullfilename_wg[0] EQ '' THEN BEGIN 
    450    msg = 'eee : the file ' + fullfilename_wg + ' was not found.' 
    451    ras = report(msg) 
    452    return, result 
     450    msg = 'eee : the file ' + fullfilename_wg + ' was not found.' 
     451    ras = report(msg) 
     452    return, result 
    453453ENDIF 
    454454; 
     
    458458; in order to avoid unexpected overwritten 
    459459IF (FILE_TEST(fullfilename_out) EQ 1) THEN BEGIN 
    460    msg = 'eee : the file ' + fullfilename_out  + ' already exists.' 
    461    ras = report(msg) 
    462    return, result 
     460    msg = 'eee : the file ' + fullfilename_out  + ' already exists.' 
     461    ras = report(msg) 
     462    return, result 
    463463ENDIF 
    464464; 
     
    571571; 
    572572for jt=0,jpt-1 do begin 
    573   jday=time[jt]-julday(1,1,yea[jt]) 
    574   print, 'Computing Fluxes ',jt,' / ',jpt-1 
    575 ; 
    576 ;  P=msl(*,*,jt) 
    577 ;  P=P(ocean) 
    578 ; 
    579   ; wind speed (m/s) 
    580   wn=w[*,*,jt] 
    581   wn=wn[ocean] 
    582   ; Bulk sst (°C) 
    583   ts=sst[*,*,jt] 
    584   ts=ts[ocean] 
    585   ; 2m Air T (°C) 
    586   t=t2m[*,*,jt] 
    587   t=t[ocean] 
    588   ; Sea surface sat. spec. humidity (g/kg) 
    589   qs=qsee(ts,P) 
    590   ; 2m AIr specific humidity  (g/kg) 
    591   q=q2m[*,*,jt] 
    592   q=q[ocean] 
    593   ; Downward solar flux (W/m2) 
    594   Rs=swd[*,*,jt] 
    595   Rs=Rs[ocean] 
    596   ylat=gphit[ocean] 
    597   ;  cld=calc_cloud(jday,Rs,ylat) 
    598   cld=calc_cloud_vlat(jday,Rs,ylat) 
    599   ; Downward IR flux (W/m2) 
    600   ;  Rl=lwdown_clark(ts,q,cld,t,P) 
    601   Rl=lw[*,*,jt] 
    602   Rl=Rl[ocean] 
    603   rain=0. 
    604   lw_clrk=-lwnet_clark(ts,q,cld,t,P) 
    605 ;  junk[*,*,jt]=lw_clrk 
    606 ; 
     573    jday=time[jt]-julday(1,1,yea[jt]) 
     574    print, 'Computing Fluxes ',jt,' / ',jpt-1 
     575    ; 
     576    ;  P=msl(*,*,jt) 
     577    ;  P=P(ocean) 
     578    ; 
     579    ; wind speed (m/s) 
     580    wn=w[*,*,jt] 
     581    wn=wn[ocean] 
     582    ; Bulk sst (°C) 
     583    ts=sst[*,*,jt] 
     584    ts=ts[ocean] 
     585    ; 2m Air T (°C) 
     586    t=t2m[*,*,jt] 
     587    t=t[ocean] 
     588    ; Sea surface sat. spec. humidity (g/kg) 
     589    qs=qsee(ts,P) 
     590    ; 2m AIr specific humidity  (g/kg) 
     591    q=q2m[*,*,jt] 
     592    q=q[ocean] 
     593    ; Downward solar flux (W/m2) 
     594    Rs=swd[*,*,jt] 
     595    Rs=Rs[ocean] 
     596    ylat=gphit[ocean] 
     597    ;  cld=calc_cloud(jday,Rs,ylat) 
     598    cld=calc_cloud_vlat(jday,Rs,ylat) 
     599    ; Downward IR flux (W/m2) 
     600    ;  Rl=lwdown_clark(ts,q,cld,t,P) 
     601    Rl=lw[*,*,jt] 
     602    Rl=Rl[ocean] 
     603    rain=0. 
     604    lw_clrk=-lwnet_clark(ts,q,cld,t,P) 
     605    ;  junk[*,*,jt]=lw_clrk 
     606    ; 
    607607;stop 
    608   y=cor30a(wn,us,ts,t,Qs,Q,Rs,Rl,rain,zi,P,zu,zt,zq,ylat,jcool,jwave,twave,hwave) 
    609 ; A few punctual missing values (coare does not converge): filled by spatial extrapolation 
    610   tab=fltarr(jpi,jpj)+!values.f_nan 
    611   x=reform(y[*,0]) 
    612   tab[ocean]=x 
    613   m=finite(tab) 
    614   help, tab, m, swr 
    615   tab=extrapolate(tab,m) 
    616   swr[*,*,jt]=tab*msk+valmask*(1-msk) 
    617 ; 
    618   tab=fltarr(jpi,jpj)+!values.f_nan 
    619   x=reform(y[*,1]) 
    620   tab[ocean]=x 
    621   m=finite(tab) 
    622   help, tab, m, lwr 
    623   ;!!!!!!!!!!!!+++++++++++++++  tab=extrapolate(tab,m) 
    624   print, 'www : extrapolation for lwr is not done' 
    625   tab=tab 
    626   lwr[*,*,jt]=tab*msk+valmask*(1-msk) 
    627 ; 
    628   tab=fltarr(jpi,jpj)+!values.f_nan 
    629   x=reform(y[*,2]) 
    630   tab[ocean]=x 
    631   m=finite(tab) 
    632   help, tab, m, lat 
    633   ;!!!!!!!!!!!!+++++++++++++++  tab=extrapolate(tab,m) 
    634   print, 'www : extrapolation for lat is not done' 
    635   tab=tab 
    636   lat[*,*,jt]=tab*msk+valmask*(1-msk) 
    637   tab=fltarr(jpi,jpj)+!values.f_nan 
    638   x=reform(y[*,3]) 
    639   tab[ocean]=x 
    640   m=finite(tab) 
    641   help, tab, m, sen 
    642   ;!!!!!!!!!!!!+++++++++++++++  tab=extrapolate(tab,m) 
    643   print, 'www : extrapolation for sen is not done' 
    644   tab=tab 
    645   sen[*,*,jt]=tab*msk+valmask*(1-msk) 
    646   ;  tab=fltarr(jpi,jpj)+!values.f_nan & x=reform(lw_clrk) & tab[ocean]=x & m=finite(tab) & tab=extrapolate(tab,m) & lwnet_clrk[*,*,jt]=tab*msk+valmask*(1-msk) 
    647   tab=fltarr(jpi,jpj)+!values.f_nan & x=reform(y[*,5]) & tab[ocean]=x & m=finite(tab) & tab=extrapolate(tab,m) & tau[*,*,jt]=tab*msk+valmask*(1-msk) 
    648   ;  tab=fltarr(jpi,jpj)+!values.f_nan & x=reform(y[*,6]) & tab[ocean]=x & m=finite(tab) & tab=extrapolate(tab,m) & Ch[*,*,jt]=tab*msk+valmask*(1-msk) 
    649   ;  tab=fltarr(jpi,jpj)+!values.f_nan & x=reform(y[*,7]) & tab[ocean]=x & m=finite(tab) & tab=extrapolate(tab,m) & Ce[*,*,jt]=tab*msk+valmask*(1-msk) 
    650   tab=fltarr(jpi,jpj)+!values.f_nan & x=reform(y[*,8]) & tab[ocean]=x & m=finite(tab) & tab=extrapolate(tab,m) & wg[*,*,jt]=tab*msk+valmask*(1-msk) 
     608    y=cor30a(wn,us,ts,t,Qs,Q,Rs,Rl,rain,zi,P,zu,zt,zq,ylat,jcool,jwave,twave,hwave) 
     609    ; A few punctual missing values (coare does not converge): filled by spatial extrapolation 
     610    tab=fltarr(jpi,jpj)+!values.f_nan 
     611    x=reform(y[*,0]) 
     612    tab[ocean]=x 
     613    m=finite(tab) 
     614    help, tab, m, swr 
     615    tab=extrapolate(tab,m) 
     616    swr[*,*,jt]=tab*msk+valmask*(1-msk) 
     617    ; 
     618    tab=fltarr(jpi,jpj)+!values.f_nan 
     619    x=reform(y[*,1]) 
     620    tab[ocean]=x 
     621    m=finite(tab) 
     622    help, tab, m, lwr 
     623    ;!!!!!!!!!!!!+++++++++++++++  tab=extrapolate(tab,m) 
     624    print, 'www : extrapolation for lwr is not done' 
     625    tab=tab 
     626    lwr[*,*,jt]=tab*msk+valmask*(1-msk) 
     627    ; 
     628    tab=fltarr(jpi,jpj)+!values.f_nan 
     629    x=reform(y[*,2]) 
     630    tab[ocean]=x 
     631    m=finite(tab) 
     632    help, tab, m, lat 
     633    ;!!!!!!!!!!!!+++++++++++++++  tab=extrapolate(tab,m) 
     634    print, 'www : extrapolation for lat is not done' 
     635    tab=tab 
     636    lat[*,*,jt]=tab*msk+valmask*(1-msk) 
     637    tab=fltarr(jpi,jpj)+!values.f_nan 
     638    x=reform(y[*,3]) 
     639    tab[ocean]=x 
     640    m=finite(tab) 
     641    help, tab, m, sen 
     642    ;!!!!!!!!!!!!+++++++++++++++  tab=extrapolate(tab,m) 
     643    print, 'www : extrapolation for sen is not done' 
     644    tab=tab 
     645    sen[*,*,jt]=tab*msk+valmask*(1-msk) 
     646    ;  tab=fltarr(jpi,jpj)+!values.f_nan & x=reform(lw_clrk) & tab[ocean]=x & m=finite(tab) & tab=extrapolate(tab,m) & lwnet_clrk[*,*,jt]=tab*msk+valmask*(1-msk) 
     647    tab=fltarr(jpi,jpj)+!values.f_nan & x=reform(y[*,5]) & tab[ocean]=x & m=finite(tab) & tab=extrapolate(tab,m) & tau[*,*,jt]=tab*msk+valmask*(1-msk) 
     648    ;  tab=fltarr(jpi,jpj)+!values.f_nan & x=reform(y[*,6]) & tab[ocean]=x & m=finite(tab) & tab=extrapolate(tab,m) & Ch[*,*,jt]=tab*msk+valmask*(1-msk) 
     649    ;  tab=fltarr(jpi,jpj)+!values.f_nan & x=reform(y[*,7]) & tab[ocean]=x & m=finite(tab) & tab=extrapolate(tab,m) & Ce[*,*,jt]=tab*msk+valmask*(1-msk) 
     650    tab=fltarr(jpi,jpj)+!values.f_nan & x=reform(y[*,8]) & tab[ocean]=x & m=finite(tab) & tab=extrapolate(tab,m) & wg[*,*,jt]=tab*msk+valmask*(1-msk) 
    651651endfor 
    652652jpt=n_elements(time) 
     
    674674; 
    675675ncfields = 'tau[longitude,latitude,time]=tau:tau_attr; ' $ 
    676          + 'wg[longitude,latitude,time]=wg:wg_attr; ' $ 
    677          + 'swr[longitude,latitude,time]=swr:swr_attr; ' $ 
     676+ 'wg[longitude,latitude,time]=wg:wg_attr; ' $ 
     677+ 'swr[longitude,latitude,time]=swr:swr_attr; ' $ 
    678678;         +'lwr_coare[longitude,latitude,time]=lwr:lwr_attr; ' $ 
    679          +'lwr[longitude,latitude,time]=lwnet_clrk:lwr_clrk_attr; ' $ 
    680          +'lhf[longitude,latitude,time]=lat:lhf_attr; ' $ 
    681          +'shf[longitude,latitude,time]=sen:shf_attr; ' $ 
     679+'lwr[longitude,latitude,time]=lwnet_clrk:lwr_clrk_attr; ' $ 
     680+'lhf[longitude,latitude,time]=lat:lhf_attr; ' $ 
     681+'shf[longitude,latitude,time]=sen:shf_attr; ' $ 
    682682;         +'Ch[longitude,latitude,time]=Ch:Ch_attr; ' $ 
    683683;         +'Ce[longitude,latitude,time]=Ce:Ce_attr; ' $ 
    684          + 'longitude[]=xlon:lon_attr; ' $ 
    685          + 'latitude[]=ylat:lat_attr; ' $ 
    686          + 'time[*time]=time:time_attr ' $ 
    687          + ' @ globattr' 
     684+ 'longitude[]=xlon:lon_attr; ' $ 
     685+ 'latitude[]=ylat:lat_attr; ' $ 
     686+ 'time[*time]=time:time_attr ' $ 
     687+ ' @ globattr' 
    688688; 
    689689@ncdf_quickwrite 
  • trunk/src/tropflux.sh

    r203 r204  
    2222# Run all needed :file:`*.pro` to create the TropFlux dataset between two dates 
    2323# 
    24 # We suppose here that all inputs data are already available localy. 
     24# We suppose here that all inputs data are already available locally. 
    2525# 
    2626# .. option:: -b beginning date <yyyymmdd> 
     
    2929# 
    3030# Some IDL programs are launched here using ${IDL_CMD} command 
    31 # (see :ref:`project_profile.sh` to know how to set this environnement variable). 
     31# (see :ref:`project_profile.sh` to know how to set this 
     32# environment variable). 
    3233# 
    3334# Log file is written on 
     
    4445#        digraph tropflux { 
    4546# 
    46 #           file_oaflux [shape=ellipse,fontname=Courier,label="${PROJECT_ID}/lh_oaflux_2004.nc"]; 
    47  
    48 #           log [shape=ellipse,fontname=Courier,label="${PROJECT_LOG}/tropflux.log{YYYYMMDDTHHMMSSZ}"]; 
     47#           file_oaflux [shape=ellipse, 
     48#           fontname=Courier, 
     49#           label="${PROJECT_ID}/lh_oaflux_2004.nc"]; 
     50# 
     51#           log [shape=ellipse, 
     52#           fontname=Courier, 
     53#           label="${PROJECT_LOG}/tropflux.log{YYYYMMDDTHHMMSSZ}"]; 
    4954# 
    5055#           tropflux [shape=box, 
     
    116121# make it work 
    117122# 
    118 # if yyyymmdd < 20071231, is it meaningfull to call all the functions ? 
     123# if yyyymmdd < 20071231, is it meanningfull to call all the functions ? 
    119124# 
    120125# idl status = 0 even if not ok 
     
    159164#   * TropFlux_swr_BLND_19890101_20071231 replace by tropflux_swr_blnd 
    160165#     which is now a function 
    161 #   * corrrection of messages when return badly 
     166#   * correction of messages when return badly 
    162167#   * reorder for gustiness before tropflux_swr_blnd 
    163168#   * cronin_gustiness_ncdf is now a function 
     
    231236if [ ${#} -lt ${minargcount} ] 
    232237then 
    233     echo "${command} : eee : not enought arguments" 
     238    echo "${command} : eee : not enough arguments" 
    234239    echo "${usage}" 
    235240    exit 1 
     
    309314if [[ "${yyyymmdde}" = "${yyyymmddb}" ]] 
    310315then 
    311      echo "${command} : eee : yyyymmdde ${yyyymmdde} must be greater than yyyymmddb ${yyyymmddb}" 
    312      exit 1 
     316    echo "${command} : eee : yyyymmdde ${yyyymmdde} must be greater than yyyymmddb ${yyyymmddb}" 
     317    exit 1 
    313318fi 
    314319# 
     
    364369    msg = 'eee : pb after oaflux_mask_30n30s ' + string(result) 
    365370    err = report(msg) 
    366    exit 
     371    exit 
    367372ENDIF 
    368373result = interp_erai_dewt(${yyyymmddb}, ${yyyymmdde}, eraitype) 
  • trunk/src/tropflux_nrt_ncdf.pro

    r203 r204  
    7474; ==== 
    7575; 
    76 ; handlind yyyymmdde > 20071231 see attributes also 
     76; handle yyyymmdde > 20071231 see attributes also 
    7777; 
    7878; coding rules 
     
    9191;   * pro -> func 
    9292;   * rename with lower case TropFlux_NRT_ncdf.pro become tropflux_nrt_ncdf.pro 
    93 ;   * taking project_overwite into account 
     93;   * taking project_overwrite into account 
    9494;   * try to add compile_opt seems to be incompatible with ncdf_quickwrite 
    9595;   * hard coded st and en replaced by yyyymmddb and yyyymmdde parameters 
     
    143143; test if ${PROJECT_OD} defined 
    144144CASE project_od_env OF 
    145   '' : BEGIN 
    146          msg = 'eee : ${PROJECT_OD} is not defined' 
    147          ras = report(msg) 
    148        return, result 
    149        END 
    150   ELSE: BEGIN 
    151           msg = 'iii : ${PROJECT_OD} is ' + project_od_env 
    152           ras = report(msg) 
    153         END 
    154  ENDCASE 
     145    '' : BEGIN 
     146        msg = 'eee : ${PROJECT_OD} is not defined' 
     147        ras = report(msg) 
     148        return, result 
     149    END 
     150    ELSE : BEGIN 
     151        msg = 'iii : ${PROJECT_OD} is ' + project_od_env 
     152        ras = report(msg) 
     153    END 
     154ENDCASE 
    155155; 
    156156; check if output data will be possible 
     
    159159; existence and protection for reading 
    160160IF (FILE_TEST(iodirout, /DIRECTORY, /EXECUTABLE, /READ) EQ 0) THEN BEGIN 
    161    msg = 'eee : the directory' + iodirout  + ' is not accessible.' 
    162    ras = report(msg) 
    163    return, result 
     161    msg = 'eee : the directory' + iodirout  + ' is not accessible.' 
     162    ras = report(msg) 
     163    return, result 
    164164ENDIF 
    165165; 
     
    179179fullfilename_swr_blnd = isafile(iodirout + filename_swr_blnd, NEW=0, /MUST_EXIST) 
    180180IF fullfilename_swr_blnd[0] EQ '' THEN BEGIN 
    181    msg = 'eee : the file ' + fullfilename_swr_blnd + ' was not found.' 
    182    ras = report(msg) 
    183    return, result 
     181    msg = 'eee : the file ' + fullfilename_swr_blnd + ' was not found.' 
     182    ras = report(msg) 
     183    return, result 
    184184ENDIF 
    185185; 
     
    192192fullfilename_lwr = isafile(iodirout + filename_lwr, NEW=0, /MUST_EXIST) 
    193193IF fullfilename_lwr[0] EQ '' THEN BEGIN 
    194    msg = 'eee : the file ' + fullfilename_lwr + ' was not found.' 
    195    ras = report(msg) 
    196    return, result 
     194    msg = 'eee : the file ' + fullfilename_lwr + ' was not found.' 
     195    ras = report(msg) 
     196    return, result 
    197197ENDIF 
    198198; 
     
    205205fullfilename_coare = isafile(iodirout + filename_coare, NEW=0, /MUST_EXIST) 
    206206IF fullfilename_coare[0] EQ '' THEN BEGIN 
    207    msg = 'eee : the file ' + fullfilename_coare + ' was not found.' 
    208    ras = report(msg) 
    209    return, result 
     207    msg = 'eee : the file ' + fullfilename_coare + ' was not found.' 
     208    ras = report(msg) 
     209    return, result 
    210210ENDIF 
    211211; 
     
    214214; in order to avoid unexpected overwritten 
    215215IF ((FILE_TEST(fullfilename_out) EQ 1)  AND (project_overwrite EQ 0)) THEN BEGIN 
    216    msg = 'eee : the file ' + fullfilename_out  + ' already exists.' 
    217    ras = report(msg) 
    218    return, result 
     216    msg = 'eee : the file ' + fullfilename_out  + ' already exists.' 
     217    ras = report(msg) 
     218    return, result 
    219219ENDIF 
    220220; 
     
    279279; 
    280280ncfields = 'swr[longitude,latitude,*time]=swr:sw_attr; ' $ 
    281           +'lwr[longitude,latitude,*time]=lwr:lw_attr; ' $ 
    282           +'lhf[longitude,latitude,*time]=lhf:lh_attr; ' $ 
    283           +'shf[longitude,latitude,*time]=shf:sh_attr; ' $ 
    284                       + 'longitude[]=lon:lon_attr; ' $ 
    285                       + 'latitude[]=lat:lat_attr; ' $ 
    286                       + 'time[]=timein:time_attr ' $ 
    287                       + ' @ globattr' 
     281+'lwr[longitude,latitude,*time]=lwr:lw_attr; ' $ 
     282+'lhf[longitude,latitude,*time]=lhf:lh_attr; ' $ 
     283+'shf[longitude,latitude,*time]=shf:sh_attr; ' $ 
     284+ 'longitude[]=lon:lon_attr; ' $ 
     285+ 'latitude[]=lat:lat_attr; ' $ 
     286+ 'time[]=timein:time_attr ' $ 
     287+ ' @ globattr' 
    288288; 
    289289@ncdf_quickwrite 
  • trunk/src/tropflux_swr_blnd.pro

    r203 r204  
    9393; complete description 
    9494; 
    95 ; why 20080100, 20100112 as  date1 and date2 when readind nrt 
     95; why 20080100, 20100112 as date1 and date2 when readind nrt 
    9696; 
    9797; why two read_ncdf for nrt 
     
    118118;   * rename with lower case TropFlux_swr_BLND_19890101_20091231.pro become 
    119119;     tropflux_swr_blnd.pro 
    120 ;   * taking project_overwite into account 
     120;   * taking project_overwrite into account 
    121121; 
    122122; - fplod 20110819T120412Z aedon.locean-ipsl.upmc.fr (Darwin) 
    123123; 
    124124;   * change 19890101 to 19890100 to read 6939 timesteps in DT file 
    125 ;     even if uggly and understanted SAXO strange behaviour 
     125;     even if uggly and not understood SAXO strange behaviour 
    126126; 
    127127;     this resolve crash on cratos idl7: 
     
    137137;        for jt=0,jpt-1 do swr_merged(*,*,jt)=swr_dt(*,*,jt)*a(jt)+(1-a(jt))*swr_nrt(*,*,jt) 
    138138; 
    139 ;     problably because 6938+731=7669 and not 7670 when 
     139;     probably because 6938+731=7669 and not 7670 when 
    140140;     :samp:`dt=read_ncdf('swr', 19890101, 20071231, file=fullfilename_dt,/nostr)` 
    141141;     was used : 
     
    226226CASE project_od_env OF 
    227227    '' : BEGIN 
    228          msg = 'eee : ${PROJECT_OD} is not defined' 
    229          ras = report(msg) 
    230        return, result 
     228        msg = 'eee : ${PROJECT_OD} is not defined' 
     229        ras = report(msg) 
     230        return, result 
    231231    END 
    232     ELSE: BEGIN 
    233           msg = 'iii : ${PROJECT_OD} is ' + project_od_env 
    234           ras = report(msg) 
     232    ELSE : BEGIN 
     233        msg = 'iii : ${PROJECT_OD} is ' + project_od_env 
     234        ras = report(msg) 
    235235    END 
    236236ENDCASE 
  • trunk/src/tropflux_swr_dt.pro

    r203 r204  
    6868; ==== 
    6969; 
    70 ; handlind yyyymmdde > 20071231 
     70; handle yyyymmdde > 20071231 
    7171; 
    7272; first date 19991231 vs yyyymmddb = 20000101L 
    7373; 
    74 ; NaNf values in ouptut file while 1.e20 in input file !! 
     74; NaNf values in output file while 1.e20 in input file !! 
    7575; 
    7676; coding rules 
     
    9898;   * rename with lower case TropFlux_swr_DT_19890101_20071231.pro become 
    9999;     tropflux_swr_dt.pro 
    100 ;   * taking project_overwite into account 
     100;   * taking project_overwrite into account 
    101101;   * try to add compile_opt seems to be incompatible with ncdf_quickwrite 
    102102;   * start to homogenize time handling and netcdf writing 
     
    153153; test if ${PROJECT_OD} defined 
    154154CASE project_od_env OF 
    155   '' : BEGIN 
    156          msg = 'eee : ${PROJECT_OD} is not defined' 
    157          ras = report(msg) 
    158        return, result 
    159        END 
    160   ELSE: BEGIN 
    161           msg = 'iii : ${PROJECT_OD} is ' + project_od_env 
    162           ras = report(msg) 
    163         END 
    164  ENDCASE 
     155    '' : BEGIN 
     156        msg = 'eee : ${PROJECT_OD} is not defined' 
     157        ras = report(msg) 
     158        return, result 
     159    END 
     160    ELSE : BEGIN 
     161        msg = 'iii : ${PROJECT_OD} is ' + project_od_env 
     162        ras = report(msg) 
     163    END 
     164ENDCASE 
    165165; 
    166166; check if output data will be possible 
     
    226226; 
    227227for jt=0,jpt-1 do begin 
    228   jtt=(time[jt]-julday(1,1,yea[jt])) < 364 
    229   swr=reform(sw_mean[*,*]) 
    230   sw_m[*,*,jt]=swr 
    231   sw_bias[*,*,jt]=(((swr-295.4)*18.36/(200.-295.4)) > 0.) < 18.37 
     228   jtt=(time[jt]-julday(1,1,yea[jt])) < 364 
     229   swr=reform(sw_mean[*,*]) 
     230   sw_m[*,*,jt]=swr 
     231   sw_bias[*,*,jt]=(((swr-295.4)*18.36/(200.-295.4)) > 0.) < 18.37 
    232232endfor 
    233233; 
     
    255255; 
    256256ncfields = 'swr[longitude,latitude,*time]=swr:sw_attr; ' $ 
    257                       + 'longitude[]=lon:lon_attr; ' $ 
    258                       + 'latitude[]=lat:lat_attr; ' $ 
    259                       + 'time[]=timein:time_attr ' $ 
    260                       + ' @ globattr' 
     257+ 'longitude[]=lon:lon_attr; ' $ 
     258+ 'latitude[]=lat:lat_attr; ' $ 
     259+ 'time[]=timein:time_attr ' $ 
     260+ ' @ globattr' 
    261261; 
    262262@ncdf_quickwrite 
  • trunk/src/tropflux_swr_nrt.pro

    r203 r204  
    77; .. function:: tropflux_swr_nrt(yyyymmddb,yyyymmdde) 
    88; 
    9 ; DESCRITION 
    10 ; ========== 
     9; DESCRIPTION 
     10; =========== 
    1111; 
    1212; Correction of swr near real time on OAFLUX grid 
     
    7474; ==== 
    7575; 
    76 ; handlind yyyymmdde > 20071231 
    77 ; 
    78 ; remove NaNf values in ouptut file (may be not because of this module) 
    79 ; 
    80 ; why two sequence initcdf et read_ndcf on olr file ? 
     76; handle yyyymmdde > 20071231 
     77; 
     78; remove NaNf values in output file (may be not because of this module) 
     79; 
     80; why two sequence initncdf et read_ndcf on olr file ? 
    8181; 
    8282; coding rules 
     
    100100;   * rename with lower case TropFlux_swr_NRT_19890101_20091231.pro become 
    101101;     tropflux_swr_nrt.pro 
    102 ;   * taking project_overwite into account 
     102;   * taking project_overwrite into account 
    103103;   * try to add compile_opt seems to be incompatible with ncdf_quickwrite 
    104104; 
     
    156156CASE project_od_env OF 
    157157    '' : BEGIN 
    158          msg = 'eee : ${PROJECT_OD} is not defined' 
    159          ras = report(msg) 
    160        return, result 
     158        msg = 'eee : ${PROJECT_OD} is not defined' 
     159        ras = report(msg) 
     160        return, result 
    161161    END 
    162     ELSE: BEGIN 
    163           msg = 'iii : ${PROJECT_OD} is ' + project_od_env 
    164           ras = report(msg) 
     162    ELSE : BEGIN 
     163        msg = 'iii : ${PROJECT_OD} is ' + project_od_env 
     164        ras = report(msg) 
    165165    END 
    166166ENDCASE 
  • trunk/src/tropflux_wind_stress.pro

    r203 r204  
    119119lat_attr={units:'degrees_north',long_name:'Latitude'} 
    120120time_attr={units:'days since 1950-01-01 00:00:00',long_name:'Time axis',time_origin:'1950-JAN-01 00:00:00'} 
    121 globattr={Source:'TropFlux - Momentum Fluxes for the Global Tropics', Methodology:'Praveen Kumar et al., Clim. Dyn 2011', Producer_Agency:'Joint research colloboration between IPSL, Paris and NIO, India', Time_range:cda0+' - '+cda1, Creation_date:'20110707', Website:'http://www.locean-ipsl.upmc.fr/tropflux/'} 
     121globattr={Source:'TropFlux - Momentum Fluxes for the Global Tropics', Methodology:'Praveen Kumar et al., Clim. Dyn 2011', Producer_Agency:'Joint research collaboration between IPSL, Paris and NIO, India', Time_range:cda0+' - '+cda1, Creation_date:'20110707', Website:'http://www.locean-ipsl.upmc.fr/tropflux/'} 
    122122tau_attr={units:'N/m2',missing_value:valmask,long_name:'wind stress magnitude',short_name:'tau',axis:'TYX'} 
    123123taux_attr={units:'N/m2',missing_value:valmask,long_name:'zonal wind stress',short_name:'taux',axis:'TYX'} 
  • trunk/src/ws_correction_ncdf.pro

    r203 r204  
    3838;        digraph ws_correction_ncdf { 
    3939; 
    40 ;           file_in [shape=ellipse,fontname=Courier,label="${PROJECT_OD}/erai_ws_{yyyymmdd}_{yyyymmdd}_oafluxgrid.nc"]; 
    41 ;           file_out [shape=ellipse,fontname=Courier,label="${PROJECT_OD}/TropFlux_ws_{yyyymmdd}_{yyyymmdd}.nc"]; 
     40;           file_in [shape=ellipse, 
     41;           fontname=Courier, 
     42;           label="${PROJECT_OD}/erai_ws_{yyyymmdd}_{yyyymmdd}_oafluxgrid.nc"]; 
     43;           file_out [shape=ellipse, 
     44;           fontname=Courier, 
     45;           label="${PROJECT_OD}/TropFlux_ws_{yyyymmdd}_{yyyymmdd}.nc"]; 
    4246; 
    4347;           ws_correction_ncdf [shape=box, 
     
    101105; - fplod 20120322 
    102106; 
    103 ;   * taking project_overwite into account 
     107;   * taking project_overwrite into account 
    104108;   * try to add compile_opt seems to be incompatible with ncdf_quickwrite 
    105109;   * pro -> function 
     
    155159CASE project_od_env OF 
    156160    '' : BEGIN 
    157          msg = 'eee : ${PROJECT_OD} is not defined' 
    158          ras = report(msg) 
    159          return, result 
     161        msg = 'eee : ${PROJECT_OD} is not defined' 
     162        ras = report(msg) 
     163        return, result 
    160164    END 
    161     ELSE: BEGIN 
    162           msg = 'iii : ${PROJECT_OD} is ' + project_od_env 
    163           ras = report(msg) 
     165    ELSE : BEGIN 
     166        msg = 'iii : ${PROJECT_OD} is ' + project_od_env 
     167        ras = report(msg) 
    164168    END 
    165  ENDCASE 
     169ENDCASE 
    166170; 
    167171; check if output data will be possible 
     
    260264help, w_ano 
    261265; 
    262 ; applying the correction for varyability based on the scatter 
     266; applying the correction for variability based on the scatter 
    263267;w_ano=w_ano*(1/0.897667)   ; (2000-2008) 
    264268w_ano=w_ano*(1/0.903587)    ; (2000-2009) 
  • trunk/src/ws_tropflux_1d_to_1m_ncdf.pro

    r203 r204  
    1616; has been produced by ++ 
    1717; 
    18 ; Montly ++ 
     18; Monthly ++ 
    1919; is written in 
    2020; :file:`${PROJECT_OD}/ws_tropflux_1m_1989_2010.nc` 
     
    9898; test if ${PROJECT_OD} defined 
    9999CASE project_od_env OF 
    100   '' : BEGIN 
    101          msg = 'eee : ${PROJECT_OD} is not defined' 
    102          ras = report(msg) 
    103        STOP 
    104        END 
    105   ELSE: BEGIN 
    106           msg = 'iii : ${PROJECT_OD} is ' + project_od_env 
    107           ras = report(msg) 
    108         END 
    109  ENDCASE 
     100    '' : BEGIN 
     101        msg = 'eee : ${PROJECT_OD} is not defined' 
     102        ras = report(msg) 
     103        STOP 
     104    END 
     105    ELSE : BEGIN 
     106        msg = 'iii : ${PROJECT_OD} is ' + project_od_env 
     107        ras = report(msg) 
     108    END 
     109ENDCASE 
    110110; 
    111111; check if output data will be possible 
     
    114114; existence and protection for reading 
    115115IF (FILE_TEST(iodirout, /DIRECTORY, /EXECUTABLE, /READ) EQ 0) THEN BEGIN 
    116    msg = 'eee : the directory' + iodirout  + ' is not accessible.' 
    117    ras = report(msg) 
    118    STOP 
     116    msg = 'eee : the directory' + iodirout  + ' is not accessible.' 
     117    ras = report(msg) 
     118    STOP 
    119119ENDIF 
    120120; 
     
    167167for jt=0,jpt-1 do begin 
    168168; 
    169    ind=where((m eq mon(jt)) and (y eq yea(jt))) 
    170    wsm(*,*,jt)=total(ws(*,*,ind),3)/n_elements(ind) 
     169    ind=where((m eq mon(jt)) and (y eq yea(jt))) 
     170    wsm(*,*,jt)=total(ws(*,*,ind),3)/n_elements(ind) 
    171171; 
    172172endfor 
     
    191191globattr={Source:'TropFlux - Air-Sea Fluxes for the Global Tropics' $ 
    192192    , Methodology:'Praveen Kumar et al., Clim. Dyn 2011' $ 
    193     , Producer_Agency:'Joint research colloboration between IPSL, Paris and NIO, India' $ 
     193    , Producer_Agency:'Joint research collaboration between IPSL, Paris and NIO, India' $ 
    194194    , Time_range:cda0+' - '+cda1 $ 
    195195    , Creation_date:creation_date $ 
  • trunk/src/x_site_location.pro

    r203 r204  
    77; .. function:: x_site_location(site) 
    88; 
    9 ; DESCRITPION 
     9; DESCRIPTION 
    1010; =========== 
    1111; 
  • trunk/src/y_site_location.pro

    r203 r204  
    77; .. function:: y_site_location(site) 
    88; 
    9 ; DESCRITPION 
     9; DESCRIPTION 
    1010; =========== 
    1111; 
     
    7979        y=strmid(site, n+1, n1-n-1) 
    8080        y=180+(180-float(y)) 
    81    endelse 
     81    endelse 
    8282endelse 
    8383return,float(y) 
Note: See TracChangeset for help on using the changeset viewer.