Changeset 32


Ignore:
Timestamp:
01/26/11 17:48:15 (13 years ago)
Author:
pinsard
Message:

revisiting compute_erai_daily_region_2d.sh (to be cont.)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/compute_erai_daily_region_2d.sh

    r26 r32  
    3131#           rankdir="LR", 
    3232#           ] 
    33 #           filein_lsp [shape=ellipse,fontname=Courier,label="/bdd/ERAI/NETCDF/GLOBAL_075/4xdaily/FC_SF/yyyy/mm/lsp.yyyymmdd*"]; 
    34 #           filein_cp [shape=ellipse,fontname=Courier,label="/bdd/ERAI/NETCDF/GLOBAL_075/4xdaily/FC_SF/yyyy/mm/cp.yyyymmdd*"]; 
    35 #           filein_e [shape=ellipse,fontname=Courier,label="/bdd/ERAI/NETCDF/GLOBAL_075/4xdaily/FC_SF/yyyy/mm/e.yyyymmdd*"]; 
    36 #           filein_slhf [shape=ellipse,fontname=Courier,label="/bdd/ERAI/NETCDF/GLOBAL_075/4xdaily/FC_SF/yyyy/mm/slhf.yyyymmdd*"]; 
    37 #           filein_ssr [shape=ellipse,fontname=Courier,label="/bdd/ERAI/NETCDF/GLOBAL_075/4xdaily/FC_SF/yyyy/mm/ssr.yyyymmdd*"]; 
    38 #           filein_trd [shape=ellipse,fontname=Courier,label="/bdd/ERAI/NETCDF/GLOBAL_075/4xdaily/FC_SF/yyyy/mm/trd.yyyymmdd*"]; 
    39 #           filein_sshf [shape=ellipse,fontname=Courier,label="/bdd/ERAI/NETCDF/GLOBAL_075/4xdaily/FC_SF/yyyy/mm/sshf.yyyymmdd*"]; 
    40 #           filein_ssrd [shape=ellipse,fontname=Courier,label="/bdd/ERAI/NETCDF/GLOBAL_075/4xdaily/FC_SF/yyyy/mm/ssrd.yyyymmdd*"]; 
    4133#           filein_str [shape=ellipse,fontname=Courier,label="/bdd/ERAI/NETCDF/GLOBAL_075/4xdaily/FC_SF/yyyy/mm/str.yyyymmdd*"]; 
    42 #           filein_ewss [shape=ellipse,fontname=Courier,label="/bdd/ERAI/NETCDF/GLOBAL_075/4xdaily/FC_SF/yyyy/mm/ewss.yyyymmdd*"]; 
    43 #           filein_nsss [shape=ellipse,fontname=Courier,label="/bdd/ERAI/NETCDF/GLOBAL_075/4xdaily/FC_SF/yyyy/mm/nsss.yyyymmdd*"]; 
    44 #           filein_geopt [shape=ellipse,fontname=Courier,label="/bdd/ERAI/NETCDF/GLOBAL_075/4xdaily/AN_SF/yyyy/mm/geopt.yyyymm.ashei.GLOBAL_075.nc"]; 
    4534#           filein_msl [shape=ellipse,fontname=Courier,label="/bdd/ERAI/NETCDF/GLOBAL_075/4xdaily/AN_SF/yyyy/mm/msl.yyyymm.ashei.GLOBAL_075.nc"]; 
    4635#           filein_sstk [shape=ellipse,fontname=Courier,label="/bdd/ERAI/NETCDF/GLOBAL_075/4xdaily/AN_SF/yyyy/mm/sstk.yyyymm.ashei.GLOBAL_075.nc"]; 
     
    5039#           filein_v10 [shape=ellipse,fontname=Courier,label="/bdd/ERAI/NETCDF/GLOBAL_075/4xdaily/AN_SF/yyyy/mm/v10.yyyymm.ashei.GLOBAL_075.nc"]; 
    5140# 
    52 #           fileout_lsp [shape=ellipse,fontname=Courier,label="${TROPFLUX_ID}/erai_GLOB_1d_yyyy0101_yyyy1231_lsp_gridOrig.nc"]; 
    53 #           fileout_cp [shape=ellipse,fontname=Courier,label="${TROPFLUX_ID}/erai_GLOB_1d_yyyy0101_yyyy1231_cp_gridOrig.nc"]; 
    54 #           fileout_e [shape=ellipse,fontname=Courier,label="${TROPFLUX_ID}/erai_GLOB_1d_yyyy0101_yyyy1231_e_gridOrig.nc"]; 
    55 #           fileout_slhf [shape=ellipse,fontname=Courier,label="${TROPFLUX_ID}/erai_GLOB_1d_yyyy0101_yyyy1231_slhf_gridOrig.nc"]; 
    56 #           fileout_ssr [shape=ellipse,fontname=Courier,label="${TROPFLUX_ID}/erai_GLOB_1d_yyyy0101_yyyy1231_ssr_gridOrig.nc"]; 
    57 #           fileout_trd [shape=ellipse,fontname=Courier,label="${TROPFLUX_ID}/erai_GLOB_1d_yyyy0101_yyyy1231_trd_gridOrig.nc"]; 
    58 #           fileout_sshf [shape=ellipse,fontname=Courier,label="${TROPFLUX_ID}/erai_GLOB_1d_yyyy0101_yyyy1231_sshf_gridOrig.nc"]; 
    59 #           fileout_ssrd [shape=ellipse,fontname=Courier,label="${TROPFLUX_ID}/erai_GLOB_1d_yyyy0101_yyyy1231_ssrd_gridOrig.nc"]; 
    60 #           fileout_str [shape=ellipse,fontname=Courier,label="${TROPFLUX_ID}/erai_GLOB_1d_yyyy0101_yyyy1231_str_gridOrig.nc"]; 
    61 #           fileout_ewss [shape=ellipse,fontname=Courier,label="${TROPFLUX_ID}/erai_GLOB_1d_yyyy0101_yyyy1231_ewss_gridOrig.nc"]; 
    62 #           fileout_nsss [shape=ellipse,fontname=Courier,label="${TROPFLUX_ID}/erai_GLOB_1d_yyyy0101_yyyy1231_nsss_gridOrig.nc"]; 
    63 #           fileout_geopt [shape=ellipse,fontname=Courier,label="${TROPFLUX_ID}/erai_GLOB_1d_yyyy0101_yyyy1231_geopt_gridOrig.nc"]; 
    64 #           fileout_msl [shape=ellipse,fontname=Courier,label="${TROPFLUX_ID}/erai_GLOB_1d_yyyy0101_yyyy1231_msl_gridOrig.nc"]; 
    65 #           fileout_sstk [shape=ellipse,fontname=Courier,label="${TROPFLUX_ID}/erai_GLOB_1d_yyyy0101_yyyy1231_sstk_gridOrig.nc"]; 
    66 #           fileout_t2 [shape=ellipse,fontname=Courier,label="${TROPFLUX_ID}/erai_GLOB_1d_yyyy0101_yyyy1231_t2_gridOrig.nc"]; 
    67 #           fileout_d2 [shape=ellipse,fontname=Courier,label="${TROPFLUX_ID}/erai_GLOB_1d_yyyy0101_yyyy1231_d2_gridOrig.nc"]; 
    68 #           fileout_u10 [shape=ellipse,fontname=Courier,label="${TROPFLUX_ID}/erai_GLOB_1d_yyyy0101_yyyy1231_u10_gridOrig.nc"]; 
    69 #           fileout_v10 [shape=ellipse,fontname=Courier,label="${TROPFLUX_ID}/erai_GLOB_1d_yyyy0101_yyyy1231_v10_gridOrig.nc"]; 
     41#           fileout_str [shape=ellipse,fontname=Courier,label="${TROPFLUX_ID}/erai_TROP_1d_yyyy0101_yyyy1231_str_gridOrig.nc"]; 
     42#           fileout_msl [shape=ellipse,fontname=Courier,label="${TROPFLUX_ID}/erai_TROP_1d_yyyy0101_yyyy1231_msl_gridOrig.nc"]; 
     43#           fileout_sstk [shape=ellipse,fontname=Courier,label="${TROPFLUX_ID}/erai_TROP_1d_yyyy0101_yyyy1231_sstk_gridOrig.nc"]; 
     44#           fileout_t2 [shape=ellipse,fontname=Courier,label="${TROPFLUX_ID}/erai_TROP_1d_yyyy0101_yyyy1231_t2_gridOrig.nc"]; 
     45#           fileout_d2 [shape=ellipse,fontname=Courier,label="${TROPFLUX_ID}/erai_TROP_1d_yyyy0101_yyyy1231_d2_gridOrig.nc"]; 
     46#           fileout_u10 [shape=ellipse,fontname=Courier,label="${TROPFLUX_ID}/erai_TROP_1d_yyyy0101_yyyy1231_u10_gridOrig.nc"]; 
     47#           fileout_v10 [shape=ellipse,fontname=Courier,label="${TROPFLUX_ID}/erai_TROP_1d_yyyy0101_yyyy1231_v10_gridOrig.nc"]; 
    7048# 
    7149#           compute_erai_daily_region_2d [shape=box, 
     
    7553#           label="${TROPFLUX}/src/compute_erai_daily_region_2d.sh"]; 
    7654# 
    77 #           {filein_lsp filein_cp filein_e filein_slhf filein_ssr filein_trd filein_sshf filein_ssrd filein_trd filein_str filein_ewss filein_nsss filein_geopt filein_msl filein_sstk filein_t2 filein_d2 filein_u10 filein_v10} -> {compute_erai_daily_region_2d} -> {fileout_lsp fileout_cp fileout_e fileout_slhf fileout_ssr fileout_trd fileout_sshf fileout_ssrd fileout_trd fileout_str fileout_ewss fileout_nsss fileout_geopt fileout_msl fileout_sstk fileout_t2 fileout_d2 fileout_u10 fileout_v10} 
     55#           {filein_str filein_msl filein_sstk filein_t2 filein_d2 filein_u10 filein_v10} -> {compute_erai_daily_region_2d} -> {fileout_str fileout_msl fileout_sstk fileout_t2 fileout_d2 fileout_u10 fileout_v10} 
    7856# 
    7957#       } 
     58# 
     59# .. caution:: 
     60# 
     61#    Output files if exist are overwritten. 
    8062# 
    8163# EXAMPLES 
     
    9274# 
    9375# and of course on files in ${TROPFLUX_ID}. 
    94  
     76# 
    9577# 
    9678# SEE ALSO 
     
    119101# ==== 
    120102# 
    121 # make it work  
    122 # 
    123 # avoid ncrcat interactive question 
     103# parametrisation of year min and year max 
     104# 
     105# explication on ncflint arguments 
    124106# 
    125107# split get and process files 
    126108# 
    127 # hard coded directory - usage of ${TROPFLUX_ID} 
    128 # 
    129109# coding rules 
    130110# 
    131 # ref. to nco commands not function but programs (pb of Sphinx inventory - nco.inv - syntax) 
    132 # 
    133 # resolve missing long name variable for Netcdfname in http://climserv.ipsl.polytechnique.fr/fr/les-donnees/era-interim-4.html 
    134 # 
    135 #  - slhf 
    136 #  - trd  
    137 #  - sshf 
     111# correction of min and max of latitude field (still -90,+90 !) 
     112# 
     113# are cmonthmin and cmonthmax the real info to put in output file name ? may be not because if input files do not exist 
     114# 
     115# 
     116# solve this kind of warning:: 
     117# 
     118#  ncrcat: WARNING Intra-file non-monotonicity. Record coordinate "time" does not monotonically decrease between (input file /homedata/pinsard/log//compute_erai_daily_region_2d.20110126T154235Z.temp//temp_int_str_199012.nc record indices: 29, 30) (output file /homedata/pinsard/tropflux_d//erai_TROP_1d_19900101_19901231_str_gridOrig.nc record indices 363, 364) record coordinate values -0.000278, -0.000278 
     119# 
    138120# 
    139121# EVOLUTIONS 
    140122# ========== 
     123# 
     124# - fplod 20110126T132641Z 
     125# 
     126#   * avoid ncrcat interactive question 
     127#   * remove unused variables 
     128#   * change GLOG to TROP (36N,36S) 
     129#   * yearmax 2009 
     130#   * add a test of existence of monthly file (symetric to test on daily files) 
    141131# 
    142132# - fplod 20101223T084153Z aedon.locean-ipsl.upmc.fr (Darwin) 
     
    231221echo "" 1>> ${log} 
    232222# 
    233 minlat=-90. 
    234 maxlat=90. 
     223minlat=-36. 
     224maxlat=36. 
    235225minlon=0. 
    236226maxlon=360. 
    237 reg=GLOB 
     227reg=TROP 
    238228yearmin=1989 
    239 yearmax=2010 
     229yearmax=2009 
    240230monthmin=1 
    241231monthmax=12 
     
    257247fi 
    258248# 
    259 # lsp = Large scale precipitation 
    260 # cp = Convective precipitation 
    261 for var in lsp cp; do 
     249# str = Surface thermal radiation 
     250for var in str ; do 
    262251   yyyy=${yearmin} 
    263252   while [ ${yyyy} -le ${yearmax} ] 
     
    273262         do 
    274263            cday=$(printf "%2.2d" ${day}) 
    275             if [ -f ${dirin}/FC_SF/${yyyy}/${cmonth}/${var}.${yyyy}${cmonth}${cday}* ]  
     264            if [ -f ${dirin}/FC_SF/${yyyy}/${cmonth}/${var}.${yyyy}${cmonth}${cday}* ] 
    276265            then 
    277266               ncpdq -U ${dirin}/FC_SF/${yyyy}/${cmonth}/${var}.${yyyy}${cmonth}${cday}* ${dirtemp}/${var}.${yyyy}${cmonth}${cday}.temp.GLOBAL_075.nc 
     
    283272         exist_temp_files=$(find ${dirtemp} -name "${var}.${yyyy}${cmonth}*temp*") 
    284273         if [ "${exist_temp_files}" != "" ] 
    285          then  
    286             ncrcat ${dirtemp}/${var}.${yyyy}${cmonth}*temp*  ${dirtemp}/${var}.${yyyy}${cmonth}.fshei.GLOBAL_075.nc 
    287             rm ${dirtemp}/${var}.${yyyy}${cmonth}*temp* 2> /dev/null 
    288             ncks -d lat,${minlat},${maxlat} -d lon,${minlon},${maxlon} -d time,0,,5 ${dirtemp}/${var}.${yyyy}${cmonth}.fshei.GLOBAL_075.nc ${dirtemp}/temp_time0.nc 
    289             ncks -d lat,${minlat},${maxlat} -d lon,${minlon},${maxlon} -d time,4,,5 ${dirtemp}/${var}.${yyyy}${cmonth}.fshei.GLOBAL_075.nc ${dirtemp}/temp_time4.nc 
    290             ncflint -w -1,1 ${dirtemp}/temp_time0.nc ${dirtemp}/temp_time4.nc ${dirtemp}/temp_time.nc 
    291             ncflint -w 1000.,0.0 ${dirtemp}/temp_time.nc ${dirtemp}/temp_time.nc ${dirtemp}/temp_int_${var}_${yyyy}${cmonth}.nc 
    292             rm ${dirtemp}/temp_time* 2> /dev/null 
    293             rm ${dirtemp}/${var}.${yyyy}${cmonth}.fshei.GLOBAL_075.nc 2> /dev/null 
    294          else 
    295             echo "${command} : iii : no files ${dirtemp}/${var}.${yyyy}${cmonth}*temp*" >> ${log} 
    296          fi 
    297          unset exist_temp_files 
    298          month=$(( ${month} + 1 )) 
    299       done 
    300       ncrcat ${dirtemp}/temp_int_${var}_${yyyy}* ${TROPFLUX_ID}/erai_${reg}_1d_${yyyy}${cmonthmin}01_${yyyy}${cmonthmax}31_${var}_gridOrig.nc 
    301       rm ${dirtemp}/temp_int_${var}_${yyyy}* 2> /dev/null 
    302       yyyy=$(( ${yyyy} + 1 )) 
    303    done 
    304 done 
    305 # 
    306 # e = Evaporation 
    307 # slhf = ? 
    308 # ssr = Surface solar radiation 
    309 # trd = ? 
    310 # sshf = ? 
    311 # ssrd = Downward surface solar radiation 
    312 # str = Surface thermal radiation 
    313 # ewss = East /West surface stress 
    314 # nsss = North/South surface stress 
    315 for var in e slhf ssr trd sshf ssrd str ewss nsss ; do 
    316    yyyy=${yearmin} 
    317    while [ ${yyyy} -le ${yearmax} ] 
    318    do 
    319       month=${monthmin} 
    320       while [ ${month} -le ${monthmax} ] 
    321       do 
    322          cmonth=$(printf "%2.2d" ${month}) 
    323          daymin=1 
    324          daymax=$(cal ${month} ${yyyy} | grep . | fmt -1 | tail -1) 
    325          day=${daymin} 
    326          while [ ${day} -le ${daymax} ] 
    327          do 
    328             cday=$(printf "%2.2d" ${day}) 
    329             if [ -f ${dirin}/FC_SF/${yyyy}/${cmonth}/${var}.${yyyy}${cmonth}${cday}* ]  
    330             then 
    331                ncpdq -U ${dirin}/FC_SF/${yyyy}/${cmonth}/${var}.${yyyy}${cmonth}${cday}* ${dirtemp}/${var}.${yyyy}${cmonth}${cday}.temp.GLOBAL_075.nc 
    332             else 
    333                echo "${command} : iii : no files ${dirin}/FC_SF/${yyyy}/${cmonth}/${var}.${yyyy}${cmonth}${cday}*" >> ${log} 
    334             fi 
    335             day=$(( ${day} + 1 )) 
    336          done 
    337          exist_temp_files=$(find  ${dirtemp} -name "${var}.${yyyy}${cmonth}*temp*") 
    338          if [ "${exist_temp_files}" != "" ] 
    339274         then 
    340             ncrcat ${dirtemp}/${var}.${yyyy}${cmonth}*temp* ${dirtemp}/${var}.${yyyy}${cmonth}.fshei.GLOBAL_075.nc 
     275            ncrcat -O ${dirtemp}/${var}.${yyyy}${cmonth}*temp* ${dirtemp}/${var}.${yyyy}${cmonth}.fshei.GLOBAL_075.nc 
    341276            rm ${dirtemp}/${var}.${yyyy}${cmonth}*temp* 2> /dev/null 
    342277            ncks -d lat,${minlat},${maxlat} -d lon,${minlon},${maxlon} -d time,0,,5 ${dirtemp}/${var}.${yyyy}${cmonth}.fshei.GLOBAL_075.nc ${dirtemp}/temp_time0.nc 
     
    352287         month=$(( ${month} + 1 )) 
    353288      done 
    354       ncrcat ${dirtemp}/temp_int_${var}_${yyyy}* ${TROPFLUX_ID}/erai_${reg}_1d_${yyyy}${cmonthmin}01_${yyyy}${cmonthmax}31_${var}_gridOrig.nc 
     289      ncrcat -O ${dirtemp}/temp_int_${var}_${yyyy}* ${TROPFLUX_ID}/erai_${reg}_1d_${yyyy}${cmonthmin}01_${yyyy}${cmonthmax}31_${var}_gridOrig.nc 
    355290      rm ${dirtemp}/temp_int_${var}_${yyyy}* 2> /dev/null 
    356291      yyyy=$(( ${yyyy} + 1 )) 
     
    358293done 
    359294# 
    360 # geopt = Geopotentiel 
    361295# msl = Mean sea level pressure 
    362296# sstk = Sea surface temperature 
     
    365299# u10 = 10m U wind component 
    366300# v10 = 10m V wind component 
    367 for var in geopt msl sstk t2 d2 u10 v10 ; do 
     301for var in msl sstk t2 d2 u10 v10 ; do 
    368302   yyyy=${yearmin} 
    369303   while [ ${yyyy} -le ${yearmax} ] 
     
    373307      do 
    374308         cmonth=$(printf "%2.2d" ${month}) 
    375          ncpdq -U ${dirin}/AN_SF/${yyyy}/${var}.${yyyy}${cmonth}.ashei.GLOBAL_075.nc ${dirtemp}/${var}.${yyyy}${cmonth}.ashei.GLOBAL_075.nc 
    376          ncks -d lat,${minlat},${maxlat} -d lon,${minlon},${maxlon} -d time,0,,4 ${dirtemp}/${var}.${yyyy}${cmonth}.ashei.GLOBAL_075.nc ${dirtemp}/temp_time1.nc 
    377          ncks -d lat,${minlat},${maxlat} -d lon,${minlon},${maxlon} -d time,1,,4 ${dirtemp}/${var}.${yyyy}${cmonth}.ashei.GLOBAL_075.nc ${dirtemp}/temp_time2.nc 
    378          ncks -d lat,${minlat},${maxlat} -d lon,${minlon},${maxlon} -d time,2,,4 ${dirtemp}/${var}.${yyyy}${cmonth}.ashei.GLOBAL_075.nc ${dirtemp}/temp_time3.nc 
    379          ncks -d lat,${minlat},${maxlat} -d lon,${minlon},${maxlon} -d time,3,,4 ${dirtemp}/${var}.${yyyy}${cmonth}.ashei.GLOBAL_075.nc ${dirtemp}/temp_time4.nc 
    380          ncea ${dirtemp}/temp_time* ${dirtemp}/temp_int_${yyyy}${cmonth}.nc 
    381          rm ${dirtemp}/temp_time* 2> /dev/null 
    382          rm ${dirtemp}/${var}.${yyyy}${cmonth}.ashei.GLOBAL_075.nc 2> /dev/null 
    383          month=$(( ${month} + 1 )) 
     309         if [ -f ${dirin}/AN_SF/${yyyy}/${var}.${yyyy}${cmonth}.ashei.GLOBAL_075.nc ]  
     310         then 
     311            ncpdq -U ${dirin}/AN_SF/${yyyy}/${var}.${yyyy}${cmonth}.ashei.GLOBAL_075.nc ${dirtemp}/${var}.${yyyy}${cmonth}.ashei.GLOBAL_075.nc 
     312            ncks -d lat,${minlat},${maxlat} -d lon,${minlon},${maxlon} -d time,0,,4 ${dirtemp}/${var}.${yyyy}${cmonth}.ashei.GLOBAL_075.nc ${dirtemp}/temp_time1.nc 
     313            ncks -d lat,${minlat},${maxlat} -d lon,${minlon},${maxlon} -d time,1,,4 ${dirtemp}/${var}.${yyyy}${cmonth}.ashei.GLOBAL_075.nc ${dirtemp}/temp_time2.nc 
     314            ncks -d lat,${minlat},${maxlat} -d lon,${minlon},${maxlon} -d time,2,,4 ${dirtemp}/${var}.${yyyy}${cmonth}.ashei.GLOBAL_075.nc ${dirtemp}/temp_time3.nc 
     315            ncks -d lat,${minlat},${maxlat} -d lon,${minlon},${maxlon} -d time,3,,4 ${dirtemp}/${var}.${yyyy}${cmonth}.ashei.GLOBAL_075.nc ${dirtemp}/temp_time4.nc 
     316            ncea ${dirtemp}/temp_time* ${dirtemp}/temp_int_${yyyy}${cmonth}.nc 
     317            rm ${dirtemp}/temp_time* 2> /dev/null 
     318            rm ${dirtemp}/${var}.${yyyy}${cmonth}.ashei.GLOBAL_075.nc 2> /dev/null 
     319            month=$(( ${month} + 1 )) 
     320          else 
     321             echo "${command} : iii : no file ${dirin}/AN_SF/${yyyy}/${var}.${yyyy}${cmonth}.ashei.GLOBAL_075.nc " >> ${log} 
     322          fi 
    384323      done 
    385       ncrcat ${dirtemp}/temp_int_${yyyy}* ${TROPFLUX_ID}/erai_${reg}_1d_${yyyy}${cmonthmin}01_${yyyy}${cmonthmax}31_${var}_gridOrig.nc 
     324      ncrcat -O ${dirtemp}/temp_int_${yyyy}* ${TROPFLUX_ID}/erai_${reg}_1d_${yyyy}${cmonthmin}01_${yyyy}${cmonthmax}31_${var}_gridOrig.nc 
    386325      rm ${dirtemp}/temp_int_${yyyy}* 2> /dev/null 
    387326      yyyy=$(( ${yyyy} + 1 )) 
Note: See TracChangeset for help on using the changeset viewer.