Changeset 32 for trunk/src/compute_erai_daily_region_2d.sh
- Timestamp:
- 01/26/11 17:48:15 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/compute_erai_daily_region_2d.sh
r26 r32 31 31 # rankdir="LR", 32 32 # ] 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*"];41 33 # 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"];45 34 # filein_msl [shape=ellipse,fontname=Courier,label="/bdd/ERAI/NETCDF/GLOBAL_075/4xdaily/AN_SF/yyyy/mm/msl.yyyymm.ashei.GLOBAL_075.nc"]; 46 35 # filein_sstk [shape=ellipse,fontname=Courier,label="/bdd/ERAI/NETCDF/GLOBAL_075/4xdaily/AN_SF/yyyy/mm/sstk.yyyymm.ashei.GLOBAL_075.nc"]; … … 50 39 # filein_v10 [shape=ellipse,fontname=Courier,label="/bdd/ERAI/NETCDF/GLOBAL_075/4xdaily/AN_SF/yyyy/mm/v10.yyyymm.ashei.GLOBAL_075.nc"]; 51 40 # 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"]; 70 48 # 71 49 # compute_erai_daily_region_2d [shape=box, … … 75 53 # label="${TROPFLUX}/src/compute_erai_daily_region_2d.sh"]; 76 54 # 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_geoptfileout_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} 78 56 # 79 57 # } 58 # 59 # .. caution:: 60 # 61 # Output files if exist are overwritten. 80 62 # 81 63 # EXAMPLES … … 92 74 # 93 75 # and of course on files in ${TROPFLUX_ID}. 94 76 # 95 77 # 96 78 # SEE ALSO … … 119 101 # ==== 120 102 # 121 # make it work122 # 123 # avoid ncrcat interactive question103 # parametrisation of year min and year max 104 # 105 # explication on ncflint arguments 124 106 # 125 107 # split get and process files 126 108 # 127 # hard coded directory - usage of ${TROPFLUX_ID}128 #129 109 # coding rules 130 110 # 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 # 138 120 # 139 121 # EVOLUTIONS 140 122 # ========== 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) 141 131 # 142 132 # - fplod 20101223T084153Z aedon.locean-ipsl.upmc.fr (Darwin) … … 231 221 echo "" 1>> ${log} 232 222 # 233 minlat=- 90.234 maxlat= 90.223 minlat=-36. 224 maxlat=36. 235 225 minlon=0. 236 226 maxlon=360. 237 reg= GLOB227 reg=TROP 238 228 yearmin=1989 239 yearmax=20 10229 yearmax=2009 240 230 monthmin=1 241 231 monthmax=12 … … 257 247 fi 258 248 # 259 # lsp = Large scale precipitation 260 # cp = Convective precipitation 261 for var in lsp cp; do 249 # str = Surface thermal radiation 250 for var in str ; do 262 251 yyyy=${yearmin} 263 252 while [ ${yyyy} -le ${yearmax} ] … … 273 262 do 274 263 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}* ] 276 265 then 277 266 ncpdq -U ${dirin}/FC_SF/${yyyy}/${cmonth}/${var}.${yyyy}${cmonth}${cday}* ${dirtemp}/${var}.${yyyy}${cmonth}${cday}.temp.GLOBAL_075.nc … … 283 272 exist_temp_files=$(find ${dirtemp} -name "${var}.${yyyy}${cmonth}*temp*") 284 273 if [ "${exist_temp_files}" != "" ] 285 then286 ncrcat ${dirtemp}/${var}.${yyyy}${cmonth}*temp* ${dirtemp}/${var}.${yyyy}${cmonth}.fshei.GLOBAL_075.nc287 rm ${dirtemp}/${var}.${yyyy}${cmonth}*temp* 2> /dev/null288 ncks -d lat,${minlat},${maxlat} -d lon,${minlon},${maxlon} -d time,0,,5 ${dirtemp}/${var}.${yyyy}${cmonth}.fshei.GLOBAL_075.nc ${dirtemp}/temp_time0.nc289 ncks -d lat,${minlat},${maxlat} -d lon,${minlon},${maxlon} -d time,4,,5 ${dirtemp}/${var}.${yyyy}${cmonth}.fshei.GLOBAL_075.nc ${dirtemp}/temp_time4.nc290 ncflint -w -1,1 ${dirtemp}/temp_time0.nc ${dirtemp}/temp_time4.nc ${dirtemp}/temp_time.nc291 ncflint -w 1000.,0.0 ${dirtemp}/temp_time.nc ${dirtemp}/temp_time.nc ${dirtemp}/temp_int_${var}_${yyyy}${cmonth}.nc292 rm ${dirtemp}/temp_time* 2> /dev/null293 rm ${dirtemp}/${var}.${yyyy}${cmonth}.fshei.GLOBAL_075.nc 2> /dev/null294 else295 echo "${command} : iii : no files ${dirtemp}/${var}.${yyyy}${cmonth}*temp*" >> ${log}296 fi297 unset exist_temp_files298 month=$(( ${month} + 1 ))299 done300 ncrcat ${dirtemp}/temp_int_${var}_${yyyy}* ${TROPFLUX_ID}/erai_${reg}_1d_${yyyy}${cmonthmin}01_${yyyy}${cmonthmax}31_${var}_gridOrig.nc301 rm ${dirtemp}/temp_int_${var}_${yyyy}* 2> /dev/null302 yyyy=$(( ${yyyy} + 1 ))303 done304 done305 #306 # e = Evaporation307 # slhf = ?308 # ssr = Surface solar radiation309 # trd = ?310 # sshf = ?311 # ssrd = Downward surface solar radiation312 # str = Surface thermal radiation313 # ewss = East /West surface stress314 # nsss = North/South surface stress315 for var in e slhf ssr trd sshf ssrd str ewss nsss ; do316 yyyy=${yearmin}317 while [ ${yyyy} -le ${yearmax} ]318 do319 month=${monthmin}320 while [ ${month} -le ${monthmax} ]321 do322 cmonth=$(printf "%2.2d" ${month})323 daymin=1324 daymax=$(cal ${month} ${yyyy} | grep . | fmt -1 | tail -1)325 day=${daymin}326 while [ ${day} -le ${daymax} ]327 do328 cday=$(printf "%2.2d" ${day})329 if [ -f ${dirin}/FC_SF/${yyyy}/${cmonth}/${var}.${yyyy}${cmonth}${cday}* ]330 then331 ncpdq -U ${dirin}/FC_SF/${yyyy}/${cmonth}/${var}.${yyyy}${cmonth}${cday}* ${dirtemp}/${var}.${yyyy}${cmonth}${cday}.temp.GLOBAL_075.nc332 else333 echo "${command} : iii : no files ${dirin}/FC_SF/${yyyy}/${cmonth}/${var}.${yyyy}${cmonth}${cday}*" >> ${log}334 fi335 day=$(( ${day} + 1 ))336 done337 exist_temp_files=$(find ${dirtemp} -name "${var}.${yyyy}${cmonth}*temp*")338 if [ "${exist_temp_files}" != "" ]339 274 then 340 ncrcat ${dirtemp}/${var}.${yyyy}${cmonth}*temp*${dirtemp}/${var}.${yyyy}${cmonth}.fshei.GLOBAL_075.nc275 ncrcat -O ${dirtemp}/${var}.${yyyy}${cmonth}*temp* ${dirtemp}/${var}.${yyyy}${cmonth}.fshei.GLOBAL_075.nc 341 276 rm ${dirtemp}/${var}.${yyyy}${cmonth}*temp* 2> /dev/null 342 277 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 … … 352 287 month=$(( ${month} + 1 )) 353 288 done 354 ncrcat ${dirtemp}/temp_int_${var}_${yyyy}* ${TROPFLUX_ID}/erai_${reg}_1d_${yyyy}${cmonthmin}01_${yyyy}${cmonthmax}31_${var}_gridOrig.nc289 ncrcat -O ${dirtemp}/temp_int_${var}_${yyyy}* ${TROPFLUX_ID}/erai_${reg}_1d_${yyyy}${cmonthmin}01_${yyyy}${cmonthmax}31_${var}_gridOrig.nc 355 290 rm ${dirtemp}/temp_int_${var}_${yyyy}* 2> /dev/null 356 291 yyyy=$(( ${yyyy} + 1 )) … … 358 293 done 359 294 # 360 # geopt = Geopotentiel361 295 # msl = Mean sea level pressure 362 296 # sstk = Sea surface temperature … … 365 299 # u10 = 10m U wind component 366 300 # v10 = 10m V wind component 367 for var in geoptmsl sstk t2 d2 u10 v10 ; do301 for var in msl sstk t2 d2 u10 v10 ; do 368 302 yyyy=${yearmin} 369 303 while [ ${yyyy} -le ${yearmax} ] … … 373 307 do 374 308 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 384 323 done 385 ncrcat ${dirtemp}/temp_int_${yyyy}* ${TROPFLUX_ID}/erai_${reg}_1d_${yyyy}${cmonthmin}01_${yyyy}${cmonthmax}31_${var}_gridOrig.nc324 ncrcat -O ${dirtemp}/temp_int_${yyyy}* ${TROPFLUX_ID}/erai_${reg}_1d_${yyyy}${cmonthmin}01_${yyyy}${cmonthmax}31_${var}_gridOrig.nc 386 325 rm ${dirtemp}/temp_int_${yyyy}* 2> /dev/null 387 326 yyyy=$(( ${yyyy} + 1 ))
Note: See TracChangeset
for help on using the changeset viewer.