m0n0lithic

Modify Dates Entry for SWAN Input Files

Oct 24th, 2012
28
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 6.59 KB | None | 0 0
  1. #!/usr/bin/env python
  2.  
  3. " Modificar las fechas de entrada de los ficheros swn que corresponden a la generacion de productos para EQUION"
  4.  
  5. from time import localtime,mktime
  6.  
  7. today = str(localtime()[0]) + str(localtime()[1]) + str(localtime()[2])
  8. tmpdate = mktime((localtime()[0],localtime()[1],localtime()[2]+1,0,0,0,0,0,0))
  9. tomow = str(localtime(tmpdate)[0]) + str(localtime(tmpdate)[1]) + str(localtime(tmpdate)[2])
  10. tmpdate = mktime((localtime()[0],localtime()[1],localtime()[2]+5,0,0,0,0,0,0))
  11. day4 = str(localtime(tmpdate)[0]) + str(localtime(tmpdate)[1]) + str(localtime(tmpdate)[2])
  12.  
  13. _swn1 = open('OlasCaribe_dia1.swn','r+')
  14. ## Malla de Entrada
  15. for count in range(24):
  16.     line = _swn1.readline()
  17. _swn1.seek(-37,1)
  18. _swn1.write(today)
  19. _swn1.seek(13,1)
  20. _swn1.write(tomow)
  21. line = _swn1.readline()      #lee la linea completa para mover el puntero al final de la linea
  22.  
  23. # Nesting Galerazamba
  24. for count in range(24):
  25.     line =  _swn1.readline()     #lee el numero de lineas anteriores a la de interes
  26. _swn1.seek(-23,1)
  27. _swn1.write(today)
  28. line = _swn1.readline()      #lee la linea completa para mover el puntero al final de la linea
  29.  
  30. ##Boya Galerazamba
  31. for count in range(6):
  32.     line = _swn1.readline()
  33. _swn1.seek(-23,1)
  34. _swn1.write(today)
  35. line = _swn1.readline()
  36.  
  37. #Boya Mapale I
  38. for count in range(6):
  39.     line = _swn1.readline()
  40. _swn1.seek(-23,1)
  41. _swn1.write(today)
  42. line = _swn1.readline()
  43.  
  44. #Boya Mapale II
  45. for count in range(6):
  46.     line = _swn1.readline()
  47. _swn1.seek(-23,1)
  48. _swn1.write(today)
  49. line = _swn1.readline()
  50.  
  51. #Boya NOAA
  52. for count in range(6):
  53.     line = _swn1.readline()
  54. _swn1.seek(-23,1)
  55. _swn1.write(today)
  56. line = _swn1.readline()
  57. for count in range(3):
  58.     line = _swn1.readline()
  59. _swn1.seek(-23,1)
  60. _swn1.write(today)
  61. line = _swn1.readline()
  62. line = _swn1.readline()
  63. _swn1.seek(-23,1)
  64. _swn1.write(today)
  65. line = _swn1.readline()
  66. line = _swn1.readline()
  67. _swn1.seek(-23,1)
  68. _swn1.write(today)
  69. line = _swn1.readline()
  70. line = _swn1.readline()
  71. _swn1.seek(-23,1)
  72. _swn1.write(today)
  73. line = _swn1.readline()
  74. for count in range(3):
  75.     line = _swn1.readline()
  76. _swn1.seek(-39,1)
  77. _swn1.write(today)          #escribe el dato de salida
  78. _swn1.seek(15,1)         #desplaza el pointer hasta el siguiente campo de fecha
  79. _swn1.write(tomow)
  80. _swn1.close()
  81.  
  82. # Comentados:
  83. #for count in range(47):
  84. #   null_ =  _swn1.readline()     #lee el numero de lineas anteriores a la de interes
  85. #line = _swn1.readline()      #lee la linea completa donde se va a hacer la modificacion
  86. #_swn1.seek(-23,1)            #se devuelve xx caracteres antes del final de la misma linea
  87. #_swn1.write(today)          #escribe el dato de salida
  88. #line = _swn1.readline()      #lee la linea completa para mover el puntero al final de la linea
  89.  
  90. #for count in range(33):
  91. #    null_ =  _swn1.readline()
  92. #line = _swn1.readline()
  93. #_swn1.seek(-39,1)
  94. #_swn1.write(today)          #escribe el dato de salida
  95. #_swn1.seek(15,1)         #desplaza el pointer hasta el siguiente campo de fecha
  96. #_swn1.write(tomow)
  97. #_swn1.close()
  98. #End of OlasCaribe_dia1.swn Treatment
  99.  
  100. # =================================================
  101. _swn2 = open('OlasCaribe_dia2_5.swn','r+')
  102.  
  103. #Vientos
  104. for count in range(24):
  105.     line =  _swn2.readline()
  106. _swn2.seek(-37,1)
  107. _swn2.write(tomow)
  108. _swn2.seek(13,1)
  109. _swn2.write(day4)
  110. line = _swn2.readline()
  111.  
  112. #Nesting Galerazamba
  113. for count in range(24):
  114.     line =  _swn2.readline()
  115. _swn2.seek(-23,1)
  116. _swn2.write(tomow)
  117. line = _swn2.readline()
  118.  
  119. #Boya Galerazamba
  120. for count in range(6):
  121.     line =  _swn2.readline()
  122. _swn2.seek(-23,1)
  123. _swn2.write(tomow)
  124. line =  _swn2.readline()
  125.  
  126. #Boya Mapale I
  127. for count in range(6):
  128.     line =  _swn2.readline()
  129. _swn2.seek(-23,1)
  130. _swn2.write(tomow)
  131. line =  _swn2.readline()
  132.  
  133. #Boya Mapale II
  134. for count in range(6):
  135.     line =  _swn2.readline()
  136. _swn2.seek(-23,1)
  137. _swn2.write(tomow)
  138. line =  _swn2.readline()
  139. #Boya NOAA
  140. for count in range(6):
  141.     line =  _swn2.readline()
  142. _swn2.seek(-23,1)
  143. _swn2.write(tomow)
  144. line =  _swn2.readline()
  145. for count in range(3):
  146.     line =  _swn2.readline()
  147. _swn2.seek(-23,1)
  148. _swn2.write(tomow)
  149. line =  _swn2.readline()
  150. line =  _swn2.readline()
  151. _swn2.seek(-23,1)
  152. _swn2.write(tomow)
  153. line =  _swn2.readline()
  154. line =  _swn2.readline()
  155. _swn2.seek(-23,1)
  156. _swn2.write(tomow)
  157. line =  _swn2.readline()
  158. line =  _swn2.readline()
  159. _swn2.seek(-23,1)
  160. _swn2.write(tomow)
  161. line =  _swn2.readline()
  162. for count in range(3):
  163.     line =  _swn2.readline()
  164. _swn2.seek(-39,1)
  165. _swn2.write(tomow)
  166. _swn2.seek(15,1)
  167. _swn2.write(day4)
  168. _swn2.close()
  169.  
  170. # End of OlasCaribe_dia2_5.swn treatment
  171. # =================================================
  172. _swn3 = open('OlasGalerazamba.swn','r+')
  173. for count in range(53):
  174.     line =  _swn3.readline()
  175. _swn3.seek(-23,1)
  176. _swn3.write(today)
  177. line =  _swn3.readline()
  178.  
  179. for count in range(6):
  180.     line =  _swn3.readline()
  181. _swn3.seek(-23,1)
  182. _swn3.write(today)
  183. line =  _swn3.readline()
  184.  
  185. for count in range(6):
  186.     line =  _swn3.readline()
  187. _swn3.seek(-23,1)
  188. _swn3.write(today)
  189. line =  _swn3.readline()
  190.  
  191. for count in range(5):
  192.     line =  _swn3.readline()
  193. _swn3.seek(-23,1)
  194. _swn3.write(today)
  195. line =  _swn3.readline()
  196.  
  197. line =  _swn3.readline()
  198. _swn3.seek(-23,1)
  199. _swn3.write(today)
  200. line =  _swn3.readline()
  201.  
  202. line =  _swn3.readline()
  203. _swn3.seek(-23,1)
  204. _swn3.write(today)
  205. line =  _swn3.readline()
  206.  
  207. line =  _swn3.readline()
  208. _swn3.seek(-23,1)
  209. _swn3.write(today)
  210. line =  _swn3.readline()
  211.  
  212. for count in range(4):
  213.     line =  _swn3.readline()
  214. _swn3.seek(-39,1)
  215. _swn3.write(today)
  216. _swn3.seek(15,1)
  217. _swn3.write(tomow)
  218. _swn3.close()
  219. # End of OlasGalerazamba.swn treatment
  220. # =================================================
  221. _swn4 = open('OlasGalerazamba2.swn','r+')
  222. for count in range(54):
  223.     line =  _swn4.readline()
  224. _swn4.seek(-23,1)
  225. _swn4.write(tomow)
  226. line =  _swn4.readline()
  227. for count in range(6):
  228.     line =  _swn4.readline()
  229. _swn4.seek(-23,1)
  230. _swn4.write(tomow)
  231. line =  _swn4.readline()
  232.  
  233. for count in range(6):
  234.     line =  _swn4.readline()
  235. _swn4.seek(-23,1)
  236. _swn4.write(tomow)
  237. line =  _swn4.readline()
  238.  
  239. for count in range(5):
  240.     line =  _swn4.readline()
  241. _swn4.seek(-23,1)
  242. _swn4.write(tomow)
  243. line =  _swn4.readline()
  244.  
  245. line =  _swn4.readline()
  246. _swn4.seek(-23,1)
  247. _swn4.write(tomow)
  248. line =  _swn4.readline()
  249.  
  250. line =  _swn4.readline()
  251. _swn4.seek(-23,1)
  252. _swn4.write(tomow)
  253. line =  _swn4.readline()
  254.  
  255. line =  _swn4.readline()
  256. _swn4.seek(-23,1)
  257. _swn4.write(tomow)
  258. line =  _swn4.readline()
  259.  
  260. for count in range(4):
  261.     line =  _swn4.readline()
  262. _swn4.seek(-39,1)
  263. _swn4.write(tomow)
  264. _swn4.seek(15,1)
  265. _swn4.write(day4)
  266. _swn4.close()
  267. # End of OlasGalerazamba2.swn treatment
Advertisement
Add Comment
Please, Sign In to add comment