From a15701ec5324dd848ac8100a206f38e566fcc58b Mon Sep 17 00:00:00 2001 From: mathieud Date: Tue, 19 Jun 2018 09:27:26 +1000 Subject: [PATCH] First commit --- RMA11_ConstituentRev2.py | 40 +++ RMA2SERAPHIN.ipynb | 560 +++++++++++++++++++++++++++++++++++++++ RMA2SERAPHIN.py | 442 ++++++++++++++++++++++++++++++ Seraphin files.pdf | Bin 0 -> 188416 bytes py_rmatools.py | 163 ++++++++++++ 5 files changed, 1205 insertions(+) create mode 100644 RMA11_ConstituentRev2.py create mode 100644 RMA2SERAPHIN.ipynb create mode 100644 RMA2SERAPHIN.py create mode 100644 Seraphin files.pdf create mode 100644 py_rmatools.py diff --git a/RMA11_ConstituentRev2.py b/RMA11_ConstituentRev2.py new file mode 100644 index 0000000..b7f1b08 --- /dev/null +++ b/RMA11_ConstituentRev2.py @@ -0,0 +1,40 @@ +from py_rmatools import rma + +startyear=2013 + +runNumber = 'HWQ041' + +DictNodeConst = { + 1: [94,204,2281,213,2466,209,212,166,2468,2257,2256,194,2259,2471,2261,2252,2253,2467,2260,2262,197,2251,2255,2258,195,93,205,201,2254,200,2464,202,206,51,199,207,2465,2469,193,211,2263,196,208,2470,210,198,203], + 2: [606,89,168,2445,600,614,166,2283,2804,2460,172,2824,2830,2808,2450,176,2452,2451,82,2801,2454,186,616,2447,2820,611,2455,2821,593,167,83,87,2459,605,84,621,618,2802,625,596,2813,2289,2803,180,2290,185,2809,2443,622,187,2811,184,626,617,601,80,85,81,619,88,181,592,2456,2287,603,610,2823,2825,177,2818,2444,179,602,170,2462,2805,2814,2292,2812,2442,2286,2798,595,2463,2822,2819,624,183,2807,2284,613,609,2291,2458,608,175,2806,173,599,598,2827,2446,2448,174,90,2461,2810,2829,604,2285,2800,171,2817,2826,182,2288,2828,91,2799,2453,615,627,2831,169,2797,178,612,620,623,607,597,2816,2796,594,2449,2815,2457,2282,86], + 3: [498,507,516,2974,518,499,2942,531,512,33,64,485,34,41,2957,38,46,533,2947,524,2936,51,2915,2963,522,514,39,2928,2945,2932,2955,2960,2980,2927,489,2943,506,496,50,2967,508,2916,2956,2925,2930,2889,495,2970,520,2979,2977,2964,40,2968,511,2952,591,523,500,528,32,2950,525,502,488,2924,2934,2962,43,45,35,505,509,63,530,36,492,521,503,2971,2921,2917,519,2944,2946,2926,48,2922,2961,2938,2923,497,487,493,47,2975,2937,513,2972,504,517,501,2931,2953,2929,486,2920,2958,494,2966,515,2918,2983,2933,510,42,2935,2982,2940,2981,2939,37,490,527,2954,49,2965,2978,44,2973,2951,526,2941,491,2949,2969,2976,2919,2948,532,2959,484,31,529,2912], + 4: [76,2871,2700,2768,2787,2715,2778,580,2271,575,1397,2850,436,2776,379,2844,403,2712,2713,349,2767,555,2703,543,2719,2842,2710,424,369,67,589,2745,2688,346,2848,377,2743,2763,400,2758,2277,2788,2874,428,1386,2741,417,332,374,361,2689,341,426,551,548,384,432,2782,401,382,577,542,574,2834,563,2781,2747,1396,66,2885,2739,2840,427,2769,591,339,351,2838,2714,547,4246,2861,2270,4249,2273,2882,583,2731,2869,347,381,2754,2722,430,2694,390,1399,2854,4252,2865,343,380,581,73,364,435,2702,1400,4250,587,69,567,2863,2784,75,406,558,534,2760,2888,2766,421,2852,545,2868,414,536,71,2867,1390,2441,557,410,416,2272,429,371,2740,541,2693,70,438,2735,423,2771,366,569,2870,2711,2790,2780,1385,4242,362,2732,2761,572,2880,2785,2695,2279,2750,590,1401,383,576,2691,394,544,4247,407,2851,1394,419,2707,2886,333,378,404,2728,392,415,368,395,2841,358,340,571,2846,367,385,2720,165,2847,586,359,344,579,2756,4257,2864,564,2786,422,437,2697,556,584,2699,2872,434,570,2859,72,549,537,2278,386,338,2274,2836,2698,2752,2753,405,582,4258,2862,397,2751,356,409,2705,337,2727,1392,398,540,2887,2724,2793,2757,2835,553,552,2876,2884,4254,538,2837,331,2764,373,352,1402,2855,1393,2773,4245,2269,2729,1398,560,1388,389,425,2762,2775,376,2856,2770,2730,573,74,354,335,2853,336,2792,2744,350,345,2748,4244,357,562,375,4241,418,578,1389,2765,2873,2736,433,2832,2881,2783,393,2875,2794,2791,561,2726,2275,363,1391,2268,2721,2738,2774,2718,2833,370,550,402,2759,4243,559,4255,565,2734,2696,2742,68,2857,2789,413,365,2843,2879,431,2723,408,342,4248,2772,2883,2717,2795,1395,4256,588,1387,360,420,2746,2877,2866,372,566,2733,2755,2845,2737,2725,412,348,2878,539,2839,554,2860,77,535,2779,2276,399,387,4251,2692,2749,411,2708,2701,334,2849,2690,396,4253,568,2704,2716,546,2777,2858,2706,585,353,2709,391,355,388], + 5: [2218,2244,24,451,2232,2212,2893,442,26,483,2897,444,2231,1,2248,466,2892,452,2,3,464,453,2215,2233,454,2210,2234,2203,2896,2216,478,2903,440,470,2245,30,4,21,459,4364,19,2236,2891,445,2206,2899,460,1373,17,463,25,2207,2213,480,2221,443,2222,476,2909,2209,2908,471,6,20,13,15,482,2900,458,2895,456,18,2238,2247,2904,2239,450,457,2902,2201,2223,16,1369,27,2217,2205,2243,5994,2220,2890,9,1374,2911,12,2913,469,2240,2905,441,2246,2901,2894,2225,449,2914,455,2214,2280,472,11,2211,462,2204,2202,2241,1372,2237,5,481,448,475,477,2907,22,2910,7,2228,465,446,2242,14,2230,5993,8,461,2906,2226,468,2250,28,447,2898,439,2249,10,23,2208,467,2219,474,29,2227,2224,479,473,484,2235] + } + + +for key in DictNodeConst: + + time=[] + + node=DictNodeConst[key] + I_const=key + + filename1='{}_{}_WQ'.format(runNumber,startyear) + filename2='{}_{}.csv'.format(runNumber,I_const) + + target = open(filename2, 'w') + target.write("Year, Hour") + for n in node: + target.write(", {}".format(n)) + target.write("\n") + + R=rma() + R.open(filename1) + while R.next(): + target.write("{}, {}".format(startyear,R.time)) + for ii in range(0,len(node)): + target.write(", {}".format(R.constit[I_const][node[ii]])) + target.write("\n") + + target.close() \ No newline at end of file diff --git a/RMA2SERAPHIN.ipynb b/RMA2SERAPHIN.ipynb new file mode 100644 index 0000000..522e356 --- /dev/null +++ b/RMA2SERAPHIN.ipynb @@ -0,0 +1,560 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 64, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import struct\n", + "import matplotlib.pyplot as plt\n", + "import math\n", + "from py_rmatools import rma\n", + "\n", + "%matplotlib qt\n", + "plt.rcParams.update({'figure.max_open_warning': 0})" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "meshFilename = 'ck_034.rm1'\n", + "channelWidth = 100\n", + "RMAfilename = 'CK011_WQ'\n", + "\n", + "#If RMA11\n", + "constNum = [1]" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "def isElementOneD(nodelist):\n", + " if len(nodelist) == 2:\n", + " return True\n", + " return False\n", + "\n", + "def isElementSquare(nodelist):\n", + " if len(nodelist) == 4:\n", + " return True\n", + " return False\n", + "\n", + "def square2Triangle(ElementNum):\n", + " nodelist = ElementDict[ElementNum]\n", + " if isElementSquare(nodelist):\n", + " ElementDict[ElementNum] = [nodelist[0], nodelist[1], nodelist[2]]\n", + " ElementList.append(max(ElementList) + 1)\n", + " ElementDict[ElementList[-1]]= [nodelist[0], nodelist[2], nodelist[3]]\n", + " \n", + "def oneD2triangle(ElementNum):\n", + " if isElementOneD(ElementDict[ElementNum]):\n", + " nAe = ElementDict[ElementNum][0] #nAe Node A existing\n", + " nBe = ElementDict[ElementNum][1]\n", + " \n", + " if not nAe in node1Dduplicate: node1Dduplicate[nAe] = []\n", + " if not nBe in node1Dduplicate: node1Dduplicate[nBe] = []\n", + " \n", + " xA = nodeDict[nAe][0]\n", + " xB = nodeDict[nBe][0]\n", + " yA = nodeDict[nAe][1]\n", + " yB = nodeDict[nBe][1]\n", + " \n", + " normalVec = [-(yB - yA),(xB - xA)]\n", + " dist = math.sqrt(normalVec[0]**2 + normalVec[1]**2)\n", + " normalVec[0] = normalVec[0] / dist\n", + " normalVec[1] = normalVec[1] / dist\n", + " xA2 = xA + channelWidth * normalVec[0]\n", + " xB2 = xB + channelWidth * normalVec[0]\n", + " yA2 = yA + channelWidth * normalVec[1]\n", + " yB2 = yB + channelWidth * normalVec[1]\n", + " \n", + "\n", + " nA = max(NodeList) + 1\n", + " nB = max(NodeList) + 2\n", + " \n", + " node1Dduplicate[nAe].append(nA)\n", + " node1Dduplicate[nBe].append(nB) \n", + " \n", + " node2nodevalue[nA] = nAe\n", + " node2nodevalue[nB] = nBe\n", + " \n", + " \n", + " NodeList.append(nA)\n", + " NodeList.append(nB)\n", + " nodeDict[nA] = [xA2, yA2, -1.01]\n", + " nodeDict[nB] = [xB2, yB2, -1.01]\n", + " \n", + " newEle = max(ElementList) + 1\n", + " ElementList .append(newEle)\n", + " ElementDict[ElementNum] = [nAe, nA, nBe]\n", + " ElementDict[newEle] = [nA, nB, nBe]\n", + " \n", + "def RMA11toSerafin():\n", + " f = open('{}.slf'.format(RMAfilename), 'wb')\n", + "\n", + " f.write(struct.pack(\">l\",80))\n", + " str='{0: >80}'.format('SERAFIN ')\n", + " f.write(str.encode('ascii'))\n", + " f.write(struct.pack(\">l\",80))\n", + "\n", + " f.write(struct.pack(\">l\",8))\n", + " f.write(struct.pack(\">l\",len(constNum)))\n", + " f.write(struct.pack(\">l\",0))\n", + " f.write(struct.pack(\">l\",8))\n", + "\n", + " for c in constName:\n", + " f.write(struct.pack(\">l\",32))\n", + " str='{0: <32}'.format(c)\n", + " f.write(str.encode('ascii'))\n", + " f.write(struct.pack(\">l\",32))\n", + "\n", + "\n", + " f.write(struct.pack(\">l\",40))\n", + " f.write(struct.pack(\">l\",1))\n", + " f.write(struct.pack(\">l\",0))\n", + " f.write(struct.pack(\">l\",0))\n", + " f.write(struct.pack(\">l\",0))\n", + " f.write(struct.pack(\">l\",0))\n", + " f.write(struct.pack(\">l\",0))\n", + " f.write(struct.pack(\">l\",0))\n", + " f.write(struct.pack(\">l\",0))\n", + " f.write(struct.pack(\">l\",0))\n", + " f.write(struct.pack(\">l\",1))\n", + " f.write(struct.pack(\">l\",40))\n", + "\n", + " f.write(struct.pack(\">l\",24))\n", + " f.write(struct.pack(\">l\",R.year))\n", + " f.write(struct.pack(\">l\",1))\n", + " f.write(struct.pack(\">l\",1))\n", + " f.write(struct.pack(\">l\",0))\n", + " f.write(struct.pack(\">l\",0))\n", + " f.write(struct.pack(\">l\",0))\n", + " f.write(struct.pack(\">l\",24))\n", + "\n", + " f.write(struct.pack(\">l\",16))\n", + " f.write(struct.pack(\">l\",len(ElementList)))\n", + " f.write(struct.pack(\">l\",len(NodeList)))\n", + " f.write(struct.pack(\">l\",3))\n", + " f.write(struct.pack(\">l\",1))\n", + " f.write(struct.pack(\">l\",16))\n", + "\n", + "\n", + " f.write(struct.pack(\">l\",len(ElementList)*3*4))\n", + " for el in ElementList:\n", + " for nd in ElementDict[el]:\n", + " f.write(struct.pack(\">l\",nodeOrdered[nd])) \n", + " f.write(struct.pack(\">l\",len(ElementList)*3*4))\n", + "\n", + " f.write(struct.pack(\">l\",len(NodeList)))\n", + " for i in range(0,len(NodeList)):\n", + " f.write(struct.pack(\">l\",0))\n", + " f.write(struct.pack(\">l\",len(NodeList)))\n", + "\n", + " f.write(struct.pack(\">l\",len(NodeList)*4))\n", + " for key, value in nodeDict.items():\n", + " f.write(struct.pack(\">f\",value[0]))\n", + " f.write(struct.pack(\">l\",len(NodeList)*4))\n", + "\n", + " f.write(struct.pack(\">l\",len(NodeList)*4))\n", + " for key, value in nodeDict.items():\n", + " f.write(struct.pack(\">f\",value[1]))\n", + " f.write(struct.pack(\">l\",len(NodeList)*4))\n", + "\n", + "\n", + "\n", + " while R.next():\n", + " #for i in range(3):\n", + " f.write(struct.pack(\">l\",4))\n", + " f.write(struct.pack(\">f\",R.time * 3600))\n", + " f.write(struct.pack(\">l\",4))\n", + "\n", + " for c in constNum:\n", + " f.write(struct.pack(\">l\",len(NodeList)*4))\n", + " for key, value in nodeDict.items():\n", + " if key in node2nodevalue.keys():\n", + " f.write(struct.pack(\">f\",R.constit[c][node2nodevalue[key]]))\n", + " else:\n", + " f.write(struct.pack(\">f\",R.constit[c][key]))\n", + "\n", + " f.write(struct.pack(\">l\",len(NodeList)*4))\n", + "\n", + " R.next()\n", + "\n", + " f.close() \n", + "\n", + " \n", + " \n", + "def RMA2toSerafin():\n", + " f = open('{}.slf'.format(RMAfilename), 'wb')\n", + "\n", + " f.write(struct.pack(\">l\",80))\n", + " str='{0: >80}'.format('SERAFIN ')\n", + " f.write(str.encode('ascii'))\n", + " f.write(struct.pack(\">l\",80))\n", + "\n", + " f.write(struct.pack(\">l\",8))\n", + " f.write(struct.pack(\">l\",len(constName)))\n", + " f.write(struct.pack(\">l\",0))\n", + " f.write(struct.pack(\">l\",8))\n", + "\n", + " for c in constName:\n", + " f.write(struct.pack(\">l\",32))\n", + " str='{0: <32}'.format(c)\n", + " f.write(str.encode('ascii'))\n", + " f.write(struct.pack(\">l\",32))\n", + "\n", + "\n", + " f.write(struct.pack(\">l\",40))\n", + " f.write(struct.pack(\">l\",1))\n", + " f.write(struct.pack(\">l\",0))\n", + " f.write(struct.pack(\">l\",0))\n", + " f.write(struct.pack(\">l\",0))\n", + " f.write(struct.pack(\">l\",0))\n", + " f.write(struct.pack(\">l\",0))\n", + " f.write(struct.pack(\">l\",0))\n", + " f.write(struct.pack(\">l\",0))\n", + " f.write(struct.pack(\">l\",0))\n", + " f.write(struct.pack(\">l\",1))\n", + " f.write(struct.pack(\">l\",40))\n", + "\n", + " f.write(struct.pack(\">l\",24))\n", + " f.write(struct.pack(\">l\",R.year))\n", + " f.write(struct.pack(\">l\",1))\n", + " f.write(struct.pack(\">l\",1))\n", + " f.write(struct.pack(\">l\",0))\n", + " f.write(struct.pack(\">l\",0))\n", + " f.write(struct.pack(\">l\",0))\n", + " f.write(struct.pack(\">l\",24))\n", + "\n", + " f.write(struct.pack(\">l\",16))\n", + " f.write(struct.pack(\">l\",len(ElementList)))\n", + " f.write(struct.pack(\">l\",len(NodeList)))\n", + " f.write(struct.pack(\">l\",3))\n", + " f.write(struct.pack(\">l\",1))\n", + " f.write(struct.pack(\">l\",16))\n", + "\n", + "\n", + " f.write(struct.pack(\">l\",len(ElementList)*3*4))\n", + " for el in ElementList:\n", + " for nd in ElementDict[el]:\n", + " f.write(struct.pack(\">l\",nodeOrdered[nd]))\n", + " f.write(struct.pack(\">l\",len(ElementList)*3*4))\n", + "\n", + " f.write(struct.pack(\">l\",len(NodeList)))\n", + " for i in range(0,len(NodeList)):\n", + " f.write(struct.pack(\">l\",0))\n", + " f.write(struct.pack(\">l\",len(NodeList)))\n", + "\n", + " f.write(struct.pack(\">l\",len(NodeList)*4))\n", + " for key, value in nodeDict.items():\n", + " f.write(struct.pack(\">f\",value[0]))\n", + " f.write(struct.pack(\">l\",len(NodeList)*4))\n", + "\n", + " f.write(struct.pack(\">l\",len(NodeList)*4))\n", + " for key, value in nodeDict.items():\n", + " f.write(struct.pack(\">f\",value[1]))\n", + " f.write(struct.pack(\">l\",len(NodeList)*4))\n", + "\n", + "\n", + "\n", + " while R.next():\n", + "\n", + " f.write(struct.pack(\">l\",4))\n", + " f.write(struct.pack(\">f\",R.time * 3600))\n", + " f.write(struct.pack(\">l\",4))\n", + "\n", + "\n", + " f.write(struct.pack(\">l\",len(NodeList)*4))\n", + " for key, value in nodeDict.items():\n", + " if key in node2nodevalue.keys():\n", + " f.write(struct.pack(\">f\",R.xvel[node2nodevalue[key]]))\n", + " else:\n", + " f.write(struct.pack(\">f\",R.xvel[key]))\n", + " f.write(struct.pack(\">l\",len(NodeList)*4))\n", + "\n", + " f.write(struct.pack(\">l\",len(NodeList)*4))\n", + " for key, value in nodeDict.items():\n", + " if key in node2nodevalue.keys():\n", + " f.write(struct.pack(\">f\",R.yvel[node2nodevalue[key]]))\n", + " else:\n", + " f.write(struct.pack(\">f\",R.yvel[key]))\n", + " f.write(struct.pack(\">l\",len(NodeList)*4))\n", + " \n", + " f.write(struct.pack(\">l\",len(NodeList)*4))\n", + " for key, value in nodeDict.items():\n", + " if key in node2nodevalue.keys():\n", + " f.write(struct.pack(\">f\",R.depth[node2nodevalue[key]]))\n", + " else:\n", + " f.write(struct.pack(\">f\",R.depth[key]))\n", + " f.write(struct.pack(\">l\",len(NodeList)*4))\n", + " \n", + " f.write(struct.pack(\">l\",len(NodeList)*4))\n", + " for key, value in nodeDict.items():\n", + " if key in node2nodevalue.keys():\n", + " f.write(struct.pack(\">f\",R.elevation[node2nodevalue[key]]))\n", + " else:\n", + " f.write(struct.pack(\">f\",R.elevation[key]))\n", + " f.write(struct.pack(\">l\",len(NodeList)*4))\n", + " \n", + " \n", + " R.next()\n", + "\n", + " f.close() " + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "#Read mesh file and extract node (except mid node) and elements - plus convert 1D element to 2D for vizualisation\n", + "NodeList = [] \n", + "ElementList = []\n", + "ElementDict = {}\n", + "nodeDict = {}\n", + "node1Dduplicate = {} #Original Number: List of Duplicates\n", + "node2nodevalue = {} #link between the node number and the node value to use \n", + " #(e.g. if node 10 is a 1D node: 10 is not duplicate so {1:1}, \n", + " #but node 2050 (duplicate of 10) (1D to 2D) the value of the duplicated \n", + " #node will be the same as the original so we might have {2050: 10})\n", + " \n", + "with open(meshFilename) as f:\n", + " line = f.readline()\n", + " line = f.readline()\n", + " line = f.readline()\n", + " line = f.readline()\n", + " \n", + " cpt = 1\n", + " while line and line != ' 9999\\n':\n", + " temp = line.split()\n", + " ElementDict[int(temp[0])] = [int(temp[i]) for i in range(1,9,2) if temp[i] != '0' and int(temp[9]) < 100]\n", + " ElementList.append(int(temp[0]))\n", + " line = f.readline()\n", + " \n", + " for key, value in ElementDict.items():\n", + " NodeList.extend(value)\n", + " \n", + " NodeList = list(set(NodeList))\n", + "\n", + " line = f.readline()\n", + " while line and line != ' 9999\\n':\n", + " temp = line.split()\n", + " if int(temp[0]) in NodeList:\n", + " nodeDict[int(temp[0])] = [float(temp[1]),float(temp[2]),float(temp[3])]\n", + " line = f.readline()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 75, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "for e in ElementList:\n", + " oneD2triangle(e)\n", + " square2Triangle(e)\n", + " \n", + "for key in list(ElementDict): #Remove Special Element 902.....\n", + " if len(ElementDict[key]) != 3:\n", + " print(key, ElementDict[key])\n", + " ElementDict.pop(key)\n", + " ElementList.remove(key)\n", + " \n", + "nodeOrdered = {}\n", + "cpt = 1\n", + "for key, value in nodeDict.items():\n", + " nodeOrdered[key] = cpt\n", + " cpt +=1" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Open and Read First Step of the RMA File and Save a Serafin" + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "R=rma()\n", + "R.open(RMAfilename)\n", + "R.next()\n", + "\n", + "if R.type==b'RMA11 ':\n", + " constName = []\n", + " for c in constNum:\n", + " constName.append(R.constit_name[c].decode(\"utf-8\"))\n", + " RMA11toSerafin()\n", + " \n", + "if R.type==b'RMA2 ':\n", + " constName = ['X-VEL','Y-VEL','DEPTH','FREE SURFACE'] \n", + " RMA2toSerafin()\n", + " \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.0" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/RMA2SERAPHIN.py b/RMA2SERAPHIN.py new file mode 100644 index 0000000..703087a --- /dev/null +++ b/RMA2SERAPHIN.py @@ -0,0 +1,442 @@ + +# coding: utf-8 + +# In[64]: + +import struct +import matplotlib.pyplot as plt +import math +from py_rmatools import rma + +get_ipython().magic('matplotlib qt') +plt.rcParams.update({'figure.max_open_warning': 0}) + + +# In[65]: + +meshFilename = 'ck_034.rm1' +channelWidth = 100 +RMAfilename = 'CK011_WQ' + +#If RMA11 +constNum = [1] + + +# In[66]: + +def isElementOneD(nodelist): + if len(nodelist) == 2: + return True + return False + +def isElementSquare(nodelist): + if len(nodelist) == 4: + return True + return False + +def square2Triangle(ElementNum): + nodelist = ElementDict[ElementNum] + if isElementSquare(nodelist): + ElementDict[ElementNum] = [nodelist[0], nodelist[1], nodelist[2]] + ElementList.append(max(ElementList) + 1) + ElementDict[ElementList[-1]]= [nodelist[0], nodelist[2], nodelist[3]] + +def oneD2triangle(ElementNum): + if isElementOneD(ElementDict[ElementNum]): + nAe = ElementDict[ElementNum][0] #nAe Node A existing + nBe = ElementDict[ElementNum][1] + + if not nAe in node1Dduplicate: node1Dduplicate[nAe] = [] + if not nBe in node1Dduplicate: node1Dduplicate[nBe] = [] + + xA = nodeDict[nAe][0] + xB = nodeDict[nBe][0] + yA = nodeDict[nAe][1] + yB = nodeDict[nBe][1] + + normalVec = [-(yB - yA),(xB - xA)] + dist = math.sqrt(normalVec[0]**2 + normalVec[1]**2) + normalVec[0] = normalVec[0] / dist + normalVec[1] = normalVec[1] / dist + xA2 = xA + channelWidth * normalVec[0] + xB2 = xB + channelWidth * normalVec[0] + yA2 = yA + channelWidth * normalVec[1] + yB2 = yB + channelWidth * normalVec[1] + + + nA = max(NodeList) + 1 + nB = max(NodeList) + 2 + + node1Dduplicate[nAe].append(nA) + node1Dduplicate[nBe].append(nB) + + node2nodevalue[nA] = nAe + node2nodevalue[nB] = nBe + + + NodeList.append(nA) + NodeList.append(nB) + nodeDict[nA] = [xA2, yA2, -1.01] + nodeDict[nB] = [xB2, yB2, -1.01] + + newEle = max(ElementList) + 1 + ElementList .append(newEle) + ElementDict[ElementNum] = [nAe, nA, nBe] + ElementDict[newEle] = [nA, nB, nBe] + +def RMA11toSerafin(): + f = open('{}.slf'.format(RMAfilename), 'wb') + + f.write(struct.pack(">l",80)) + str='{0: >80}'.format('SERAFIN ') + f.write(str.encode('ascii')) + f.write(struct.pack(">l",80)) + + f.write(struct.pack(">l",8)) + f.write(struct.pack(">l",len(constNum))) + f.write(struct.pack(">l",0)) + f.write(struct.pack(">l",8)) + + for c in constName: + f.write(struct.pack(">l",32)) + str='{0: <32}'.format(c) + f.write(str.encode('ascii')) + f.write(struct.pack(">l",32)) + + + f.write(struct.pack(">l",40)) + f.write(struct.pack(">l",1)) + f.write(struct.pack(">l",0)) + f.write(struct.pack(">l",0)) + f.write(struct.pack(">l",0)) + f.write(struct.pack(">l",0)) + f.write(struct.pack(">l",0)) + f.write(struct.pack(">l",0)) + f.write(struct.pack(">l",0)) + f.write(struct.pack(">l",0)) + f.write(struct.pack(">l",1)) + f.write(struct.pack(">l",40)) + + f.write(struct.pack(">l",24)) + f.write(struct.pack(">l",R.year)) + f.write(struct.pack(">l",1)) + f.write(struct.pack(">l",1)) + f.write(struct.pack(">l",0)) + f.write(struct.pack(">l",0)) + f.write(struct.pack(">l",0)) + f.write(struct.pack(">l",24)) + + f.write(struct.pack(">l",16)) + f.write(struct.pack(">l",len(ElementList))) + f.write(struct.pack(">l",len(NodeList))) + f.write(struct.pack(">l",3)) + f.write(struct.pack(">l",1)) + f.write(struct.pack(">l",16)) + + + f.write(struct.pack(">l",len(ElementList)*3*4)) + for el in ElementList: + for nd in ElementDict[el]: + f.write(struct.pack(">l",nodeOrdered[nd])) + f.write(struct.pack(">l",len(ElementList)*3*4)) + + f.write(struct.pack(">l",len(NodeList))) + for i in range(0,len(NodeList)): + f.write(struct.pack(">l",0)) + f.write(struct.pack(">l",len(NodeList))) + + f.write(struct.pack(">l",len(NodeList)*4)) + for key, value in nodeDict.items(): + f.write(struct.pack(">f",value[0])) + f.write(struct.pack(">l",len(NodeList)*4)) + + f.write(struct.pack(">l",len(NodeList)*4)) + for key, value in nodeDict.items(): + f.write(struct.pack(">f",value[1])) + f.write(struct.pack(">l",len(NodeList)*4)) + + + + while R.next(): + #for i in range(3): + f.write(struct.pack(">l",4)) + f.write(struct.pack(">f",R.time * 3600)) + f.write(struct.pack(">l",4)) + + for c in constNum: + f.write(struct.pack(">l",len(NodeList)*4)) + for key, value in nodeDict.items(): + if key in node2nodevalue.keys(): + f.write(struct.pack(">f",R.constit[c][node2nodevalue[key]])) + else: + f.write(struct.pack(">f",R.constit[c][key])) + + f.write(struct.pack(">l",len(NodeList)*4)) + + R.next() + + f.close() + + + +def RMA2toSerafin(): + f = open('{}.slf'.format(RMAfilename), 'wb') + + f.write(struct.pack(">l",80)) + str='{0: >80}'.format('SERAFIN ') + f.write(str.encode('ascii')) + f.write(struct.pack(">l",80)) + + f.write(struct.pack(">l",8)) + f.write(struct.pack(">l",len(constName))) + f.write(struct.pack(">l",0)) + f.write(struct.pack(">l",8)) + + for c in constName: + f.write(struct.pack(">l",32)) + str='{0: <32}'.format(c) + f.write(str.encode('ascii')) + f.write(struct.pack(">l",32)) + + + f.write(struct.pack(">l",40)) + f.write(struct.pack(">l",1)) + f.write(struct.pack(">l",0)) + f.write(struct.pack(">l",0)) + f.write(struct.pack(">l",0)) + f.write(struct.pack(">l",0)) + f.write(struct.pack(">l",0)) + f.write(struct.pack(">l",0)) + f.write(struct.pack(">l",0)) + f.write(struct.pack(">l",0)) + f.write(struct.pack(">l",1)) + f.write(struct.pack(">l",40)) + + f.write(struct.pack(">l",24)) + f.write(struct.pack(">l",R.year)) + f.write(struct.pack(">l",1)) + f.write(struct.pack(">l",1)) + f.write(struct.pack(">l",0)) + f.write(struct.pack(">l",0)) + f.write(struct.pack(">l",0)) + f.write(struct.pack(">l",24)) + + f.write(struct.pack(">l",16)) + f.write(struct.pack(">l",len(ElementList))) + f.write(struct.pack(">l",len(NodeList))) + f.write(struct.pack(">l",3)) + f.write(struct.pack(">l",1)) + f.write(struct.pack(">l",16)) + + + f.write(struct.pack(">l",len(ElementList)*3*4)) + for el in ElementList: + for nd in ElementDict[el]: + f.write(struct.pack(">l",nodeOrdered[nd])) + f.write(struct.pack(">l",len(ElementList)*3*4)) + + f.write(struct.pack(">l",len(NodeList))) + for i in range(0,len(NodeList)): + f.write(struct.pack(">l",0)) + f.write(struct.pack(">l",len(NodeList))) + + f.write(struct.pack(">l",len(NodeList)*4)) + for key, value in nodeDict.items(): + f.write(struct.pack(">f",value[0])) + f.write(struct.pack(">l",len(NodeList)*4)) + + f.write(struct.pack(">l",len(NodeList)*4)) + for key, value in nodeDict.items(): + f.write(struct.pack(">f",value[1])) + f.write(struct.pack(">l",len(NodeList)*4)) + + + + while R.next(): + + f.write(struct.pack(">l",4)) + f.write(struct.pack(">f",R.time * 3600)) + f.write(struct.pack(">l",4)) + + + f.write(struct.pack(">l",len(NodeList)*4)) + for key, value in nodeDict.items(): + if key in node2nodevalue.keys(): + f.write(struct.pack(">f",R.xvel[node2nodevalue[key]])) + else: + f.write(struct.pack(">f",R.xvel[key])) + f.write(struct.pack(">l",len(NodeList)*4)) + + f.write(struct.pack(">l",len(NodeList)*4)) + for key, value in nodeDict.items(): + if key in node2nodevalue.keys(): + f.write(struct.pack(">f",R.yvel[node2nodevalue[key]])) + else: + f.write(struct.pack(">f",R.yvel[key])) + f.write(struct.pack(">l",len(NodeList)*4)) + + f.write(struct.pack(">l",len(NodeList)*4)) + for key, value in nodeDict.items(): + if key in node2nodevalue.keys(): + f.write(struct.pack(">f",R.depth[node2nodevalue[key]])) + else: + f.write(struct.pack(">f",R.depth[key])) + f.write(struct.pack(">l",len(NodeList)*4)) + + f.write(struct.pack(">l",len(NodeList)*4)) + for key, value in nodeDict.items(): + if key in node2nodevalue.keys(): + f.write(struct.pack(">f",R.elevation[node2nodevalue[key]])) + else: + f.write(struct.pack(">f",R.elevation[key])) + f.write(struct.pack(">l",len(NodeList)*4)) + + + R.next() + + f.close() + + +# In[67]: + +#Read mesh file and extract node (except mid node) and elements - plus convert 1D element to 2D for vizualisation +NodeList = [] +ElementList = [] +ElementDict = {} +nodeDict = {} +node1Dduplicate = {} #Original Number: List of Duplicates +node2nodevalue = {} #link between the node number and the node value to use + #(e.g. if node 10 is a 1D node: 10 is not duplicate so {1:1}, + #but node 2050 (duplicate of 10) (1D to 2D) the value of the duplicated + #node will be the same as the original so we might have {2050: 10}) + +with open(meshFilename) as f: + line = f.readline() + line = f.readline() + line = f.readline() + line = f.readline() + + cpt = 1 + while line and line != ' 9999\n': + temp = line.split() + ElementDict[int(temp[0])] = [int(temp[i]) for i in range(1,9,2) if temp[i] != '0' and int(temp[9]) < 100] + ElementList.append(int(temp[0])) + line = f.readline() + + for key, value in ElementDict.items(): + NodeList.extend(value) + + NodeList = list(set(NodeList)) + + line = f.readline() + while line and line != ' 9999\n': + temp = line.split() + if int(temp[0]) in NodeList: + nodeDict[int(temp[0])] = [float(temp[1]),float(temp[2]),float(temp[3])] + line = f.readline() + + +# In[ ]: + + + + +# In[ ]: + + + + +# In[75]: + +for e in ElementList: + oneD2triangle(e) + square2Triangle(e) + +for key in list(ElementDict): #Remove Special Element 902..... + if len(ElementDict[key]) != 3: + print(key, ElementDict[key]) + ElementDict.pop(key) + ElementList.remove(key) + +nodeOrdered = {} +cpt = 1 +for key, value in nodeDict.items(): + nodeOrdered[key] = cpt + cpt +=1 + + +# In[ ]: + + + + +# # Open and Read First Step of the RMA File and Save a Serafin + +# In[72]: + +R=rma() +R.open(RMAfilename) +R.next() + +if R.type==b'RMA11 ': + constName = [] + for c in constNum: + constName.append(R.constit_name[c].decode("utf-8")) + RMA11toSerafin() + +if R.type==b'RMA2 ': + constName = ['X-VEL','Y-VEL','DEPTH','FREE SURFACE'] + RMA2toSerafin() + + + +# In[ ]: + + + + +# In[ ]: + + + + +# In[ ]: + + + + +# In[ ]: + + + + +# In[ ]: + + + + +# In[ ]: + + + + + +# In[ ]: + + + + +# In[ ]: + + + + +# In[ ]: + + + + +# In[ ]: + + + diff --git a/Seraphin files.pdf b/Seraphin files.pdf new file mode 100644 index 0000000000000000000000000000000000000000..3845c17b197e2b6cdbfbeced54c11445b872a97e GIT binary patch literal 188416 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π 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 GwQuYh{F%!!$`nX~~B$$i5K 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 literal 0 HcmV?d00001 diff --git a/py_rmatools.py b/py_rmatools.py new file mode 100644 index 0000000..0a350fd --- /dev/null +++ b/py_rmatools.py @@ -0,0 +1,163 @@ +from struct import * +from pylab import * +import sys + +# Updated 10/11/15 BMM : Added mesh. +# Updated 10/11/15 MD : Added dictionnary initialisation in mesh. + +class rma: + def __init__(self): + self.file='not opened yet' + # May want to do some other things here later + + def open(self,filename): + self.file=open(('%s.rma' % (filename)),'rb') + self.header=self.file.read(1000) + self.type=self.header[0:10] + self.title=self.header[100:172] + self.geometry=self.header[200:300] + self.num_nodes=int(self.header[40:50]) + self.num_elements=int(self.header[50:60]) + if self.type==b'RMA11 ': + self.num_constits=int(self.header[60:70]) + if len(self.header[80:90].strip())==0: + self.num_sedlayers=0 + else: + self.num_sedlayers=int(self.header[80:90]) + self.constit_name=[] + self.constit_name.append("NULL") + i=1 + #print(self.num_constits) + while i <= self.num_constits: + #print(i, self.num_constits, i <= self.num_constits) + self.constit_name.append(self.header[300+(i-1)*8:308+(i-1)*8]) + if self.header[300+(i-1)*8:308+(i-1)*8]==" SSED ": + self.constit_name.append(" BSHEAR") + self.constit_name.append("BedThick") + j=1 + while j<=self.num_sedlayers: + self.constit_name.append(" L%dThick" % j) + j=j+1 + i=i+1 + #if self.num_sedlayers > 0: + # self.num_constits=self.num_constits+2+self.num_sedlayers + + # Header format in RMA2 + + # HEADER(1:10) ='RMA2 ' + # HEADER(11:20)=DATEC = Date of run + # HEADER(21:30)=TIMEC = Time of run + # HEADER(31:40)=ZONEC = Time zone + # HEADER(41:50)=NP = Number of nodes + # HEADER(51:60)=NE = Number of elements + # HEADER(101:172)=TITLE = Title line + # HEADER(201:300)=FNAME = File name of binary geometry + + # Header format in RMA11 + # HEADER(1:10) - Model + # HEADER(11:20) - DATEC of model runtime + # HEADER(21:30) - TIMEC of model runtime + # HEADER(31:40) - ZONEC of model runtime + # HEADER(41:90) - '(5I10)' NP,NE,NQAL,IGS,LGS or '(5I10)' NP,NE,NQAL,ISEDS,NLAYT + # HEADER(101:172) - TITLE + # HEADER(301:540) - '(30A8)' CLABL + # HEADER(201:248) - FNAMD directory of the geometry + # HEADER(251:298) - FNAM2 filename of the geometry + + def mesh(self,filename): + self.meshfile=open(('%s.rm1' % (filename)),'r') + l=self.meshfile.readline() + while l[0:5]!=' 9999' and len(l)!=5: + l=self.meshfile.readline() + l=self.meshfile.readline() + self.node_e={} + self.node_n={} + self.node_z={} + while l[0:10]!=' 9999' and len(l)!=10: + ll=l.split() + self.node_e[ll[0]]=ll[1] + self.node_n[ll[0]]=ll[2] + self.node_z[ll[0]]=ll[3] + l=self.meshfile.readline() + + + def next(self): + # This reads the next timestep and populates the variables. + # Reset all of the variables + self.time=0.0 + self.year=0 + self.xvel=[] + self.yvel=[] + self.zvel=[] + self.depth=[] + self.elevation=[] + + # Add in an entry to fill position 0. Important since RMA files start numbering nodes from 1. + self.xvel.append(-999) + self.yvel.append(-999) + self.zvel.append(-999) + self.depth.append(-999) + self.elevation.append(-999) + + if self.type==b'RMA2 ': + # WRITE(IRMAFM) TETT,NP,IYRR,((VEL(J,K),J=1,3),K=1,NP),(WSEL(J),J=1,NP),(VDOT(3,K),K=1,NP) + t=self.file.read(12) + if t: + a=unpack('fii',t) + self.time=a[0] + np=int(a[1]) + self.year=a[2] + if (np!=self.num_nodes): + print ("Warning - NP (%d) on this timestep does not match header (%d)" % (np,self.num_nodes)) + b=unpack('%df' % 5*np, self.file.read(20*np)) + i=1 + while i<=np: + self.xvel.append(b[0+(i-1)*3]) + self.yvel.append(b[1+(i-1)*3]) + self.depth.append(b[2+(i-1)*3]) + self.elevation.append(b[np*3+(i-1)]) + i=i+1 + + if self.type==b'RMA11 ': + self.constit=[] + c=0 + # Start at zero to leave an empty array space. Constits numbered 1 .. num_constits + while c<=self.num_constits: + self.constit.append([]) + # Put a null into the 0 position so that RMA node numbers are in the same numbered array position. + self.constit[c].append(-999) + c=c+1 + # READ(file1,END=100) TETT1,NQAL,NP,IYRR, ((VEL(K,J),J=1,NP),K=1,3), (wd(j),j=1,np), (wsel(j),j=1,np), ((TCON1(K,J),J=1,NP),K=1,NQAL-5) + t=self.file.read(16) + if t: + a=unpack('fiii',t) + self.time=a[0] + nqal=int(a[1]) + np=int(a[2]) + self.year=a[3] + if ((nqal-5)!=(self.num_constits)): + print ("Warning - NQAL-5 (%d) on this timestep does not match header (%d)" % (nqal-5,self.num_constits)) + if (np!=self.num_nodes): + print ("Warning - NP (%d) on this timestep does not match header (%d)" % (np,self.num_nodes)) + b=unpack('%df' % nqal*np, self.file.read(4*nqal*np)) + i=1 + while i<=np: + + self.xvel.append(b[0+(i-1)*3]) + self.yvel.append(b[1+(i-1)*3]) + self.zvel.append(b[2+(i-1)*3]) + self.depth.append(b[np*3+(i-1)]) + self.elevation.append(b[np*4+(i-1)]) + c=1 + while c<=self.num_constits: + self.constit[c].append(b[np*((c-1)+5)+(i-1)]) + c=c+1 + i=i+1 + + + if len(self.xvel)==1: + # Note that this is a 1 now as we've filled the zero array position + return False + else: + return True +